cisco.iosxr.iosxr_ospfv2 – OSPFv2 resource module

From Get docs
Ansible/docs/2.10/collections/cisco/iosxr/iosxr ospfv2 module


cisco.iosxr.iosxr_ospfv2 – OSPFv2 resource module

Note

This plugin is part of the cisco.iosxr collection (version 1.2.0).

To install it use: ansible-galaxy collection install cisco.iosxr.

To use it in a playbook, specify: cisco.iosxr.iosxr_ospfv2.


New in version 1.0.0: of cisco.iosxr


Synopsis

  • This module manages global OSPFv2 configuration on devices running Cisco IOS-XR

Note

This module has a corresponding action plugin.


Parameters

Parameter Choices/Defaults Comments

config

dictionary

A list of OSPFv2 process configuration

processes

list / elements=dictionary

A list of OSPFv2 instances configuration

address_family_unicast

boolean

  • no
  • yes

Enable unicast topology for ipv4 address family

adjacency_stagger

dictionary

Stagger OSPFv2 adjacency bring up

disable

boolean

  • no
  • yes

Disable stagger OSPFv2 adjacency

max_adjacency

integer

Maximum simultaneous neighbors to bring up

min_adjacency

integer

Initial number of neighbors to bring up per area (default 2)

apply_weight

dictionary

Enable weights configured under interfaces for load sharing

bandwidth

integer

Reference bandwidth to use for calculation (Mbits/sec)

default_weight

integer

Specify default weight value to use when it is not configured under interface

areas

list / elements=dictionary

Configure OSPFv2 areas' properties

area_id

string / required

Area ID as IP address or integer

authentication

dictionary

Enable authentication

keychain

string

Specify keychain name

message_digest

dictionary

Use message-digest authentication

keychain

string

Specify keychain name

no_auth

boolean

  • no
  • yes

Use no authentication

authentication_key

dictionary

Used to mention authentication password (key)

clear

string

Specifies an UNENCRYPTED password (key) will follow

encrypted

string

Specifies an ENCRYPTED password (key) will follow

password

string

The OSPFv2 password (key)

bfd

dictionary

Configure BFD parameters

fast_detect

dictionary

Configure fast detection

set

boolean

  • no
  • yes

Enable fast detection only

strict_mode

boolean

  • no
  • yes

Hold down neighbor session until BFD session is up

minimum_interval

integer

Hello interval in milli-seconds

multiplier

integer

Detect multiplier

cost

integer

Interface cost

dead_interval

integer

Interval after which a neighbor is declared dead

default_cost

integer

Set the summary default-cost of a NSSA/stub area. Stub's advertised external route metric

hello_interval

integer

Time between HELLO packets

mpls

dictionary

Configure MPLS routing protocol parameters

ldp

dictionary

Configure LDP parameters

auto_config

boolean

  • no
  • yes

Enable LDP IGP interface auto-configuration

sync

boolean

  • no
  • yes

Enable LDP IGP synchronization

sync_igp_shortcuts

boolean

  • no
  • yes

LDP sync for igp-shortcut tunnels

traffic_eng

boolean

  • no
  • yes

Configure an ospf area to run MPLS Traffic Engineering

mtu_ignore

string

  • enable
  • disable

Enable/Disable ignoring of MTU in DBD packets

nssa

dictionary

NSSA settings for the area

default_information_originate

dictionary

Originate default Type 7 LSA

metric

integer

OSPFv2 default metric

metric_type

integer

Metric type for default routes

no_redistribution

boolean

  • no
  • yes

Do not send redistributed LSAs into NSSA area

no_summary

boolean

  • no
  • yes

Do not send summary LSAs into NSSA area

set

boolean

  • no
  • yes

Configure area as NSSA

translate

dictionary

Translate LSA

type7

dictionary

Translate from Type 7 to Type 5

always

boolean

  • no
  • yes

Always translate LSAs

ranges

list / elements=dictionary

Summarize routes matching address/mask (border routers only)

address

string / required

IP in Prefix format (x.x.x.x/len)

advertise

boolean

  • no
  • yes

Advertise this range (default)

not_advertise

boolean

  • no
  • yes

DoNotAdvertise this range

route_policy

list / elements=dictionary

Specify the route-policy to filter type 3 LSAs (list can have one inbound and/or one outbound policy only)

direction

string

  • in
  • out

Specify inbound or outbound

parameters

list / elements=string

Specify parameter values for the policy

stub

dictionary

Settings for configuring the area as a stub

no_summary

boolean

  • no
  • yes

Do not send summary LSA into stub area

set

boolean

  • no
  • yes

Configure the area as a stub

transmit_delay

integer

Estimated time needed to send link-state update packet

virtual_link

list / elements=dictionary

Define a virtual link

authentication

dictionary

Enable authentication

keychain

string

Specify keychain name

message_digest

dictionary

Use message-digest authentication

keychain

string

Specify keychain name

no_auth

boolean

  • no
  • yes

Use no authentication

authentication_key

dictionary

Used to mention authentication password (key)

clear

string

Specifies an UNENCRYPTED password (key) will follow

encrypted

string

Specifies an ENCRYPTED password (key) will follow

password

string

The OSPFv2 password (key)

dead_interval

integer

Interval after which a neighbor is declared dead

hello_interval

integer

Time between HELLO packets

id

string / required

Router-ID of virtual link neighbor (A.B.C.D)

message_digest_key

dictionary

Message digest authentication password (key)

id

integer / required

Key ID (1-255)

md5

dictionary

Use MD5 Algorithm

clear

boolean

  • no
  • yes

Specifies an UNENCRYPTED password (key) will follow

encrypted

boolean

  • no
  • yes

Specifies an ENCRYPTED password (key) will follow

password

string

The OSPFv2 password (key)

retransmit_interval

integer

Delay between LSA retransmissions

transmit_delay

integer

Link state transmit delay

authentication

dictionary

Enable authentication

keychain

string

Specify keychain name

message_digest

dictionary

Use message-digest authentication

keychain

string

Specify keychain name

set

boolean

  • no
  • yes

Specify message-digest selection

no_auth

boolean

  • no
  • yes

Use no authentication

authentication_key

dictionary

Used to mention authentication password (key)

clear

boolean

  • no
  • yes

Specifies an UNENCRYPTED password (key) will follow

encrypted

boolean

  • no
  • yes

Specifies an ENCRYPTED password (key) will follow

password

string

The OSPFv2 password (key)

auto_cost

dictionary

Calculate OSPFv2 interface cost according to bandwidth

disable

boolean

  • no
  • yes

Assign OSPFv2 cost based on interface type

reference_bandwidth

integer

Specify reference bandwidth in megabits per sec

bfd

dictionary

Configure BFD parameters

fast_detect

dictionary

Configure fast detection

set

boolean

  • no
  • yes

Enable fast detection only

strict_mode

boolean

  • no
  • yes

Hold down neighbor session until BFD session is up

minimum_interval

integer

Hello interval in milli-seconds

multiplier

integer

Detect multiplier

capability

dictionary

Enable specific OSPFv2 feature

opaque

dictionary

Configure opaque LSA

disable

boolean

  • no
  • yes

Disable Opaque LSA capability

set

boolean

  • no
  • yes

Enable opaque LSA

type7

string

NSSA capability

cost

integer

Interface cost (1-65535)

database_filter

string

  • enable
  • disable

Filter OSPFv2 LSA during synchronization and flooding (all outgoing LSA). Enable/Disable filtering

dead_interval

integer

Interval after which a neighbor is declared dead

default_information_originate

dictionary

Distribute default route

always

boolean

  • no
  • yes

Always advertise default route

metric

integer

OSPFv2 default metric

metric_type

integer

OSPFv2 metric type for default routes

route_policy

string

Apply route-policy to default-information origination

set

boolean

  • no
  • yes

Enable distribution of default route

default_metric

integer

Set metric of redistributed routes

demand_circuit

string

  • enable
  • disable

Enable/Disable OSPFv2 demand circuit

distance

dictionary

Define an administrative distance

admin_distance

list / elements=dictionary

Administrative distance

access_list

string

Access list name

source

string

Source IP address

value

integer

Distance value

wildcard

string

IP wild card bits (A.B.C.D)

ospf_distance

dictionary

OSPFv2 administrative distance

external

integer

Distance for external routes

inter_area

integer

Distance for inter-area routes

intra_area

integer

Distance for intra-area routes

distribute_bgp_ls

dictionary

Enable Distribution of LSAs to external services

instance_id

integer

Set distribution process instance identifier

throttle

integer

Throttle time between successive LSA updates

distribute_link_state

dictionary

Enable Distribution of LSAs to external services

instance_id

integer

Set distribution process instance identifier

throttle

integer

Throttle time between successive LSA updates

distribute_list

list / elements=dictionary

Filter networks in routing updates (list can have one inbound and/or one outbound policy only)

access_list

string

Inbound/outbound access-list

direction

string

  • in
  • out

Filter incoming/outgoing routing updates

outgoing_params

dictionary

Specify additional parameters for outgoing updates only

id

string

For BGP, specify AS number. 2-byte AS number (or) 4-byte AS number in asdot (X.Y) format (or) 4-byte AS number in asplain format

For OSPF, specify OSPFv2 instance name

route_type

string

  • bgp
  • connected
  • dagr
  • ospf
  • static

Type of routes

route_policy

string

Route Policy to filter OSPFv2 prefixes (for incoming updates only)

external_out

string

  • enable
  • disable

Enable/Disable advertisement of intra-area prefixes as external

flood_reduction

string

  • enable
  • disable

Enable/Disable OSPFv2 Flood Reduction

hello_interval

integer

Time between HELLO packets (<1-65535> seconds)

ignore_lsa_mospf

boolean

  • no
  • yes

Do not complain upon receiving MOSPFv2 Type 6 LSA

link_down_fast_detect

boolean

  • no
  • yes

Enable fast or early detection of link-down events

log_adjacency_changes

dictionary

Log adjacency state changes

detail

boolean

  • no
  • yes

Log all state changes

disable

boolean

  • no
  • yes

Disable log adjacency changes

set

boolean

  • no
  • yes

Set log adjacency

loopback_stub_network

string

  • enable
  • disable

Advertise loopback as a stub network

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 number of minutes during which all adjacencies are suppressed

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

  • no
  • yes

Log a warning message when limit is exceeded

max_metric

dictionary

Set maximum metric

router_lsa

dictionary

Maximum metric in self-originated router-LSAs

external_lsa

dictionary

External LSA configuration

max_metric_value

integer

Set max metric value for external LSAs

set

boolean

  • no
  • yes

Set external-lsa attribute

include_stub

boolean

  • no
  • yes

Advertise Max metric for Stub links as well

on_startup

dictionary

Effective only at startup

set

boolean

  • no
  • yes

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

  • no
  • yes

Set router-lsa attribute

summary_lsa

dictionary

Summary LSAs configuration

max_metric_value

integer

Max metric value for summary LSAs

set

boolean

  • no
  • yes

Set summary-lsa attribute

message_digest_key

dictionary

Message digest authentication password (key)

id

integer / required

Key ID

md5

dictionary / required

Use MD5 Algorithm

clear

boolean

  • no
  • yes

Specifies an UNENCRYPTED password (key) will follow

encrypted

boolean

  • no
  • yes

Specifies an ENCRYPTED password (key) will follow

password

string

The OSPFv2 password (key)

microloop_avoidance

dictionary

Avoid microloops

protected

boolean

  • no
  • yes

Avoid microloops for protected prefixes only)

rib_update_delay

integer

Delay to introduce between SPF and RIB updates

segment_routing

boolean

  • no
  • yes

Enable segment routing microloop avoidance

monitor_convergence

dictionary

Enables OSPFv2 route convergence monitoring

prefix_list

string

Enables Individual Prefix Monitoring

track_external_routes

boolean

  • no
  • yes

Enables Tracking External(Type-5/7) Prefix monitoring

track_ip_frr

boolean

  • no
  • yes

Enables Tracking IP-Frr Convergence

track_summary_routes

boolean

  • no
  • yes

Enables Tracking Summary(Inter-Area) Prefix monitoring

mpls

dictionary

Configure MPLS routing protocol parameters

ldp

dictionary

Configure LDP parameters

auto_config

boolean

  • no
  • yes

Enable LDP IGP interface auto-configuration

sync

boolean

  • no
  • yes

Enable LDP IGP synchronization

sync_igp_shortcuts

boolean

  • no
  • yes

LDP sync for igp-shortcut tunnels

traffic_eng

dictionary

Routing protocol commands for MPLS Traffic Engineering

autoroute_exclude

dictionary

Exclude IP address destinations from using TE tunnels

parameters

list / elements=string

Specify parameter values for the policy

route_policy

string

Policy name

igp_intact

boolean

  • no
  • yes

Retain one or more IPv4 nexthops with tunnel nexthops

ldp_sync_update

boolean

  • no
  • yes

Enable LDP sync induced metric propagation

multicast_intact

boolean

  • no
  • yes

Publish multicast-intact paths to RIB

router_id

string

Traffic Engineering stable IP address for system

mtu_ignore

string

  • enable
  • disable

Enable/Disable ignoring of MTU in DBD packets

network

dictionary

Network type

broadcast

boolean

  • no
  • yes

Specify OSPFv2 broadcast multi-access network

non_broadcast

boolean

  • no
  • yes

Specify OSPFv2 NBMA network

point_to_multipoint

boolean

  • no
  • yes

Specify OSPFv2 point-to-multipoint network

point_to_point

boolean

  • no
  • yes

Specify OSPFv2 point-to-point network

nsf

dictionary

Non-stop forwarding

cisco

dictionary

Cisco Non-stop forwarding

enforce_global

boolean

  • no
  • yes

Cancel NSF restart when non-NSF-aware neighbors detected for the whole OSPFv2 process

set

boolean

  • no
  • yes

Enable Cisco NSF

flush_delay_time

integer

Maximum time allowed for external route learning

ietf

dictionary

IETF graceful restart

helper_disable

boolean

  • no
  • yes

Disable router's helper support level

set

boolean

  • no
  • yes

Only enable ietf option

interval

integer

Minimum interval between NSF restarts (<90-3600> seconds)

lifetime

integer

Maximum route lifetime following restart (<90-1800> seconds)

nsr

boolean

  • no
  • yes

Enable NSR for all VRFs in this process. 'False' option to disable NSR for all VRFs in this process

packet_size

integer

Size of OSPFv2 packets to use. min=576 max=MTU bytes

passive

string

  • enable
  • disable

Enable/Disable passive

prefix_suppression

dictionary

Suppress advertisement of the prefixes

secondary_address

boolean

  • no
  • yes

Enable/Disable secondary address suppression

set

boolean

  • no
  • yes

Set the suppression option

priority

integer

Router priority

process_id

string / required

The OSPFv2 Process ID

protocol_shutdown

dictionary

Protocol specific configuration

host_mode

boolean

  • no
  • yes

Only traffic destined for this box allowed(cisco-support)

limit

dictionary

High watermark for incoming priority events

high

integer

Hello events are dropped when incoming event queue exceeds this value

low

integer

DBD/LS Update/Req packets are dropped when incoming event queue exceeds this value

medium

integer

LSA ACKs are dropped when incoming event queue exceeds this value

on_reload

boolean

  • no
  • yes

Shutdown post reload only

set

boolean

  • no
  • yes

Shutdown the OSPFv2 Protocol

redistribute

dictionary

Redistribute information from another routing Protocol

id

string

OnePK application name for application routes (or) AS number for bgp and eigrp (or) instance name for isis and ospf

level

integer

  • 1
  • 2
  • 12

ISIS levels

lsa_type_summary

boolean

  • no
  • yes

LSA type 3 for redistributed routes

match

string

Redistribution of routes. For OSPFv2 - external/internal/nssa-external 1/2. For EIGRP - external/internal

metric

integer

Metric for redistributed routes

metric_type

integer

  • 1
  • 2

OSPFv2 exterior metric type for redistributed routes

nssa_only

boolean

  • no
  • yes

Redistribute to NSSA areas only

preserve_med

boolean

  • no
  • yes

Preserve med of BGP routes

route_policy

dictionary

Apply route-policy to redistribution

name

string

Name of the policy

parameters

list / elements=string

Specify parameter values for the policy

route_type

string

  • application
  • bgp
  • connected
  • dagr
  • eigrp
  • isis
  • mobile
  • ospf
  • rip
  • static
  • subscriber

Route type to redistribute

tag

integer

Set tag for routes redistributed into OSPFv2

retransmit_interval

integer

Delay between LSA retransmissions

router_id

string

OSPFv2 router-id in IPv4 address format (A.B.C.D)

security_ttl

dictionary

Enable security

hops

integer

Maximum number of IP hops allowed <1-254>

set

boolean

  • no
  • yes

Enable ttl security

summary_in

string

  • enable
  • disable

Enable/Disable advertisement of external prefixes as inter-area

summary_prefix

list / elements=dictionary

Configure IP address summaries

not_advertise

boolean

  • no
  • yes

Suppress routes that match the specified prefix/mask pair

prefix

string / required

IP summary address/mask (A.B.C.D/prefix)

tag

integer

Set tag

timers

dictionary

Configure timer related constants

graceful_shutdown

dictionary

Timers for graceful shutdown(cisco-support)

initial_delay

integer

Delay before starting graceful shutdown

retain_routes

integer

Time to keep routes active after graceful shutdown

lsa

dictionary

OSPFv2 global LSA timers

group_pacing

integer

OSPFv2 LSA group pacing timer. Interval between group of LSA being refreshed or maxaged

min_arrival

integer

OSPFv2 MinLSArrival timer. The minimum interval in millisec between accepting the same LSA

refresh

integer

OSPFv2 LSA refresh interval. How often self-originated LSAs should be refreshed, in seconds

pacing_flood

integer

OSPFv2 flood pacing timer. Interval in msec to pace flooding on all interfaces

throttle

dictionary

OSPFv2 throttle timers

fast_reroute

integer

Fast-reroute throttle timer. Delay between end of SPF and start of the fast-reroute computation in milliseconds

lsa_all

dictionary

LSA throttle timers for all types of OSPFv2 LSAs

initial_delay

integer

Delay to generate first occurance of LSA in milliseconds

max_delay

integer

Maximum delay between originating the same LSA in milliseconds

min_delay

integer

Minimum delay between originating the same LSA in milliseconds

spf

dictionary

OSPFv2 SPF throttle timers

change_delay

integer

Delay between receiving a change to SPF calculation in milliseconds

max_wait

integer

Maximum wait time in milliseconds for SPF calculations

second_delay

integer

Delay between first and second SPF calculation in milliseconds

transmit_delay

integer

Estimated time needed to send link-state update packet

weight

integer

Interface weight

running_config

string

This option is used only with state parsed.

The value of this option should be the output received from the IOS-XR device by executing the command show running-config 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

  • merged

  • replaced
  • deleted
  • parsed
  • gathered
  • rendered
  • overridden

The state the configuration should be left in.



Notes

Note


Examples

# Using merged

# Before state:
# -------------
#
# RP/0/RP0/CPU0:anton#show running-config router ospf
# Thu Jun 11 15:54:44.569 UTC
# % No such configuration item(s)
#

- name: Merge provided OSPFv2 configuration with the existing configuration
  cisco.iosxr.iosxr_ospfv2:
    config:
      processes:
      - process_id: '27'
        areas:
        - area_id: '10'
          hello_interval: 2
          authentication:
            keychain: ansi11393
      - process_id: '26'
        adjacency_stagger:
          max_adjacency: 20
          min_adjacency: 10
      - process_id: '10'
        authentication:
          keychain: ansible_test1102
        areas:
        - area_id: '11'
          default_cost: 5
          cost: 11
        - area_id: 22
          default_cost: 6
      - process_id: '30'
        areas:
        - area_id: 11
          default_cost: 5
        - area_id: 22
          default_cost: 6

        cost: 2
        default_metric: 10
        transmit_delay: 2
        hello_interval: 1
        dead_interval: 2
        retransmit_interval: 2
        weight: 2
        packet_size: 577
        priority: 1
        router_id: 2.2.2.2
        demand_circuit: enable
        passive: disable
        summary_in: enable
        flood_reduction: disable
        mtu_ignore: enable
        external_out: disable
    state: merged

#
#
# ------------------------
# Module Execution Result
# ------------------------
#
#  "before": {}
#
#  "commands": [
#        "router ospf 30",
#        "cost 2",
#        "weight 2",
#        "passive disable",
#        "priority 1",
#        "flood-reduction disable",
#        "default-metric 10",
#        "router-id 2.2.2.2",
#        "demand-circuit enable",
#        "packet-size 577",
#        "transmit-delay 2",
#        "summary-in enable",
#        "external-out disable",
#        "dead-interval 2",
#        "hello-interval 1",
#        "retransmit-interval 2",
#        "mtu-ignore enable",
#        "area 11 default-cost 5",
#        "area 22 default-cost 6",
#        "router ospf 26",
#        "adjacency stagger 10 20",
#        "authentication message-digest keychain ansible1101pass",
#        "router ospf 27",
#        "area 10 authentication keychain ansi11393",
#        "area 10 hello-interval 2",
#        "router ospf 10",
#        "authentication keychain ansible_test1102",
#        "area 11 default-cost 5",
#        "area 11 cost 11",
#        "area 22 default-cost 6"
#    ]
#
#  "after": {
#        "processes": [
#            {
#                "areas": [
#                    {
#                        "area_id": "11",
#                        "cost": 11,
#                        "default_cost": 5
#                    },
#                    {
#                        "area_id": "22",
#                        "default_cost": 6
#                    }
#                ],
#                "authentication": {
#                    "keychain": "ansible_test1102"
#                },
#                "process_id": "10"
#            },
#            {
#                "adjacency_stagger": {
#                    "max_adjacency": 20,
#                    "min_adjacency": 10
#                },
#                "authentication": {
#                    "message_digest": {
#                        "keychain": "ansible1101pass"
#                    }
#                },
#                "process_id": "26"
#            },
#            {
#                "areas": [
#                    {
#                        "area_id": "10",
#                        "authentication": {
#                            "keychain": "ansi11393"
#                        },
#                        "hello_interval": 2
#                    }
#                ],
#                "process_id": "27"
#            },
#            {
#                "areas": [
#                    {
#                        "area_id": "11",
#                        "default_cost": 5
#                    },
#                    {
#                        "area_id": "22",
#                        "default_cost": 6
#                    }
#                ],
#                "cost": 2,
#                "dead_interval": 2,
#                "default_metric": 10,
#                "demand_circuit": "enable",
#                "external_out": "disable",
#                "flood_reduction": "disable",
#                "hello_interval": 1,
#                "mtu_ignore": "enable",
#                "packet_size": 577,
#                "passive": "disable",
#                "priority": 1,
#                "process_id": "30",
#                "retransmit_interval": 2,
#                "router_id": "2.2.2.2",
#                "summary_in": "enable",
#                "transmit_delay": 2,
#                "weight": 2
#            }
#        ]
#    }
#
#
# ------------
# After state
# ------------
#
# RP/0/RP0/CPU0:anton#show running-config router ospf
# Thu Jun 11 16:06:44.406 UTC
# router ospf 10
#  authentication keychain ansible_test1102
#  area 11
#   cost 11
#   default-cost 5
#  !
#  area 22
#   default-cost 6
#  !
# !
# router ospf 26
#  authentication message-digest keychain ansible1101pass
#  adjacency stagger 10 20
# !
# router ospf 27
#  area 10
#  authentication keychain ansi11393
#   hello-interval 2
# !
# !
# router ospf 30
#  router-id 2.2.2.2
#  summary-in enable
#  external-out disable
#  cost 2
#  packet-size 577
#  weight 2
#  passive disable
#  priority 1
#  mtu-ignore enable
#  flood-reduction disable
#  dead-interval 2
#  retransmit-interval 2
#  demand-circuit enable
#  hello-interval 1
#  transmit-delay 2
#  default-metric 10
#  area 11
#   default-cost 5
#  !
#  area 22
#   default-cost 6
#  !
# !
#


# Using replaced
#
# ------------
# Before state
# ------------
#
#
# RP/0/RP0/CPU0:anton#show running-config router ospf
# Thu Jun 11 16:06:44.406 UTC
# router ospf 10
#  authentication keychain ansible_test1102
#  area 11
#   cost 11
#   default-cost 5
#  !
#  area 22
#   default-cost 6
#  !
# !
# router ospf 26
#  authentication message-digest keychain ansible1101pass
#  adjacency stagger 10 20
# !
# router ospf 27
#  area 10
#  authentication keychain ansi11393
#   hello-interval 2
# !
# !
# router ospf 30
#  router-id 2.2.2.2
#  summary-in enable
#  external-out disable
#  cost 2
#  packet-size 577
#  weight 2
#  passive disable
#  priority 1
#  mtu-ignore enable
#  flood-reduction disable
#  dead-interval 2
#  retransmit-interval 2
#  demand-circuit enable
#  hello-interval 1
#  transmit-delay 2
#  default-metric 10
#  area 11
#   default-cost 5
#  !
#  area 22
#   default-cost 6
#  !
# !
#

- name: Replace OSPFv2 routes configurations from the device
  cisco.iosxr.iosxr_ospfv2:
    config:
      processes:
      - process_id: 27
        areas:
        - area_id: 10
          hello_interval: 2
        - area_id: 20
          cost: 2
          default_cost: 2
          authentication:
            keychain: ansi11393
      - process_id: 26
        adjacency_stagger:
          min_adjacency: 10
          max_adjacency: 20
    state: replaced

#
#
# ------------------------
# Module Execution Result
# ------------------------
#
#  "before": {
#        "processes": [
#            {
#                "areas": [
#                    {
#                        "area_id": "11",
#                        "cost": 11,
#                        "default_cost": 5
#                    },
#                    {
#                        "area_id": "22",
#                        "default_cost": 6
#                    }
#                ],
#                "authentication": {
#                    "keychain": "ansible_test1102"
#                },
#                "process_id": "10"
#            },
#            {
#                "adjacency_stagger": {
#                    "max_adjacency": 20,
#                    "min_adjacency": 10
#                },
#                "authentication": {
#                    "message_digest": {
#                        "keychain": "ansible1101pass"
#                    }
#                },
#                "process_id": "26"
#            },
#            {
#                "areas": [
#                    {
#                        "area_id": "10",
#                        "authentication": {
#                            "keychain": "ansi11393"
#                        },
#                        "hello_interval": 2
#                    }
#                ],
#                "process_id": "27"
#            },
#            {
#                "areas": [
#                    {
#                        "area_id": "11",
#                        "default_cost": 5
#                    },
#                    {
#                        "area_id": "22",
#                        "default_cost": 6
#                    }
#                ],
#                "cost": 2,
#                "dead_interval": 2,
#                "default_metric": 10,
#                "demand_circuit": "enable",
#                "external_out": "disable",
#                "flood_reduction": "disable",
#                "hello_interval": 1,
#                "mtu_ignore": "enable",
#                "packet_size": 577,
#                "passive": "disable",
#                "priority": 1,
#                "process_id": "30",
#                "retransmit_interval": 2,
#                "router_id": "2.2.2.2",
#                "summary_in": "enable",
#                "transmit_delay": 2,
#                "weight": 2
#            }
#        ]
#    }
#
#  "commands": [
#        "router ospf 27",
#        "no area 10 authentication keychain ansi11393",
#        "area 20 authentication keychain ansi11393",
#        "area 20 default-cost 2",
#        "area 20 cost 2"
#    ]
#
#  "after": {
#        "processes": [
#            {
#                "areas": [
#                    {
#                        "area_id": "11",
#                        "cost": 11,
#                        "default_cost": 5
#                    },
#                    {
#                        "area_id": "22",
#                        "default_cost": 6
#                    }
#                ],
#                "authentication": {
#                    "keychain": "ansible_test1102"
#                },
#                "process_id": "10"
#            },
#            {
#                "adjacency_stagger": {
#                    "max_adjacency": 20,
#                    "min_adjacency": 10
#                },
#                "authentication": {
#                    "message_digest": {
#                        "keychain": "ansible1101pass"
#                    }
#                },
#                "process_id": "26"
#            },
#            {
#                "areas": [
#                    {
#                        "area_id": "10",
#                        "hello_interval": 2
#                    },
#                    {
#                        "area_id": "20",
#                        "authentication": {
#                            "keychain": "ansi11393"
#                        },
#                        "cost": 2,
#                        "default_cost": 2
#                    }
#                ],
#                "process_id": "27"
#            },
#            {
#                "areas": [
#                    {
#                        "area_id": "11",
#                        "default_cost": 5
#                    },
#                    {
#                        "area_id": "22",
#                        "default_cost": 6
#                    }
#                ],
#                "cost": 2,
#                "dead_interval": 2,
#                "default_metric": 10,
#                "demand_circuit": "enable",
#                "external_out": "disable",
#                "flood_reduction": "disable",
#                "hello_interval": 1,
#                "mtu_ignore": "enable",
#                "packet_size": 577,
#                "passive": "disable",
#                "priority": 1,
#                "process_id": "30",
#                "retransmit_interval": 2,
#                "router_id": "2.2.2.2",
#                "summary_in": "enable",
#                "transmit_delay": 2,
#                "weight": 2
#            }
#        ]
#    }
#
#
# -----------
# After state
# -----------
#
# RP/0/RP0/CPU0:anton(config)#do show running-config router ospf
# Thu Jun 11 16:40:31.038 UTC
# router ospf 10
#  authentication keychain ansible_test1102
#  area 11
#   cost 11
#   default-cost 5
#  !
#  area 22
#   default-cost 6
#  !
# !
# router ospf 26
#  authentication message-digest keychain ansible1101pass
#  adjacency stagger 10 20
# !
# router ospf 27
#  area 10
#   hello-interval 2
#  !
#  area 20
#   cost 2
#   authentication keychain ansi11393
#   default-cost 2
#  !
# !
# router ospf 30
#  router-id 2.2.2.2
#  summary-in enable
#  external-out disable
#  cost 2
#  packet-size 577
#  weight 2
#  passive disable
#  priority 1
#  mtu-ignore enable
#  flood-reduction disable
#  dead-interval 2
#  retransmit-interval 2
#  demand-circuit enable
#  hello-interval 1
#  transmit-delay 2
#  default-metric 10
#  area 11
#   default-cost 5
#  !
#  area 22
#   default-cost 6
#  !
# !
#


# Using overridden
#
# ------------
# Before state
# ------------
#
#
# RP/0/RP0/CPU0:anton#show running-config router ospf
# Thu Jun 11 16:06:44.406 UTC
# router ospf 10
#  authentication keychain ansible_test1102
#  area 11
#   cost 11
#   default-cost 5
#  !
#  area 22
#   default-cost 6
#  !
# !
# router ospf 26
#  authentication message-digest keychain ansible1101pass
#  adjacency stagger 10 20
# !
# router ospf 27
#  area 10
#  authentication keychain ansi11393
#   hello-interval 2
# !
# !
# router ospf 30
#  router-id 2.2.2.2
#  summary-in enable
#  external-out disable
#  cost 2
#  packet-size 577
#  weight 2
#  passive disable
#  priority 1
#  mtu-ignore enable
#  flood-reduction disable
#  dead-interval 2
#  retransmit-interval 2
#  demand-circuit enable
#  hello-interval 1
#  transmit-delay 2
#  default-metric 10
#  area 11
#   default-cost 5
#  !
#  area 22
#   default-cost 6
#  !
# !
#

- name: Override existing OSPFv2 configurations from the device
  cisco.iosxr.iosxr_ospfv2:
    config:
      processes:
      - process_id: 27
        areas:
        - area_id: 10
          hello_interval: 2
          authentication:
            keychain: ansi11393
        - area_id: 20
          cost: 2
          default_cost: 2
          authentication:
            keychain: ansi11393
      - process_id: 26
        adjacency_stagger:
          min_adjacency: 10
          max_adjacency: 20
    state: overridden

#
#
# ------------------------
# Module Execution Result
# ------------------------
#
#  "before": {
#        "processes": [
#            {
#                "areas": [
#                    {
#                        "area_id": "11",
#                        "cost": 11,
#                        "default_cost": 5
#                    },
#                    {
#                        "area_id": "22",
#                        "default_cost": 6
#                    }
#                ],
#                "authentication": {
#                    "keychain": "ansible_test1102"
#                },
#                "process_id": "10"
#            },
#            {
#                "adjacency_stagger": {
#                    "max_adjacency": 20,
#                    "min_adjacency": 10
#                },
#                "authentication": {
#                    "message_digest": {
#                        "keychain": "ansible1101pass"
#                    }
#                },
#                "process_id": "26"
#            },
#            {
#                "areas": [
#                    {
#                        "area_id": "10",
#                        "authentication": {
#                            "keychain": "ansi11393"
#                        },
#                        "hello_interval": 2
#                    }
#                ],
#                "process_id": "27"
#            },
#            {
#                "areas": [
#                    {
#                        "area_id": "11",
#                        "default_cost": 5
#                    },
#                    {
#                        "area_id": "22",
#                        "default_cost": 6
#                    }
#                ],
#                "cost": 2,
#                "dead_interval": 2,
#                "default_metric": 10,
#                "demand_circuit": "enable",
#                "external_out": "disable",
#                "flood_reduction": "disable",
#                "hello_interval": 1,
#                "mtu_ignore": "enable",
#                "packet_size": 577,
#                "passive": "disable",
#                "priority": 1,
#                "process_id": "30",
#                "retransmit_interval": 2,
#                "router_id": "2.2.2.2",
#                "summary_in": "enable",
#                "transmit_delay": 2,
#                "weight": 2
#            }
#        ]
#    }
#
#  "commands": [
#        "router ospf 10",
#        "no authentication keychain ansible_test1102",
#        "no area 11 default-cost 5",
#        "no area 11 cost 11",
#        "no area 22 default-cost 6",
#        "router ospf 30",
#        "no cost 2",
#        "no weight 2",
#        "no passive disable",
#        "no priority 1",
#        "no flood-reduction disable",
#        "no default-metric 10",
#        "no router-id 2.2.2.2",
#        "no demand-circuit enable",
#        "no packet-size 577",
#        "no transmit-delay 2",
#        "no summary-in enable",
#        "no external-out disable",
#        "no dead-interval 2",
#        "no hello-interval 1",
#        "no retransmit-interval 2",
#        "no mtu-ignore enable",
#        "no area 11 default-cost 5",
#        "no area 22 default-cost 6",
#        "router ospf 27",
#        "area 20 authentication keychain ansi11393",
#        "area 20 default-cost 2",
#        "area 20 cost 2"
#    ]
#
#  "after": {
#        "processes": [
#            {
#                "process_id": "10"
#            },
#            {
#                "adjacency_stagger": {
#                    "max_adjacency": 20,
#                    "min_adjacency": 10
#                },
#                "authentication": {
#                    "message_digest": {
#                        "keychain": "ansible1101pass"
#                    }
#                },
#                "process_id": "26"
#            },
#            {
#                "areas": [
#                    {
#                        "area_id": "10",
#                        "authentication": {
#                            "keychain": "ansi11393"
#                        },
#                        "hello_interval": 2
#                    },
#                    {
#                        "area_id": "20",
#                        "authentication": {
#                            "keychain": "ansi11393"
#                        },
#                        "cost": 2,
#                        "default_cost": 2
#                    }
#                ],
#                "process_id": "27"
#            },
#            {
#                "process_id": "30"
#            }
#        ]
#    }
#
#
# -----------
# After state
# -----------
#
# RP/0/RP0/CPU0:anton#show running-config router ospf
# Thu Jun 11 16:50:36.332 UTC
# router ospf 10
# !
# router ospf 26
#  authentication message-digest keychain ansible1101pass
#  adjacency stagger 10 20
# !
# router ospf 27
#  area 10
#   authentication keychain ansi11393
#   hello-interval 2
#  !
#  area 20
#   cost 2
#   authentication keychain ansi11393
#   default-cost 2
#  !
# !
# router ospf 30
# !
#


# Using deleted
#
# ------------
# Before state
# ------------
#
#
# RP/0/RP0/CPU0:anton#show running-config router ospf
# Thu Jun 11 16:06:44.406 UTC
# router ospf 10
#  authentication keychain ansible_test1102
#  area 11
#   cost 11
#   default-cost 5
#  !
#  area 22
#   default-cost 6
#  !
# !
# router ospf 26
#  authentication message-digest keychain ansible1101pass
#  adjacency stagger 10 20
# !
# router ospf 27
#  area 10
#  authentication keychain ansi11393
#   hello-interval 2
# !
# !
# router ospf 30
#  router-id 2.2.2.2
#  summary-in enable
#  external-out disable
#  cost 2
#  packet-size 577
#  weight 2
#  passive disable
#  priority 1
#  mtu-ignore enable
#  flood-reduction disable
#  dead-interval 2
#  retransmit-interval 2
#  demand-circuit enable
#  hello-interval 1
#  transmit-delay 2
#  default-metric 10
#  area 11
#   default-cost 5
#  !
#  area 22
#   default-cost 6
#  !
# !
#

- name: Deleted existing OSPFv2 configurations from the device
  cisco.iosxr.iosxr_ospfv2:
    config:
      processes:
      - process_id: '10'
      - process_id: '26'
      - process_id: '27'
      - process_id: '30'
    state: deleted

#
#
# ------------------------
# Module Execution Result
# ------------------------
#
#  "before": {
#        "processes": [
#            {
#                "areas": [
#                    {
#                        "area_id": "11",
#                        "cost": 11,
#                        "default_cost": 5
#                    },
#                    {
#                        "area_id": "22",
#                        "default_cost": 6
#                    }
#                ],
#                "authentication": {
#                    "keychain": "ansible_test1102"
#                },
#                "process_id": "10"
#            },
#            {
#                "adjacency_stagger": {
#                    "max_adjacency": 20,
#                    "min_adjacency": 10
#                },
#                "authentication": {
#                    "message_digest": {
#                        "keychain": "ansible1101pass"
#                    }
#                },
#                "process_id": "26"
#            },
#            {
#                "areas": [
#                    {
#                        "area_id": "10",
#                        "authentication": {
#                            "keychain": "ansi11393"
#                        },
#                        "hello_interval": 2
#                    }
#                ],
#                "process_id": "27"
#            },
#            {
#                "areas": [
#                    {
#                        "area_id": "11",
#                        "default_cost": 5
#                    },
#                    {
#                        "area_id": "22",
#                        "default_cost": 6
#                    }
#                ],
#                "cost": 2,
#                "dead_interval": 2,
#                "default_metric": 10,
#                "demand_circuit": "enable",
#                "external_out": "disable",
#                "flood_reduction": "disable",
#                "hello_interval": 1,
#                "mtu_ignore": "enable",
#                "packet_size": 577,
#                "passive": "disable",
#                "priority": 1,
#                "process_id": "30",
#                "retransmit_interval": 2,
#                "router_id": "2.2.2.2",
#                "summary_in": "enable",
#                "transmit_delay": 2,
#                "weight": 2
#            }
#        ]
#    },
#
#  "commands": [
#        "router ospf 10",
#        "no authentication keychain ansible_test1102",
#        "no area 11 default-cost 5",
#        "no area 11 cost 11",
#        "no area 22 default-cost 6",
#        "router ospf 26",
#        "no adjacency stagger 10 20",
#        "no authentication message-digest keychain ansible1101pass",
#        "router ospf 27",
#        "no area 10 authentication keychain ansi11393",
#        "no area 10 hello-interval 2",
#        "router ospf 30",
#        "no cost 2",
#        "no weight 2",
#        "no passive disable",
#        "no priority 1",
#        "no flood-reduction disable",
#        "no default-metric 10",
#        "no router-id 2.2.2.2",
#        "no demand-circuit enable",
#        "no packet-size 577",
#        "no transmit-delay 2",
#        "no summary-in enable",
#        "no external-out disable",
#        "no dead-interval 2",
#        "no hello-interval 1",
#        "no retransmit-interval 2",
#        "no mtu-ignore enable",
#        "no area 11 default-cost 5",
#        "no area 22 default-cost 6"
#    ]
#
#  "after": {
#        "processes": [
#            {
#                "process_id": "10"
#            },
#            {
#                "process_id": "26"
#            },
#            {
#                "process_id": "27"
#            },
#            {
#                "process_id": "30"
#            }
#        ]
#    }
#
#
# -----------
# After state
# -----------
#
# RP/0/RP0/CPU0:anton(config)#show running-config router ospf
# Thu Jun 11 17:07:34.218 UTC
# router ospf 10
# !
# router ospf 26
# !
# router ospf 27
# !
# router ospf 30
# !


# Using parsed
# parsed.cfg
# ------------
# Thu Jun 11 17:28:51.918 UTC
# router ospf 10
#  authentication keychain ansible_test1102
#  area 11
#   cost 11
#   default-cost 5
#  !
#  area 22
#   default-cost 6
#  !
# !
# router ospf 26
#  authentication message-digest keychain ansible1101pass
#  adjacency stagger 10 20
# !
# router ospf 27
#  area 10
#   authentication keychain ansi11393
#   hello-interval 2
#  !
# !
# router ospf 30
#  router-id 2.2.2.2
#  summary-in enable
#  external-out disable
#  cost 2
#  packet-size 577
#  weight 2
#  passive disable
#  priority 1
#  mtu-ignore enable
#  flood-reduction disable
#  dead-interval 2
#  retransmit-interval 2
#  demand-circuit enable
#  hello-interval 1
#  transmit-delay 2
#  default-metric 10
#  area 11
#   default-cost 5
#  !
#  area 22
#   default-cost 6
#  !
# !
- name: Parsed the device configuration to get output commands
  cisco.iosxr.iosxr_ospfv2:
    running_config: "{{ lookup('file', './parsed.cfg') }}"
    state: parsed
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "parsed": {
#        "processes": [
#            {
#                "areas": [
#                    {
#                        "area_id": "11",
#                        "cost": 11,
#                        "default_cost": 5
#                    },
#                    {
#                        "area_id": "22",
#                        "default_cost": 6
#                    }
#                ],
#                "authentication": {
#                    "keychain": "ansible_test1102"
#                },
#                "process_id": "10"
#            },
#            {
#                "adjacency_stagger": {
#                    "max_adjacency": 20,
#                    "min_adjacency": 10
#                },
#                "authentication": {
#                    "message_digest": {
#                        "keychain": "ansible1101pass"
#                    }
#                },
#                "process_id": "26"
#            },
#            {
#                "areas": [
#                    {
#                        "area_id": "10",
#                        "authentication": {
#                            "keychain": "ansi11393"
#                        },
#                        "hello_interval": 2
#                    }
#                ],
#                "process_id": "27"
#            },
#            {
#                "areas": [
#                    {
#                        "area_id": "11",
#                        "default_cost": 5
#                    },
#                    {
#                        "area_id": "22",
#                        "default_cost": 6
#                    }
#                ],
#                "cost": 2,
#                "dead_interval": 2,
#                "default_metric": 10,
#                "demand_circuit": "enable",
#                "external_out": "disable",
#                "flood_reduction": "disable",
#                "hello_interval": 1,
#                "mtu_ignore": "enable",
#                "packet_size": 577,
#                "passive": "disable",
#                "priority": 1,
#                "process_id": "30",
#                "retransmit_interval": 2,
#                "router_id": "2.2.2.2",
#                "summary_in": "enable",
#                "transmit_delay": 2,
#                "weight": 2
#            }
#        ]
#    }



# Using rendered
#
#
- name: Render the commands for provided  configuration
  cisco.iosxr.iosxr_ospfv2:
    config:
      processes:
      - process_id: 27
        areas:
        - area_id: 10
          hello_interval: 2
          authentication:
            keychain: ansi11393
      - process_id: 26
        adjacency_stagger:
          min_adjacency: 10
          max_adjacency: 20
      - process_id: 10
        authentication:
          keychain: ansible_test1102
        areas:
        - area_id: 11
          default_cost: 5
          cost: 11
        - area_id: 22
          default_cost: 6
      - process_id: 30
        areas:
        - area_id: 11
          default_cost: 5
        - area_id: 22
          default_cost: 6

        cost: 2
        default_metric: 10
        transmit_delay: 2
        hello_interval: 1
        dead_interval: 2
        retransmit_interval: 2
        weight: 2
        packet_size: 577
        priority: 1
        router_id: 2.2.2.2
        demand_circuit: enable
        passive: disable
        summary_in: enable
        flood_reduction: disable
        mtu_ignore: enable
        external_out: disable
    state: rendered

#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#
# "rendered": [
#        "router ospf 27",
#        "area 10 authentication keychain ansi11393",
#        "area 10 hello-interval 2",
#        "router ospf 26",
#        "adjacency stagger 10 20",
#        "authentication message-digest keychain ansible1101pass",
#        "router ospf 10",
#        "authentication keychain ansible_test1102",
#        "area 11 default-cost 5",
#        "area 11 cost 11",
#        "area 22 default-cost 6",
#        "router ospf 30",
#        "cost 2",
#        "weight 2",
#        "passive disable",
#        "priority 1",
#        "flood-reduction disable",
#        "default-metric 10",
#        "router-id 2.2.2.2",
#        "demand-circuit enable",
#        "packet-size 577",
#        "transmit-delay 2",
#        "summary-in enable",
#        "external-out disable",
#        "dead-interval 2",
#        "hello-interval 1",
#        "retransmit-interval 2",
#        "mtu-ignore enable",
#        "area 11 default-cost 5",
#        "area 22 default-cost 6"
#    ]


# Using gathered
#
# Before state:
# -------------
#
# RP/0/RP0/CPU0:anton#show running-config router ospf
# Thu Jun 11 16:06:44.406 UTC
# router ospf 10
#  authentication keychain ansible_test1102
#  area 11
#   cost 11
#   default-cost 5
#  !
#  area 22
#   default-cost 6
#  !
# !
# router ospf 26
#  authentication message-digest keychain ansible1101pass
#  adjacency stagger 10 20
# !
# router ospf 27
#  area 10
#  authentication keychain ansi11393
#   hello-interval 2
# !
# !
# router ospf 30
#  router-id 2.2.2.2
#  summary-in enable
#  external-out disable
#  cost 2
#  packet-size 577
#  weight 2
#  passive disable
#  priority 1
#  mtu-ignore enable
#  flood-reduction disable
#  dead-interval 2
#  retransmit-interval 2
#  demand-circuit enable
#  hello-interval 1
#  transmit-delay 2
#  default-metric 10
#  area 11
#   default-cost 5
#  !
#  area 22
#   default-cost 6
#  !
# !
#
- name: Gather ospfv2 routes configuration
  cisco.iosxr.iosxr_ospfv2:
    state: gathered
#
#
# -------------------------
# Module Execution Result
# -------------------------
#
#    "gathered": {
#        "processes": [
#            {
#                "areas": [
#                    {
#                        "area_id": "11",
#                        "cost": 11,
#                        "default_cost": 5
#                    },
#                    {
#                        "area_id": "22",
#                        "default_cost": 6
#                    }
#                ],
#                "authentication": {
#                    "keychain": "ansible_test1102"
#                },
#                "process_id": "10"
#            },
#            {
#                "adjacency_stagger": {
#                    "max_adjacency": 20,
#                    "min_adjacency": 10
#                },
#                "authentication": {
#                    "message_digest": {
#                        "keychain": "ansible1101pass"
#                    }
#                },
#                "process_id": "26"
#            },
#            {
#                "areas": [
#                    {
#                        "area_id": "10",
#                        "authentication": {
#                            "keychain": "ansi11393"
#                        },
#                        "hello_interval": 2
#                    }
#                ],
#                "process_id": "27"
#            },
#            {
#                "areas": [
#                    {
#                        "area_id": "11",
#                        "default_cost": 5
#                    },
#                    {
#                        "area_id": "22",
#                        "default_cost": 6
#                    }
#                ],
#                "cost": 2,
#                "dead_interval": 2,
#                "default_metric": 10,
#                "demand_circuit": "enable",
#                "external_out": "disable",
#                "flood_reduction": "disable",
#                "hello_interval": 1,
#                "mtu_ignore": "enable",
#                "packet_size": 577,
#                "passive": "disable",
#                "priority": 1,
#                "process_id": "30",
#                "retransmit_interval": 2,
#                "router_id": "2.2.2.2",
#                "summary_in": "enable",
#                "transmit_delay": 2,
#                "weight": 2
#            }
#        ]
#    }
#
# After state:
# -------------
#
# RP/0/RP0/CPU0:anton#show running-config router ospf
# Thu Jun 11 16:06:44.406 UTC
# router ospf 10
#  authentication keychain ansible_test1102
#  area 11
#   cost 11
#   default-cost 5
#  !
#  area 22
#   default-cost 6
#  !
# !
# router ospf 26
#  authentication message-digest keychain ansible1101pass
#  adjacency stagger 10 20
# !
# router ospf 27
#  area 10
#  authentication keychain ansi11393
#   hello-interval 2
# !
# !
# router ospf 30
# router-id 2.2.2.2
# summary-in enable
# external-out disable
# cost 2
# packet-size 577
# weight 2
# passive disable
# priority 1
# mtu-ignore enable
# flood-reduction disable
# dead-interval 2
# retransmit-interval 2
# demand-circuit enable
# hello-interval 1
# transmit-delay 2
# default-metric 10
# area 11
#  default-cost 5
# !
# area 22
#  default-cost 6
# !
# !
#
#

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 30', "authentication message-digest keychain 'ansible1101pass'"]




Authors

  • Rohit Thakur (@rohitthakur2590)

© 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/iosxr/iosxr_ospfv2_module.html