cisco.nxos.nxos_ospfv3 – OSPFv3 resource module
Note
This plugin is part of the cisco.nxos collection (version 1.4.0).
To install it use: ansible-galaxy collection install cisco.nxos.
To use it in a playbook, specify: cisco.nxos.nxos_ospfv3.
New in version 1.2.0: of cisco.nxos
Synopsis
- This module manages OSPFv3 configuration on devices running Cisco NX-OS.
Note
This module has a corresponding action plugin.
Parameters
| Parameter | Choices/Defaults | Comments | |||||||
|---|---|---|---|---|---|---|---|---|---|
| config  dictionary  | A list of OSPFv3 process configuration. | ||||||||
| processes  list / elements=dictionary  | A list of OSPFv3 instances' configurations. | ||||||||
| address_family  dictionary  | IPv6 unicast address-family OSPFv3 settings. | ||||||||
| afi  string  | 
 | Configure OSPFv3 settings under IPv6 address-family. | |||||||
| areas  list / elements=dictionary  | Configure properties of OSPF Areas under address-family. | ||||||||
| area_id  string / required  | The Area ID as an integer or IP Address. | ||||||||
| default_cost  integer  | Specify the default cost. | ||||||||
| filter_list  list / elements=dictionary  | Filter prefixes between OSPF areas. | ||||||||
| direction  string / required  | 
 | The direction to apply the route map. | |||||||
| route_map  string / required  | The Route-map name. | ||||||||
| ranges  list / elements=dictionary  | Configure an address range for the area. | ||||||||
| cost  integer  | Cost to use for the range. | ||||||||
| not_advertise  boolean  | 
 | Suppress advertising the specified range. | |||||||
| prefix  string / required  | IP in Prefix format (x.x.x.x/len) | ||||||||
| default_information  dictionary  | Control distribution of default routes. | ||||||||
| originate  dictionary  | Distribute a default route. | ||||||||
| always  boolean  | 
 | Always advertise a default route. | |||||||
| route_map  string  | Policy to control distribution of default routes | ||||||||
| set  boolean  | 
 | Enable distribution of default route. | |||||||
| distance  integer  | Configure the OSPF administrative distance. | ||||||||
| maximum_paths  integer  | Maximum paths per destination. | ||||||||
| redistribute  list / elements=dictionary  | Redistribute information from another routing protocol. | ||||||||
| id  string  | The identifier for the protocol specified. | ||||||||
| protocol  string / required  | 
 | The name of the protocol. | |||||||
| route_map  string / required  | The route map policy to constrain redistribution. | ||||||||
| safi  string  | 
 | Configure OSPFv3 settings under IPv6 unicast address-family. | |||||||
| summary_address  list / elements=dictionary  | Configure route summarization for redistribution. | ||||||||
| not_advertise  boolean  | 
 | Supress advertising the specified summary. | |||||||
| prefix  string / required  | IPv6 prefix format 'xxxx:xxxx/ml', 'xxxx:xxxx::/ml' or 'xxxx::xx/128' | ||||||||
| tag  integer  | A 32-bit tag value. | ||||||||
| table_map  dictionary  | Policy for filtering/modifying OSPF routes before sending them to RIB. | ||||||||
| filter  boolean  | 
 | Block the OSPF routes from being sent to RIB. | |||||||
| name  string / required  | The Route Map name. | ||||||||
| timers  dictionary  | Configure timer related constants. | ||||||||
| throttle  dictionary  | Configure throttle related constants. | ||||||||
| spf  dictionary  | Set OSPF SPF timers. | ||||||||
| initial_spf_delay  integer  | Initial SPF schedule delay in milliseconds. | ||||||||
| max_wait_time  integer  | Maximum wait time between SPF calculations. | ||||||||
| min_hold_time  integer  | Minimum hold time between SPF calculations. | ||||||||
| areas  list / elements=dictionary  | Configure properties of OSPF Areas. | ||||||||
| area_id  string / required  | The Area ID as an integer or IP Address. | ||||||||
| nssa  dictionary  | NSSA settings for the area. | ||||||||
| default_information_originate  boolean  | 
 | Originate Type-7 default LSA into NSSA area. | |||||||
| no_redistribution  boolean  | 
 | Do not send redistributed LSAs into NSSA area. | |||||||
| no_summary  boolean  | 
 | Do not send summary LSAs into NSSA area. | |||||||
| route_map  string  | Policy to control distribution of default route. | ||||||||
| set  boolean  | 
 | Configure area as NSSA. | |||||||
| translate  dictionary  | Translate LSA. | ||||||||
| type7  dictionary  | Translate from Type 7 to Type 5. | ||||||||
| always  boolean  | 
 | Always translate LSAs | |||||||
| never  boolean  | 
 | Never translate LSAs | |||||||
| supress_fa  boolean  | 
 | Suppress forwarding address in translated LSAs. | |||||||
| stub  dictionary  | Settings for configuring the area as a stub. | ||||||||
| no_summary  boolean  | 
 | Prevent ABR from sending summary LSAs into stub area. | |||||||
| set  boolean  | 
 | Configure the area as a stub. | |||||||
| auto_cost  dictionary  | Calculate OSPF cost according to bandwidth. | ||||||||
| reference_bandwidth  integer / required  | Reference bandwidth used to assign OSPF cost. | ||||||||
| unit  string / required  | 
 | Specify in which unit the reference bandwidth is specified. | |||||||
| flush_routes  boolean  | 
 | Flush routes on a non-graceful controlled restart. | |||||||
| graceful_restart  dictionary  | Configure graceful restart. | ||||||||
| grace_period  integer  | Configure maximum interval to restart gracefully. | ||||||||
| helper_disable  boolean  | 
 | Enable/Disable helper mode. | |||||||
| planned_only  boolean  | 
 | Enable graceful restart only for a planned restart | |||||||
| set  boolean  | 
 | Enable graceful-restart. | |||||||
| isolate  boolean  | 
 | Isolate this router from OSPF perspective. | |||||||
| log_adjacency_changes  dictionary  | Log changes in adjacency state. | ||||||||
| detail  boolean  | 
 | Notify all state changes. | |||||||
| log  boolean  | 
 | Enable/disable logging changes in adjacency state. | |||||||
| max_lsa  dictionary  | Feature to limit the number of non-self-originated LSAs. | ||||||||
| ignore_count  integer  | Set count on how many times adjacencies can be suppressed. | ||||||||
| ignore_time  integer  | Set time during which all adjacencies are suppressed. | ||||||||
| max_non_self_generated_lsa  integer / required  | Set the maximum number of non self-generated LSAs. | ||||||||
| reset_time  integer  | Set number of minutes after which ignore-count is reset to zero. | ||||||||
| threshold  integer  | Threshold value (%) at which to generate a warning message. | ||||||||
| warning_only  boolean  | 
 | Log a warning message when limit is exceeded. | |||||||
| max_metric  dictionary  | Maximize the cost metric. | ||||||||
| router_lsa  dictionary  | Router LSA configuration. | ||||||||
| external_lsa  dictionary  | External LSA configuration. | ||||||||
| max_metric_value  integer  | Set max metric value for external LSAs. | ||||||||
| set  boolean  | 
 | Set external-lsa attribute. | |||||||
| inter_area_prefix_lsa  dictionary  | Inter-area-prefix LSAs configuration. | ||||||||
| max_metric_value  integer  | Max metric value for summary LSAs. | ||||||||
| set  boolean  | 
 | Set summary-lsa attribute. | |||||||
| on_startup  dictionary  | Effective only at startup. | ||||||||
| set  boolean  | 
 | Set on-startup attribute. | |||||||
| wait_for_bgp_asn  integer  | ASN of BGP to wait for. | ||||||||
| wait_period  integer  | Wait period in seconds after startup. | ||||||||
| set  boolean  | 
 | Set router-lsa attribute. | |||||||
| stub_prefix_lsa  boolean  | 
 | Advertise Max metric for Stub links as well. | |||||||
| name_lookup  boolean  | 
 | Display OSPF router ids as DNS names. | |||||||
| passive_interface  dictionary  | Suppress routing updates on the interface. | ||||||||
| default  boolean  | 
 | Interfaces passive by default. | |||||||
| process_id  string / required  | The OSPF process tag. | ||||||||
| router_id  string  | Set OSPF process router-id. | ||||||||
| shutdown  boolean  | 
 | Shutdown the OSPF protocol instance. | |||||||
| timers  dictionary  | Configure timer related constants. | ||||||||
| lsa_arrival  integer  | Mimimum interval between arrival of a LSA. | ||||||||
| lsa_group_pacing  integer  | LSA group refresh/maxage interval. | ||||||||
| throttle  dictionary  | Configure throttle related constants. | ||||||||
| lsa  dictionary  | Set rate-limiting for LSA generation. | ||||||||
| hold_interval  integer  | The hold interval. | ||||||||
| max_interval  integer  | The max interval. | ||||||||
| start_interval  integer  | The start interval. | ||||||||
| vrfs  list / elements=dictionary  | Configure VRF specific OSPF settings. | ||||||||
| areas  list / elements=dictionary  | Configure properties of OSPF Areas. | ||||||||
| area_id  string / required  | The Area ID as an integer or IP Address. | ||||||||
| nssa  dictionary  | NSSA settings for the area. | ||||||||
| default_information_originate  boolean  | 
 | Originate Type-7 default LSA into NSSA area. | |||||||
| no_redistribution  boolean  | 
 | Do not send redistributed LSAs into NSSA area. | |||||||
| no_summary  boolean  | 
 | Do not send summary LSAs into NSSA area. | |||||||
| route_map  string  | Policy to control distribution of default route. | ||||||||
| set  boolean  | 
 | Configure area as NSSA. | |||||||
| translate  dictionary  | Translate LSA. | ||||||||
| type7  dictionary  | Translate from Type 7 to Type 5. | ||||||||
| always  boolean  | 
 | Always translate LSAs | |||||||
| never  boolean  | 
 | Never translate LSAs | |||||||
| supress_fa  boolean  | 
 | Suppress forwarding address in translated LSAs. | |||||||
| stub  dictionary  | Settings for configuring the area as a stub. | ||||||||
| no_summary  boolean  | 
 | Prevent ABR from sending summary LSAs into stub area. | |||||||
| set  boolean  | 
 | Configure the area as a stub. | |||||||
| auto_cost  dictionary  | Calculate OSPF cost according to bandwidth. | ||||||||
| reference_bandwidth  integer / required  | Reference bandwidth used to assign OSPF cost. | ||||||||
| unit  string / required  | 
 | Specify in which unit the reference bandwidth is specified. | |||||||
| graceful_restart  dictionary  | Configure graceful restart. | ||||||||
| grace_period  integer  | Configure maximum interval to restart gracefully. | ||||||||
| helper_disable  boolean  | 
 | Enable/Disable helper mode. | |||||||
| planned_only  boolean  | 
 | Enable graceful restart only for a planned restart | |||||||
| set  boolean  | 
 | Enable graceful-restart. | |||||||
| log_adjacency_changes  dictionary  | Log changes in adjacency state. | ||||||||
| detail  boolean  | 
 | Notify all state changes. | |||||||
| log  boolean  | 
 | Enable/disable logging changes in adjacency state. | |||||||
| max_lsa  dictionary  | Feature to limit the number of non-self-originated LSAs. | ||||||||
| ignore_count  integer  | Set count on how many times adjacencies can be suppressed. | ||||||||
| ignore_time  integer  | Set time during which all adjacencies are suppressed. | ||||||||
| max_non_self_generated_lsa  integer / required  | Set the maximum number of non self-generated LSAs. | ||||||||
| reset_time  integer  | Set number of minutes after which ignore-count is reset to zero. | ||||||||
| threshold  integer  | Threshold value (%) at which to generate a warning message. | ||||||||
| warning_only  boolean  | 
 | Log a warning message when limit is exceeded. | |||||||
| max_metric  dictionary  | Maximize the cost metric. | ||||||||
| router_lsa  dictionary  | Router LSA configuration. | ||||||||
| external_lsa  dictionary  | External LSA configuration. | ||||||||
| max_metric_value  integer  | Set max metric value for external LSAs. | ||||||||
| set  boolean  | 
 | Set external-lsa attribute. | |||||||
| inter_area_prefix_lsa  dictionary  | Inter-area-prefix LSAs configuration. | ||||||||
| max_metric_value  integer  | Max metric value for summary LSAs. | ||||||||
| set  boolean  | 
 | Set summary-lsa attribute. | |||||||
| on_startup  dictionary  | Effective only at startup. | ||||||||
| set  boolean  | 
 | Set on-startup attribute. | |||||||
| wait_for_bgp_asn  integer  | ASN of BGP to wait for. | ||||||||
| wait_period  integer  | Wait period in seconds after startup. | ||||||||
| set  boolean  | 
 | Set router-lsa attribute. | |||||||
| stub_prefix_lsa  boolean  | 
 | Advertise Max metric for Stub links as well. | |||||||
| name_lookup  boolean  | 
 | Display OSPF router ids as DNS names. | |||||||
| passive_interface  dictionary  | Suppress routing updates on the interface. | ||||||||
| default  boolean  | 
 | Interfaces passive by default. | |||||||
| router_id  string  | Set OSPF process router-id. | ||||||||
| shutdown  boolean  | 
 | Shutdown the OSPF protocol instance. | |||||||
| timers  dictionary  | Configure timer related constants. | ||||||||
| lsa_arrival  integer  | Mimimum interval between arrival of a LSA. | ||||||||
| lsa_group_pacing  integer  | LSA group refresh/maxage interval. | ||||||||
| throttle  dictionary  | Configure throttle related constants. | ||||||||
| lsa  dictionary  | Set rate-limiting for LSA generation. | ||||||||
| hold_interval  integer  | The hold interval. | ||||||||
| max_interval  integer  | The max interval. | ||||||||
| start_interval  integer  | The start interval. | ||||||||
| vrf  string / required  | Name/Identifier of the VRF. | ||||||||
| 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 "^router ospfv3". The state parsed reads the configuration from  running_configoption 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  | 
 | The state the configuration should be left in. | |||||||
Notes
Note
- Tested against NX-OS 7.0(3)I5(1).
- This module works with connection network_cliandhttpapi.
Examples
# Using merged
# Before state:
# -------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# nxos-9k-rdo#
- name: Merge the provided configuration with the exisiting running configuration
  cisco.nxos.nxos_ospfv3:
    config:
      processes:
      - process_id: 100
        router_id: 203.0.113.20
      - process_id: 102
        router_id: 198.51.100.1
        address_family:
          afi: ipv6
          safi: unicast
          areas:
          - area_id: 0.0.0.100
            filter_list:
            - route_map: rmap_1
              direction: in
            - route_map: rmap_2
              direction: out
            ranges:
            - prefix: 2001:db2::/32
              not_advertise: true
            - prefix: 2001:db3::/32
              cost: 120
          redistribute:
          - protocol: eigrp
            id: 120
            route_map: rmap_1
          - protocol: direct
            route_map: ospf102-direct-connect
        vrfs:
        - vrf: zone1
          router_id: 198.51.100.129
          areas:
          - area_id: 0.0.0.102
            nssa:
              default_information_originate: true
              no_summary: true
          - area_id: 0.0.0.103
            nssa:
              no_summary: true
              translate:
                type7:
                  always: true
        - vrf: zone2
          auto_cost:
            reference_bandwidth: 45
            unit: Gbps
    state: merged
# Task output
# -------------
# before: {}
#
# commands:
#  - router ospf 102
#  - router-id 198.51.100.1
#  - address-family ipv6 unicast
#  - redistribute eigrp 120 route-map rmap_1
#  - redistribute direct route-map ospf102-direct-connect
#  - area 0.0.0.100 filter-list route-map rmap_1 in
#  - area 0.0.0.100 filter-list route-map rmap_2 out
#  - area 0.0.0.100 range 2001:db2::/32 not-advertise
#  - area 0.0.0.100 range 2001:db3::/32 cost 120
#  - vrf zone1
#  - router-id 198.51.100.129
#  - area 0.0.0.102 nssa no-summary default-information-originate
#  - area 0.0.0.103 nssa no-summary
#  - area 0.0.0.103 nssa translate type7 always
#  - vrf zone2
#  - auto-cost reference-bandwidth 45 Gbps
#  - router ospf 100
#  - router-id 203.0.113.20
#
# after:
#    processes:
#    - process_id: "100"
#      router_id: 203.0.113.20
#    - address_family:
#        afi: ipv4
#        safi: unicast
#        areas:
#        - area_id: 0.0.0.100
#          filter_list:
#          - direction: out
#            route_map: rmap_2
#          - direction: in
#            route_map: rmap_1
#          ranges:
#          - not_advertise: true
#            prefix: 2001:db2::/32
#          - cost: 120
#            prefix: 2001:db3::/32
#        redistribute:
#        - protocol: direct
#          route_map: ospf102-direct-connect
#        - id: "120"
#          protocol: eigrp
#          route_map: rmap_1
#      process_id: "102"
#      router_id: 198.51.100.1
#      vrfs:
#      - areas:
#        - area_id: 0.0.0.102
#          nssa:
#            default_information_originate: true
#            no_summary: true
#        - area_id: 0.0.0.103
#          nssa:
#            no_summary: true
#            translate:
#              type7:
#                always: true
#        router_id: 198.51.100.129
#        vrf: zone1
#      - auto_cost:
#          reference_bandwidth: 45
#          unit: Gbps
#        vrf: zone2
#
# After state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# router ospfv3 100
#   router-id 203.0.113.20
# router ospfv3 102
#   router-id 198.51.100.1
#   address-family ipv6 unicast
#     redistribute direct route-map ospf102-direct-connect
#     redistribute eigrp 120 route-map rmap_1
#     area 0.0.0.100 filter-list route-map rmap_2 out
#     area 0.0.0.100 filter-list route-map rmap_1 in
#     area 0.0.0.100 range 2001:db2::/32 not-advertise
#     area 0.0.0.100 range 2001:db3::/32 cost 120
#   vrf zone1
#     router-id 198.51.100.129
#     area 0.0.0.102 nssa no-summary default-information-originate
#     area 0.0.0.103 nssa no-summary
#     area 0.0.0.103 nssa translate type7 always
#   vrf zone2
#     auto-cost reference-bandwidth 45 Gbps
# Using replaced
# Before state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# router ospfv3 100
#   router-id 203.0.113.20
# router ospfv3 102
#   router-id 198.51.100.1
#   address-family upv6 unicast
#     redistribute direct route-map ospf102-direct-connect
#     redistribute eigrp 120 route-map rmap_1
#     area 0.0.0.100 filter-list route-map rmap_2 out
#     area 0.0.0.100 filter-list route-map rmap_1 in
#     area 0.0.0.100 range 2001:db2::/32 not-advertise
#     area 0.0.0.100 range 2001:db3::/32 cost 120
#   vrf zone1
#     router-id 198.51.100.129
#     area 0.0.0.102 nssa no-summary default-information-originate
#     area 0.0.0.103 nssa no-summary
#     area 0.0.0.103 nssa translate type7 always
#   vrf zone2
#     auto-cost reference-bandwidth 45 Gbps
- name: Replace device configurations of listed OSPFv3 processes with provided configurations
  cisco.nxos.nxos_ospfv3:
    config:
      processes:
      - process_id: 102
        router_id: 198.51.100.1
        address_family:
          afi: ipv6
          safi: unicast
          areas:
          - area_id: 0.0.0.100
            filter_list:
            - route_map: rmap_8
              direction: in
            ranges:
            - not_advertise: true
              prefix: 2001:db2::/32
          redistribute:
          - protocol: eigrp
            id: 130
            route_map: rmap_1
          - protocol: direct
            route_map: ospf102-direct-connect
        vrfs:
        - vrf: zone1
          router_id: 198.51.100.129
          areas:
          - area_id: 0.0.0.102
            nssa:
              default_information_originate: True
              no_summary: True
    state: replaced
# Task output
# -------------
# before:
#    processes:
#    - process_id: "100"
#      router_id: 203.0.113.20
#    - address_family:
#        afi: ipv4
#        safi: unicast
#        areas:
#        - area_id: 0.0.0.100
#          filter_list:
#          - direction: out
#            route_map: rmap_2
#          - direction: in
#            route_map: rmap_1
#          ranges:
#          - not_advertise: true
#            prefix: 2001:db2::/32
#          - cost: 120
#            prefix: 2001:db3::/32
#        redistribute:
#        - protocol: direct
#          route_map: ospf102-direct-connect
#        - id: "120"
#          protocol: eigrp
#          route_map: rmap_1
#      process_id: "102"
#      router_id: 198.51.100.1
#      vrfs:
#      - areas:
#        - area_id: 0.0.0.102
#          nssa:
#            default_information_originate: true
#            no_summary: true
#        - area_id: 0.0.0.103
#          nssa:
#            no_summary: true
#            translate:
#              type7:
#                always: true
#        router_id: 198.51.100.129
#        vrf: zone1
#      - auto_cost:
#          reference_bandwidth: 45
#          unit: Gbps
#        vrf: zone2
#
#  commands:
#  - router ospf 102
#  - address-family ipv6 unicast
#  - redistribute eigrp 130 route-map rmap_1
#  - no redistribute eigrp 120 route-map rmap_1
#  - area 0.0.0.100 filter-list route-map rmap_8 in
#  - no area 0.0.0.100 filter-list route-map rmap_2 out
#  - no area 0.0.0.100 range 2001:db3::/32
#  - vrf zone1
#  - no area 0.0.0.103 nssa
#  - no area 0.0.0.103 nssa translate type7 always
#  - no vrf zone2
#
# after:
#    processes:
#    - process_id: "100"
#      router_id: 203.0.113.20
#    - address_family:
#        afi: ipv6
#        safi: unicast
#        areas:
#        - area_id: 0.0.0.100
#          filter_list:
#          - direction: in
#            route_map: rmap_8
#          ranges:
#          - not_advertise: true
#            prefix: 2001:db2::/32
#        redistribute:
#        - protocol: direct
#          route_map: ospf102-direct-connect
#        - id: "130"
#          protocol: eigrp
#          route_map: rmap_1
#      process_id: "102"
#      router_id: 198.51.100.1
#      vrfs:
#      - areas:
#        - area_id: 0.0.0.102
#          nssa:
#            default_information_originate: true
#            no_summary: true
#        router_id: 198.51.100.129
#        vrf: zone1
# After state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# router ospfv3 100
#   router-id 203.0.113.20
# router ospfv3 102
#   router-id 198.51.100.1
#   address-family ipv6 unicast
#     redistribute direct route-map ospf102-direct-connect
#     redistribute eigrp 130 route-map rmap_1
#     area 0.0.0.100 filter-list route-map rmap_8 in
#     area 0.0.0.100 range 198.51.100.64/27 not-advertise
#   vrf zone1
#     router-id 198.51.100.129
#     area 0.0.0.102 nssa no-summary default-information-originate
# Using overridden
# Before state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# router ospfv3 100
#   router-id 203.0.113.20
# router ospfv3 102
#   router-id 198.51.100.1
#   address-family ipv6 unicast
#     redistribute direct route-map ospf102-direct-connect
#     redistribute eigrp 120 route-map rmap_1
#     area 0.0.0.100 filter-list route-map rmap_2 out
#     area 0.0.0.100 filter-list route-map rmap_1 in
#     area 0.0.0.100 range 2001:db2::/32 not-advertise
#     area 0.0.0.100 range 2001:db3::/32 cost 120
#   vrf zone1
#     router-id 198.51.100.129
#     area 0.0.0.102 nssa no-summary default-information-originate
#     area 0.0.0.103 nssa no-summary
#     area 0.0.0.103 nssa translate type7 always
#   vrf zone2
#     auto-cost reference-bandwidth 45 Gbps
- name: Overridde all OSPFv3 configuration with provided configuration
  cisco.nxos.nxos_ospfv3:
    config:
      processes:
      - process_id: 104
        router_id: 203.0.113.20
      - process_id: 102
        router_id: 198.51.100.1
        shutdown: true
    state: overridden
# Task output
# -------------
# before:
#    processes:
#    - process_id: "100"
#      router_id: 203.0.113.20
#    - address_family:
#        afi: ipv4
#        safi: unicast
#        areas:
#        - area_id: 0.0.0.100
#          filter_list:
#          - direction: out
#            route_map: rmap_2
#          - direction: in
#            route_map: rmap_1
#          ranges:
#          - not_advertise: true
#            prefix: 2001:db2::/32
#          - cost: 120
#            prefix: 2001:db3::/32
#        redistribute:
#        - protocol: direct
#          route_map: ospf102-direct-connect
#        - id: "120"
#          protocol: eigrp
#          route_map: rmap_1
#      process_id: "102"
#      router_id: 198.51.100.1
#      vrfs:
#      - areas:
#        - area_id: 0.0.0.102
#          nssa:
#            default_information_originate: true
#            no_summary: true
#        - area_id: 0.0.0.103
#          nssa:
#            no_summary: true
#            translate:
#              type7:
#                always: true
#        router_id: 198.51.100.129
#        vrf: zone1
#      - auto_cost:
#          reference_bandwidth: 45
#          unit: Gbps
#        vrf: zone2
#
# commands:
#  - no router ospfv3 100
#  - router ospfv3 104
#  - router-id 203.0.113.20
#  - router ospfv3 102
#  - shutdown
#  - address-family ipv6 unicast
#  - no redistribute direct route-map ospf102-direct-connect
#  - no redistribute eigrp 120 route-map rmap_1
#  - no area 0.0.0.100 filter-list route-map rmap_2 out
#  - no area 0.0.0.100 filter-list route-map rmap_1 in
#  - no area 0.0.0.100 range 2001:db2::/32
#  - no area 0.0.0.100 range 2001:db3::/32
#  - no vrf zone1
#  - no vrf zone2
#
# after:
#    processes:
#    - process_id: "102"
#      router_id: 198.51.100.1
#      shutdown: true
#      address_family:
#        afi: ipv6
#        safi: unicast
#    - process_id: "104"
#      router_id: 203.0.113.20
# After state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# router ospfv3 102
#   router-id 198.51.100.1
#   address-family ipv6 unicast
#   shutdown
# router ospfv3 104
#   router-id 203.0.113.20
# Using deleted to delete a single OSPF process
# Before state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospf .*"
# router ospfv3 100
#   router-id 203.0.113.20
# router ospfv3 102
#   router-id 198.51.100.1
#   address-family ipv6 unicast
#     redistribute direct route-map ospf102-direct-connect
#     redistribute eigrp 120 route-map rmap_1
#     area 0.0.0.100 filter-list route-map rmap_2 out
#     area 0.0.0.100 filter-list route-map rmap_1 in
#     area 0.0.0.100 range 2001:db2::/32 not-advertise
#     area 0.0.0.100 range 2001:db3::/32 cost 120
#   vrf zone1
#     router-id 198.51.100.129
#     area 0.0.0.102 nssa no-summary default-information-originate
#     area 0.0.0.103 nssa no-summary
#     area 0.0.0.103 nssa translate type7 always
#   vrf zone2
#     auto-cost reference-bandwidth 45 Gbps
- name: Delete a single OSPFv3 process
  cisco.nxos.nxos_ospfv3:
    config:
      processes:
      - process_id: 102
    state: deleted
# Task output
# -------------
# before:
#    processes:
#    - process_id: "100"
#      router_id: 203.0.113.20
#    - address_family:
#        afi: ipv4
#        safi: unicast
#        areas:
#        - area_id: 0.0.0.100
#          filter_list:
#          - direction: out
#            route_map: rmap_2
#          - direction: in
#            route_map: rmap_1
#          ranges:
#          - not_advertise: true
#            prefix: 2001:db2::/32
#          - cost: 120
#            prefix: 2001:db3::/32
#        redistribute:
#        - protocol: direct
#          route_map: ospf102-direct-connect
#        - id: "120"
#          protocol: eigrp
#          route_map: rmap_1
#      process_id: "102"
#      router_id: 198.51.100.1
#      vrfs:
#      - areas:
#        - area_id: 0.0.0.102
#          nssa:
#            default_information_originate: true
#            no_summary: true
#        - area_id: 0.0.0.103
#          nssa:
#            no_summary: true
#            translate:
#              type7:
#                always: true
#        router_id: 198.51.100.129
#        vrf: zone1
#      - auto_cost:
#          reference_bandwidth: 45
#          unit: Gbps
#        vrf: zone2
#
# commands:
#  - no router ospfv3 102
#
# after:
#   processes:
#   - process_id: "100"
#     router_id: 203.0.113.20
# After state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# router ospfv3 100
#   router-id 203.0.113.20
# Using deleted all OSPFv3 processes from the device
# Before state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# router ospfv3 100
#   router-id 203.0.113.20
# router ospfv3 102
#   router-id 198.51.100.1
#   address-family ipv6 unicast
#     redistribute direct route-map ospf102-direct-connect
#     redistribute eigrp 120 route-map rmap_1
#     area 0.0.0.100 filter-list route-map rmap_2 out
#     area 0.0.0.100 filter-list route-map rmap_1 in
#     area 0.0.0.100 range 2001:db2::/32 not-advertise
#     area 0.0.0.100 range 2001:db3::/32 cost 120
#   vrf zone1
#     router-id 198.51.100.129
#     area 0.0.0.102 nssa no-summary default-information-originate
#     area 0.0.0.103 nssa no-summary
#     area 0.0.0.103 nssa translate type7 always
#   vrf zone2
#     auto-cost reference-bandwidth 45 Gbps
- name: Delete all OSPFv3 processes from the device
  cisco.nxos.nxos_ospfv3:
    state: deleted
# Task output
# -------------
# before:
#    processes:
#    - process_id: "100"
#      router_id: 203.0.113.20
#    - address_family:
#        afi: ipv4
#        safi: unicast
#        areas:
#        - area_id: 0.0.0.100
#          filter_list:
#          - direction: out
#            route_map: rmap_2
#          - direction: in
#            route_map: rmap_1
#          ranges:
#          - not_advertise: true
#            prefix: 2001:db2::/32
#          - cost: 120
#            prefix: 2001:db3::/32
#        redistribute:
#        - protocol: direct
#          route_map: ospf102-direct-connect
#        - id: "120"
#          protocol: eigrp
#          route_map: rmap_1
#      process_id: "102"
#      router_id: 198.51.100.1
#      vrfs:
#      - areas:
#        - area_id: 0.0.0.102
#          nssa:
#            default_information_originate: true
#            no_summary: true
#        - area_id: 0.0.0.103
#          nssa:
#            no_summary: true
#            translate:
#              type7:
#                always: true
#        router_id: 198.51.100.129
#        vrf: zone1
#      - auto_cost:
#          reference_bandwidth: 45
#          unit: Gbps
#        vrf: zone2
#
# commands:
#  - no router ospfv3 100
#  - no router ospfv3 102
#
#  after: {}
# After state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospfv3"
# nxos-9k-rdo#
# Using rendered
- name: Merge the provided configuration with the exisiting running configuration
  cisco.nxos.nxos_ospfv3:
    config:
      processes:
      - process_id: 100
        router_id: 203.0.113.20
      - process_id: 102
        router_id: 198.51.100.1
        address_family:
          afi: ipv6
          safi: unicast
          areas:
          - area_id: 0.0.0.100
            filter_list:
            - route_map: rmap_1
              direction: in
            - route_map: rmap_2
              direction: out
            ranges:
            - prefix: 2001:db2::/32
              not_advertise: true
            - prefix: 2001:db3::/32
              cost: 120
          redistribute:
          - protocol: eigrp
            id: 120
            route_map: rmap_1
          - protocol: direct
            route_map: ospf102-direct-connect
        vrfs:
        - vrf: zone1
          router_id: 198.51.100.129
          areas:
          - area_id: 0.0.0.102
            nssa:
              default_information_originate: true
              no_summary: true
          - area_id: 0.0.0.103
            nssa:
              no_summary: true
              translate:
                type7:
                  always: true
        - vrf: zone2
          auto_cost:
            reference_bandwidth: 45
            unit: Gbps
    state: rendered
# Task Output (redacted)
# -----------------------
# rendered:
#  - router ospfv3 100
#  - router-id 203.0.113.20
#  - router ospfv3 102
#  - router-id 198.51.100.1
#  - address-family ipv6 unicast
#  - redistribute eigrp 120 route-map rmap_1
#  - redistribute direct route-map ospf102-direct-connect
#  - area 0.0.0.100 filter-list route-map rmap_1 in
#  - area 0.0.0.100 filter-list route-map rmap_2 out
#  - area 0.0.0.100 range 2001:db2::/32 not-advertise
#  - area 0.0.0.100 range 2001:db3::/32 cost 120
#  - vrf zone1
#  - router-id 198.51.100.129
#  - area 0.0.0.102 nssa no-summary default-information-originate
#  - area 0.0.0.103 nssa no-summary
#  - area 0.0.0.103 nssa translate type7 always
#  - vrf zone2
#  - auto-cost reference-bandwidth 45 Gbps
# Using parsed
# parsed.cfg
# ------------
# router ospfv3 100
#   router-id 192.0.100.1
#   address-family ipv6 unicast
#     redistribute direct route-map ospf-direct-connect
#     redistribute eigrp 120 route-map rmap_1
#     area 0.0.0.100 filter-list route-map rmap_2 out
#     area 0.0.0.100 filter-list route-map rmap_1 in
#     area 0.0.0.100 range 2001:db2::/32 not-advertise
#     area 0.0.0.100 range 2001:db3::/32 cost 120
#   vrf zone1
#     router-id 198.51.100.129
#     area 0.0.100.1 nssa no-summary no-redistribution
# router ospfv3 102
#   router-id 198.54.100.1
#   shutdown
- name: Parse externally provided OSPFv3 config
  cisco.nxos.nxos_ospfv3:
    running_config: "{{ lookup('file', 'ospfv2.cfg') }}"
    state: parsed
# Task output (redacted)
# -----------------------
# parsed:
#   processes:
#   - process_id: "100"
#     address_family:
#       afi: ipv6
#       safi: unicast
#       areas:
#       - area_id: 0.0.0.101
#         nssa:
#           no_redistribution: true
#           no_summary: true
#       - area_id: 0.0.0.102
#         stub:
#           no_summary: true
#         filter_list:
#           - direction: out
#             route_map: rmap_2
#           - direction: in
#             route_map: rmap_1
#         ranges:
#           - not_advertise: true
#             prefix: 192.0.2.0/24
#           - cost: 120
#             prefix: 192.0.3.0/24
#       redistribute:
#       - protocol: direct
#         route_map: ospf-direct-connect
#       - id: "120"
#         protocol: eigrp
#         route_map: rmap_1
#     router_id: 192.0.100.1
#     vrfs:
#       - vrf: zone1
#         areas:
#           - area_id: 0.0.100.1
#             nssa:
#               no_redistribution: true
#               no_summary: true
#         router_id: 192.0.100.2
#   - process_id: "102"
#     router_id: 198.54.100.1
#     shutdown: True
# Using gathered
- name: Gather OSPFv3 facts using gathered
  cisco.nxos.nxos_ospfv3:
    state: gathered
# Task output (redacted)
# -----------------------
#  gathered:
#    processes:
#    - process_id: "100"
#      router_id: 203.0.113.20
#    - address_family:
#        afi: ipv4
#        safi: unicast
#        areas:
#        - area_id: 0.0.0.100
#          filter_list:
#          - direction: out
#            route_map: rmap_2
#          - direction: in
#            route_map: rmap_1
#          ranges:
#          - not_advertise: true
#            prefix: 2001:db2::/32
#          - cost: 120
#            prefix: 2001:db3::/32
#        redistribute:
#        - protocol: direct
#          route_map: ospf102-direct-connect
#        - id: "120"
#          protocol: eigrp
#          route_map: rmap_1
#      process_id: "102"
#      router_id: 198.51.100.1
#      vrfs:
#      - areas:
#        - area_id: 0.0.0.102
#          nssa:
#            default_information_originate: true
#            no_summary: true
#        - area_id: 0.0.0.103
#          nssa:
#            no_summary: true
#            translate:
#              type7:
#                always: true
#        router_id: 198.51.100.129
#        vrf: zone1
#      - auto_cost:
#          reference_bandwidth: 45
#          unit: Gbps
#        vrf: zone2
#
   Return Values
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 model invocation. Sample: The configuration returned will always be in the same format of the parameters above. | 
| before  dictionary  | always | The configuration prior to the model invocation. Sample: The configuration returned will always be in the same format of the parameters above. | 
| commands  list / elements=string  | always | The set of commands pushed to the remote device. Sample: ['router ospfv3 102', 'router-id 198.54.100.1', 'router ospfv3 100', 'router-id 192.0.100.1', 'address-family ipv6 unicast', 'redistribute eigrp 120 route-map rmap_1', 'redistribute direct route-map ospf-direct-connect', 'area 0.0.0.100 filter-list route-map rmap_1 in', 'area 0.0.0.100 filter-list route-map rmap_2 out', 'area 0.0.0.100 range 2001:db2::/32 not-advertise', 'area 0.0.0.100 range 2001:db3::/32 cost 120', 'vrf zone1', 'router-id 192.0.100.2', 'vrf zone2', 'auto-cost reference-bandwidth 45 Gbps'] | 
Authors
- Nilashish Chakraborty (@NilashishC)
    © 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.11/collections/cisco/nxos/nxos_ospfv3_module.html