barrets2002.smb.smb_ospfv3 (0.0.1) — module

OSPFv3 resource module

| "added in version" 1.1.0 of barrets2002.smb"

Authors: Sumit Jaiswal (@justjais)

Install collection

Install with ansible-galaxy collection install barrets2002.smb:==0.0.1


Add to requirements.yml

  collections:
    - name: barrets2002.smb
      version: 0.0.1

Description

This module configures and manages the Open Shortest Path First (OSPF) version 3 on SMB platforms.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.

# Using deleted

# Before state:
# -------------
#
# router-smb#sh running-config | section ^router ospfv3
# router ospfv3 1
#  max-metric router-lsa on-startup 110
#  area 10 nssa default-information-originate metric 10
#  !
#  address-family ipv4 unicast vrf blue
#   adjacency stagger 50 50
#   area 25 nssa default-information-originate metric 25 nssa-only
#  exit-address-family
# router ospfv3 200
#  max-metric router-lsa on-startup 100
#  auto-cost reference-bandwidth 4
#  !
#  address-family ipv4 unicast
#   adjacency stagger 200 200
#  exit-address-family

- name: Delete provided OSPF V3 processes
  cisco.smb.smb_ospfv3:
    config:
      processes:
      - process_id: 1
    state: deleted
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Commands Fired:
# ---------------
#
# "commands": [
#        "no router ospfv3 1"
#    ]

# After state:
# -------------
# router-smb#sh running-config | section ^router ospfv3
# router ospfv3 200
#  max-metric router-lsa on-startup 100
#  auto-cost reference-bandwidth 4
#  !
#  address-family ipv4 unicast
#   adjacency stagger 200 200
#  exit-address-family

# Using deleted without any config passed (NOTE: This will delete all OSPFV3 configuration from device)

# Before state:
# -------------
#
# router-smb#sh running-config | section ^router ospfv3
# router ospfv3 1
#  max-metric router-lsa on-startup 110
#  area 10 nssa default-information-originate metric 10
#  !
#  address-family ipv4 unicast vrf blue
#   adjacency stagger 50 50
#   area 25 nssa default-information-originate metric 25 nssa-only
#  exit-address-family
# router ospfv3 200
#  max-metric router-lsa on-startup 100
#  auto-cost reference-bandwidth 4
#  !
#  address-family ipv4 unicast
#   adjacency stagger 200 200
#  exit-address-family

- name: Delete all OSPF processes
  cisco.smb.smb_ospfv3:
    state: deleted
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Commands Fired:
# ---------------
#
# "commands": [
#        "no router ospfv3 200",
#        "no router ospfv3 1"
#    ]

# After state:
# -------------
# router-smb#sh running-config | section ^router ospfv3
# router-smb#

# Using merged

# Before state:
# -------------
#
# router-smb#sh running-config | section ^router ospfv3
# router-smb#

- name: Merge provided OSPFV3 configuration
  cisco.smb.smb_ospfv3:
    config:
      processes:
      - process_id: 1
        max_metric:
          router_lsa: true
          on_startup:
            time: 110
        address_family:
          - afi: ipv4
            unicast: true
            vrf: blue
            adjacency:
              min_adjacency: 50
              max_adjacency: 50
            areas:
              - area_id: 25
                nssa:
                  default_information_originate:
                    metric: 25
                    nssa_only: true
        areas:
          - area_id: "10"
            nssa:
              default_information_originate:
                metric: 10
        timers:
          throttle:
            lsa:
              first_delay: 12
              min_delay: 14
              max_delay: 16
      - process_id: 200
        address_family:
          - afi: ipv4
            unicast: true
            adjacency:
              min_adjacency: 200
              max_adjacency: 200
        max_metric:
          router_lsa: true
          on_startup:
            time: 100
        auto_cost:
          reference_bandwidth: 4
    state: merged
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Commands Fired:
# ---------------
#
#  "commands": [
#         "router ospfv3 1",
#         "max-metric router-lsa on-startup 110",
#         "area 10 nssa default-information-originate metric 10",
#         "address-family ipv4 unicast vrf blue",
#         "adjacency stagger 50 50",
#         "area 25 nssa default-information-originate metric 25 nssa-only",
#         "exit-address-family",
#         "router ospfv3 200",
#         "auto-cost reference-bandwidth 4",
#         "max-metric router-lsa on-startup 100",
#         "address-family ipv4 unicast",
#         "adjacency stagger 200 200",
#         "exit-address-family"
#     ]

# After state:
# -------------
#
# router-smb#sh running-config | section ^router ospfv3
# router ospfv3 1
#  max-metric router-lsa on-startup 110
#  area 10 nssa default-information-originate metric 10
#  !
#  address-family ipv4 unicast vrf blue
#   adjacency stagger 50 50
#   area 25 nssa default-information-originate metric 25 nssa-only
#  exit-address-family
# router ospfv3 200
#  max-metric router-lsa on-startup 100
#  auto-cost reference-bandwidth 4
#  !
#  address-family ipv4 unicast
#   adjacency stagger 200 200
#  exit-address-family

# Using overridden

# Before state:
# -------------
#
# router ospfv3 1
#  max-metric router-lsa on-startup 110
#  area 10 nssa default-information-originate metric 10
#  !
#  address-family ipv4 unicast vrf blue
#   adjacency stagger 50 50
#   area 25 nssa default-information-originate metric 25 nssa-only
#  exit-address-family
# router ospfv3 200
#  max-metric router-lsa on-startup 100
#  auto-cost reference-bandwidth 4
#  !
#  address-family ipv4 unicast
#   adjacency stagger 200 200
#  exit-address-family

- name: Override provided OSPFV3 configuration
  cisco.smb.smb_ospfv3:
    config:
      processes:
        - process_id: 200
          max_metric:
            router_lsa: true
            on_startup:
              time: 200
          address_family:
            - afi: ipv4
              unicast: true
              adjacency:
                min_adjacency: 50
                max_adjacency: 50
              areas:
                - area_id: 200
                  nssa:
                    default_information_originate:
                      metric: 200
                      nssa_only: true
          areas:
            - area_id: "10"
              nssa:
                default_information_originate:
                  metric: 10
    state: overridden
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Commands Fired:
# ---------------
#
# "commands": [
#         "no router ospfv3 1",
#         "router ospfv3 200",
#         "no auto-cost reference-bandwidth 4",
#         "max-metric router-lsa on-startup 200",
#         "area 10 nssa default-information-originate metric 10",
#         "address-family ipv4 unicast",
#         "adjacency stagger 50 50",
#         "area 200 nssa default-information-originate metric 200 nssa-only",
#         "exit-address-family"
#     ]

# After state:
# -------------
#
# router-smb#sh running-config | section ^router ospfv3
# router ospfv3 200
#  max-metric router-lsa on-startup 200
#  area 10 nssa default-information-originate metric 10
#  !
#  address-family ipv4 unicast
#   adjacency stagger 50 50
#   area 200 nssa default-information-originate metric 200 nssa-only
#  exit-address-family

# Using replaced

# Before state:
# -------------
#
# router-smb#sh running-config | section ^router ospfv3
# router ospfv3 1
#  max-metric router-lsa on-startup 110
#  area 10 nssa default-information-originate metric 10
#  !
#  address-family ipv4 unicast vrf blue
#   adjacency stagger 50 50
#   area 25 nssa default-information-originate metric 25 nssa-only
#  exit-address-family
# router ospfv3 200
#  max-metric router-lsa on-startup 100
#  auto-cost reference-bandwidth 4
#  !
#  address-family ipv4 unicast
#   adjacency stagger 200 200
#  exit-address-family

- name: Replaced provided OSPFV3 configuration
  cisco.smb.smb_ospfv3:
    config:
      processes:
        - process_id: 200
          max_metric:
            router_lsa: true
            on_startup:
              time: 200
          address_family:
            - afi: ipv4
              unicast: true
              adjacency:
                min_adjacency: 50
                max_adjacency: 50
              areas:
                - area_id: 200
                  nssa:
                    default_information_originate:
                      metric: 200
                      nssa_only: true
          areas:
            - area_id: "10"
              nssa:
                default_information_originate:
                  metric: 10
    state: replaced
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Commands Fired:
# ---------------
# "commands": [
#         "router ospfv3 200",
#         "no auto-cost reference-bandwidth 4",
#         "max-metric router-lsa on-startup 200",
#         "area 10 nssa default-information-originate metric 10",
#         "address-family ipv4 unicast",
#         "adjacency stagger 50 50",
#         "area 200 nssa default-information-originate metric 200 nssa-only",
#         "exit-address-family"
#     ]

# After state:
# -------------
# router-smb#sh running-config | section ^router ospfv3
# router ospfv3 1
#  max-metric router-lsa on-startup 110
#  area 10 nssa default-information-originate metric 10
#  !
#  address-family ipv4 unicast vrf blue
#   adjacency stagger 50 50
#   area 25 nssa default-information-originate metric 25 nssa-only
#  exit-address-family
# router ospfv3 200
#  max-metric router-lsa on-startup 200
#  area 10 nssa default-information-originate metric 10
#  !
#  address-family ipv4 unicast
#   adjacency stagger 50 50
#   area 200 nssa default-information-originate metric 200 nssa-only
#  exit-address-family

# Using Gathered

# Before state:
# -------------
#
# router-smb#sh running-config | section ^router ospfv3
# router ospfv3 1
#  max-metric router-lsa on-startup 110
#  area 10 nssa default-information-originate metric 10
#  !
#  address-family ipv4 unicast vrf blue
#   adjacency stagger 50 50
#   area 25 nssa default-information-originate metric 25 nssa-only
#  exit-address-family
# router ospfv3 200
#  max-metric router-lsa on-startup 100
#  auto-cost reference-bandwidth 4
#  !
#  address-family ipv4 unicast
#   adjacency stagger 200 200
#  exit-address-family

- name: Gather OSPFV3 provided configurations
  cisco.smb.smb_ospfv3:
    config:
    state: gathered
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Module Execution Result:
# ------------------------
#
# "gathered": {
#         "processes": [
#             {
#                 "address_family": [
#                     {
#                         "adjacency": {
#                             "max_adjacency": 50,
#                             "min_adjacency": 50
#                         },
#                         "afi": "ipv4",
#                         "areas": [
#                             {
#                                 "area_id": "25",
#                                 "nssa": {
#                                     "default_information_originate": {
#                                         "metric": 25,
#                                         "nssa_only": true
#                                     }
#                                 }
#                             }
#                         ],
#                         "unicast": true,
#                         "vrf": "blue"
#                     }
#                 ],
#                 "areas": [
#                     {
#                         "area_id": "10",
#                         "nssa": {
#                             "default_information_originate": {
#                                 "metric": 10
#                             }
#                         }
#                     }
#                 ],
#                 "max_metric": {
#                     "on_startup": {
#                         "time": 110
#                     },
#                     "router_lsa": true
#                 },
#                 "process_id": 1
#             },
#             {
#                 "address_family": [
#                     {
#                         "adjacency": {
#                             "max_adjacency": 200,
#                             "min_adjacency": 200
#                         },
#                         "afi": "ipv4",
#                         "unicast": true
#                     }
#                 ],
#                 "auto_cost": {
#                     "reference_bandwidth": 4
#                 },
#                 "max_metric": {
#                     "on_startup": {
#                         "time": 100
#                     },
#                     "router_lsa": true
#                 },
#                 "process_id": 200
#             }
#         ]
#     }

# After state:
# ------------
#
# router-smb#sh running-config | section ^router ospfv3
# router ospfv3 1
#  max-metric router-lsa on-startup 110
#  area 10 nssa default-information-originate metric 10
#  !
#  address-family ipv4 unicast vrf blue
#   adjacency stagger 50 50
#   area 25 nssa default-information-originate metric 25 nssa-only
#  exit-address-family
# router ospfv3 200
#  max-metric router-lsa on-startup 100
#  auto-cost reference-bandwidth 4
#  !
#  address-family ipv4 unicast
#   adjacency stagger 200 200
#  exit-address-family

# Using Rendered

- name: Render the commands for provided  configuration
  cisco.smb.smb_ospfv3:
    config:
      processes:
      - process_id: 1
        max_metric:
          router_lsa: true
          on_startup:
            time: 110
        address_family:
          - afi: ipv4
            unicast: true
            vrf: blue
            adjacency:
              min_adjacency: 50
              max_adjacency: 50
            areas:
              - area_id: 25
                nssa:
                  default_information_originate:
                    metric: 25
                    nssa_only: true
        areas:
          - area_id: "10"
            nssa:
              default_information_originate:
                metric: 10
        timers:
          throttle:
            lsa:
              first_delay: 12
              min_delay: 14
              max_delay: 16
      - process_id: 200
        address_family:
          - afi: ipv4
            unicast: true
            adjacency:
              min_adjacency: 200
              max_adjacency: 200
        max_metric:
          router_lsa: true
          on_startup:
            time: 100
        auto_cost:
          reference_bandwidth: 4
    state: rendered
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# Module Execution Result:
# ------------------------
#
# "rendered": [
#         "router ospfv3 1",
#         "max-metric router-lsa on-startup 110",
#         "area 10 nssa default-information-originate metric 10",
#         "address-family ipv4 unicast vrf blue",
#         "adjacency stagger 50 50",
#         "area 25 nssa default-information-originate metric 25 nssa-only",
#         "exit-address-family",
#         "router ospfv3 200",
#         "auto-cost reference-bandwidth 4",
#         "max-metric router-lsa on-startup 100",
#         "address-family ipv4 unicast",
#         "adjacency stagger 200 200",
#         "exit-address-family"
#     ]

# Using Parsed

# File: parsed.cfg
# ----------------
#
# router ospfv3 1
#  max-metric router-lsa on-startup 110
#  area 10 nssa default-information-originate metric 10
#  !
#  address-family ipv4 unicast vrf blue
#   adjacency stagger 50 50
#   area 25 nssa default-information-originate metric 25 nssa-only
#  exit-address-family
# router ospfv3 200
#  max-metric router-lsa on-startup 100
#  auto-cost reference-bandwidth 4
#  !
#  address-family ipv4 unicast
#   adjacency stagger 200 200
#  exit-address-family

- name: Parse the provided configuration with the exisiting running configuration
  cisco.smb.smb_ospfv3:
    running_config: "{{ lookup('file', 'parsed.cfg') }}"
    state: parsed

Inputs

    
state:
    choices:
    - merged
    - replaced
    - overridden
    - deleted
    - gathered
    - parsed
    - rendered
    default: merged
    description:
    - The state the configuration should be left in
    - The states I(rendered), I(gathered) and I(parsed) does not perform any change on
      the device.
    - The state I(rendered) will transform the configuration in C(config) option to platform
      specific CLI commands which will be returned in the I(rendered) key within the result.
      For state I(rendered) active connection to remote host is not required.
    - The state I(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 I(gathered) key within the result.
    - The state I(parsed) reads the configuration from C(running_config) option and transforms
      it into JSON format as per the resource module parameters and the value is returned
      in the I(parsed) key within the result. The value of C(running_config) option should
      be the same format as the output of command I(show running-config | include ip route|ipv6
      route) executed on device. For state I(parsed) active connection to remote host
      is not required.
    type: str

config:
    description: A list of configurations for ospfv3.
    suboptions:
      processes:
        description: List of OSPF instance configurations.
        elements: dict
        suboptions:
          address_family:
            description: Enter Address Family command mode
            elements: dict
            suboptions:
              adjacency:
                description: Control adjacency formation
                suboptions:
                  disable:
                    description: Disable adjacency staggering
                    type: bool
                  max_adjacency:
                    description:
                    - Maximum number of adjacencies allowed to be forming
                    - Please refer vendor documentation for valid values
                    type: int
                  min_adjacency:
                    description:
                    - Initial number of adjacencies allowed to be forming in an area
                    - Please refer vendor documentation for valid values
                    type: int
                  none:
                    description: No initial
                    type: bool
                type: dict
              afi:
                choices:
                - ipv4
                - ipv6
                description: Enter Address Family command mode
                type: str
              areas:
                description: OSPF area parameters
                elements: dict
                suboptions:
                  area_id:
                    description:
                    - 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)
                    type: str
                  authentication:
                    description: Authentication parameters
                    suboptions:
                      key_chain:
                        description: Use a key-chain for cryptographic authentication
                          keys
                        type: str
                      'null':
                        description: Use no authentication
                        type: bool
                    type: dict
                  default_cost:
                    description:
                    - 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
                    type: int
                  filter_list:
                    description: Filter networks between OSPFv3 areas
                    elements: dict
                    suboptions:
                      direction:
                        choices:
                        - in
                        - out
                        description: The direction to apply on the filter networks sent
                          to and from this area.
                        required: true
                        type: str
                      name:
                        description: Name of an IP prefix-list
                        type: str
                    type: list
                  normal:
                    description: Specify a normal area type
                    type: bool
                  nssa:
                    description: Specify a NSSA area
                    suboptions:
                      default_information_originate:
                        description: Originate Type 7 default into NSSA area
                        suboptions:
                          metric:
                            description: OSPF default metric
                            type: int
                          metric_type:
                            choices:
                            - 1
                            - 2
                            description:
                            - OSPF metric type for default routes
                            - OSPF Link State type
                            type: int
                          nssa_only:
                            description: Limit default advertisement to this NSSA area
                            type: bool
                        type: dict
                      no_redistribution:
                        description: No redistribution into this NSSA area
                        type: bool
                      no_summary:
                        description: Do not send summary LSA into NSSA
                        type: bool
                      set:
                        description: Enable a NSSA area
                        type: bool
                      translate:
                        choices:
                        - always
                        - suppress-fa
                        description:
                        - Translate LSA
                        - Always translate LSAs on this ABR
                        - Suppress forwarding address in translated LSAs
                        type: str
                    type: dict
                  ranges:
                    description: Summarize routes matching address/mask (border routers
                      only)
                    elements: dict
                    suboptions:
                      address:
                        description: IP address to match
                        type: str
                      advertise:
                        description:
                        - 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.
                        type: bool
                      cost:
                        description: User specified metric for this range
                        type: int
                      netmask:
                        description: IP mask for address
                        type: str
                      not_advertise:
                        description: DoNotAdvertise this range
                        type: bool
                    type: list
                  sham_link:
                    description: Define a sham link and its parameters
                    suboptions:
                      authentication:
                        description: Authentication parameters
                        suboptions:
                          key_chain:
                            description: Use a key-chain for cryptographic authentication
                              keys
                            type: str
                          'null':
                            description: Use no authentication
                            type: bool
                        type: dict
                      cost:
                        description:
                        - Associate a cost with the sham-link
                        - Cost of the sham-link
                        type: int
                      destination:
                        description: IPv6 address associated with sham-link destination
                          (X:X:X:X::X)
                        type: str
                      source:
                        description: IPv6 address associated with sham-link source (X:X:X:X::X)
                        type: str
                      ttl_security:
                        description:
                        - TTL security check
                        - maximum number of hops allowed
                        type: int
                    type: dict
                  stub:
                    description:
                    - Specify a stub area
                    - Backbone can not be configured as stub area
                    suboptions:
                      no_summary:
                        description: Do not send summary LSA into stub area
                        type: bool
                      set:
                        description: Enable a stub area
                        type: bool
                    type: dict
                type: list
              authentication:
                description:
                - Authentication parameters
                - Authentication operation mode
                suboptions:
                  deployment:
                    description: Deployment mode of operation
                    type: bool
                  normal:
                    description: Normal mode of operation
                    type: bool
                type: dict
              auto_cost:
                description: Calculate OSPF interface cost according to bandwidth
                suboptions:
                  reference_bandwidth:
                    description:
                    - Use reference bandwidth method to assign OSPF cost
                    - Note, refer vendor documentation for respective valid values
                    type: int
                  set:
                    description: Enable OSPF auto-cost
                    type: bool
                type: dict
              bfd:
                description: BFD configuration commands
                suboptions:
                  all_interfaces:
                    description: Enable BFD on all interfaces
                    type: bool
                  disable:
                    description: Disable BFD on all interfaces
                    type: bool
                type: dict
              capability:
                description:
                - Enable a specific feature
                - Do not perform PE specific checks
                type: bool
              compatible:
                description: OSPFv3 router compatibility list
                suboptions:
                  rfc1583:
                    description: compatible with RFC 1583
                    type: bool
                  rfc1587:
                    description: compatible with RFC 1587
                    type: bool
                  rfc5243:
                    description: supports DBD exchange optimization
                    type: bool
                type: dict
              default_information:
                description: Control distribution of default information
                suboptions:
                  always:
                    description: Always advertise default route
                    type: bool
                  metric:
                    description:
                    - OSPF default metric
                    - Note, refer vendor documentation for respective valid values
                    type: int
                  metric_type:
                    description:
                    - OSPF metric type for default routes
                    - Note, please refer vendor documentation for respective valid range
                    type: int
                  originate:
                    description: Distribute a default route
                    type: bool
                  route_map:
                    description: Route-map reference name
                    type: str
                type: dict
              default_metric:
                description: Set metric of redistributed routes
                type: int
              discard_route:
                description: Enable or disable discard-route installation
                suboptions:
                  external:
                    description: Discard route for summarised redistributed routes
                    type: bool
                  internal:
                    description: Discard route for summarised inter-area routes
                    type: bool
                  sham_link:
                    description: Discard route for sham-link routes
                    type: bool
                type: dict
              distance:
                description:
                - Define an administrative distance
                - Note, please refer vendor documentation for respective valid range
                type: int
              distribute_list:
                description: Filter networks in routing updates
                suboptions:
                  acls:
                    description: IP access list
                    elements: dict
                    suboptions:
                      direction:
                        choices:
                        - in
                        - out
                        description: Filter incoming and outgoing routing updates.
                        required: true
                        type: str
                      interface:
                        description:
                        - Interface configuration (GigabitEthernet A/B)
                        - Valid with incoming traffic
                        type: str
                      name:
                        description: IP access list name/number
                        required: true
                        type: str
                      protocol:
                        description:
                        - Protocol config (bgp 1).
                        - Valid with outgoing traffic
                        type: str
                    type: list
                  prefix:
                    description: Filter prefixes in routing updates
                    suboptions:
                      direction:
                        choices:
                        - in
                        - out
                        description: Filter incoming and outgoing routing updates.
                        required: true
                        type: str
                      gateway_name:
                        description: Gateway name for filtering incoming updates based
                          on gateway
                        type: str
                      interface:
                        description:
                        - Interface configuration (GigabitEthernet A/B)
                        - Valid with incoming traffic
                        type: str
                      name:
                        description: Name of an IP prefix-list
                        required: true
                        type: str
                      protocol:
                        description:
                        - Protocol config (bgp 1).
                        - Valid with outgoing traffic
                        type: str
                    type: dict
                  route_map:
                    description: Filter prefixes in routing updates
                    suboptions:
                      name:
                        description: Route-map name
                        required: true
                        type: str
                    type: dict
                type: dict
              event_log:
                description: Event Logging
                suboptions:
                  enable:
                    description: Enable event Logging
                    type: bool
                  one_shot:
                    description: Disable Logging When Log Buffer Becomes Full
                    type: bool
                  pause:
                    description: Pause Event Logging
                    type: bool
                  size:
                    description:
                    - Maximum Number of Events Stored in the Event Log
                    - Note, refer vendor documentation for respective valid values
                    type: int
                type: dict
              graceful_restart:
                description:
                - Graceful-restart options
                - helper support
                suboptions:
                  disable:
                    description: disable helper support
                    type: bool
                  enable:
                    description: helper support enabled
                    type: bool
                  strict_lsa_checking:
                    description: enable helper strict LSA checking
                    type: bool
                type: dict
              interface_id:
                description: Source of the interface ID
                suboptions:
                  smb_if_index:
                    description: SMB interface number
                    type: bool
                  snmp_if_index:
                    description: SNMP MIB ifIndex
                    type: bool
                type: dict
              limit:
                description: Limit a specific OSPF feature
                suboptions:
                  dc:
                    description: Demand circuit retransmissions
                    suboptions:
                      disable:
                        description: Disble the feature
                        type: bool
                      number:
                        description: The maximum number of retransmissions
                        type: int
                    type: dict
                  non_dc:
                    description: Non-demand-circuit retransmissions
                    suboptions:
                      disable:
                        description: Disble the feature
                        type: bool
                      number:
                        description: The maximum number of retransmissions
                        type: int
                    type: dict
                type: dict
              local_rib_criteria:
                description: Enable or disable usage of local RIB as route criteria
                suboptions:
                  enable:
                    description: Enable usage of local RIB as route criteria
                    type: bool
                  forwarding_address:
                    description: Local RIB used to validate external/NSSA forwarding addresses
                    type: bool
                  inter_area_summary:
                    description: Local RIB used as criteria for inter-area summaries
                    type: bool
                  nssa_translation:
                    description: Local RIB used as criteria for NSSA translation
                    type: bool
                type: dict
              log_adjacency_changes:
                description: Log changes in adjacency state
                suboptions:
                  detail:
                    description: Log all state changes
                    type: bool
                  set:
                    description: Log changes in adjacency state
                    type: bool
                type: dict
              manet:
                description: Specify MANET OSPF parameters
                suboptions:
                  cache:
                    description: Specify MANET cache sizes
                    suboptions:
                      acknowledgement:
                        description:
                        - Specify MANET acknowledgement cache size
                        - Maximum number of acknowledgements in cache
                        type: int
                      update:
                        description:
                        - Specify MANET LSA cache size
                        - Maximum number of LSAs in cache
                        type: int
                    type: dict
                  hello:
                    description: Unicast Hellos rather than multicast
                    suboptions:
                      multicast:
                        description: Multicast Hello requests and responses rather than
                          unicast
                        type: bool
                      unicast:
                        description: Unicast Hello requests and responses rather than
                          multicast
                        type: bool
                    type: dict
                  peering:
                    description: MANET OSPF Smart Peering
                    suboptions:
                      disable:
                        description: Disable selective peering
                        type: bool
                      per_interface:
                        description: Select peers per interface rather than per node
                        type: bool
                      redundancy:
                        description:
                        - Redundant paths
                        - Number of redundant OSPF paths
                        type: int
                      set:
                        description: Enable selective peering
                        type: bool
                    type: dict
                  willingness:
                    description: Specify and Relay willingness value
                    type: int
                type: dict
              max_lsa:
                description: Maximum number of non self-generated LSAs to accept
                suboptions:
                  ignore_count:
                    description:
                    - Maximum number of times adjacencies can be suppressed
                    - Note, refer vendor documentation for respective valid values
                    type: int
                  ignore_time:
                    description:
                    - Number of minutes during which all adjacencies are suppressed
                    - Note, refer vendor documentation for respective valid values
                    type: int
                  number:
                    description:
                    - Maximum number of non self-generated LSAs to accept
                    - Note, refer vendor documentation for respective valid values
                    type: int
                  reset_time:
                    description:
                    - Number of minutes after which ignore-count is reset to zero
                    - Note, refer vendor documentation for respective valid values
                    type: int
                  threshold_value:
                    description:
                    - Threshold value (%) at which to generate a warning msg
                    - Note, refer vendor documentation for respective valid values
                    type: int
                  warning_only:
                    description: Only give a warning message when limit is exceeded
                    type: bool
                type: dict
              max_metric:
                description:
                - Set maximum metric
                - Maximum metric in self-originated router-LSAs
                suboptions:
                  disable:
                    description: disable maximum metric in self-originated router-LSAs
                    type: bool
                  external_lsa:
                    description:
                    - Override external-lsa metric with max-metric value
                    - Overriding metric in external-LSAs
                    - Note, refer vendor documentation for respective valid values
                    type: int
                  inter_area_lsas:
                    description:
                    - Override inter-area-lsas metric with max-metric value
                    - Overriding metric in inter-area-LSAs
                    - Note, refer vendor documentation for respective valid values
                    type: int
                  on_startup:
                    description: Set maximum metric temporarily after reboot
                    suboptions:
                      time:
                        description:
                        - Time, in seconds, router-LSAs are originated with max-metric
                        - Note, please refer vendor documentation for respective valid
                          range
                        type: int
                      wait_for_bgp:
                        description: Let BGP decide when to originate router-LSA with
                          normal metric
                        type: bool
                    type: dict
                  stub_prefix_lsa:
                    description: Set maximum metric for stub links in prefix LSAs
                    type: bool
                type: dict
              maximum_paths:
                description:
                - Forward packets over multiple paths
                - Number of paths
                type: int
              passive_interface:
                description: Suppress routing updates on an interface
                type: str
              prefix_suppression:
                description: Prefix suppression
                suboptions:
                  disable:
                    description: Disable prefix suppression
                    type: bool
                  enable:
                    description: Enable prefix suppression
                    type: bool
                type: dict
              queue_depth:
                description: Hello/Router process queue depth
                suboptions:
                  hello:
                    description: OSPF Hello process queue depth
                    suboptions:
                      max_packets:
                        description: maximum number of packets in the queue
                        type: int
                      unlimited:
                        description: Unlimited queue depth
                        type: bool
                    type: dict
                  update:
                    description: OSPF Router process queue depth
                    suboptions:
                      max_packets:
                        description: maximum number of packets in the queue
                        type: int
                      unlimited:
                        description: Unlimited queue depth
                        type: bool
                    type: dict
                type: dict
              router_id:
                description:
                - Router-id address for this OSPF process
                - OSPF router-id in IP address format (A.B.C.D)
                type: str
              shutdown:
                description: Shutdown the router process
                suboptions:
                  disable:
                    description: Disable Shutdown
                    type: bool
                  enable:
                    description: Shutdown the router process
                    type: bool
                type: dict
              summary_prefix:
                description: Configure IP address summaries
                suboptions:
                  address:
                    description:
                    - IP summary address (A.B.C.D)
                    - IP prefix <network>/<length> (A.B.C.D/nn)
                    type: str
                  mask:
                    description: IP Summary mask
                    type: str
                  not_advertise:
                    description: Do not advertise or translate
                    type: bool
                  nssa_only:
                    description: Limit summary to NSSA areas
                    type: bool
                  tag:
                    description: Set tag
                    type: int
                type: dict
              timers:
                description: Adjust routing timers
                suboptions:
                  lsa:
                    description:
                    - OSPF LSA timers, arrival timer
                    - The minimum interval in milliseconds between accepting the same
                      LSA
                    - Note, refer vendor documentation for respective valid values
                    type: int
                  manet:
                    description: OSPF MANET timers
                    suboptions:
                      cache:
                        description: Specify MANET cache sizes
                        suboptions:
                          acknowledgement:
                            description: Specify MANET acknowledgement cache size
                            type: int
                          redundancy:
                            description: Specify MANET LSA cache size
                            type: int
                        type: dict
                      hello:
                        description:
                        - Unicast Hellos rather than multicast
                        - Unicast Hello requests and responses rather than multicast
                        type: bool
                      peering:
                        description: MANET OSPF Smart Peering
                        suboptions:
                          per_interface:
                            description: Select peers per interface rather than per node
                            type: bool
                          redundancy:
                            description:
                            - Redundant paths
                            - Number of redundant OSPF paths
                            type: int
                          set:
                            description: Enable selective peering
                            type: bool
                        type: dict
                      willingness:
                        description: Specify and Relay willingness value
                        type: int
                    type: dict
                  pacing:
                    description: OSPF pacing timers
                    suboptions:
                      flood:
                        description:
                        - OSPF flood pacing timer
                        - The minimum interval in msec to pace limit flooding on interface
                        - Note, refer vendor documentation for respective valid values
                        type: int
                      lsa_group:
                        description:
                        - OSPF LSA group pacing timer
                        - Interval in sec between group of LSA being refreshed or maxaged
                        - Note, refer vendor documentation for respective valid values
                        type: int
                      retransmission:
                        description:
                        - OSPF retransmission pacing timer
                        - The minimum interval in msec between neighbor retransmissions
                        - Note, refer vendor documentation for respective valid values
                        type: int
                    type: dict
                  throttle:
                    description: OSPF throttle timers
                    suboptions:
                      lsa:
                        description: OSPF LSA throttle timers
                        suboptions:
                          first_delay:
                            description:
                            - Delay to generate first occurrence of LSA in milliseconds
                            - Note, refer vendor documentation for respective valid values
                            type: int
                          max_delay:
                            description:
                            - Maximum delay between originating the same LSA in milliseconds
                            - Note, refer vendor documentation for respective valid values
                            type: int
                          min_delay:
                            description:
                            - Minimum delay between originating the same LSA in milliseconds
                            - Note, refer vendor documentation for respective valid values
                            type: int
                        type: dict
                      spf:
                        description: OSPF SPF throttle timers - Delay between receiving
                          a change to SPF calculation in milliseconds - Note, refer vendor
                          documentation for respective valid values
                        suboptions:
                          between_delay:
                            description:
                            - Delay between first and second SPF calculation in milliseconds
                            - Note, refer vendor documentation for respective valid values
                            type: int
                          max_delay:
                            description:
                            - Maximum wait time in milliseconds for SPF calculations
                            - Note, refer vendor documentation for respective valid values
                            type: int
                          receive_delay:
                            description:
                            - Delay between receiving a change to SPF calculation in milliseconds
                            - Note, refer vendor documentation for respective valid values
                            type: int
                        type: dict
                    type: dict
                type: dict
              unicast:
                description: Address Family modifier
                type: bool
              vrf:
                description: Specify parameters for a VPN Routing/Forwarding instance
                type: str
            type: list
          adjacency:
            description: Control adjacency formation
            suboptions:
              max_adjacency:
                description:
                - Maximum number of adjacencies allowed to be forming
                - Please refer vendor documentation for valid values
                type: int
              min_adjacency:
                description:
                - Initial number of adjacencies allowed to be forming in an area
                - Please refer vendor documentation for valid values
                type: int
              none:
                description: No initial
                type: bool
            type: dict
          areas:
            description: OSPF area parameters
            elements: dict
            suboptions:
              area_id:
                description:
                - 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)
                type: str
              authentication:
                description: Authentication parameters
                suboptions:
                  ipsec:
                    description: Use IPsec authentication
                    suboptions:
                      hex_string:
                        description: SHA-1 key (40 chars)
                        type: str
                      md5:
                        description: Use MD5 authentication
                        type: int
                      sha1:
                        description: Use SHA-1 authentication
                        type: int
                      spi:
                        description: Set the SPI (Security Parameters Index)
                        type: int
                    type: dict
                  key_chain:
                    description: Use a key-chain for cryptographic authentication keys
                    type: str
                type: dict
              default_cost:
                description:
                - 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
                type: int
              nssa:
                description: Specify a NSSA area
                suboptions:
                  default_information_originate:
                    description: Originate Type 7 default into NSSA area
                    suboptions:
                      metric:
                        description: OSPF default metric
                        type: int
                      metric_type:
                        choices:
                        - 1
                        - 2
                        description:
                        - OSPF metric type for default routes
                        - OSPF Link State type
                        type: int
                      nssa_only:
                        description: Limit default advertisement to this NSSA area
                        type: bool
                    type: dict
                  no_redistribution:
                    description: No redistribution into this NSSA area
                    type: bool
                  no_summary:
                    description: Do not send summary LSA into NSSA
                    type: bool
                  set:
                    description: Enable a NSSA area
                    type: bool
                  translate:
                    choices:
                    - always
                    - suppress-fa
                    description:
                    - Translate LSA
                    - Always translate LSAs on this ABR
                    - Suppress forwarding address in translated LSAs
                    type: str
                type: dict
              stub:
                description:
                - Specify a stub area
                - Backbone can not be configured as stub area
                suboptions:
                  no_summary:
                    description: Do not send summary LSA into stub area
                    type: bool
                  set:
                    description: Enable a stub area
                    type: bool
                type: dict
            type: list
          authentication:
            description:
            - Authentication parameter mode
            - Deployment mode of operation
            type: bool
          auto_cost:
            description: Calculate OSPF interface cost according to bandwidth
            suboptions:
              reference_bandwidth:
                description:
                - Use reference bandwidth method to assign OSPF cost
                - Note, refer vendor documentation for respective valid values
                type: int
              set:
                description: Enable OSPF auto-cost
                type: bool
            type: dict
          bfd:
            description:
            - BFD configuration commands
            - Enable BFD on all interfaces
            type: bool
          compatible:
            description: OSPFv3 router compatibility list
            suboptions:
              rfc1583:
                description: compatible with RFC 1583
                type: bool
              rfc1587:
                description: compatible with RFC 1587
                type: bool
              rfc5243:
                description: supports DBD exchange optimization
                type: bool
            type: dict
          event_log:
            description: Event Logging
            suboptions:
              enable:
                description: Enable event Logging
                type: bool
              one_shot:
                description: Disable Logging When Log Buffer Becomes Full
                type: bool
              pause:
                description: Pause Event Logging
                type: bool
              size:
                description:
                - Maximum Number of Events Stored in the Event Log
                - Note, refer vendor documentation for respective valid values
                type: int
            type: dict
          graceful_restart:
            description: Graceful-restart options for helper support
            suboptions:
              disable:
                description: disable helper support
                type: bool
              strict_lsa_checking:
                description: enable helper strict LSA checking
                type: bool
            type: dict
          help:
            description: Description of the interactive help system
            type: bool
          interface_id:
            description:
            - Source of the interface ID
            - SNMP MIB ifIndex
            type: bool
          limit:
            description: Limit a specific OSPF feature and LS update, DBD, and LS request
              retransmissions
            suboptions:
              dc:
                description: Demand circuit retransmissions
                suboptions:
                  disable:
                    description: Disble the feature
                    type: bool
                  number:
                    description: The maximum number of retransmissions
                    type: int
                type: dict
              non_dc:
                description: Non-demand-circuit retransmissions
                suboptions:
                  disable:
                    description: Disble the feature
                    type: bool
                  number:
                    description: The maximum number of retransmissions
                    type: int
                type: dict
            type: dict
          local_rib_criteria:
            description: Enable or disable usage of local RIB as route criteria
            suboptions:
              enable:
                description: Enable usage of local RIB as route criteria
                type: bool
              forwarding_address:
                description: Local RIB used to validate external/NSSA forwarding addresses
                type: bool
              inter_area_summary:
                description: Local RIB used as criteria for inter-area summaries
                type: bool
              nssa_translation:
                description: Local RIB used as criteria for NSSA translation
                type: bool
            type: dict
          log_adjacency_changes:
            description: Log changes in adjacency state
            suboptions:
              detail:
                description: Log all state changes
                type: bool
              set:
                description: Log changes in adjacency state
                type: bool
            type: dict
          manet:
            description: Specify MANET OSPF parameters
            suboptions:
              cache:
                description: Specify MANET cache sizes
                suboptions:
                  acknowledgement:
                    description: Specify MANET acknowledgement cache size
                    type: int
                  redundancy:
                    description: Specify MANET LSA cache size
                    type: int
                type: dict
              hello:
                description:
                - Unicast Hellos rather than multicast
                - Unicast Hello requests and responses rather than multicast
                type: bool
              peering:
                description: MANET OSPF Smart Peering
                suboptions:
                  per_interface:
                    description: Select peers per interface rather than per node
                    type: bool
                  redundancy:
                    description:
                    - Redundant paths
                    - Number of redundant OSPF paths
                    type: int
                  set:
                    description: Enable selective peering
                    type: bool
                type: dict
              willingness:
                description: Specify and Relay willingness value
                type: int
            type: dict
          max_lsa:
            description: Maximum number of non self-generated LSAs to accept
            suboptions:
              ignore_count:
                description:
                - Maximum number of times adjacencies can be suppressed
                - Note, refer vendor documentation for respective valid values
                type: int
              ignore_time:
                description:
                - Number of minutes during which all adjacencies are suppressed
                - Note, refer vendor documentation for respective valid values
                type: int
              number:
                description:
                - Maximum number of non self-generated LSAs to accept
                - Note, refer vendor documentation for respective valid values
                type: int
              reset_time:
                description:
                - Number of minutes after which ignore-count is reset to zero
                - Note, refer vendor documentation for respective valid values
                type: int
              threshold_value:
                description:
                - Threshold value (%) at which to generate a warning msg
                - Note, refer vendor documentation for respective valid values
                type: int
              warning_only:
                description: Only give a warning message when limit is exceeded
                type: bool
            type: dict
          max_metric:
            description: Set maximum metric
            suboptions:
              external_lsa:
                description:
                - Override external-lsa metric with max-metric value
                - Overriding metric in external-LSAs
                - Note, refer vendor documentation for respective valid values
                type: int
              include_stub:
                description: Set maximum metric for stub links in router-LSAs
                type: bool
              on_startup:
                description: Set maximum metric temporarily after reboot
                suboptions:
                  time:
                    description:
                    - Time, in seconds, router-LSAs are originated with max-metric
                    - Note, please refer vendor documentation for respective valid range
                    type: int
                  wait_for_bgp:
                    description: Let BGP decide when to originate router-LSA with normal
                      metric
                    type: bool
                type: dict
              router_lsa:
                description: Maximum metric in self-originated router-LSAs
                required: true
                type: bool
              summary_lsa:
                description:
                - Override summary-lsa metric with max-metric value
                - Note, please refer vendor documentation for respective valid range
                type: int
            type: dict
          passive_interface:
            description: Suppress routing updates on an interface
            type: str
          prefix_suppression:
            description: Enable prefix suppression
            type: bool
          process_id:
            description: Process ID
            required: true
            type: int
          queue_depth:
            description: Hello/Router process queue depth
            suboptions:
              hello:
                description: OSPF Hello process queue depth
                suboptions:
                  max_packets:
                    description: maximum number of packets in the queue
                    type: int
                  unlimited:
                    description: Unlimited queue depth
                    type: bool
                type: dict
            type: dict
          router_id:
            description:
            - Router-id address for this OSPF process
            - OSPF router-id in IP address format (A.B.C.D)
            type: str
          shutdown:
            description: Shutdown the router process
            type: bool
          timers:
            description: Adjust routing timers
            suboptions:
              lsa:
                description:
                - OSPF LSA timers, arrival timer
                - The minimum interval in milliseconds between accepting the same LSA
                - Note, refer vendor documentation for respective valid values
                type: int
              manet:
                description: OSPF MANET timers
                suboptions:
                  cache:
                    description: Specify MANET cache sizes
                    suboptions:
                      acknowledgement:
                        description: Specify MANET acknowledgement cache size
                        type: int
                      redundancy:
                        description: Specify MANET LSA cache size
                        type: int
                    type: dict
                  hello:
                    description:
                    - Unicast Hellos rather than multicast
                    - Unicast Hello requests and responses rather than multicast
                    type: bool
                  peering:
                    description: MANET OSPF Smart Peering
                    suboptions:
                      per_interface:
                        description: Select peers per interface rather than per node
                        type: bool
                      redundancy:
                        description:
                        - Redundant paths
                        - Number of redundant OSPF paths
                        type: int
                      set:
                        description: Enable selective peering
                        type: bool
                    type: dict
                  willingness:
                    description: Specify and Relay willingness value
                    type: int
                type: dict
              pacing:
                description: OSPF pacing timers
                suboptions:
                  flood:
                    description:
                    - OSPF flood pacing timer
                    - The minimum interval in msec to pace limit flooding on interface
                    - Note, refer vendor documentation for respective valid values
                    type: int
                  lsa_group:
                    description:
                    - OSPF LSA group pacing timer
                    - Interval in sec between group of LSA being refreshed or maxaged
                    - Note, refer vendor documentation for respective valid values
                    type: int
                  retransmission:
                    description:
                    - OSPF retransmission pacing timer
                    - The minimum interval in msec between neighbor retransmissions
                    - Note, refer vendor documentation for respective valid values
                    type: int
                type: dict
              throttle:
                description: OSPF throttle timers
                suboptions:
                  lsa:
                    description: OSPF LSA throttle timers
                    suboptions:
                      first_delay:
                        description:
                        - Delay to generate first occurrence of LSA in milliseconds
                        - Note, refer vendor documentation for respective valid values
                        type: int
                      max_delay:
                        description:
                        - Maximum delay between originating the same LSA in milliseconds
                        - Note, refer vendor documentation for respective valid values
                        type: int
                      min_delay:
                        description:
                        - Minimum delay between originating the same LSA in milliseconds
                        - Note, refer vendor documentation for respective valid values
                        type: int
                    type: dict
                  spf:
                    description: OSPF SPF throttle timers - Delay between receiving a
                      change to SPF calculation in milliseconds - Note, refer vendor documentation
                      for respective valid values
                    suboptions:
                      between_delay:
                        description:
                        - Delay between first and second SPF calculation in milliseconds
                        - Note, refer vendor documentation for respective valid values
                        type: int
                      max_delay:
                        description:
                        - Maximum wait time in milliseconds for SPF calculations
                        - Note, refer vendor documentation for respective valid values
                        type: int
                      receive_delay:
                        description:
                        - Delay between receiving a change to SPF calculation in milliseconds
                        - Note, refer vendor documentation for respective valid values
                        type: int
                    type: dict
                type: dict
            type: dict
        type: list
    type: dict

running_config:
    description:
    - This option is used only with state I(parsed).
    - The value of this option should be the output received from the SMB device by executing
      the command B(sh running-config | section ^router ospfv3).
    - The state I(parsed) reads the configuration from C(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 I(parsed) key within the result.
    type: str

Outputs

after:
  description: The resulting configuration model invocation.
  returned: when changed
  sample: "The configuration returned will always be in the same format\n of the parameters\
    \ above.\n"
  type: dict
before:
  description: The configuration prior to the model invocation.
  returned: always
  sample: "The configuration returned will always be in the same format\n of the parameters\
    \ above.\n"
  type: dict
commands:
  description: The set of commands pushed to the remote device.
  returned: always
  sample:
  - router ospfv3 1
  - address-family ipv4 unicast vrf blue
  - adjacency stagger 50 50
  type: list