Skip to content

Latest commit

 

History

History
2460 lines (2375 loc) · 96 KB

cisco.nxos.nxos_vrf_global_module.rst

File metadata and controls

2460 lines (2375 loc) · 96 KB

cisco.nxos.nxos_vrf_global

Resource module to configure VRF definitions.

Version added: 8.1.0

  • This module provides declarative management of VRF definitions on Cisco NXOS.
Parameter Choices/Defaults Comments
config
dictionary
A list containing device configurations for VRF.
vrfs
list / elements=dictionary
List of VRF definitions.
description
string
Description of the VRF.
ip
dictionary
Configure IP features for the specified vrf.
auto_discard
boolean
    Choices:
  • no
  • yes
Auto 0.0.0.0/0 discard route.
domain_list
list / elements=string
Add list domain names.
domain_name
string
Specify default domain name.
icmp_err
dictionary
Enable ICMP error message.
source_interface
dictionary
Configure source-address for applications.
interface
string
    Choices:
  • loopback
  • ethernet
  • port-channel
Source interface for ICMP error messages.
interface_value
string
Source interface value for ICMP error messages.
igmp
dictionary
IGMP global configuration commands
ssm_translate
list / elements=dictionary
Translate IGMPv1/v2 reports to (S,G) route entries.
group
string
Source address.
source
string
Group address.
mroutes
list / elements=dictionary
Configure multicast routes.
group
string
Multicast group address.
preference
integer
Preference value.
source
string
Source address.
vrf
string
VRF name.
multicast
dictionary
Configure IP multicast global parameters.
group_range_prefix_list
string
Group range prefix-list policy for multicast boundary.
multipath
dictionary
Configure ECMP multicast load splitting.
resilient
boolean
    Choices:
  • no
  • yes
Configure resilient RPF interface.
splitting_type
dictionary
Configure multicast load splitting type.
legacy
boolean
    Choices:
  • no
  • yes
Configure hash based on source and group.
nbm
boolean
    Choices:
  • no
  • yes
Configure NBM controlled RPF interface.
none
boolean
    Choices:
  • no
  • yes
Disable multicast load splitting.
sg_hash
boolean
    Choices:
  • no
  • yes
Configure hash based on source and group address.
sg_hash_next_hop
boolean
    Choices:
  • no
  • yes
Configure hash based on source and group address and next-hop.
rpf
list / elements=dictionary
Configure RPF check.
group_list_range
string
Group range for RPF select.
vrf_name
string
VRF for RPF lookup.
name_server
dictionary
Specify nameserver address.
address_list
list / elements=string
Configure multicast name server address.
use_vrf
dictionary
Display per-VRF information.
source_address
string
source address for configuring name server.
vrf
string
VRF name.
route
list / elements=dictionary
Configure static routes.
destination
string
Next-hop address.
source
string
Destination prefix.
tags
dictionary
Route tag.
route_pref
integer
Route preference.
tag_value
integer
Route tag value.
track
string
Configure track object.
vrf
string
add vrf to the route.
ipv6
dictionary
Configure IPv6 features for the specified vrf.
mld_ssm_translate
list / elements=dictionary
Translate MLDv1/v2 reports to (S,G) route entries.
group
string
Source address.
icmp
boolean
    Choices:
  • no
  • yes
Configure ICMP parameters with mld.
source
string
Group address.
multicast
dictionary
Configure IP multicast global parameters for ipv6.
group_range_prefix_list
string
Group range prefix-list policy for multicast boundary.
multipath
dictionary
Configure ECMP multicast load splitting.
resilient
boolean
    Choices:
  • no
  • yes
Configure resilient RPF interface.
splitting_type
dictionary
Configure multicast load splitting type.
none
boolean
    Choices:
  • no
  • yes
Disable multicast load splitting.
sg_hash
boolean
    Choices:
  • no
  • yes
Configure hash based on source and group address.
sg_hash_next_hop
boolean
    Choices:
  • no
  • yes
Configure hash based on source and group address and next-hop.
multicast
dictionary
Configure IP multicast options.
service_reflect
list / elements=dictionary
Configure service reflect option.
map_to
string
Map to interface.
service_interface
string
configure service interface.
name
string / required
Name of the VRF..
vni
dictionary
Virtual Network Identifier.
layer_3
boolean
    Choices:
  • no
  • yes
Configure Layer 3 VNI.
vni_number
integer
VNI number.
running_config
string
This option is used only with state parsed.
The value of this option should be the output received from the NX-OS device by executing the command show running-config | section ^vrf.
The state parsed reads the configuration from running_config option and transforms it into Ansible structured data as per the resource module's argspec and the value is then returned in the parsed key within the result.
state
string
    Choices:
  • parsed
  • gathered
  • deleted
  • merged ←
  • replaced
  • rendered
  • overridden
  • purged
The state the configuration should be left in
The states rendered, gathered and parsed does not perform any change on the device.
The state rendered will transform the configuration in config option to platform specific CLI commands which will be returned in the rendered key within the result. For state rendered active connection to remote host is not required.
The state gathered will fetch the running configuration from device and transform it into structured data in the format as per the resource module argspec and the value is returned in the gathered key within the result.
The state parsed reads the configuration from running_config option and transforms it into JSON format as per the resource module parameters and the value is returned in the parsed key within the result. The value of running_config option should be the same format as the output of command show running-config | section ^vrf. connection to remote host is not required.

Note

# Using merged

# Before state:
# -------------
#
# nxos#show running-config | section ^vrf

- name: Merge provided VRF configuration
  cisco.nxos.vrf_global:
    config:
      vrfs:
        - name: testvrf
          description: this is description
          ip:
            auto_discard: true
            domain_list:
              - example.net
              - example.com
            domain_name: test.com
            icmp_err:
              source_interface:
                interface: port-channel
                interface_value: '1'
            igmp:
              ssm_translate:
                - group: 232.0.0.0/8
                  source: 10.1.1.1
                - group: 239.1.2.3/24
                  source: 192.168.1.1
            mroutes:
              - group: 192.168.1.0/24
                source: 192.168.1.1
              - group: 192.168.1.0/24
                preference: 2
                source: 192.168.1.2
                vrf: temp1
            multicast:
              multipath:
                resilient: true
                splitting_type:
                  legacy: true
              rpf:
                - group_list_range: 238.1.0.0/24
                  vrf_name: temp1
                - group_list_range: 239.1.0.0/24
                  vrf_name: temp1
            name_server:
              address_list:
                - 192.168.0.1
                - 192.168.0.2
                - 192.168.1.1
                - 192.169.1.3
              use_vrf:
                source_address: 192.168.0.1
                vrf: temp1
            route:
              - destination: 192.0.2.22
                source: 192.0.0.0/24
              - destination: 192.0.2.22
                source: 192.0.0.0/24
                vrf: temp1
              - destination: 192.0.2.22
                source: 192.0.2.0/24
                tags:
                  route_pref: 4
                  tag_value: 2
          ipv6:
            mld_ssm_translate:
              - group: 'ff28::/16'
                source: '2001:db8:0:abcd::2'
              - group: 'ff30::/16'
                source: '2001:db8:0:abcd::5'
            multicast:
              group_range_prefix_list: temp2
              multipath:
                resilient: true
                splitting_type:
                  none: true
          multicast:
            service_reflect:
              - map_to: Ethernet2/2
                service_interface: Ethernet1/1
              - map_to: Ethernet4/2
                service_interface: Ethernet2/1
          vni:
            vni_number: 5
    state: merged

# Task Output:
# ------------

# before: {}
# commands:
#   - vrf context test1
#   - description this is description
#   - ip auto-discard
#   - ip domain-name test.net
#   - ip name-server 192.168.0.1 192.168.0.2 192.168.1.1 192.169.1.3
#   - ip icmp-errors source-interface port-channel 1
#   - ip multicast multipath resilient
#   - ip multicast multipath legacy
#   - ip name-server 192.168.0.1 use-vrf temp1
#   - vni 5
#   - ipv6 multicast group-range prefix-list temp2
#   - ipv6 multicast multipath resilient
#   - ipv6 multicast multipath none
#   - ip domain-list test.org
#   - ip domain-list example.com
#   - ip domain-list example.net
#   - ip igmp ssm-translate 232.0.0.0/8 10.1.1.1
#   - ip igmp ssm-translate 239.1.2.3/24 192.168.1.1
#   - ip mroute 192.168.1.0/24 192.168.1.1
#   - ip mroute 192.168.1.0/24 192.168.1.2 2 vrf temp1
#   - ip multicast rpf select vrf temp1 group-list 238.1.0.0/24
#   - ip multicast rpf select vrf temp1 group-list 239.1.0.0/24
#   - ip route 192.0.0.0/24 192.0.2.22
#   - ip route 192.0.0.0/24 192.0.2.22 vrf temp1
#   - ip route 192.0.2.0/24 192.0.2.22 tag 2 4
#   - multicast service-reflect interface Ethernet1/1 map interface Ethernet2/2
#   - multicast service-reflect interface Ethernet2/1 map interface Ethernet4/2
#   - ipv6 mld ssm-translate ff28::/16 2001:db8:0:abcd::2
#   - ipv6 mld ssm-translate ff30::/16 2001:db8:0:abcd::5

# after:
#   vrfs:
#    - name: testvrf
#      description: this is description
#      ip:
#        auto_discard: true
#        domain_list:
#        - example.net
#        - example.com
#        domain_name: test.com
#        icmp_err:
#          source_interface:
#            interface: port-channel
#            interface_value: '1'
#        igmp:
#          ssm_translate:
#          - group: 232.0.0.0/8
#            source: 10.1.1.1
#          - group: 239.1.2.3/24
#            source: 192.168.1.1
#        mroutes:
#        - group: 192.168.1.0/24
#          source: 192.168.1.1
#        - group: 192.168.1.0/24
#          preference: 2
#          source: 192.168.1.2
#          vrf: temp1
#        multicast:
#          multipath:
#            resilient: true
#            splitting_type:
#              legacy: true
#          rpf:
#          - group_list_range: 238.1.0.0/24
#            vrf_name: temp1
#          - group_list_range: 239.1.0.0/24
#            vrf_name: temp1
#        name_server:
#          address_list:
#          - 192.168.0.1
#          - 192.168.0.2
#          - 192.168.1.1
#          - 192.169.1.3
#          use_vrf:
#            source_address: 192.168.0.1
#            vrf: temp1
#        route:
#        - destination: 192.0.2.22
#          source: 192.0.0.0/24
#        - destination: 192.0.2.22
#          source: 192.0.0.0/24
#           vrf: temp1
#        - destination: 192.0.2.22
#          source: 192.0.2.0/24
#          tags:
#            route_pref: 4
#            tag_value: 2
#      ipv6:
#        mld_ssm_translate:
#        - group: ff28::/16
#          source: 2001:db8:0:abcd::2
#        - group: ff30::/16
#          source: 2001:db8:0:abcd::5
#        multicast:
#          group_range_prefix_list: temp2
#          multipath:
#            resilient: true
#            splitting_type:
#              none: true
#      multicast:
#        service_reflect:
#         - map_to: Ethernet2/2
#           service_interface: Ethernet1/1
#         - map_to: Ethernet4/2
#           service_interface: Ethernet2/1
#      vni:
#        vni_number: 5

# After state:
# ------------
#
# nxos#show running-config | section ^vrf
# vrf context testvrf
#   description this is description
#   ip auto-discard
#   ip domain-name test.net
#   ip name-server 192.168.0.1 192.168.0.2 192.168.1.1 192.169.1.3
#   ip icmp-errors source-interface port-channel 1
#   ip multicast multipath resilient
#   ip multicast multipath legacy
#   ip name-server 192.168.0.1 use-vrf temp1
#   vni 5
#   ipv6 multicast group-range prefix-list temp2
#   ipv6 multicast multipath resilient
#   ipv6 multicast multipath none
#   ip domain-list test.org
#   ip domain-list example.com
#   ip domain-list example.net
#   ip igmp ssm-translate 232.0.0.0/8 10.1.1.1
#   ip igmp ssm-translate 239.1.2.3/24 192.168.1.1
#   ip mroute 192.168.1.0/24 192.168.1.1
#   ip mroute 192.168.1.0/24 192.168.1.2 2 vrf temp1
#   ip multicast rpf select vrf temp1 group-list 238.1.0.0/24
#   ip multicast rpf select vrf temp1 group-list 239.1.0.0/24
#   ip route 192.0.0.0/24 192.0.2.22
#   ip route 192.0.0.0/24 192.0.2.22 vrf temp1
#   ip route 192.0.2.0/24 192.0.2.22 tag 2 4
#   multicast service-reflect interface Ethernet1/1 map interface Ethernet2/2
#   multicast service-reflect interface Ethernet2/1 map interface Ethernet4/2
#   ipv6 mld ssm-translate ff28::/16 2001:db8:0:abcd::2
#   ipv6 mld ssm-translate ff30::/16 2001:db8:0:abcd::5

# Using deleted

# Before state:
# -------------
#
# nxos#show running-config | section ^vrf
# vrf context management
#  ip name-server 192.168.255.1
#  ip route 0.0.0.0/0 192.168.255.1
# vrf context test1
#  description this is description
#  ip domain-name test.net
#  ip domain-list example.net
#  ip domain-list example.com
#  ip domain-list test.org
#  vni 5
#  ip auto-discard
#  ip route 192.0.0.0/24 192.0.2.22
#  ip route 192.0.0.0/24 192.0.2.22 vrf temp1
#  ip route 192.0.2.0/24 192.0.2.22 tag 2 4
#  ip mroute 192.168.1.0/24 192.168.1.1
#  ip mroute 192.168.1.0/24 192.168.1.2 2 vrf temp1
#  ip icmp-errors source-interface po1
#  ip igmp ssm-translate 232.0.0.0/8 10.1.1.1
#  ip igmp ssm-translate 239.1.2.3/24 192.168.1.1
#  ip multicast multipath legacy
#  ip multicast multipath resilient
#  ip multicast rpf select vrf temp1 group-list 238.1.0.0/24
#  ip multicast rpf select vrf temp1 group-list 239.1.0.0/24
#  ip multicast group-range prefix-list temp2

- name: Delete VRF configuration
  cisco.nxos.vrf_global:
    config:
      vrfs:
        - name: test1
    state: deleted

# Task Output:
# ------------
#
# before:
#   vrfs:
#    - name: management
#      ip:
#        name_server:
#          address_list:
#          - 192.168.255.1
#        route:
#        - source: 0.0.0.0/0
#          destination: 192.168.255.1
#    - name: test1
#      description: this is description
#      ip:
#        domain_name: test.net
#        domain_list:
#        - test.org
#        - example.net
#        - example.com
#        auto_discard: true
#        route:
#        - source: 192.0.0.0/24
#          destination: 192.0.2.22
#        - source: 192.0.0.0/24
#          destination: 192.0.2.22
#          vrf: temp1
#        - source: 192.0.2.0/24
#          destination: 192.0.2.22
#          tags:
#            tag_value: 2
#            route_pref: 4
#        mroutes:
#        - group: 192.168.1.0/24
#          source: 192.168.1.1
#        - group: 192.168.1.0/24
#          source: 192.168.1.2
#          preference: 2
#          vrf: temp1
#        icmp_err:
#          source_interface:
#            interface: port-channel
#            interface_value: '1'
#        igmp:
#          ssm_translate:
#          - group: 232.0.0.0/8
#            source: 10.1.1.1
#          - group: 239.1.2.3/24
#            source: 192.168.1.1
#        multicast:
#          multipath:
#            splitting_type:
#              legacy: true
#            resilient: true
#          rpf:
#          - vrf_name: temp1
#            group_list_range: 238.1.0.0/24
#          - vrf_name: temp1
#            group_list_range: 239.1.0.0/24
#      vni:
#        vni_number: 5

# commands:
#   - vrf context test1
#   - no description this is description
#   - no ip auto-discard
#   - no ip domain-name test.net
#   - no ip icmp-errors source-interface port-channel 1
#   - no ip multicast multipath resilient
#   - no ip multicast multipath legacy
#   - no vni 5
#   - no ip domain-list example.net
#   - no ip domain-list test.org
#   - no ip domain-list example.com
#   - no ip igmp ssm-translate 232.0.0.0/8 10.1.1.1
#   - no ip igmp ssm-translate 239.1.2.3/24 192.168.1.1
#   - no ip mroute 192.168.1.0/24 192.168.1.1
#   - no ip mroute 192.168.1.0/24 192.168.1.2 2 vrf temp1
#   - no ip multicast rpf select vrf temp1 group-list 238.1.0.0/24
#   - no ip multicast rpf select vrf temp1 group-list 239.1.0.0/24
#   - no ip route 192.0.0.0/24 192.0.2.22
#   - no ip route 192.0.0.0/24 192.0.2.22 vrf temp1
#   - no ip route 192.0.2.0/24 192.0.2.22 tag 2 4
#
# after:
#   vrfs:
#    - name: management
#      ip:
#        name_server:
#          address_list:
#          - 192.168.255.1
#        route:
#        - source: 0.0.0.0/0
#          destination: 192.168.255.1
#    - name: test1

# Using deleted with empty config

# Before state:
# -------------
#
# nxos#show running-config | section ^vrf
# vrf context management
#  ip name-server 192.168.255.1
#  ip route 0.0.0.0/0 192.168.255.1
# vrf context test1
#  description this is description
#  ip domain-name test.net
#  ip domain-list example.net
#  ip domain-list example.com
#  ip domain-list test.org
#  vni 5

- name: Delete VRF configuration
  cisco.nxos.vrf_global:
    config:
      vrfs:
        - name: test1
    state: deleted

# Task Output:
# ------------
#
# before:
#   vrfs:
#    - name: management
#      ip:
#        name_server:
#          address_list:
#          - 192.168.255.1
#        route:
#        - source: 0.0.0.0/0
#          destination: 192.168.255.1
#    - name: test1
#      description: this is description
#      ip:
#        domain_name: test.net
#        domain_list:
#        - test.org
#        - example.net
#        - example.com
#      vni:
#        vni_number: 5

# commands:
#   - vrf context management
#   - no ip name-server 192.168.255.1
#   - no ip route 0.0.0.0/0 192.168.255.1
#   - vrf context test1
#   - no description this is description
#   - no ip domain-name test.net
#   - no vni 5
#   - no ip domain-list example.net
#   - no ip domain-list test.org
#   - no ip domain-list example.com

# after:
#   vrfs:
#     - name: management
#     - name: test1

# Using purged

# Before state:
# -------------
#
# nxos#show running-config | section ^vrf
# vrf context management
#   ip name-server 192.168.255.1
#   ip route 0.0.0.0/0 192.168.255.1
# vrf context test1
#   description this is description
#   ip domain-name example.com
#   ip domain-list example.net
#   ip domain-list example.org
#   vni 5
#   ip auto-discard
#   ip route 192.0.0.0/24 192.0.2.22
#   ip route 192.0.0.0/24 192.0.2.22 vrf temp1
#   ip route 192.0.2.0/24 192.0.2.22 tag 2 4
# vrf context test2
#   description test description
#   ip auto-discard
#   ip domain-name test.com

- name: Override VRF configuration
  cisco.nxos.vrf_global:
    config:
      vrfs:
        - name: test1
        - name: test2
    state: purged

# Task Output:
# ------------
#
# before:
#   vrfs:
#    - name: management
#      ip:
#        name_server:
#          address_list:
#          - 192.168.255.1
#        route:
#        - source: 0.0.0.0/0
#          destination: 192.168.255.1
#    - name: test1
#      description: this is description
#      ip:
#        domain_name: example.com
#        domain_list:
#        - example.net
#        - example.org
#        auto_discard: true
#        route:
#        - source: 192.0.0.0/24
#          destination: 192.0.2.22
#        - source: 192.0.0.0/24
#          destination: 192.0.2.22
#          vrf: temp1
#        - source: 192.0.2.0/24
#          destination: 192.0.2.22
#          tags:
#            tag_value: 2
#            route_pref: 4
#     vni:
#       vni_number: 5
#    - name: test2
#      description: test description
#      ip:
#        auto_discard: true
#        domain_name: test.com
#
# commands:
# - no vrf context test1
# - no vrf context test2
#
# after:
#   vrfs:
#    - name: management
#      ip:
#        name_server:
#          address_list:
#          - 192.168.255.1
#        route:
#        - source: 0.0.0.0/0
#          destination: 192.168.255.1

# Using overridden

# Before state:
# -------------
#
# nxos#show running-config | section ^vrf
# vrf context management
#   ip name-server 192.168.255.1
#   ip route 0.0.0.0/0 192.168.255.1
# vrf context test1
#   description this is description
#   ip domain-name example.com
#   ip domain-list example.net
#   ip domain-list example.org
#   vni 5
#   ip auto-discard
#   ip route 192.0.0.0/24 192.0.2.22
#   ip route 192.0.0.0/24 192.0.2.22 vrf temp1
#   ip route 192.0.2.0/24 192.0.2.22 tag 2 4
# vrf context test2
#   description test description
#   ip auto-discard
#   ip domain-name test.com

- name: Override VRF configuration
  cisco.nxos.vrf_global:
    config:
      vrfs:
        - name: management
          ip:
            name_server:
              address_list:
                - 192.168.255.1
            route:
              - source: 0.0.0.0/0
                destination: 192.168.255.1
        - name: test1
          ip:
            auto_discard: false
            name_server:
              address_list:
                - 192.168.255.1
            route:
              - source: 192.0.0.0/24
                destination: 192.0.2.22
    state: overridden

# Task Output:
# ------------
#
# before:
#   vrfs:
#    - name: management
#      ip:
#        name_server:
#          address_list:
#          - 192.168.255.1
#        route:
#        - source: 0.0.0.0/0
#          destination: 192.168.255.1
#    - name: test1
#      description: this is description
#      ip:
#        domain_name: example.com
#        domain_list:
#        - example.net
#        - example.org
#        auto_discard: true
#        route:
#        - source: 192.0.0.0/24
#          destination: 192.0.2.22
#        - source: 192.0.0.0/24
#          destination: 192.0.2.22
#          vrf: temp1
#        - source: 192.0.2.0/24
#          destination: 192.0.2.22
#          tags:
#            tag_value: 2
#            route_pref: 4
#      vni:
#        vni_number: 5
#    - name: test2
#      description: test description
#      ip:
#        auto_discard: true
#        domain_name: test.com
#
# commands:
# - vrf context test1
# - no description this is description
# - no ip domain-name example.com
# - no ip domain-list example.net
# - no ip domain-list example.org
# - ip name-server 192.168.255.1
# - no ip auto-discard
# - no vni 5
# - no ip route 192.0.0.0/24 192.0.2.22 vrf temp1
# - no ip route 192.0.2.0/24 192.0.2.22 tag 2 4
# - vrf context test2
# - no description test description
# - no ip auto-discard
# - no ip domain-name test.com
#
# after:
#   vrfs:
#    - name: management
#      ip:
#        name_server:
#          address_list:
#          - 192.168.255.1
#        route:
#        - source: 0.0.0.0/0
#          destination: 192.168.255.1
#    - name: test1
#      ip:
#        auto_discard: false
#        name_server:
#          address_list:
#          - 192.168.255.1
#        route:
#        - source: 192.0.0.0/24
#          destination: 192.0.2.22

# Using replaced

# Before state:
# -------------
#
# nxos# show running-config | section ^vrf
# vrf context management
#   ip name-server 192.168.255.1
#   ip route 0.0.0.0/0 192.168.255.1
# vrf context temp
#   ip domain-name test.org
#   ip domain-list example.net
#   ip domain-list example.com
#   ip domain-list test.org
#   ip name-server 192.168.0.1 192.169.1.3
#   ip name-server 192.168.0.1 use-vrf temp1
#   multicast service-reflect interface Ethernet1/1 map interface Ethernet2/2
#   multicast service-reflect interface Ethernet2/1 map interface Ethernet4/2
#   description this is descrition
#   vni 5
#   ip auto-discard
#   ip route 192.0.0.0/24 192.0.2.22
#   ip route 192.0.0.0/24 192.0.2.22 vrf temp1
#   ip route 192.0.2.0/24 192.0.2.22 tag 2 4
#   ip mroute 192.168.1.0/24 192.168.1.1
#   ip mroute 192.168.1.0/24 192.168.1.2 2 vrf temp1
#   ip icmp-errors source-interface po1
#   ip igmp ssm-translate 232.0.0.0/8 10.1.1.1
#   ip igmp ssm-translate 239.1.2.3/24 192.168.1.1
#   ip multicast multipath legacy
#   ip multicast multipath resilient
#   ip multicast rpf select vrf temp1 group-list 238.1.0.0/24
#   ip multicast rpf select vrf temp1 group-list 239.1.0.0/24
#   ip multicast group-range prefix-list temp2
#   ipv6 multicast multipath none
#   ipv6 multicast multipath resilient
#   ipv6 multicast group-range prefix-list temp2
#   ipv6 mld ssm-translate ff28::/16 2001:db8:0:abcd::2
#   ipv6 mld ssm-translate ff30::/16 2001:db8:0:abcd::1
#   ipv6 mld ssm-translate ff32::/16 2001:db8:0:abcd::2
#   ipv6 mld ssm-translate ff32::/16 2001:db8:0:abcd::3

- name: Replaced state for VRF configuration
  cisco.nxos.nxos_vrf_global:
    config:
      vrfs:
        - ip:
            name_server:
              address_list:
                - 192.168.255.1
            route:
              - destination: 192.168.255.1
                source: 0.0.0.0/0
          name: management
        - name: temp
          description: Test
          ip:
            auto_discard: true
            domain_list:
              - invalid.com
              - example.com
            domain_name: test.org
    state: replaced

# Task Output:
# ------------
#
# before:
#   vrfs:
#    - ip:
#        name_server:
#          address_list:
#          - 192.168.255.1
#        route:
#        - destination: 192.168.255.1
#          source: 0.0.0.0/0
#      name: management
#    - description: this is descrition
#      ip:
#        auto_discard: true
#        domain_list:
#        - example.net
#        - test.org
#        - example.com
#        domain_name: test.org
#        icmp_err:
#          source_interface:
#            interface: port-channel
#            interface_value: '1'
#        igmp:
#          ssm_translate:
#          - group: 232.0.0.0/8
#            source: 10.1.1.1
#          - group: 239.1.2.3/24
#            source: 192.168.1.1
#        mroutes:
#        - group: 192.168.1.0/24
#          source: 192.168.1.1
#        - group: 192.168.1.0/24
#          preference: 2
#          source: 192.168.1.2
#          vrf: temp1
#        multicast:
#          multipath:
#            resilient: true
#            splitting_type:
#              legacy: true
#          rpf:
#          - group_list_range: 238.1.0.0/24
#            vrf_name: temp1
#          - group_list_range: 239.1.0.0/24
#            vrf_name: temp1
#        name_server:
#          address_list:
#          - 192.168.0.1
#          - 192.169.1.3
#          use_vrf:
#            source_address: 192.168.0.1
#            vrf: temp1
#        route:
#        - destination: 192.0.2.22
#          source: 192.0.0.0/24
#        - destination: 192.0.2.22
#          source: 192.0.0.0/24
#          vrf: temp1
#        - destination: 192.0.2.22
#          source: 192.0.2.0/24
#          tags:
#            route_pref: 4
#            tag_value: 2
#      ipv6:
#        mld_ssm_translate:
#        - group: ff28::/16
#          source: 2001:db8:0:abcd::2
#        - group: ff30::/16
#          source: 2001:db8:0:abcd::1
#        - group: ff32::/16
#          source: 2001:db8:0:abcd::2
#        - group: ff32::/16
#          source: 2001:db8:0:abcd::3
#        multicast:
#          group_range_prefix_list: temp2
#          multipath:
#            resilient: true
#            splitting_type:
#              none: true
#      multicast:
#        service_reflect:
#        - map_to: Ethernet2/2
#          service_interface: Ethernet1/1
#        - map_to: Ethernet4/2
#          service_interface: Ethernet2/1
#      name: temp
#      vni:
#        vni_number: 5
#
# commands:
#   - vrf context temp
#   - description Test
#   - no ip name-server 192.168.0.1 192.169.1.3
#   - no ip icmp-errors source-interface port-channel 1
#   - no ip multicast multipath resilient
#   - no ip multicast multipath legacy
#   - no ip name-server 192.168.0.1 use-vrf temp1
#   - no vni 5
#   - no ipv6 multicast group-range prefix-list temp2
#   - no ipv6 multicast multipath resilient
#   - no ipv6 multicast multipath none
#   - ip domain-list invalid.com
#   - no ip domain-list example.net
#   - no ip domain-list test.org
#   - no ip igmp ssm-translate 232.0.0.0/8 10.1.1.1
#   - no ip igmp ssm-translate 239.1.2.3/24 192.168.1.1
#   - no ip mroute 192.168.1.0/24 192.168.1.1
#   - no ip mroute 192.168.1.0/24 192.168.1.2 2 vrf temp1
#   - no ip multicast rpf select vrf temp1 group-list 238.1.0.0/24
#   - no ip multicast rpf select vrf temp1 group-list 239.1.0.0/24
#   - no ip route 192.0.0.0/24 192.0.2.22
#   - no ip route 192.0.0.0/24 192.0.2.22 vrf temp1
#   - no ip route 192.0.2.0/24 192.0.2.22 tag 2 4
#   - no multicast service-reflect interface Ethernet1/1 map interface Ethernet2/2
#   - no multicast service-reflect interface Ethernet2/1 map interface Ethernet4/2
#   - no ipv6 mld ssm-translate ff28::/16 2001:db8:0:abcd::2
#   - no ipv6 mld ssm-translate ff30::/16 2001:db8:0:abcd::1
#   - no ipv6 mld ssm-translate ff32::/16 2001:db8:0:abcd::2
#   - no ipv6 mld ssm-translate ff32::/16 2001:db8:0:abcd::3
#
# after:
#   vrfs:
#    - ip:
#        name_server:
#          address_list:
#          - 192.168.255.1
#        route:
#        - destination: 192.168.255.1
#          source: 0.0.0.0/0
#      name: management
#    - description: Test
#      ip:
#        auto_discard: true
#        domain_list:
#        - invalid.com
#        - example.com
#        domain_name: test.org
#        multicast:
#          rpf:
#          - group_list_range: 238.1.0.0/24
#            vrf_name: temp1
#          - group_list_range: 239.1.0.0/24
#            vrf_name: temp1
#
# After state:
# ------------
# router-ios#show running-config | section ^vrf
# vrf context management
#   ip name-server 192.168.255.1
#   ip route 0.0.0.0/0 192.168.255.1
# vrf context temp
#   ip domain-name test.org
#   ip domain-list example.com
#   ip domain-list invalid.com
#   description Test
#   ip auto-discard
#   ip multicast rpf select vrf temp1 group-list 238.1.0.0/24
#   ip multicast rpf select vrf temp1 group-list 239.1.0.0/24
#   ip multicast group-range prefix-list temp2

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
after
dictionary
when changed
The resulting configuration after module execution.

Sample:
This output will always be in the same format as the module argspec.
before
dictionary
when state is merged, replaced, overridden, deleted or purged
The configuration prior to the module execution.

Sample:
This output will always be in the same format as the module argspec.
commands
list
when state is merged, replaced, overridden, deleted or purged
The set of commands pushed to the remote device.

Sample:
['vrf context management', 'description this is management vrf', 'ip domain-name example.com']
gathered
dictionary
when state is gathered
Facts about the network resource gathered from the remote device as structured data.

Sample:
This output will always be in the same format as the module argspec.
parsed
dictionary
when state is parsed
The device native config provided in running_config option parsed into structured data as per module argspec.

Sample:
This output will always be in the same format as the module argspec.
rendered
list
when state is rendered
The provided configuration in the task rendered in device-native format (offline).

Sample:
['vrf context test1', 'description This is a test VRF', 'ip route 192.0.0.0/24 192.0.2.22']


Authors

  • Vinay Mulugund (@roverflow)