cisco.nxos.nxos_ospfv2 – OSPFv2 resource module
Note
This plugin is part of the cisco.nxos collection (version 1.3.1).
To install it use: ansible-galaxy collection install cisco.nxos.
To use it in a playbook, specify: cisco.nxos.nxos_ospfv2.
New in version 1.0.0: of cisco.nxos
Synopsis
- This module manages OSPFv2 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 OSPF process configuration.   |  ||||||||
|   processes    list / elements=dictionary    |    A list of OSPF instances' configurations.   |  ||||||||
|   areas    list / elements=dictionary    |    Configure properties of OSPF Areas.   |  ||||||||
|   area_id    string / required    |    The Area ID as an integer or IP Address.   |  ||||||||
|   authentication    dictionary    |    Authentication settings for the Area.   |  ||||||||
|   message_digest    boolean    |   
  |    Use message-digest authentication.   |  |||||||
|   set    boolean    |   
  |    Set authentication for the area.   |  |||||||
|   default_cost    integer    |    Specify the default cost for default summary LSA.   |  ||||||||
|   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.   |  ||||||||
|   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.   |  |||||||
|   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.   |  |||||||
|   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)   |  ||||||||
|   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.   |  |||||||
|   bfd    boolean    |   
  |    Enable BFD on all OSPF interfaces.   |  |||||||
|   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.   |  |||||||
|   default_metric    integer    |    Specify default metric for redistributed routes.   |  ||||||||
|   distance    integer    |    Configure the OSPF administrative distance.   |  ||||||||
|   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.   |  |||||||
|   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.   |  |||||||
|   include_stub    boolean    |   
  |    Advertise Max metric for Stub links as well.   |  |||||||
|   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.   |  |||||||
|   summary_lsa    dictionary    |    Summary LSAs configuration.   |  ||||||||
|   max_metric_value    integer    |    Max metric value for summary LSAs.   |  ||||||||
|   set    boolean    |   
  |    Set summary-lsa attribute.   |  |||||||
|   maximum_paths    integer    |    Maximum paths per destination.   |  ||||||||
|   mpls    dictionary    |    OSPF MPLS configuration settings.   |  ||||||||
|   traffic_eng    dictionary    |    OSPF MPLS Traffic Engineering commands.   |  ||||||||
|   areas    list / elements=dictionary    |    List of Area IDs.   |  ||||||||
|   area_id    string    |    Area Id as an integer or ip address.   |  ||||||||
|   multicast_intact    boolean    |   
  |    MPLS TE multicast support.   |  |||||||
|   router_id    string    |    Router ID associated with TE.   |  ||||||||
|   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.   |  ||||||||
|   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.   |  ||||||||
|   rfc1583compatibility    boolean    |   
  |    Configure 1583 compatibility for external path preferences.   |  |||||||
|   router_id    string    |    Set OSPF process router-id.   |  ||||||||
|   shutdown    boolean    |   
  |    Shutdown the OSPF protocol instance.   |  |||||||
|   summary_address    list / elements=dictionary    |    Configure route summarization for redistribution.   |  ||||||||
|   not_advertise    boolean    |   
  |    Supress advertising the specified summary.   |  |||||||
|   prefix    string / required    |    IP prefix in format x.x.x.x/ml.   |  ||||||||
|   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.   |  ||||||||
|   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.   |  ||||||||
|   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.   |  ||||||||
|   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.   |  ||||||||
|   authentication    dictionary    |    Authentication settings for the Area.   |  ||||||||
|   message_digest    boolean    |   
  |    Use message-digest authentication.   |  |||||||
|   set    boolean    |   
  |    Set authentication for the area.   |  |||||||
|   default_cost    integer    |    Specify the default cost for default summary LSA.   |  ||||||||
|   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.   |  ||||||||
|   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.   |  |||||||
|   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.   |  |||||||
|   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)   |  ||||||||
|   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.   |  |||||||
|   bfd    boolean    |   
  |    Enable BFD on all OSPF interfaces.   |  |||||||
|   capability    dictionary    |    OSPF capability settings.   |  ||||||||
|   vrf_lite    dictionary    |    Enable VRF-lite capability settings.   |  ||||||||
|   evpn    boolean    |   
  |    Ethernet VPN.   |  |||||||
|   set    boolean    |   
  |    Enable VRF-lite support.   |  |||||||
|   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.   |  |||||||
|   default_metric    integer    |    Specify default metric for redistributed routes.   |  ||||||||
|   distance    integer    |    Configure the OSPF administrative distance.   |  ||||||||
|   down_bit_ignore    boolean    |   
  |    Configure a PE router to ignore the DN bit for network summary, external and NSSA external LSA.   |  |||||||
|   graceful_restart    dictionary    |    Configure graceful restart.   |  ||||||||
|   grace_period    integer    |    Configure maximum interval to restart gracefully.   |  ||||||||
|   helper_disable    boolean    |   
  |    Enable/Disable helper mode.   |  |||||||
|   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.   |  |||||||
|   include_stub    boolean    |   
  |    Advertise Max metric for Stub links as well.   |  |||||||
|   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.   |  |||||||
|   summary_lsa    dictionary    |    Summary LSAs configuration.   |  ||||||||
|   max_metric_value    integer    |    Max metric value for summary LSAs.   |  ||||||||
|   set    boolean    |   
  |    Set summary-lsa attribute.   |  |||||||
|   maximum_paths    integer    |    Maximum paths per destination.   |  ||||||||
|   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.   |  |||||||
|   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.   |  ||||||||
|   rfc1583compatibility    boolean    |   
  |    Configure 1583 compatibility for external path preferences.   |  |||||||
|   router_id    string    |    Set OSPF process router-id.   |  ||||||||
|   shutdown    boolean    |   
  |    Shutdown the OSPF protocol instance.   |  |||||||
|   summary_address    list / elements=dictionary    |    Configure route summarization for redistribution.   |  ||||||||
|   not_advertise    boolean    |   
  |    Supress advertising the specified summary.   |  |||||||
|   prefix    string / required    |    IP prefix in format x.x.x.x/ml.   |  ||||||||
|   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.   |  ||||||||
|   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.   |  ||||||||
|   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.   |  ||||||||
|   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 ospf .*".  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    |   
  |    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 ospf .*"
# nxos-9k-rdo#
- name: Merge the provided configuration with the exisiting running configuration
  cisco.nxos.nxos_ospfv2:
    config:
      processes:
      - process_id: 100
        router_id: 203.0.113.20
      - process_id: 102
        router_id: 198.51.100.1
        areas:
        - area_id: 0.0.0.100
          filter_list:
          - route_map: rmap_1
            direction: in
          - route_map: rmap_2
            direction: out
          ranges:
          - prefix: 198.51.100.64/27
            not_advertise: true
          - prefix: 198.51.100.96/27
            cost: 120
        - area_id: 0.0.0.101
          authentication:
            message_digest: true
        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
          redistribute:
          - protocol: static
            route_map: zone1-static-connect
          summary_address:
          - prefix: 198.51.100.128/27
            tag: 121
          - prefix: 198.51.100.160/27
          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
#  - 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 198.51.100.64/27 not-advertise
#  - area 0.0.0.100 range 198.51.100.96/27 cost 120
#  - area 0.0.0.101 authentication message-digest
#  - vrf zone1
#  - router-id 198.51.100.129
#  - summary-address 198.51.100.128/27 tag 121
#  - summary-address 198.51.100.160/27
#  - redistribute static route-map zone1-static-connect
#  - 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
#    - 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: 198.51.100.64/27
#        - cost: 120
#          prefix: 198.51.100.96/27
#      - area_id: 0.0.0.101
#        authentication:
#          message_digest: true
#      process_id: "102"
#      redistribute:
#      - protocol: direct
#        route_map: ospf102-direct-connect
#      - id: "120"
#        protocol: eigrp
#        route_map: rmap_1
#      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
#        redistribute:
#        - protocol: static
#          route_map: zone1-static-connect
#        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 ospf .*"
# router ospf 100
#   router-id 203.0.113.20
# router ospf 102
#   router-id 198.51.100.1
#   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 198.51.100.64/27 not-advertise
#   area 0.0.0.100 range 198.51.100.96/27 cost 120
#   area 0.0.0.101 authentication message-digest
#   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
#     redistribute static route-map zone1-static-connect
#     summary-address 198.51.100.128/27 tag 121
#     summary-address 198.51.100.160/27
#   vrf zone2
#     auto-cost reference-bandwidth 45 Gbps
# Using replaced
# Before state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospf .*"
# router ospf 100
#   router-id 203.0.113.20
# router ospf 102
#   router-id 198.51.100.1
#   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 198.51.100.64/27 not-advertise
#   area 0.0.0.100 range 198.51.100.96/27 cost 120
#   area 0.0.0.101 authentication message-digest
#   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
#     redistribute static route-map zone1-static-connect
#     summary-address 198.51.100.128/27 tag 121
#     summary-address 198.51.100.160/27
#   vrf zone2
#     auto-cost reference-bandwidth 45 Gbps
- name: Replace device configurations of listed OSPF processes with provided configurations
  cisco.nxos.nxos_ospfv2:
    config:
      processes:
      - process_id: 102
        router_id: 198.51.100.1
        areas:
        - area_id: 0.0.0.100
          filter_list:
          - route_map: rmap_8
            direction: in
          ranges:
          - prefix: 198.51.100.64/27
            not_advertise: true
        - area_id: 0.0.0.101
          stub:
            no_summary: true
        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
          redistribute:
          - protocol: bgp
            id: 65563
            route_map: zone1-bgp-connect
          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
#    - 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: 198.51.100.64/27
#        - cost: 120
#          prefix: 198.51.100.96/27
#      - area_id: 0.0.0.101
#        authentication:
#          message_digest: true
#      process_id: "102"
#      redistribute:
#      - protocol: direct
#        route_map: ospf102-direct-connect
#      - id: "120"
#        protocol: eigrp
#        route_map: rmap_1
#      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
#        redistribute:
#        - protocol: static
#          route_map: zone1-static-connect
#        router_id: 198.51.100.129
#        vrf: zone1
#      - auto_cost:
#          reference_bandwidth: 45
#          unit: Gbps
#        vrf: zone2
#
#  commands:
#  - router ospf 102
#  - 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 198.51.100.96/27
#  - no area 0.0.0.101 authentication
#  - area 0.0.0.101 stub no-summary
#  - vrf zone1
#  - no summary-address 198.51.100.128/27 tag 121
#  - no summary-address 198.51.100.160/27
#  - redistribute bgp 65563 route-map zone1-bgp-connect
#  - no redistribute static route-map zone1-static-connect
#  - 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
#    - areas:
#      - area_id: 0.0.0.101
#        stub:
#          no_summary: true
#      - area_id: 0.0.0.100
#        filter_list:
#        - direction: in
#          route_map: rmap_8
#        ranges:
#        - not_advertise: true
#          prefix: 198.51.100.64/27
#      process_id: "102"
#      redistribute:
#      - protocol: direct
#        route_map: ospf102-direct-connect
#      - id: "130"
#        protocol: eigrp
#        route_map: rmap_1
#      router_id: 198.51.100.1
#      vrfs:
#      - areas:
#        - area_id: 0.0.0.102
#          nssa:
#            default_information_originate: true
#            no_summary: true
#        redistribute:
#        - id: "65563"
#          protocol: bgp
#          route_map: zone1-bgp-connect
#        router_id: 198.51.100.129
#        vrf: zone1
# After state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospf .*"
# router ospf 100
#   router-id 203.0.113.20
# router ospf 102
#   router-id 198.51.100.1
#   area 0.0.0.101 stub no-summary
#   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
#     redistribute bgp 65563 route-map zone1-bgp-connect
# Using overridden
# Before state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospf .*"
# router ospf 100
#   router-id 203.0.113.20
# router ospf 102
#   router-id 198.51.100.1
#   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 198.51.100.64/27 not-advertise
#   area 0.0.0.100 range 198.51.100.96/27 cost 120
#   area 0.0.0.101 authentication message-digest
#   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
#     redistribute static route-map zone1-static-connect
#     summary-address 198.51.100.128/27 tag 121
#     summary-address 198.51.100.160/27
#   vrf zone2
#     auto-cost reference-bandwidth 45 Gbps
- name: Overridde all OSPF configuration with provided configuration
  cisco.nxos.nxos_ospfv2:
    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
#    - 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: 198.51.100.64/27
#        - cost: 120
#          prefix: 198.51.100.96/27
#      - area_id: 0.0.0.101
#        authentication:
#          message_digest: true
#      process_id: "102"
#      redistribute:
#      - protocol: direct
#        route_map: ospf102-direct-connect
#      - id: "120"
#        protocol: eigrp
#        route_map: rmap_1
#      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
#        redistribute:
#        - protocol: static
#          route_map: zone1-static-connect
#        router_id: 198.51.100.129
#        vrf: zone1
#      - auto_cost:
#          reference_bandwidth: 45
#          unit: Gbps
#        vrf: zone2
#
# commands:
#  - no router ospf 100
#  - router ospf 104
#  - router-id 203.0.113.20
#  - router ospf 102
#  - shutdown
#  - 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 198.51.100.64/27
#  - no area 0.0.0.100 range 198.51.100.96/27
#  - no area 0.0.0.101 authentication
#  - no vrf zone1
#  - no vrf zone2
#
# after:
#    processes:
#    - process_id: "102"
#      router_id: 198.51.100.1
#      shutdown: true
#    - process_id: "104"
#      router_id: 203.0.113.20
# After state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospf .*"
# router ospf 102
#   router-id 198.51.100.1
#   shutdown
# router ospf 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 ospf 100
#   router-id 203.0.113.20
# router ospf 102
#   router-id 198.51.100.1
#   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 198.51.100.64/27 not-advertise
#   area 0.0.0.100 range 198.51.100.96/27 cost 120
#   area 0.0.0.101 authentication message-digest
#   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
#     redistribute static route-map zone1-static-connect
#     summary-address 198.51.100.128/27 tag 121
#     summary-address 198.51.100.160/27
#   vrf zone2
#     auto-cost reference-bandwidth 45 Gbps
- name: Delete a single OSPF process
  cisco.nxos.nxos_ospfv2:
    config:
      processes:
      - process_id: 102
    state: deleted
# Task output
# -------------
# before:
#    processes:
#    - process_id: "100"
#      router_id: 203.0.113.20
#    - 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: 198.51.100.64/27
#        - cost: 120
#          prefix: 198.51.100.96/27
#      - area_id: 0.0.0.101
#        authentication:
#          message_digest: true
#      process_id: "102"
#      redistribute:
#      - protocol: direct
#        route_map: ospf102-direct-connect
#      - id: "120"
#        protocol: eigrp
#        route_map: rmap_1
#      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
#        redistribute:
#        - protocol: static
#          route_map: zone1-static-connect
#        router_id: 198.51.100.129
#        vrf: zone1
#      - auto_cost:
#          reference_bandwidth: 45
#          unit: Gbps
#        vrf: zone2
#
# commands:
#  - no router ospf 102
#
# after:
#   processes:
#   - process_id: "100"
#     router_id: 203.0.113.20
# After state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospf .*"
# router ospf 100
#   router-id 203.0.113.20
# Using deleted all OSPF processes from the device
# Before state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospf .*"
# router ospf 100
#   router-id 203.0.113.20
# router ospf 102
#   router-id 198.51.100.1
#   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 198.51.100.64/27 not-advertise
#   area 0.0.0.100 range 198.51.100.96/27 cost 120
#   area 0.0.0.101 authentication message-digest
#   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
#     redistribute static route-map zone1-static-connect
#     summary-address 198.51.100.128/27 tag 121
#     summary-address 198.51.100.160/27
#   vrf zone2
#     auto-cost reference-bandwidth 45 Gbps
- name: Delete all OSPF processes from the device
  cisco.nxos.nxos_ospfv2:
    state: deleted
# Task output
# -------------
# before:
#    processes:
#    - process_id: "100"
#      router_id: 203.0.113.20
#    - 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: 198.51.100.64/27
#        - cost: 120
#          prefix: 198.51.100.96/27
#      - area_id: 0.0.0.101
#        authentication:
#          message_digest: true
#      process_id: "102"
#      redistribute:
#      - protocol: direct
#        route_map: ospf102-direct-connect
#      - id: "120"
#        protocol: eigrp
#        route_map: rmap_1
#      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
#        redistribute:
#        - protocol: static
#          route_map: zone1-static-connect
#        router_id: 198.51.100.129
#        vrf: zone1
#      - auto_cost:
#          reference_bandwidth: 45
#          unit: Gbps
#        vrf: zone2
#
# commands:
#  - no router ospf 100
#  - no router ospf 102
#
#  after: {}
# After state:
# ------------
# nxos-9k-rdo# sh running-config | section "^router ospf .*"
# nxos-9k-rdo#
# Using rendered
- name: Render platform specific configuration lines (without connecting to the device)
  cisco.nxos.nxos_ospfv2:
    config:
      processes:
      - process_id: 100
        router_id: 203.0.113.20
      - process_id: 102
        router_id: 198.51.100.1
        areas:
        - area_id: 0.0.0.100
          filter_list:
          - route_map: rmap_1
            direction: in
          - route_map: rmap_2
            direction: out
          ranges:
          - prefix: 198.51.100.64/27
            not_advertise: true
          - prefix: 198.51.100.96/27
            cost: 120
        - area_id: 0.0.0.101
          authentication:
            message_digest: true
        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
          redistribute:
          - protocol: static
            route_map: zone1-static-connect
          summary_address:
          - prefix: 198.51.100.128/27
            tag: 121
          - prefix: 198.51.100.160/27
          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 ospf 100
#  - router-id 203.0.113.20
#  - router ospf 102
#  - router-id 198.51.100.1
#  - 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 198.51.100.64/27 not-advertise
#  - area 0.0.0.100 range 198.51.100.96/27 cost 120
#  - area 0.0.0.101 authentication message-digest
#  - vrf zone1
#  - router-id 198.51.100.129
#  - summary-address 198.51.100.128/27 tag 121
#  - summary-address 198.51.100.160/27
#  - redistribute static route-map zone1-static-connect
#  - 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 ospf 100
#   router-id 192.0.100.1
#   area 0.0.0.101 nssa no-summary no-redistribution
#   area 0.0.0.102 stub no-summary
#   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 192.0.2.0/24 not-advertise
#   area 0.0.0.100 range 192.0.3.0/24 cost 120
#   area 0.0.0.100 authentication message-digest
#   vrf zone1
#     router-id 192.0.100.2
#     area 0.0.100.1 nssa no-summary no-redistribution
#     redistribute static route-map zone1-direct-connect
#     summary-address 10.0.0.0/24 tag 120
#     summary-address 11.0.0.0/24 not-advertise
#   vrf zone2
#     auto-cost reference-bandwidth 45 Gbps
#     down-bit-ignore
#     capability vrf-lite evpn
#     shutdown
# router ospf 102
#   router-id 198.54.100.1
#   shutdown
#   vrf zone2
#     summary-address 192.0.8.0/24 tag 120
#   vrf zone4
#     shutdown
- name: Parse externally provided OSPFv2 config
  cisco.nxos.nxos_ospfv2:
    running_config: "{{ lookup('file', 'ospfv2.cfg') }}"
    state: parsed
# Task output (redacted)
# -----------------------
# parsed:
#   processes:
#   - process_id: "100"
#     areas:
#       - area_id: 0.0.0.101
#         nssa:
#           no_redistribution: true
#           no_summary: true
#       - area_id: 0.0.0.102
#         stub:
#           no_summary: true
#       - area_id: 0.0.0.100
#         authentication:
#           message_digest: 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
#         redistribute:
#           - protocol: static
#             route_map: zone1-direct-connect
#         router_id: 192.0.100.2
#         summary_address:
#           - prefix: 10.0.0.0/24
#             tag: 120
#           - not_advertise: true
#             prefix: 11.0.0.0/24
#       - vrf: zone2
#         auto_cost:
#           reference_bandwidth: 45
#           unit: Gbps
#         capability:
#           vrf_lite:
#             evpn: true
#         down_bit_ignore: true
#         shutdown: true
#   - process_id: "102"
#     router_id: 198.54.100.1
#     shutdown: true
#     vrfs:
#       - vrf: zone2
#         summary_address:
#           - prefix: 192.0.8.0/24
#             tag: 120
#       - vrf: zone4
#         shutdown: true
# Using gathered
- name: Gather OSPFv2 facts using gathered
  cisco.nxos.nxos_ospfv2:
    state: gathered
# Task output (redacted)
# -----------------------
#  gathered:
#    processes:
#      - process_id: "102"
#        areas:
#          - area_id: 0.0.0.101
#            stub:
#              no_summary: true
#          - area_id: 0.0.0.100
#            filter_list:
#              - direction: in
#                route_map: rmap_8
#            ranges:
#              - not_advertise: true
#                prefix: 198.51.100.64/27
#        redistribute:
#          - protocol: direct
#            route_map: ospf102-direct-connect
#          - id: "130"
#            protocol: eigrp
#            route_map: rmap_1
#        router_id: 198.51.100.1
#        vrfs:
#          - vrf: zone1
#            areas:
#              - area_id: 0.0.0.102
#                nssa:
#                  default_information_originate: true
#                  no_summary: true
#            redistribute:
#             - id: "65563"
#               protocol: bgp
#               route_map: zone1-bgp-connect
#            router_id: 198.51.100.129
#
   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 ospf 102', 'router-id 198.54.100.1', 'router ospf 100', 'router-id 192.0.100.1', '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 192.0.2.0/24 not-advertise', 'area 0.0.0.100 range 192.0.3.0/24 cost 120', 'vrf zone1', 'router-id 192.0.100.2', 'summary-address 10.0.0.0/24 tag 121', 'summary-address 11.0.0.0/24', 'redistribute static route-map zone1-direct-connect', 'vrf zone2', 'auto-cost reference-bandwidth 45 Gbps', 'capability vrf-lite evpn']   |  
Authors
- Nilashish Chakraborty (@NilashishC)
 
    © 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.10/collections/cisco/nxos/nxos_ospfv2_module.html