cisco.ios.ios_ospfv2 – OSPFv2 resource module
Note
This plugin is part of the cisco.ios collection (version 1.2.1).
To install it use: ansible-galaxy collection install cisco.ios.
To use it in a playbook, specify: cisco.ios.ios_ospfv2.
New in version 1.0.0: of cisco.ios
Synopsis
- This module configures and manages the Open Shortest Path First (OSPF) version 2 on IOS platforms.
Note
This module has a corresponding action plugin.
Parameters
| Parameter | Choices/Defaults | Comments | |||||
|---|---|---|---|---|---|---|---|
| config  dictionary  | A dictionary of OSPF options. | ||||||
| processes  list / elements=dictionary  | List of OSPF instance configurations. | ||||||
| address_family  dictionary  | Router Address Family configuration mode | ||||||
| default  boolean  | 
 | Set a command to its defaults | |||||
| snmp_context  string  | Modify snmp parameters Configure SNMP context name | ||||||
| topology  dictionary  | Associate the routing protocol to a topology instance | ||||||
| base  boolean  | 
 | Entering router topology sub mode | |||||
| name  string  | Routing topology instance name | ||||||
| tid  boolean  | 
 | Configuring the routing protocol topology tid Note, please refer vendor documentation for valid values | |||||
| adjacency  dictionary  | To configure control adjacency formation | ||||||
| max_adjacency  integer  | Maximum number of adjacencies allowed to be forming Please refer vendor documentation for valid values | ||||||
| min_adjacency  integer  | Initial number of adjacencies allowed to be forming in an area Please refer vendor documentation for valid values | ||||||
| none  boolean  | 
 | No initial | |||||
| areas  list / elements=dictionary  | OSPF area parameters | ||||||
| area_id  string  | OSPF area ID as a decimal value. Please refer vendor documentation of Valid values. OSPF area ID in IP address format(e.g. A.B.C.D) | ||||||
| authentication  dictionary  | Area authentication | ||||||
| enable  boolean  | 
 | Enable area authentication | |||||
| message_digest  boolean  | 
 | Use IPsec authentication | |||||
| capability  boolean  | 
 | Enable area specific capability Enable exclusion of links from base topology | |||||
| default_cost  integer  | Set the summary default-cost of a NSSA/stub area Stub's advertised external route metric Note, please refer vendor documentation for respective valid values | ||||||
| filter_list  list / elements=dictionary  | Filter networks between OSPF areas | ||||||
| direction  string / required  | 
 | The direction to apply on the filter networks sent to and from this area. | |||||
| name  string  | Name of an IP prefix-list | ||||||
| nssa  dictionary  | Specify a NSSA area | ||||||
| default_information_originate  dictionary  | Originate Type 7 default into NSSA area | ||||||
| metric  integer  | OSPF default metric | ||||||
| metric_type  integer  | 
 | OSPF metric type for default routes OSPF Link State type | |||||
| nssa_only  boolean  | 
 | Limit default advertisement to this NSSA area | |||||
| no_ext_capability  boolean  | 
 | Do not send domain specific capabilities into NSSA | |||||
| no_redistribution  boolean  | 
 | No redistribution into this NSSA area | |||||
| no_summary  boolean  | 
 | Do not send summary LSA into NSSA | |||||
| set  boolean  | 
 | Enable a NSSA area | |||||
| translate  string  | 
 | Translate LSA Always translate LSAs on this ABR Suppress forwarding address in translated LSAs | |||||
| ranges  list / elements=dictionary  | Summarize routes matching address/mask (border routers only) | ||||||
| address  string  | IP address to match | ||||||
| advertise  boolean  | 
 | Advertise this range (default) Since, advertise when enabled is not shown in running-config idempotency won't be maintained for the play in the second or next run of the play. | |||||
| cost  integer  | User specified metric for this range | ||||||
| netmask  string  | IP mask for address | ||||||
| not_advertise  boolean  | 
 | DoNotAdvertise this range | |||||
| sham_link  dictionary  | Define a sham link and its parameters | ||||||
| cost  integer  | Associate a cost with the sham-link Cost of the sham-link Note, please refer vendor documentation for respective valid values | ||||||
| destination  string  | IP addr associated with sham-link destination (A.B.C.D) | ||||||
| source  string  | IP addr associated with sham-link source (A.B.C.D) | ||||||
| ttl_security  integer  | TTL security check Maximum number of IP hops allowed | ||||||
| stub  dictionary  | Specify a stub area Backbone can not be configured as stub area | ||||||
| no_ext_capability  boolean  | 
 | Do not send domain specific capabilities into stub area | |||||
| no_summary  boolean  | 
 | Do not send summary LSA into stub area | |||||
| set  boolean  | 
 | Enable a stub area | |||||
| auto_cost  dictionary  | Calculate OSPF interface cost according to bandwidth | ||||||
| reference_bandwidth  integer  | Use reference bandwidth method to assign OSPF cost Note, refer vendor documentation for respective valid values | ||||||
| set  boolean  | 
 | Enable OSPF auto-cost | |||||
| bfd  boolean  | 
 | BFD configuration commands Enable BFD on all interfaces | |||||
| capability  dictionary  | Enable specific OSPF feature | ||||||
| lls  boolean  | 
 | Link-local Signaling (LLS) support | |||||
| opaque  boolean  | 
 | Opaque LSA | |||||
| transit  boolean  | 
 | Transit Area | |||||
| vrf_lite  boolean  | 
 | Do not perform PE specific checks | |||||
| compatible  dictionary  | OSPF router compatibility list | ||||||
| rfc1583  boolean  | 
 | compatible with RFC 1583 | |||||
| rfc1587  boolean  | 
 | compatible with RFC 1587 | |||||
| rfc5243  boolean  | 
 | supports DBD exchange optimization | |||||
| default_information  dictionary  | Control distribution of default information | ||||||
| always  boolean  | 
 | Always advertise default route | |||||
| metric  integer  | OSPF default metric Note, refer vendor documentation for respective valid values | ||||||
| metric_type  integer  | OSPF metric type for default routes Note, please refer vendor documentation for respective valid range | ||||||
| originate  boolean  | 
 | Distribute a default route | |||||
| route_map  string  | Route-map reference name | ||||||
| default_metric  integer  | Set metric of redistributed routes | ||||||
| discard_route  dictionary  | Enable or disable discard-route installation | ||||||
| external  integer  | Discard route for redistributed summarised routes Administrative distance for redistributed summarised routes Note, please refer vendor documentation for respective valid range | ||||||
| internal  integer  | Discard route for summarised internal routes Administrative distance for summarised internal routes Note, please refer vendor documentation for respective valid range | ||||||
| set  boolean  | 
 | Enable discard-route installation | |||||
| distance  dictionary  | Define an administrative distance | ||||||
| admin_distance  dictionary  | OSPF Administrative distance | ||||||
| acl  string  | Access-list name/number | ||||||
| address  string  | IP Source address | ||||||
| distance  integer  | Administrative distance | ||||||
| wildcard_bits  string  | Wildcard bits | ||||||
| ospf  dictionary  | OSPF distance | ||||||
| external  integer  | External type 5 and type 7 routes | ||||||
| inter_area  integer  | Inter-area routes | ||||||
| intra_area  integer  | Intra-area routes | ||||||
| distribute_list  dictionary  | Filter networks in routing updates | ||||||
| acls  list / elements=dictionary  | IP access list | ||||||
| direction  string / required  | 
 | Filter incoming and outgoing routing updates. | |||||
| interface  string  | Interface configuration (GigabitEthernet A/B) Valid with incoming traffic | ||||||
| name  string / required  | IP access list name/number | ||||||
| protocol  string  | Protocol config (bgp 1). Valid with outgoing traffic | ||||||
| prefix  dictionary  | Filter prefixes in routing updates | ||||||
| direction  string / required  | 
 | Filter incoming and outgoing routing updates. | |||||
| gateway_name  string  | Gateway name for filtering incoming updates based on gateway | ||||||
| interface  string  | Interface configuration (GigabitEthernet A/B) Valid with incoming traffic | ||||||
| name  string / required  | Name of an IP prefix-list | ||||||
| protocol  string  | Protocol config (bgp 1). Valid with outgoing traffic | ||||||
| route_map  dictionary  | Filter prefixes in routing updates | ||||||
| name  string / required  | Route-map name | ||||||
| domain_id  dictionary  | OSPF domain-id | ||||||
| ip_address  dictionary  | IP address | ||||||
| address  string  | OSPF domain ID in IP address format | ||||||
| secondary  boolean  | 
 | Secondary Domain-ID | |||||
| null  boolean  | 
 | Null Domain-ID | |||||
| domain_tag  integer  | OSPF domain-tag which is OSPF domain tag - 32-bit value Note, please refer vendor documentation for respective valid range | ||||||
| event_log  dictionary  | Event Logging | ||||||
| enable  boolean  | 
 | Enable event Logging | |||||
| one_shot  boolean  | 
 | Disable Logging When Log Buffer Becomes Full | |||||
| pause  boolean  | 
 | Pause Event Logging | |||||
| size  integer  | Maximum Number of Events Stored in the Event Log Note, refer vendor documentation for respective valid values | ||||||
| help  boolean  | 
 | Description of the interactive help system | |||||
| ignore  boolean  | 
 | Do not complain about specific event Do not complain upon receiving LSA of the specified type, MOSPF Type 6 LSA | |||||
| interface_id  boolean  | 
 | Source of the interface ID SNMP MIB ifIndex | |||||
| ispf  boolean  | 
 | Enable incremental SPF computation | |||||
| limit  dictionary  | Limit a specific OSPF feature and LS update, DBD, and LS request retransmissions | ||||||
| dc  dictionary  | Demand circuit retransmissions | ||||||
| disable  boolean  | 
 | Disble the feature | |||||
| number  integer  | The maximum number of retransmissions | ||||||
| non_dc  dictionary  | Non-demand-circuit retransmissions | ||||||
| disable  boolean  | 
 | Disble the feature | |||||
| number  integer  | The maximum number of retransmissions | ||||||
| local_rib_criteria  dictionary  | Enable or disable usage of local RIB as route criteria | ||||||
| enable  boolean  | 
 | Enable usage of local RIB as route criteria | |||||
| forwarding_address  boolean  | 
 | Local RIB used to validate external/NSSA forwarding addresses | |||||
| inter_area_summary  boolean  | 
 | Local RIB used as criteria for inter-area summaries | |||||
| nssa_translation  boolean  | 
 | Local RIB used as criteria for NSSA translation | |||||
| log_adjacency_changes  dictionary  | Log changes in adjacency state | ||||||
| detail  boolean  | 
 | Log all state changes | |||||
| set  boolean  | 
 | Log changes in adjacency state | |||||
| max_lsa  dictionary  | Maximum number of non self-generated LSAs to accept | ||||||
| ignore_count  integer  | Maximum number of times adjacencies can be suppressed Note, refer vendor documentation for respective valid values | ||||||
| ignore_time  integer  | Number of minutes during which all adjacencies are suppressed Note, refer vendor documentation for respective valid values | ||||||
| number  integer  | Maximum number of non self-generated LSAs to accept Note, refer vendor documentation for respective valid values | ||||||
| reset_time  integer  | Number of minutes after which ignore-count is reset to zero Note, refer vendor documentation for respective valid values | ||||||
| threshold_value  integer  | Threshold value (%) at which to generate a warning msg Note, refer vendor documentation for respective valid values | ||||||
| warning_only  boolean  | 
 | Only give a warning message when limit is exceeded | |||||
| max_metric  dictionary  | Set maximum metric | ||||||
| external_lsa  integer  | Override external-lsa metric with max-metric value Overriding metric in external-LSAs Note, refer vendor documentation for respective valid values | ||||||
| include_stub  boolean  | 
 | Set maximum metric for stub links in router-LSAs | |||||
| on_startup  dictionary  | Set maximum metric temporarily after reboot | ||||||
| time  integer  | Time, in seconds, router-LSAs are originated with max-metric Note, please refer vendor documentation for respective valid range | ||||||
| wait_for_bgp  boolean  | 
 | Let BGP decide when to originate router-LSA with normal metric | |||||
| router_lsa  boolean / required  | 
 | Maximum metric in self-originated router-LSAs | |||||
| summary_lsa  integer  | Override summary-lsa metric with max-metric value Note, please refer vendor documentation for respective valid range | ||||||
| maximum_paths  integer  | Forward packets over multiple paths Number of paths | ||||||
| mpls  dictionary  | Configure MPLS routing protocol parameters | ||||||
| ldp  dictionary  | routing protocol commands for MPLS LDP | ||||||
| autoconfig  dictionary  | routing protocol commands for MPLS LDP | ||||||
| area  string  | Configure an OSPF area to run MPLS LDP | ||||||
| set  boolean  | 
 | Configure LDP automatic configuration and set the config | |||||
| sync  boolean  | 
 | Configure LDP-IGP Synchronization | |||||
| traffic_eng  dictionary  | Let BGP decide when to originate router-LSA with normal metric | ||||||
| area  string  | Configure an ospf area to run MPLS Traffic Engineering OSPF area ID as a decimal value or in IP address format | ||||||
| autoroute_exclude  string  | MPLS TE autoroute exclude Filter prefixes based on name of an IP prefix-list | ||||||
| interface  dictionary  | MPLS TE interface configuration for this OSPF process | ||||||
| area  integer  | Advertise MPLS TE information for this interface into area OSPF area ID as a decimal value | ||||||
| interface_type  string  | TE Interface configuration (GigabitEthernet A/B) | ||||||
| mesh_group  dictionary  | Traffic Engineering Mesh-Group advertisement | ||||||
| area  string  | configure flooding scope as area | ||||||
| id  integer  | Mesh Group Id | ||||||
| interface  string  | Interface configuration (GigabitEthernet A/B) | ||||||
| multicast_intact  boolean  | 
 | MPLS TE and PIM interaction | |||||
| router_id_interface  string  | Router Interface configuration (GigabitEthernet A/B) | ||||||
| neighbor  dictionary  | Specify a neighbor router | ||||||
| address  string  | Neighbor address (A.B.C.D) | ||||||
| cost  integer  | OSPF cost for point-to-multipoint neighbor metric Note, please refer vendor documentation for respective valid range | ||||||
| database_filter  boolean  | 
 | Filter OSPF LSA during synchronization and flooding for point-to-multipoint neighbor Filter all outgoing LSA | |||||
| poll_interval  integer  | OSPF dead-router polling interval of non-broadcast neighbor in Seconds | ||||||
| priority  integer  | OSPF priority of non-broadcast neighbor priority | ||||||
| network  list / elements=dictionary  | Enable routing on an IP network | ||||||
| address  string  | Network number | ||||||
| area  string  | Set the OSPF area ID | ||||||
| wildcard_bits  string  | OSPF wild card bits | ||||||
| nsf  dictionary  | Non-stop forwarding | ||||||
| cisco  dictionary  | Cisco Non-stop forwarding | ||||||
| disable  boolean  | 
 | disable helper support | |||||
| helper  boolean  | 
 | helper support | |||||
| ietf  dictionary  | IETF graceful restart | ||||||
| disable  boolean  | 
 | disable helper support | |||||
| helper  boolean  | 
 | helper support | |||||
| strict_lsa_checking  boolean  | 
 | enable helper strict LSA checking | |||||
| passive_interface  string  | Suppress routing updates on an interface (GigabitEthernet A/B) Interface name with respective interface number | ||||||
| prefix_suppression  boolean  | 
 | Enable prefix suppression | |||||
| priority  integer  | OSPF topology priority Note, refer vendor documentation for respective valid values | ||||||
| process_id  integer / required  | Process ID | ||||||
| queue_depth  dictionary  | Hello/Router process queue depth | ||||||
| hello  dictionary  | OSPF Hello process queue depth | ||||||
| max_packets  integer  | maximum number of packets in the queue | ||||||
| unlimited  boolean  | 
 | Unlimited queue depth | |||||
| update  dictionary  | OSPF Router process queue depth | ||||||
| max_packets  integer  | maximum number of packets in the queue | ||||||
| unlimited  boolean  | 
 | Unlimited queue depth | |||||
| router_id  string  | Router-id address for this OSPF process OSPF router-id in IP address format (A.B.C.D) | ||||||
| shutdown  boolean  | 
 | Shutdown the router process | |||||
| summary_address  dictionary  | Configure IP address summaries | ||||||
| address  string  | IP summary address | ||||||
| mask  string  | IP Summary mask | ||||||
| not_advertise  boolean  | 
 | Do not advertise or translate | |||||
| nssa_only  boolean  | 
 | Limit summary to NSSA areas | |||||
| tag  integer  | Set tag | ||||||
| timers  dictionary  | Adjust routing timers | ||||||
| lsa  integer  | OSPF LSA timers, arrival timer The minimum interval in milliseconds between accepting the same LSA Note, refer vendor documentation for respective valid values | ||||||
| pacing  dictionary  | OSPF pacing timers | ||||||
| flood  integer  | OSPF flood pacing timer The minimum interval in msec to pace limit flooding on interface Note, refer vendor documentation for respective valid values | ||||||
| lsa_group  integer  | OSPF LSA group pacing timer Interval in sec between group of LSA being refreshed or maxaged Note, refer vendor documentation for respective valid values | ||||||
| retransmission  integer  | OSPF retransmission pacing timer The minimum interval in msec between neighbor retransmissions Note, refer vendor documentation for respective valid values | ||||||
| throttle  dictionary  | OSPF throttle timers | ||||||
| lsa  dictionary  | OSPF LSA throttle timers | ||||||
| first_delay  integer  | Delay to generate first occurrence of LSA in milliseconds Note, refer vendor documentation for respective valid values | ||||||
| max_delay  integer  | Maximum delay between originating the same LSA in milliseconds Note, refer vendor documentation for respective valid values | ||||||
| min_delay  integer  | Minimum delay between originating the same LSA in milliseconds Note, refer vendor documentation for respective valid values | ||||||
| spf  dictionary  | OSPF SPF throttle timers - Delay between receiving a change to SPF calculation in milliseconds - Note, refer vendor documentation for respective valid values | ||||||
| between_delay  integer  | Delay between first and second SPF calculation in milliseconds Note, refer vendor documentation for respective valid values | ||||||
| max_delay  integer  | Maximum wait time in milliseconds for SPF calculations Note, refer vendor documentation for respective valid values | ||||||
| receive_delay  integer  | Delay between receiving a change to SPF calculation in milliseconds Note, refer vendor documentation for respective valid values | ||||||
| traffic_share  boolean  | 
 | How to compute traffic share over alternate paths All traffic shared among min metric paths Use different interfaces for equal-cost paths | |||||
| ttl_security  dictionary  | TTL security check | ||||||
| hops  integer  | Maximum number of IP hops allowed Note, refer vendor documentation for respective valid values | ||||||
| set  boolean  | 
 | Enable TTL Security on all interfaces | |||||
| vrf  string  | Specify parameters for a VPN Routing/Forwarding instance | ||||||
| running_config  string  | The module, by default, will connect to the remote device and retrieve the current running-config to use as a base for comparing against the contents of source. There are times when it is not desirable to have the task get the current running-config for every task in a playbook. The running_config argument allows the implementer to pass in the configuration to use as the base config for comparison. This value of this option should be the output received from device by executing command. | ||||||
| state  string  | 
 | 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  configoption 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_configoption 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 ofrunning_configoption should be the same format as the output of command show running-config | include ip route|ipv6 route executed on device. For state parsed active connection to remote host is not required. | |||||
Notes
Note
- Tested against Cisco IOSv Version 15.2 on VIRL.
Examples
# Using deleted
# Before state:
# -------------
#
# router-ios#sh running-config | section ^router ospf
# router ospf 200 vrf blue
#  domain-id 192.0.3.1
#  max-metric router-lsa on-startup 100
#  auto-cost reference-bandwidth 4
#  area 10 capability default-exclusion
#  distribute-list 10 out
#  distribute-list 123 in
# router ospf 1
#  max-metric router-lsa on-startup 110
#  area 10 authentication message-digest
#  area 10 nssa default-information-originate metric 10
#  area 10 nssa translate type7 suppress-fa
#  area 10 default-cost 10
#  area 10 filter-list prefix test_prefix_out out
#  network 198.51.100.0 0.0.0.255 area 5
#  default-information originate
- name: Delete provided OSPF V2 processes
  cisco.ios.ios_ospfv2:
    config:
      processes:
      - process_id: 1
      - process_id: 200
        vrf: blue
    state: deleted
# Commands Fired:
# ---------------
#
# "commands": [
#        "no router ospf 1"
#    ]
# After state:
# -------------
# router-ios#sh running-config | section ^router ospf
# router ospf 200 vrf blue
#  domain-id 192.0.3.1
#  max-metric router-lsa on-startup 100
#  auto-cost reference-bandwidth 4
#  area 10 capability default-exclusion
#  distribute-list 10 out
#  distribute-list 123 in
# Using deleted without any config passed (NOTE: This will delete all OSPFV2 configuration from device)
# Before state:
# -------------
#
# router-ios#sh running-config | section ^router ospf
# router ospf 200 vrf blue
#  domain-id 192.0.3.1
#  max-metric router-lsa on-startup 100
#  auto-cost reference-bandwidth 4
#  area 10 capability default-exclusion
#  distribute-list 10 out
#  distribute-list 123 in
# router ospf 1
#  max-metric router-lsa on-startup 110
#  area 10 authentication message-digest
#  area 10 nssa default-information-originate metric 10
#  area 10 nssa translate type7 suppress-fa
#  area 10 default-cost 10
#  area 10 filter-list prefix test_prefix_out out
#  network 198.51.100.0 0.0.0.255 area 5
#  default-information originate
- name: Delete all OSPF processes
  cisco.ios.ios_ospfv2:
    state: deleted
# Commands Fired:
# ---------------
#
# "commands": [
#        "no router ospf 200 vrf blue",
#        "no router ospf 1"
#    ]
# After state:
# -------------
# router-ios#sh running-config | section ^router ospf
# router-ios#
# Using merged
# Before state:
# -------------
#
# router-ios#sh running-config | section ^router ospf
# router-ios#
- name: Merge provided OSPF V2 configuration
  cisco.ios.ios_ospfv2:
    config:
      processes:
      - process_id: 1
        max_metric:
          router_lsa: true
          on_startup:
            time: 110
        areas:
        - area_id: '5'
          capability: true
          authentication:
            enable: true
        - area_id: '10'
          authentication:
            message_digest: true
          nssa:
            default_information_originate:
              metric: 10
            translate: suppress-fa
          default_cost: 10
          filter_list:
          - name: test_prefix_in
            direction: in
          - name: test_prefix_out
            direction: out
        network:
          address: 198.51.100.0
          wildcard_bits: 0.0.0.255
          area: 5
        default_information:
          originate: true
      - process_id: 200
        vrf: blue
        domain_id:
          ip_address:
            address: 192.0.3.1
        max_metric:
          router_lsa: true
          on_startup:
            time: 100
        auto_cost:
          reference_bandwidth: 4
        areas:
        - area_id: '10'
          capability: true
        distribute_list:
          acls:
          - name: 10
            direction: out
          - name: 123
            direction: in
    state: merged
# Commands Fired:
# ---------------
#
#  "commands": [
#         "router ospf 200 vrf blue",
#         "auto-cost reference-bandwidth 4",
#         "distribute-list 10 out",
#         "distribute-list 123 in",
#         "domain-id 192.0.3.1",
#         "max-metric router-lsa on-startup 100",
#         "area 10 capability default-exclusion",
#         "router ospf 1",
#         "default-information originate",
#         "max-metric router-lsa on-startup 110",
#         "network 198.51.100.0 0.0.0.255 area 5",
#         "area 10 authentication message-digest",
#         "area 10 default-cost 10",
#         "area 10 nssa translate type7 suppress-fa",
#         "area 10 nssa default-information-originate metric 10",
#         "area 10 filter-list prefix test_prefix_out out",
#         "area 10 filter-list prefix test_prefix_in in",
#         "area 5 authentication",
#         "area 5 capability default-exclusion"
#     ]
# After state:
# -------------
#
# router-ios#sh running-config | section ^router ospf
# router ospf 200 vrf blue
#  domain-id 192.0.3.1
#  max-metric router-lsa on-startup 100
#  auto-cost reference-bandwidth 4
#  area 10 capability default-exclusion
#  distribute-list 10 out
#  distribute-list 123 in
# router ospf 1
#  max-metric router-lsa on-startup 110
#  area 10 authentication message-digest
#  area 10 nssa default-information-originate metric 10
#  area 10 nssa translate type7 suppress-fa
#  area 10 default-cost 10
#  area 10 filter-list prefix test_prefix_out out
#  network 198.51.100.0 0.0.0.255 area 5
#  default-information originate
# Using overridden
# Before state:
# -------------
#
# router-ios#sh running-config | section ^router ospf
# router ospf 200 vrf blue
#  domain-id 192.0.3.1
#  max-metric router-lsa on-startup 100
#  auto-cost reference-bandwidth 4
#  area 10 capability default-exclusion
#  distribute-list 10 out
#  distribute-list 123 in
# router ospf 1
#  max-metric router-lsa on-startup 110
#  area 10 authentication message-digest
#  area 10 nssa default-information-originate metric 10
#  area 10 nssa translate type7 suppress-fa
#  area 10 default-cost 10
#  area 10 filter-list prefix test_prefix_out out
#  network 198.51.100.0 0.0.0.255 area 5
#  default-information originate
- name: Override provided OSPF V2 configuration
  cisco.ios.ios_ospfv2:
    config:
      processes:
      - process_id: 200
        vrf: blue
        domain_id:
          ip_address:
            address: 192.0.4.1
        max_metric:
          router_lsa: true
          on_startup:
            time: 200
        maximum_paths: 15
        ttl_security:
          hops: 7
        areas:
        - area_id: '10'
          default_cost: 10
          authentication:
            message_digest: true
      - process_id: 100
        vrf: ospf_vrf
        domain_id:
          ip_address:
            address: 192.0.5.1
        auto_cost:
          reference_bandwidth: 5
        areas:
        - area_id: '5'
          authentication:
            message_digest: true
          nssa:
            default_information_originate:
              metric: 10
            translate: suppress-fa
    state: overridden
# Commands Fired:
# ---------------
#
# "commands": [
#         "no router ospf 1",
#         "router ospf 100 vrf ospf_vrf",
#         "auto-cost reference-bandwidth 5",
#         "domain-id 192.0.5.1",
#         "area 5 authentication message-digest",
#         "area 5 nssa translate type7 suppress-fa",
#         "area 5 nssa default-information-originate metric 10",
#         "router ospf 200 vrf blue",
#         "no auto-cost reference-bandwidth 4",
#         "no distribute-list 10 out",
#         "no distribute-list 123 in",
#         "domain-id 192.0.4.1",
#         "max-metric router-lsa on-startup 200",
#         "maximum-paths 15",
#         "ttl-security all-interfaces hops 7",
#         "area 10 authentication message-digest",
#         "no area 10 capability default-exclusion",
#         "area 10 default-cost 10"
#     ]
# After state:
# -------------
#
# router-ios#sh running-config | section ^router ospf
# router ospf 200 vrf blue
#  domain-id 192.0.4.1
#  max-metric router-lsa on-startup 200
#  ttl-security all-interfaces hops 7
#  area 10 authentication message-digest
#  area 10 default-cost 10
#  maximum-paths 15
# router ospf 100 vrf ospf_vrf
#  domain-id 192.0.5.1
#  auto-cost reference-bandwidth 5
#  area 5 authentication message-digest
#  area 5 nssa default-information-originate metric 10
#  area 5 nssa translate type7 suppress-fa
# Using replaced
# Before state:
# -------------
#
# router-ios#sh running-config | section ^router ospf
# router ospf 200 vrf blue
#  domain-id 192.0.3.1
#  max-metric router-lsa on-startup 100
#  auto-cost reference-bandwidth 4
#  area 10 capability default-exclusion
#  distribute-list 10 out
#  distribute-list 123 in
# router ospf 1
#  max-metric router-lsa on-startup 110
#  area 10 authentication message-digest
#  area 10 nssa default-information-originate metric 10
#  area 10 nssa translate type7 suppress-fa
#  area 10 default-cost 10
#  area 10 filter-list prefix test_prefix_out out
#  network 198.51.100.0 0.0.0.255 area 5
#  default-information originate
- name: Replaced provided OSPF V2 configuration
  cisco.ios.ios_ospfv2:
    config:
      processes:
      - process_id: 200
        vrf: blue
        domain_id:
          ip_address:
            address: 192.0.4.1
        max_metric:
          router_lsa: true
          on_startup:
            time: 200
        maximum_paths: 15
        ttl_security:
          hops: 7
        areas:
        - area_id: '10'
          default_cost: 10
          authentication:
            message_digest: true
      - process_id: 100
        vrf: ospf_vrf
        domain_id:
          ip_address:
            address: 192.0.5.1
        auto_cost:
          reference_bandwidth: 5
        areas:
        - area_id: '5'
          authentication:
            message_digest: true
          nssa:
            default_information_originate:
              metric: 10
            translate: suppress-fa
    state: replaced
# Commands Fired:
# ---------------
# "commands": [
#         "router ospf 100 vrf ospf_vrf",
#         "auto-cost reference-bandwidth 5",
#         "domain-id 192.0.5.1",
#         "area 5 authentication message-digest",
#         "area 5 nssa translate type7 suppress-fa",
#         "area 5 nssa default-information-originate metric 10",
#         "router ospf 200 vrf blue",
#         "no auto-cost reference-bandwidth 4",
#         "no distribute-list 10 out",
#         "no distribute-list 123 in",
#         "domain-id 192.0.4.1",
#         "max-metric router-lsa on-startup 200",
#         "maximum-paths 15",
#         "ttl-security all-interfaces hops 7",
#         "area 10 authentication message-digest",
#         "no area 10 capability default-exclusion",
#         "area 10 default-cost 10"
#     ]
# After state:
# -------------
# router-ios#sh running-config | section ^router ospf
# router ospf 200 vrf blue
#  domain-id 192.0.4.1
#  max-metric router-lsa on-startup 200
#  ttl-security all-interfaces hops 7
#  area 10 authentication message-digest
#  area 10 default-cost 10
#  maximum-paths 15
# router ospf 100 vrf ospf_vrf
#  domain-id 192.0.5.1
#  auto-cost reference-bandwidth 5
#  area 5 authentication message-digest
#  area 5 nssa default-information-originate metric 10
#  area 5 nssa translate type7 suppress-fa
# router ospf 1
#  max-metric router-lsa on-startup 110
#  area 5 capability default-exclusion
#  area 5 authentication
#  area 10 authentication message-digest
#  area 10 nssa default-information-originate metric 10
#  area 10 nssa translate type7 suppress-fa
#  area 10 default-cost 10
#  area 10 filter-list prefix test_prefix_in in
#  area 10 filter-list prefix test_prefix_out out
#  network 198.51.100.0 0.0.0.255 area 5
#  default-information originate
# Using Gathered
# Before state:
# -------------
#
# router-ios#sh running-config | section ^router ospf
# router ospf 200 vrf blue
#  domain-id 192.0.3.1
#  max-metric router-lsa on-startup 100
#  auto-cost reference-bandwidth 4
#  area 10 capability default-exclusion
#  distribute-list 10 out
#  distribute-list 123 in
# router ospf 1
#  max-metric router-lsa on-startup 110
#  area 10 authentication message-digest
#  area 10 nssa default-information-originate metric 10
#  area 10 nssa translate type7 suppress-fa
#  area 10 default-cost 10
#  area 10 filter-list prefix test_prefix_out out
#  network 198.51.100.0 0.0.0.255 area 5
#  default-information originate
- name: Gather OSPFV2 provided configurations
  cisco.ios.ios_ospfv2:
    config:
    state: gathered
# Module Execution Result:
# ------------------------
#
# "gathered": {
#         "processes": [
#             {
#                 "areas": [
#                     {
#                         "area_id": "5",
#                         "authentication": {
#                             "enable": true
#                         },
#                         "capability": true
#                     },
#                     {
#                         "area_id": "10",
#                         "authentication": {
#                             "message_digest": true
#                         },
#                         "default_cost": 10,
#                         "filter_list": [
#                             {
#                                 "direction": "in",
#                                 "name": "test_prefix_in"
#                             },
#                             {
#                                 "direction": "out",
#                                 "name": "test_prefix_out"
#                             }
#                         ],
#                         "nssa": {
#                             "default_information_originate": {
#                                 "metric": 10
#                             },
#                             "translate": "suppress-fa"
#                         }
#                     }
#                 ],
#                 "default_information": {
#                     "originate": true
#                 },
#                 "max_metric": {
#                     "on_startup": {
#                         "time": 110
#                     },
#                     "router_lsa": true
#                 },
#                 "network": {
#                     "address": "198.51.100.0",
#                     "area": "5",
#                     "wildcard_bits": "0.0.0.255"
#                 },
#                 "process_id": 1
#             },
#             {
#                 "areas": [
#                     {
#                         "area_id": "10",
#                         "capability": true
#                     }
#                 ],
#                 "auto_cost": {
#                     "reference_bandwidth": 4
#                 },
#                 "distribute_list": {
#                     "acls": [
#                         {
#                             "direction": "out",
#                             "name": "10"
#                         },
#                         {
#                             "direction": "in",
#                             "name": "123"
#                         }
#                     ]
#                 },
#                 "domain_id": {
#                     "ip_address": {
#                         "address": "192.0.3.1"
#                     }
#                 },
#                 "max_metric": {
#                     "on_startup": {
#                         "time": 100
#                     },
#                     "router_lsa": true
#                 },
#                 "process_id": 200,
#                 "vrf": "blue"
#             }
#         ]
#      }
# After state:
# ------------
#
# router-ios#sh running-config | section ^router ospf
# router ospf 200 vrf blue
#  domain-id 192.0.3.1
#  max-metric router-lsa on-startup 100
#  auto-cost reference-bandwidth 4
#  area 10 capability default-exclusion
#  distribute-list 10 out
#  distribute-list 123 in
# router ospf 1
#  max-metric router-lsa on-startup 110
#  area 10 authentication message-digest
#  area 10 nssa default-information-originate metric 10
#  area 10 nssa translate type7 suppress-fa
#  area 10 default-cost 10
#  area 10 filter-list prefix test_prefix_out out
#  network 198.51.100.0 0.0.0.255 area 5
#  default-information originate
# Using Rendered
- name: Render the commands for provided  configuration
  cisco.ios.ios_ospfv2:
    config:
      processes:
      - process_id: 1
        max_metric:
          router_lsa: true
          on_startup:
            time: 110
        areas:
        - area_id: '5'
          capability: true
          authentication:
            enable: true
        - area_id: '10'
          authentication:
            message_digest: true
          nssa:
            default_information_originate:
              metric: 10
            translate: suppress-fa
          default_cost: 10
          filter_list:
          - name: test_prefix_in
            direction: in
          - name: test_prefix_out
            direction: out
        network:
          address: 198.51.100.0
          wildcard_bits: 0.0.0.255
          area: 5
        default_information:
          originate: true
      - process_id: 200
        vrf: blue
        domain_id:
          ip_address:
            address: 192.0.3.1
        max_metric:
          router_lsa: true
          on_startup:
            time: 100
        auto_cost:
          reference_bandwidth: 4
        areas:
        - area_id: '10'
          capability: true
        distribute_list:
          acls:
          - name: 10
            direction: out
          - name: 123
            direction: in
    state: rendered
# Module Execution Result:
# ------------------------
#
# "rendered": [
#         "router ospf 200 vrf blue",
#         "auto-cost reference-bandwidth 4",
#         "distribute-list 10 out",
#         "distribute-list 123 in",
#         "domain-id 192.0.3.1",
#         "max-metric router-lsa on-startup 100",
#         "area 10 capability default-exclusion",
#         "router ospf 1",
#         "default-information originate",
#         "max-metric router-lsa on-startup 110",
#         "network 198.51.100.0 0.0.0.255 area 5",
#         "area 10 authentication message-digest",
#         "area 10 default-cost 10",
#         "area 10 nssa translate type7 suppress-fa",
#         "area 10 nssa default-information-originate metric 10",
#         "area 10 filter-list prefix test_prefix_out out",
#         "area 10 filter-list prefix test_prefix_in in",
#         "area 5 authentication",
#         "area 5 capability default-exclusion"
#     ]
# Using Parsed
# File: parsed.cfg
# ----------------
#
# router ospf 100
#  auto-cost reference-bandwidth 5
#  domain-id 192.0.5.1
#  area 5 authentication message-digest
#  area 5 nssa translate type7 suppress-fa
#  area 5 nssa default-information-originate metric 10
- name: Parse the provided configuration with the exisiting running configuration
  cisco.ios.ios_ospfv2:
    running_config: "{{ lookup('file', 'parsed.cfg') }}"
    state: parsed
# Module Execution Result:
# ------------------------
#
# "parsed": {
#         "processes": [
#             {
#                 "areas": [
#                     {
#                         "area_id": "5",
#                         "authentication": {
#                             "message_digest": true
#                         },
#                         "nssa": {
#                             "default_information_originate": {
#                                 "metric": 10
#                             },
#                             "translate": "suppress-fa"
#                         }
#                     }
#                 ],
#                 "auto_cost": {
#                     "reference_bandwidth": 5
#                 },
#                 "domain_id": {
#                     "ip_address": {
#                         "address": "192.0.5.1"
#                     }
#                 },
#                 "process_id": 100
#             }
#         ]
#     }
   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 200 vrf blue', 'auto-cost reference-bandwidth 5', 'domain-id 192.0.4.1'] | 
Authors
- Sumit Jaiswal (@justjais)
    © 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/ios/ios_ospfv2_module.html