diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-18 05:52:27 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-18 05:52:27 +0000 |
commit | 3b0807ad7b283c46c21862eb826dcbb4ad04e5e2 (patch) | |
tree | 6461ea75f03eca87a5a90c86c3c9a787a6ad037e /ansible_collections/cisco/iosxr/docs | |
parent | Adding debian version 7.7.0+dfsg-3. (diff) | |
download | ansible-3b0807ad7b283c46c21862eb826dcbb4ad04e5e2.tar.xz ansible-3b0807ad7b283c46c21862eb826dcbb4ad04e5e2.zip |
Merging upstream version 9.4.0+dfsg.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ansible_collections/cisco/iosxr/docs')
32 files changed, 12617 insertions, 5742 deletions
diff --git a/ansible_collections/cisco/iosxr/docs/__init__.py b/ansible_collections/cisco/iosxr/docs/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/ansible_collections/cisco/iosxr/docs/__init__.py diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_acl_interfaces_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_acl_interfaces_module.rst index c61999008..34b2b30f0 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_acl_interfaces_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_acl_interfaces_module.rst @@ -240,27 +240,26 @@ Examples - name: Merge the provided configuration with the existing running configuration cisco.iosxr.iosxr_acl_interfaces: config: - - name: GigabitEthernet0/0/0/0 - access_groups: - - afi: ipv4 - acls: - - name: acl_1 - direction: in - - name: acl_2 - direction: out - - afi: ipv6 - acls: - - name: acl6_1 - direction: in - - name: acl6_2 - direction: out - - - name: GigabitEthernet0/0/0/1 - access_groups: - - afi: ipv4 - acls: - - name: acl_1 - direction: out + - name: GigabitEthernet0/0/0/0 + access_groups: + - afi: ipv4 + acls: + - name: acl_1 + direction: in + - name: acl_2 + direction: out + - afi: ipv6 + acls: + - name: acl6_1 + direction: in + - name: acl6_2 + direction: out + - name: GigabitEthernet0/0/0/1 + access_groups: + - afi: ipv4 + acls: + - name: acl_1 + direction: out state: merged # After state: @@ -309,14 +308,14 @@ Examples - name: Update acl_interfaces configuration using merged cisco.iosxr.iosxr_acl_interfaces: config: - - name: GigabitEthernet0/0/0/1 - access_groups: - - afi: ipv4 - acls: - - name: acl_2 - direction: out - - name: acl_1 - direction: in + - name: GigabitEthernet0/0/0/1 + access_groups: + - afi: ipv4 + acls: + - name: acl_2 + direction: out + - name: acl_1 + direction: in state: merged # After state: @@ -363,15 +362,17 @@ Examples # ipv4 access-group acl_1 egress # ! - - name: Replace device configurations of listed interface with provided configurations + - name: >- + Replace device configurations of listed interface with provided + configurations cisco.iosxr.iosxr_acl_interfaces: config: - - name: GigabitEthernet0/0/0/0 - access_groups: - - afi: ipv6 - acls: - - name: acl6_3 - direction: in + - name: GigabitEthernet0/0/0/0 + access_groups: + - afi: ipv6 + acls: + - name: acl6_3 + direction: in state: replaced # After state: @@ -418,16 +419,16 @@ Examples - name: Overridde all interface ACL configuration with provided configuration cisco.iosxr.iosxr_acl_interfaces: config: - - name: GigabitEthernet0/0/0/1 - access_groups: - - afi: ipv4 - acls: - - name: acl_2 - direction: in - - afi: ipv6 - acls: - - name: acl6_3 - direction: out + - name: GigabitEthernet0/0/0/1 + access_groups: + - afi: ipv4 + acls: + - name: acl_2 + direction: in + - afi: ipv6 + acls: + - name: acl6_3 + direction: out state: overridden # After state: @@ -474,7 +475,7 @@ Examples - name: Delete all ACL attributes of GigabitEthernet0/0/0/1 cisco.iosxr.iosxr_acl_interfaces: config: - - name: GigabitEthernet0/0/0/1 + - name: GigabitEthernet0/0/0/1 state: deleted # After state: @@ -674,14 +675,14 @@ Examples - name: Render platform specific commands from task input using rendered state cisco.iosxr.iosxr_acl_interfaces: config: - - name: GigabitEthernet0/0/0/0 - access_groups: - - afi: ipv4 - acls: - - name: acl_1 - direction: in - - name: acl_2 - direction: out + - name: GigabitEthernet0/0/0/0 + access_groups: + - afi: ipv4 + acls: + - name: acl_1 + direction: in + - name: acl_2 + direction: out state: rendered # Task Output (redacted) diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_acls_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_acls_module.rst index faea089cd..32cf48121 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_acls_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_acls_module.rst @@ -4026,100 +4026,210 @@ Examples # Before state: # ------------- - # RP/0/RP0/CPU0:ios#sh access-lists afi-all - # Thu Feb 20 05:07:45.767 UTC - # RP/0/RP0/CPU0:ios# + # RP/0/RP0/CPU0:ios#show access-lists afi-al + # Fri Sep 22 03:57:04.758 UTC + # ipv4 access-list acl_1 + # 10 permit udp 192.168.1.0 0.0.0.255 any - name: Merge the provided configuration with the existing running configuration cisco.iosxr.iosxr_acls: config: - - afi: ipv6 - acls: - - name: acl6_1 - aces: - - sequence: 10 - grant: deny - protocol: tcp - source: - prefix: 2001:db8:1234::/48 - port_protocol: - range: - start: ftp - end: telnet - destination: - any: true - protocol_options: - tcp: - syn: true - ttl: - range: - start: 180 - end: 250 - routing: true - authen: true - log: true - - - sequence: 20 - grant: permit - protocol: icmpv6 - source: - any: true - destination: - any: true - protocol_options: - icmpv6: - router_advertisement: true - precedence: network - destopts: true - - - afi: ipv4 - acls: - - name: acl_1 - aces: - - sequence: 16 - remark: TEST_ACL_1_REMARK - - - sequence: 21 - grant: permit - protocol: tcp - source: - host: 192.0.2.10 - port_protocol: - range: - start: pop3 - end: 121 - destination: - address: 198.51.100.0 - wildcard_bits: 0.0.0.15 - protocol_options: - tcp: - rst: true - - - sequence: 23 - grant: deny - protocol: icmp - source: - any: true - destination: - prefix: 198.51.100.0/28 - protocol_options: - icmp: - reassembly_timeout: true - dscp: - lt: af12 - - - name: acl_2 - aces: - - sequence: 10 - remark: TEST_ACL_2_REMARK + - afi: ipv6 + acls: + - name: acl6_1 + aces: + - sequence: 10 + grant: deny + protocol: tcp + source: + prefix: '2001:db8:1234::/48' + port_protocol: + range: + start: ftp + end: telnet + destination: + any: true + protocol_options: + tcp: + syn: true + ttl: + range: + start: 180 + end: 250 + routing: true + authen: true + log: true + - sequence: 20 + grant: permit + protocol: icmpv6 + source: + any: true + destination: + any: true + protocol_options: + icmpv6: + router_advertisement: true + precedence: network + destopts: true + - afi: ipv4 + acls: + - name: acl_1 + aces: + - sequence: 16 + remark: TEST_ACL_1_REMARK + - sequence: 21 + grant: permit + protocol: tcp + source: + host: 192.0.2.10 + port_protocol: + range: + start: pop3 + end: 121 + destination: + address: 198.51.100.0 + wildcard_bits: 0.0.0.15 + protocol_options: + tcp: + rst: true + - sequence: 23 + grant: deny + protocol: icmp + source: + any: true + destination: + prefix: 198.51.100.0/28 + protocol_options: + icmp: + reassembly_timeout: true + dscp: + lt: af12 + - name: acl_2 + aces: + - sequence: 10 + remark: TEST_ACL_2_REMARK state: merged + # Task Output + # ----------- + # + # before: + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: udp + # sequence: 10 + # source: + # address: 192.168.1.0 + # wildcard_bits: 0.0.0.255 + # name: acl_1 + # afi: ipv4 + # + # commands: + # - ipv6 access-list acl6_1 + # - 10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 authen routing log + # - 20 permit icmpv6 any any router-advertisement precedence network destopts + # - ipv4 access-list acl_1 + # - 16 remark TEST_ACL_1_REMARK + # - 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst + # - 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12 + # - ipv4 access-list acl_2 + # - 10 remark TEST_ACL_2_REMARK + # + # after: + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: udp + # sequence: 10 + # source: + # address: 192.168.1.0 + # wildcard_bits: 0.0.0.255 + # - remark: TEST_ACL_1_REMARK + # sequence: 16 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # grant: permit + # protocol: tcp + # protocol_options: + # tcp: + # rst: true + # sequence: 21 + # source: + # host: 192.0.2.10 + # port_protocol: + # range: + # end: '121' + # start: pop3 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # dscp: + # lt: af12 + # grant: deny + # protocol: icmp + # protocol_options: + # icmp: + # reassembly_timeout: true + # sequence: 23 + # source: + # any: true + # name: acl_1 + # - aces: + # - remark: TEST_ACL_2_REMARK + # sequence: 10 + # name: acl_2 + # afi: ipv4 + # - acls: + # - aces: + # - authen: true + # destination: + # any: true + # grant: deny + # log: true + # protocol: tcp + # protocol_options: + # tcp: + # syn: true + # routing: true + # sequence: 10 + # source: + # port_protocol: + # range: + # end: telnet + # start: ftp + # prefix: 2001:db8:1234::/48 + # ttl: + # range: + # end: 250 + # start: 180 + # - destination: + # any: true + # destopts: true + # grant: permit + # precedence: network + # protocol: icmpv6 + # protocol_options: + # icmpv6: + # router_advertisement: true + # sequence: 20 + # source: + # any: true + # name: acl6_1 + # afi: ipv6 + # After state: # ------------- - # RP/0/RP0/CPU0:ios#sh access-lists afi-all - # Thu Feb 20 05:22:57.021 UTC + # RP/0/RP0/CPU0:ios#show access-lists afi-all + # Fri Sep 22 04:35:19.977 UTC # ipv4 access-list acl_1 + # 10 permit udp 192.168.1.0 0.0.0.255 any # 16 remark TEST_ACL_1_REMARK # 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst # 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12 @@ -4134,9 +4244,10 @@ Examples # Before state: # ------------- - # RP/0/RP0/CPU0:ios#sh access-lists afi-all - # Thu Feb 20 05:22:57.021 UTC + # RP/0/RP0/CPU0:ios#show access-lists afi-all + # Fri Sep 22 04:37:33.542 UTC # ipv4 access-list acl_1 + # 10 permit udp 192.168.1.0 0.0.0.255 any # 16 remark TEST_ACL_1_REMARK # 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst # 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12 @@ -4149,34 +4260,212 @@ Examples - name: Update existing ACEs cisco.iosxr.iosxr_acls: config: - - afi: ipv4 - acls: - - name: acl_1 - aces: - - sequence: 21 - source: - prefix: 198.51.100.32/28 - port_protocol: - range: - start: pop3 - end: 121 - protocol_options: - tcp: - syn: true + - afi: ipv4 + acls: + - name: acl_1 + aces: + - sequence: 21 + source: + prefix: 198.51.100.32/28 + port_protocol: + range: + start: pop3 + end: 121 + protocol_options: + tcp: + syn: true + - sequence: 23 + protocol_options: + icmp: + router_advertisement: true + dscp: + eq: af23 - - sequence: 23 - protocol_options: - icmp: - router_advertisement: true - dscp: - eq: af23 + # Task Output + # ----------- + # + # before: + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: udp + # sequence: 10 + # source: + # address: 192.168.1.0 + # wildcard_bits: 0.0.0.255 + # - remark: TEST_ACL_1_REMARK + # sequence: 16 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # grant: permit + # protocol: tcp + # protocol_options: + # tcp: + # rst: true + # sequence: 21 + # source: + # host: 192.0.2.10 + # port_protocol: + # range: + # end: '121' + # start: pop3 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # dscp: + # lt: af12 + # grant: deny + # protocol: icmp + # protocol_options: + # icmp: + # reassembly_timeout: true + # sequence: 23 + # source: + # any: true + # name: acl_1 + # - aces: + # - remark: TEST_ACL_2_REMARK + # sequence: 10 + # name: acl_2 + # afi: ipv4 + # - acls: + # - aces: + # - authen: true + # destination: + # any: true + # grant: deny + # log: true + # protocol: tcp + # protocol_options: + # tcp: + # syn: true + # routing: true + # sequence: 10 + # source: + # port_protocol: + # range: + # end: telnet + # start: ftp + # prefix: 2001:db8:1234::/48 + # ttl: + # range: + # end: 250 + # start: 180 + # - destination: + # any: true + # destopts: true + # grant: permit + # precedence: network + # protocol: icmpv6 + # protocol_options: + # icmpv6: + # router_advertisement: true + # sequence: 20 + # source: + # any: true + # name: acl6_1 + # afi: ipv6 + # + # commands: + # - ipv4 access-list acl_1 + # - 21 permit tcp 198.51.100.32 0.0.0.15 range pop3 121 198.51.100.0 0.0.0.15 syn + # - 23 deny icmp any 198.51.100.0 0.0.0.15 router-advertisement dscp eq af23 + # after: + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: udp + # sequence: 10 + # source: + # address: 192.168.1.0 + # wildcard_bits: 0.0.0.255 + # - remark: TEST_ACL_1_REMARK + # sequence: 16 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # grant: permit + # protocol: tcp + # protocol_options: + # tcp: + # syn: true + # sequence: 21 + # source: + # address: 198.51.100.32 + # port_protocol: + # range: + # end: '121' + # start: pop3 + # wildcard_bits: 0.0.0.15 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # dscp: + # eq: af23 + # grant: deny + # protocol: icmp + # protocol_options: + # icmp: + # router_advertisement: true + # sequence: 23 + # source: + # any: true + # name: acl_1 + # - aces: + # - remark: TEST_ACL_2_REMARK + # sequence: 10 + # name: acl_2 + # afi: ipv4 + # - acls: + # - aces: + # - authen: true + # destination: + # any: true + # grant: deny + # log: true + # protocol: tcp + # protocol_options: + # tcp: + # syn: true + # routing: true + # sequence: 10 + # source: + # port_protocol: + # range: + # end: telnet + # start: ftp + # prefix: 2001:db8:1234::/48 + # ttl: + # range: + # end: 250 + # start: 180 + # - destination: + # any: true + # destopts: true + # grant: permit + # precedence: network + # protocol: icmpv6 + # protocol_options: + # icmpv6: + # router_advertisement: true + # sequence: 20 + # source: + # any: true + # name: acl6_1 + # afi: ipv6 # After state: # ------------- - # RP/0/RP0/CPU0:ios#sh access-lists afi-all - # Thu Feb 20 05:47:18.711 UTC + # RP/0/RP0/CPU0:ios#show access-lists afi-all + # Wed Sep 27 09:58:38.345 UTC # ipv4 access-list acl_1 + # 10 permit udp 192.168.1.0 0.0.0.255 any # 16 remark TEST_ACL_1_REMARK # 21 permit tcp 198.51.100.32 0.0.0.15 range pop3 121 198.51.100.0 0.0.0.15 syn # 23 deny icmp any 198.51.100.0 0.0.0.15 router-advertisement dscp eq af23 @@ -4191,9 +4480,10 @@ Examples # Before state: # ------------- - # RP/0/RP0/CPU0:ios#sh access-lists afi-all - # Thu Feb 20 05:22:57.021 UTC + # RP/0/RP0/CPU0:ios#show access-lists afi-all + # Fri Sep 22 05:38:36.205 UTC # ipv4 access-list acl_1 + # 10 permit udp 192.168.1.0 0.0.0.255 any # 16 remark TEST_ACL_1_REMARK # 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst # 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12 @@ -4205,39 +4495,230 @@ Examples - name: Replace device configurations of listed ACL with provided configurations cisco.iosxr.iosxr_acls: + state: replaced config: - - afi: ipv4 - acls: - - name: acl_2 - aces: - - sequence: 11 - grant: permit - protocol: igmp - source: - host: 198.51.100.130 - destination: - any: true - ttl: - eq: 100 + - afi: ipv4 + acls: + - name: acl_2 + aces: + - sequence: 11 + grant: permit + protocol: igmp + source: + host: 198.51.100.130 + destination: + any: true + ttl: + eq: 100 + - sequence: 12 + grant: deny + source: + any: true + destination: + any: true + protocol: icmp - - sequence: 12 - grant: deny - source: - any: true - destination: - any: true - protocol: icmp - state: replaced + # Task Output + # ----------- + # before: + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: udp + # sequence: 10 + # source: + # address: 192.168.1.0 + # wildcard_bits: 0.0.0.255 + # - remark: TEST_ACL_1_REMARK + # sequence: 16 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # grant: permit + # protocol: tcp + # protocol_options: + # tcp: + # rst: true + # sequence: 21 + # source: + # host: 192.0.2.10 + # port_protocol: + # range: + # end: '121' + # start: pop3 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # dscp: + # lt: af12 + # grant: deny + # protocol: icmp + # protocol_options: + # icmp: + # reassembly_timeout: true + # sequence: 23 + # source: + # any: true + # name: acl_1 + # - aces: + # - remark: TEST_ACL_2_REMARK + # sequence: 10 + # name: acl_2 + # afi: ipv4 + # - acls: + # - aces: + # - authen: true + # destination: + # any: true + # grant: deny + # log: true + # protocol: tcp + # protocol_options: + # tcp: + # syn: true + # routing: true + # sequence: 10 + # source: + # port_protocol: + # range: + # end: telnet + # start: ftp + # prefix: 2001:db8:1234::/48 + # ttl: + # range: + # end: 250 + # start: 180 + # - destination: + # any: true + # destopts: true + # grant: permit + # precedence: network + # protocol: icmpv6 + # protocol_options: + # icmpv6: + # router_advertisement: true + # sequence: 20 + # source: + # any: true + # name: acl6_1 + # afi: ipv6 + # + # commands: + # - ipv4 access-list acl_2 + # - no 10 + # - 11 permit igmp host 198.51.100.130 any ttl eq 100 + # - 12 deny icmp any any + # + # after: + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: udp + # sequence: 10 + # source: + # address: 192.168.1.0 + # wildcard_bits: 0.0.0.255 + # - remark: TEST_ACL_1_REMARK + # sequence: 16 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # grant: permit + # protocol: tcp + # protocol_options: + # tcp: + # rst: true + # sequence: 21 + # source: + # host: 192.0.2.10 + # port_protocol: + # range: + # end: '121' + # start: pop3 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # dscp: + # lt: af12 + # grant: deny + # protocol: icmp + # protocol_options: + # icmp: + # reassembly_timeout: true + # sequence: 23 + # source: + # any: true + # name: acl_1 + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: igmp + # sequence: 11 + # source: + # host: 198.51.100.130 + # ttl: + # eq: 100 + # - destination: + # any: true + # grant: deny + # protocol: icmp + # sequence: 12 + # source: + # any: true + # name: acl_2 + # afi: ipv4 + # - acls: + # - aces: + # - authen: true + # destination: + # any: true + # grant: deny + # log: true + # protocol: tcp + # protocol_options: + # tcp: + # syn: true + # routing: true + # sequence: 10 + # source: + # port_protocol: + # range: + # end: telnet + # start: ftp + # prefix: 2001:db8:1234::/48 + # ttl: + # range: + # end: 250 + # start: 180 + # - destination: + # any: true + # destopts: true + # grant: permit + # precedence: network + # protocol: icmpv6 + # protocol_options: + # icmpv6: + # router_advertisement: true + # sequence: 20 + # source: + # any: true + # name: acl6_1 + # afi: ipv6 # After state: # ------------- - - # RP/0/RP0/CPU0:ios#sh access-lists afi-all - # Thu Feb 20 06:19:51.496 UTC + # RP/0/RP0/CPU0:ios#show access-lists afi-all + # Fri Sep 22 05:56:21.103 UTC # ipv4 access-list acl_1 + # 10 permit udp 192.168.1.0 0.0.0.255 any # 16 remark TEST_ACL_1_REMARK - # 21 permit tcp 198.51.100.32 0.0.0.15 range pop3 121 198.51.100.0 0.0.0.15 syn - # 23 deny icmp any 198.51.100.0 0.0.0.15 router-advertisement dscp eq af23 + # 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst + # 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12 # ipv4 access-list acl_2 # 11 permit igmp host 198.51.100.130 any ttl eq 100 # 12 deny icmp any any @@ -4253,6 +4734,7 @@ Examples # RP/0/RP0/CPU0:ios#sh access-lists afi-all # Thu Feb 20 05:22:57.021 UTC # ipv4 access-list acl_1 + # 10 permit udp 192.168.1.0 0.0.0.255 any # 16 remark TEST_ACL_1_REMARK # 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst # 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12 @@ -4265,29 +4747,141 @@ Examples - name: Overridde all ACLs configuration with provided configuration cisco.iosxr.iosxr_acls: config: - - afi: ipv4 - acls: - - name: acl_1 - aces: - - sequence: 10 - grant: permit - source: - any: true - destination: - any: true - protocol: tcp - - - name: acl_2 - aces: - - sequence: 20 - grant: permit - source: - any: true - destination: - any: true - protocol: igmp + - afi: ipv4 + acls: + - name: acl_1 + aces: + - sequence: 10 + grant: permit + source: + any: true + destination: + any: true + protocol: tcp + - name: acl_2 + aces: + - sequence: 20 + grant: permit + source: + any: true + destination: + any: true + protocol: igmp state: overridden + # Task Output + # ----------- + # + # before: + # - acls: + # - aces: + # - remark: TEST_ACL_1_REMARK + # sequence: 16 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # grant: permit + # protocol: tcp + # protocol_options: + # tcp: + # rst: true + # sequence: 21 + # source: + # host: 192.0.2.10 + # port_protocol: + # range: + # end: '121' + # start: pop3 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # dscp: + # lt: af12 + # grant: deny + # protocol: icmp + # protocol_options: + # icmp: + # reassembly_timeout: true + # sequence: 23 + # source: + # any: true + # name: acl_1 + # - aces: + # - remark: TEST_ACL_2_REMARK + # sequence: 10 + # name: acl_2 + # afi: ipv4 + # - acls: + # - aces: + # - authen: true + # destination: + # any: true + # grant: deny + # log: true + # protocol: tcp + # protocol_options: + # tcp: + # syn: true + # routing: true + # sequence: 10 + # source: + # port_protocol: + # range: + # end: telnet + # start: ftp + # prefix: 2001:db8:1234::/48 + # ttl: + # range: + # end: 250 + # start: 180 + # - destination: + # any: true + # destopts: true + # grant: permit + # precedence: network + # protocol: icmpv6 + # protocol_options: + # icmpv6: + # router_advertisement: true + # sequence: 20 + # source: + # any: true + # name: acl6_1 + # afi: ipv6 + # + # commands: + # - no ipv6 access-list acl6_1 + # - ipv4 access-list acl_1 + # - no 16 + # - no 21 + # - no 23 + # - 10 permit tcp any any + # - ipv4 access-list acl_2 + # - no 10 + # - 20 permit igmp any any + # + # after: + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: tcp + # sequence: 10 + # source: + # any: true + # name: acl_1 + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: igmp + # sequence: 20 + # source: + # any: true + # name: acl_2 + # afi: ipv4 + # After state: # ------------- @@ -4303,8 +4897,8 @@ Examples # Before state: # ------------- - # RP/0/RP0/CPU0:ios#sh access-lists afi-all - # Thu Feb 20 05:22:57.021 UTC + # RP/0/RP0/CPU0:ios#show access-lists afi-all + # Wed Sep 27 09:34:04.831 UTC # ipv4 access-list acl_1 # 16 remark TEST_ACL_1_REMARK # 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst @@ -4318,11 +4912,135 @@ Examples - name: Delete a single ACL cisco.iosxr.iosxr_acls: config: - - afi: ipv6 - acls: - - name: acl6_1 + - afi: ipv6 + acls: + - name: acl6_1 state: deleted + # Task Output + # ----------- + # + # before: + # - acls: + # - aces: + # - remark: TEST_ACL_1_REMARK + # sequence: 16 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # grant: permit + # protocol: tcp + # protocol_options: + # tcp: + # rst: true + # sequence: 21 + # source: + # host: 192.0.2.10 + # port_protocol: + # range: + # end: '121' + # start: pop3 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # dscp: + # lt: af12 + # grant: deny + # protocol: icmp + # protocol_options: + # icmp: + # reassembly_timeout: true + # sequence: 23 + # source: + # any: true + # name: acl_1 + # - aces: + # - remark: TEST_ACL_2_REMARK + # sequence: 10 + # name: acl_2 + # afi: ipv4 + # - acls: + # - aces: + # - authen: true + # destination: + # any: true + # grant: deny + # log: true + # protocol: tcp + # protocol_options: + # tcp: + # syn: true + # routing: true + # sequence: 10 + # source: + # port_protocol: + # range: + # end: telnet + # start: ftp + # prefix: 2001:db8:1234::/48 + # ttl: + # range: + # end: 250 + # start: 180 + # - destination: + # any: true + # destopts: true + # grant: permit + # precedence: network + # protocol: icmpv6 + # protocol_options: + # icmpv6: + # router_advertisement: true + # sequence: 20 + # source: + # any: true + # name: acl6_1 + # afi: ipv6 + # + # commands: + # - no ipv6 access-list acl6_1 + # + # after: + # - acls: + # - aces: + # - remark: TEST_ACL_1_REMARK + # sequence: 16 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # grant: permit + # protocol: tcp + # protocol_options: + # tcp: + # rst: true + # sequence: 21 + # source: + # host: 192.0.2.10 + # port_protocol: + # range: + # end: '121' + # start: pop3 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # dscp: + # lt: af12 + # grant: deny + # protocol: icmp + # protocol_options: + # icmp: + # reassembly_timeout: true + # sequence: 23 + # source: + # any: true + # name: acl_1 + # - aces: + # - remark: TEST_ACL_2_REMARK + # sequence: 10 + # name: acl_2 + # afi: ipv4 + + # After state: # ------------- @@ -4340,8 +5058,8 @@ Examples # Before state: # ------------- - # RP/0/RP0/CPU0:ios#sh access-lists afi-all - # Thu Feb 20 05:22:57.021 UTC + # RP/0/RP0/CPU0:ios#show access-lists afi-all + # Wed Sep 27 09:34:04.831 UTC # ipv4 access-list acl_1 # 16 remark TEST_ACL_1_REMARK # 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst @@ -4355,13 +5073,136 @@ Examples - name: Delete all ACLs under one AFI cisco.iosxr.iosxr_acls: config: - - afi: ipv4 + - afi: ipv4 state: deleted + # Task Output + # ----------- + # + # before: + # - acls: + # - aces: + # - remark: TEST_ACL_1_REMARK + # sequence: 16 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # grant: permit + # protocol: tcp + # protocol_options: + # tcp: + # rst: true + # sequence: 21 + # source: + # host: 192.0.2.10 + # port_protocol: + # range: + # end: '121' + # start: pop3 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # dscp: + # lt: af12 + # grant: deny + # protocol: icmp + # protocol_options: + # icmp: + # reassembly_timeout: true + # sequence: 23 + # source: + # any: true + # name: acl_1 + # - aces: + # - remark: TEST_ACL_2_REMARK + # sequence: 10 + # name: acl_2 + # afi: ipv4 + # - acls: + # - aces: + # - authen: true + # destination: + # any: true + # grant: deny + # log: true + # protocol: tcp + # protocol_options: + # tcp: + # syn: true + # routing: true + # sequence: 10 + # source: + # port_protocol: + # range: + # end: telnet + # start: ftp + # prefix: 2001:db8:1234::/48 + # ttl: + # range: + # end: 250 + # start: 180 + # - destination: + # any: true + # destopts: true + # grant: permit + # precedence: network + # protocol: icmpv6 + # protocol_options: + # icmpv6: + # router_advertisement: true + # sequence: 20 + # source: + # any: true + # name: acl6_1 + # afi: ipv6 + # + # commands: + # - no ipv4 access-list acl_1 + # - no ipv4 access-list acl_2 + # + # after: + # - acls: + # - aces: + # - authen: true + # destination: + # any: true + # grant: deny + # log: true + # protocol: tcp + # protocol_options: + # tcp: + # syn: true + # routing: true + # sequence: 10 + # source: + # port_protocol: + # range: + # end: telnet + # start: ftp + # prefix: 2001:db8:1234::/48 + # ttl: + # range: + # end: 250 + # start: 180 + # - destination: + # any: true + # destopts: true + # grant: permit + # precedence: network + # protocol: icmpv6 + # protocol_options: + # icmpv6: + # router_advertisement: true + # sequence: 20 + # source: + # any: true + # name: acl6_1 + # afi: ipv6 + # After state: # ------------- - # RP/0/RP0/CPU0:ios#sh access-lists afi-all + # RP/0/RP0/CPU0:ios#show access-lists afi-all # Thu Feb 20 05:22:57.021 UTC # ipv6 access-list acl6_1 # 10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 routing authen log @@ -4372,8 +5213,8 @@ Examples # Before state: # ------------- - # RP/0/RP0/CPU0:ios#sh access-lists afi-all - # Thu Feb 20 05:22:57.021 UTC + # RP/0/RP0/CPU0:ios#show access-lists afi-all + # Wed Sep 27 09:34:04.831 UTC # ipv4 access-list acl_1 # 16 remark TEST_ACL_1_REMARK # 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst @@ -4388,15 +5229,115 @@ Examples cisco.iosxr.iosxr_acls: state: deleted + + # Task Output + # ----------- + # + # before: + # - acls: + # - aces: + # - remark: TEST_ACL_1_REMARK + # sequence: 16 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # grant: permit + # protocol: tcp + # protocol_options: + # tcp: + # rst: true + # sequence: 21 + # source: + # host: 192.0.2.10 + # port_protocol: + # range: + # end: '121' + # start: pop3 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # dscp: + # lt: af12 + # grant: deny + # protocol: icmp + # protocol_options: + # icmp: + # reassembly_timeout: true + # sequence: 23 + # source: + # any: true + # name: acl_1 + # - aces: + # - remark: TEST_ACL_2_REMARK + # sequence: 10 + # name: acl_2 + # afi: ipv4 + # - acls: + # - aces: + # - authen: true + # destination: + # any: true + # grant: deny + # log: true + # protocol: tcp + # protocol_options: + # tcp: + # syn: true + # routing: true + # sequence: 10 + # source: + # port_protocol: + # range: + # end: telnet + # start: ftp + # prefix: 2001:db8:1234::/48 + # ttl: + # range: + # end: 250 + # start: 180 + # - destination: + # any: true + # destopts: true + # grant: permit + # precedence: network + # protocol: icmpv6 + # protocol_options: + # icmpv6: + # router_advertisement: true + # sequence: 20 + # source: + # any: true + # name: acl6_1 + # afi: ipv6 + # + # commands: + # - no ipv4 access-list acl_1 + # - no ipv4 access-list acl_2 + # - no ipv6 access-list acl6_1 + # + # after: [] + # After state: # ------------- - # RP/0/RP0/CPU0:ios#sh access-lists afi-all + # RP/0/RP0/CPU0:ios#show access-lists afi-all # Thu Feb 20 05:07:45.767 UTC # RP/0/RP0/CPU0:ios# # Using gathered to gather ACL facts from the device + # RP/0/RP0/CPU0:ios#show access-lists afi-all + # Wed Sep 27 09:34:04.831 UTC + # ipv4 access-list acl_1 + # 16 remark TEST_ACL_1_REMARK + # 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst + # 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12 + # ipv4 access-list acl_2 + # 10 remark TEST_ACL_2_REMARK + # ipv6 access-list acl6_1 + # 10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 routing authen log + # 20 permit icmpv6 any any router-advertisement precedence network destopts + - name: Gather ACL interfaces facts using gathered state cisco.iosxr.iosxr_acls: state: gathered @@ -4404,184 +5345,131 @@ Examples # Task Output (redacted) # ----------------------- # - - # "gathered": [ - # { - # "acls": [ - # { - # "aces": [ - # { - # "remark": "TEST_ACL_1_REMARK", - # "sequence": 16 - # }, - # { - # "destination": { - # "address": "198.51.100.0", - # "wildcard_bits": "0.0.0.15" - # }, - # "grant": "permit", - # "protocol": "tcp", - # "protocol_options": { - # "tcp": { - # "rst": true - # } - # }, - # "sequence": 21, - # "source": { - # "host": "192.0.2.10", - # "port_protocol": { - # "range": { - # "end": "121", - # "start": "pop3" - # } - # } - # } - # }, - # { - # "destination": { - # "address": "198.51.100.0", - # "wildcard_bits": "0.0.0.15" - # }, - # "dscp": { - # "lt": "af12" - # }, - # "grant": "deny", - # "protocol": "icmp", - # "protocol_options": { - # "icmp": { - # "reassembly_timeout": true - # } - # }, - # "sequence": 23, - # "source": { - # "any": true - # } - # } - # ], - # "name": "acl_1" - # }, - # { - # "aces": [ - # { - # "remark": "TEST_ACL_2_REMARK", - # "sequence": 10 - # } - # ], - # "name": "acl_2" - # } - # ], - # "afi": "ipv4" - # }, - # { - # "acls": [ - # { - # "aces": [ - # { - # "authen": true, - # "destination": { - # "any": true - # }, - # "grant": "deny", - # "log": true, - # "protocol": "tcp", - # "protocol_options": { - # "tcp": { - # "syn": true - # } - # }, - # "routing": true, - # "sequence": 10, - # "source": { - # "port_protocol": { - # "range": { - # "end": "telnet", - # "start": "ftp" - # } - # }, - # "prefix": "2001:db8:1234::/48" - # }, - # "ttl": { - # "range": { - # "end": 250, - # "start": 180 - # } - # } - # }, - # { - # "destination": { - # "any": true - # }, - # "destopts": true, - # "grant": "permit", - # "precedence": "network", - # "protocol": "icmpv6", - # "protocol_options": { - # "icmpv6": { - # "router_advertisement": true - # } - # }, - # "sequence": 20, - # "source": { - # "any": true - # } - # } - # ], - # "name": "acl6_1" - # } - # ], - # "afi": "ipv6" - # } - # ] + # gathered: + # - acls: + # - aces: + # - remark: TEST_ACL_1_REMARK + # sequence: 16 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # grant: permit + # protocol: tcp + # protocol_options: + # tcp: + # rst: true + # sequence: 21 + # source: + # host: 192.0.2.10 + # port_protocol: + # range: + # end: '121' + # start: pop3 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # dscp: + # lt: af12 + # grant: deny + # protocol: icmp + # protocol_options: + # icmp: + # reassembly_timeout: true + # sequence: 23 + # source: + # any: true + # name: acl_1 + # - aces: + # - remark: TEST_ACL_2_REMARK + # sequence: 10 + # name: acl_2 + # afi: ipv4 + # - acls: + # - aces: + # - authen: true + # destination: + # any: true + # grant: deny + # log: true + # protocol: tcp + # protocol_options: + # tcp: + # syn: true + # routing: true + # sequence: 10 + # source: + # port_protocol: + # range: + # end: telnet + # start: ftp + # prefix: 2001:db8:1234::/48 + # ttl: + # range: + # end: 250 + # start: 180 + # - destination: + # any: true + # destopts: true + # grant: permit + # precedence: network + # protocol: icmpv6 + # protocol_options: + # icmpv6: + # router_advertisement: true + # sequence: 20 + # source: + # any: true + # name: acl6_1 + # afi: ipv6 # Using rendered - name: Render platform specific commands (without connecting to the device) cisco.iosxr.iosxr_acls: config: - - afi: ipv4 - acls: - - name: acl_2 - aces: - - sequence: 11 - grant: permit - protocol: igmp - source: - host: 198.51.100.130 - destination: - any: true - ttl: - eq: 100 - - - sequence: 12 - grant: deny - source: - any: true - destination: - any: true - protocol: icmp + - afi: ipv4 + acls: + - name: acl_2 + aces: + - sequence: 11 + grant: permit + protocol: igmp + source: + host: 198.51.100.130 + destination: + any: true + ttl: + eq: 100 + - sequence: 12 + grant: deny + source: + any: true + destination: + any: true + protocol: icmp state: rendered # Task Output (redacted) # ----------------------- - # "rendered": [ - # "ipv4 access-list acl_2", - # "11 permit igmp host 198.51.100.130 any ttl eq 100", - # "12 deny icmp any any" + # rendered: + # - ipv4 access-list acl_2 + # - 11 permit igmp host 198.51.100.130 any ttl eq 100 + # - 12 deny icmp any any # Using parsed # parsed.cfg # ------------ - # # ipv4 access-list acl_1 - # 10 remark TEST_ACL_2_REMARK + # 16 remark TEST_ACL_1_REMARK + # 21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst + # 23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12 # ipv4 access-list acl_2 - # 11 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 authen routing log - # 21 permit icmpv6 any any router-advertisement precedence network packet-length eq 576 destopts + # 10 remark TEST_ACL_2_REMARK # ipv6 access-list acl6_1 # 10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 routing authen log - # 20 permit icmpv6 any any router-advertisement precedence network packet-length eq 576 destopts + # 20 permit icmpv6 any any router-advertisement precedence network destopts - name: Parse externally provided ACL config to agnostic model cisco.iosxr.iosxr_acls: @@ -4590,141 +5478,82 @@ Examples # Task Output (redacted) # ----------------------- - # "parsed": [ - # { - # "acls": [ - # { - # "aces": [ - # { - # "remark": "TEST_ACL_2_REMARK", - # "sequence": 10 - # } - # ], - # "name": "acl_1" - # }, - # { - # "aces": [ - # { - # "authen": true, - # "destination": { - # "any": true - # }, - # "grant": "deny", - # "log": true, - # "protocol": "tcp", - # "protocol_options": { - # "tcp": { - # "syn": true - # } - # }, - # "routing": true, - # "sequence": 11, - # "source": { - # "port_protocol": { - # "range": { - # "end": "telnet", - # "start": "ftp" - # } - # }, - # "prefix": "2001:db8:1234::/48" - # }, - # "ttl": { - # "range": { - # "end": 250, - # "start": 180 - # } - # } - # }, - # { - # "destination": { - # "any": true - # }, - # "destopts": true, - # "grant": "permit", - # "packet_length": { - # "eq": 576 - # }, - # "precedence": "network", - # "protocol": "icmpv6", - # "protocol_options": { - # "icmpv6": { - # "router_advertisement": true - # } - # }, - # "sequence": 21, - # "source": { - # "any": true - # } - # } - # ], - # "name": "acl_2" - # } - # ], - # "afi": "ipv4" - # }, - # { - # "acls": [ - # { - # "aces": [ - # { - # "authen": true, - # "destination": { - # "any": true - # }, - # "grant": "deny", - # "log": true, - # "protocol": "tcp", - # "protocol_options": { - # "tcp": { - # "syn": true - # } - # }, - # "routing": true, - # "sequence": 10, - # "source": { - # "port_protocol": { - # "range": { - # "end": "telnet", - # "start": "ftp" - # } - # }, - # "prefix": "2001:db8:1234::/48" - # }, - # "ttl": { - # "range": { - # "end": 250, - # "start": 180 - # } - # } - # }, - # { - # "destination": { - # "any": true - # }, - # "destopts": true, - # "grant": "permit", - # "packet_length": { - # "eq": 576 - # }, - # "precedence": "network", - # "protocol": "icmpv6", - # "protocol_options": { - # "icmpv6": { - # "router_advertisement": true - # } - # }, - # "sequence": 20, - # "source": { - # "any": true - # } - # } - # ], - # "name": "acl6_1" - # } - # ], - # "afi": "ipv6" - # } - # ] + # parsed: + # - acls: + # - aces: + # - remark: TEST_ACL_1_REMARK + # sequence: 16 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # grant: permit + # protocol: tcp + # protocol_options: + # tcp: + # rst: true + # sequence: 21 + # source: + # host: 192.0.2.10 + # port_protocol: + # range: + # end: '121' + # start: pop3 + # - destination: + # address: 198.51.100.0 + # wildcard_bits: 0.0.0.15 + # dscp: + # lt: af12 + # grant: deny + # protocol: icmp + # protocol_options: + # icmp: + # reassembly_timeout: true + # sequence: 23 + # source: + # any: true + # name: acl_1 + # - aces: + # - remark: TEST_ACL_2_REMARK + # sequence: 10 + # name: acl_2 + # afi: ipv4 + # - acls: + # - aces: + # - authen: true + # destination: + # any: true + # grant: deny + # log: true + # protocol: tcp + # protocol_options: + # tcp: + # syn: true + # routing: true + # sequence: 10 + # source: + # port_protocol: + # range: + # end: telnet + # start: ftp + # prefix: 2001:db8:1234::/48 + # ttl: + # range: + # end: 250 + # start: 180 + # - destination: + # any: true + # destopts: true + # grant: permit + # precedence: network + # protocol: icmpv6 + # protocol_options: + # icmpv6: + # router_advertisement: true + # sequence: 20 + # source: + # any: true + # name: acl6_1 + # afi: ipv6 @@ -4793,6 +5622,57 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['ipv6 access-list acl6_1', '10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 authen routing log', '20 permit icmpv6 any any router-advertisement precedence network destopts', 'ipv4 access-list acl_1', '16 remark TEST_ACL_1_REMARK', '21 permit tcp host 192.0.2.10 range pop3 121 198.51.100.0 0.0.0.15 rst', '23 deny icmp any 198.51.100.0 0.0.0.15 reassembly-timeout dscp lt af12']</div> </td> </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>gathered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>gathered</code></td> + <td> + <div>Facts about the network resource gathered from the remote device as structured data.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>parsed</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>parsed</code></td> + <td> + <div>The device native config provided in <em>running_config</em> option parsed into structured data as per module argspec.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>rendered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>rendered</code></td> + <td> + <div>The provided configuration in the task rendered in device-native format (offline).</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['ipv6 access-list acl6_1', '10 deny tcp 2001:db8:1234::/48 range ftp telnet any syn ttl range 180 250 authen routing log', '20 permit icmpv6 any any router-advertisement precedence network destopts']</div> + </td> + </tr> </table> <br/><br/> diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_banner_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_banner_module.rst index 747571a97..46d105682 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_banner_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_banner_module.rst @@ -128,7 +128,7 @@ Examples - name: Configure banner from file cisco.iosxr.iosxr_banner: banner: motd - text: "{{ lookup('file', './config_partial/raw_banner.cfg') }}" + text: '{{ lookup(''file'', ''./config_partial/raw_banner.cfg'') }}' state: present diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_address_family_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_address_family_module.rst index 8ad152d3b..5a3ae6c65 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_address_family_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_address_family_module.rst @@ -2663,17 +2663,17 @@ Examples cisco.iosxr.iosxr_bgp_address_family: state: merged config: - as_number: "65536" + as_number: '65536' address_family: - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast vrf: vrf1 dynamic_med: 9 redistribute: - protocol: connected metric: 10 - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast dynamic_med: 10 redistribute: - protocol: application @@ -2768,10 +2768,10 @@ Examples cisco.iosxr.iosxr_bgp_address_family: state: replaced config: - as_number: "65536" + as_number: '65536' address_family: - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast vrf: vrf1 dynamic_med: 10 # Task output @@ -2845,10 +2845,10 @@ Examples cisco.iosxr.iosxr_bgp_address_family: state: overridden config: - as_number: "65536" + as_number: '65536' address_family: - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast vrf: vrf1 dynamic_med: 10 @@ -2939,17 +2939,17 @@ Examples cisco.iosxr.iosxr_bgp_address_family: state: rendered config: - as_number: "65536" + as_number: '65536' address_family: - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast vrf: vrf1 dynamic_med: 9 redistribute: - protocol: connected metric: 10 - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast dynamic_med: 10 redistribute: - protocol: application @@ -2979,21 +2979,21 @@ Examples # # Using gathered # ------------- - - name: Merge the provided configuration with the existing running configuration + - name: Gather existing running configuration cisco.iosxr.iosxr_bgp_address_family: state: gathered config: - as_number: "65536" + as_number: '65536' address_family: - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast vrf: vrf1 dynamic_med: 9 redistribute: - protocol: connected metric: 10 - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast dynamic_med: 10 redistribute: - protocol: application @@ -3031,8 +3031,8 @@ Examples # # Using parsed # - #parsed.cfg - #------------ + # parsed.cfg + # ------------ # router bgp 65536 # bgp router-id 192.0.1.1 # address-family ipv4 unicast diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_global_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_global_module.rst index c29559a5e..382bd6659 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_global_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_global_module.rst @@ -3151,6 +3151,116 @@ Parameters <td class="elbow-placeholder"></td> <td colspan="5"> <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>no_prepend</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Do not prepend local AS to announcements from this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>replace_as</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Prepend only local AS to announcements to this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>dual_as</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Dual-AS mode.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prepend only local AS to announcements to this neighbor.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Do not prepend local AS to announcements from this neighbor.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> <b>value</b> <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> <div style="font-size: small"> @@ -3461,6 +3571,64 @@ Parameters <td class="elbow-placeholder"></td> <td colspan="6"> <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>password</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Set a password.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>encrypted</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Specifies an ENCRYPTED password will follow.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent password from being inherited from parent.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="6"> + <div class="ansibleOptionAnchor" id="parameter-"></div> <b>receive_buffer_size</b> <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> <div style="font-size: small"> @@ -3990,6 +4158,60 @@ Parameters <div>Source of routing updates.Refer vendor document for valid values.</div> </td> </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="6"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>use</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Use a neighbor-group and session-group template.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>neighbor_group</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Inherit configuration from a neighbor-group.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>session_group</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Inherit address-family independent config from a session-group</div> + </td> + </tr> + <tr> <td class="elbow-placeholder"></td> @@ -7433,6 +7655,121 @@ Parameters <td class="elbow-placeholder"></td> <td colspan="4"> <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>no_prepend</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Do not prepend local AS to announcements from this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>replace_as</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Prepend only local AS to announcements to this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>dual_as</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Dual-AS mode.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prepend only local AS to announcements to this neighbor.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Do not prepend local AS to announcements from this neighbor.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> <b>value</b> <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> <div style="font-size: small"> @@ -7758,6 +8095,67 @@ Parameters <td class="elbow-placeholder"></td> <td colspan="5"> <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>password</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Set a password.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>encrypted</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Specifies an ENCRYPTED password will follow.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent password from being inherited from parent.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> <b>receive_buffer_size</b> <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> <div style="font-size: small"> @@ -8313,6 +8711,63 @@ Parameters <div>Source of routing updates.Refer vendor document for valid values.</div> </td> </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>use</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Use a neighbor-group and session-group template.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>neighbor_group</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Inherit configuration from a neighbor-group.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>session_group</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Inherit address-family independent config from a session-group</div> + </td> + </tr> + <tr> <td class="elbow-placeholder"></td> @@ -8514,6 +8969,7 @@ Parameters <li>rendered</li> <li>parsed</li> <li>purged</li> + <li>overridden</li> </ul> </td> <td> @@ -8537,68 +8993,93 @@ Examples .. code-block:: yaml - ##### Using Merged ########################################## - ----------------------------------------------------------------- - - # configuration on device Before merge state: - - - #RP/0/0/CPU0:10#show running-config router bgp - #Thu Feb 4 09:38:36.245 UTC - #% No such configuration item(s) - #RP/0/0/CPU0:10# - - # --------------Merge state--------------- - # - name: Merge the following configuration - # cisco.iosxr.iosxr_bgp_global: - # config: - # as_number: 65536 - # default_metric: 5 - # socket: - # receive_buffer_size: 514 - # send_buffer_size: 4098 - # bgp: - # confederation: - # identifier: 4 - # bestpath: - # med: - # confed: True - # cluster_id: 5 - # router_id: 192.0.2.10 - # neighbors: - # - neighbor: 192.0.2.13 - # remote_as: 65538 - # bfd: - # fast_detect: - # strict_mode: True - # multiplier: 6 - # minimum_interval: 20 - # vrfs: - # - vrf: vrf1 - # default_metric: 5 - # ---------------------------------------- + # Using merged # + # Before state + # ------------ + # RP/0/0/CPU0:10#show running-config router bgp + # Thu Feb 4 09:38:36.245 UTC + # % No such configuration item(s) + # RP/0/0/CPU0:10# + + - name: Merge the following BGP global configuration + cisco.iosxr.iosxr_bgp_global: + config: + as_number: 65536 + default_metric: 5 + socket: + receive_buffer_size: 514 + send_buffer_size: 4098 + bgp: + confederation: + identifier: 4 + bestpath: + med: + confed: true + cluster_id: 5 + router_id: 192.0.2.10 + neighbors: + - neighbor: 192.0.2.13 + remote_as: 65538 + bfd: + fast_detect: + strict_mode: true + multiplier: 6 + minimum_interval: 20 + vrfs: + - vrf: vrf1 + default_metric: 5 - + # + # Task Output: + # --------------- + # + # before: {} # commands: - # - "router bgp 65536", - # - "bgp cluster-id 5", - # - "bgp router-id 192.0.2.10", - # - "bgp bestpath med confed", - # - "bgp confederation identifier 4", - # - "default-metric 5", - # - "socket receive-buffer-size 514", - # - "socket send-buffer-size 4098", - # - "neighbor 192.0.2.13", - # - "bfd fast-detect strict-mode", - # - "bfd minimum-interval 20", - # - "bfd multiplier 6", - # - "remote-as 65538", - # - "vrf vrf1", - # - "default-metric 5" - - # Configuration on device After Merge state: - # -------------------------------------------- + # - router bgp 65536 + # - bgp cluster-id 5 + # - bgp router-id 192.0.2.10 + # - bgp bestpath med confed + # - bgp confederation identifier 4 + # - default-metric 5 + # - socket receive-buffer-size 514 + # - socket send-buffer-size 4098 + # - neighbor 192.0.2.13 + # - bfd fast-detect strict-mode + # - bfd minimum-interval 20 + # - bfd multiplier 6 + # - remote-as 65538 + # - vrf vrf1 + # - default-metric 5 + # + # after: + # as_number: '65536' + # bgp: + # bestpath: + # med: + # confed: true + # cluster_id: '5' + # confederation: + # identifier: 4 + # router_id: 192.0.2.10 + # default_metric: 5 + # neighbors: + # - bfd: + # fast_detect: + # strict_mode: true + # minimum_interval: 20 + # multiplier: 6 + # neighbor_address: 192.0.2.13 + # remote_as: 65538 + # socket: + # receive_buffer_size: 514 + # send_buffer_size: 4098 + # vrfs: + # - default_metric: 5 + # vrf: vrf1 + # + # After state + # ----------- # RP/0/0/CPU0:10#show running-config router bgp # Thu Feb 4 09:44:32.480 UTC @@ -8621,10 +9102,10 @@ Examples # ! # ! - ##### Using replaced ########################################### - - # configuration on device before replaced - # -------------------------------------------- + # Using replaced + # + # Before state + # ------------ # # RP/0/0/CPU0:10#show running-config router bgp # Thu Feb 4 09:44:32.480 UTC @@ -8646,49 +9127,105 @@ Examples # default-metric 5 # ! # ! - # --------------Replace state--------------- - # - name: Replace the following configuration - # cisco.iosxr.iosxr_bgp_global: - # state: replaced - # config: - # as_number: 65536 - # default_metric: 4 - # socket: - # receive_buffer_size: 514 - # send_buffer_size: 4098 - # bgp: - # confederation: - # identifier: 4 - # bestpath: - # med: - # confed: True - # cluster_id: 5 - # router_id: 192.0.2.10 - # neighbors: - # - neighbor: 192.0.2.14 - # remote_as: 65538 - # bfd: - # fast_detect: - # strict_mode: True - # multiplier: 6 - # minimum_interval: 20 - # vrfs: - # - vrf: vrf1 - # default_metric: 5 - # ------------------------------------------- - # commands: - # - "router bgp 65536", - # - "default-metric 4", - # - "neighbor 192.0.2.14", - # - "bfd fast-detect strict-mode", - # - "bfd minimum-interval 20", - # - "bfd multiplier 6", - # - "remote-as 65538", - # - "no neighbor 192.0.2.13" - - # configuration on device After Replaced state: - # ---------------------------------------------- + - name: Replace the following configuration + cisco.iosxr.iosxr_bgp_global: + state: replaced + config: + as_number: 65536 + default_metric: 4 + socket: + receive_buffer_size: 514 + send_buffer_size: 4098 + bgp: + confederation: + identifier: 4 + bestpath: + med: + confed: true + cluster_id: 5 + router_id: 192.0.2.10 + neighbors: + - neighbor: 192.0.2.14 + remote_as: 65538 + bfd: + fast_detect: + strict_mode: true + multiplier: 6 + minimum_interval: 20 + vrfs: + - vrf: vrf1 + default_metric: 5 + + # + # Task Output: + # ------------- + # + # before: + # as_number: '65536' + # bgp: + # bestpath: + # med: + # confed: true + # cluster_id: '5' + # confederation: + # identifier: 4 + # router_id: 192.0.2.10 + # default_metric: 5 + # neighbors: + # - bfd: + # fast_detect: + # strict_mode: true + # minimum_interval: 20 + # multiplier: 6 + # neighbor_address: 192.0.2.13 + # remote_as: 65538 + # socket: + # receive_buffer_size: 514 + # send_buffer_size: 4098 + # vrfs: + # - default_metric: 5 + # vrf: vrf1 + # + # commands: + # - router bgp 65536 + # - default-metric 4 + # - neighbor 192.0.2.14 + # - bfd fast-detect strict-mode + # - bfd minimum-interval 20 + # - bfd multiplier 6 + # - remote-as 65538 + # - no neighbor 192.0.2.13 + # + # after: + # as_number: '65536' + # bgp: + # bestpath: + # med: + # confed: true + # cluster_id: '5' + # confederation: + # identifier: 4 + # router_id: 192.0.2.10 + # default_metric: 4 + # neighbors: + # - bfd: + # fast_detect: + # strict_mode: true + # minimum_interval: 20 + # multiplier: 6 + # neighbor_address: 192.0.2.14 + # remote_as: 65538 + # socket: + # receive_buffer_size: 514 + # send_buffer_size: 4098 + # vrfs: + # - default_metric: 5 + # vrf: vrf1 + # + # After state + # ----------- + # # RP/0/0/CPU0:10#show running-config router bgp # Thu Feb 4 09:54:11.161 UTC # router bgp 65536 @@ -8710,11 +9247,128 @@ Examples # ! # ! + # Using overridden + # + # Before state + # ------------ + # + # RP/0/0/CPU0:10#show running-config router bgp + # Thu Feb 4 09:44:32.480 UTC + # router bgp 65536 + # bgp confederation identifier 4 + # bgp router-id 192.0.2.10 + # bgp cluster-id 5 + # default-metric 5 + # socket send-buffer-size 4098 + # bgp bestpath med confed + # socket receive-buffer-size 514 + # neighbor 192.0.2.13 + # remote-as 65538 + # bfd fast-detect strict-mode + # bfd multiplier 6 + # bfd minimum-interval 20 + # ! + # vrf vrf1 + # default-metric 5 + # ! + # ! - ##### Using deleted ############################################ + - name: Override running config with provided configuration + cisco.iosxr.iosxr_bgp_global: + state: overridden + config: + as_number: 65536 + default_metric: 4 + socket: + receive_buffer_size: 514 + send_buffer_size: 4098 + bgp: + confederation: + identifier: 4 + bestpath: + med: + confed: true + cluster_id: 5 + router_id: 192.0.2.10 + neighbors: + - neighbor: 192.0.2.14 + remote_as: 65538 + bfd: + fast_detect: + strict_mode: true + multiplier: 6 + minimum_interval: 20 + vrfs: + - vrf: vrf1 + default_metric: 5 + # + # Task Output: + # ------------- + # + # before: + # as_number: '65536' + # bgp: + # bestpath: + # med: + # confed: true + # cluster_id: '5' + # confederation: + # identifier: 4 + # router_id: 192.0.2.10 + # default_metric: 5 + # neighbors: + # - bfd: + # fast_detect: + # strict_mode: true + # minimum_interval: 20 + # multiplier: 6 + # neighbor_address: 192.0.2.13 + # remote_as: 65538 + # socket: + # receive_buffer_size: 514 + # send_buffer_size: 4098 + # vrfs: + # - default_metric: 5 + # vrf: vrf1 + # + # commands: + # - router bgp 65536 + # - default-metric 4 + # - neighbor 192.0.2.14 + # - bfd fast-detect strict-mode + # - bfd minimum-interval 20 + # - bfd multiplier 6 + # - remote-as 65538 + # - no neighbor 192.0.2.13 + # + # after: + # as_number: '65536' + # bgp: + # bestpath: + # med: + # confed: true + # cluster_id: '5' + # confederation: + # identifier: 4 + # router_id: 192.0.2.10 + # default_metric: 4 + # neighbors: + # - bfd: + # fast_detect: + # strict_mode: true + # minimum_interval: 20 + # multiplier: 6 + # neighbor_address: 192.0.2.14 + # remote_as: 65538 + # socket: + # receive_buffer_size: 514 + # send_buffer_size: 4098 + # vrfs: + # - default_metric: 5 + # vrf: vrf1 - # configuration on device Before deleted state - # --------------------------------------------- + # After state + # ----------- # # RP/0/0/CPU0:10#show running-config router bgp # Thu Feb 4 09:54:11.161 UTC @@ -8736,28 +9390,87 @@ Examples # default-metric 5 # ! # ! + + # Using deleted # - # -------------------------------------------------------- - # - name: Delete BGP configurations handled by this module - # cisco.iosxr.iosxr_bgp_global: - # state: deleted - # config: - # as_number: 65536 + # Before state + # ------------ + # + # RP/0/0/CPU0:10#show running-config router bgp + # Thu Feb 4 09:54:11.161 UTC + # router bgp 65536 + # bgp confederation identifier 4 + # bgp router-id 192.0.2.10 + # bgp cluster-id 5 + # default-metric 4 + # socket send-buffer-size 4098 + # bgp bestpath med confed + # socket receive-buffer-size 514 + # neighbor 192.0.2.14 + # remote-as 65538 + # bfd fast-detect strict-mode + # bfd multiplier 6 + # bfd minimum-interval 20 + # ! + # vrf vrf1 + # default-metric 5 + # ! + # ! + # + + - name: Delete BGP configurations handled by this module + cisco.iosxr.iosxr_bgp_global: + config: + as_number: 65536 + state: deleted + + # + # Task Output: + # ------------- + # + # before: + # as_number: '65536' + # bgp: + # bestpath: + # med: + # confed: true + # cluster_id: '5' + # confederation: + # identifier: 4 + # router_id: 192.0.2.10 + # default_metric: 4 + # neighbors: + # - bfd: + # fast_detect: + # strict_mode: true + # minimum_interval: 20 + # multiplier: 6 + # neighbor_address: 192.0.2.14 + # remote_as: 65538 + # socket: + # receive_buffer_size: 514 + # send_buffer_size: 4098 + # vrfs: + # - default_metric: 5 + # vrf: vrf1 # # commands: - # "router bgp 65536", - # "no bgp cluster-id 5", - # "no bgp router-id 192.0.2.10", - # "no bgp bestpath med confed", - # "no bgp confederation identifier 4", - # "no default-metric 4", - # "no socket receive-buffer-size 514", - # "no socket send-buffer-size 4098", - # "no neighbor 192.0.2.14", - # "no vrf vrf1" + # - router bgp 65536 + # - no bgp cluster-id 5 + # - no bgp router-id 192.0.2.10 + # - no bgp bestpath med confed + # - no bgp confederation identifier 4 + # - no default-metric 4 + # - no socket receive-buffer-size 514 + # - no socket send-buffer-size 4098 + # - no neighbor 192.0.2.14 + # - no vrf vrf1 # - # configuration on device after delete - # ------------------------------------------- + # after: + # as_number: '65536' + # + # After state + # ----------- # # RP/0/0/CPU0:10#show running-config router bgp # Thu Feb 4 10:01:08.232 UTC @@ -8765,11 +9478,10 @@ Examples # ! # - - ################# Using Purged ######################################## - - # configuration on device Before Purged state - # -------------------------------------------- + # Using purged + # + # Before state + # ------------ # # RP/0/0/CPU0:10#show running-config router bgp # Thu Feb 4 09:54:11.161 UTC @@ -8777,104 +9489,138 @@ Examples # bgp confederation identifier 4 # bgp router-id 192.0.2.10 # bgp cluster-id 5 - # default-metric 4 + # default-metric 5 # socket send-buffer-size 4098 # bgp bestpath med confed # socket receive-buffer-size 514 - # address-family ipv4 unicast - # neighbor 192.0.2.14 + # neighbor 192.0.2.13 # remote-as 65538 # bfd fast-detect strict-mode # bfd multiplier 6 # bfd minimum-interval 20 - # address-family ipv4 unicast # ! # vrf vrf1 # default-metric 5 # ! # ! # - # - name: Purge all BGP configurations from the device - # cisco.iosxr.iosxr_bgp_global: - # state: purged + + - name: Purge all BGP configurations from the device + cisco.iosxr.iosxr_bgp_global: + state: purged + + # + # Task Output: + # ------------- + # + # before: + # as_number: '65536' + # bgp: + # bestpath: + # med: + # confed: true + # cluster_id: '5' + # confederation: + # identifier: 4 + # router_id: 192.0.2.10 + # default_metric: 5 + # neighbors: + # - bfd: + # fast_detect: + # strict_mode: true + # minimum_interval: 20 + # multiplier: 6 + # neighbor_address: 192.0.2.13 + # remote_as: 65538 + # socket: + # receive_buffer_size: 514 + # send_buffer_size: 4098 + # vrfs: + # - default_metric: 5 + # vrf: vrf1 + # + # commands: + # - no router bgp 65536 # - # commands: - # - no router bgp 65563 + # after: {} # - # configuration on device After purged state: - # --------------------------------------------- + # After state + # ----------- # - # #RP/0/0/CPU0:10#show running-config router bgp - # #Thu Feb 4 09:38:36.245 UTC - # #% No such configuration item(s) - # #RP/0/0/CPU0:10# + # RP/0/0/CPU0:10#show running-config router bgp + # Thu Feb 4 09:38:36.245 UTC + # % No such configuration item(s) + # RP/0/0/CPU0:10# # + # - # ################# Using Rendred ####################################################### + # Using Rendered + # ----------------- # - # - name: Render platform specific configuration lines (without connecting to the device) - # cisco.iosxr.iosxr_bgp_global: - # state: rendered - # config: - # as_number: 1 - # default_metric: 4 - # vrfs: - # - vrf: vrf3 - # bfd: - # minimum_interval: 20 - # multiplier: 10 - # bgp: - # fast_external_fallover: - # disable: True - # router_id: 1.2.3.4 - # auto_policy_soft_reset: - # disable: True - # #rd: - # # auto: True - # # #value: 1 - # timers: - # keepalive_time: 20 - # holdtime: 30 - # - vrf: vrf2 - # bgp: - # enforce_first_as: - # disable: True - # default_metric: 4 - # neighbors: - # - neighbor: 1.1.1.3 - # remote_as: 2 - # graceful_maintenance: - # set: True - # activate: - # #set: True - # inheritance_disable: True - # local_preference: - # value: 1 - # #inheritance_disable: True - # as_prepends: - # value: 2 - # rendered output - # ------------------------------------ - # "router bgp 1", - # "default-metric 4", - # "vrf vrf3", - # "bfd multiplier 10", - # "bfd minimum-interval 20", - # "bgp auto-policy-soft-reset disable", - # "bgp fast-external-fallover disable", - # "bgp router-id 1.2.3.4", - # "timers bgp 20 30", - # "vrf vrf2", - # "neighbor 1.1.1.3", - # "remote-as 2", - # "graceful-maintenance", - # "graceful-maintenance activate inheritance-disable", - # "graceful-maintenance local-preference 1", - # "graceful-maintenance as-prepends 2", - # "bgp enforce-first-as disable", - # "default-metric 4" + - name: >- + Render platform specific configuration lines (without connecting to the + device) + cisco.iosxr.iosxr_bgp_global: + state: rendered + config: + as_number: 1 + default_metric: 4 + vrfs: + - vrf: vrf3 + bfd: + minimum_interval: 20 + multiplier: 10 + bgp: + fast_external_fallover: + disable: true + router_id: 1.2.3.4 + auto_policy_soft_reset: + disable: true + timers: + keepalive_time: 20 + holdtime: 30 + - vrf: vrf2 + bgp: + enforce_first_as: + disable: true + default_metric: 4 + neighbors: + - neighbor: 1.1.1.3 + remote_as: 2 + graceful_maintenance: + set: true + activate: + inheritance_disable: true + local_preference: + value: 1 + as_prepends: + value: 2 + + # + # Task output + # ----------------------- + # rendered: + # - router bgp 1 + # - default-metric 4 + # - vrf vrf3 + # - bfd multiplier 10 + # - bfd minimum-interval 20 + # - bgp auto-policy-soft-reset disable + # - bgp fast-external-fallover disable + # - bgp router-id 1.2.3.4 + # - timers bgp 20 30 + # - vrf vrf2 + # - neighbor 1.1.1.3 + # - remote-as 2 + # - graceful-maintenance + # - graceful-maintenance activate inheritance-disable + # - graceful-maintenance local-preference 1 + # - graceful-maintenance as-prepends 2 + # - bgp enforce-first-as disable + # - default-metric 4 + + # Using parsed # - # ############## Using parsed ##################### # parsed.cfg # ------------ # router bgp 65536 @@ -8896,40 +9642,221 @@ Examples # bfd minimum-interval 20 # ! # ! - # ------------------------------------ - # - # - name: Parse externally provided BGP config - # cisco.iosxr.iosxr_bgp_global: - # running_config: "{{ lookup('file', 'parsed.cfg') }}" - # state: parsed # - # #Task output using parsed - # as_number: "65536" + + - name: Parse externally provided BGP config + cisco.iosxr.iosxr_bgp_global: + running_config: "{{ lookup('file', 'parsed.cfg') }}" + state: parsed + + # Task output + # ----------------------- + # parsed: + # as_number: '65536' + # bgp: + # bestpath: + # med: + # confed: true + # cluster_id: '5' + # confederation: + # identifier: 4 + # router_id: 192.0.2.10 # default_metric: 4 + # neighbors: + # - cluster_id: '3' + # neighbor_address: 192.0.2.11 + # remote_as: 65537 + # - bfd: + # fast_detect: + # strict_mode: true + # minimum_interval: 20 + # multiplier: 6 + # neighbor_address: 192.0.2.14 + # remote_as: 65538 # socket: # receive_buffer_size: 514 # send_buffer_size: 4098 + + # Using gathered + # + # Before state + # ------------ + # + + # RP/0/0/CPU0:10#show running-config router bgp + # Thu Feb 4 09:38:36.245 UTC + # router bgp 65536 + # bgp confederation identifier 4 + # bgp router-id 192.0.2.10 + # bgp cluster-id 5 + # default-metric 5 + # socket send-buffer-size 4098 + # bgp bestpath med confed + # socket receive-buffer-size 514 + # neighbor 192.0.2.13 + # remote-as 65538 + # bfd fast-detect strict-mode + # bfd multiplier 6 + # bfd minimum-interval 20 + # ! + # vrf vrf1 + # default-metric 5 + # ! + # ! + + - name: Gather bgp global facts + cisco.iosxr.iosxr_bgp_global: + state: gathered + + # Task Output: + # ------------ + # + # gathered: + # as_number: '65536' # bgp: - # confederation: - # identifier: 4 # bestpath: # med: # confed: true - # cluster_id: "5" - # router_id: "192.0.2.10" + # cluster_id: '5' + # confederation: + # identifier: 4 + # router_id: 192.0.2.10 + # default_metric: 5 # neighbors: - # - neighbor: 192.0.2.11 - # remote_as: 65537 - # cluster_id: "3" - # - neighbor: "192.0.2.14" - # remote_as: 65538 - # bfd: - # fast_detect: - # strict_mode: true - # multiplier: 6 - # minimum_interval: 20 + # - bfd: + # fast_detect: + # strict_mode: true + # minimum_interval: 20 + # multiplier: 6 + # neighbor_address: 192.0.2.13 + # remote_as: 65538 + # socket: + # receive_buffer_size: 514 + # send_buffer_size: 4098 + # vrfs: + # - default_metric: 5 + # vrf: vrf1 + +Return Values +------------- +Common return values are documented `here <https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values>`_, the following are the fields unique to this module: + +.. raw:: html + + <table border=0 cellpadding=0 class="documentation-table"> + <tr> + <th colspan="1">Key</th> + <th>Returned</th> + <th width="100%">Description</th> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>after</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when changed</td> + <td> + <div>The resulting configuration model invocation.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">The configuration returned will always be in the same format + of the parameters above.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>before</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>always</td> + <td> + <div>The configuration prior to the model invocation.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">The configuration returned will always be in the same format + of the parameters above.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>commands</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>always</td> + <td> + <div>The set of commands pushed to the remote device.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['router bgp 65536', 'bgp cluster-id 5', 'bgp router-id 192.0.2.10', 'bgp bestpath med confed']</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>gathered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>gathered</code></td> + <td> + <div>Facts about the network resource gathered from the remote device as structured data.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>parsed</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>parsed</code></td> + <td> + <div>The device native config provided in <em>running_config</em> option parsed into structured data as per module argspec.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>rendered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>rendered</code></td> + <td> + <div>The provided configuration in the task rendered in device-native format (offline).</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['router bgp 1', 'default-metric 4', 'vrf vrf3']</div> + </td> + </tr> + </table> + <br/><br/> Status diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_module.rst deleted file mode 100644 index 288aab756..000000000 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_module.rst +++ /dev/null @@ -1,728 +0,0 @@ -.. _cisco.iosxr.iosxr_bgp_module: - - -********************* -cisco.iosxr.iosxr_bgp -********************* - -**Module to configure BGP protocol settings.** - - -Version added: 1.0.0 - -.. contents:: - :local: - :depth: 1 - -DEPRECATED ----------- -:Removed in collection release after 2023-01-29 -:Why: Updated module released with more functionality. -:Alternative: iosxr_bgp_global - - - -Synopsis --------- -- This module provides configuration management of global BGP parameters on devices running Cisco IOS-XR - - - - -Parameters ----------- - -.. raw:: html - - <table border=0 cellpadding=0 class="documentation-table"> - <tr> - <th colspan="4">Parameter</th> - <th>Choices/<font color="blue">Defaults</font></th> - <th width="100%">Comments</th> - </tr> - <tr> - <td colspan="4"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>config</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">dictionary</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies the BGP related configuration.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="3"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>address_family</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=dictionary</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies BGP address family related configurations.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>afi</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - / <span style="color: red">required</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li>ipv4</li> - <li>ipv6</li> - </ul> - </td> - <td> - <div>Type of address family to configure.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>networks</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=dictionary</span> - </div> - </td> - <td> - </td> - <td> - <div>Specify networks to announce via BGP.</div> - <div>For operation replace, this option is mutually exclusive with root level networks option.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>masklen</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - / <span style="color: red">required</span> - </div> - </td> - <td> - </td> - <td> - <div>Subnet mask length for the network to announce(e.g, 8, 16, 24, etc.).</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>network</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - / <span style="color: red">required</span> - </div> - </td> - <td> - </td> - <td> - <div>Network ID to announce via BGP.</div> - <div style="font-size: small; color: darkgreen"><br/>aliases: prefix</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>route_map</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Route map to modify the attributes.</div> - </td> - </tr> - - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>redistribute</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=dictionary</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies the redistribute information from another routing protocol.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>id</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Identifier for the routing protocol for configuring redistribute information.</div> - <div>Valid for protocols 'ospf', 'eigrp', 'isis' and 'ospfv3'.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>metric</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies the metric for redistributed routes.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>protocol</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - / <span style="color: red">required</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li>ospf</li> - <li>ospfv3</li> - <li>eigrp</li> - <li>isis</li> - <li>static</li> - <li>connected</li> - <li>lisp</li> - <li>mobile</li> - <li>rip</li> - <li>subscriber</li> - </ul> - </td> - <td> - <div>Specifies the protocol for configuring redistribute information.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>route_map</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies the route map reference.</div> - </td> - </tr> - - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>safi</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li>flowspec</li> - <li><div style="color: blue"><b>unicast</b> ←</div></li> - <li>multicast</li> - <li>labeled-unicast</li> - </ul> - </td> - <td> - <div>Specifies the type of cast for the address family.</div> - </td> - </tr> - - <tr> - <td class="elbow-placeholder"></td> - <td colspan="3"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>bgp_as</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - / <span style="color: red">required</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies the BGP Autonomous System (AS) number to configure on the device.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="3"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>log_neighbor_changes</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">boolean</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/disable logging neighbor up/down and reset reason.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="3"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>neighbors</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=dictionary</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies BGP neighbor related configurations.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>advertisement_interval</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies the minimum interval (in seconds) between sending BGP routing updates.</div> - <div>The range is from 0 to 600.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>description</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Neighbor specific description.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>ebgp_multihop</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies the maximum hop count for EBGP neighbors not on directly connected networks.</div> - <div>The range is from 0 to 255.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>enabled</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">boolean</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Administratively shutdown or enable a neighbor.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>neighbor</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - / <span style="color: red">required</span> - </div> - </td> - <td> - </td> - <td> - <div>Neighbor router address.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>password</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Password to authenticate the BGP peer connection.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>remote_as</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - / <span style="color: red">required</span> - </div> - </td> - <td> - </td> - <td> - <div>Remote AS of the BGP neighbor to configure.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>tcp_mss</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies the TCP initial maximum segment size to use.</div> - <div>The range is from 68 to 10000.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>timers</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">dictionary</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies BGP neighbor timer related configurations.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>holdtime</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Interval after not receiving a keepalive message that the software declares a peer dead.</div> - <div>The range is from 3 to 65535.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>keepalive</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Frequency with which the Cisco IOS-XR software sends keepalive messages to its peer.</div> - <div>The range is from 0 to 65535.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>min_neighbor_holdtime</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Interval specifying the minimum acceptable hold-time from a BGP neighbor.</div> - <div>The minimum acceptable hold-time must be less than, or equal to, the interval specified in the holdtime argument.</div> - <div>The range is from 3 to 65535.</div> - </td> - </tr> - - <tr> - <td class="elbow-placeholder"></td> - <td class="elbow-placeholder"></td> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>update_source</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Source of the routing updates.</div> - </td> - </tr> - - <tr> - <td class="elbow-placeholder"></td> - <td colspan="3"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>router_id</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Configures the BGP routing process router-id value.</div> - </td> - </tr> - - <tr> - <td colspan="4"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>operation</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li><div style="color: blue"><b>merge</b> ←</div></li> - <li>replace</li> - <li>override</li> - <li>delete</li> - </ul> - </td> - <td> - <div>Specifies the operation to be performed on the BGP process configured on the device.</div> - <div>In case of merge, the input configuration will be merged with the existing BGP configuration on the device.</div> - <div>In case of replace, if there is a diff between the existing configuration and the input configuration, the existing configuration will be replaced by the input configuration for every option that has the diff.</div> - <div>In case of override, all the existing BGP configuration will be removed from the device and replaced with the input configuration.</div> - <div>In case of delete the existing BGP configuration will be removed from the device.</div> - </td> - </tr> - </table> - <br/> - - -Notes ------ - -.. note:: - - This module works with connection ``network_cli``. See `the IOS-XR Platform Options <../network/user_guide/platform_iosxr.html>`_. - - - -Examples --------- - -.. code-block:: yaml - - - name: configure global bgp as 65000 - cisco.iosxr.iosxr_bgp: - bgp_as: 65000 - router_id: 1.1.1.1 - neighbors: - - neighbor: 182.168.10.1 - remote_as: 500 - description: PEER_1 - - neighbor: 192.168.20.1 - remote_as: 500 - update_source: GigabitEthernet 0/0/0/0 - address_family: - - name: ipv4 - cast: unicast - networks: - - network: 192.168.2.0/23 - - network: 10.0.0.0/8 - redistribute: - - protocol: ospf - id: 400 - metric: 110 - - - name: remove bgp as 65000 from config - ios_bgp: - bgp_as: 65000 - state: absent - - - -Return Values -------------- -Common return values are documented `here <https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values>`_, the following are the fields unique to this module: - -.. raw:: html - - <table border=0 cellpadding=0 class="documentation-table"> - <tr> - <th colspan="1">Key</th> - <th>Returned</th> - <th width="100%">Description</th> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-"></div> - <b>commands</b> - <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - </div> - </td> - <td>always</td> - <td> - <div>The list of configuration mode commands to send to the device</div> - <br/> - <div style="font-size: smaller"><b>Sample:</b></div> - <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['router bgp 65000', 'bgp router-id 1.1.1.1', 'neighbor 182.168.10.1 remote-as 500', 'neighbor 182.168.10.1 description PEER_1', 'neighbor 192.168.20.1 remote-as 500', 'neighbor 192.168.20.1 update-source GigabitEthernet0/0/0/0', 'address-family ipv4 unicast', 'redistribute ospf 400 metric 110', 'network 192.168.2.0/23', 'network 10.0.0.0/8', 'exit']</div> - </td> - </tr> - </table> - <br/><br/> - - -Status ------- - - -- This module will be removed in a release after 2023-01-29. *[deprecated]* -- For more information see `DEPRECATED`_. - - -Authors -~~~~~~~ - -- Nilashish Chakraborty (@NilashishC) diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_neighbor_address_family_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_neighbor_address_family_module.rst index 74e3b014b..271fa5ffb 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_neighbor_address_family_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_neighbor_address_family_module.rst @@ -3583,16 +3583,16 @@ Examples neighbors: - neighbor_address: 192.0.2.2 address_family: - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast multipath: true default_originate: set: true weight: 5 - neighbor_address: 192.0.2.3 address_family: - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast multipath: true default_originate: set: true @@ -3602,8 +3602,8 @@ Examples neighbors: - neighbor_address: 192.0.2.4 address_family: - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast multipath: true default_originate: set: true @@ -3612,8 +3612,8 @@ Examples neighbors: - neighbor_address: 192.0.2.5 address_family: - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast multipath: true default_originate: set: true @@ -3765,7 +3765,7 @@ Examples # capability orf prefix both # default-originate - - name: Delete the provided configuration + - name: Delete the provided configuration cisco.iosxr.iosxr_bgp_neighbor_address_family: state: deleted config: @@ -3773,8 +3773,8 @@ Examples neighbors: - neighbor_address: 192.0.2.2 address_family: - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast multipath: true default_originate: set: true @@ -3868,8 +3868,8 @@ Examples neighbors: - neighbor_address: 192.0.2.2 address_family: - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast default_originate: set: true weight: 4 @@ -3996,7 +3996,7 @@ Examples # capability orf prefix both # default-originate - - name: override the provided configuration + - name: override the provided configuration cisco.iosxr.iosxr_bgp_neighbor_address_family: state: overridden config: @@ -4004,8 +4004,8 @@ Examples neighbors: - neighbor_address: 192.0.2.2 address_family: - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast multipath: true default_originate: set: true @@ -4077,7 +4077,9 @@ Examples # neighbor 192.0.2.5 # remote-as 65540 - - name: Render platform specific configuration lines with state rendered (without connecting to the device) + - name: >- + Render platform specific configuration lines with state rendered (without + connecting to the device) cisco.iosxr.iosxr_bgp_neighbor_address_family: state: rendered config: @@ -4085,16 +4087,16 @@ Examples neighbors: - neighbor_address: 192.0.2.2 address_family: - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast multipath: true default_originate: set: true weight: 5 - neighbor_address: 192.0.2.3 address_family: - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast multipath: true default_originate: set: true @@ -4104,8 +4106,8 @@ Examples neighbors: - neighbor_address: 192.0.2.4 address_family: - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast multipath: true default_originate: set: true @@ -4114,8 +4116,8 @@ Examples neighbors: - neighbor_address: 192.0.2.5 address_family: - - afi: "ipv4" - safi: "unicast" + - afi: ipv4 + safi: unicast multipath: true default_originate: set: true @@ -4149,8 +4151,8 @@ Examples # # Using parsed # - #parsed.cfg - #------------ + # parsed.cfg + # ------------ # router bgp 65536 # bgp router-id 192.0.1.1 # address-family ipv4 unicast @@ -4232,8 +4234,8 @@ Examples # capability_orf_prefix: both # # - #Using Gathered - #----------------- + # Using Gathered + # ----------------- # Before state state: # ------------- # RP/0/0/CPU0:iosxr-02#show running-config router bgp @@ -4275,8 +4277,8 @@ Examples # - name: Gathered the provided configuration with the existing running configuration cisco.iosxr.iosxr_bgp_neighbor_address_family: - config: - state: gathered + config: + state: gathered # Task output diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_templates_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_templates_module.rst new file mode 100644 index 000000000..ed91c05d2 --- /dev/null +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_bgp_templates_module.rst @@ -0,0 +1,5579 @@ +.. _cisco.iosxr.iosxr_bgp_templates_module: + + +******************************* +cisco.iosxr.iosxr_bgp_templates +******************************* + +**Manages BGP templates resource module.** + + +Version added: 6.0.0 + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- +- This module configures and manages the attributes of BGP templates on Cisco IOS-XR platforms. + + + + +Parameters +---------- + +.. raw:: html + + <table border=0 cellpadding=0 class="documentation-table"> + <tr> + <th colspan="7">Parameter</th> + <th>Choices/<font color="blue">Defaults</font></th> + <th width="100%">Comments</th> + </tr> + <tr> + <td colspan="7"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>config</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>BGP template configurations.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td colspan="6"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>as_number</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Autonomous system number.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td colspan="6"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>neighbor</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + / <span style="color: purple">elements=dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>A list of BGP neighbor group configurations.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>address_family</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + / <span style="color: purple">elements=dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Enable address family and enter its config mode</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>advertise</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Per neighbor advertisement options</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>local_labeled_route</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Advertisement of routes with local-label</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>disable local-labeled-route</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set local-labeled-route</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>permanent_network</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Allow permanent networks for this neighbor</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>afi</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>ipv4</li> + <li>ipv6</li> + </ul> + </td> + <td> + <div>address family.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>aigp</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>AIGP attribute</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Ignore AIGP attribute.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>send_cost_community_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>send AIGP attribute.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>send_med</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>send med options.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>disable Send AIGP value in MED.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set Send AIGP value in MED.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Set AIGP attribute.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>allowas_in</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Allow as-path with my AS present in it.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set allowas_in</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>value</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Number of occurences of AS number 1-10.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>as_override</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Override matching AS-number while sending update</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent as-override from being inherited from the parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set as_override</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>bestpath_origin_as_allow_invalid</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Change default route selection criteria.Allow BGP origin-AS knobs.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>capability_orf_prefix</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>both</li> + <li>send</li> + <li>none</li> + <li>receive</li> + </ul> + </td> + <td> + <div>Advertise address prefix ORF capability to this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>default_originate</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Originate default route to this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent default-originate from being inherited from the parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>route_policy</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Route policy to specify criteria to originate default</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set default route.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>encapsulation_type_srv6</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Specify encapsulation type</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>long_lived_graceful_restart</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Enable long lived graceful restart support.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>capable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Treat neighbor as LLGR capable.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>stale_time</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Maximum time to wait before purging long-lived stale routes.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>accept</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>max accept time</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>send</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>max send time</div> + </td> + </tr> + + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>maximum_prefix</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Maximum number of prefixes to accept from this peer.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>discard_extra_paths</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Discard extra paths when limit is exceeded.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>max_limit</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>maximum no. of prefix limit.<1-4294967295.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>restart</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Restart time interval.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>threshold_value</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>hreshold value (%) at which to generate a warning msg <1-100>.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>warning_only</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Only give warning message when limit is exceeded.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>multipath</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Paths from this neighbor is eligible for multipath.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>next_hop_self</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Disable the next hop calculation for this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent next_hop_self from being inherited from the parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set next hop self.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>next_hop_unchanged</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Disable the next hop calculation for this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent next_hop_unchanged from being inherited from the parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>multipath</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Do not overwrite nexthop before advertising multipaths.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set next hop unchanged.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>optimal_route_reflection_group_name</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Configure optimal-route-reflection group.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>orf_route_policy</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Specify ORF and inbound filtering criteria.'</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>origin_as</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>BGP origin-AS knobs.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>validation</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>BGP origin-AS validation knobs.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Disable RPKI origin-AS validation.</div> + </td> + </tr> + + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>remove_private_AS</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Remove private AS number from outbound updates.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>entire_aspath</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>remove only if all ASes in the path are private.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inbound</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Remove private AS number from inbound updates.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent remove-private-AS from being inherited from the parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set remove private As.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>route_policy</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Apply route policy to neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inbound</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Apply route policy to inbound routes.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>outbound</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Apply route policy to outbound routes.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>route_reflector_client</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Configure a neighbor as Route Reflector client.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent route-reflector-client from being inherited from the parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set route-reflector-client.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>safi</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>flowspec</li> + <li>mdt</li> + <li>multicast</li> + <li>mvpn</li> + <li>rt-filter</li> + <li>tunnel</li> + <li>unicast</li> + <li>labeled-unicast</li> + <li>sr-policy</li> + </ul> + </td> + <td> + <div>Address Family modifier</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>send_community_ebgp</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Send community attribute to this external neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent send_community_ebgp from being inherited from the parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set send_community_ebgp.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>send_community_gshut_ebgp</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Allow the g-shut community to be sent to this external neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent send_community_gshut_ebgp from being inherited from the parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set send_community_gshut_ebgp.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>send_extended_community_ebgp</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Send extended community attribute to this external neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent send_extended_community_ebgp from being inherited from the parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set send_extended_community_ebgp.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>send_multicast_attributes</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Send multicast attributes to this neighbor .</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Disable send multicast attributes.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set send_multicast_attributes.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>signalling</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Signalling protocols to disable, BGP or LDP</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>bgp_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Select BGP to disable</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>ldp_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Select LDP to disable</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>soft_reconfiguration</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Per neighbor soft reconfiguration.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inbound</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>inbound soft reconfiguration</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>always</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Allow inbound soft reconfiguration for this neighbor. Always use soft reconfig, even if route refresh is supported.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent soft_reconfiguration from being inherited from the parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set inbound</div> + </td> + </tr> + + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>update</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>update</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>out_originator_loopcheck_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Disable originator loop check</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>out_originator_loopcheck_set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Set originator loop check</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>use</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Inherit configuration for this address-family from an af-group.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>weight</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Set default weight for routes from this neighbor.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>advertisement_interval</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Minimum interval between sending BGP routing updates.Example-<0-600>.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>bfd</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Configure BFD parameters.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>fast_detect</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Enable Fast detection</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent bfd settings from being inherited from the parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set fast-detect</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>strict_mode</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Hold down neighbor session until BFD session is up</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>minimum_interval</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Specifies the BFD session's minimum-interval value for the neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>multiplier</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Specifies the BFD session's multiplier value for the neighbor.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>bmp_activate</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Enable BMP logging for this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>server</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Enable BMP connection to particular server.Example-<1-8>.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>capability</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Advertise capability to the peer.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>additional_paths</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>BGP additional-paths commands.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>receive</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Additional paths receive capability</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set receive capability</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set receive capability</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>send</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Additional paths Send capability</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set send capability</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set send capability</div> + </td> + </tr> + + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>suppress</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Suppress advertising capability to the peer.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>all</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>all capability</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Do not inherit this configuration from parent group.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set all.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>four_byte_AS</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>4-byte-as capability</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set 4_byte_as.</div> + </td> + </tr> + + + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>cluster_id</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Cluster ID of this router acting as a route reflector.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>description</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Neighbor specific description.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>dmz_link_bandwidth</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Propagate the DMZ link bandwidth.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Do not inherit this configuration from parent group.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set dmz-link-bandwidth.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>dscp</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Set IP DSCP (DiffServ CodePoint).Please refer vendor document for valid entries.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>ebgp_multihop</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Allow EBGP neighbors not on directly connected networks.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>mpls</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Disable BGP MPLS forwarding.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>value</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>maximum hop count.Example-<1-255>.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>ebgp_recv_extcommunity_dmz</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Receive extcommunity dmz link bandwidth from ebgp neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent ebgp-recv-community-dmz from being inherited from parent</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set ebgp-recv-community-dmz.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>ebgp_send_extcommunity_dmz</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Send extcommunity dmz link bandwidth from ebgp neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>cumulatie</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Send cumulative community dmz link bandwidth of all multipaths to ebgp neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent ebgp-send-community-dmz from being inherited from parent</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set ebgp-send-community-dmz.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>egress_engineering</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Enable egress peer engineering for this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent egress-engineering from being inherited from parent</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set egress-engineering.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>enforce_first_as</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Enforce the first AS for EBGP routes</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>disable enforce 1st as</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>graceful_maintenance</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Attributes for Graceful Maintenance. This will cause neighbors to de-prefer routes from this router and choose alternates. This allows the router to be brought in or out of service gracefully.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>activate</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Routes will be announced with the graceful maintenance attributes while activated either here or under router bgp configuration.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent activate from being inherited from the parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>activate.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>as_prepends</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Number of times to prepend the local AS number to the AS path of routes. Default=0</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent as prepends from being inherited from the parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>value</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Range of values for as prepends.Example-<0-6> .</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>local_preference</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>local preference with which to advertise routes to ibgp neigbors. Default=No Touch</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent local preference from being inherited from the parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>value</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Range of values for Local Preference.Example-<0-4294967295> .</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set graceful maintenance.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>graceful_restart</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Enable graceful restart support for this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>restart_time</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Restart time advertised to neighbors in seconds <1-4095>.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>stalepath_time</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Maximum time to wait for restart of GR capable peers in seconds <1-4095>.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>idle_watch_time</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Maximum time to wait for deletion of IDLE state dynamic peer.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>ignore_connected_check</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Bypass the directly connected nexthop check for single-hop eBGP peering</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent ignore-connected-check from being inherited from the parent</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set ignore-connected-check.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>internal_vpn_client</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Preserve iBGP CE neighbor path in ATTR_SET across VPN core.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>keychain</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Set keychain based authentication.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent keychain from being inherited from parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>name</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Name of the key chain - maximum 32 characters.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>local</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Configure local parameter</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>address</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>IPv4 address</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent local address from being inherited from parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>ipv4_address</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>IPv4 address <A.B.C.D>.</div> + </td> + </tr> + + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>local_address_subnet</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Local address subnet of routing updates</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>local_as</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Specify local AS number.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent local AS from being inherited from parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>no_prepend</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Do not prepend local AS to announcements from this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>replace_as</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Prepend only local AS to announcements to this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>dual_as</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Dual-AS mode.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prepend only local AS to announcements to this neighbor.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Do not prepend local AS to announcements from this neighbor.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>value</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>2 byte, 4 byte As number</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>log</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Logging update messages per neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>log_message</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Logging update/notification messages per neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>in</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Inbound log messages</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Disable inbound message logging.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevents the msg log from being inherited from the parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>value</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Range for message log buffer size <1-100>.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>out</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Outbound log messages</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Disable inbound message logging.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevents the msg log from being inherited from the parent.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>value</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Range for message log buffer size <1-100>.</div> + </td> + </tr> + + + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>maximum_peers</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Maximum dynamic neighbors <1-4095>.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>name</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Name of neighbor group.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>password</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Set a password.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>encrypted</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Specifies an ENCRYPTED password will follow.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent password from being inherited from parent.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>peer_set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Assign this neighbor to a peer-set used for egress peer engineering <1-255>.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>precedence</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>critical</li> + <li>flash</li> + <li>flash-override</li> + <li>immediate</li> + <li>internet</li> + <li>network</li> + <li>priority</li> + <li>routine</li> + </ul> + </td> + <td> + <div>Set precedence</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>receive_buffer_size</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Set socket and BGP receive buffer size.Example <512-131072>.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>remote_as</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Neighbor Autonomous System.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>remote_as_list</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Remote as-list configuration</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>send_buffer_size</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Set socket and BGP send buffer size.Example <4096-131072>.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>session_open_mode</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>active-only</li> + <li>both</li> + <li>passive-only</li> + </ul> + </td> + <td> + <div>Establish BGP session using this TCP open mode.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>shutdown</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Administratively shut down this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent shutdown from being inherited from parent</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>shutdown.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>tcp</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>TCP session configuration commands.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>mss</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Maximum Segment Size.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent mss from being inherited from parent</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>value</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>TCP initial maximum segment size.</div> + </td> + </tr> + + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>timers</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>BGP per neighbor timers.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>holdtime</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>hold time <3-65535> or 0 Disable hold time.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>keepalive_time</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>keepalive interval <0-65535>.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>min_holdtime</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Minimum acceptable holdtime from neighbor <3-65535>.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>ttl_security</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Enable EBGP TTL security.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inheritance_disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Prevent ttl-security from being inherited from parent</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>set ttl-security</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>update</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>BGP Update configuration.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>in</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Inbound update message handling.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>filtering</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Inbound update message filtering</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>attribute_filter</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Attribute-filter configuration.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>group</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Name of group.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>logging</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Update filtering syslog message.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>disable</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">boolean</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Disable update filtering syslog message.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>update_message</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Filtered update messages.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>buffers</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Number of buffers to store filtered update messages.</div> + </td> + </tr> + + + + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>update_source</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Source of routing updates.Refer vendor document for valid values.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>use</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Use a neighbor-group and session-group template.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>neighbor_group</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Inherit configuration from a neighbor-group.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>session_group</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Inherit address-family independent config from a session-group</div> + </td> + </tr> + + + + <tr> + <td colspan="7"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>running_config</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>This option is used only with state <em>parsed</em>.</div> + <div>The value of this option should be the output received from the Iosxr device by executing the command <b>show running-config router bgp</b>.</div> + <div>The state <em>parsed</em> reads the configuration from <code>running_config</code> option and transforms it into Ansible structured data as per the resource module's argspec and the value is then returned in the <em>parsed</em> key within the result.</div> + </td> + </tr> + <tr> + <td colspan="7"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>state</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>deleted</li> + <li><div style="color: blue"><b>merged</b> ←</div></li> + <li>overridden</li> + <li>replaced</li> + <li>gathered</li> + <li>rendered</li> + <li>parsed</li> + </ul> + </td> + <td> + <div>The state the configuration should be left in.</div> + </td> + </tr> + </table> + <br/> + + +Notes +----- + +.. note:: + - This module works with connection ``network_cli``. + + + +Examples +-------- + +.. code-block:: yaml + + # Using merged + # Before state: + # ------------- + # RP/0/RP0/CPU0:10#show running-config router bgp + # Thu Mar 23 10:00:12.668 UTC + # % No such configuration item(s) + # + # RP/0/RP0/CPU0:10# + + - name: Merge the provided configuration with the existing running configuration + cisco.iosxr.iosxr_bgp_templates: + config: + as_number: 65536 + neighbor: + - address_family: + - advertise: + local_labeled_route: + set: true + afi: ipv4 + safi: unicast + advertisement_interval: 10 + bfd: + fast_detect: + strict_mode: true + internal_vpn_client: true + name: neighbor-group1 + precedence: critical + - cluster_id: '1' + description: neighbor-group2 + dmz_link_bandwidth: + set: true + ebgp_multihop: + value: 255 + egress_engineering: + set: true + graceful_maintenance: + as_prepends: + value: 0 + set: true + ignore_connected_check: + set: true + internal_vpn_client: true + local: + address: + inheritance_disable: true + local_as: + value: 6 + name: neighbor-group2 + precedence: flash + receive_buffer_size: 512 + send_buffer_size: 4096 + session_open_mode: both + tcp: + mss: + inheritance_disable: true + ttl_security: + set: true + update_source: Loopback919 + state: merged + + # Task Output + # ----------- + # before: {} + # commands: + # - router bgp 65536 + # - neighbor-group neighbor-group1 + # - advertisement-interval 10 + # - bfd fast-detect strict-mode + # - internal-vpn-client + # - precedence critical + # - address-family ipv4 unicast + # - advertise local-labeled-route + # - neighbor-group neighbor-group2 + # - dmz-link-bandwidth + # - description neighbor-group2 + # - cluster-id 1 + # - ebgp-multihop 255 + # - egress-engineering + # - internal-vpn-client + # - ignore-connected-check + # - local-as 6 + # - local address inheritance-disable + # - precedence flash + # - receive-buffer-size 512 + # - send-buffer-size 4096 + # - session-open-mode both + # - tcp mss inheritance-disable + # - update-source Loopback919 + # - ttl-security + # - graceful-maintenance + # - graceful-maintenance as-prepends 0 + # after: + # as_number: '65536' + # neighbor: + # - address_family: + # - advertise: + # local_labeled_route: + # set: true + # afi: ipv4 + # safi: unicast + # advertisement_interval: 10 + # bfd: + # fast_detect: + # strict_mode: true + # internal_vpn_client: true + # name: neighbor-group1 + # precedence: critical + # - cluster_id: '1' + # description: neighbor-group2 + # dmz_link_bandwidth: + # set: true + # ebgp_multihop: + # value: 255 + # egress_engineering: + # set: true + # graceful_maintenance: + # as_prepends: + # value: 0 + # set: true + # ignore_connected_check: + # set: true + # internal_vpn_client: true + # local: + # address: + # inheritance_disable: true + # local_as: + # value: 6 + # name: neighbor-group2 + # precedence: flash + # receive_buffer_size: 512 + # send_buffer_size: 4096 + # session_open_mode: both + # tcp: + # mss: + # inheritance_disable: true + # ttl_security: + # set: true + # update_source: Loopback919 + + # After state: + # ------------ + # RP/0/RP0/CPU0:10#show running-config router bgp + # Thu Mar 23 10:14:33.116 UTC + # router bgp 65536 + # neighbor-group neighbor-group1 + # bfd fast-detect strict-mode + # precedence critical + # advertisement-interval 10 + # internal-vpn-client + # address-family ipv4 unicast + # advertise local-labeled-route + # ! + # ! + # neighbor-group neighbor-group2 + # ebgp-multihop 255 + # egress-engineering + # precedence flash + # graceful-maintenance + # as-prepends 0 + # ! + # tcp mss inheritance-disable + # local-as 6 + # cluster-id 1 + # dmz-link-bandwidth + # description neighbor-group2 + # ttl-security + # local address inheritance-disable + # update-source Loopback919 + # ignore-connected-check + # session-open-mode both + # send-buffer-size 4096 + # receive-buffer-size 512 + # internal-vpn-client + # ! + # ! + + + # Using replaced + # Before state: + # ------------ + # RP/0/RP0/CPU0:10#show running-config router bgp + # Thu Mar 23 10:14:33.116 UTC + # router bgp 65536 + # neighbor-group neighbor-group1 + # bfd fast-detect strict-mode + # precedence critical + # advertisement-interval 10 + # internal-vpn-client + # address-family ipv4 unicast + # advertise local-labeled-route + # ! + # ! + # neighbor-group neighbor-group2 + # ebgp-multihop 255 + # egress-engineering + # precedence flash + # graceful-maintenance + # as-prepends 0 + # ! + # tcp mss inheritance-disable + # local-as 6 + # cluster-id 1 + # dmz-link-bandwidth + # description neighbor-group2 + # ttl-security + # local address inheritance-disable + # update-source Loopback919 + # ignore-connected-check + # session-open-mode both + # send-buffer-size 4096 + # receive-buffer-size 512 + # internal-vpn-client + # ! + # ! + + - name: Replaced given bgp_templates configuration + cisco.iosxr.iosxr_bgp_templates: + config: + as_number: 65536 + neighbor: + - address_family: + - advertise: + local_labeled_route: + set: true + afi: ipv4 + safi: unicast + advertisement_interval: 12 + name: neighbor-group1 + precedence: flash + - cluster_id: '2' + description: replace neighbor-group2 + ebgp_multihop: + value: 254 + graceful_maintenance: + as_prepends: + value: 2 + set: true + update_source: Loopback917 + name: neighbor-group2 + state: replaced + + # Task Output + # ----------- + # before: + # as_number: '65536' + # neighbor: + # - address_family: + # - advertise: + # local_labeled_route: + # set: true + # afi: ipv4 + # safi: unicast + # advertisement_interval: 10 + # bfd: + # fast_detect: + # strict_mode: true + # internal_vpn_client: true + # name: neighbor-group1 + # precedence: critical + # - cluster_id: '1' + # description: neighbor-group2 + # dmz_link_bandwidth: + # set: true + # ebgp_multihop: + # value: 255 + # egress_engineering: + # set: true + # graceful_maintenance: + # as_prepends: + # value: 0 + # set: true + # ignore_connected_check: + # set: true + # internal_vpn_client: true + # local: + # address: + # inheritance_disable: true + # local_as: + # value: 6 + # name: neighbor-group2 + # precedence: flash + # receive_buffer_size: 512 + # send_buffer_size: 4096 + # session_open_mode: both + # tcp: + # mss: + # inheritance_disable: true + # ttl_security: + # set: true + # update_source: Loopback919 + # commands: + # - router bgp 65536 + # - neighbor-group neighbor-group1 + # - no bfd fast-detect strict-mode + # - no internal-vpn-client + # - advertisement-interval 12 + # - precedence flash + # - neighbor-group neighbor-group2 + # - no dmz-link-bandwidth + # - no egress-engineering + # - no internal-vpn-client + # - no ignore-connected-check + # - no local-as 6 + # - no local address inheritance-disable + # - no precedence flash + # - no receive-buffer-size 512 + # - no send-buffer-size 4096 + # - no session-open-mode both + # - no tcp mss inheritance-disable + # - no ttl-security + # - description replace neighbor-group2 + # - cluster-id 2 + # - ebgp-multihop 254 + # - update-source Loopback917 + # - graceful-maintenance as-prepends 2 + # after: + # as_number: '65536' + # neighbor: + # - address_family: + # - advertise: + # local_labeled_route: + # set: true + # afi: ipv4 + # safi: unicast + # advertisement_interval: 12 + # name: neighbor-group1 + # precedence: flash + # - cluster_id: '2' + # description: replace neighbor-group2 + # ebgp_multihop: + # value: 254 + # graceful_maintenance: + # as_prepends: + # value: 2 + # set: true + # name: neighbor-group2 + # update_source: Loopback917 + + # After state: + # ------------ + # RP/0/RP0/CPU0:10#show running-config router bgp + # Thu Mar 23 10:23:34.104 UTC + # router bgp 65536 + # neighbor-group neighbor-group1 + # precedence flash + # advertisement-interval 12 + # address-family ipv4 unicast + # advertise local-labeled-route + # ! + # ! + # neighbor-group neighbor-group2 + # ebgp-multihop 254 + # graceful-maintenance + # as-prepends 2 + # ! + # cluster-id 2 + # description replace neighbor-group2 + # update-source Loopback917 + # ! + # ! + + + # Using deleted + # Before state: + # ------------- + # RP/0/RP0/CPU0:10#show running-config router bgp + # Thu Mar 23 10:23:34.104 UTC + # router bgp 65536 + # neighbor-group neighbor-group1 + # precedence flash + # advertisement-interval 12 + # address-family ipv4 unicast + # advertise local-labeled-route + # ! + # ! + # neighbor-group neighbor-group2 + # ebgp-multihop 254 + # graceful-maintenance + # as-prepends 2 + # ! + # cluster-id 2 + # description replace neighbor-group2 + # update-source Loopback917 + # ! + # ! + + - name: Delete given bgp_nbr_address_family configuration + cisco.iosxr.iosxr_bgp_templates: &deleted + config: + state: deleted + + # Task Output + # ----------- + # before: + # as_number: '65536' + # neighbor: + # - address_family: + # - advertise: + # local_labeled_route: + # set: true + # afi: ipv4 + # safi: unicast + # advertisement_interval: 12 + # name: neighbor-group1 + # precedence: flash + # - cluster_id: '2' + # description: replace neighbor-group2 + # ebgp_multihop: + # value: 254 + # graceful_maintenance: + # as_prepends: + # value: 2 + # set: true + # name: neighbor-group2 + # update_source: Loopback917 + # commands: + # - router bgp 65536 + # - no neighbor-group neighbor-group1 + # - no neighbor-group neighbor-group2 + # after: {} + + # After state: + # ------------- + # RP/0/RP0/CPU0:10#show running-config router bgp + # Thu Mar 23 10:00:12.668 UTC + # % No such configuration item(s) + # + # RP/0/RP0/CPU0:10# + + # Using gathered + # Before state: + # ------------- + # RP/0/RP0/CPU0:10#show running-config router bgp + # Thu Mar 23 10:30:38.785 UTC + # router bgp 65536 + # neighbor-group neighbor-group1 + # bfd fast-detect strict-mode + # precedence critical + # advertisement-interval 10 + # internal-vpn-client + # address-family ipv4 unicast + # advertise local-labeled-route + # ! + # ! + # neighbor-group neighbor-group2 + # ebgp-multihop 255 + # egress-engineering + # precedence flash + # graceful-maintenance + # as-prepends 0 + # ! + # tcp mss inheritance-disable + # local-as 6 + # cluster-id 1 + # dmz-link-bandwidth + # description neighbor-group2 + # ttl-security + # local address inheritance-disable + # update-source Loopback919 + # ignore-connected-check + # session-open-mode both + # send-buffer-size 4096 + # receive-buffer-size 512 + # internal-vpn-client + # ! + # ! + + - name: Gather given bgp_templates configuration + cisco.iosxr.iosxr_bgp_templates: &id001 + config: + state: gathered + + # Task output + # ----------- + # gathered: + # as_number: '65536' + # neighbor: + # - address_family: + # - advertise: + # local_labeled_route: + # set: true + # afi: ipv4 + # safi: unicast + # advertisement_interval: 10 + # bfd: + # fast_detect: + # strict_mode: true + # internal_vpn_client: true + # name: neighbor-group1 + # precedence: critical + # - cluster_id: '1' + # description: neighbor-group2 + # dmz_link_bandwidth: + # set: true + # ebgp_multihop: + # value: 255 + # egress_engineering: + # set: true + # graceful_maintenance: + # as_prepends: + # value: 0 + # set: true + # ignore_connected_check: + # set: true + # internal_vpn_client: true + # local: + # address: + # inheritance_disable: true + # local_as: + # value: 6 + # name: neighbor-group2 + # precedence: flash + # receive_buffer_size: 512 + # send_buffer_size: 4096 + # session_open_mode: both + # tcp: + # mss: + # inheritance_disable: true + # ttl_security: + # set: true + # update_source: Loopback919 + + + # Using overridden + + # Before state: + # ------------- + # RP/0/RP0/CPU0:10#show running-config router bgp + # Thu Mar 23 10:30:38.785 UTC + # router bgp 65536 + # neighbor-group neighbor-group1 + # bfd fast-detect strict-mode + # precedence critical + # advertisement-interval 10 + # internal-vpn-client + # address-family ipv4 unicast + # advertise local-labeled-route + # ! + # ! + # neighbor-group neighbor-group2 + # ebgp-multihop 255 + # egress-engineering + # precedence flash + # graceful-maintenance + # as-prepends 0 + # ! + # tcp mss inheritance-disable + # local-as 6 + # cluster-id 1 + # dmz-link-bandwidth + # description neighbor-group2 + # ttl-security + # local address inheritance-disable + # update-source Loopback919 + # ignore-connected-check + # session-open-mode both + # send-buffer-size 4096 + # receive-buffer-size 512 + # internal-vpn-client + # ! + # ! + - name: override given bgp_templates configuration + cisco.iosxr.iosxr_bgp_templates: + config: + as_number: 65536 + neighbor: + - address_family: + - advertise: + local_labeled_route: + disable: true + afi: ipv4 + safi: unicast + advertisement_interval: 12 + bfd: + fast_detect: + strict_mode: true + name: neighbor-group1 + precedence: flash + state: overridden + + # Task Output + # ----------- + # before: + # as_number: '65536' + # neighbor: + # - address_family: + # - advertise: + # local_labeled_route: + # set: true + # afi: ipv4 + # safi: unicast + # advertisement_interval: 10 + # bfd: + # fast_detect: + # strict_mode: true + # internal_vpn_client: true + # name: neighbor-group1 + # precedence: critical + # - cluster_id: '1' + # description: neighbor-group2 + # dmz_link_bandwidth: + # set: true + # ebgp_multihop: + # value: 255 + # egress_engineering: + # set: true + # graceful_maintenance: + # as_prepends: + # value: 0 + # set: true + # ignore_connected_check: + # set: true + # internal_vpn_client: true + # local: + # address: + # inheritance_disable: true + # local_as: + # value: 6 + # name: neighbor-group2 + # precedence: flash + # receive_buffer_size: 512 + # send_buffer_size: 4096 + # session_open_mode: both + # tcp: + # mss: + # inheritance_disable: true + # ttl_security: + # set: true + # update_source: Loopback919 + # commands: + # - router bgp 65536 + # - no neighbor-group neighbor-group2 + # - neighbor-group neighbor-group1 + # - no internal-vpn-client + # - advertisement-interval 12 + # - precedence flash + # - address-family ipv4 unicast + # - no advertise local-labeled-route + # - advertise local-labeled-route disable + # after: + # as_number: '65536' + # neighbor: + # - address_family: + # - advertise: + # local_labeled_route: + # disable: true + # afi: ipv4 + # safi: unicast + # advertisement_interval: 12 + # bfd: + # fast_detect: + # strict_mode: true + # name: neighbor-group1 + # precedence: flash + + + # Using rendered + - name: >- + Render platform specific configuration lines with state rendered (without + connecting to the device) + cisco.iosxr.iosxr_bgp_templates: + config: + as_number: 65536 + neighbor: + - address_family: + - advertise: + local_labeled_route: + set: true + afi: ipv4 + safi: unicast + advertisement_interval: 10 + bfd: + fast_detect: + strict_mode: true + internal_vpn_client: true + name: neighbor-group1 + precedence: critical + - cluster_id: '1' + description: neighbor-group2 + dmz_link_bandwidth: + set: true + ebgp_multihop: + value: 255 + egress_engineering: + set: true + graceful_maintenance: + as_prepends: + value: 0 + set: true + ignore_connected_check: + set: true + internal_vpn_client: true + local: + address: + inheritance_disable: true + local_as: + value: 6 + name: neighbor-group2 + precedence: flash + receive_buffer_size: 512 + send_buffer_size: 4096 + session_open_mode: both + tcp: + mss: + inheritance_disable: true + ttl_security: + set: true + update_source: Loopback919 + state: rendered + + # Task Output + # ----------- + # rendered: + # - router bgp 65536 + # - neighbor-group neighbor-group1 + # - advertisement-interval 10 + # - bfd fast-detect strict-mode + # - internal-vpn-client + # - precedence critical + # - address-family ipv4 unicast + # - advertise local-labeled-route + # - neighbor-group neighbor-group2 + # - dmz-link-bandwidth + # - description neighbor-group2 + # - cluster-id 1 + # - ebgp-multihop 255 + # - egress-engineering + # - internal-vpn-client + # - ignore-connected-check + # - local-as 6 + # - local address inheritance-disable + # - precedence flash + # - receive-buffer-size 512 + # - send-buffer-size 4096 + # - session-open-mode both + # - tcp mss inheritance-disable + # - update-source Loopback919 + # - ttl-security + # - graceful-maintenance + # - graceful-maintenance as-prepends 0 + + + # Using parsed + - name: Parse externally provided BGP configuration + register: result + cisco.iosxr.iosxr_bgp_templates: + running_config: "{{ lookup('file', 'parsed.cfg') }}" + state: parsed + + # content of pared.cfg + # router bgp 65536 + # neighbor-group neighbor-group1 + # bfd fast-detect strict-mode + # precedence critical + # advertisement-interval 10 + # internal-vpn-client + # address-family ipv4 unicast + # advertise local-labeled-route + # ! + # ! + # neighbor-group neighbor-group2 + # ebgp-multihop 255 + # egress-engineering + # precedence flash + # graceful-maintenance + # as-prepends 0 + # ! + # tcp mss inheritance-disable + # local-as 6 + # cluster-id 1 + # dmz-link-bandwidth + # description neighbor-group2 + # ttl-security + # local address inheritance-disable + # update-source Loopback919 + # idle-watch-time 30 + # ignore-connected-check + # session-open-mode both + # send-buffer-size 4096 + # receive-buffer-size 512 + # internal-vpn-client + # ! + # ! + # Task output + # ----------- + # parsed: + # as_number: '65536' + # neighbor: + # - address_family: + # - advertise: + # local_labeled_route: + # set: true + # afi: ipv4 + # safi: unicast + # advertisement_interval: 10 + # bfd: + # fast_detect: + # strict_mode: true + # internal_vpn_client: true + # name: neighbor-group1 + # precedence: critical + # - cluster_id: '1' + # description: neighbor-group2 + # dmz_link_bandwidth: + # set: true + # ebgp_multihop: + # value: 255 + # egress_engineering: + # set: true + # graceful_maintenance: + # as_prepends: + # value: 0 + # set: true + # ignore_connected_check: + # set: true + # internal_vpn_client: true + # local: + # address: + # inheritance_disable: true + # local_as: + # value: 6 + # name: neighbor-group2 + # precedence: flash + # receive_buffer_size: 512 + # send_buffer_size: 4096 + # session_open_mode: both + # tcp: + # mss: + # inheritance_disable: true + # ttl_security: + # set: true + # update_source: Loopback919 + + + +Return Values +------------- +Common return values are documented `here <https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values>`_, the following are the fields unique to this module: + +.. raw:: html + + <table border=0 cellpadding=0 class="documentation-table"> + <tr> + <th colspan="1">Key</th> + <th>Returned</th> + <th width="100%">Description</th> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>after</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when changed</td> + <td> + <div>The resulting configuration after module execution.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>before</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>merged</code>, <code>replaced</code>, <code>overridden</code>, <code>deleted</code> or <code>purged</code></td> + <td> + <div>The configuration prior to the module execution.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>commands</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>merged</code>, <code>replaced</code>, <code>overridden</code>, <code>deleted</code> or <code>purged</code></td> + <td> + <div>The set of commands pushed to the remote device.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['router bgp 65536', 'neighbor-group neighbor-group1', 'advertisement-interval 10', 'bfd fast-detect strict-mode', 'internal-vpn-client']</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>gathered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>gathered</code></td> + <td> + <div>Facts about the network resource gathered from the remote device as structured data.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>parsed</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>parsed</code></td> + <td> + <div>The device native config provided in <em>running_config</em> option parsed into structured data as per module argspec.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>rendered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>rendered</code></td> + <td> + <div>The provided configuration in the task rendered in device-native format (offline).</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['router bgp 65536', 'neighbor-group neighbor-group1', 'advertisement-interval 10', 'bfd fast-detect strict-mode', 'internal-vpn-client']</div> + </td> + </tr> + </table> + <br/><br/> + + +Status +------ + + +Authors +~~~~~~~ + +- Ashwini Mhatre (@amhatre) diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_command_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_command_module.rst index 7d77a4e76..fa3db325e 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_command_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_command_module.rst @@ -153,32 +153,32 @@ Examples - name: run multiple commands on remote nodes cisco.iosxr.iosxr_command: commands: - - show version - - show interfaces - - {command: example command that prompts, prompt: expected prompt, answer: yes} + - show version + - show interfaces + - {command: example command that prompts, prompt: expected prompt, answer: true} - name: run multiple commands and evaluate the output cisco.iosxr.iosxr_command: commands: - - show version - - show interfaces + - show version + - show interfaces wait_for: - - result[0] contains IOS-XR - - result[1] contains Loopback0 + - result[0] contains IOS-XR + - result[1] contains Loopback0 - - name: multiple prompt, multiple answer (mandatory check for all prompts) + - name: 'multiple prompt, multiple answer (mandatory check for all prompts)' cisco.iosxr.iosxr_command: commands: - - command: key config-key password-encryption - prompt: - - "Enter old key :" - - "Enter new key :" - - "Enter confirm key :" - answer: - - "test1234" - - "test12345" - - "test12345" - check_all: true + - command: key config-key password-encryption + prompt: + - 'Enter old key :' + - 'Enter new key :' + - 'Enter confirm key :' + answer: + - test1234 + - test12345 + - test12345 + check_all: true diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_config_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_config_module.rst index 573f70495..28c4c4b37 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_config_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_config_module.rst @@ -352,9 +352,9 @@ Notes ----- .. note:: - - This module works with connection ``network_cli``. See `the IOS-XR Platform Options <../network/user_guide/platform_iosxr.html>`_. + - This module works with connection ``network_cli``. See https://docs.ansible.com/ansible/latest/network/user_guide/platform_iosxr.html - This module does not support ``netconf`` connection - - Abbreviated commands are NOT idempotent, see L(Network FAQ,../network/user_guide/faq.html + - Abbreviated commands are NOT idempotent, see https://docs.ansible.com/ansible/latest/network/user_guide/faq.html#why-do-the-config-modules-always-return-changed-true-with-abbreviated-commands - Avoid service disrupting changes (viz. Management IP) from config replace. - Do not use ``end`` in the replace config file. - To ensure idempotency and correct diff the configuration lines in the relevant module options should be similar to how they appear if present in the running configuration on device including the indentation. @@ -375,28 +375,26 @@ Examples - name: configure interface settings cisco.iosxr.iosxr_config: lines: - - description test interface - - ip address 172.31.1.1 255.255.255.0 + - description test interface + - ip address 172.31.1.1 255.255.255.0 parents: interface GigabitEthernet0/0/0/0 - name: load a config from disk and replace the current config cisco.iosxr.iosxr_config: src: config.cfg replace: config - backup: yes + backup: 'yes' - - name: for idempotency, use full-form commands + - name: 'for idempotency, use full-form commands' cisco.iosxr.iosxr_config: lines: - # - shut - - shutdown - # parents: int g0/0/0/1 + - shutdown parents: interface GigabitEthernet0/0/0/1 - name: configurable backup path cisco.iosxr.iosxr_config: src: config.cfg - backup: yes + backup: true backup_options: filename: backup.cfg dir_path: /home/user @@ -517,6 +515,23 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">22:28:34</div> </td> </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>updates</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>If there are commands to run against the host</td> + <td> + <div>The set of commands that will be pushed to the remote device</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['hostname foo', 'router ospf 1', 'router-id 1.1.1.1']</div> + </td> + </tr> </table> <br/><br/> diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_facts_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_facts_module.rst index 7224eb735..07ad7bd41 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_facts_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_facts_module.rst @@ -112,25 +112,25 @@ Examples # Collect only the config and default facts - cisco.iosxr.iosxr_facts: gather_subset: - - config + - config # Do not collect hardware facts - cisco.iosxr.iosxr_facts: gather_subset: - - '!hardware' + - '!hardware' # Collect only the lacp facts - cisco.iosxr.iosxr_facts: gather_subset: - - '!all' - - '!min' + - '!all' + - '!min' gather_network_resources: - - lacp + - lacp # Do not collect lacp_interfaces facts - cisco.iosxr.iosxr_facts: gather_network_resources: - - '!lacp_interfaces' + - '!lacp_interfaces' # Collect lacp and minimal default facts - cisco.iosxr.iosxr_facts: @@ -140,11 +140,11 @@ Examples # Collect only the interfaces facts - cisco.iosxr.iosxr_facts: gather_subset: - - '!all' - - '!min' + - '!all' + - '!min' gather_network_resources: - - interfaces - - l2_interfaces + - interfaces + - l2_interfaces @@ -223,6 +223,21 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <tr> <td colspan="1"> <div class="ansibleOptionAnchor" id="return-"></div> + <b>ansible_net_cpu_utilization</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when hardware is configured</td> + <td> + <div>The current CPU utilization of the device</div> + <br/> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> <b>ansible_net_filesystems</b> <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> <div style="font-size: small"> diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_hostname_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_hostname_module.rst index cd3855dc8..de7e0ed3a 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_hostname_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_hostname_module.rst @@ -133,9 +133,9 @@ Examples # Before state: # ------------- - #RP/0/RP0/CPU0:ios#show running-config hostname - #Thu Jan 20 19:48:56.011 UTC - #hostname ios + # RP/0/RP0/CPU0:ios#show running-config hostname + # Thu Jan 20 19:48:56.011 UTC + # hostname ios # Merged play: # ------------ @@ -156,7 +156,7 @@ Examples # ------------ # RP/0/0/CPU0:Router1#show running-config hostname - #Thu Jan 20 19:48:56.011 UTC + # Thu Jan 20 19:48:56.011 UTC # hostname Router1 @@ -165,7 +165,7 @@ Examples # ------------- # RP/0/0/CPU0:Router1#show running-config hostname - #Thu Jan 20 19:48:56.011 UTC + # Thu Jan 20 19:48:56.011 UTC # hostname Router1 # Deleted play: @@ -184,9 +184,9 @@ Examples # After state: # ------------ - #RP/0/RP0/CPU0:ios#show running-config hostname - #Thu Jan 20 19:55:12.971 UTC - #hostname ios + # RP/0/RP0/CPU0:ios#show running-config hostname + # Thu Jan 20 19:55:12.971 UTC + # hostname ios # Using state: overridden # Before state: @@ -213,17 +213,17 @@ Examples # After state: # ------------ - #RP/0/RP0/CPU0:RouterTest#show running-config hostname - #Thu Jan 20 19:48:56.011 UTC - #hostname RouterTest + # RP/0/RP0/CPU0:RouterTest#show running-config hostname + # Thu Jan 20 19:48:56.011 UTC + # hostname RouterTest # Using state: replaced # Before state: # ------------- - #RP/0/RP0/CPU0:RouterTest#show running-config hostname - #Thu Jan 20 19:48:56.011 UTC - #hostname RouterTest + # RP/0/RP0/CPU0:RouterTest#show running-config hostname + # Thu Jan 20 19:48:56.011 UTC + # hostname RouterTest # Replaced play: # -------------- @@ -247,9 +247,9 @@ Examples # Before state: # ------------- - #RP/0/RP0/CPU0:RouterTest#show running-config hostname - #Thu Jan 20 19:48:56.011 UTC - #hostname RouterTest + # RP/0/RP0/CPU0:RouterTest#show running-config hostname + # Thu Jan 20 19:48:56.011 UTC + # hostname RouterTest # Gathered play: # -------------- diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_interfaces_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_interfaces_module.rst index f67985591..cf82bc6e8 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_interfaces_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_interfaces_module.rst @@ -206,7 +206,8 @@ Notes ----- .. note:: - - This module works with connection ``network_cli``. See `the IOS-XR Platform Options <../network/user_guide/platform_iosxr.html>`_. + - This module works with connection ``network_cli``. See https://docs.ansible.com/ansible/latest/network/user_guide/platform_iosxr.html + - The module examples uses callback plugin (stdout_callback = yaml) to generate task output in yaml format. @@ -216,221 +217,335 @@ Examples .. code-block:: yaml # Using merged + # Before state: # ------------- # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 - # shutdown + # interface Loopback888 # ! - # interface GigabitEthernet0/0/0/2 - # vrf custB - # ipv4 address 178.18.169.23 255.255.255.0 - # dot1q native vlan 30 + # interface Loopback999 # ! - # interface GigabitEthernet0/0/0/3 - # description Replaced by Ansible Team - # mtu 2000 - # vrf custB - # ipv4 address 10.10.0.2 255.255.255.0 - # dot1q native vlan 1021 + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp # ! + - name: Configure Ethernet interfaces cisco.iosxr.iosxr_interfaces: config: - - name: GigabitEthernet0/0/0/2 - description: Configured by Ansible - enabled: true - - name: GigabitEthernet0/0/0/3 - description: Configured by Ansible Network - enabled: false - duplex: full + - name: GigabitEthernet0/0/0/2 + description: Configured by Ansible + enabled: true + - name: GigabitEthernet0/0/0/3 + description: Configured by Ansible Network + enabled: false + duplex: full state: merged + + # Task Output + # ----------- + # + # before: + # - enabled: true + # name: Loopback888 + # - enabled: true + # name: Loopback999 + # commands: + # - interface GigabitEthernet0/0/0/2 + # - description Configured by Ansible + # - no shutdown + # - interface GigabitEthernet0/0/0/3 + # - description Configured by Ansible Network + # - duplex full + # - shutdown + # after: + # - enabled: true + # name: Loopback888 + # - enabled: true + # name: Loopback999 + # - description: Configured by Ansible + # enabled: true + # name: GigabitEthernet0/0/0/2 + # - description: Configured by Ansible Network + # duplex: full + # enabled: false + # name: GigabitEthernet0/0/0/3 + # After state: # ------------ # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 - # shutdown + # interface Loopback888 # ! - # interface GigabitEthernet0/0/0/2 - # description Configured and Merged by Ansible Network - # vrf custB - # ipv4 address 178.18.169.23 255.255.255.0 - # dot1q native vlan 30 + # interface Loopback999 # ! - # interface GigabitEthernet0/0/0/3 - # description Configured and Merged by Ansible Network - # mtu 2600 - # vrf custB - # ipv4 address 10.10.0.2 255.255.255.0 + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp + # ! + # interface preconfigure GigabitEthernet0/0/0/2 + # description Configured by Ansible + # ! + # interface preconfigure GigabitEthernet0/0/0/3 + # description Configured by Ansible Network # duplex full # shutdown - # dot1q native vlan 1021 # ! + # Using replaced + # Before state: # ------------ # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 - # description Configured by Ansible - # shutdown + # interface Loopback888 # ! - # interface GigabitEthernet0/0/0/2 - # description Test - # vrf custB - # ipv4 address 178.18.169.23 255.255.255.0 - # dot1q native vlan 30 + # interface Loopback999 # ! - # interface GigabitEthernet0/0/0/3 - # vrf custB - # ipv4 address 10.10.0.2 255.255.255.0 - # dot1q native vlan 1021 + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp + # ! + # interface preconfigure GigabitEthernet0/0/0/2 + # description Configured by Ansible # ! - - name: Configure following interfaces and replace their existing config + # interface preconfigure GigabitEthernet0/0/0/3 + # description Configured by Ansible Network + # duplex full + # shutdown + # ! + + - name: Replace their existing configuration per interface cisco.iosxr.iosxr_interfaces: config: - - name: GigabitEthernet0/0/0/2 - description: Configured by Ansible - enabled: true - mtu: 2000 - - name: GigabitEthernet0/0/0/3 - description: Configured by Ansible Network - enabled: false - duplex: auto + - name: GigabitEthernet0/0/0/2 + description: Configured by Ansible + enabled: true + mtu: 2000 + - name: GigabitEthernet0/0/0/3 + description: Configured by Ansible Network + enabled: false + duplex: auto state: replaced + + # Task Output + # ----------- + # + # before: + # - enabled: true + # name: Loopback888 + # - enabled: true + # name: Loopback999 + # - description: Configured by Ansible + # enabled: true + # name: GigabitEthernet0/0/0/2 + # - description: Configured by Ansible Network + # duplex: full + # enabled: false + # name: GigabitEthernet0/0/0/3 + # commands: + # - interface GigabitEthernet0/0/0/2 + # - mtu 2000 + # - interface GigabitEthernet0/0/0/3 + # - duplex half + # after: + # - enabled: true + # name: Loopback888 + # - enabled: true + # name: Loopback999 + # - description: Configured by Ansible + # enabled: true + # mtu: 2000 + # name: GigabitEthernet0/0/0/2 + # - description: Configured by Ansible Network + # duplex: half + # enabled: false + # name: GigabitEthernet0/0/0/3 + # After state: # ------------ # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 - # description Configured by Ansible - # shutdown + # interface Loopback888 + # ! + # interface Loopback999 + # ! + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp # ! - # interface GigabitEthernet0/0/0/2 - # description Configured and Replaced by Ansible + # interface preconfigure GigabitEthernet0/0/0/2 + # description Configured by Ansible # mtu 2000 - # vrf custB - # ipv4 address 178.18.169.23 255.255.255.0 - # dot1q native vlan 30 # ! - # interface GigabitEthernet0/0/0/3 - # description Configured and Replaced by Ansible Network - # vrf custB - # ipv4 address 10.10.0.2 255.255.255.0 + # interface preconfigure GigabitEthernet0/0/0/3 + # description Configured by Ansible Network # duplex half # shutdown - # dot1q native vlan 1021 # ! + # Using overridden + # Before state: # ------------ # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 - # shutdown + # interface Loopback888 # ! - # interface GigabitEthernet0/0/0/2 - # description Configured by Ansible - # vrf custB - # ipv4 address 178.18.169.23 255.255.255.0 - # dot1q native vlan 30 + # interface Loopback999 # ! - # interface GigabitEthernet0/0/0/3 + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp + # ! + # interface preconfigure GigabitEthernet0/0/0/2 # description Configured by Ansible - # mtu 2600 - # vrf custB - # ipv4 address 10.10.0.2 255.255.255.0 - # duplex full + # mtu 2000 + # ! + # interface preconfigure GigabitEthernet0/0/0/3 + # description Configured by Ansible Network + # duplex half # shutdown - # dot1q native vlan 1021 # ! - - name: Override interfaces + + - name: Override interfaces configuration cisco.iosxr.iosxr_interfaces: config: - - name: GigabitEthernet0/0/0/2 - description: Configured by Ansible - enabled: true - duplex: auto - - name: GigabitEthernet0/0/0/3 - description: Configured by Ansible Network - enabled: false - speed: 1000 + - name: GigabitEthernet0/0/0/2 + description: Configured by Ansible + enabled: true + duplex: auto + - name: GigabitEthernet0/0/0/3 + description: Configured by Ansible Network + enabled: false + speed: 1000 state: overridden + + # Task Output + # ----------- + # + # before: + # - enabled: true + # name: Loopback888 + # - enabled: true + # name: Loopback999 + # - description: Configured by Ansible + # enabled: true + # mtu: 2000 + # name: GigabitEthernet0/0/0/2 + # - description: Configured by Ansible Network + # duplex: half + # enabled: false + # name: GigabitEthernet0/0/0/3 + # commands: + # - interface GigabitEthernet0/0/0/2 + # - no mtu + # - duplex half + # - interface GigabitEthernet0/0/0/3 + # - no description + # - no shutdown + # - no duplex + # after: + # - enabled: true + # name: Loopback888 + # - enabled: true + # name: Loopback999 + # - description: Configured by Ansible + # duplex: half + # enabled: true + # name: GigabitEthernet0/0/0/2 + # - enabled: true + # name: GigabitEthernet0/0/0/3 + # After state: # ------------ # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 - # shutdown + # interface Loopback888 # ! - # interface GigabitEthernet0/0/0/2 - # description Configured and Overridden by Ansible Network - # vrf custB - # ipv4 address 178.18.169.23 255.255.255.0 - # speed 1000 - # dot1q native vlan 30 + # interface Loopback999 # ! - # interface GigabitEthernet0/0/0/3 - # description Configured and Overridden by Ansible Network - # mtu 2000 - # vrf custB - # ipv4 address 10.10.0.2 255.255.255.0 - # duplex full - # shutdown - # dot1q native vlan 1021 + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp + # ! + # interface preconfigure GigabitEthernet0/0/0/2 + # description Configured by Ansible + # duplex half # ! + # interface preconfigure GigabitEthernet0/0/0/3 + # ! + # Using deleted + # Before state: # ------------ # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 - # shutdown + # interface Loopback888 # ! - # interface GigabitEthernet0/0/0/2 - # description Configured and Overridden by Ansible Network - # vrf custB - # ipv4 address 178.18.169.23 255.255.255.0 - # speed 1000 - # dot1q native vlan 30 + # interface Loopback999 # ! - # interface GigabitEthernet0/0/0/3 - # description Configured and Overridden by Ansible Network - # mtu 2000 - # vrf custB - # ipv4 address 10.10.0.2 255.255.255.0 - # duplex full - # shutdown - # dot1q native vlan 1021 + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp + # ! + # interface preconfigure GigabitEthernet0/0/0/2 + # description Configured by Ansible + # duplex half # ! - - name: Delete IOSXR interfaces as in given arguments + # interface preconfigure GigabitEthernet0/0/0/3 + # ! + + - name: Delete interfaces arguments cisco.iosxr.iosxr_interfaces: config: - - name: GigabitEthernet0/0/0/2 - - name: GigabitEthernet0/0/0/3 + - name: GigabitEthernet0/0/0/2 + - name: GigabitEthernet0/0/0/3 state: deleted + + # Task Output + # ----------- + # + # before: + # - enabled: true + # name: Loopback888 + # - enabled: true + # name: Loopback999 + # - description: Configured by Ansible + # duplex: half + # enabled: true + # name: GigabitEthernet0/0/0/2 + # - enabled: true + # name: GigabitEthernet0/0/0/3 + # commands: + # - interface GigabitEthernet0/0/0/2 + # - no description + # - no duplex + # after: + # - enabled: true + # name: Loopback888 + # - enabled: true + # name: Loopback999 + # - enabled: true + # name: GigabitEthernet0/0/0/2 + # - enabled: true + # name: GigabitEthernet0/0/0/3 + # After state: # ------------ # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 - # shutdown + # interface Loopback888 # ! - # interface GigabitEthernet0/0/0/2 - # vrf custB - # ipv4 address 178.18.169.23 255.255.255.0 - # dot1q native vlan 30 + # interface Loopback999 # ! - # interface GigabitEthernet0/0/0/3 - # vrf custB - # ipv4 address 10.10.0.2 255.255.255.0 - # dot1q native vlan 1021 + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp # ! + # interface preconfigure GigabitEthernet0/0/0/2 + # ! + # interface preconfigure GigabitEthernet0/0/0/3 + # ! + # Using parsed - # parsed.cfg - # ------------ + + # File: parsed.cfg + # ---------------- # # interface Loopback888 # description test for ansible @@ -451,95 +566,76 @@ Examples # interface GigabitEthernet0/0/0/4 # shutdown # ! - # - name: Convert ACL interfaces config to argspec without connecting to the appliance + + # - name: Parse provided configuration # cisco.iosxr.iosxr_interfaces: # running_config: "{{ lookup('file', './parsed.cfg') }}" # state: parsed - # Task Output (redacted) - # ----------------------- - # "parsed": [ - # { - # "name": "MgmtEth0/RP0/CPU0/0" - # }, - # { - # "access_groups": [ - # { - # "acls": [ - # { - # "direction": "in", - # "name": "acl_1" - # }, - # { - # "direction": "out", - # "name": "acl_2" - # } - # ], - # "afi": "ipv4" - # }, - # { - # "acls": [ - # { - # "direction": "in", - # "name": "acl6_1" - # }, - # { - # "direction": "out", - # "name": "acl6_2" - # } - # ], - # "afi": "ipv6" - # } - # ], - # "name": "GigabitEthernet0/0/0/0" - # }, - # { - # "access_groups": [ - # { - # "acls": [ - # { - # "direction": "out", - # "name": "acl_1" - # } - # ], - # "afi": "ipv4" - # } - # ], - # "name": "GigabitEthernet0/0/0/1" - # } - # ] - # } + + # Task Output + # ----------- + # + # parsed: + # - name: MgmtEth0/RP0/CPU0/0 + # - access_groups: + # - acls: + # - direction: in + # name: acl_1 + # - direction: out + # name: acl_2 + # afi: ipv4 + # - acls: + # - direction: in + # name: acl6_1 + # - direction: out + # name: acl6_2 + # afi: ipv6 + # name: GigabitEthernet0/0/0/0 + # - access_groups: + # - acls: + # - direction: out + # name: acl_1 + # afi: ipv4 + # name: GigabitEthernet0/0/0/1 + + # Using rendered + - name: Render platform specific commands from task input using rendered state cisco.iosxr.iosxr_interfaces: config: - - name: GigabitEthernet0/0/0/0 - description: Configured and Merged by Ansible-Network - mtu: 110 - enabled: true - duplex: half - - name: GigabitEthernet0/0/0/1 - description: Configured and Merged by Ansible-Network - mtu: 2800 - enabled: false - speed: 100 - duplex: full + - name: GigabitEthernet0/0/0/0 + description: Configured and Merged by Ansible-Network + mtu: 110 + enabled: true + duplex: half + - name: GigabitEthernet0/0/0/1 + description: Configured and Merged by Ansible-Network + mtu: 2800 + enabled: false + speed: 100 + duplex: full state: rendered - # Task Output (redacted) - # ----------------------- - # "rendered": [ - # "interface GigabitEthernet0/0/0/0", - # "description Configured and Merged by Ansible-Network", - # "mtu 110", - # "duplex half", - # "no shutdown", - # "interface GigabitEthernet0/0/0/1", - # "description Configured and Merged by Ansible-Network", - # "mtu 2800", - # "speed 100", - # "duplex full", - # "shutdown" - # ] + + # Task Output + # ----------- + # + # rendered: + # - interface GigabitEthernet0/0/0/0 + # - description Configured and Merged by Ansible-Network + # - mtu 110 + # - duplex half + # - no shutdown + # - interface GigabitEthernet0/0/0/1 + # - description Configured and Merged by Ansible-Network + # - mtu 2800 + # - speed 100 + # - duplex full + # - shutdown + + # Using gathered + # Before state: # ------------ # @@ -563,58 +659,28 @@ Examples # interface GigabitEthernet0/0/0/4 # shutdown # ! - - name: Gather IOSXR interfaces as in given arguments + + - name: Gather facts for interfaces cisco.iosxr.iosxr_interfaces: config: state: gathered - # Task Output (redacted) - # ----------------------- - # - # "gathered": [ - # { - # "description": "test for ansible", - # "enabled": false, - # "name": "Loopback888" - # }, - # { - # "description": "Configured and Merged by Ansible-Network", - # "duplex": "half", - # "enabled": true, - # "mtu": 110, - # "name": "GigabitEthernet0/0/0/0" - # }, - # { - # "enabled": false, - # "name": "GigabitEthernet0/0/0/3" - # }, - # { - # "enabled": false, - # "name": "GigabitEthernet0/0/0/4" - # } - # ] - # After state: - # ------------ + + # Task Output + # ----------- # - # RP/0/0/CPU0:an-iosxr-02#show running-config interface - # interface Loopback888 - # description test for ansible - # shutdown - # ! - # interface MgmtEth0/0/CPU0/0 - # ipv4 address 10.8.38.70 255.255.255.0 - # ! - # interface GigabitEthernet0/0/0/0 - # description Configured and Merged by Ansible-Network - # mtu 110 - # ipv4 address 172.31.1.1 255.255.255.0 - # duplex half - # ! - # interface GigabitEthernet0/0/0/3 - # shutdown - # ! - # interface GigabitEthernet0/0/0/4 - # shutdown - # ! + # gathered: + # - description: test for ansible + # enabled: false + # name: Loopback888 + # - description: Configured and Merged by Ansible-Network + # duplex: half + # enabled: true + # mtu: 110 + # name: GigabitEthernet0/0/0/0 + # - enabled: false + # name: GigabitEthernet0/0/0/3 + # - enabled: false + # name: GigabitEthernet0/0/0/4 diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_l2_interfaces_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_l2_interfaces_module.rst index 6546e9f84..bf19ac2f0 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_l2_interfaces_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_l2_interfaces_module.rst @@ -316,6 +316,24 @@ Parameters </td> <td> <div>802.1Q VLAN configuration. Note that it can accept either 2 VLAN IDs when configuring Q-in-Q VLAN, or it will accept 1 VLAN ID and 'any' as input list when configuring Q-in-any vlan as input. Note, that this option is valid only with respect to Sub-Interface and is not valid when configuring for Interface.</div> + <div>This option is DEPRECATED and replaced with qvlan, this attribute will be removed after 2026-06-01.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>qvlan</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + / <span style="color: purple">elements=string</span> + </div> + </td> + <td> + </td> + <td> + <div>802.1Q VLAN configuration. Note that it can accept either 2 VLAN IDs when configuring Q-in-Q VLAN, or it will accept 1 VLAN ID and 'any' as input list when configuring Q-in-any vlan as input. Note, that this option is valid only with respect to Sub-Interface and is not valid when configuring for Interface.</div> </td> </tr> @@ -397,20 +415,21 @@ Examples - name: Merge provided configuration with device configuration cisco.iosxr.iosxr_l2_interfaces: config: - - name: GigabitEthernet0/0/0/3 - native_vlan: 20 - - name: GigabitEthernet0/0/0/4 - native_vlan: 40 - l2transport: true - l2protocol: - - stp: tunnel - - name: GigabitEthernet0/0/0/3.900 - l2transport: true - q_vlan: - - 20 - - 40 + - name: GigabitEthernet0/0/0/3 + native_vlan: 20 + - name: GigabitEthernet0/0/0/4 + native_vlan: 40 + l2transport: true + l2protocol: + - stp: tunnel + - name: GigabitEthernet0/0/0/3.900 + l2transport: true + q_vlan: + - 20 + - 40 state: merged + # After state: # ------------ # @@ -459,20 +478,23 @@ Examples # dot1q vlan 20 40 # ! - - name: Replaces device configuration of listed interfaces with provided configuration + - name: >- + Replaces device configuration of listed interfaces with provided + configuration cisco.iosxr.iosxr_l2_interfaces: config: - - name: GigabitEthernet0/0/0/4 - native_vlan: 40 - l2transport: true - l2protocol: - - stp: forward - - name: GigabitEthernet0/0/0/3.900 - q_vlan: - - 20 - - any + - name: GigabitEthernet0/0/0/4 + native_vlan: 40 + l2transport: true + l2protocol: + - stp: forward + - name: GigabitEthernet0/0/0/3.900 + q_vlan: + - 20 + - any state: replaced + # After state: # ------------- # @@ -524,17 +546,18 @@ Examples - name: Override device configuration of all interfaces with provided configuration cisco.iosxr.iosxr_l2_interfaces: config: - - name: GigabitEthernet0/0/0/4 - native_vlan: 40 - l2transport: true - l2protocol: - - stp: forward - - name: GigabitEthernet0/0/0/3.900 - q_vlan: - - 20 - - any + - name: GigabitEthernet0/0/0/4 + native_vlan: 40 + l2transport: true + l2protocol: + - stp: forward + - name: GigabitEthernet0/0/0/3.900 + q_vlan: + - 20 + - any state: overridden + # After state: # ------------- # @@ -583,7 +606,7 @@ Examples - name: "Delete L2 attributes of given interfaces (Note: This won't delete the interface itself)" cisco.iosxr.iosxr_l2_interfaces: config: - - name: GigabitEthernet0/0/0/4 + - name: GigabitEthernet0/0/0/4 state: deleted # After state: @@ -725,25 +748,21 @@ Examples - name: Render platform specific commands from task input using rendered state cisco.iosxr.iosxr_l2_interfaces: config: - - - name: GigabitEthernet0/0/0/1 - native_vlan: 10 - l2transport: true - l2protocol: - - - pvst: tunnel - - - cdp: forward - propagate: true - - - name: GigabitEthernet0/0/0/3.900 - q_vlan: - - 20 - - 40 - - - name: GigabitEthernet0/0/0/4 - native_vlan: 40 + - name: GigabitEthernet0/0/0/1 + native_vlan: 10 + l2transport: true + l2protocol: + - pvst: tunnel + - cdp: forward + propagate: true + - name: GigabitEthernet0/0/0/3.900 + q_vlan: + - 20 + - 40 + - name: GigabitEthernet0/0/0/4 + native_vlan: 40 state: rendered + # Task Output (redacted) # ----------------------- # "rendered": [ diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_l3_interfaces_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_l3_interfaces_module.rst index c338a485a..b57c413a1 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_l3_interfaces_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_l3_interfaces_module.rst @@ -224,56 +224,70 @@ Examples # ------------- # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 - # shutdown + # interface Loopback888 # ! - # interface GigabitEthernet0/0/0/2 - # shutdown + # interface Loopback999 # ! - # interface GigabitEthernet0/0/0/3 - # ipv4 address 192.168.0.2 255.255.255.0 - # shutdown + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp # ! - # interface GigabitEthernet0/0/0/3.700 + # interface preconfigure GigabitEthernet0/0/0/2 # ! - # interface GigabitEthernet0/0/0/4 - # ipv6 address fd5d:12c9:2201:1::1/64 - # shutdown + # interface preconfigure GigabitEthernet0/0/0/3 # ! - name: Merge provided configuration with device configuration cisco.iosxr.iosxr_l3_interfaces: config: - - name: GigabitEthernet0/0/0/2 - ipv4: - - address: 192.168.0.1/24 - - name: GigabitEthernet0/0/0/3 - ipv4: - - address: 192.168.2.1/24 - secondary: true + - name: GigabitEthernet0/0/0/2 + ipv4: + - address: 192.168.0.1/24 + - name: GigabitEthernet0/0/0/3 + ipv4: + - address: 192.168.2.1/24 + secondary: true state: merged + # Task Output + # ----------- + # + # before: + # - name: Loopback888 + # - name: Loopback999 + # - name: GigabitEthernet0/0/0/2 + # - name: GigabitEthernet0/0/0/3 + # commands: + # - interface GigabitEthernet0/0/0/2 + # - ipv4 address 192.168.0.1 255.255.255.0 + # - interface GigabitEthernet0/0/0/3 + # - ipv4 address 192.168.2.1 255.255.255.0 secondary + # after: + # - name: Loopback888 + # - name: Loopback999 + # - ipv4: + # - address: 192.168.0.1/24 + # name: GigabitEthernet0/0/0/2 + # - ipv4: + # - address: 192.168.2.1/24 + # secondary: true + # name: GigabitEthernet0/0/0/3 + # After state: # ------------ # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 - # shutdown + # interface Loopback888 # ! - # interface GigabitEthernet0/0/0/2 - # ipv4 address 192.168.0.1 255.255.255.0 - # shutdown + # interface Loopback999 # ! - # interface GigabitEthernet0/0/0/3 - # ipv4 address 192.168.1.0 255.255.255.0 - # ipv4 address 192.168.2.1 255.255.255.0 secondary - # shutdown + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp # ! - # interface GigabitEthernet0/0/0/3.700 + # interface preconfigure GigabitEthernet0/0/0/2 + # ipv4 address 192.168.0.1 255.255.255.0 # ! - # interface GigabitEthernet0/0/0/4 - # ipv6 address fd5d:12c9:2201:1::1/64 - # shutdown + # interface preconfigure GigabitEthernet0/0/0/3 + # ipv4 address 192.168.2.1 255.255.255.0 secondary # ! # Using overridden @@ -282,57 +296,76 @@ Examples # ------------- # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 - # shutdown + # interface Loopback888 # ! - # interface GigabitEthernet0/0/0/2 - # ipv4 address 192.168.0.1 255.255.255.0 - # shutdown + # interface Loopback999 # ! - # interface GigabitEthernet0/0/0/3 - # ipv4 address 192.168.1.0 255.255.255.0 - # shutdown + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp # ! - # interface GigabitEthernet0/0/0/3.700 + # interface preconfigure GigabitEthernet0/0/0/2 + # ipv4 address 192.168.0.1 255.255.255.0 # ! - # interface GigabitEthernet0/0/0/4 - # ipv6 address fd5d:12c9:2201:1::1/64 - # shutdown + # interface preconfigure GigabitEthernet0/0/0/3 + # ipv4 address 192.168.2.1 255.255.255.0 secondary # ! - name: Override device configuration of all interfaces with provided configuration cisco.iosxr.iosxr_l3_interfaces: config: - - name: GigabitEthernet0/0/0/3 - ipv4: - - address: 192.168.0.1/24 - - name: GigabitEthernet0/0/0/3.700 - ipv4: - - address: 192.168.0.2/24 - - address: 192.168.2.1/24 - secondary: true + - name: GigabitEthernet0/0/0/3 + ipv4: + - address: 192.168.0.2/24 + - address: 192.168.2.1/24 + secondary: true state: overridden + + # Task Output + # ----------- + # + # before: + # - name: Loopback888 + # - name: Loopback999 + # - ipv4: + # - address: 192.168.0.1/24 + # name: GigabitEthernet0/0/0/2 + # - ipv4: + # - address: 192.168.2.1/24 + # secondary: true + # name: GigabitEthernet0/0/0/3 + # commands: + # - interface GigabitEthernet0/0/0/2 + # - no ipv4 address + # - interface GigabitEthernet0/0/0/3 + # - ipv4 address 192.168.0.2 255.255.255.0 + # - ipv4 address 192.168.0.1 255.255.255.0 + # after: + # - name: Loopback888 + # - name: Loopback999 + # - name: GigabitEthernet0/0/0/2 + # - ipv4: + # - address: 192.168.0.1/24 + # - address: 192.168.2.1/24 + # secondary: true + # name: GigabitEthernet0/0/0/3 + # After state: # ------------- # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 - # shutdown + # interface Loopback888 # ! - # interface GigabitEthernet0/0/0/2 - # shutdown + # interface Loopback999 # ! - # interface GigabitEthernet0/0/0/3 - # ipv4 address 192.168.0.1 255.255.255.0 - # shutdown + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp # ! - # interface GigabitEthernet0/0/0/3.700 - # ipv4 address 192.168.0.2 255.255.255.0 - # ipv4 address 192.168.2.1 255.255.255.0 secondary + # interface preconfigure GigabitEthernet0/0/0/2 # ! - # interface GigabitEthernet0/0/0/4 - # shutdown + # interface preconfigure GigabitEthernet0/0/0/3 + # ipv4 address 192.168.0.1 255.255.255.0 + # ipv4 address 192.168.2.1 255.255.255.0 secondary # ! # Using replaced @@ -341,55 +374,78 @@ Examples # ------------- # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 - # shutdown + # interface Loopback888 # ! - # interface GigabitEthernet0/0/0/2 - # shutdown + # interface Loopback999 # ! - # interface GigabitEthernet0/0/0/3 - # ipv4 address 192.168.0.2 255.255.255.0 - # shutdown + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp # ! - # interface GigabitEthernet0/0/0/3.700 - # ipv4 address 192.168.0.1 255.255.255.0 + # interface preconfigure GigabitEthernet0/0/0/2 # ! - # interface GigabitEthernet0/0/0/4 - # ipv6 address fd5d:12c9:2201:1::1/64 - # shutdown + # interface preconfigure GigabitEthernet0/0/0/3 + # ipv4 address 192.168.0.1 255.255.255.0 + # ipv4 address 192.168.2.1 255.255.255.0 secondary # ! - - name: Replaces device configuration of listed interfaces with provided configuration + - name: >- + Replaces device configuration of listed interfaces with provided + configuration cisco.iosxr.iosxr_l3_interfaces: config: - - name: GigabitEthernet0/0/0/3 - ipv6: - - address: fd5d:12c9:2201:1::1/64 - - name: GigabitEthernet0/0/0/4 - ipv4: - - address: 192.168.0.2/24 + - name: GigabitEthernet0/0/0/3 + ipv6: + - address: 'fd5d:12c9:2201:1::1/64' + - name: GigabitEthernet0/0/0/2 + ipv4: + - address: 192.168.0.2/24 state: replaced + + # Task Output + # ----------- + # + # before: + # - name: Loopback888 + # - name: Loopback999 + # - name: GigabitEthernet0/0/0/2 + # - ipv4: + # - address: 192.168.0.1/24 + # - address: 192.168.2.1/24 + # secondary: true + # name: GigabitEthernet0/0/0/3 + # commands: + # - interface GigabitEthernet0/0/0/3 + # - no ipv4 address + # - ipv6 address fd5d:12c9:2201:1::1/64 + # - interface GigabitEthernet0/0/0/2 + # - ipv4 address 192.168.0.2 255.255.255.0 + # after: + # - name: Loopback888 + # - name: Loopback999 + # - ipv4: + # - address: 192.168.0.2/24 + # name: GigabitEthernet0/0/0/2 + # - ipv6: + # - address: fd5d:12c9:2201:1::1/64 + # name: GigabitEthernet0/0/0/3 + # After state: # ------------- # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 - # shutdown + # interface Loopback888 # ! - # interface GigabitEthernet0/0/0/2 - # shutdown + # interface Loopback999 # ! - # interface GigabitEthernet0/0/0/3 - # ipv6 address fd5d:12c9:2201:1::1/64 - # shutdown + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp # ! - # interface GigabitEthernet0/0/0/3.700 - # ipv4 address 192.168.0.1 255.255.255.0 - # ! - # interface GigabitEthernet0/0/0/4 + # interface preconfigure GigabitEthernet0/0/0/2 # ipv4 address 192.168.0.2 255.255.255.0 - # shutdown + # ! + # interface preconfigure GigabitEthernet0/0/0/3 + # ipv6 address fd5d:12c9:2201:1::1/64 # ! # Using deleted @@ -398,112 +454,180 @@ Examples # ------------- # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 - # ipv4 address 192.168.2.1 255.255.255.0 - # shutdown + # interface Loopback888 # ! - # interface GigabitEthernet0/0/0/2 - # ipv4 address 192.168.3.1 255.255.255.0 - # shutdown + # interface Loopback999 # ! - # interface GigabitEthernet0/0/0/3 - # ipv4 address 192.168.0.2 255.255.255.0 - # shutdown + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp # ! - # interface GigabitEthernet0/0/0/3.700 - # ipv4 address 192.168.0.1 255.255.255.0 + # interface preconfigure GigabitEthernet0/0/0/2 + # ipv4 address 192.168.0.2 255.255.255.0 # ! - # interface GigabitEthernet0/0/0/4 + # interface preconfigure GigabitEthernet0/0/0/3 # ipv6 address fd5d:12c9:2201:1::1/64 - # shutdown # ! - - name: "Delete L3 attributes of given interfaces (Note: This won't delete the interface itself)" + - name: Delete attributes for interfaces (This won't delete the interface itself) cisco.iosxr.iosxr_l3_interfaces: config: - - name: GigabitEthernet0/0/0/3 - - name: GigabitEthernet0/0/0/4 - - name: GigabitEthernet0/0/0/3.700 + - name: GigabitEthernet0/0/0/3 + - name: GigabitEthernet0/0/0/4 + - name: GigabitEthernet0/0/0/3.700 state: deleted + + # Task Output + # ----------- + # + # before: + # - name: Loopback888 + # - name: Loopback999 + # - ipv4: + # - address: 192.168.0.2/24 + # name: GigabitEthernet0/0/0/2 + # - ipv6: + # - address: fd5d:12c9:2201:1::1/64 + # name: GigabitEthernet0/0/0/3 + # commands: + # - interface GigabitEthernet0/0/0/3 + # - no ipv6 address + # after: + # - name: Loopback888 + # - name: Loopback999 + # - ipv4: + # - address: 192.168.0.2/24 + # name: GigabitEthernet0/0/0/2 + # - name: GigabitEthernet0/0/0/3 + # After state: # ------------- # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 - # ipv4 address 192.168.2.1 255.255.255.0 - # shutdown + # interface Loopback888 # ! - # interface GigabitEthernet0/0/0/2 - # ipv4 address 192.168.3.1 255.255.255.0 - # shutdown + # interface Loopback999 # ! - # interface GigabitEthernet0/0/0/3 - # shutdown + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp # ! - # interface GigabitEthernet0/0/0/3.700 + # interface preconfigure GigabitEthernet0/0/0/2 + # ipv4 address 192.168.0.2 255.255.255.0 # ! - # interface GigabitEthernet0/0/0/4 - # shutdown + # interface preconfigure GigabitEthernet0/0/0/3 # ! - # Using Deleted without any config passed - # "(NOTE: This will delete all of configured resource module attributes from each configured interface)" + # Using deleted - will delete all interface configuration and not interface # Before state: # ------------- # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 + # interface Loopback888 + # ! + # interface Loopback999 + # ! + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp + # ! + # interface preconfigure GigabitEthernet0/0/0/1 # ipv4 address 192.168.2.1 255.255.255.0 # shutdown # ! - # interface GigabitEthernet0/0/0/2 + # interface preconfigure GigabitEthernet0/0/0/2 # ipv4 address 192.168.3.1 255.255.255.0 # shutdown # ! - # interface GigabitEthernet0/0/0/3 + # interface preconfigure GigabitEthernet0/0/0/3 # ipv4 address 192.168.0.2 255.255.255.0 # shutdown # ! - # interface GigabitEthernet0/0/0/3.700 + # interface preconfigure GigabitEthernet0/0/0/3.700 # ipv4 address 192.168.0.1 255.255.255.0 # ! - # interface GigabitEthernet0/0/0/4 + # interface preconfigure GigabitEthernet0/0/0/4 # ipv6 address fd5d:12c9:2201:1::1/64 # shutdown # ! - - - name: "Delete L3 attributes of all interfaces (Note: This won't delete the interface itself)" + - name: "Delete L3 config of all interfaces (This won't delete the interface itself)" cisco.iosxr.iosxr_l3_interfaces: state: deleted + # Task Output + # ----------- + # + # before: + # - name: Loopback888 + # - name: Loopback999 + # - ipv4: + # - address: 192.168.2.1/24 + # name: GigabitEthernet0/0/0/1 + # - ipv4: + # - address: 192.168.3.1/24 + # name: GigabitEthernet0/0/0/2 + # - ipv4: + # - address: 192.168.0.2/24 + # name: GigabitEthernet0/0/0/3 + # - ipv4: + # - address: 192.168.0.1/24 + # name: GigabitEthernet0/0/0/3.700 + # - ipv6: + # - address: fd5d:12c9:2201:1::1/64 + # name: GigabitEthernet0/0/0/4 + # commands: + # - interface GigabitEthernet0/0/0/1 + # - no ipv4 address + # - interface GigabitEthernet0/0/0/2 + # - no ipv4 address + # - interface GigabitEthernet0/0/0/3 + # - no ipv4 address + # - interface GigabitEthernet0/0/0/3.700 + # - no ipv4 address + # - interface GigabitEthernet0/0/0/4 + # - no ipv6 address + # after: + # - name: Loopback888 + # - name: Loopback999 + # - name: GigabitEthernet0/0/0/1 + # - name: GigabitEthernet0/0/0/2 + # - name: GigabitEthernet0/0/0/3 + # - name: GigabitEthernet0/0/0/3.700 + # - name: GigabitEthernet0/0/0/4 + # After state: # ------------- # # viosxr#show running-config interface - # interface GigabitEthernet0/0/0/1 + # interface Loopback888 + # ! + # interface Loopback999 + # ! + # interface MgmtEth0/RP0/CPU0/0 + # ipv4 address dhcp + # ! + # interface preconfigure GigabitEthernet0/0/0/1 # shutdown # ! - # interface GigabitEthernet0/0/0/2 + # interface preconfigure GigabitEthernet0/0/0/2 # shutdown # ! - # interface GigabitEthernet0/0/0/3 + # interface preconfigure GigabitEthernet0/0/0/3 # shutdown # ! - # interface GigabitEthernet0/0/0/3.700 + # interface preconfigure GigabitEthernet0/0/0/3.700 # ! - # interface GigabitEthernet0/0/0/4 + # interface preconfigure GigabitEthernet0/0/0/4 # shutdown # ! # Using parsed - # parsed.cfg - # ------------ + + # File: parsed.cfg + # ---------------- # - # nterface Loopback888 + # interface Loopback888 # description test for ansible # shutdown # ! @@ -534,79 +658,60 @@ Examples # ipv4 address 192.0.22.1 255.255.255.0 # ipv4 address 192.0.23.1 255.255.255.0 # ! - # - name: Convert L3 interfaces config to argspec without connecting to the appliance - # cisco.iosxr.iosxr_l3_interfaces: - # running_config: "{{ lookup('file', './parsed.cfg') }}" - # state: parsed - # Task Output (redacted) - # ----------------------- - # "parsed": [ - # { - # "ipv4": [ - # { - # "address": "192.0.2.1 255.255.255.0" - # }, - # { - # "address": "192.0.2.2 255.255.255.0", - # "secondary": true - # } - # ], - # "ipv6": [ - # { - # "address": "2001:db8:0:3::/64" - # } - # ], - # "name": "GigabitEthernet0/0/0/0" - # }, - # { - # "name": "GigabitEthernet0/0/0/1" - # }, - # { - # "ipv4": [ - # { - # "address": "192.0.22.1 255.255.255.0" - # }, - # { - # "address": "192.0.23.1 255.255.255.0" - # } - # ], - # "name": "GigabitEthernet0/0/0/3" - # } - # ] + - name: Convert L3 interfaces config to argspec without connecting to the appliance + cisco.iosxr.iosxr_l3_interfaces: + running_config: "{{ lookup('file', './parsed.cfg') }}" + state: parsed + + # Task Output + # ----------- + # + # parsed: + # - ipv4: + # - address: 192.0.2.1 255.255.255.0 + # - address: 192.0.2.2 255.255.255.0 + # secondary: true + # ipv6: + # - address: 2001:db8:0:3::/64 + # name: GigabitEthernet0/0/0/0 + # - name: GigabitEthernet0/0/0/1 + # - ipv4: + # - address: 192.0.22.1 255.255.255.0 + # - address: 192.0.23.1 255.255.255.0 + # name: GigabitEthernet0/0/0/3 # Using rendered + - name: Render platform specific commands from task input using rendered state cisco.iosxr.iosxr_l3_interfaces: config: + - name: GigabitEthernet0/0/0/0 + ipv4: + - address: 198.51.100.1/24 + - name: GigabitEthernet0/0/0/1 + ipv6: + - address: '2001:db8:0:3::/64' + ipv4: + - address: 192.0.2.1/24 + - address: 192.0.2.2/24 + secondary: true + state: rendered - - name: GigabitEthernet0/0/0/0 - ipv4: - - - address: 198.51.100.1/24 - - - name: GigabitEthernet0/0/0/1 - ipv6: - - - address: 2001:db8:0:3::/64 - ipv4: - - address: 192.0.2.1/24 + # Task Output + # ----------- + # + # rendered: + # - interface GigabitEthernet0/0/0/0 + # - ipv4 address 198.51.100.1 255.255.255.0 + # - interface GigabitEthernet0/0/0/1 + # - ipv4 address 192.0.2.2 255.255.255.0 secondary + # - ipv4 address 192.0.2.1 255.255.255.0 + # - ipv6 address 2001:db8:0:3::/64 - - address: 192.0.2.2/24 - secondary: true - state: rendered - # Task Output (redacted) - # ----------------------- - # "rendered": [ - # "interface GigabitEthernet0/0/0/0", - # "ipv4 address 198.51.100.1 255.255.255.0", - # "interface GigabitEthernet0/0/0/1", - # "ipv4 address 192.0.2.2 255.255.255.0 secondary", - # "ipv4 address 192.0.2.1 255.255.255.0", - # "ipv6 address 2001:db8:0:3::/64" - # ] # Using gathered + # Before state: # ------------ # @@ -645,82 +750,27 @@ Examples # shutdown # dot1q native vlan 40 # ! - - name: Gather IOSXR l3 interfaces as in given arguments + + - name: Gather l3 interfaces facts cisco.iosxr.iosxr_l3_interfaces: config: state: gathered - # Task Output (redacted) - # ----------------------- - # - # "gathered": [ - # { - # "name": "Loopback888" - # }, - # { - # "ipv4": [ - # { - # "address": "192.0.2.1 255.255.255.0" - # }, - # { - # "address": "192.0.2.2 255.255.255.0", - # "secondary": true - # } - # ], - # "ipv6": [ - # { - # "address": "2001:db8:0:3::/64" - # } - # ], - # "name": "GigabitEthernet0/0/0/0" - # }, - # { - # "name": "GigabitEthernet0/0/0/1" - # }, - # { - # "name": "GigabitEthernet0/0/0/3" - # }, - # { - # "name": "GigabitEthernet0/0/0/4" - # } - # ] - # After state: - # ------------ + + # Task Output + # ----------- # - # RP/0/0/CPU0:an-iosxr-02#show running-config interface - # interface Loopback888 - # description test for ansible - # shutdown - # ! - # interface MgmtEth0/0/CPU0/0 - # ipv4 address 10.8.38.70 255.255.255.0 - # ! - # interface GigabitEthernet0/0/0/0 - # description Configured and Merged by Ansible-Network - # mtu 66 - # ipv4 address 192.0.2.1 255.255.255.0 - # ipv4 address 192.0.2.2 255.255.255.0 secondary - # ipv6 address 2001:db8:0:3::/64 - # duplex half - # ! - # interface GigabitEthernet0/0/0/1 - # description Configured and Merged by Ansible-Network - # mtu 66 - # speed 100 - # duplex full - # dot1q native vlan 10 - # l2transport - # l2protocol cdp forward - # l2protocol pvst tunnel - # propagate remote-status - # ! - # ! - # interface GigabitEthernet0/0/0/3 - # shutdown - # ! - # interface GigabitEthernet0/0/0/4 - # shutdown - # dot1q native vlan 40 - # ! + # gathered: + # - name: Loopback888 + # - ipv4: + # - address: 192.0.2.1 255.255.255.0 + # - address: 192.0.2.2 255.255.255.0 + # secondary: true + # ipv6: + # - address: 2001:db8:0:3::/64 + # name: GigabitEthernet0/0/0/0 + # - name: GigabitEthernet0/0/0/1 + # - name: GigabitEthernet0/0/0/3 + # - name: GigabitEthernet0/0/0/4 diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lacp_interfaces_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lacp_interfaces_module.rst index 1defd59d6..ca81c7281 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lacp_interfaces_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lacp_interfaces_module.rst @@ -297,19 +297,18 @@ Examples - name: Merge provided configuration with device configuration cisco.iosxr.iosxr_lacp_interfaces: config: - - name: Bundle-Ether10 - churn_logging: actor - collector_max_delay: 100 - switchover_suppress_flaps: 500 - - - name: Bundle-Ether11 - system: - mac: 00c2.4c00.bd15 - - - name: GigabitEthernet0/0/0/1 - period: 200 + - name: Bundle-Ether10 + churn_logging: actor + collector_max_delay: 100 + switchover_suppress_flaps: 500 + - name: Bundle-Ether11 + system: + mac: 00c2.4c00.bd15 + - name: GigabitEthernet0/0/0/1 + period: 200 state: merged + # # # ----------- @@ -397,13 +396,13 @@ Examples - name: Replace LACP configuration of listed interfaces with provided configuration cisco.iosxr.iosxr_lacp_interfaces: config: - - name: Bundle-Ether10 - churn_logging: partner - - - name: GigabitEthernet0/0/0/2 - period: 300 + - name: Bundle-Ether10 + churn_logging: partner + - name: GigabitEthernet0/0/0/2 + period: 300 state: replaced + # # # ----------- @@ -493,15 +492,15 @@ Examples - name: Override all interface LACP configuration with provided configuration cisco.iosxr.iosxr_lacp_interfaces: config: - - name: Bundle-Ether12 - churn_logging: both - collector_max_delay: 100 - switchover_suppress_flaps: 500 - - - name: GigabitEthernet0/0/0/1 - period: 300 + - name: Bundle-Ether12 + churn_logging: both + collector_max_delay: 100 + switchover_suppress_flaps: 500 + - name: GigabitEthernet0/0/0/1 + period: 300 state: overridden + # # # ----------- @@ -586,16 +585,18 @@ Examples # ! # - - name: Deleted LACP configurations of provided interfaces (Note - This won't delete + - name: >- + Deleted LACP configurations of provided interfaces (Note - This won't delete the interface itself) cisco.iosxr.iosxr_lacp_interfaces: config: - - name: Bundle-Ether10 - - name: Bundle-Ether11 - - name: GigabitEthernet0/0/0/1 - - name: GigabitEthernet0/0/0/2 + - name: Bundle-Ether10 + - name: Bundle-Ether11 + - name: GigabitEthernet0/0/0/1 + - name: GigabitEthernet0/0/0/2 state: deleted + # # # ----------- @@ -691,19 +692,18 @@ Examples - name: Render platform specific commands from task input using rendered state cisco.iosxr.iosxr_lacp_interfaces: config: - - name: Bundle-Ether10 - churn_logging: actor - collector_max_delay: 100 - switchover_suppress_flaps: 500 - - - name: Bundle-Ether11 - system: - mac: 00c2.4c00.bd15 - - - name: GigabitEthernet0/0/0/1 - period: 200 + - name: Bundle-Ether10 + churn_logging: actor + collector_max_delay: 100 + switchover_suppress_flaps: 500 + - name: Bundle-Ether11 + system: + mac: 00c2.4c00.bd15 + - name: GigabitEthernet0/0/0/1 + period: 200 state: rendered + # ------------- # Output # ------------- diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lacp_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lacp_module.rst index 2da9df33c..fc21657d8 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lacp_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lacp_module.rst @@ -155,6 +155,7 @@ Parameters <li>parsed</li> <li>rendered</li> <li>gathered</li> + <li>overridden</li> </ul> </td> <td> diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lag_interfaces_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lag_interfaces_module.rst index 8d4cda1a3..8950db1b9 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lag_interfaces_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lag_interfaces_module.rst @@ -319,26 +319,26 @@ Examples - name: Merge provided configuration with device configuration cisco.iosxr.iosxr_lag_interfaces: config: - - name: Bundle-Ether10 - members: - - member: GigabitEthernet0/0/0/1 - mode: inherit - - member: GigabitEthernet0/0/0/3 - mode: inherit - mode: active - links: - max_active: 5 - min_active: 2 - load_balancing_hash: src-ip - - - name: Bundle-Ether12 - members: - - member: GigabitEthernet0/0/0/2 - mode: passive - - member: GigabitEthernet0/0/0/4 - mode: passive - load_balancing_hash: dst-ip + - name: Bundle-Ether10 + members: + - member: GigabitEthernet0/0/0/1 + mode: inherit + - member: GigabitEthernet0/0/0/3 + mode: inherit + mode: active + links: + max_active: 5 + min_active: 2 + load_balancing_hash: src-ip + - name: Bundle-Ether12 + members: + - member: GigabitEthernet0/0/0/2 + mode: passive + - member: GigabitEthernet0/0/0/4 + mode: passive + load_balancing_hash: dst-ip state: merged + # # # ----------- @@ -429,15 +429,14 @@ Examples - name: Replace device configuration of listed Bundles with provided configurations cisco.iosxr.iosxr_lag_interfaces: config: - - name: Bundle-Ether12 - members: - - name: GigabitEthernet0/0/0/2 - mode: passive - - - name: Bundle-Ether11 - members: - - name: GigabitEthernet0/0/0/4 - load_balancing_hash: src-ip + - name: Bundle-Ether12 + members: + - name: GigabitEthernet0/0/0/2 + mode: passive + - name: Bundle-Ether11 + members: + - name: GigabitEthernet0/0/0/4 + load_balancing_hash: src-ip state: replaced # # @@ -538,15 +537,16 @@ Examples - name: Overrides all device configuration with provided configuration cisco.iosxr.iosxr_lag_interfaces: config: - - name: Bundle-Ether10 - members: - - member: GigabitEthernet0/0/0/1 - mode: inherit - - member: GigabitEthernet0/0/0/2 - mode: inherit - mode: active - load_balancing_hash: dst-ip + - name: Bundle-Ether10 + members: + - member: GigabitEthernet0/0/0/1 + mode: inherit + - member: GigabitEthernet0/0/0/2 + mode: inherit + mode: active + load_balancing_hash: dst-ip state: overridden + # # # ------------ @@ -636,15 +636,17 @@ Examples # # - - name: Delete attributes of given bundles and removes member interfaces from them + - name: >- + Delete attributes of given bundles and removes member interfaces from them (Note - This won't delete the bundles themselves) cisco.iosxr.iosxr_lag_interfaces: config: - - name: Bundle-Ether10 - - name: Bundle-Ether11 - - name: Bundle-Ether12 + - name: Bundle-Ether10 + - name: Bundle-Ether11 + - name: Bundle-Ether12 state: deleted + # # # ------------ @@ -898,25 +900,24 @@ Examples - name: Render platform specific commands from task input using rendered state cisco.iosxr.iosxr_lag_interfaces: config: - - name: Bundle-Ether10 - members: - - member: GigabitEthernet0/0/0/1 - mode: inherit - - member: GigabitEthernet0/0/0/3 - mode: inherit - mode: active - links: - max_active: 5 - min_active: 2 - load_balancing_hash: src-ip - - - name: Bundle-Ether12 - members: - - member: GigabitEthernet0/0/0/2 - mode: passive - - member: GigabitEthernet0/0/0/4 - mode: passive - load_balancing_hash: dst-ip + - name: Bundle-Ether10 + members: + - member: GigabitEthernet0/0/0/1 + mode: inherit + - member: GigabitEthernet0/0/0/3 + mode: inherit + mode: active + links: + max_active: 5 + min_active: 2 + load_balancing_hash: src-ip + - name: Bundle-Ether12 + members: + - member: GigabitEthernet0/0/0/2 + mode: passive + - member: GigabitEthernet0/0/0/4 + mode: passive + load_balancing_hash: dst-ip state: rendered # Output: @@ -949,7 +950,6 @@ Examples # - " bundle id 12 mode passive" # ] # - # diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lldp_global_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lldp_global_module.rst index 9276f931e..e580e6d63 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lldp_global_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lldp_global_module.rst @@ -273,6 +273,7 @@ Parameters <li>parsed</li> <li>gathered</li> <li>rendered</li> + <li>overridden</li> </ul> </td> <td> diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lldp_interfaces_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lldp_interfaces_module.rst index 3fb795717..70892cf6e 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lldp_interfaces_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_lldp_interfaces_module.rst @@ -225,17 +225,17 @@ Examples - name: Merge provided configuration with running configuration cisco.iosxr.iosxr_lldp_interfaces: config: - - name: GigabitEthernet0/0/0/1 - destination: - mac_address: ieee-nearest-non-tmpr-bridge - transmit: false - - - name: GigabitEthernet0/0/0/2 - destination: - mac_address: ieee-nearest-bridge - receive: false + - name: GigabitEthernet0/0/0/1 + destination: + mac_address: ieee-nearest-non-tmpr-bridge + transmit: false + - name: GigabitEthernet0/0/0/2 + destination: + mac_address: ieee-nearest-bridge + receive: false state: merged + # # # ------------------------ @@ -347,15 +347,17 @@ Examples # # - - name: Replace existing LLDP configurations of specified interfaces with provided + - name: >- + Replace existing LLDP configurations of specified interfaces with provided configuration cisco.iosxr.iosxr_lldp_interfaces: config: - - name: GigabitEthernet0/0/0/1 - destination: - mac_address: ieee-nearest-non-tmpr-bridge + - name: GigabitEthernet0/0/0/1 + destination: + mac_address: ieee-nearest-non-tmpr-bridge state: replaced + # # # ------------------------ @@ -471,13 +473,16 @@ Examples # # - - name: Override the LLDP configurations of all the interfaces with provided configurations + - name: >- + Override the LLDP configurations of all the interfaces with provided + configurations cisco.iosxr.iosxr_lldp_interfaces: config: - - name: GigabitEthernet0/0/0/1 - transmit: false + - name: GigabitEthernet0/0/0/1 + transmit: false state: overridden + # # # ------------------------ @@ -743,17 +748,15 @@ Examples - name: Render platform specific commands from task input using rendered state cisco.iosxr.iosxr_lldp_interfaces: config: - - name: GigabitEthernet0/0/0/1 - destination: - mac_address: ieee-nearest-non-tmpr-bridge - transmit: false - - - name: GigabitEthernet0/0/0/2 - destination: - mac_address: ieee-nearest-bridge - receive: false + - name: GigabitEthernet0/0/0/1 + destination: + mac_address: ieee-nearest-non-tmpr-bridge + transmit: false + - name: GigabitEthernet0/0/0/2 + destination: + mac_address: ieee-nearest-bridge + receive: false state: rendered - # ------------------------ # Module Execution Result # ------------------------ diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_logging_global_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_logging_global_module.rst index 872434004..c0dd4be33 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_logging_global_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_logging_global_module.rst @@ -1764,56 +1764,56 @@ Examples .. code-block:: yaml # Using merged - #----------------- + # ----------------- # Before state - #RP/0/0/CPU0:10#show running-config logging - #Thu Feb 4 09:38:36.245 UTC - #% No such configuration item(s) - #RP/0/0/CPU0:10# + # RP/0/0/CPU0:10#show running-config logging + # Thu Feb 4 09:38:36.245 UTC + # % No such configuration item(s) + # RP/0/0/CPU0:10# # # - name: Merge the provided configuration with the existing running configuration cisco.iosxr.iosxr_logging_global: - config: - buffered: - size: 2097152 - severity: warnings - correlator: - buffer_size: 1024 - events: - display_location: True - files: - - maxfilesize: '1024' - name: test - path: test - severity: info - hostnameprefix: test - hosts: - - host: 1.1.1.1 - port: default - severity: critical - vrf: default - ipv4: - dscp: af11 - localfilesize: 1024 - monitor: - severity: errors - source_interfaces: - - interface: GigabitEthernet0/0/0/0 - vrf: test - tls_servers: - - name: test - tls_hostname: test2 - trustpoint: test2 - vrf: test - trap: - severity: informational - state: merged + config: + buffered: + size: 2097152 + severity: warnings + correlator: + buffer_size: 1024 + events: + display_location: true + files: + - maxfilesize: '1024' + name: test + path: test + severity: info + hostnameprefix: test + hosts: + - host: 1.1.1.1 + port: default + severity: critical + vrf: default + ipv4: + dscp: af11 + localfilesize: 1024 + monitor: + severity: errors + source_interfaces: + - interface: GigabitEthernet0/0/0/0 + vrf: test + tls_servers: + - name: test + tls_hostname: test2 + trustpoint: test2 + vrf: test + trap: + severity: informational + state: merged # # # After state: - #------------------------------------------- - #RP/0/0/CPU0:10#show running-config logging + # ------------------------------------------- + # RP/0/0/CPU0:10#show running-config logging # Tue Jul 20 18:09:18.491 UTC # logging tls-server test # vrf test @@ -1832,8 +1832,8 @@ Examples # logging localfilesize 1024 # logging source-interface GigabitEthernet0/0/0/0 vrf test # logging hostnameprefix test - #------------------------------------------------ - #Module execution + # ------------------------------------------------ + # Module execution # # "after": { # "buffered": { @@ -1982,8 +1982,8 @@ Examples # Using replaced: # ----------------------------------------------------------- # - #Before state - #RP/0/0/CPU0:10#show running-config logging + # Before state + # RP/0/0/CPU0:10#show running-config logging # Tue Jul 20 18:09:18.491 UTC # logging tls-server test # vrf test @@ -2002,42 +2002,42 @@ Examples # logging localfilesize 1024 # logging source-interface GigabitEthernet0/0/0/0 vrf test # logging hostnameprefix test - #----------------------------------------------------------- + # ----------------------------------------------------------- # - name: Replace BGP configuration with provided configuration cisco.iosxr.iosxr_logging_global: - state: replaced - config: - buffered: - severity: errors - correlator: - buffer_size: 1024 - files: - - maxfilesize: '1024' - name: test - path: test1 - severity: info - hostnameprefix: test1 - hosts: - - host: 1.1.1.3 - port: default - severity: critical - vrf: default - ipv6: - dscp: af11 - localfilesize: 1024 - monitor: - severity: errors - tls_servers: - - name: test - tls_hostname: test2 - trustpoint: test - vrf: test - trap: - severity: critical + state: replaced + config: + buffered: + severity: errors + correlator: + buffer_size: 1024 + files: + - maxfilesize: '1024' + name: test + path: test1 + severity: info + hostnameprefix: test1 + hosts: + - host: 1.1.1.3 + port: default + severity: critical + vrf: default + ipv6: + dscp: af11 + localfilesize: 1024 + monitor: + severity: errors + tls_servers: + - name: test + tls_hostname: test2 + trustpoint: test + vrf: test + trap: + severity: critical # # After state: - #RP/0/0/CPU0:10#show running-config logging + # RP/0/0/CPU0:10#show running-config logging # Tue Jul 20 18:31:51.709 UTC # logging tls-server test # vrf test @@ -2053,7 +2053,7 @@ Examples # logging correlator buffer-size 1024 # logging localfilesize 1024 # logging hostnameprefix test1 - #----------------------------------------------------------------- + # ----------------------------------------------------------------- # # Module Execution: # "after": { @@ -2173,7 +2173,7 @@ Examples # Using deleted: # ----------------------------------------------------------- # Before state: - #RP/0/0/CPU0:10#show running-config logging + # RP/0/0/CPU0:10#show running-config logging # Tue Jul 20 18:09:18.491 UTC # logging tls-server test # vrf test @@ -2193,15 +2193,15 @@ Examples # logging source-interface GigabitEthernet0/0/0/0 vrf test # logging hostnameprefix test # - #----------------------------------------------------------- + # ----------------------------------------------------------- - name: Delete given logging_global configuration cisco.iosxr.iosxr_logging_global: - state: deleted + state: deleted # # After state: - #RP/0/0/CPU0:10#show running-config + # RP/0/0/CPU0:10#show running-config # - #------------------------------------------------------------- + # ------------------------------------------------------------- # Module Execution: # # "after": {}, @@ -2287,7 +2287,7 @@ Examples # using gathered: # ------------------------------------------------------------ # Before state: - #RP/0/0/CPU0:10#show running-config logging + # RP/0/0/CPU0:10#show running-config logging # Tue Jul 20 18:09:18.491 UTC # logging tls-server test # vrf test @@ -2310,9 +2310,9 @@ Examples # - name: Gather iosxr_logging_global facts using gathered state cisco.iosxr.iosxr_logging_global: - state: gathered + state: gathered # - #------------------------------------------------------------- + # ------------------------------------------------------------- # Module Execution: # # "changed": false, @@ -2379,7 +2379,7 @@ Examples # # # Using parsed: - #--------------------------------------------------------------- + # --------------------------------------------------------------- # # parsed.cfg # @@ -2404,9 +2404,9 @@ Examples # - name: Parse externally provided Logging global config to agnostic model cisco.iosxr.iosxr_logging_global: - running_config: "{{ lookup('file', './fixtures/parsed.cfg') }}" - state: parsed - #---------------------------------------------------------------- + running_config: "{{ lookup('file', './fixtures/parsed.cfg') }}" + state: parsed + # ---------------------------------------------------------------- # Module execution: # "changed": false, # "parsed": { @@ -2466,44 +2466,46 @@ Examples # # Using rendered: # ---------------------------------------------------------------------------- - - name: Render platform specific configuration lines with state rendered (without connecting to the device) + - name: >- + Render platform specific configuration lines with state rendered (without + connecting to the device) cisco.iosxr.iosxr_logging_global: - state: rendered - config: - buffered: - size: 2097152 - severity: warnings - correlator: - buffer_size: 1024 - events: - display_location: True - files: - - maxfilesize: '1024' - name: test - path: test - severity: info - hostnameprefix: test - hosts: - - host: 1.1.1.1 - port: default - severity: critical - vrf: default - ipv4: - dscp: af11 - localfilesize: 1024 - monitor: - severity: errors - source_interfaces: - - interface: GigabitEthernet0/0/0/0 - vrf: test - tls_servers: - - name: test - tls_hostname: test2 - trustpoint: test2 - vrf: test - trap: - severity: informational - #---------------------------------------------------------------- + state: rendered + config: + buffered: + size: 2097152 + severity: warnings + correlator: + buffer_size: 1024 + events: + display_location: true + files: + - maxfilesize: '1024' + name: test + path: test + severity: info + hostnameprefix: test + hosts: + - host: 1.1.1.1 + port: default + severity: critical + vrf: default + ipv4: + dscp: af11 + localfilesize: 1024 + monitor: + severity: errors + source_interfaces: + - interface: GigabitEthernet0/0/0/0 + vrf: test + tls_servers: + - name: test + tls_hostname: test2 + trustpoint: test2 + vrf: test + trap: + severity: informational + # ---------------------------------------------------------------- # Module Execution: # "rendered": [ # "logging buffered errors", @@ -2526,7 +2528,7 @@ Examples # Using overridden: # --------------------------------------------------------------------------------- # Before state: - #RP/0/0/CPU0:10#show running-config logging + # RP/0/0/CPU0:10#show running-config logging # Tue Jul 20 18:09:18.491 UTC # logging tls-server test # vrf test @@ -2546,42 +2548,42 @@ Examples # logging source-interface GigabitEthernet0/0/0/0 vrf test # logging hostnameprefix test # - #----------------------------------------------------------- + # ----------------------------------------------------------- # - name: Overridde logging global configuration with provided configuration cisco.iosxr.iosxr_logging_global: - state: overridden - config: - buffered: - severity: errors - correlator: - buffer_size: 1024 - files: - - maxfilesize: '1024' - name: test - path: test1 - severity: info - hostnameprefix: test1 - hosts: - - host: 1.1.1.3 - port: default - severity: critical - vrf: default - ipv6: - dscp: af11 - localfilesize: 1024 - monitor: - severity: errors - tls_servers: - - name: test - tls_hostname: test2 - trustpoint: test - vrf: test - trap: - severity: critical + state: overridden + config: + buffered: + severity: errors + correlator: + buffer_size: 1024 + files: + - maxfilesize: '1024' + name: test + path: test1 + severity: info + hostnameprefix: test1 + hosts: + - host: 1.1.1.3 + port: default + severity: critical + vrf: default + ipv6: + dscp: af11 + localfilesize: 1024 + monitor: + severity: errors + tls_servers: + - name: test + tls_hostname: test2 + trustpoint: test + vrf: test + trap: + severity: critical # # After state: - #RP/0/0/CPU0:10#show running-config logging + # RP/0/0/CPU0:10#show running-config logging # Tue Jul 20 18:31:51.709 UTC # logging tls-server test # vrf test @@ -2597,7 +2599,7 @@ Examples # logging correlator buffer-size 1024 # logging localfilesize 1024 # logging hostnameprefix test1 - #----------------------------------------------------------------- + # ----------------------------------------------------------------- # # Module Execution: # "after": { diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_logging_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_logging_module.rst index 58e73d977..c75f0dc7d 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_logging_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_logging_module.rst @@ -457,18 +457,18 @@ Examples - name: Configure logging using aggregate cisco.iosxr.iosxr_logging: aggregate: - - {dest: console, level: warning} - - {dest: buffered, size: 4800000} - - {dest: file, name: file3, size: 2048} - - {dest: host, name: host3, level: critical} + - {dest: console, level: warning} + - {dest: buffered, size: 4800000} + - {dest: file, name: file3, size: 2048} + - {dest: host, name: host3, level: critical} - name: Delete logging using aggregate cisco.iosxr.iosxr_logging: aggregate: - - {dest: console, level: warning} - - {dest: buffered, size: 4800000} - - {dest: file, name: file3, size: 2048} - - {dest: host, name: host3, level: critical} + - {dest: console, level: warning} + - {dest: buffered, size: 4800000} + - {dest: file, name: file3, size: 2048} + - {dest: host, name: host3, level: critical} state: absent diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_ntp_global_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_ntp_global_module.rst index 7f2fd2969..01800361d 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_ntp_global_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_ntp_global_module.rst @@ -1647,51 +1647,51 @@ Examples # ------------ - name: Merge the provided configuration with the existing running configuration cisco.iosxr.iosxr_ntp_global: - config: - access_group: - ipv4: - peer: PeerAcl1 - query_only: QueryOnlyAcl1 - serve: ServeAcl1 - serve_only: ServeOnlyAcl1 - vrfs: - - ipv4: - peer: PeerAcl3 - serve: ServeAcl2 - name: siteA - authenticate: true - broadcastdelay: 1 - drift: - aging_time: 0 - file: apphost - interfaces: - - name: GigabitEthernet0/0/0/0 - multicast_client: 224.0.0.8 - multicast_destination: 224.0.0.8 - broadcast_client: true - ipv4: - dscp: af11 - ipv6: - precedence: routine - log_internal_sync: true - master: 1 - max_associations: 10 - passive: true - peers: - - iburst: true - peer: 192.0.2.1 - vrf: siteC - servers: - - burst: true - server: 192.0.2.2 - vrf: siteD - source: GigabitEthernet0/0/0/0 - source_vrfs: - - name: GigabitEthernet0/0/0/0 - vrf: siteE - trusted_keys: - - key_id: 1 - update_calendar: true + config: + access_group: + ipv4: + peer: PeerAcl1 + query_only: QueryOnlyAcl1 + serve: ServeAcl1 + serve_only: ServeOnlyAcl1 + vrfs: + - ipv4: + peer: PeerAcl3 + serve: ServeAcl2 + name: siteA + authenticate: true + broadcastdelay: 1 + drift: + aging_time: 0 + file: apphost + interfaces: + - name: GigabitEthernet0/0/0/0 + multicast_client: 224.0.0.8 + multicast_destination: 224.0.0.8 + broadcast_client: true + ipv4: + dscp: af11 + ipv6: + precedence: routine + log_internal_sync: true + master: 1 + max_associations: 10 + passive: true + peers: + - iburst: true + peer: 192.0.2.1 + vrf: siteC + servers: + - burst: true + server: 192.0.2.2 + vrf: siteD + source: GigabitEthernet0/0/0/0 + source_vrfs: + - name: GigabitEthernet0/0/0/0 + vrf: siteE + trusted_keys: + - key_id: 1 + update_calendar: true # Commands Fired: # ------------ # "commands": [ @@ -1859,52 +1859,52 @@ Examples # ---------------- - name: Override BGP configuration with provided configuration cisco.iosxr.iosxr_ntp_global: - state: overridden - config: - access_group: - ipv4: - peer: PeerAcl1 - query_only: QueryOnlyAcl1 - serve: ServeAcl4 - serve_only: ServeOnlyAcl1 - vrfs: - - ipv4: - peer: PeerAcl3 - serve: ServeAcl2 - name: siteA - authenticate: true - broadcastdelay: 1 - drift: - aging_time: 0 - file: apphost - interfaces: - - name: GigabitEthernet0/0/0/1 - multicast_client: 224.0.0.8 - multicast_destination: 224.0.0.8 - broadcast_client: true - ipv4: - dscp: af12 - ipv6: - precedence: routine - log_internal_sync: true - master: 1 - max_associations: 10 - passive: true - peers: - - iburst: true - peer: 192.0.2.3 - vrf: siteC - servers: - - burst: true - server: 192.0.2.2 - vrf: siteD - source: GigabitEthernet0/0/0/1 - source_vrfs: - - name: GigabitEthernet0/0/0/0 - vrf: siteE - trusted_keys: - - key_id: 1 - update_calendar: true + state: overridden + config: + access_group: + ipv4: + peer: PeerAcl1 + query_only: QueryOnlyAcl1 + serve: ServeAcl4 + serve_only: ServeOnlyAcl1 + vrfs: + - ipv4: + peer: PeerAcl3 + serve: ServeAcl2 + name: siteA + authenticate: true + broadcastdelay: 1 + drift: + aging_time: 0 + file: apphost + interfaces: + - name: GigabitEthernet0/0/0/1 + multicast_client: 224.0.0.8 + multicast_destination: 224.0.0.8 + broadcast_client: true + ipv4: + dscp: af12 + ipv6: + precedence: routine + log_internal_sync: true + master: 1 + max_associations: 10 + passive: true + peers: + - iburst: true + peer: 192.0.2.3 + vrf: siteC + servers: + - burst: true + server: 192.0.2.2 + vrf: siteD + source: GigabitEthernet0/0/0/1 + source_vrfs: + - name: GigabitEthernet0/0/0/0 + vrf: siteE + trusted_keys: + - key_id: 1 + update_calendar: true # Commands Fired: # --------------- # "commands": [ @@ -1990,52 +1990,52 @@ Examples # ---------------- - name: Replaced BGP configuration with provided configuration cisco.iosxr.iosxr_ntp_global: - state: replaced - config: - access_group: - ipv4: - peer: PeerAcl1 - query_only: QueryOnlyAcl1 - serve: ServeAcl4 - serve_only: ServeOnlyAcl1 - vrfs: - - ipv4: - peer: PeerAcl3 - serve: ServeAcl2 - name: siteA - authenticate: true - broadcastdelay: 1 - drift: - aging_time: 0 - file: apphost - interfaces: - - name: GigabitEthernet0/0/0/1 - multicast_client: 224.0.0.8 - multicast_destination: 224.0.0.8 - broadcast_client: true - ipv4: - dscp: af12 - ipv6: - precedence: routine - log_internal_sync: true - master: 1 - max_associations: 10 - passive: true - peers: - - iburst: true - peer: 192.0.2.3 - vrf: siteC - servers: - - burst: true - server: 192.0.2.2 - vrf: siteD - source: GigabitEthernet0/0/0/1 - source_vrfs: - - name: GigabitEthernet0/0/0/0 - vrf: siteE - trusted_keys: - - key_id: 1 - update_calendar: true + state: replaced + config: + access_group: + ipv4: + peer: PeerAcl1 + query_only: QueryOnlyAcl1 + serve: ServeAcl4 + serve_only: ServeOnlyAcl1 + vrfs: + - ipv4: + peer: PeerAcl3 + serve: ServeAcl2 + name: siteA + authenticate: true + broadcastdelay: 1 + drift: + aging_time: 0 + file: apphost + interfaces: + - name: GigabitEthernet0/0/0/1 + multicast_client: 224.0.0.8 + multicast_destination: 224.0.0.8 + broadcast_client: true + ipv4: + dscp: af12 + ipv6: + precedence: routine + log_internal_sync: true + master: 1 + max_associations: 10 + passive: true + peers: + - iburst: true + peer: 192.0.2.3 + vrf: siteC + servers: + - burst: true + server: 192.0.2.2 + vrf: siteD + source: GigabitEthernet0/0/0/1 + source_vrfs: + - name: GigabitEthernet0/0/0/0 + vrf: siteE + trusted_keys: + - key_id: 1 + update_calendar: true # Commands Fired: # --------------- # "commands": [ @@ -2196,7 +2196,9 @@ Examples # Using state: rendered # Rendered play: # -------------- - - name: Render platform specific configuration lines with state rendered (without connecting to the device) + - name: >- + Render platform specific configuration lines with state rendered (without + connecting to the device) cisco.iosxr.iosxr_ntp_global: state: rendered config: diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_ospf_interfaces_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_ospf_interfaces_module.rst index 66b1094eb..a98178d93 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_ospf_interfaces_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_ospf_interfaces_module.rst @@ -2394,7 +2394,7 @@ Examples address_family: - afi: ipv4 processes: - - process_id: "LAB3" + - process_id: LAB3 area: area_id: 0.0.0.3 cost: 20 @@ -2403,7 +2403,7 @@ Examples keychain: cisco - afi: ipv6 processes: - - process_id: "LAB3" + - process_id: LAB3 area: area_id: 0.0.0.2 cost: 30 @@ -2411,76 +2411,42 @@ Examples # # - # ------------------------ - # Module Execution Result - # ------------------------ - # - # "before": [] + # Task Output: + # ------------ # - # "commands": [ - # "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 cost 20", - # "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest", - # "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest keychain cisco", - # "router ospfv3 LAB3 area 0.0.0.2 interface GigabitEthernet 0/0/0/0 cost 30" - # ] + # before: [] # - # "after": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication": { - # "message_digest": { - # "keychain": "cisco" - # } - # }, - # "cost": 20, - # "processes": [ - # { - # "area": { - # "area_id": "0.0.0.3" - # }, - # "process_id": "LAB3" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "cost": 30, - # "processes": [ - # { - # "area": { - # "area_id": "0.0.0.2" - # }, - # "process_id": "LAB3" - # } - # ] - # } - # ], - # "name": "GigabitEthernet0/0/0/0", - # "type": "gigabitethernet" - # } - # ] + # commands: + # - router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 cost 20 + # - router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest + # - router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest keychain cisco + # - router ospfv3 LAB3 area 0.0.0.2 interface GigabitEthernet 0/0/0/0 cost 30 # + # after: + # - address_family: + # - afi: ipv4 + # authentication: + # message_digest: + # keychain: cisco + # cost: 20 + # processes: + # - area: + # area_id: 0.0.0.3 + # process_id: LAB3 + # - afi: ipv6 + # cost: 30 + # processes: + # - area: + # area_id: 0.0.0.2 + # process_id: LAB3 + # name: GigabitEthernet0/0/0/0 + # type: gigabitethernet # - # ------------ - # After state + # After state: # ------------ # # RP/0/0/CPU0:an-iosxr-02#show running-config router ospf # Thu Oct 23 06:00:57.217 UTC - # router ospf LAB - # area 0.0.0.0 - # ! - # area 0.0.0.9 - # ! - # ! - # router ospf LAB1 - # area 0.0.0.1 - # ! - # area 0.0.0.3 - # ! - # ! # router ospf LAB3 # area 0.0.0.3 # interface GigabitEthernet0/0/0/0 @@ -2489,30 +2455,22 @@ Examples # ! # ! # ! - # router ospf ipv4 + # router ospfv3 LAB3 + # area 0.0.0.2 + # interface GigabitEthernet0/0/0/0 + # cost 30 + # ! + # ! # ! # Using replaced # - # ------------ - # Before state - # ------------ + # Before state: + # ------------- # # # RP/0/0/CPU0:an-iosxr-02#show running-config router ospf # Thu Oct 23 06:00:57.217 UTC - # router ospf LAB - # area 0.0.0.0 - # ! - # area 0.0.0.9 - # ! - # ! - # router ospf LAB1 - # area 0.0.0.1 - # ! - # area 0.0.0.3 - # ! - # ! # router ospf LAB3 # area 0.0.0.3 # interface GigabitEthernet0/0/0/0 @@ -2521,7 +2479,12 @@ Examples # ! # ! # ! - # router ospf ipv4 + # router ospfv3 LAB3 + # area 0.0.0.2 + # interface GigabitEthernet0/0/0/0 + # cost 30 + # ! + # ! # ! - name: Replace OSPF interfaces configuration @@ -2532,7 +2495,7 @@ Examples address_family: - afi: ipv4 processes: - - process_id: "LAB3" + - process_id: LAB3 area: area_id: 0.0.0.3 cost: 30 @@ -2541,130 +2504,84 @@ Examples keychain: ciscoiosxr - afi: ipv6 processes: - - process_id: "LAB3" + - process_id: LAB3 area: area_id: 0.0.0.2 cost: 30 state: replaced - - # # - # ------------------------ - # Module Execution Result - # ------------------------ - # - # "before": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication": { - # "message_digest": { - # "keychain": "cisco" - # } - # }, - # "cost": 20, - # "processes": [ - # { - # "area": { - # "area_id": "0.0.0.3" - # }, - # "process_id": "LAB3" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "cost": 30, - # "processes": [ - # { - # "area": { - # "area_id": "0.0.0.2" - # }, - # "process_id": "LAB3" - # } - # ] - # } - # ], - # "name": "GigabitEthernet0/0/0/0", - # "type": "gigabitethernet" - # } - # ] + # Task Output: + # ------------ # - # "commands": [ - # "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 cost 30", - # "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest", - # "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest keychain ciscoiosxr" - # ] + # before: + # - address_family: + # - afi: ipv4 + # authentication: + # message_digest: + # keychain: cisco + # cost: 20 + # processes: + # - area: + # area_id: 0.0.0.3 + # process_id: LAB3 + # - afi: ipv6 + # cost: 30 + # processes: + # - area: + # area_id: 0.0.0.2 + # process_id: LAB3 + # name: GigabitEthernet0/0/0/0 + # type: gigabitethernet # - # "after": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication": { - # "message_digest": { - # "keychain": "ciscoiosxr" - # } - # }, - # "cost": 30, - # "processes": [ - # { - # "area": { - # "area_id": "0.0.0.3" - # }, - # "process_id": "LAB3" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "cost": 30, - # "processes": [ - # { - # "area": { - # "area_id": "0.0.0.2" - # }, - # "process_id": "LAB3" - # } - # ] - # } - # ], - # "name": "GigabitEthernet0/0/0/0", - # "type": "gigabitethernet" - # } - # ] + # commands: + # - router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 cost 30 + # - router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest + # - router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest keychain ciscoiosxr # + # after: + # - address_family: + # - afi: ipv4 + # authentication: + # message_digest: + # keychain: ciscoiosxr + # cost: 30 + # processes: + # - area: + # area_id: 0.0.0.3 + # process_id: LAB3 + # - afi: ipv6 + # cost: 30 + # processes: + # - area: + # area_id: 0.0.0.2 + # process_id: LAB3 + # name: GigabitEthernet0/0/0/0 + # type: gigabitethernet # - # ----------- - # After state - # ----------- + # After state: + # ------------ # # RP/0/0/CPU0:an-iosxr-02#show running-config router ospf # Thu Oct 23 06:10:39.827 UTC - # router ospf LAB - # area 0.0.0.0 - # ! - # area 0.0.0.9 - # ! - # ! - # router ospf LAB1 - # area 0.0.0.1 - # ! - # area 0.0.0.3 - # ! - # ! # router ospf LAB3 # area 0.0.0.3 # interface GigabitEthernet0/0/0/0 # cost 30 # authentication message-digest keychain ciscoiosxr # ! + # router ospfv3 LAB3 + # area 0.0.0.2 + # interface GigabitEthernet0/0/0/0 + # cost 30 + # ! # ! # ! - # router ospf ipv4 - # ! + # Using overridden + # + # Before state + # ------------ + # - name: Override existing OSPF interfaces configuration cisco.iosxr.iosxr_ospf_interfaces: config: @@ -2673,7 +2590,7 @@ Examples address_family: - afi: ipv4 processes: - - process_id: "LAB1" + - process_id: LAB1 area: area_id: 0.0.0.3 cost: 10 @@ -2684,98 +2601,56 @@ Examples # # - # ------------------------ - # Module Execution Result - # ------------------------ - # - # "before": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication": { - # "message_digest": { - # "keychain": "ciscoiosxr" - # } - # }, - # "cost": 30, - # "processes": [ - # { - # "area": { - # "area_id": "0.0.0.3" - # }, - # "process_id": "LAB3" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "cost": 30, - # "processes": [ - # { - # "area": { - # "area_id": "0.0.0.2" - # }, - # "process_id": "LAB3" - # } - # ] - # } - # ], - # "name": "GigabitEthernet0/0/0/0", - # "type": "gigabitethernet" - # } - # ] + # Task Output: + # ------------ # - # "commands": [ - # "no router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0", - # "no router ospfv3 LAB3 area 0.0.0.2 interface GigabitEthernet 0/0/0/0", - # "router ospf LAB1 area 0.0.0.3 interface GigabitEthernet 0/0/0/1 cost 10", - # "router ospf LAB1 area 0.0.0.3 interface GigabitEthernet 0/0/0/1 authentication message-digest", - # "router ospf LAB1 area 0.0.0.3 interface GigabitEthernet 0/0/0/1 authentication message-digest keychain iosxr" - # ] + # before: + # - address_family: + # - afi: ipv4 + # authentication: + # message_digest: + # keychain: ciscoiosxr + # cost: 30 + # processes: + # - area: + # area_id: 0.0.0.3 + # process_id: LAB3 + # - afi: ipv6 + # cost: 30 + # processes: + # - area: + # area_id: 0.0.0.2 + # process_id: LAB3 + # name: GigabitEthernet0/0/0/0 + # type: gigabitethernet # - # "after": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication": { - # "message_digest": { - # "keychain": "iosxr" - # } - # }, - # "cost": 10, - # "processes": [ - # { - # "area": { - # "area_id": "0.0.0.3" - # }, - # "process_id": "LAB1" - # } - # ] - # } - # ], - # "name": "GigabitEthernet0/0/0/1", - # "type": "gigabitethernet" - # } - # ] + # commands: + # - no router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 + # - no router ospfv3 LAB3 area 0.0.0.2 interface GigabitEthernet 0/0/0/0 + # - router ospf LAB1 area 0.0.0.3 interface GigabitEthernet 0/0/0/1 cost 10 + # - router ospf LAB1 area 0.0.0.3 interface GigabitEthernet 0/0/0/1 authentication message-digest + # - router ospf LAB1 area 0.0.0.3 interface GigabitEthernet 0/0/0/1 authentication message-digest keychain iosxr # + # after: + # - address_family: + # - afi: ipv4 + # authentication: + # message_digest: + # keychain: iosxr + # cost: 10 + # processes: + # - area: + # area_id: 0.0.0.3 + # process_id: LAB1 + # name: GigabitEthernet0/0/0/1 + # type: gigabitethernet # - # ----------- - # After state - # ----------- + # After state: + # ------------ # # RP/0/0/CPU0:an-iosxr-02#show running-config router ospf # Thu Oct 23 06:28:15.025 UTC - # router ospf LAB - # area 0.0.0.0 - # ! - # area 0.0.0.9 - # ! - # ! # router ospf LAB1 - # area 0.0.0.1 - # ! # area 0.0.0.3 # interface GigabitEthernet0/0/0/1 # cost 10 @@ -2787,27 +2662,20 @@ Examples # area 0.0.0.3 # ! # ! - # router ospf ipv4 + # router ospfv3 LAB3 + # area 0.0.0.2 + # ! # ! # Using deleted # - # ------------ - # Before state - # ------------ + # Before state: + # ------------- # # # RP/0/0/CPU0:an-iosxr-02#show running-config router ospf # Thu Oct 23 06:28:15.025 UTC - # router ospf LAB - # area 0.0.0.0 - # ! - # area 0.0.0.9 - # ! - # ! # router ospf LAB1 - # area 0.0.0.1 - # ! # area 0.0.0.3 # interface GigabitEthernet0/0/0/1 # cost 10 @@ -2817,9 +2685,18 @@ Examples # ! # router ospf LAB3 # area 0.0.0.3 + # interface GigabitEthernet0/0/0/0 + # cost 20 + # authentication message-digest keychain cisco + # ! # ! # ! - # router ospf ipv4 + # router ospfv3 LAB3 + # area 0.0.0.2 + # interface GigabitEthernet0/0/0/0 + # cost 30 + # ! + # ! # ! - name: Deleted existing OSPF interfaces from the device @@ -2830,70 +2707,91 @@ Examples state: deleted # + # Task Output: + # ------------ # - # ------------------------ - # Module Execution Result - # ------------------------ - # - # "before": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication": { - # "message_digest": { - # "keychain": "iosxr" - # } - # }, - # "cost": 10, - # "processes": [ - # { - # "area": { - # "area_id": "0.0.0.3" - # }, - # "process_id": "LAB1" - # } - # ] - # } - # ], - # "name": "GigabitEthernet0/0/0/1", - # "type": "gigabitethernet" - # } - # ], - # - # "commands": [ - # "no router ospf LAB1 area 0.0.0.3 interface GigabitEthernet 0/0/0/1" - # ] + # before: + # - address_family: + # - afi: ipv4 + # authentication: + # message_digest: + # keychain: iosxr + # cost: 10 + # processes: + # - area: + # area_id: 0.0.0.3 + # process_id: LAB1 + # name: GigabitEthernet0/0/0/1 + # type: gigabitethernet + # - address_family: + # - afi: ipv4 + # authentication: + # message_digest: + # keychain: cisco + # cost: 20 + # processes: + # - area: + # area_id: 0.0.0.3 + # process_id: LAB3 + # - afi: ipv6 + # cost: 30 + # processes: + # - area: + # area_id: 0.0.0.2 + # process_id: LAB3 + # name: GigabitEthernet0/0/0/0 + # type: gigabitethernet # - # "after": [] + # commands: + # - no router ospf LAB1 area 0.0.0.3 interface GigabitEthernet 0/0/0/1] # + # after: + # - address_family: + # - afi: ipv4 + # authentication: + # message_digest: + # keychain: cisco + # cost: 20 + # processes: + # - area: + # area_id: 0.0.0.3 + # process_id: LAB3 + # - afi: ipv6 + # cost: 30 + # processes: + # - area: + # area_id: 0.0.0.2 + # process_id: LAB3 + # name: GigabitEthernet0/0/0/0 + # type: gigabitethernet # - # ----------- - # After state - # ----------- + # After state: + # ------------ # # RP/0/0/CPU0:an-iosxr-02#show running-config router ospf # Thu Oct 23 06:34:38.319 UTC - # router ospf LAB - # area 0.0.0.0 - # ! - # area 0.0.0.9 - # ! - # ! # router ospf LAB1 - # area 0.0.0.1 - # ! # area 0.0.0.3 # ! # ! # router ospf LAB3 # area 0.0.0.3 + # interface GigabitEthernet0/0/0/0 + # cost 20 + # authentication message-digest keychain cisco + # ! # ! # ! - # router ospf ipv4 + # router ospfv3 LAB3 + # area 0.0.0.2 + # interface GigabitEthernet0/0/0/0 + # cost 30 + # ! + # ! # ! # Using parsed + # # parsed.cfg # ------------ # router ospf LAB @@ -2918,46 +2816,30 @@ Examples # ! # router ospf ipv4 # ! - - name: Parsed the device configuration to get output commands + - name: Parsed running config and display structured facts. cisco.iosxr.iosxr_ospf_interfaces: running_config: "{{ lookup('file', './parsed.cfg') }}" state: parsed # + # Task Output: + # ------------ # - # ------------------------- - # Module Execution Result - # ------------------------- - # - # - # "parsed": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication": { - # "message_digest": { - # "keychain": "cisco" - # } - # }, - # "cost": 20, - # "processes": [ - # { - # "area": { - # "area_id": "0.0.0.3" - # }, - # "process_id": "LAB3" - # } - # ] - # } - # ], - # "name": "GigabitEthernet0/0/0/0", - # "type": "gigabitethernet" - # } - # ] - # + # parsed: + # - address_family: + # - afi: ipv4 + # authentication: + # message_digest: + # keychain: cisco + # cost: 20 + # processes: + # - area: + # area_id: 0.0.0.3 + # process_id: LAB3 + # name: GigabitEthernet0/0/0/0 + # type: gigabitethernet + # Using rendered # - # - name: Render the commands for provided configuration cisco.iosxr.iosxr_ospf_interfaces: config: @@ -2966,35 +2848,30 @@ Examples address_family: - afi: ipv4 processes: - - process_id: "LAB3" - area: - area_id: 0.0.0.3 + - process_id: LAB3 + area: + area_id: 0.0.0.3 cost: 20 authentication: message_digest: keychain: cisco - afi: ipv6 processes: - - process_id: "LAB3" - area: - area_id: 0.0.0.2 + - process_id: LAB3 + area: + area_id: 0.0.0.2 cost: 30 state: rendered # + # Task Output: + # ------------ # - # ------------------------- - # Module Execution Result - # ------------------------- - # - # - # "rendered": [ - # "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 cost 20", - # "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest", - # "router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest keychain cisco", - # "router ospfv3 LAB3 area 0.0.0.2 interface GigabitEthernet 0/0/0/0 cost 30" - # ] - + # rendered: + # - router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 cost 20 + # - router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest + # - router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest keychain cisco + # - router ospfv3 LAB3 area 0.0.0.2 interface GigabitEthernet 0/0/0/0 cost 30 # Using gathered # @@ -3003,18 +2880,6 @@ Examples # # RP/0/0/CPU0:an-iosxr-02#show running-config router ospf # Thu Oct 23 06:50:38.743 UTC - # router ospf LAB - # area 0.0.0.0 - # ! - # area 0.0.0.9 - # ! - # ! - # router ospf LAB1 - # area 0.0.0.1 - # ! - # area 0.0.0.3 - # ! - # ! # router ospf LAB3 # area 0.0.0.3 # interface GigabitEthernet0/0/0/0 @@ -3023,7 +2888,12 @@ Examples # ! # ! # ! - # router ospf ipv4 + # router ospfv3 LAB3 + # area 0.0.0.2 + # interface GigabitEthernet0/0/0/0 + # cost 30 + # ! + # ! # ! @@ -3031,51 +2901,149 @@ Examples cisco.iosxr.iosxr_ospf_interfaces: state: gathered # + # Task Output: + # ------------ # - # ------------------------- - # Module Execution Result - # ------------------------- - # - # "gathered": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication": { - # "message_digest": { - # "keychain": "cisco" - # } - # }, - # "cost": 20, - # "processes": [ - # { - # "area": { - # "area_id": "0.0.0.3" - # }, - # "process_id": "LAB3" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "cost": 30, - # "processes": [ - # { - # "area": { - # "area_id": "0.0.0.2" - # }, - # "process_id": "LAB3" - # } - # ] - # } - # ], - # "name": "GigabitEthernet0/0/0/0", - # "type": "gigabitethernet" - # } - # ] - # + # gathered: + # - address_family: + # - afi: ipv4 + # authentication: + # message_digest: + # keychain: cisco + # cost: 20 + # processes: + # - area: + # area_id: 0.0.0.3 + # process_id: LAB3 + # - afi: ipv6 + # cost: 30 + # processes: + # - area: + # area_id: 0.0.0.2 + # process_id: LAB3 + # name: GigabitEthernet0/0/0/0 + # type: gigabitethernet + + + +Return Values +------------- +Common return values are documented `here <https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values>`_, the following are the fields unique to this module: +.. raw:: html + <table border=0 cellpadding=0 class="documentation-table"> + <tr> + <th colspan="1">Key</th> + <th>Returned</th> + <th width="100%">Description</th> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>after</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when changed</td> + <td> + <div>The resulting configuration model invocation.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">The configuration returned will always be in the same format + of the parameters above.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>before</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>always</td> + <td> + <div>The configuration prior to the model invocation.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">The configuration returned will always be in the same format + of the parameters above.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>commands</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>always</td> + <td> + <div>The set of commands pushed to the remote device.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 cost 20', 'router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 authentication message-digest']</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>gathered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>gathered</code></td> + <td> + <div>Facts about the network resource gathered from the remote device as structured data.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>parsed</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>parsed</code></td> + <td> + <div>The device native config provided in <em>running_config</em> option parsed into structured data as per module argspec.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>rendered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>rendered</code></td> + <td> + <div>The provided configuration in the task rendered in device-native format (offline).</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['router ospf LAB3 area 0.0.0.3 interface GigabitEthernet 0/0/0/0 cost 20']</div> + </td> + </tr> + </table> + <br/><br/> Status diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_ospfv2_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_ospfv2_module.rst index 00ff8148f..fe61bd4f6 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_ospfv2_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_ospfv2_module.rst @@ -5583,173 +5583,132 @@ Examples cisco.iosxr.iosxr_ospfv2: config: processes: - - process_id: '27' - areas: - - area_id: '10' - hello_interval: 2 + - process_id: '27' + areas: + - area_id: '10' + hello_interval: 2 + authentication: + keychain: ansi11393 + - process_id: '26' + adjacency_stagger: + max_adjacency: 20 + min_adjacency: 10 + - process_id: '10' authentication: - keychain: ansi11393 - - process_id: '26' - adjacency_stagger: - max_adjacency: 20 - min_adjacency: 10 - - process_id: '10' - authentication: - keychain: ansible_test1102 - areas: - - area_id: '11' - default_cost: 5 - cost: 11 - - area_id: 22 - default_cost: 6 - - process_id: '30' - areas: - - area_id: 11 - default_cost: 5 - - area_id: 22 - default_cost: 6 - - cost: 2 - default_metric: 10 - transmit_delay: 2 - hello_interval: 1 - dead_interval: 2 - retransmit_interval: 2 - weight: 2 - packet_size: 577 - priority: 1 - router_id: 2.2.2.2 - demand_circuit: enable - passive: disable - summary_in: enable - flood_reduction: disable - mtu_ignore: enable - external_out: disable + keychain: ansible_test1102 + areas: + - area_id: '11' + default_cost: 5 + cost: 11 + - area_id: 22 + default_cost: 6 + - process_id: '30' + areas: + - area_id: 11 + default_cost: 5 + - area_id: 22 + default_cost: 6 + cost: 2 + default_metric: 10 + transmit_delay: 2 + hello_interval: 1 + dead_interval: 2 + retransmit_interval: 2 + weight: 2 + packet_size: 577 + priority: 1 + router_id: 2.2.2.2 + demand_circuit: enable + passive: disable + summary_in: enable + flood_reduction: disable + mtu_ignore: enable + external_out: disable state: merged + # Task Output: + # ------------ # + # before: {} # - # ------------------------ - # Module Execution Result - # ------------------------ - # - # "before": {} - # - # "commands": [ - # "router ospf 30", - # "cost 2", - # "weight 2", - # "passive disable", - # "priority 1", - # "flood-reduction disable", - # "default-metric 10", - # "router-id 2.2.2.2", - # "demand-circuit enable", - # "packet-size 577", - # "transmit-delay 2", - # "summary-in enable", - # "external-out disable", - # "dead-interval 2", - # "hello-interval 1", - # "retransmit-interval 2", - # "mtu-ignore enable", - # "area 11 default-cost 5", - # "area 22 default-cost 6", - # "router ospf 26", - # "adjacency stagger 10 20", - # "authentication message-digest keychain ansible1101pass", - # "router ospf 27", - # "area 10 authentication keychain ansi11393", - # "area 10 hello-interval 2", - # "router ospf 10", - # "authentication keychain ansible_test1102", - # "area 11 default-cost 5", - # "area 11 cost 11", - # "area 22 default-cost 6" - # ] - # - # "after": { - # "processes": [ - # { - # "areas": [ - # { - # "area_id": "11", - # "cost": 11, - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "authentication": { - # "keychain": "ansible_test1102" - # }, - # "process_id": "10" - # }, - # { - # "adjacency_stagger": { - # "max_adjacency": 20, - # "min_adjacency": 10 - # }, - # "authentication": { - # "message_digest": { - # "keychain": "ansible1101pass" - # } - # }, - # "process_id": "26" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "authentication": { - # "keychain": "ansi11393" - # }, - # "hello_interval": 2 - # } - # ], - # "process_id": "27" - # }, - # { - # "areas": [ - # { - # "area_id": "11", - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "cost": 2, - # "dead_interval": 2, - # "default_metric": 10, - # "demand_circuit": "enable", - # "external_out": "disable", - # "flood_reduction": "disable", - # "hello_interval": 1, - # "mtu_ignore": "enable", - # "packet_size": 577, - # "passive": "disable", - # "priority": 1, - # "process_id": "30", - # "retransmit_interval": 2, - # "router_id": "2.2.2.2", - # "summary_in": "enable", - # "transmit_delay": 2, - # "weight": 2 - # } - # ] - # } + # commands: + # - router ospf 30 + # - cost 2 + # - weight 2 + # - passive disable + # - priority 1 + # - flood-reduction disable + # - default-metric 10 + # - router-id 2.2.2.2 + # - demand-circuit enable + # - packet-size 577 + # - transmit-delay 2 + # - summary-in enable + # - external-out disable + # - dead-interval 2 + # - hello-interval 1 + # - retransmit-interval 2 + # - mtu-ignore enable + # - area 11 default-cost 5 + # - area 22 default-cost 6 + # - router ospf 26 + # - adjacency stagger 10 20 + # - router ospf 10 + # - authentication keychain ansible_test1102 + # - area 11 default-cost 5 + # - area 11 cost 11 + # - area 22 default-cost 6 + # - router ospf 27 + # - area 10 authentication keychain ansi11393 + # - area 10 hello-interval 2 # + # after: + # processes: + # - areas: + # - area_id: '11' + # cost: 11 + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # authentication: + # keychain: ansible_test1102 + # process_id: '10' + # - adjacency_stagger: + # max_adjacency: 20 + # min_adjacency: 10 + # process_id: '26' + # - areas: + # - area_id: '10' + # authentication: + # keychain: ansi11393 + # hello_interval: 2 + # process_id: '27' + # - areas: + # - area_id: '11' + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # cost: 2 + # dead_interval: 2 + # default_metric: 10 + # demand_circuit: enable + # external_out: disable + # flood_reduction: disable + # hello_interval: 1 + # mtu_ignore: enable + # packet_size: 577 + # passive: disable + # priority: 1 + # process_id: '30' + # retransmit_interval: 2 + # router_id: 2.2.2.2 + # summary_in: enable + # transmit_delay: 2 + # weight: 2 # - # ------------ - # After state + # After state: # ------------ # - # RP/0/RP0/CPU0:anton#show running-config router ospf - # Thu Jun 11 16:06:44.406 UTC # router ospf 10 # authentication keychain ansible_test1102 # area 11 @@ -5761,14 +5720,13 @@ Examples # ! # ! # router ospf 26 - # authentication message-digest keychain ansible1101pass # adjacency stagger 10 20 # ! # router ospf 27 # area 10 - # authentication keychain ansi11393 + # authentication keychain ansi11393 # hello-interval 2 - # ! + # ! # ! # router ospf 30 # router-id 2.2.2.2 @@ -5794,14 +5752,11 @@ Examples # default-cost 6 # ! # ! - # - # Using replaced # - # ------------ - # Before state - # ------------ + # Before state: + # ------------- # # # RP/0/RP0/CPU0:anton#show running-config router ospf @@ -5817,14 +5772,13 @@ Examples # ! # ! # router ospf 26 - # authentication message-digest keychain ansible1101pass # adjacency stagger 10 20 # ! # router ospf 27 # area 10 - # authentication keychain ansi11393 + # authentication keychain ansi11393 # hello-interval 2 - # ! + # ! # ! # router ospf 30 # router-id 2.2.2.2 @@ -5851,199 +5805,128 @@ Examples # ! # ! # - - - name: Replace OSPFv2 routes configurations from the device + - name: Replace running OSPFv2 routes configurations with provided config. cisco.iosxr.iosxr_ospfv2: config: processes: - - process_id: 27 - areas: - - area_id: 10 - hello_interval: 2 - - area_id: 20 - cost: 2 - default_cost: 2 - authentication: - keychain: ansi11393 - - process_id: 26 - adjacency_stagger: - min_adjacency: 10 - max_adjacency: 20 + - process_id: 27 + areas: + - area_id: 10 + hello_interval: 2 + - area_id: 20 + cost: 2 + default_cost: 2 + authentication: + keychain: ansi11393 + - process_id: 26 + adjacency_stagger: + min_adjacency: 10 + max_adjacency: 20 state: replaced + # Task Output: + # ------------ # + # before: + # processes: + # - areas: + # - area_id: '11' + # cost: 11 + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # authentication: + # keychain: ansible_test1102 + # process_id: '10' + # - adjacency_stagger: + # max_adjacency: 20 + # min_adjacency: 10 + # process_id: '26' + # - areas: + # - area_id: '10' + # authentication: + # keychain: ansi11393 + # hello_interval: 2 + # process_id: '27' + # - areas: + # - area_id: '11' + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # cost: 2 + # dead_interval: 2 + # default_metric: 10 + # demand_circuit: enable + # external_out: disable + # flood_reduction: disable + # hello_interval: 1 + # mtu_ignore: enable + # packet_size: 577 + # passive: disable + # priority: 1 + # process_id: '30' + # retransmit_interval: 2 + # router_id: 2.2.2.2 + # summary_in: enable + # transmit_delay: 2 + # weight: 2 # - # ------------------------ - # Module Execution Result - # ------------------------ - # - # "before": { - # "processes": [ - # { - # "areas": [ - # { - # "area_id": "11", - # "cost": 11, - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "authentication": { - # "keychain": "ansible_test1102" - # }, - # "process_id": "10" - # }, - # { - # "adjacency_stagger": { - # "max_adjacency": 20, - # "min_adjacency": 10 - # }, - # "authentication": { - # "message_digest": { - # "keychain": "ansible1101pass" - # } - # }, - # "process_id": "26" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "authentication": { - # "keychain": "ansi11393" - # }, - # "hello_interval": 2 - # } - # ], - # "process_id": "27" - # }, - # { - # "areas": [ - # { - # "area_id": "11", - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "cost": 2, - # "dead_interval": 2, - # "default_metric": 10, - # "demand_circuit": "enable", - # "external_out": "disable", - # "flood_reduction": "disable", - # "hello_interval": 1, - # "mtu_ignore": "enable", - # "packet_size": 577, - # "passive": "disable", - # "priority": 1, - # "process_id": "30", - # "retransmit_interval": 2, - # "router_id": "2.2.2.2", - # "summary_in": "enable", - # "transmit_delay": 2, - # "weight": 2 - # } - # ] - # } - # - # "commands": [ - # "router ospf 27", - # "no area 10 authentication keychain ansi11393", - # "area 20 authentication keychain ansi11393", - # "area 20 default-cost 2", - # "area 20 cost 2" - # ] - # - # "after": { - # "processes": [ - # { - # "areas": [ - # { - # "area_id": "11", - # "cost": 11, - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "authentication": { - # "keychain": "ansible_test1102" - # }, - # "process_id": "10" - # }, - # { - # "adjacency_stagger": { - # "max_adjacency": 20, - # "min_adjacency": 10 - # }, - # "authentication": { - # "message_digest": { - # "keychain": "ansible1101pass" - # } - # }, - # "process_id": "26" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "hello_interval": 2 - # }, - # { - # "area_id": "20", - # "authentication": { - # "keychain": "ansi11393" - # }, - # "cost": 2, - # "default_cost": 2 - # } - # ], - # "process_id": "27" - # }, - # { - # "areas": [ - # { - # "area_id": "11", - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "cost": 2, - # "dead_interval": 2, - # "default_metric": 10, - # "demand_circuit": "enable", - # "external_out": "disable", - # "flood_reduction": "disable", - # "hello_interval": 1, - # "mtu_ignore": "enable", - # "packet_size": 577, - # "passive": "disable", - # "priority": 1, - # "process_id": "30", - # "retransmit_interval": 2, - # "router_id": "2.2.2.2", - # "summary_in": "enable", - # "transmit_delay": 2, - # "weight": 2 - # } - # ] - # } + # commands: + # - router ospf 27 + # - no area 10 authentication keychain ansi11393 + # - area 20 authentication keychain ansi11393 + # - area 20 default-cost 2 + # - area 20 cost 2 # + # after: + # processes: + # - areas: + # - area_id: '11' + # cost: 11 + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # authentication: + # keychain: ansible_test1102 + # process_id: '10' + # - adjacency_stagger: + # max_adjacency: 20 + # min_adjacency: 10 + # process_id: '26' + # - areas: + # - area_id: '10' + # hello_interval: 2 + # - area_id: '20' + # authentication: + # keychain: ansi11393 + # cost: 2 + # default_cost: 2 + # process_id: '27' + # - areas: + # - area_id: '11' + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # cost: 2 + # dead_interval: 2 + # default_metric: 10 + # demand_circuit: enable + # external_out: disable + # flood_reduction: disable + # hello_interval: 1 + # mtu_ignore: enable + # packet_size: 577 + # passive: disable + # priority: 1 + # process_id: '30' + # retransmit_interval: 2 + # router_id: 2.2.2.2 + # summary_in: enable + # transmit_delay: 2 + # weight: 2 # - # ----------- - # After state - # ----------- + # After state: + # ------------ # # RP/0/RP0/CPU0:anton(config)#do show running-config router ospf # Thu Jun 11 16:40:31.038 UTC @@ -6058,7 +5941,6 @@ Examples # ! # ! # router ospf 26 - # authentication message-digest keychain ansible1101pass # adjacency stagger 10 20 # ! # router ospf 27 @@ -6095,15 +5977,11 @@ Examples # default-cost 6 # ! # ! - # - # Using overridden # - # ------------ - # Before state - # ------------ - # + # Before state: + # ------------- # # RP/0/RP0/CPU0:anton#show running-config router ospf # Thu Jun 11 16:06:44.406 UTC @@ -6118,14 +5996,17 @@ Examples # ! # ! # router ospf 26 - # authentication message-digest keychain ansible1101pass # adjacency stagger 10 20 # ! # router ospf 27 # area 10 - # authentication keychain ansi11393 # hello-interval 2 - # ! + # ! + # area 20 + # cost 2 + # authentication keychain ansi11393 + # default-cost 2 + # ! # ! # router ospf 30 # router-id 2.2.2.2 @@ -6151,195 +6032,141 @@ Examples # default-cost 6 # ! # ! - # - - name: Override existing OSPFv2 configurations from the device + - name: Override existing OSPFv2 configurations with provided config. cisco.iosxr.iosxr_ospfv2: config: processes: - - process_id: 27 - areas: - - area_id: 10 - hello_interval: 2 - authentication: - keychain: ansi11393 - - area_id: 20 - cost: 2 - default_cost: 2 - authentication: - keychain: ansi11393 - - process_id: 26 - adjacency_stagger: - min_adjacency: 10 - max_adjacency: 20 + - process_id: 27 + areas: + - area_id: 10 + hello_interval: 2 + authentication: + keychain: ansi11393 + - area_id: 20 + cost: 2 + default_cost: 2 + authentication: + keychain: ansi11393 + - process_id: 26 + adjacency_stagger: + min_adjacency: 10 + max_adjacency: 20 state: overridden + # + # Task Output: + # ------------ # - # ------------------------ - # Module Execution Result - # ------------------------ - # - # "before": { - # "processes": [ - # { - # "areas": [ - # { - # "area_id": "11", - # "cost": 11, - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "authentication": { - # "keychain": "ansible_test1102" - # }, - # "process_id": "10" - # }, - # { - # "adjacency_stagger": { - # "max_adjacency": 20, - # "min_adjacency": 10 - # }, - # "authentication": { - # "message_digest": { - # "keychain": "ansible1101pass" - # } - # }, - # "process_id": "26" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "authentication": { - # "keychain": "ansi11393" - # }, - # "hello_interval": 2 - # } - # ], - # "process_id": "27" - # }, - # { - # "areas": [ - # { - # "area_id": "11", - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "cost": 2, - # "dead_interval": 2, - # "default_metric": 10, - # "demand_circuit": "enable", - # "external_out": "disable", - # "flood_reduction": "disable", - # "hello_interval": 1, - # "mtu_ignore": "enable", - # "packet_size": 577, - # "passive": "disable", - # "priority": 1, - # "process_id": "30", - # "retransmit_interval": 2, - # "router_id": "2.2.2.2", - # "summary_in": "enable", - # "transmit_delay": 2, - # "weight": 2 - # } - # ] - # } - # - # "commands": [ - # "router ospf 10", - # "no authentication keychain ansible_test1102", - # "no area 11 default-cost 5", - # "no area 11 cost 11", - # "no area 22 default-cost 6", - # "router ospf 30", - # "no cost 2", - # "no weight 2", - # "no passive disable", - # "no priority 1", - # "no flood-reduction disable", - # "no default-metric 10", - # "no router-id 2.2.2.2", - # "no demand-circuit enable", - # "no packet-size 577", - # "no transmit-delay 2", - # "no summary-in enable", - # "no external-out disable", - # "no dead-interval 2", - # "no hello-interval 1", - # "no retransmit-interval 2", - # "no mtu-ignore enable", - # "no area 11 default-cost 5", - # "no area 22 default-cost 6", - # "router ospf 27", - # "area 20 authentication keychain ansi11393", - # "area 20 default-cost 2", - # "area 20 cost 2" - # ] + # before: + # processes: + # - areas: + # - area_id: '11' + # cost: 11 + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # authentication: + # keychain: ansible_test1102 + # process_id: '10' + # - adjacency_stagger: + # max_adjacency: 20 + # min_adjacency: 10 + # process_id: '26' + # - areas: + # - area_id: '10' + # hello_interval: 2 + # - area_id: '20' + # authentication: + # keychain: ansi11393 + # cost: 2 + # default_cost: 2 + # process_id: '27' + # - areas: + # - area_id: '11' + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # cost: 2 + # dead_interval: 2 + # default_metric: 10 + # demand_circuit: enable + # external_out: disable + # flood_reduction: disable + # hello_interval: 1 + # mtu_ignore: enable + # packet_size: 577 + # passive: disable + # priority: 1 + # process_id: '30' + # retransmit_interval: 2 + # router_id: 2.2.2.2 + # summary_in: enable + # transmit_delay: 2 + # weight: 2 + # - # "after": { - # "processes": [ - # { - # "process_id": "10" - # }, - # { - # "adjacency_stagger": { - # "max_adjacency": 20, - # "min_adjacency": 10 - # }, - # "authentication": { - # "message_digest": { - # "keychain": "ansible1101pass" - # } - # }, - # "process_id": "26" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "authentication": { - # "keychain": "ansi11393" - # }, - # "hello_interval": 2 - # }, - # { - # "area_id": "20", - # "authentication": { - # "keychain": "ansi11393" - # }, - # "cost": 2, - # "default_cost": 2 - # } - # ], - # "process_id": "27" - # }, - # { - # "process_id": "30" - # } - # ] - # } + # commands: + # - router ospf 10 + # - no authentication keychain ansible_test1102 + # - no area 11 default-cost 5 + # - no area 11 cost 11 + # - no area 22 default-cost 6 + # - router ospf 30 + # - no cost 2 + # - no weight 2 + # - no passive disable + # - no priority 1 + # - no flood-reduction disable + # - no default-metric 10 + # - no router-id 2.2.2.2 + # - no demand-circuit enable + # - no packet-size 577 + # - no transmit-delay 2 + # - no summary-in enable + # - no external-out disable + # - no dead-interval 2 + # - no hello-interval 1 + # - no retransmit-interval 2 + # - no mtu-ignore enable + # - no area 11 default-cost 5 + # - no area 22 default-cost 6 + # - router ospf 27 + # - area 10 authentication keychain ansi11393 # + # after: + # processes: + # - process_id: '10' + # - adjacency_stagger: + # max_adjacency: 20 + # min_adjacency: 10 + # process_id: '26' + # - areas: + # - area_id: '10' + # authentication: + # keychain: ansi11393 + # hello_interval: 2 + # - area_id: '20' + # authentication: + # keychain: ansi11393 + # cost: 2 + # default_cost: 2 + # process_id: '27' + # - process_id: '30' # - # ----------- - # After state - # ----------- + # After state: + # ------------ # # RP/0/RP0/CPU0:anton#show running-config router ospf # Thu Jun 11 16:50:36.332 UTC # router ospf 10 + # area 11 + # ! + # area 22 + # ! # ! # router ospf 26 - # authentication message-digest keychain ansible1101pass # adjacency stagger 10 20 # ! # router ospf 27 @@ -6354,16 +6181,17 @@ Examples # ! # ! # router ospf 30 + # area 11 + # ! + # area 22 + # ! # ! # - # Using deleted # - # ------------ - # Before state - # ------------ - # + # Before state: + # ------------- # # RP/0/RP0/CPU0:anton#show running-config router ospf # Thu Jun 11 16:06:44.406 UTC @@ -6378,14 +6206,18 @@ Examples # ! # ! # router ospf 26 - # authentication message-digest keychain ansible1101pass # adjacency stagger 10 20 # ! # router ospf 27 # area 10 - # authentication keychain ansi11393 + # authentication keychain ansi11393 # hello-interval 2 - # ! + # ! + # area 20 + # cost 2 + # authentication keychain ansi11393 + # default-cost 2 + # ! # ! # router ospf 30 # router-id 2.2.2.2 @@ -6411,163 +6243,136 @@ Examples # default-cost 6 # ! # ! - # - - name: Deleted existing OSPFv2 configurations from the device + - name: Deleted provided ospfv2 processes. cisco.iosxr.iosxr_ospfv2: config: processes: - - process_id: '10' - - process_id: '26' - - process_id: '27' - - process_id: '30' + - process_id: '10' + - process_id: '26' + - process_id: '27' + - process_id: '30' state: deleted + # + # Task Output: + # ------------ # - # ------------------------ - # Module Execution Result - # ------------------------ - # - # "before": { - # "processes": [ - # { - # "areas": [ - # { - # "area_id": "11", - # "cost": 11, - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "authentication": { - # "keychain": "ansible_test1102" - # }, - # "process_id": "10" - # }, - # { - # "adjacency_stagger": { - # "max_adjacency": 20, - # "min_adjacency": 10 - # }, - # "authentication": { - # "message_digest": { - # "keychain": "ansible1101pass" - # } - # }, - # "process_id": "26" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "authentication": { - # "keychain": "ansi11393" - # }, - # "hello_interval": 2 - # } - # ], - # "process_id": "27" - # }, - # { - # "areas": [ - # { - # "area_id": "11", - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "cost": 2, - # "dead_interval": 2, - # "default_metric": 10, - # "demand_circuit": "enable", - # "external_out": "disable", - # "flood_reduction": "disable", - # "hello_interval": 1, - # "mtu_ignore": "enable", - # "packet_size": 577, - # "passive": "disable", - # "priority": 1, - # "process_id": "30", - # "retransmit_interval": 2, - # "router_id": "2.2.2.2", - # "summary_in": "enable", - # "transmit_delay": 2, - # "weight": 2 - # } - # ] - # }, - # - # "commands": [ - # "router ospf 10", - # "no authentication keychain ansible_test1102", - # "no area 11 default-cost 5", - # "no area 11 cost 11", - # "no area 22 default-cost 6", - # "router ospf 26", - # "no adjacency stagger 10 20", - # "no authentication message-digest keychain ansible1101pass", - # "router ospf 27", - # "no area 10 authentication keychain ansi11393", - # "no area 10 hello-interval 2", - # "router ospf 30", - # "no cost 2", - # "no weight 2", - # "no passive disable", - # "no priority 1", - # "no flood-reduction disable", - # "no default-metric 10", - # "no router-id 2.2.2.2", - # "no demand-circuit enable", - # "no packet-size 577", - # "no transmit-delay 2", - # "no summary-in enable", - # "no external-out disable", - # "no dead-interval 2", - # "no hello-interval 1", - # "no retransmit-interval 2", - # "no mtu-ignore enable", - # "no area 11 default-cost 5", - # "no area 22 default-cost 6" - # ] - # - # "after": { - # "processes": [ - # { - # "process_id": "10" - # }, - # { - # "process_id": "26" - # }, - # { - # "process_id": "27" - # }, - # { - # "process_id": "30" - # } - # ] - # } + # before: + # processes: + # - areas: + # - area_id: '11' + # cost: 11 + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # authentication: + # keychain: ansible_test1102 + # process_id: '10' + # - adjacency_stagger: + # max_adjacency: 20 + # min_adjacency: 10 + # process_id: '26' + # - areas: + # - area_id: '10' + # authentication: + # keychain: ansi11393 + # hello_interval: 2 + # - area_id: '20' + # authentication: + # keychain: ansi11393 + # cost: 2 + # default_cost: 2 + # process_id: '27' + # - areas: + # - area_id: '11' + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # cost: 2 + # dead_interval: 2 + # default_metric: 10 + # demand_circuit: enable + # external_out: disable + # flood_reduction: disable + # hello_interval: 1 + # mtu_ignore: enable + # packet_size: 577 + # passive: disable + # priority: 1 + # process_id: '30' + # retransmit_interval: 2 + # router_id: 2.2.2.2 + # summary_in: enable + # transmit_delay: 2 + # weight: 2 # + # commands: + # - router ospf 10 + # - no authentication keychain ansible_test1102 + # - no area 11 default-cost 5 + # - no area 11 cost 11 + # - no area 22 default-cost 6 + # - router ospf 26 + # - no adjacency stagger 10 20 + # - router ospf 27 + # - no area 10 authentication keychain ansi11393 + # - no area 10 hello-interval 2 + # - no area 20 authentication keychain ansi11393 + # - no area 20 default-cost 2 + # - no area 20 cost 2 + # - router ospf 30 + # - no cost 2 + # - no weight 2 + # - no passive disable + # - no priority 1 + # - no flood-reduction disable + # - no default-metric 10 + # - no router-id 2.2.2.2 + # - no demand-circuit enable + # - no packet-size 577 + # - no transmit-delay 2 + # - no summary-in enable + # - no external-out disable + # - no dead-interval 2 + # - no hello-interval 1 + # - no retransmit-interval 2 + # - no mtu-ignore enable + # - no area 11 default-cost 5 + # - no area 22 default-cost 6 # - # ----------- - # After state - # ----------- + # after: + # processes: + # - process_id: '10' + # - process_id: '26' + # - process_id: '27' + # - process_id: '30' + + # After state: + # ------------ # # RP/0/RP0/CPU0:anton(config)#show running-config router ospf # Thu Jun 11 17:07:34.218 UTC # router ospf 10 + # area 11 + # ! + # area 22 + # ! # ! # router ospf 26 # ! # router ospf 27 + # area 10 + # ! + # area 20 + # ! # ! # router ospf 30 + # area 11 + # ! + # area 22 + # ! # ! @@ -6619,184 +6424,146 @@ Examples # default-cost 6 # ! # ! + # - name: Parsed the device configuration to get output commands cisco.iosxr.iosxr_ospfv2: running_config: "{{ lookup('file', './parsed.cfg') }}" state: parsed # + # Task Output: + # ------------ # - # ------------------------- - # Module Execution Result - # ------------------------- - # - # - # "parsed": { - # "processes": [ - # { - # "areas": [ - # { - # "area_id": "11", - # "cost": 11, - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "authentication": { - # "keychain": "ansible_test1102" - # }, - # "process_id": "10" - # }, - # { - # "adjacency_stagger": { - # "max_adjacency": 20, - # "min_adjacency": 10 - # }, - # "authentication": { - # "message_digest": { - # "keychain": "ansible1101pass" - # } - # }, - # "process_id": "26" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "authentication": { - # "keychain": "ansi11393" - # }, - # "hello_interval": 2 - # } - # ], - # "process_id": "27" - # }, - # { - # "areas": [ - # { - # "area_id": "11", - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "cost": 2, - # "dead_interval": 2, - # "default_metric": 10, - # "demand_circuit": "enable", - # "external_out": "disable", - # "flood_reduction": "disable", - # "hello_interval": 1, - # "mtu_ignore": "enable", - # "packet_size": 577, - # "passive": "disable", - # "priority": 1, - # "process_id": "30", - # "retransmit_interval": 2, - # "router_id": "2.2.2.2", - # "summary_in": "enable", - # "transmit_delay": 2, - # "weight": 2 - # } - # ] - # } - - + # parsed: + # processes: + # - areas: + # - area_id: '11' + # cost: 11 + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # authentication: + # keychain: ansible_test1102 + # process_id: '10' + # - adjacency_stagger: + # max_adjacency: 20 + # min_adjacency: 10 + # authentication: + # message_digest: + # keychain: ansible1101pass + # process_id: '26' + # - areas: + # - area_id: '10' + # authentication: + # keychain: ansi11393 + # hello_interval: 2 + # process_id: '27' + # - areas: + # - area_id: '11' + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # cost: 2 + # dead_interval: 2 + # default_metric: 10 + # demand_circuit: enable + # external_out: disable + # flood_reduction: disable + # hello_interval: 1 + # mtu_ignore: enable + # packet_size: 577 + # passive: disable + # priority: 1 + # process_id: '30' + # retransmit_interval: 2 + # router_id: 2.2.2.2 + # summary_in: enable + # transmit_delay: 2 + # weight: 2 # Using rendered # - # - name: Render the commands for provided configuration cisco.iosxr.iosxr_ospfv2: config: processes: - - process_id: 27 - areas: - - area_id: 10 - hello_interval: 2 + - process_id: 27 + areas: + - area_id: 10 + hello_interval: 2 + authentication: + keychain: ansi11393 + - process_id: 26 + adjacency_stagger: + min_adjacency: 10 + max_adjacency: 20 + - process_id: 10 authentication: - keychain: ansi11393 - - process_id: 26 - adjacency_stagger: - min_adjacency: 10 - max_adjacency: 20 - - process_id: 10 - authentication: - keychain: ansible_test1102 - areas: - - area_id: 11 - default_cost: 5 - cost: 11 - - area_id: 22 - default_cost: 6 - - process_id: 30 - areas: - - area_id: 11 - default_cost: 5 - - area_id: 22 - default_cost: 6 - - cost: 2 - default_metric: 10 - transmit_delay: 2 - hello_interval: 1 - dead_interval: 2 - retransmit_interval: 2 - weight: 2 - packet_size: 577 - priority: 1 - router_id: 2.2.2.2 - demand_circuit: enable - passive: disable - summary_in: enable - flood_reduction: disable - mtu_ignore: enable - external_out: disable + keychain: ansible_test1102 + areas: + - area_id: 11 + default_cost: 5 + cost: 11 + - area_id: 22 + default_cost: 6 + - process_id: 30 + areas: + - area_id: 11 + default_cost: 5 + - area_id: 22 + default_cost: 6 + cost: 2 + default_metric: 10 + transmit_delay: 2 + hello_interval: 1 + dead_interval: 2 + retransmit_interval: 2 + weight: 2 + packet_size: 577 + priority: 1 + router_id: 2.2.2.2 + demand_circuit: enable + passive: disable + summary_in: enable + flood_reduction: disable + mtu_ignore: enable + external_out: disable state: rendered + # + # Task Output: + # ------------ # - # ------------------------- - # Module Execution Result - # ------------------------- - # - # - # "rendered": [ - # "router ospf 27", - # "area 10 authentication keychain ansi11393", - # "area 10 hello-interval 2", - # "router ospf 26", - # "adjacency stagger 10 20", - # "authentication message-digest keychain ansible1101pass", - # "router ospf 10", - # "authentication keychain ansible_test1102", - # "area 11 default-cost 5", - # "area 11 cost 11", - # "area 22 default-cost 6", - # "router ospf 30", - # "cost 2", - # "weight 2", - # "passive disable", - # "priority 1", - # "flood-reduction disable", - # "default-metric 10", - # "router-id 2.2.2.2", - # "demand-circuit enable", - # "packet-size 577", - # "transmit-delay 2", - # "summary-in enable", - # "external-out disable", - # "dead-interval 2", - # "hello-interval 1", - # "retransmit-interval 2", - # "mtu-ignore enable", - # "area 11 default-cost 5", - # "area 22 default-cost 6" - # ] + # rendered: + # - router ospf 27 + # - area 10 authentication keychain ansi11393 + # - area 10 hello-interval 2 + # - router ospf 26 + # - adjacency stagger 10 20 + # - router ospf 10 + # - authentication keychain ansible_test1102 + # - area 11 default-cost 5 + # - area 11 cost 11 + # - area 22 default-cost 6 + # - router ospf 30 + # - cost 2 + # - weight 2 + # - passive disable + # - priority 1 + # - flood-reduction disable + # - default-metric 10 + # - router-id 2.2.2.2 + # - demand-circuit enable + # - packet-size 577 + # - transmit-delay 2 + # - summary-in enable + # - external-out disable + # - dead-interval 2 + # - hello-interval 1 + # - retransmit-interval 2 + # - mtu-ignore enable + # - area 11 default-cost 5 + # - area 22 default-cost 6 # Using gathered @@ -6817,14 +6584,15 @@ Examples # ! # ! # router ospf 26 - # authentication message-digest keychain ansible1101pass # adjacency stagger 10 20 # ! # router ospf 27 # area 10 - # authentication keychain ansi11393 + # authentication keychain ansi11393 # hello-interval 2 - # ! + # ! + # area 20 + # ! # ! # router ospf 30 # router-id 2.2.2.2 @@ -6856,84 +6624,52 @@ Examples state: gathered # # - # ------------------------- - # Module Execution Result - # ------------------------- + # Task Output: + # ------------ # - # "gathered": { - # "processes": [ - # { - # "areas": [ - # { - # "area_id": "11", - # "cost": 11, - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "authentication": { - # "keychain": "ansible_test1102" - # }, - # "process_id": "10" - # }, - # { - # "adjacency_stagger": { - # "max_adjacency": 20, - # "min_adjacency": 10 - # }, - # "authentication": { - # "message_digest": { - # "keychain": "ansible1101pass" - # } - # }, - # "process_id": "26" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "authentication": { - # "keychain": "ansi11393" - # }, - # "hello_interval": 2 - # } - # ], - # "process_id": "27" - # }, - # { - # "areas": [ - # { - # "area_id": "11", - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "cost": 2, - # "dead_interval": 2, - # "default_metric": 10, - # "demand_circuit": "enable", - # "external_out": "disable", - # "flood_reduction": "disable", - # "hello_interval": 1, - # "mtu_ignore": "enable", - # "packet_size": 577, - # "passive": "disable", - # "priority": 1, - # "process_id": "30", - # "retransmit_interval": 2, - # "router_id": "2.2.2.2", - # "summary_in": "enable", - # "transmit_delay": 2, - # "weight": 2 - # } - # ] - # } + # gathered: + # processes: + # - areas: + # - area_id: '11' + # cost: 11 + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # authentication: + # keychain: ansible_test1102 + # process_id: '10' + # - adjacency_stagger: + # max_adjacency: 20 + # min_adjacency: 10 + # process_id: '26' + # - areas: + # - area_id: '10' + # authentication: + # keychain: ansi11393 + # hello_interval: 2 + # process_id: '27' + # - areas: + # - area_id: '11' + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # cost: 2 + # dead_interval: 2 + # default_metric: 10 + # demand_circuit: enable + # external_out: disable + # flood_reduction: disable + # hello_interval: 1 + # mtu_ignore: enable + # packet_size: 577 + # passive: disable + # priority: 1 + # process_id: '30' + # retransmit_interval: 2 + # router_id: 2.2.2.2 + # summary_in: enable + # transmit_delay: 2 + # weight: 2 # # After state: # ------------- @@ -6985,7 +6721,6 @@ Examples # ! # ! # - # @@ -7054,6 +6789,57 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['router ospf 30', "authentication message-digest keychain 'ansible1101pass'"]</div> </td> </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>gathered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>gathered</code></td> + <td> + <div>Facts about the network resource gathered from the remote device as structured data.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>parsed</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>parsed</code></td> + <td> + <div>The device native config provided in <em>running_config</em> option parsed into structured data as per module argspec.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>rendered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>rendered</code></td> + <td> + <div>The provided configuration in the task rendered in device-native format (offline).</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['router ospf 27', 'area 10 authentication keychain ansi11393']</div> + </td> + </tr> </table> <br/><br/> diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_ospfv3_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_ospfv3_module.rst index d0fa2b049..494562fc5 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_ospfv3_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_ospfv3_module.rst @@ -9241,105 +9241,75 @@ Examples retransmit_interval: 2 packet_size: 577 priority: 1 - router_id: '2.2.2.2' + router_id: 2.2.2.2 demand_circuit: true mtu_ignore: true state: merged # + # Task Output: + # ------------ # - # ------------------------ - # Module Execution Result - # ------------------------ - # - # "before": {} - # - # "commands": [ - # "router ospfv3 10", - # "area 11 default-cost 5", - # "area 11 cost 11", - # "area 22 default-cost 6", - # "router ospfv3 26", - # "authentication disable", - # "router ospfv3 27", - # "area 10 hello-interval 2", - # "router ospfv3 30", - # "cost 2", - # "priority 1", - # "default-metric 10", - # "router-id 2.2.2.2", - # "demand-circuit", - # "packet-size 577", - # "transmit-delay 2", - # "dead-interval 2", - # "hello-interval 1", - # "retransmit-interval 2", - # "mtu-ignore", - # "area 11 default-cost 5", - # "area 22 default-cost 6" - # ] + # before: {} # - # "after": { - # "processes": [ - # { - # "areas": [ - # { - # "area_id": "11", - # "cost": 11, - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "process_id": "10" - # }, - # { - # "authentication": { - # "disable": true - # }, - # "process_id": "26" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "hello_interval": 2 - # } - # ], - # "process_id": "27" - # }, - # { - # "areas": [ - # { - # "area_id": "11", - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "cost": 2, - # "dead_interval": 2, - # "default_metric": 10, - # "demand_circuit": true, - # "hello_interval": 1, - # "mtu_ignore": true, - # "packet_size": 577, - # "priority": 1, - # "process_id": "30", - # "retransmit_interval": 2, - # "router_id": "2.2.2.2", - # "transmit_delay": 2 - # } - # ] - # } + # - router ospfv3 10 + # - area 11 default-cost 5 + # - area 11 cost 11 + # - area 22 default-cost 6 + # - router ospfv3 26 + # - authentication disable + # - router ospfv3 27 + # - area 10 hello-interval 2 + # - router ospfv3 30 + # - cost 2 + # - priority 1 + # - default-metric 10 + # - router-id 2.2.2.2 + # - demand-circuit + # - packet-size 577 + # - transmit-delay 2 + # - dead-interval 2 + # - hello-interval 1 + # - retransmit-interval 2 + # - mtu-ignore + # - area 11 default-cost 5 + # - area 22 default-cost 6 # + # after: + # processes: + # - areas: + # - area_id: '11' + # cost: 11 + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # process_id: '10' + # - authentication: + # disable: true + # process_id: '26' + # - areas: + # - area_id: '10' + # hello_interval: 2 + # process_id: '27' + # - areas: + # - area_id: '11' + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # cost: 2 + # dead_interval: 2 + # default_metric: 10 + # demand_circuit: true + # hello_interval: 1 + # mtu_ignore: true + # packet_size: 577 + # priority: 1 + # process_id: '30' + # retransmit_interval: 2 + # router_id: 2.2.2.2 + # transmit_delay: 2 # - # ------------ - # After state + # After state: # ------------ # # RP/0/RP0/CPU0:anton#show running-config router ospfv3 @@ -9359,10 +9329,6 @@ Examples # area 10 # hello-interval 2 # ! - # area 20 - # ! - # area 30 - # ! # ! # router ospfv3 30 # cost 2 @@ -9382,6 +9348,15 @@ Examples # area 22 # default-cost 6 # ! + # ! + + # Using replaced + # + # Before state: + # ------------- + # + # + # RP/0/RP0/CPU0:anton#show running-config router ospf # router ospfv3 10 # area 11 # cost 11 @@ -9398,10 +9373,6 @@ Examples # area 10 # hello-interval 2 # ! - # area 20 - # ! - # area 30 - # ! # ! # router ospfv3 30 # cost 2 @@ -9423,16 +9394,107 @@ Examples # ! # ! + - name: Replace OSPFv3 routes configurations from the device + cisco.iosxr.iosxr_ospfv3: + config: + processes: + - process_id: 27 + areas: + - area_id: 10 + hello_interval: 2 + - area_id: 20 + cost: 2 + default_cost: 2 + - process_id: 26 + authentication: + disable: true + state: replaced - - # Using replaced # - # ------------ - # Before state + # Task Output: # ------------ # + # before: + # processes: + # - areas: + # - area_id: '11' + # cost: 11 + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # process_id: '10' + # - authentication: + # disable: true + # process_id: '26' + # - areas: + # - area_id: '10' + # hello_interval: 2 + # process_id: '27' + # - areas: + # - area_id: '11' + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # cost: 2 + # dead_interval: 2 + # default_metric: 10 + # demand_circuit: true + # hello_interval: 1 + # mtu_ignore: true + # packet_size: 577 + # priority: 1 + # process_id: '30' + # retransmit_interval: 2 + # router_id: 2.2.2.2 + # transmit_delay: 2 # - # RP/0/RP0/CPU0:anton#show running-config router ospf + # commands: + # - router ospfv3 27 + # - area 20 default-cost 2 + # - area 20 cost 2 + # + # after: + # processes: + # - areas: + # - area_id: '11' + # cost: 11 + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # process_id: '10' + # - authentication: + # disable: true + # process_id: '26' + # - areas: + # - area_id: '10' + # hello_interval: 2 + # - area_id: '20' + # cost: 2 + # default_cost: 2 + # process_id: '27' + # - areas: + # - area_id: '11' + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # cost: 2 + # dead_interval: 2 + # default_metric: 10 + # demand_circuit: true + # hello_interval: 1 + # mtu_ignore: true + # packet_size: 577 + # priority: 1 + # process_id: '30' + # retransmit_interval: 2 + # router_id: 2.2.2.2 + # transmit_delay: 2 + # + # + # After state: + # ------------ + # + # RP/0/RP0/CPU0:anton(config)#do show running-config router ospfv3 # router ospfv3 10 # area 11 # cost 11 @@ -9450,8 +9512,8 @@ Examples # hello-interval 2 # ! # area 20 - # ! - # area 30 + # cost 2 + # default-cost 2 # ! # ! # router ospfv3 30 @@ -9472,6 +9534,13 @@ Examples # area 22 # default-cost 6 # ! + # ! + + # Using overridden + # + # Before state: + # ------------- + # # router ospfv3 10 # area 11 # cost 11 @@ -9489,8 +9558,8 @@ Examples # hello-interval 2 # ! # area 20 - # ! - # area 30 + # cost 2 + # default-cost 2 # ! # ! # router ospfv3 30 @@ -9513,7 +9582,7 @@ Examples # ! # ! - - name: Replace OSPFv3 routes configurations from the device + - name: Override existing OSPFv3 configurations from the device cisco.iosxr.iosxr_ospfv3: config: processes: @@ -9521,153 +9590,152 @@ Examples areas: - area_id: 10 hello_interval: 2 + authentication: + disable: true - area_id: 20 cost: 2 default_cost: 2 + authentication: + disable: true - process_id: 26 - authentication: - disable: true - state: replaced + areas: + - area_id: 10 + hello_interval: 2 + authentication: + disable: true + state: overridden # + # Task Output: + # ------------ # - # ------------------------ - # Module Execution Result - # ------------------------ + # before: + # processes: + # - areas: + # - area_id: '11' + # cost: 11 + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # process_id: '10' + # - authentication: + # disable: true + # process_id: '26' + # - areas: + # - area_id: '10' + # hello_interval: 2 + # - area_id: '20' + # cost: 2 + # default_cost: 2 + # process_id: '27' + # - areas: + # - area_id: '11' + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # cost: 2 + # dead_interval: 2 + # default_metric: 10 + # demand_circuit: true + # hello_interval: 1 + # mtu_ignore: true + # packet_size: 577 + # priority: 1 + # process_id: '30' + # retransmit_interval: 2 + # router_id: 2.2.2.2 + # transmit_delay: 2 # - # "before": { - # "processes": [ - # { - # "areas": [ - # { - # "area_id": "11", - # "cost": 11, - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "process_id": "10" - # }, - # { - # "authentication": { - # "disable": true - # }, - # "process_id": "26" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "hello_interval": 2 - # } - # ], - # "process_id": "27" - # }, - # { - # "areas": [ - # { - # "area_id": "11", - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "cost": 2, - # "dead_interval": 2, - # "default_metric": 10, - # "demand_circuit": true, - # "hello_interval": 1, - # "mtu_ignore": true, - # "packet_size": 577, - # "priority": 1, - # "process_id": "30", - # "retransmit_interval": 2, - # "router_id": "2.2.2.2", - # "transmit_delay": 2 - # } - # ] - # } + # commands: + # - router ospfv3 10 + # - no area 11 default-cost 5 + # - no area 11 cost 11 + # - no area 22 default-cost 6 + # - router ospfv3 30 + # - no cost 2 + # - no priority 1 + # - no default-metric 10 + # - no router-id 2.2.2.2 + # - no demand-circuit + # - no packet-size 577 + # - no transmit-delay 2 + # - no dead-interval 2 + # - no hello-interval 1 + # - no retransmit-interval 2 + # - no mtu-ignore + # - no area 11 default-cost 5 + # - no area 22 default-cost 6 + # - router ospfv3 27 + # - area 10 authentication disable + # - area 20 authentication disable + # - router ospfv3 26 + # - no authentication disable + # - area 10 authentication disable + # - area 10 hello-interval 2 # - # "commands": [ - # "router ospfv3 27", - # "area 20 default-cost 2", - # "area 20 cost 2" - # ] + # after: + # processes: + # - process_id: '10' + # - areas: + # - area_id: '10' + # authentication: + # disable: true + # hello_interval: 2 + # process_id: '26' + # - areas: + # - area_id: '10' + # authentication: + # disable: true + # hello_interval: 2 + # - area_id: '20' + # authentication: + # disable: true + # cost: 2 + # default_cost: 2 + # process_id: '27' + # - process_id: '30' # - # "after": { - # "processes": [ - # { - # "areas": [ - # { - # "area_id": "11", - # "cost": 11, - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "process_id": "10" - # }, - # { - # "authentication": { - # "disable": true - # }, - # "process_id": "26" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "hello_interval": 2 - # }, - # { - # "area_id": "20", - # "cost": 2, - # "default_cost": 2 - # } - # ], - # "process_id": "27" - # }, - # { - # "areas": [ - # { - # "area_id": "11", - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "cost": 2, - # "dead_interval": 2, - # "default_metric": 10, - # "demand_circuit": true, - # "hello_interval": 1, - # "mtu_ignore": true, - # "packet_size": 577, - # "priority": 1, - # "process_id": "30", - # "retransmit_interval": 2, - # "router_id": "2.2.2.2", - # "transmit_delay": 2 - # } - # ] - # } + # After state: + # ------------ # + # RP/0/RP0/CPU0:anton#show running-config router ospfv3 + # router ospfv3 10 + # area 11 + # ! + # area 22 + # ! + # ! + # router ospfv3 26 + # area 10 + # authentication disable + # hello-interval 2 + # ! + # ! + # router ospfv3 27 + # area 10 + # authentication disable + # hello-interval 2 + # ! + # area 20 + # cost 2 + # authentication disable + # default-cost 2 + # ! + # ! + # router ospfv3 30 + # area 11 + # ! + # area 22 + # ! + # ! + + # Using deleted + # + # Before state: + # ------------- # - # ----------- - # After state - # ----------- # - # RP/0/RP0/CPU0:anton(config)#do show running-config router ospfv3 + # RP/0/RP0/CPU0:anton#show running-config router ospfv3 # router ospfv3 10 # area 11 # cost 11 @@ -9679,17 +9747,21 @@ Examples # ! # router ospfv3 26 # authentication disable + # area 10 + # authentication disable + # hello-interval 2 + # ! # ! # router ospfv3 27 # area 10 + # authentication disable # hello-interval 2 # ! # area 20 # cost 2 + # authentication disable # default-cost 2 # ! - # area 30 - # ! # ! # router ospfv3 30 # cost 2 @@ -9711,165 +9783,108 @@ Examples # ! # ! - - - name: Override existing OSPFv3 configurations from the device + - name: Deleted existing OSPFv3 configurations from the device cisco.iosxr.iosxr_ospfv3: config: processes: - - process_id: 27 - areas: - - area_id: 10 - hello_interval: 2 - authentication: - disable: true - - area_id: 20 - cost: 2 - default_cost: 2 - authentication: - disable: true - - process_id: 26 - areas: - - area_id: 10 - hello_interval: 2 - authentication: - disable: true - state: overridden + - process_id: '10' + - process_id: '26' + - process_id: '27' + - process_id: '30' + state: deleted + # + # Task Output: + # ------------ # - # ------------------------ - # Module Execution Result - # ------------------------ - # - # "before": { - # "processes": [ - # { - # "areas": [ - # { - # "area_id": "11", - # "cost": 11, - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "process_id": "10" - # }, - # { - # "authentication": { - # "disable": true - # }, - # "process_id": "26" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "hello_interval": 2 - # }, - # { - # "area_id": "20", - # "cost": 2, - # "default_cost": 2 - # } - # ], - # "process_id": "27" - # }, - # { - # "areas": [ - # { - # "area_id": "11", - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "cost": 2, - # "dead_interval": 2, - # "default_metric": 10, - # "demand_circuit": true, - # "hello_interval": 1, - # "mtu_ignore": true, - # "packet_size": 577, - # "priority": 1, - # "process_id": "30", - # "retransmit_interval": 2, - # "router_id": "2.2.2.2", - # "transmit_delay": 2 - # } - # ] - # } - # - # "commands": [ - # "router ospfv3 10", - # "no area 11 default-cost 5", - # "no area 11 cost 11", - # "no area 22 default-cost 6", - # "router ospfv3 30", - # "no cost 2", - # "no priority 1", - # "no default-metric 10", - # "no router-id 2.2.2.2", - # "no demand-circuit", - # "no packet-size 577", - # "no transmit-delay 2", - # "no dead-interval 2", - # "no hello-interval 1", - # "no retransmit-interval 2", - # "no mtu-ignore", - # "no area 11 default-cost 5", - # "no area 22 default-cost 6", - # "router ospfv3 26", - # "area 10 hello-interval 4" - # ] + # before: + # processes: + # - areas: + # - area_id: '11' + # cost: 11 + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # process_id: '10' + # - areas: + # - area_id: '10' + # authentication: + # disable: true + # hello_interval: 2 + # authentication: + # disable: true + # process_id: '26' + # - areas: + # - area_id: '10' + # authentication: + # disable: true + # hello_interval: 2 + # - area_id: '20' + # authentication: + # disable: true + # cost: 2 + # default_cost: 2 + # process_id: '27' + # - areas: + # - area_id: '11' + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # cost: 2 + # dead_interval: 2 + # default_metric: 10 + # demand_circuit: true + # hello_interval: 1 + # mtu_ignore: true + # packet_size: 577 + # priority: 1 + # process_id: '30' + # retransmit_interval: 2 + # router_id: 2.2.2.2 + # transmit_delay: 2 # - # "after": { - # "processes": [ - # { - # "process_id": "10" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "hello_interval": 4 - # } - # ], - # "authentication": { - # "disable": true - # }, - # "process_id": "26" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "hello_interval": 2 - # }, - # { - # "area_id": "20", - # "cost": 2, - # "default_cost": 2 - # } - # ], - # "process_id": "27" - # }, - # { - # "process_id": "30" - # } - # ] - # } + # commands: + # - router ospfv3 10 + # - no area 11 default-cost 5 + # - no area 11 cost 11 + # - no area 22 default-cost 6 + # - router ospfv3 26 + # - no authentication disable + # - no area 10 authentication disable + # - no area 10 hello-interval 2 + # - router ospfv3 27 + # - no area 10 authentication disable + # - no area 10 hello-interval 2 + # - no area 20 authentication disable + # - no area 20 default-cost 2 + # - no area 20 cost 2 + # - router ospfv3 30 + # - no cost 2 + # - no priority 1 + # - no default-metric 10 + # - no router-id 2.2.2.2 + # - no demand-circuit + # - no packet-size 577 + # - no transmit-delay 2 + # - no dead-interval 2 + # - no hello-interval 1 + # - no retransmit-interval 2 + # - no mtu-ignore + # - no area 11 default-cost 5 + # - no area 22 default-cost 6 # + # after: + # processes: + # - process_id: '10' + # - process_id: '26' + # - process_id: '27' + # - process_id: '30' # - # ----------- - # After state - # ----------- + # After state: + # ------------ # - # RP/0/RP0/CPU0:anton#show running-config router ospfv3 + # RP/0/RP0/CPU0:anton(config)#show running-config router ospfv3 # router ospfv3 10 # area 11 # ! @@ -9877,20 +9892,13 @@ Examples # ! # ! # router ospfv3 26 - # authentication disable # area 10 - # hello-interval 4 # ! # ! # router ospfv3 27 # area 10 - # hello-interval 2 # ! # area 20 - # cost 2 - # default-cost 2 - # ! - # area 30 # ! # ! # router ospfv3 30 @@ -9900,143 +9908,182 @@ Examples # ! # ! - - # Using deleted # - # ------------ - # Before state - # ------------ + # Before state: + # ------------- # # # RP/0/RP0/CPU0:anton#show running-config router ospfv3 # router ospfv3 10 # area 11 + # cost 11 + # default-cost 5 # ! # area 22 + # default-cost 6 # ! # ! # router ospfv3 26 # authentication disable # area 10 - # hello-interval 4 + # authentication disable + # hello-interval 2 # ! # ! # router ospfv3 27 # area 10 + # authentication disable # hello-interval 2 # ! # area 20 # cost 2 + # authentication disable # default-cost 2 # ! - # area 30 - # ! # ! # router ospfv3 30 + # cost 2 + # priority 1 + # mtu-ignore + # packet-size 577 + # dead-interval 2 + # retransmit-interval 2 + # demand-circuit + # hello-interval 1 + # transmit-delay 2 + # router-id 2.2.2.2 + # default-metric 10 # area 11 + # default-cost 5 # ! # area 22 + # default-cost 6 # ! # ! - name: Deleted existing OSPFv3 configurations from the device cisco.iosxr.iosxr_ospfv3: config: - processes: - - process_id: '10' - - process_id: '26' - - process_id: '27' - - process_id: '30' state: deleted # + # Task Output: + # ------------ # - # ------------------------ - # Module Execution Result - # ------------------------ - # - # "before": { - # "processes": [ - # { - # "process_id": "10" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "hello_interval": 4 - # } - # ], - # "authentication": { - # "disable": true - # }, - # "process_id": "26" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "hello_interval": 2 - # }, - # { - # "area_id": "20", - # "cost": 2, - # "default_cost": 2 - # } - # ], - # "process_id": "27" - # }, - # { - # "process_id": "30" - # } - # ] - # }, - # - # "commands": [ - # "router ospfv3 26", - # "no authentication disable", - # "no area 10 hello-interval 4", - # "router ospfv3 27", - # "no area 10 hello-interval 2", - # "no area 20 default-cost 2", - # "no area 20 cost 2" - # ] + # before: + # processes: + # - areas: + # - area_id: '11' + # cost: 11 + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # process_id: '10' + # - areas: + # - area_id: '10' + # authentication: + # disable: true + # hello_interval: 2 + # authentication: + # disable: true + # process_id: '26' + # - areas: + # - area_id: '10' + # authentication: + # disable: true + # hello_interval: 2 + # - area_id: '20' + # authentication: + # disable: true + # cost: 2 + # default_cost: 2 + # process_id: '27' + # - areas: + # - area_id: '11' + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # cost: 2 + # dead_interval: 2 + # default_metric: 10 + # demand_circuit: true + # hello_interval: 1 + # mtu_ignore: true + # packet_size: 577 + # priority: 1 + # process_id: '30' + # retransmit_interval: 2 + # router_id: 2.2.2.2 + # transmit_delay: 2 # - # "after": { - # "processes": [ - # { - # "process_id": "10" - # }, - # { - # "process_id": "26" - # }, - # { - # "process_id": "27" - # }, - # { - # "process_id": "30" - # } - # ] - # } + # commands: + # - router ospfv3 10 + # - no area 11 default-cost 5 + # - no area 11 cost 11 + # - no area 22 default-cost 6 + # - router ospfv3 26 + # - no authentication disable + # - no area 10 authentication disable + # - no area 10 hello-interval 2 + # - router ospfv3 27 + # - no area 10 authentication disable + # - no area 10 hello-interval 2 + # - no area 20 authentication disable + # - no area 20 default-cost 2 + # - no area 20 cost 2 + # - router ospfv3 30 + # - no cost 2 + # - no priority 1 + # - no default-metric 10 + # - no router-id 2.2.2.2 + # - no demand-circuit + # - no packet-size 577 + # - no transmit-delay 2 + # - no dead-interval 2 + # - no hello-interval 1 + # - no retransmit-interval 2 + # - no mtu-ignore + # - no area 11 default-cost 5 + # - no area 22 default-cost 6 # + # after: + # processes: + # - process_id: '10' + # - process_id: '26' + # - process_id: '27' + # - process_id: '30' # - # ----------- - # After state - # ----------- + # After state: + # ------------ # # RP/0/RP0/CPU0:anton(config)#show running-config router ospfv3 # router ospfv3 10 + # area 11 + # ! + # area 22 + # ! # ! # router ospfv3 26 + # area 10 + # ! # ! # router ospfv3 27 + # area 10 + # ! + # area 20 + # ! # ! # router ospfv3 30 + # area 11 + # ! + # area 22 + # ! # ! # Using parsed + # # parsed.cfg # ------------ # router ospfv3 10 @@ -10081,72 +10128,45 @@ Examples state: parsed # # - # ------------------------- - # Module Execution Result - # ------------------------- - # + # Task Output: + # ------------ # - # "parsed": { - # "processes": [ - # { - # "areas": [ - # { - # "area_id": "11", - # "cost": 11, - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "process_id": "10" - # }, - # { - # "authentication": { - # "disable": true - # }, - # "process_id": "26" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "hello_interval": 2 - # } - # ], - # "process_id": "27" - # }, - # { - # "areas": [ - # { - # "area_id": "11", - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "cost": 2, - # "dead_interval": 2, - # "default_metric": 10, - # "demand_circuit": true, - # "hello_interval": 1, - # "mtu_ignore": true, - # "packet_size": 577, - # "priority": 1, - # "process_id": "30", - # "retransmit_interval": 2, - # "router_id": "2.2.2.2", - # "transmit_delay": 2 - # } - # ] - # } + # parsed: + # processes: + # - areas: + # - area_id: '11' + # cost: 11 + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # process_id: '10' + # - authentication: + # disable: true + # process_id: '26' + # - areas: + # - area_id: '10' + # hello_interval: 2 + # process_id: '27' + # - areas: + # - area_id: '11' + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # cost: 2 + # dead_interval: 2 + # default_metric: 10 + # demand_circuit: true + # hello_interval: 1 + # mtu_ignore: true + # packet_size: 577 + # priority: 1 + # process_id: '30' + # retransmit_interval: 2 + # router_id: 2.2.2.2 + # transmit_delay: 2 # # Using rendered # - # - name: Render the commands for provided configuration cisco.iosxr.iosxr_ospfv3: config: @@ -10186,35 +10206,32 @@ Examples # # - # ------------------------- - # Module Execution Result - # ------------------------- - # + # Task Output: + # ------------ # - # "rendered": [ - # "router ospfv3 27", - # "area 10 hello-interval 2", - # "router ospfv3 26", - # "authentication disable", - # "router ospfv3 10", - # "area 11 default-cost 5", - # "area 11 cost 11", - # "area 22 default-cost 6", - # "router ospfv3 30", - # "cost 2", - # "priority 1", - # "default-metric 10", - # "router-id 2.2.2.2", - # "demand-circuit", - # "packet-size 577", - # "transmit-delay 2", - # "dead-interval 2", - # "hello-interval 1", - # "retransmit-interval 2", - # "mtu-ignore", - # "area 11 default-cost 5", - # "area 22 default-cost 6" - # ] + # rendered: + # - router ospfv3 27 + # - area 10 hello-interval 2 + # - router ospfv3 26 + # - authentication disable + # - router ospfv3 10 + # - area 11 default-cost 5 + # - area 11 cost 11 + # - area 22 default-cost 6 + # - router ospfv3 30 + # - cost 2 + # - priority 1 + # - default-metric 10 + # - router-id 2.2.2.2 + # - demand-circuit + # - packet-size 577 + # - transmit-delay 2 + # - dead-interval 2 + # - hello-interval 1 + # - retransmit-interval 2 + # - mtu-ignore + # - area 11 default-cost 5 + # - area 22 default-cost 6 # Using gathered @@ -10222,7 +10239,7 @@ Examples # Before state: # ------------- # - # RP/0/RP0/CPU0:anton#show running-config router ospf + # RP/0/RP0/CPU0:anton#show running-config router ospfv3 # router ospfv3 10 # area 11 # cost 11 @@ -10243,8 +10260,6 @@ Examples # ! # area 20 # ! - # area 30 - # ! # ! # router ospfv3 30 # cost 2 @@ -10271,71 +10286,165 @@ Examples state: gathered # # - # ------------------------- - # Module Execution Result - # ------------------------- + # Task Output: + # ------------ # - # "gathered": { - # "processes": [ - # { - # "areas": [ - # { - # "area_id": "11", - # "cost": 11, - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "process_id": "10" - # }, - # { - # "authentication": { - # "disable": true - # }, - # "process_id": "26" - # }, - # { - # "areas": [ - # { - # "area_id": "10", - # "hello_interval": 2 - # } - # ], - # "process_id": "27" - # }, - # { - # "areas": [ - # { - # "area_id": "11", - # "default_cost": 5 - # }, - # { - # "area_id": "22", - # "default_cost": 6 - # } - # ], - # "cost": 2, - # "dead_interval": 2, - # "default_metric": 10, - # "demand_circuit": true, - # "hello_interval": 1, - # "mtu_ignore": true, - # "packet_size": 577, - # "priority": 1, - # "process_id": "30", - # "retransmit_interval": 2, - # "router_id": "2.2.2.2", - # "transmit_delay": 2 - # } - # ] - # } + # gathered: + # processes: + # - areas: + # - area_id: '11' + # cost: 11 + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # process_id: '10' + # - authentication: + # disable: true + # process_id: '26' + # - areas: + # - area_id: '10' + # hello_interval: 2 + # process_id: '27' + # - areas: + # - area_id: '11' + # default_cost: 5 + # - area_id: '22' + # default_cost: 6 + # cost: 2 + # dead_interval: 2 + # default_metric: 10 + # demand_circuit: true + # hello_interval: 1 + # mtu_ignore: true + # packet_size: 577 + # priority: 1 + # process_id: '30' + # retransmit_interval: 2 + # router_id: 2.2.2.2 + # transmit_delay: 2 # +Return Values +------------- +Common return values are documented `here <https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values>`_, the following are the fields unique to this module: + +.. raw:: html + + <table border=0 cellpadding=0 class="documentation-table"> + <tr> + <th colspan="1">Key</th> + <th>Returned</th> + <th width="100%">Description</th> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>after</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when changed</td> + <td> + <div>The resulting configuration model invocation.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">The configuration returned will always be in the same format + of the parameters above.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>before</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>always</td> + <td> + <div>The configuration prior to the model invocation.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">The configuration returned will always be in the same format + of the parameters above.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>commands</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>always</td> + <td> + <div>The set of commands pushed to the remote device.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['router ospfv3 10', 'area 11 default-cost 5', 'area 11 cost 11', 'area 22 default-cost 6']</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>gathered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>gathered</code></td> + <td> + <div>Facts about the network resource gathered from the remote device as structured data.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>parsed</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>parsed</code></td> + <td> + <div>The device native config provided in <em>running_config</em> option parsed into structured data as per module argspec.</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>rendered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>rendered</code></td> + <td> + <div>The provided configuration in the task rendered in device-native format (offline).</div> + <br/> + <div style="font-size: smaller"><b>Sample:</b></div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['router ospfv3 27', 'area 10 hello-interval 2']</div> + </td> + </tr> + </table> + <br/><br/> + Status ------ diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_prefix_lists_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_prefix_lists_module.rst index 0688d93bf..348b07d0c 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_prefix_lists_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_prefix_lists_module.rst @@ -319,59 +319,108 @@ Examples .. code-block:: yaml # Using merged + + # Before state - #RP/0/0/CPU0:10#show running-config - #Thu Feb 4 09:38:36.245 UTC - #% No such configuration item(s) - #RP/0/0/CPU0:10# + # RP/0/0/CPU0:10#show running-config + # Thu Feb 4 09:38:36.245 UTC + # % No such configuration item(s) + # RP/0/0/CPU0:10# # + + - name: Merge the provided configuration with the existing running configuration cisco.iosxr.iosxr_prefix_lists: - state: merged - config: - - afi: ipv6 - prefix_lists: - - name: pl_1 - entries: - - prefix: 2001:db8:1234::/48 - action: deny - sequence: 1 - - name: pl_2 - entries: - - sequence: 2 - action: remark - description: TEST_PL_2_REMARK - - afi: ipv4 - prefix_lists: - - name: pl1 - entries: - - sequence: 3 - action: remark - description: TEST_PL1_2_REMARK - - sequence: 4 - action: permit - prefix: 10.0.0.0/24 - - name: pl2 - entries: - - sequence: 5 - action: remark - description: TEST_PL2_REMARK - - name: pl3 - entries: - - sequence: 6 - action: permit - prefix: 35.0.0.0/8 - eq: 0 + state: merged + config: + - afi: ipv6 + prefix_lists: + - name: pl_1 + entries: + - prefix: '2001:db8:1234::/48' + action: deny + sequence: 1 + - name: pl_2 + entries: + - sequence: 2 + action: remark + description: TEST_PL_2_REMARK + - afi: ipv4 + prefix_lists: + - name: pl1 + entries: + - sequence: 3 + action: remark + description: TEST_PL1_2_REMARK + - sequence: 4 + action: permit + prefix: 10.0.0.0/24 + - name: pl2 + entries: + - sequence: 5 + action: remark + description: TEST_PL2_REMARK + - name: pl3 + entries: + - sequence: 6 + action: permit + prefix: 35.0.0.0/8 + eq: 0 + + # Task Output + # ------------- + # before: [] + # commands: + # - ipv6 prefix-list pl_1 1 deny 2001:db8:1234::/48 + # - ipv6 prefix-list pl_2 2 remark TEST_PL_2_REMARK + # - ipv4 prefix-list pl1 3 remark TEST_PL1_2_REMARK + # - ipv4 prefix-list pl1 4 permit 10.0.0.0/24 + # - ipv4 prefix-list pl2 5 remark TEST_PL2_REMARK + # - ipv4 prefix-list pl3 6 permit 35.0.0.0/8 eq 0 + # after: + # - afi: ipv6 + # prefix_lists: + # - name: pl_1 + # entries: + # - prefix: 2001:db8:1234::/48 + # action: deny + # sequence: 1 + # - name: pl_2 + # entries: + # - sequence: 2 + # action: remark + # description: TEST_PL_2_REMARK + # - afi: ipv4 + # prefix_lists: + # - name: pl1 + # entries: + # - sequence: 3 + # action: remark + # description: TEST_PL1_2_REMARK + # - sequence: 4 + # action: permit + # prefix: 10.0.0.0/24 + # - name: pl2 + # entries: + # - sequence: 5 + # action: remark + # description: TEST_PL2_REMARK + # - name: pl3 + # entries: + # - sequence: 6 + # action: permit + # prefix: 35.0.0.0/8 + # eq: 0 + - # # After state: - # - #RP/0/0/CPU0:10#show running-config + # ------------ + # RP/0/0/CPU0:10#show running-config # ipv6 prefix-list pl_1 # 1 deny 2001:db8:1234::/48 # ! # ipv6 prefix-list pl_2 - # 2 remark TEST_PL_2_REMARK + # 2 remark TEST_PL_2_REMAR # ! # ipv4 prefix-list pl1 # 3 remark TEST_PL1_2_REMARK @@ -384,91 +433,13 @@ Examples # 6 permit 35.0.0.0/8 eq 0 # ! - #Module execution - # - # "after": [ - # { - # "afi": "ipv6", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "prefix": "2001:db8:1234::/48", - # "sequence": 1 - # } - # ], - # "name": "pl_1" - # }, - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL_2_REMARK", - # "sequence": 2 - # } - # ], - # "name": "pl_2" - # } - # ] - # }, - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL1_2_REMARK", - # "sequence": 3 - # }, - # { - # "action": "permit", - # "prefix": "10.0.0.0/24", - # "sequence": 4 - # } - # ], - # "name": "pl1" - # }, - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL2_REMARK", - # "sequence": 5 - # } - # ], - # "name": "pl2" - # }, - # { - # "entries": [ - # { - # "action": "permit", - # "prefix": "35.0.0.0/8", - # "sequence": 6, - # "eq": 0 - # } - # ], - # "name": "pl3" - # }, - # ] - # } - # ], - # "before": [], - # "changed": true, - # "commands": [ - # "ipv6 prefix-list pl_1 1 deny 2001:db8:1234::/48", - # "ipv6 prefix-list pl_2 2 remark TEST_PL_2_REMARK", - # "ipv4 prefix-list pl1 3 remark TEST_PL1_2_REMARK", - # "ipv4 prefix-list pl1 4 permit 10.0.0.0/24", - # "ipv4 prefix-list pl2 5 remark TEST_PL2_REMARK" - # "ipv4 prefix-list pl3 6 permit 35.0.0.0/8 eq 0" - # ] - #----------------------------------------------------------------------- + # Using replaced: - # -------------- - # Before state - #RP/0/0/CPU0:10#show running-config + + + # Before state: + # ------------- + # RP/0/0/CPU0:10#show running-config # # ipv6 prefix-list pl_1 # 1 deny 2001:db8:1234::/48 @@ -484,33 +455,100 @@ Examples # 5 remark TEST_PL2_REMARK # ! # - # - - name: Replace device configurations of listed prefix lists with provided configurations + + + - name: >- + Replace device configurations of listed prefix lists with provided + configurations register: result - cisco.iosxr.iosxr_prefix_lists: &id001 + cisco.iosxr.iosxr_prefix_lists: config: - - afi: ipv4 - prefix_lists: - - name: pl1 - entries: - - sequence: 3 - action: permit - prefix: 10.0.0.0/24 - - afi: ipv6 - prefix_lists: - - name: pl_1 - entries: - - prefix: 2001:db8:1234::/48 - action: permit - sequence: 1 - - name: pl_2 - entries: - - sequence: 2 - action: remark - description: TEST_PL1_2 + - afi: ipv4 + prefix_lists: + - name: pl1 + entries: + - sequence: 3 + action: permit + prefix: 10.0.0.0/24 + - afi: ipv6 + prefix_lists: + - name: pl_1 + entries: + - prefix: '2001:db8:1234::/48' + action: permit + sequence: 1 + - name: pl_2 + entries: + - sequence: 2 + action: remark + description: TEST_PL1_2 state: replaced + + + # Task Output + # ------------- + # before: + # - afi: ipv6 + # prefix_lists: + # - entries: + # - action: deny + # prefix: 2001:db8:1234::/48 + # sequence: 1 + # name: pl_1 + # - entries: + # - action: remark + # description: TEST_PL_2_REMARK + # sequence: 2 + # name: pl_2 + # - afi: ipv4 + # prefix_lists: + # - entries: + # - action: remark + # description: TEST_PL1_2_REMARK + # sequence: 3 + # - action: permit + # prefix: 10.0.0.0/24 + # sequence: 4 + # name: pl1 + # - entries: + # - action: remark + # description: TEST_PL2_REMARK + # sequence: 5 + # name: pl2 + # commands: + # - no ipv4 prefix-list pl1 3 remark TEST_PL1_2_REMARK + # - no ipv4 prefix-list pl1 4 permit 10.0.0.0/24 + # - ipv4 prefix-list pl1 3 permit 10.0.0.0/24 + # - ipv6 prefix-list pl_2 2 remark TEST_PL1_2 + # after: + # - afi: ipv6 + # prefix_lists: + # - entries: + # - action: deny + # prefix: 2001:db8:1234::/48 + # sequence: 1 + # name: pl_1 + # - entries: + # - action: remark + # description: TEST_PL1_2 + # sequence: 2 + # name: pl_2 + # - afi: ipv4 + # prefix_lists: + # - entries: + # - action: permit + # prefix: 10.0.0.0/24 + # sequence: 3 + # name: pl1 + # - entries: + # - action: remark + # description: TEST_PL2_REMARK + # sequence: 5 + # name: pl2 + + # After state: - #RP/0/0/CPU0:10#show running-config + # RP/0/0/CPU0:10#show running-config # # ipv6 prefix-list pl_1 # 1 deny 2001:db8:1234::/48 @@ -526,179 +564,14 @@ Examples # # Module Execution: # - # "after": [ - # { - # "afi": "ipv6", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "prefix": "2001:db8:1234::/48", - # "sequence": 1 - # } - # ], - # "name": "pl_1" - # }, - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL1_2", - # "sequence": 2 - # } - # ], - # "name": "pl_2" - # } - # ] - # }, - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "permit", - # "prefix": "10.0.0.0/24", - # "sequence": 3 - # } - # ], - # "name": "pl1" - # }, - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL2_REMARK", - # "sequence": 5 - # } - # ], - # "name": "pl2" - # } - # ] - # } - # ], - # "before": [ - # { - # "afi": "ipv6", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "prefix": "2001:db8:1234::/48", - # "sequence": 1 - # } - # ], - # "name": "pl_1" - # }, - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL_2_REMARK", - # "sequence": 2 - # } - # ], - # "name": "pl_2" - # } - # ] - # }, - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL1_2_REMARK", - # "sequence": 3 - # }, - # { - # "action": "permit", - # "prefix": "10.0.0.0/24", - # "sequence": 4 - # } - # ], - # "name": "pl1" - # }, - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL2_REMARK", - # "sequence": 5 - # } - # ], - # "name": "pl2" - # } - # ] - # } - # ], - # "changed": true, - # "commands": [ - # "no ipv4 prefix-list pl1 3 remark TEST_PL1_2_REMARK", - # "no ipv4 prefix-list pl1 4 permit 10.0.0.0/24", - # "ipv4 prefix-list pl1 3 permit 10.0.0.0/24", - # "ipv6 prefix-list pl_2 2 remark TEST_PL1_2" - # ], - # "invocation": { - # "module_args": { - # "config": [ - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "permit", - # "description": null, - # "prefix": "10.0.0.0/24", - # "sequence": 3 - # } - # ], - # "name": "pl1" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "permit", - # "description": null, - # "prefix": "2001:db8:1234::/48", - # "sequence": 1 - # } - # ], - # "name": "pl_1" - # }, - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL1_2", - # "prefix": null, - # "sequence": 2 - # } - # ], - # "name": "pl_2" - # } - # ] - # } - # ], - # "running_config": null, - # "state": "replaced" - # } - # } - # } - #------------------------------------------------------------------ + + # Using deleted: - # ------------- + + # Before state: - #RP/0/0/CPU0:10#show running-config + # ------------- + # RP/0/0/CPU0:10#show running-config # # ipv6 prefix-list pl_1 # 1 deny 2001:db8:1234::/48 @@ -719,99 +592,61 @@ Examples cisco.iosxr.iosxr_prefix_lists: state: deleted + # Task Output + # ------------- + # before: + # - afi: ipv6 + # prefix_lists: + # - name: pl_1 + # entries: + # - prefix: 2001:db8:1234::/48 + # action: deny + # sequence: 1 + # - name: pl_2 + # entries: + # - sequence: 2 + # action: remark + # description: TEST_PL_2_REMARK + # - afi: ipv4 + # prefix_lists: + # - name: pl1 + # entries: + # - sequence: 3 + # action: remark + # description: TEST_PL1_2_REMARK + # - sequence: 4 + # action: permit + # prefix: 10.0.0.0/24 + # - name: pl2 + # entries: + # - sequence: 5 + # action: remark + # description: TEST_PL2_REMARK + # - name: pl3 + # entries: + # - sequence: 6 + # action: permit + # prefix: 35.0.0.0/8 + # eq: 0 + # commands: + # - no ipv6 prefix-list pl_1 + # - no ipv6 prefix-list pl_2 + # - no ipv4 prefix-list pl1 + # - no ipv4 prefix-list pl2 + # - no ipv4 prefix-list pl3 + # after: [] + + # After state: - #RP/0/0/CPU0:10#show running-config - # - # - # Module Execution: - # - # "after": [], - # "before": [ - # { - # "afi": "ipv6", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "prefix": "2001:db8:1234::/48", - # "sequence": 1 - # } - # ], - # "name": "pl_1" - # }, - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL1_2", - # "sequence": 2 - # } - # ], - # "name": "pl_2" - # } - # ] - # }, - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "permit", - # "prefix": "10.0.0.0/24", - # "sequence": 3 - # } - # ], - # "name": "pl1" - # }, - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL2_REMARK", - # "sequence": 5 - # } - # ], - # "name": "pl2" - # }, - # { - # "entries": [ - # { - # "action": "permit", - # "prefix": " 35.0.0.0/8", - # "sequence": 6, - # "eq": 0 - # } - # ], - # "name": "pl3" - # }, - # ] - # } - # ], - # "changed": true, - # "commands": [ - # "no ipv6 prefix-list pl_1", - # "no ipv6 prefix-list pl_2", - # "no ipv4 prefix-list pl1", - # "no ipv4 prefix-list pl2" - # "no ipv4 prefix-list pl3" - # ], - # "invocation": { - # "module_args": { - # "config": null, - # "running_config": null, - # "state": "deleted" - # } - # } - # } - #--------------------------------------------------------------------------------- + # RP/0/0/CPU0:10#show running-config # + # using gathered: - # -------------- - # Before state: - #RP/0/0/CPU0:10#show running-config - # + + + # After state: + # ------------ + # RP/0/0/CPU0:10#show running-config # ipv6 prefix-list pl_1 # 1 deny 2001:db8:1234::/48 # ! @@ -824,91 +659,57 @@ Examples # ! # ipv4 prefix-list pl2 # 5 remark TEST_PL2_REMARK - #! + # ! # ipv4 prefix-list pl3 # 6 permit 35.0.0.0/8 eq 0 - #! + # ! + + - name: Gather ACL interfaces facts using gathered state cisco.iosxr.iosxr_prefix_lists: - state: gathered - # - # Module Execution: - # - # "gathered": [ - # { - # "afi": "ipv6", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "prefix": "2001:db8:1234::/48", - # "sequence": 1 - # } - # ], - # "name": "pl_1" - # }, - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL_2_REMARK", - # "sequence": 2 - # } - # ], - # "name": "pl_2" - # } - # ] - # }, - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL1_2_REMARK", - # "sequence": 3 - # }, - # { - # "action": "permit", - # "prefix": "10.0.0.0/24", - # "sequence": 4 - # } - # ], - # "name": "pl1" - # }, - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL2_REMARK", - # "sequence": 5 - # } - # ], - # "name": "pl2" - # }, - # { - # "entries": [ - # { - # "action": "permit", - # "prefix": "35.0.0.0/8", - # "sequence": 6, - # "eq": 0 - # } - # ], - # "name": "pl3" - # }, - # ] - # } - # ], - # "changed": false, - #-------------------------------------------------------------------------- + state: gathered + + # gathered: + # - afi: ipv6 + # prefix_lists: + # - name: pl_1 + # entries: + # - prefix: 2001:db8:1234::/48 + # action: deny + # sequence: 1 + # - name: pl_2 + # entries: + # - sequence: 2 + # action: remark + # description: TEST_PL_2_REMARK + # - afi: ipv4 + # prefix_lists: + # - name: pl1 + # entries: + # - sequence: 3 + # action: remark + # description: TEST_PL1_2_REMARK + # - sequence: 4 + # action: permit + # prefix: 10.0.0.0/24 + # - name: pl2 + # entries: + # - sequence: 5 + # action: remark + # description: TEST_PL2_REMARK + # - name: pl3 + # entries: + # - sequence: 6 + # action: permit + # prefix: 35.0.0.0/8 + # eq: 0 + + # Using parsed: - # -------------- - # + + # parsed.cfg - #------------------------------ + # ------------------------------ # ipv6 prefix-list pl_1 # 1 deny 2001:db8:1234::/48 # ! @@ -921,129 +722,93 @@ Examples # ! # ipv4 prefix-list pl2 # 5 remark TEST_PL2_REMARK - #! - # ipv4 prefix-list pl3 - # 6 permit 35.0.0.0/8 eq 0 - # - # + + - name: Parse externally provided Prefix_lists config to agnostic model cisco.iosxr.iosxr_prefix_lists: - running_config: "{{ lookup('file', './fixtures/parsed.cfg') }}" - state: parsed - # - # Module execution: - #"parsed": [ - # { - # "afi": "ipv6", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "prefix": "2001:db8:1234::/48", - # "sequence": 1 - # } - # ], - # "name": "pl_1" - # }, - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL_2_REMARK", - # "sequence": 2 - # } - # ], - # "name": "pl_2" - # } - # ] - # }, - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL1_2_REMARK", - # "sequence": 3 - # }, - # { - # "action": "permit", - # "prefix": "10.0.0.0/24", - # "sequence": 4 - # } - # ], - # "name": "pl1" - # }, - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL2_REMARK", - # "sequence": 5 - # } - # ], - # "name": "pl2" - # }, - # { - # "entries": [ - # { - # "action": "permit", - # "prefix": "35.0.0.0/8", - # "sequence": 6, - # "eq": 0 - # } - # ], - # "name": "pl3" - # }, - # ] - # } - # ] - # - #---------------------------------------------------------------------------- + running_config: '{{ lookup(''file'', ''./fixtures/parsed.cfg'') }}' + state: parsed + + + # Task Output + # ------------- + # parsed: + # - afi: ipv6 + # prefix_lists: + # - name: pl_1 + # entries: + # - prefix: 2001:db8:1234::/48 + # action: deny + # sequence: 1 + # - name: pl_2 + # entries: + # - sequence: 2 + # action: remark + # description: TEST_PL_2_REMARK + # - afi: ipv4 + # prefix_lists: + # - name: pl1 + # entries: + # - sequence: 3 + # action: remark + # description: TEST_PL1_2_REMARK + # - sequence: 4 + # action: permit + # prefix: 10.0.0.0/24 + # - name: pl2 + # entries: + # - sequence: 5 + # action: remark + # description: TEST_PL2_REMARK + # - sequence: 6 + # action: permit + # prefix: 35.0.0.0/8 + # eq: 0 + + # Using rendered: - # -------------- - # + + - name: Render platform specific commands from task input using rendered state register: result cisco.iosxr.iosxr_prefix_lists: - config: - - afi: ipv6 - prefix_lists: - - name: pl_1 - entries: - - prefix: 2001:db8:1234::/48 - action: deny - sequence: 1 - - name: pl_2 - entries: - - sequence: 2 - action: remark - description: TEST_PL_2_REMARK - - afi: ipv4 - prefix_lists: - - name: pl1 - entries: - - sequence: 3 - action: remark - description: TEST_PL1_2_REMARK - - sequence: 4 - action: permit - prefix: 10.0.0.0/24 - - name: pl2 - entries: - - sequence: 5 - action: remark - description: TEST_PL2_REMARK - - sequence: 6 - action: permit - prefix: 35.0.0.0/8 - eq: 0 - - state: rendered - # After state: - # Module Execution: + config: + - afi: ipv6 + prefix_lists: + - name: pl_1 + entries: + - prefix: '2001:db8:1234::/48' + action: deny + sequence: 1 + - name: pl_2 + entries: + - sequence: 2 + action: remark + description: TEST_PL_2_REMARK + - afi: ipv4 + prefix_lists: + - name: pl1 + entries: + - sequence: 3 + action: remark + description: TEST_PL1_2_REMARK + - sequence: 4 + action: permit + prefix: 10.0.0.0/24 + - name: pl2 + entries: + - sequence: 5 + action: remark + description: TEST_PL2_REMARK + - sequence: 6 + action: permit + prefix: 35.0.0.0/8 + eq: 0 + state: rendered + + + # Task Output + # ------------- # "rendered": [ # "ipv6 prefix-list pl_1 1 deny 2001:db8:1234::/48", # "ipv6 prefix-list pl_2 2 remark TEST_PL_2_REMARK", @@ -1052,12 +817,13 @@ Examples # "ipv4 prefix-list pl2 5 remark TEST_PL2_REMARK", # "ipv4 prefix-list pl2 6 permit 35.0.0.0/8 eq 0" # ] - # - #--------------------------------------------------------------------------------- + # Using overridden: - # -------------- + + # Before state: - #RP/0/0/CPU0:10#show running-config + # ------------- + # RP/0/0/CPU0:10#show running-config # # ipv6 prefix-list pl_1 # 1 deny 2001:db8:1234::/48 @@ -1074,175 +840,88 @@ Examples # - name: Overridde all Prefix_lists configuration with provided configuration cisco.iosxr.iosxr_prefix_lists: - config: - - afi: ipv4 - prefix_lists: - - name: pl3 - entries: - - sequence: 3 - action: remark - description: TEST_PL1_3_REMARK - - sequence: 4 - action: permit - prefix: 10.0.0.0/24 - - sequence: 6 - action: permit - prefix: 35.0.0.0/8 - eq: 0 - state: overridden + config: + - afi: ipv4 + prefix_lists: + - name: pl3 + entries: + - sequence: 3 + action: remark + description: TEST_PL1_3_REMARK + - sequence: 4 + action: permit + prefix: 10.0.0.0/24 + - sequence: 6 + action: permit + prefix: 35.0.0.0/8 + eq: 0 + state: overridden + + + # Task Output + # ------------- + # before: + # - afi: ipv6 + # prefix_lists: + # - entries: + # - action: deny + # prefix: 2001:db8:1234::/48 + # sequence: 1 + # name: pl_1 + # - entries: + # - action: remark + # description: TEST_PL_2_REMARK + # sequence: 2 + # name: pl_2 + # - afi: ipv4 + # prefix_lists: + # - entries: + # - action: remark + # description: TEST_PL1_2_REMARK + # sequence: 3 + # - action: permit + # prefix: 10.0.0.0/24 + # sequence: 4 + # name: pl1 + # - entries: + # - action: remark + # description: TEST_PL2_REMARK + # sequence: 5 + # name: pl2 + # commands: + # - no ipv6 prefix-list pl_1 + # - no ipv6 prefix-list pl_2 + # - no ipv4 prefix-list pl1 + # - no ipv4 prefix-list pl2 + # - ipv4 prefix-list pl3 3 remark TEST_PL1_3_REMARK + # - ipv4 prefix-list pl3 4 permit 10.0.0.0/24 + # - ipv4 prefix-list pl3 6 permit 35.0.0.0/8 eq 0 + # after: + # - afi: ipv4 + # prefix_lists: + # - entries: + # - action: remark + # description: TEST_PL1_3_REMARK + # sequence: 3 + # - action: permit + # prefix: 10.0.0.0/24 + # sequence: 4 + # - action: permit + # prefix: 35.0.0.0/8 + # sequence: 6 + # eq: 0 + # name: pl3 + # After state: - #RP/0/0/CPU0:10#show running-config + # RP/0/0/CPU0:10#show running-config # - #ipv4 prefix-list pl3 + # ipv4 prefix-list pl3 # 3 remark TEST_PL1_3_REMARK # 4 permit 10.0.0.0/24 # 6 permit 35.0.0.0/8 eq 0 # ! - #! - # # Module Execution: - # "after": [ - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL1_3_REMARK", - # "sequence": 3 - # }, - # { - # "action": "permit", - # "prefix": "10.0.0.0/24", - # "sequence": 4 - # }, - # { - # "action": "permit", - # "prefix": "35.0.0.0/8", - # "sequence": 6, - # "eq": 0 - # } - # ], - # "name": "pl3" - # } - # ] - # } - # ], - # "before": [ - # { - # "afi": "ipv6", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "prefix": "2001:db8:1234::/48", - # "sequence": 1 - # } - # ], - # "name": "pl_1" - # }, - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL_2_REMARK", - # "sequence": 2 - # } - # ], - # "name": "pl_2" - # } - # ] - # }, - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL1_2_REMARK", - # "sequence": 3 - # }, - # { - # "action": "permit", - # "prefix": "10.0.0.0/24", - # "sequence": 4 - # } - # ], - # "name": "pl1" - # }, - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL2_REMARK", - # "sequence": 5 - # } - # ], - # "name": "pl2" - # } - # ] - # } - # ], - # "changed": true, - # "commands": [ - # "no ipv6 prefix-list pl_1", - # "no ipv6 prefix-list pl_2", - # "no ipv4 prefix-list pl1", - # "no ipv4 prefix-list pl2", - # "ipv4 prefix-list pl3 3 remark TEST_PL1_3_REMARK", - # "ipv4 prefix-list pl3 4 permit 10.0.0.0/24", - # "ipv4 prefix-list pl3 6 permit 35.0.0.0/8 eq 0" - # ], - # "invocation": { - # "module_args": { - # "config": [ - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "remark", - # "description": "TEST_PL1_3_REMARK", - # "prefix": null, - # "sequence": 3, - # "ge": null, - # "le": null, - # "eq": null - # }, - # { - # "action": "permit", - # "description": null, - # "prefix": "10.0.0.0/24", - # "sequence": 4, - # "ge": null, - # "le": null, - # "eq": null - # }, - # { - # "action": "permit", - # "description": null, - # "prefix": "35.0.0.0/8", - # "sequence": 6, - # "ge": null, - # "le": null, - # "eq": 0 - # } - # ], - # "name": "pl3" - # } - # ] - # } - # ], - # "running_config": null, - # "state": "overridden" - # } - # } - # } - # + # ! diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_snmp_server_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_snmp_server_module.rst index b89aea405..eab8fe518 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_snmp_server_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_snmp_server_module.rst @@ -5417,101 +5417,102 @@ Examples # --------------------- EMPTY ----------------- # Merged play: # ------------ + - name: Merge the provided configuration with the existing running configuration cisco.iosxr.iosxr_snmp_server: - config: - vrfs: - - hosts: - - community: test1 - host: 1.1.1.1 - traps: true - vrf: vrf1 - users: - - Ipv4_acl: test1 - Ipv6_acl: test2 - group: test2 - user: u1 - version: v1 - timeouts: - duplicate: 0 - inQdrop: 0 - trap: - throttle_time: 12 - targets: - - host: 1.1.1.2 - name: test + config: + vrfs: + - hosts: + - community: test1 + host: 1.1.1.1 + traps: true + vrf: vrf1 + users: + - Ipv4_acl: test1 + Ipv6_acl: test2 + group: test2 + user: u1 + version: v1 + timeouts: + duplicate: 0 + inQdrop: 0 + trap: + throttle_time: 12 + targets: + - host: 1.1.1.2 + name: test + ifmib: + internal_cache_max_duration: 4 + inform: + retries: 7 + chassis_id: test2 + packetsize: 490 + queue_length: 2 + throttle_time: 60 + trap_source: GigabitEthernet0/0/0/2 + trap_timeout: 3 + context: + - c1 + - c2 + contact: t1 + correlator: + buffer_size: 1024 + communities: + - name: test2 + ro: true + sdrowner: true + acl_v4: test + acl_v6: test1 + community_maps: + - name: cm1 + context: c1 + target_list: t1 + security_name: s1 + drop: + report_IPv4: test1 + unknown_user: true + ipv6: + precedence: routine + ipv4: + dscp: af11 + location: test1 + logging_threshold_oid_processing: 1 + logging_threshold_pdu_processing: 1 + mib_bulkstat_max_procmem_size: 101 + mroutemib_send_all_vrf: true + overload_control: + overload_drop_time: 4 + overload_throttle_rate: 6 + notification_log_mib: + GlobalSize: 5 + size: 5 + traps: + hsrp: true + ipsla: true + ipsec: + start: true + stop: true + bridgemib: true + bulkstat_collection: true + cisco_entity_ext: true + config: true + copy_complete: true + addrpool: + high: true + low: true + bfd: true + bgp: + cbgp2: true + l2tun: + sessions: true + tunnel_down: true + tunnel_up: true + l2vpn: + all: true + vc_down: true + vc_up: true + msdp_peer_state_change: true - ifmib: - internal_cache_max_duration: 4 - inform: - retries: 7 - chassis_id: test2 - packetsize: 490 - queue_length: 2 - throttle_time: 60 - trap_source: GigabitEthernet0/0/0/2 - trap_timeout: 3 - context: - - c1 - - c2 - contact: t1 - correlator: - buffer_size: 1024 - communities: - - name: test2 - ro: true - sdrowner: true - acl_v4: test - acl_v6: test1 - community_maps: - - name: cm1 - context: c1 - target_list: t1 - security_name: s1 - drop: - report_IPv4: test1 - unknown_user: true - ipv6: - precedence: routine - ipv4: - dscp: af11 - location: test1 - logging_threshold_oid_processing: 1 - logging_threshold_pdu_processing: 1 - mib_bulkstat_max_procmem_size: 101 - mroutemib_send_all_vrf: true - overload_control: - overload_drop_time: 4 - overload_throttle_rate: 6 - notification_log_mib: - GlobalSize: 5 - size: 5 - traps: - hsrp: true - ipsla: true - ipsec: - start: true - stop: true - bridgemib: true - bulkstat_collection: true - cisco_entity_ext: true - config: true - copy_complete: true - addrpool: - high: true - low: true - bfd: true - bgp: - cbgp2: true - l2tun: - sessions: true - tunnel_down: true - tunnel_up: true - l2vpn: - all: true - vc_down: true - vc_up: true - msdp_peer_state_change: true # # Commands Fired: # ------------ @@ -5822,78 +5823,78 @@ Examples # ---------------- - name: Override Snmp-server configuration with provided configuration cisco.iosxr.iosxr_snmp_server: - config: - timeouts: - duplicate: 0 - inQdrop: 0 - trap: - throttle_time: 13 - targets: - - host: 1.1.1.2 - name: test + config: + timeouts: + duplicate: 0 + inQdrop: 0 + trap: + throttle_time: 13 + targets: + - host: 1.1.1.2 + name: test + ifmib: + internal_cache_max_duration: 5 + inform: + retries: 7 + chassis_id: test + packetsize: 491 + queue_length: 2 + throttle_time: 60 + trap_source: GigabitEthernet0/0/0/2 + trap_timeout: 3 + context: + - c1 + - c2 + contact: t1 + correlator: + buffer_size: 1025 + communities: + - name: test1 + ro: true + sdrowner: true + acl_v4: test + acl_v6: test1 + community_maps: + - name: cm2 + context: c1 + target_list: t1 + security_name: s1 + drop: + report_IPv4: test2 + unknown_user: true + ipv6: + precedence: routine + ipv4: + dscp: af11 + location: test1 + logging_threshold_oid_processing: 2 + logging_threshold_pdu_processing: 2 + mib_bulkstat_max_procmem_size: 101 + mroutemib_send_all_vrf: true + overload_control: + overload_drop_time: 4 + overload_throttle_rate: 6 + notification_log_mib: + GlobalSize: 5 + size: 5 + traps: + hsrp: true + ipsla: true + ipsec: + start: true + stop: true + bridgemib: true + bulkstat_collection: true + cisco_entity_ext: true + config: true + copy_complete: true + l2vpn: + all: true + vc_down: true + vc_up: true + msdp_peer_state_change: true + state: overridden - ifmib: - internal_cache_max_duration: 5 - inform: - retries: 7 - chassis_id: test - packetsize: 491 - queue_length: 2 - throttle_time: 60 - trap_source: GigabitEthernet0/0/0/2 - trap_timeout: 3 - context: - - c1 - - c2 - contact: t1 - correlator: - buffer_size: 1025 - communities: - - name: test1 - ro: true - sdrowner: true - acl_v4: test - acl_v6: test1 - community_maps: - - name: cm2 - context: c1 - target_list: t1 - security_name: s1 - drop: - report_IPv4: test2 - unknown_user: true - ipv6: - precedence: routine - ipv4: - dscp: af11 - location: test1 - logging_threshold_oid_processing: 2 - logging_threshold_pdu_processing: 2 - mib_bulkstat_max_procmem_size: 101 - mroutemib_send_all_vrf: true - overload_control: - overload_drop_time: 4 - overload_throttle_rate: 6 - notification_log_mib: - GlobalSize: 5 - size: 5 - traps: - hsrp: true - ipsla: true - ipsec: - start: true - stop: true - bridgemib: true - bulkstat_collection: true - cisco_entity_ext: true - config: true - copy_complete: true - l2vpn: - all: true - vc_down: true - vc_up: true - msdp_peer_state_change: true - state: overridden # Commands Fired: # --------------- # "commands": [ @@ -6033,78 +6034,78 @@ Examples # ---------------- - name: Replace Snmp-server configuration with provided configuration cisco.iosxr.iosxr_snmp_server: - state: replaced - config: - timeouts: - duplicate: 0 - inQdrop: 0 - trap: - throttle_time: 13 - targets: - - host: 1.1.1.2 - name: test + state: replaced + config: + timeouts: + duplicate: 0 + inQdrop: 0 + trap: + throttle_time: 13 + targets: + - host: 1.1.1.2 + name: test + ifmib: + internal_cache_max_duration: 5 + inform: + retries: 7 + chassis_id: test + packetsize: 491 + queue_length: 2 + throttle_time: 60 + trap_source: GigabitEthernet0/0/0/2 + trap_timeout: 3 + context: + - c1 + - c2 + contact: t1 + correlator: + buffer_size: 1025 + communities: + - name: test1 + ro: true + sdrowner: true + acl_v4: test + acl_v6: test1 + community_maps: + - name: cm2 + context: c1 + target_list: t1 + security_name: s1 + drop: + report_IPv4: test2 + unknown_user: true + ipv6: + precedence: routine + ipv4: + dscp: af11 + location: test1 + logging_threshold_oid_processing: 2 + logging_threshold_pdu_processing: 2 + mib_bulkstat_max_procmem_size: 101 + mroutemib_send_all_vrf: true + overload_control: + overload_drop_time: 4 + overload_throttle_rate: 6 + notification_log_mib: + GlobalSize: 5 + size: 5 + traps: + hsrp: true + ipsla: true + ipsec: + start: true + stop: true + bridgemib: true + bulkstat_collection: true + cisco_entity_ext: true + config: true + copy_complete: true + l2vpn: + all: true + vc_down: true + vc_up: true + msdp_peer_state_change: true - ifmib: - internal_cache_max_duration: 5 - inform: - retries: 7 - chassis_id: test - packetsize: 491 - queue_length: 2 - throttle_time: 60 - trap_source: GigabitEthernet0/0/0/2 - trap_timeout: 3 - context: - - c1 - - c2 - contact: t1 - correlator: - buffer_size: 1025 - communities: - - name: test1 - ro: true - sdrowner: true - acl_v4: test - acl_v6: test1 - community_maps: - - name: cm2 - context: c1 - target_list: t1 - security_name: s1 - drop: - report_IPv4: test2 - unknown_user: true - ipv6: - precedence: routine - ipv4: - dscp: af11 - location: test1 - logging_threshold_oid_processing: 2 - logging_threshold_pdu_processing: 2 - mib_bulkstat_max_procmem_size: 101 - mroutemib_send_all_vrf: true - overload_control: - overload_drop_time: 4 - overload_throttle_rate: 6 - notification_log_mib: - GlobalSize: 5 - size: 5 - traps: - hsrp: true - ipsla: true - ipsec: - start: true - stop: true - bridgemib: true - bulkstat_collection: true - cisco_entity_ext: true - config: true - copy_complete: true - l2vpn: - all: true - vc_down: true - vc_up: true - msdp_peer_state_change: true # # Commands Fired: # --------------- @@ -6397,7 +6398,9 @@ Examples # Using state: rendered # Rendered play: # -------------- - - name: Render platform specific configuration lines with state rendered (without connecting to the device) + - name: >- + Render platform specific configuration lines with state rendered (without + connecting to the device) cisco.iosxr.iosxr_snmp_server: state: rendered config: @@ -6421,7 +6424,6 @@ Examples targets: - host: 1.1.1.2 name: test - ifmib: internal_cache_max_duration: 4 inform: @@ -6494,6 +6496,7 @@ Examples vc_up: true msdp_peer_state_change: true register: result + # Module Execution Result: # ------------------------ # "rendered": [ diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_static_routes_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_static_routes_module.rst index 5ee96ef65..5005ef6b2 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_static_routes_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_static_routes_module.rst @@ -445,57 +445,115 @@ Examples - name: Merge the provided configuration with the existing running configuration cisco.iosxr.iosxr_static_routes: config: - - address_families: - - afi: ipv4 - safi: unicast - routes: - - dest: 192.0.2.16/28 - next_hops: - - forward_router_address: 192.0.2.10 - interface: FastEthernet0/0/0/1 - description: LAB - metric: 120 - tag: 10 - - - interface: FastEthernet0/0/0/5 - track: ip_sla_1 - - - dest: 192.0.2.32/28 - next_hops: - - forward_router_address: 192.0.2.11 - admin_distance: 100 - - - afi: ipv6 - safi: unicast - routes: - - dest: 2001:db8:1000::/36 - next_hops: - - interface: FastEthernet0/0/0/7 - description: DC - - - interface: FastEthernet0/0/0/8 - forward_router_address: 2001:db8:2000:2::1 - - - vrf: DEV_SITE - address_families: - - afi: ipv4 - safi: unicast - routes: - - dest: 192.0.2.48/28 - next_hops: - - forward_router_address: 192.0.2.12 - description: DEV - dest_vrf: test_1 - - - dest: 192.0.2.80/28 - next_hops: - - interface: FastEthernet0/0/0/2 - forward_router_address: 192.0.2.14 - dest_vrf: test_1 - track: ip_sla_2 - vrflabel: 124 + - address_families: + - afi: ipv4 + safi: unicast + routes: + - dest: 192.0.2.16/28 + next_hops: + - forward_router_address: 192.0.2.10 + interface: FastEthernet0/0/0/1 + description: LAB + metric: 120 + tag: 10 + - interface: FastEthernet0/0/0/5 + track: ip_sla_1 + - dest: 192.0.2.32/28 + next_hops: + - forward_router_address: 192.0.2.11 + admin_distance: 100 + - afi: ipv6 + safi: unicast + routes: + - dest: '2001:db8:1000::/36' + next_hops: + - interface: FastEthernet0/0/0/7 + description: DC + - interface: FastEthernet0/0/0/8 + forward_router_address: '2001:db8:2000:2::1' + - vrf: DEV_SITE + address_families: + - afi: ipv4 + safi: unicast + routes: + - dest: 192.0.2.48/28 + next_hops: + - forward_router_address: 192.0.2.12 + description: DEV + dest_vrf: test_1 + - dest: 192.0.2.80/28 + next_hops: + - interface: FastEthernet0/0/0/2 + forward_router_address: 192.0.2.14 + dest_vrf: test_1 + track: ip_sla_2 + vrflabel: 124 state: merged + + # Task Output + # ----------- + # before: [] + # commands: + # - router static + # - address-family ipv4 unicast + # - 192.0.2.16/28 192.0.2.10 FastEthernet0/0/0/1 description LAB metric 120 tag 10 + # - 192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1 + # - 192.0.2.32/28 192.0.2.11 100 + # - address-family ipv6 unicast + # - 2001:db8:1000::/36 FastEthernet0/0/0/7 description DC + # - 2001:db8:1000::/36 2001:db8:2000:2::1 FastEthernet0/0/0/8 + # - vrf DEV_SITE + # - address-family ipv4 unicast + # - 192.0.2.48/28 vrf test_1 192.0.2.12 description DEV + # - 192.0.2.80/28 vrf test_1 192.0.2.14 FastEthernet0/0/0/2 track ip_sla_2 vrflabel 124 + # after: + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 192.0.2.16/28 + # next_hops: + # - description: LAB + # forward_router_address: 192.0.2.10 + # interface: FastEthernet0/0/0/1 + # metric: 120 + # tag: 10 + # - interface: FastEthernet0/0/0/5 + # track: ip_sla_1 + # - dest: 192.0.2.32/28 + # next_hops: + # - admin_distance: 100 + # forward_router_address: 192.0.2.11 + # safi: unicast + # - afi: ipv6 + # routes: + # - dest: 2001:db8:1000::/36 + # next_hops: + # - description: DC + # interface: FastEthernet0/0/0/7 + # - forward_router_address: 2001:db8:2000:2::1 + # interface: FastEthernet0/0/0/8 + # safi: unicast + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 192.0.2.48/28 + # next_hops: + # - description: DEV + # dest_vrf: test_1 + # forward_router_address: 192.0.2.12 + # - dest: 192.0.2.80/28 + # next_hops: + # - dest_vrf: test_1 + # forward_router_address: 192.0.2.14 + # interface: FastEthernet0/0/0/2 + # track: ip_sla_2 + # vrflabel: 124 + # safi: unicast + # vrf: DEV_SITE + + + # # After state # ------------- # RP/0/RP0/CPU0:ios#show running-config router static @@ -545,25 +603,123 @@ Examples - name: Update existing static routes configuration using merged cisco.iosxr.iosxr_static_routes: config: - - vrf: DEV_SITE - address_families: - - afi: ipv4 - safi: unicast - routes: - - dest: 192.0.2.48/28 - next_hops: - - forward_router_address: 192.0.2.12 - vrflabel: 2301 - dest_vrf: test_1 - - - dest: 192.0.2.80/28 - next_hops: - - interface: FastEthernet0/0/0/2 - forward_router_address: 192.0.2.14 - dest_vrf: test_1 - description: rt_test_1 + - vrf: DEV_SITE + address_families: + - afi: ipv4 + safi: unicast + routes: + - dest: 192.0.2.48/28 + next_hops: + - forward_router_address: 192.0.2.12 + vrflabel: 2301 + dest_vrf: test_1 + - dest: 192.0.2.80/28 + next_hops: + - interface: FastEthernet0/0/0/2 + forward_router_address: 192.0.2.14 + dest_vrf: test_1 + description: rt_test_1 state: merged + # Task Output + # ----------- + # before: + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 192.0.2.16/28 + # next_hops: + # - description: LAB + # forward_router_address: 192.0.2.10 + # interface: FastEthernet0/0/0/1 + # metric: 120 + # tag: 10 + # - interface: FastEthernet0/0/0/5 + # track: ip_sla_1 + # - dest: 192.0.2.32/28 + # next_hops: + # - admin_distance: 100 + # forward_router_address: 192.0.2.11 + # safi: unicast + # - afi: ipv6 + # routes: + # - dest: 2001:db8:1000::/36 + # next_hops: + # - description: DC + # interface: FastEthernet0/0/0/7 + # - forward_router_address: 2001:db8:2000:2::1 + # interface: FastEthernet0/0/0/8 + # safi: unicast + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 192.0.2.48/28 + # next_hops: + # - description: DEV + # dest_vrf: test_1 + # forward_router_address: 192.0.2.12 + # - dest: 192.0.2.80/28 + # next_hops: + # - dest_vrf: test_1 + # forward_router_address: 192.0.2.14 + # interface: FastEthernet0/0/0/2 + # track: ip_sla_2 + # vrflabel: 124 + # safi: unicast + # vrf: DEV_SITE + # commands: + # - router static + # - vrf DEV_SITE + # - address-family ipv4 unicast + # - 192.0.2.48/28 vrf test_1 192.0.2.12 description DEV vrflabel 2301 + # - 192.0.2.80/28 vrf test_1 192.0.2.14 FastEthernet0/0/0/2 description rt_test_1 track ip_sla_2 vrflabel 124 + # after: + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 192.0.2.16/28 + # next_hops: + # - description: LAB + # forward_router_address: 192.0.2.10 + # interface: FastEthernet0/0/0/1 + # metric: 120 + # tag: 10 + # - interface: FastEthernet0/0/0/5 + # track: ip_sla_1 + # - dest: 192.0.2.32/28 + # next_hops: + # - admin_distance: 100 + # forward_router_address: 192.0.2.11 + # safi: unicast + # - afi: ipv6 + # routes: + # - dest: 2001:db8:1000::/36 + # next_hops: + # - description: DC + # interface: FastEthernet0/0/0/7 + # - forward_router_address: 2001:db8:2000:2::1 + # interface: FastEthernet0/0/0/8 + # safi: unicast + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 192.0.2.48/28 + # next_hops: + # - description: DEV + # dest_vrf: test_1 + # forward_router_address: 192.0.2.12 + # vrflabel: 2301 + # - dest: 192.0.2.80/28 + # next_hops: + # - description: rt_test_1 + # dest_vrf: test_1 + # forward_router_address: 192.0.2.14 + # interface: FastEthernet0/0/0/2 + # track: ip_sla_2 + # vrflabel: 124 + # safi: unicast + # vrf: DEV_SITE + # After state # ------------- # RP/0/RP0/CPU0:ios#show running-config router static @@ -615,19 +771,125 @@ Examples - name: Replace device configurations of static routes with provided configurations cisco.iosxr.iosxr_static_routes: config: - - vrf: DEV_SITE - address_families: - - afi: ipv4 - safi: unicast - routes: - - dest: 192.0.2.48/28 - next_hops: - - forward_router_address: 192.0.2.15 - interface: FastEthernet0/0/0/3 - description: DEV_NEW - dest_vrf: dev_test_2 + - vrf: DEV_SITE + address_families: + - afi: ipv4 + safi: unicast + routes: + - dest: 192.0.2.48/28 + next_hops: + - forward_router_address: 192.0.2.15 + interface: FastEthernet0/0/0/3 + description: DEV_NEW + dest_vrf: dev_test_2 state: replaced + # Task Output + # ----------- + # before: + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 0.0.0.0/0 + # next_hops: + # - forward_router_address: 10.0.151.254 + # interface: MgmtEth0 + # - dest: 192.0.2.16/28 + # next_hops: + # - description: LAB + # forward_router_address: 192.0.2.10 + # interface: FastEthernet0/0/0/1 + # metric: 120 + # tag: 10 + # - interface: FastEthernet0/0/0/5 + # track: ip_sla_1 + # - dest: 192.0.2.32/28 + # next_hops: + # - admin_distance: 100 + # forward_router_address: 192.0.2.11 + # safi: unicast + # - afi: ipv6 + # routes: + # - dest: 2001:db8:1000::/36 + # next_hops: + # - description: DC + # interface: FastEthernet0/0/0/7 + # - forward_router_address: 2001:db8:2000:2::1 + # interface: FastEthernet0/0/0/8 + # safi: unicast + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 192.0.2.48/28 + # next_hops: + # - description: DEV + # dest_vrf: test_1 + # forward_router_address: 192.0.2.12 + # - forward_router_address: 192.0.3.24 + # interface: GigabitEthernet0/0/0/1 + # vrflabel: 2302 + # - dest: 192.0.2.80/28 + # next_hops: + # - dest_vrf: test_1 + # forward_router_address: 192.0.2.14 + # interface: FastEthernet0/0/0/2 + # track: ip_sla_2 + # vrflabel: 124 + # safi: unicast + # vrf: DEV_SITE + # commands: + # - router static + # - vrf DEV_SITE + # - address-family ipv4 unicast + # - no 192.0.2.48/28 vrf test_1 192.0.2.12 + # - no 192.0.2.48/28 192.0.3.24 GigabitEthernet0/0/0/1 + # - 192.0.2.48/28 vrf dev_test_2 192.0.2.15 FastEthernet0/0/0/3 description DEV_NEW + # after: + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 192.0.2.16/28 + # next_hops: + # - description: LAB + # forward_router_address: 192.0.2.10 + # interface: FastEthernet0/0/0/1 + # metric: 120 + # tag: 10 + # - interface: FastEthernet0/0/0/5 + # track: ip_sla_1 + # - dest: 192.0.2.32/28 + # next_hops: + # - admin_distance: 100 + # forward_router_address: 192.0.2.11 + # safi: unicast + # - afi: ipv6 + # routes: + # - dest: 2001:db8:1000::/36 + # next_hops: + # - description: DC + # interface: FastEthernet0/0/0/7 + # - forward_router_address: 2001:db8:2000:2::1 + # interface: FastEthernet0/0/0/8 + # safi: unicast + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 192.0.2.48/28 + # next_hops: + # - description: DEV_NEW + # dest_vrf: dev_test_2 + # forward_router_address: 192.0.2.15 + # interface: FastEthernet0/0/0/3 + # - dest: 192.0.2.80/28 + # next_hops: + # - dest_vrf: test_1 + # forward_router_address: 192.0.2.14 + # interface: FastEthernet0/0/0/2 + # track: ip_sla_2 + # vrflabel: 124 + # safi: unicast + # vrf: DEV_SITE + # After state # ------------ # RP/0/RP0/CPU0:ios#sh running-config router static @@ -678,27 +940,108 @@ Examples - name: Overridde all static routes configuration with provided configuration cisco.iosxr.iosxr_static_routes: config: - - vrf: DEV_NEW - address_families: - - afi: ipv4 - safi: unicast - routes: - - dest: 192.0.2.48/28 - next_hops: - - forward_router_address: 192.0.2.15 - interface: FastEthernet0/0/0/3 - description: DEV1 - - afi: ipv6 - safi: unicast - routes: - - dest: 2001:db8:3000::/36 - next_hops: - - interface: FastEthernet0/0/0/4 - forward_router_address: 2001:db8:2000:2::2 - description: PROD1 - track: ip_sla_1 + - vrf: DEV_NEW + address_families: + - afi: ipv4 + safi: unicast + routes: + - dest: 192.0.2.48/28 + next_hops: + - forward_router_address: 192.0.2.15 + interface: FastEthernet0/0/0/3 + description: DEV1 + - afi: ipv6 + safi: unicast + routes: + - dest: '2001:db8:3000::/36' + next_hops: + - interface: FastEthernet0/0/0/4 + forward_router_address: '2001:db8:2000:2::2' + description: PROD1 + track: ip_sla_1 state: overridden + # Task Output + # ----------- + # before: + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 192.0.2.16/28 + # next_hops: + # - description: LAB + # forward_router_address: 192.0.2.10 + # interface: FastEthernet0/0/0/1 + # metric: 120 + # tag: 10 + # - interface: FastEthernet0/0/0/5 + # track: ip_sla_1 + # - dest: 192.0.2.32/28 + # next_hops: + # - admin_distance: 100 + # forward_router_address: 192.0.2.11 + # safi: unicast + # - afi: ipv6 + # routes: + # - dest: 2001:db8:1000::/36 + # next_hops: + # - description: DC + # interface: FastEthernet0/0/0/7 + # - forward_router_address: 2001:db8:2000:2::1 + # interface: FastEthernet0/0/0/8 + # safi: unicast + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 192.0.2.48/28 + # next_hops: + # - description: DEV + # dest_vrf: test_1 + # forward_router_address: 192.0.2.12 + # - forward_router_address: 192.0.3.24 + # interface: GigabitEthernet0/0/0/1 + # vrflabel: 2302 + # - dest: 192.0.2.80/28 + # next_hops: + # - dest_vrf: test_1 + # forward_router_address: 192.0.2.14 + # interface: FastEthernet0/0/0/2 + # track: ip_sla_2 + # vrflabel: 124 + # safi: unicast + # vrf: DEV_SITE + # commands: + # - router static + # - no vrf DEV_SITE + # - no address-family ipv4 unicast + # - no address-family ipv6 unicast + # - vrf DEV_NEW + # - address-family ipv4 unicast + # - 192.0.2.48/28 192.0.2.15 FastEthernet0/0/0/3 description DEV1 + # - address-family ipv6 unicast + # - 2001:db8:3000::/36 2001:db8:2000:2::2 FastEthernet0/0/0/4 description PROD1 + # track ip_sla_1 + # after: + # - vrf: DEV_NEW + # address_families: + # - afi: ipv4 + # safi: unicast + # routes: + # - dest: 192.0.2.48/28 + # next_hops: + # - forward_router_address: 192.0.2.15 + # interface: FastEthernet0/0/0/3 + # description: DEV1 + # - afi: ipv6 + # safi: unicast + # routes: + # - dest: 2001:db8:3000::/36 + # next_hops: + # - interface: FastEthernet0/0/0/4 + # forward_router_address: 2001:db8:2000:2::2 + # description: PROD1 + # track: ip_sla_1 + # After state # ------------- # RP/0/RP0/CPU0:ios#sh running-config router static @@ -742,12 +1085,113 @@ Examples - name: Delete all destination network entries under a single AFI cisco.iosxr.iosxr_static_routes: config: - - vrf: DEV_SITE - address_families: - - afi: ipv4 - safi: unicast + - vrf: DEV_SITE + address_families: + - afi: ipv4 + safi: unicast state: deleted + # Task output + # ----------------------- + # before: + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 192.0.2.16/28 + # next_hops: + # - description: LAB + # forward_router_address: 192.0.2.10 + # interface: FastEthernet0/0/0/1 + # metric: 120 + # tag: 10 + # - interface: FastEthernet0/0/0/5 + # track: ip_sla_1 + # - dest: 192.0.2.32/28 + # next_hops: + # - admin_distance: 100 + # forward_router_address: 192.0.2.11 + # safi: unicast + # - afi: ipv6 + # routes: + # - dest: 2001:db8:1000::/36 + # next_hops: + # - description: DC + # interface: FastEthernet0/0/0/7 + # - forward_router_address: 2001:db8:2000:2::1 + # interface: FastEthernet0/0/0/8 + # safi: unicast + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 192.0.2.48/28 + # next_hops: + # - description: DEV + # dest_vrf: test_1 + # forward_router_address: 192.0.2.12 + # - forward_router_address: 192.0.3.24 + # interface: GigabitEthernet0/0/0/1 + # vrflabel: 2302 + # - dest: 192.0.2.80/28 + # next_hops: + # - dest_vrf: test_1 + # forward_router_address: 192.0.2.14 + # interface: FastEthernet0/0/0/2 + # track: ip_sla_2 + # vrflabel: 124 + # safi: unicast + # vrf: DEV_SITE + # commands: + # - router static + # - vrf DEV_SITE + # - no address-family ipv4 unicast + # after: + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 192.0.2.16/28 + # next_hops: + # - description: LAB + # forward_router_address: 192.0.2.10 + # interface: FastEthernet0/0/0/1 + # metric: 120 + # tag: 10 + # - interface: FastEthernet0/0/0/5 + # track: ip_sla_1 + # - dest: 192.0.2.32/28 + # next_hops: + # - admin_distance: 100 + # forward_router_address: 192.0.2.11 + # safi: unicast + # - afi: ipv6 + # routes: + # - dest: 2001:db8:1000::/36 + # next_hops: + # - description: DC + # interface: FastEthernet0/0/0/7 + # - forward_router_address: 2001:db8:2000:2::1 + # interface: FastEthernet0/0/0/8 + # safi: unicast + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 192.0.2.48/28 + # next_hops: + # - description: DEV + # dest_vrf: test_1 + # forward_router_address: 192.0.2.12 + # - forward_router_address: 192.0.3.24 + # interface: GigabitEthernet0/0/0/1 + # vrflabel: 2302 + # - dest: 192.0.2.80/28 + # next_hops: + # - dest_vrf: test_1 + # forward_router_address: 192.0.2.14 + # interface: FastEthernet0/0/0/2 + # track: ip_sla_2 + # vrflabel: 124 + # safi: unicast + # - vrf: DEV_SITE + # After state # ------------ @@ -796,6 +1240,58 @@ Examples cisco.iosxr.iosxr_static_routes: state: deleted + # Task output + # ----------------------- + # before: + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 192.0.2.16/28 + # next_hops: + # - description: LAB + # forward_router_address: 192.0.2.10 + # interface: FastEthernet0/0/0/1 + # metric: 120 + # tag: 10 + # - interface: FastEthernet0/0/0/5 + # track: ip_sla_1 + # - dest: 192.0.2.32/28 + # next_hops: + # - admin_distance: 100 + # forward_router_address: 192.0.2.11 + # safi: unicast + # - afi: ipv6 + # routes: + # - dest: 2001:db8:1000::/36 + # next_hops: + # - description: DC + # interface: FastEthernet0/0/0/7 + # - forward_router_address: 2001:db8:2000:2::1 + # interface: FastEthernet0/0/0/8 + # safi: unicast + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 192.0.2.48/28 + # next_hops: + # - description: DEV + # dest_vrf: test_1 + # forward_router_address: 192.0.2.12 + # - forward_router_address: 192.0.3.24 + # interface: GigabitEthernet0/0/0/1 + # vrflabel: 2302 + # - dest: 192.0.2.80/28 + # next_hops: + # - dest_vrf: test_1 + # forward_router_address: 192.0.2.14 + # interface: FastEthernet0/0/0/2 + # track: ip_sla_2 + # vrflabel: 124 + # safi: unicast + # vrf: DEV_SITE + # commands: + # - no router static + # after: [] # After state # ------------ # RP/0/RP0/CPU0:ios#sh running-config router static @@ -908,26 +1404,25 @@ Examples # Using rendered - name: Render platform specific commands (without connecting to the device) - cisco.iosxr.iosxr_static_routes: + cisco.iosxr.iosxr_static_routes: null config: - - vrf: DEV_SITE - address_families: - - afi: ipv4 - safi: unicast - routes: - - dest: 192.0.2.48/28 - next_hops: - - forward_router_address: 192.0.2.12 - description: DEV - dest_vrf: test_1 - - - dest: 192.0.2.80/28 - next_hops: - - interface: FastEthernet0/0/0/2 - forward_router_address: 192.0.2.14 - dest_vrf: test_1 - track: ip_sla_2 - vrflabel: 124 + - vrf: DEV_SITE + address_families: + - afi: ipv4 + safi: unicast + routes: + - dest: 192.0.2.48/28 + next_hops: + - forward_router_address: 192.0.2.12 + description: DEV + dest_vrf: test_1 + - dest: 192.0.2.80/28 + next_hops: + - interface: FastEthernet0/0/0/2 + forward_router_address: 192.0.2.14 + dest_vrf: test_1 + track: ip_sla_2 + vrflabel: 124 # Task Output (redacted) # ----------------------- diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_system_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_system_module.rst index efc494ed1..f59eea224 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_system_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_system_module.rst @@ -196,17 +196,17 @@ Examples hostname: iosxr01 domain_name: test.example.com domain_search: - - ansible.com - - redhat.com - - cisco.com + - ansible.com + - redhat.com + - cisco.com - name: remove configuration cisco.iosxr.iosxr_system: hostname: iosxr01 domain_name: test.example.com domain_search: - - ansible.com - - redhat.com - - cisco.com + - ansible.com + - redhat.com + - cisco.com state: absent - name: configure hostname and domain-name with vrf cisco.iosxr.iosxr_system: @@ -214,9 +214,9 @@ Examples vrf: nondefault domain_name: test.example.com domain_search: - - ansible.com - - redhat.com - - cisco.com + - ansible.com + - redhat.com + - cisco.com - name: configure DNS lookup sources cisco.iosxr.iosxr_system: lookup_source: MgmtEth0/0/CPU0/0 @@ -224,8 +224,8 @@ Examples - name: configure name servers cisco.iosxr.iosxr_system: name_servers: - - 8.8.8.8 - - 8.8.4.4 + - 8.8.8.8 + - 8.8.4.4 diff --git a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_user_module.rst b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_user_module.rst index 808742af5..b56d09516 100644 --- a/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_user_module.rst +++ b/ansible_collections/cisco/iosxr/docs/cisco.iosxr.iosxr_user_module.rst @@ -424,18 +424,18 @@ Examples - name: set multiple users to group sys-admin cisco.iosxr.iosxr_user: aggregate: - - name: netop - - name: netend + - name: netop + - name: netend group: sysadmin state: present - name: set multiple users to multiple groups cisco.iosxr.iosxr_user: aggregate: - - name: netop - - name: netend + - name: netop + - name: netend groups: - - sysadmin - - root-system + - sysadmin + - root-system state: present - name: Change Password for User netop cisco.iosxr.iosxr_user: |