cisco.ios.ios_route_maps – Route maps resource module

Note

This plugin is part of the cisco.ios collection (version 2.4.0).

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

To use it in a playbook, specify: cisco.ios.ios_route_maps.

New in version 2.1.0: of cisco.ios

Synopsis

  • This module configures and manages the attributes of Route maps on Cisco IOS.

Note

This module has a corresponding action plugin.

Parameters

Parameter Choices/Defaults Comments
config
list / elements=dictionary
A list of configurations for Route maps.
entries
list / elements=dictionary
A list of configurations entries for Route maps.
action
string
    Choices:
  • deny
  • permit
Route map set operations
continue_entry
dictionary
Continue on a different entry within the route-map
entry_sequence
integer
Route-map entry sequence number
Please refer vendor documentation for valid values
set
boolean
    Choices:
  • no
  • yes
Set continue
description
string
Route-map comment
match
dictionary
Match values from routing table
additional_paths
dictionary
BGP Add-Path match policie
BGP Add-Path advertise-set policy
all
boolean
    Choices:
  • no
  • yes
BGP Add-Path advertise all paths
best
integer
BGP Add-Path advertise best n paths (1-3)
best_range
dictionary
BGP Add-Path advertise best paths (range m to n)
lower_limit
integer
BGP Add-Path best paths to advertise (lower limit) (1-3)
upper_limit
integer
BGP Add-Path best paths to advertise (upper limit) (1-3)
group_best
boolean
    Choices:
  • no
  • yes
BGP Add-Path advertise group-best path
as_path
dictionary
Match BGP AS path list
acls
list / elements=integer
AS path access-list
Please refer vendor documentation for valid values
set
boolean
    Choices:
  • no
  • yes
Set AS path list
clns
dictionary
CLNS information
address
string
Match address of route or match packet
next_hop
string
Match next-hop address of route
route_source
string
Match advertising source address of route
community
dictionary
Match BGP community list
exact_match
boolean
    Choices:
  • no
  • yes
Do exact matching of communities
name
list / elements=string
Community-list number/Community-list name
Please refer vendor documentation for valid values
extcommunity
list / elements=string
Match BGP/VPN extended community list
Extended community-list number
Please refer vendor documentation for valid values
interfaces
list / elements=string
Match first hop interface of route
ip
dictionary
IP specific information
address
dictionary
Match address of route or match packet
acls
list / elements=string
Match entries of acl
IP acl name/number
Please refer vendor documentation for valid values
prefix_lists
list / elements=string
Match entries of prefix-lists
IP prefix-list name
flowspec
dictionary
Match src/dest prefix component of flowspec prefix
acls
list / elements=string
Match entries of acl
IP acl name/number
Please refer vendor documentation for valid values
dest_pfx
boolean
    Choices:
  • no
  • yes
Match dest prefix component of flowspec prefix
prefix_lists
list / elements=string
Match entries of prefix-lists
IP prefix-list name
src_pfx
boolean
    Choices:
  • no
  • yes
Match source prefix component of flowspec prefix
next_hop
dictionary
Match next-hop address of route
acls
list / elements=string
Match entries of acl
IP acl name/number
Please refer vendor documentation for valid values
prefix_lists
list / elements=string
Match entries of prefix-lists
IP prefix-list name
set
boolean
    Choices:
  • no
  • yes
Set next-hop address
redistribution_source
dictionary
route redistribution source (EIGRP only)
acls
list / elements=string
Match entries of acl
IP acl name/number
Please refer vendor documentation for valid values
prefix_lists
list / elements=string
Match entries of prefix-lists
IP prefix-list name
set
boolean
    Choices:
  • no
  • yes
Set redistribution-source
route_source
dictionary
Match advertising source address of route
acls
list / elements=string
Match entries of acl
IP acl name/number
Please refer vendor documentation for valid values
prefix_lists
list / elements=string
Match entries of prefix-lists
IP prefix-list name
redistribution_source
boolean
    Choices:
  • no
  • yes
route redistribution source (EIGRP only)
set
boolean
    Choices:
  • no
  • yes
Set redistribution-source
ipv6
dictionary
IPv6 specific information
address
dictionary
Match address of route or match packet
acl
string
IPv6 access-list name
prefix_list
string
IPv6 prefix-list name
flowspec
dictionary
Match next-hop address of route
acl
string
IPv6 access-list name
dest_pfx
boolean
    Choices:
  • no
  • yes
Match dest prefix component of flowspec prefix
prefix_list
string
IPv6 prefix-list name
src_pfx
boolean
    Choices:
  • no
  • yes
Match source prefix component of flowspec prefix
next_hop
dictionary
Match next-hop address of route
acl
string
IPv6 access-list name
prefix_list
string
IPv6 prefix-list name
route_source
dictionary
Match advertising source address of route
acl
string
IPv6 access-list name
prefix_list
string
IPv6 prefix-list name
length
dictionary
Packet length
maximum
integer
Maximum packet length
Please refer vendor documentation for valid values
minimum
integer
Minimum packet length
Please refer vendor documentation for valid values
local_preference
dictionary
Local preference for route
set
boolean
    Choices:
  • no
  • yes
Set the Local preference for route
value
list / elements=string
Local preference value
Please refer vendor documentation for valid values
mdt_group
dictionary
Match routes corresponding to MDT group
acls
list / elements=string
IP access-list number/IP standard access-list name
Please refer vendor documentation for valid values
set
boolean
    Choices:
  • no
  • yes
Set and Match routes corresponding to MDT group
metric
dictionary
Match metric of route
deviation
boolean
    Choices:
  • no
  • yes
Deviation option to match metric in a range
deviation_value
integer
deviation value, 500 +- 10 creates the range 490 - 510
Please refer vendor documentation for valid values
external
boolean
    Choices:
  • no
  • yes
Match route using external protocol metric
value
integer
Metric value
Please refer vendor documentation for valid values
mpls_label
boolean
    Choices:
  • no
  • yes
Match routes which have MPLS labels
policy_lists
list / elements=string
Match IP policy list
route_type
dictionary
Match route-type of route
external
dictionary
external route (BGP, EIGRP and OSPF type 1/2)
set
boolean
    Choices:
  • no
  • yes
Set external route
type_1
boolean
    Choices:
  • no
  • yes
OSPF external type 1 route
type_2
boolean
    Choices:
  • no
  • yes
OSPF external type 2 route
internal
boolean
    Choices:
  • no
  • yes
internal route (including OSPF intra/inter area)
level_1
boolean
    Choices:
  • no
  • yes
IS-IS level-1 route
level_2
boolean
    Choices:
  • no
  • yes
IS-IS level-2 route
local
boolean
    Choices:
  • no
  • yes
locally generated route
nssa_external
dictionary
nssa-external route (OSPF type 1/2)
set
boolean
    Choices:
  • no
  • yes
Set nssa-external route
type_1
boolean
    Choices:
  • no
  • yes
OSPF external type 1 route
type_2
boolean
    Choices:
  • no
  • yes
OSPF external type 2 route
rpki
dictionary
Match RPKI state of route
invalid
boolean
    Choices:
  • no
  • yes
RPKI Invalid State
not_found
boolean
    Choices:
  • no
  • yes
RPKI Not Found State
valid
boolean
    Choices:
  • no
  • yes
RPKI Valid State
security_group
dictionary
Security Group
destination
list / elements=integer
Destination Security Group, destination Security tag
Please refer vendor documentation for valid values
source
list / elements=integer
Source Security Group, source Security tag
Please refer vendor documentation for valid values
source_protocol
dictionary
Match source-protocol of route
bgp
string
Border Gateway Protocol (BGP)
Autonomous system number
Please refer vendor documentation for valid values
connected
boolean
    Choices:
  • no
  • yes
Connected
eigrp
integer
Enhanced Interior Gateway Routing Protocol (EIGRP)
Autonomous system number
Please refer vendor documentation for valid values
isis
boolean
    Choices:
  • no
  • yes
ISO IS-IS
lisp
boolean
    Choices:
  • no
  • yes
Locator ID Separation Protocol (LISP)
mobile
boolean
    Choices:
  • no
  • yes
Mobile routes
ospf
integer
Open Shortest Path First (OSPF) Process ID
Please refer vendor documentation for valid values
ospfv3
integer
OSPFv3 Process ID
Please refer vendor documentation for valid values
rip
boolean
    Choices:
  • no
  • yes
Routing Information Protocol (RIP)
static
boolean
    Choices:
  • no
  • yes
Static routes
tag
dictionary
Match tag of route
tag_list
list / elements=string
Route Tag List/Tag list name
value
list / elements=string
Tag value/Tag in Dotted Decimal eg, 10.10.10.10
track
integer
tracking object
sequence
integer
Sequence to insert to/delete from existing route-map entry
Please refer vendor documentation for valid values
set
dictionary
Match source-protocol of route
aigp_metric
dictionary
accumulated metric value
igp_metric
boolean
    Choices:
  • no
  • yes
metric value from rib
value
integer
manual value
as_path
dictionary
Prepend string for a BGP AS-path attribute
prepend
dictionary
Prepend to the as-path
as_number
list / elements=string
AS number
Please refer vendor documentation for valid values
last_as
integer
Prepend last AS to the as-path
Number of last-AS prepends
Please refer vendor documentation for valid values
tag
boolean
    Choices:
  • no
  • yes
Set the tag as an AS-path attribute
automatic_tag
boolean
    Choices:
  • no
  • yes
Automatically compute TAG value
clns
string
OSI summary address
Next hop address
CLNS summary prefix
comm_list
string
set BGP community list (for deletion)
Community-list name/number
Delete matching communities
community
dictionary
BGP community attribute
additive
boolean
    Choices:
  • no
  • yes
Add to the existing community
gshut
boolean
    Choices:
  • no
  • yes
Graceful Shutdown (well-known community)
internet
boolean
    Choices:
  • no
  • yes
Internet (well-known community)
local_as
boolean
    Choices:
  • no
  • yes
Do not send outside local AS (well-known community)
no_advertise
boolean
    Choices:
  • no
  • yes
Do not advertise to any peer (well-known community)
no_export
boolean
    Choices:
  • no
  • yes
Do not export to next AS (well-known community)
none
boolean
    Choices:
  • no
  • yes
No community attribute
number
string
community number
community number in aa:nn format
Please refer vendor documentation for valid values
dampening
dictionary
Set BGP route flap dampening parameters
max_suppress
integer
Maximum duration to suppress a stable route
Please refer vendor documentation for valid values
penalty_half_time
integer
half-life time for the penalty
Please refer vendor documentation for valid values
reuse_route_val
integer
Penalty to start reusing a route
Please refer vendor documentation for valid values
suppress_route_val
integer
Penalty to start suppressing a route
Please refer vendor documentation for valid values
default
string
Set default information
Default output interface
extcomm_list
string
Set BGP/VPN extended community list (for deletion)
Extended community-list number/name
Delete matching extended communities
extcommunity
dictionary
BGP extended community attribute
cost
dictionary
Cost extended community
cost_value
integer
Cost Value (No-preference Cost = 2147483647)
Please refer vendor documentation for valid values
id
string
Community ID
Please refer vendor documentation for valid values
igp
boolean
    Choices:
  • no
  • yes
Compare following IGP cost comparison
pre_bestpath
boolean
    Choices:
  • no
  • yes
Compare before all other steps in bestpath calculation
rt
dictionary
Route Target extended community
additive
boolean
    Choices:
  • no
  • yes
Add to the existing extcommunity
address
string
VPN extended community
range
dictionary
Specify a range of extended community
lower_limit
string
VPN extended community
upper_limit
string
VPN extended community
soo
string
Site-of-Origin extended community
vpn_distinguisher
dictionary
VPN Distinguisher
additive
boolean
    Choices:
  • no
  • yes
Add to the existing extcommunity
address
string
VPN extended community
range
dictionary
Specify a range of extended community
lower_limit
string
VPN extended community
upper_limit
string
VPN extended community
global_route
boolean
    Choices:
  • no
  • yes
Set to global routing table
interfaces
list / elements=string
Output interface
ip
dictionary
IP specific information
address
string
Specify IP address
Prefix-list name to set ip address
df
integer
    Choices:
  • 0
  • 1
Set DF bit
global_route
dictionary
global routing table
address
string
IP address of next hop
verify_availability
dictionary
Verify if nexthop is reachable
address
string
IP address of next hop
sequence
integer
Sequence to insert into next-hop list
Please refer vendor documentation for valid values
track
integer
Set the next hop depending on the state of a tracked object
tracked object number
Please refer vendor documentation for valid values
next_hop
dictionary
Next hop address
address
string
IP address of next hop
dynamic
boolean
    Choices:
  • no
  • yes
application dynamically sets next hop
DHCP learned next hop
encapsulate
string
Encapsulation profile for VPN nexthop
L3VPN
Encapsulation profile name
peer_address
boolean
    Choices:
  • no
  • yes
Use peer address (for BGP only)
recursive
dictionary
Recursive next-hop
address
string
IP address of recursive next hop
global_route
boolean
    Choices:
  • no
  • yes
global routing table
vrf
string
VRF
self
boolean
    Choices:
  • no
  • yes
Use self address (for BGP only)
verify_availability
dictionary
Verify if nexthop is reachable
address
string
IP address of next hop
sequence
integer
Sequence to insert into next-hop list
Please refer vendor documentation for valid values
set
boolean
    Choices:
  • no
  • yes
Set and Verify if nexthop is reachable
track
integer
Set the next hop depending on the state of a tracked object
tracked object number
Please refer vendor documentation for valid values
precedence
dictionary
Set precedence field
critical
boolean
    Choices:
  • no
  • yes
Set critical precedence (5)
flash
boolean
    Choices:
  • no
  • yes
Set flash precedence (3)
flash_override
boolean
    Choices:
  • no
  • yes
Set flash override precedence (4)
immediate
boolean
    Choices:
  • no
  • yes
Set immediate precedence (2)
internet
boolean
    Choices:
  • no
  • yes
Set internetwork control precedence (6)
network
boolean
    Choices:
  • no
  • yes
Set network control precedence (7)
priority
boolean
    Choices:
  • no
  • yes
Set priority precedence (1)
routine
boolean
    Choices:
  • no
  • yes
Set routine precedence (0)
set
boolean
    Choices:
  • no
  • yes
Just set precedence field
qos_group
integer
Set QOS Group ID
Please refer vendor documentation for valid values
tos
dictionary
Set type of service field
max_reliability
boolean
    Choices:
  • no
  • yes
Set max reliable TOS (2)
max_throughput
boolean
    Choices:
  • no
  • yes
Set max throughput TOS (4)
min_delay
boolean
    Choices:
  • no
  • yes
Set min delay TOS (8)
min_monetary_cost
boolean
    Choices:
  • no
  • yes
Set min monetary cost TOS (1)
normal
boolean
    Choices:
  • no
  • yes
Set normal TOS (0)
set
boolean
    Choices:
  • no
  • yes
Just set type of service field
vrf
dictionary
VRF
address
string
IP address of next hop
name
string
VRF name
verify_availability
dictionary
Verify if nexthop is reachable
address
string
IP address of next hop
sequence
integer
Sequence to insert into next-hop list
Please refer vendor documentation for valid values
set
boolean
    Choices:
  • no
  • yes
Set and Verify if nexthop is reachable
track
integer
Set the next hop depending on the state of a tracked object
tracked object number
Please refer vendor documentation for valid values
ipv6
dictionary
IPv6 specific information
address
string
IPv6 address
IPv6 prefix-list
default
boolean
    Choices:
  • no
  • yes
Set default information
global_route
dictionary
global routing table
address
string
Next hop address (X:X:X:X::X)
verify_availability
dictionary
Verify if nexthop is reachable
address
string
Next hop address (X:X:X:X::X)
sequence
integer
Sequence to insert into next-hop list
Please refer vendor documentation for valid values
track
integer
Set the next hop depending on the state of a tracked object
tracked object number
Please refer vendor documentation for valid values
next_hop
dictionary
IPv6 Next hop
address
string
Next hop address (X:X:X:X::X)
encapsulate
string
Encapsulation profile for VPN nexthop
L3VPN
Encapsulation profile name
peer_address
boolean
    Choices:
  • no
  • yes
Use peer address (for BGP only)
recursive
string
Recursive next-hop
IPv6 address of recursive next-hop
precedence
integer
Set precedence field
Precedence value
Please refer vendor documentation for valid values
vrf
dictionary
VRF name
name
string
VRF name
verify_availability
dictionary
Verify if nexthop is reachable
address
string
IPv6 address of next hop
sequence
integer
Sequence to insert into next-hop list
Please refer vendor documentation for valid values
track
integer
Set the next hop depending on the state of a tracked object
tracked object number
Please refer vendor documentation for valid values
level
dictionary
Where to import route
level_1
boolean
    Choices:
  • no
  • yes
Import into a level-1 area
level_1_2
boolean
    Choices:
  • no
  • yes
Import into level-1 and level-2
level_2
boolean
    Choices:
  • no
  • yes
Import into level-2 sub-domain
nssa_only
boolean
    Choices:
  • no
  • yes
Import only into OSPF NSSA areas and don't propagate
lisp
string
Locator ID Separation Protocol specific information
Specify a locator-set to use in LISP route-import
The name of the locator set
local_preference
integer
BGP local preference path attribute
Please refer vendor documentation for valid values
metric
dictionary
Metric value for destination routing protocol
deviation
string
    Choices:
  • plus
  • minus
Add or subtract metric
eigrp_delay
integer
EIGRP delay metric, in 10 microsecond units
Please refer vendor documentation for valid values
metric_bandwidth
integer
EIGRP Effective bandwidth metric (Loading) where 255 is 100 loaded
Please refer vendor documentation for valid values
metric_reliability
integer
EIGRP reliability metric where 255 is 100 reliable
Please refer vendor documentation for valid values
metric_value
integer
Metric value or Bandwidth in Kbits per second
Please refer vendor documentation for valid values
mtu
integer
EIGRP MTU of the path
Please refer vendor documentation for valid values
metric_type
dictionary
Type of metric for destination routing protocol
external
boolean
    Choices:
  • no
  • yes
IS-IS external metric
internal
boolean
    Choices:
  • no
  • yes
IS-IS internal metric or Use IGP metric as the MED for BGP
type_1
boolean
    Choices:
  • no
  • yes
OSPF external type 1 metric
type_2
boolean
    Choices:
  • no
  • yes
OSPF external type 2 metric
mpls_label
boolean
    Choices:
  • no
  • yes
Set MPLS label for prefix
origin
dictionary
BGP origin code
igp
boolean
    Choices:
  • no
  • yes
local IGP
incomplete
boolean
    Choices:
  • no
  • yes
unknown heritage
tag
string
Tag value for destination routing protocol
Tag value A.B.C.D(dotted decimal format)/Tag value
traffic_index
integer
BGP traffic classification number for accounting
Please refer vendor documentation for valid values
vrf
string
Define VRF name
VPN Routing/Forwarding instance name
weight
integer
BGP weight for routing table
Please refer vendor documentation for valid values
route_map
string
Route map tag/name
running_config
string
This option is used only with state parsed.
The value of this option should be the output received from the IOS device by executing the command sh running-config | section ^route-map.
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
    Choices:
  • merged ←
  • replaced
  • overridden
  • deleted
  • gathered
  • parsed
  • rendered
The state the configuration should be left in
The states rendered, gathered and parsed does not perform any change on the device.
The state rendered will transform the configuration in config option to platform specific CLI commands which will be returned in the rendered key within the result. For state rendered active connection to remote host is not required.
The state gathered will fetch the running configuration from device and transform it into structured data in the format as per the resource module argspec and the value is returned in the gathered key within the result.
The state parsed reads the configuration from running_config option and transforms it into JSON format as per the resource module parameters and the value is returned in the parsed key within the result. The value of running_config option should be the same format as the output of command sh running-config | section ^route-map executed on device. For state parsed active connection to remote host is not required.

Notes

Note

Examples

# Using deleted

# Before state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_1 deny 10
#  description this is test route
#  match ip next-hop prefix-list test_2_new test_1_new
#  match ip route-source 10
#  match security-group source tag 10 20
#  match local-preference 100 50
#  match mpls-label
# route-map test_1 deny 20
#  match track  105
#  match tag list test_match_tag
#  match route-type level-1
#  match additional-paths advertise-set all group-best
#  match as-path 200 100
#  match ipv6 address test_acl_20
#  continue 100
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

- name: Delete provided Route maps config
  cisco.ios.ios_route_maps:
    config:
      - route_map: test_1
    state: deleted

#  Commands Fired:
#  ---------------
#
#  "commands": [
#         "no route-map test_1"
#     ]

# After state:
# -------------
# router-ios#sh running-config | section ^route-map
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

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

# Before state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_1 deny 10
#  description this is test route
#  match ip next-hop prefix-list test_2_new test_1_new
#  match ip route-source 10
#  match security-group source tag 10 20
#  match local-preference 100 50
#  match mpls-label
# route-map test_1 deny 20
#  match track  105
#  match tag list test_match_tag
#  match route-type level-1
#  match additional-paths advertise-set all group-best
#  match as-path 200 100
#  match ipv6 address test_acl_20
#  continue 100
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

- name: Delete all Route maps config
  cisco.ios.ios_route_maps:
    state: deleted

# Commands Fired:
# ---------------
#
#  "commands": [
#         "no route-map test_1",
#         "no route-map test_2"
#     ]

# After state:
# -------------
# router-ios#sh running-config | section ^route-map
# router-ios#

# Using merged

# Before state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# router-ios#

- name: Merge provided Route maps configuration
  cisco.ios.ios_route_maps:
    config:
      - route_map: test_1
        entries:
          - sequence: 10
            action: deny
            description: this is test route
            match:
              ip:
                next_hop:
                  prefix_lists:
                    - test_1_new
                    - test_2_new
                route_source:
                  acls:
                    - 10
              security_group:
                source:
                  - 10
                  - 20
              local_preference:
                value:
                  - 50
                  - 100
              mpls_label: true
          - sequence: 20
            action: deny
            continue_entry:
              entry_sequence: 100
            match:
              additional_paths:
                all: true
                group_best: true
              as_path:
                acls:
                  - 100
                  - 200
              ipv6:
                address:
                  acl: test_acl_20
              route_type:
                level_1: true
              tag:
                tag_list:
                  - test_match_tag
              track: 105
      - route_map: test_2
        entries:
          - sequence: 10
            action: deny
            match:
              ipv6:
                address:
                  acl: test_ip_acl
                next_hop:
                  prefix_list: test_new
                route_source:
                  acl: route_src_acl
              security_group:
                source:
                  - 10
                  - 20
              local_preference:
                value:
                  - 55
                  - 105
              mpls_label: true
            set:
              aigp_metric:
                value: 100
              automatic_tag: true
              extcommunity:
                cost:
                  id: 10
                  cost_value: 100
                  pre_bestpath: true
              ip:
                address: 192.0.2.1
                df: 1
                next_hop:
                  recursive:
                    global_route: true
                    address: 198.51.110.1
                  verify_availability:
                    address: 198.51.111.1
                    sequence: 100
                    track: 10
                precedence:
                  critical: true
    state: merged

#  Commands Fired:
#  ---------------
#
#   "commands": [
#      "route-map test_2 deny 10",
#      "match security-group source tag 10 20",
#      "match local-preference 55 105",
#      "match mpls-label",
#      "match ipv6 next-hop prefix-list test_new",
#      "match ipv6 route-source route_src_acl",
#      "match ipv6 address test_ip_acl",
#      "set extcommunity cost pre-bestpath 10 100",
#      "set ip df 1",
#      "set ip next-hop recursive global 198.51.110.1",
#      "set ip next-hop verify-availability 198.51.111.1 100 track 10",
#      "set ip precedence critical",
#      "set ip address prefix-list 192.0.2.1",
#      "set automatic-tag",
#      "set aigp-metric 100",
#      "route-map test_1 deny 20",
#      "continue 100",
#      "match track 105",
#      "match tag list test_match_tag",
#      "match ipv6 address test_acl_20",
#      "match route-type level-1",
#      "match as-path 200 100",
#      "match additional-paths advertise-set all group-best",
#      "route-map test_1 deny 10",
#      "description this is test route",
#      "match security-group source tag 10 20",
#      "match ip next-hop prefix-list test_2_new test_1_new",
#      "match ip route-source 10",
#      "match local-preference 100 50",
#      "match mpls-label"
#     ]

# After state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_1 deny 10
#  description this is test route
#  match ip next-hop prefix-list test_2_new test_1_new
#  match ip route-source 10
#  match security-group source tag 10 20
#  match local-preference 100 50
#  match mpls-label
# route-map test_1 deny 20
#  match track  105
#  match tag list test_match_tag
#  match route-type level-1
#  match additional-paths advertise-set all group-best
#  match as-path 200 100
#  match ipv6 address test_acl_20
#  continue 100
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

# Using overridden

# Before state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_1 deny 10
#  description this is test route
#  match ip next-hop prefix-list test_2_new test_1_new
#  match ip route-source 10
#  match security-group source tag 10 20
#  match local-preference 100 50
#  match mpls-label
# route-map test_1 deny 20
#  match track  105
#  match tag list test_match_tag
#  match route-type level-1
#  match additional-paths advertise-set all group-best
#  match as-path 200 100
#  match ipv6 address test_acl_20
#  continue 100
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

- name: Override provided Route maps configuration
  cisco.ios.ios_route_maps:
    config:
      - route_map: test_1
        entries:
          - sequence: 10
            action: deny
            description: this is override route
            match:
              ip:
                next_hop:
                  acls:
                    - 10
                    - test1_acl
                flowspec:
                  dest_pfx: true
                  acls:
                    - test_acl_1
                    - test_acl_2
              length:
                minimum: 10
                maximum: 100
              metric:
                value: 10
                external: true
              security_group:
                source:
                  - 10
                  - 20
              mpls_label: true
            set:
              extcommunity:
                vpn_distinguisher:
                  address: 192.0.2.1:12
                  additive: true
              metric:
                metric_value: 100
                deviation: plus
                eigrp_delay: 100
                metric_reliability: 10
                metric_bandwidth: 20
                mtu: 30
      - route_map: test_override
        entries:
          - sequence: 10
            action: deny
            match:
              ipv6:
                address:
                  acl: test_acl
                next_hop:
                  prefix_list: test_new
                route_source:
                  acl: route_src_acl
              security_group:
                source:
                  - 15
                  - 20
              local_preference:
                value:
                  - 105
                  - 110
              mpls_label: true
            set:
              aigp_metric:
                value: 100
              automatic_tag: true
              extcommunity:
                cost:
                  id: 10
                  cost_value: 100
                  pre_bestpath: true
              ip:
                address: 192.0.2.1
                df: 1
                next_hop:
                  recursive:
                    global_route: true
                    address: 198.110.51.1
                  verify_availability:
                    address: 198.110.51.2
                    sequence: 100
                    track: 10
                precedence:
                  critical: true
    state: overridden

# Commands Fired:
# ---------------
#
#  "commands": [
#         "no route-map test_2",
#         "route-map test_override deny 10",
#         "match security-group source tag 15 20",
#         "match local-preference 110 105",
#         "match mpls-label",
#         "match ipv6 next-hop prefix-list test_new",
#         "match ipv6 route-source route_src_acl",
#         "match ipv6 address test_acl",
#         "set extcommunity cost pre-bestpath 10 100",
#         "set ip df 1",
#         "set ip next-hop recursive global 198.110.51.1",
#         "set ip next-hop verify-availability 198.110.51.2 100 track 10",
#         "set ip precedence critical",
#         "set ip address prefix-list 192.0.2.1",
#         "set automatic-tag",
#         "set aigp-metric 100",
#         "route-map test_1 deny 10",
#         "no description this is test route",
#         "description this is override route",
#         "match ip flowspec dest-pfx test_acl_1 test_acl_2",
#         "no match ip next-hop prefix-list test_2_new test_1_new",
#         "match ip next-hop test1_acl 10",
#         "no match ip route-source 10",
#         "match metric external 10",
#         "match length 10 100",
#         "no match local-preference 100 50",
#         "set extcommunity vpn-distinguisher 192.0.2.1:12 additive",
#         "set metric 100 +100 10 20 30",
#         "no route-map test_1 deny 20"
#     ]

# After state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_override deny 10
#  match security-group source tag 15 20
#  match local-preference 110 105
#  match mpls-label
#  match ipv6 address test_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.110.51.2 100 track 10
#  set ip next-hop recursive global 198.110.51.1
# route-map test_1 deny 10
#  description this is override route
#  match ip flowspec dest-pfx test_acl_1 test_acl_2
#  match ip next-hop test1_acl 10
#  match security-group source tag 10 20
#  match metric external 10
#  match mpls-label
#  match length 10 100
#  set metric 100 +100 10 20 30
#  set extcommunity vpn-distinguisher 192.0.2.1:12 additive

# Using replaced

# Before state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_1 deny 10
#  description this is test route
#  match ip next-hop prefix-list test_2_new test_1_new
#  match ip route-source 10
#  match security-group source tag 10 20
#  match local-preference 100 50
#  match mpls-label
# route-map test_1 deny 20
#  match track  105
#  match tag list test_match_tag
#  match route-type level-1
#  match additional-paths advertise-set all group-best
#  match as-path 200 100
#  match ipv6 address test_acl_20
#  continue 100
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

- name: Replaced provided Route maps configuration
  cisco.ios.ios_route_maps:
    config:
      - route_map: test_1
        entries:
          - sequence: 10
            action: deny
            description: this is replaced route
            match:
              ip:
                next_hop:
                  acls:
                    - 10
                    - test1_acl
                flowspec:
                  dest_pfx: true
                  acls:
                    - test_acl_1
                    - test_acl_2
              length:
                minimum: 10
                maximum: 100
              metric:
                value: 10
                external: true
              security_group:
                source:
                  - 10
                  - 20
              mpls_label: true
            set:
              extcommunity:
                vpn_distinguisher:
                  address: 192.0.2.1:12
                  additive: true
              metric:
                metric_value: 100
                deviation: plus
                eigrp_delay: 100
                metric_reliability: 10
                metric_bandwidth: 20
                mtu: 30
      - route_map: test_replaced
        entries:
          - sequence: 10
            action: deny
            match:
              ipv6:
                address:
                  acl: test_acl
                next_hop:
                  prefix_list: test_new
                route_source:
                  acl: route_src_acl
              security_group:
                source:
                  - 15
                  - 20
              local_preference:
                value:
                  - 105
                  - 110
              mpls_label: true
            set:
              aigp_metric:
                value: 100
              automatic_tag: true
              extcommunity:
                cost:
                  id: 10
                  cost_value: 100
                  pre_bestpath: true
              ip:
                address: 192.0.2.1
                df: 1
                next_hop:
                  recursive:
                    global_route: true
                    address: 198.110.51.1
                  verify_availability:
                    address: 198.110.51.2
                    sequence: 100
                    track: 10
                precedence:
                  critical: true
    state: replaced

# Commands Fired:
# ---------------
#  "commands": [
#         "route-map test_replaced deny 10",
#         "match security-group source tag 15 20",
#         "match local-preference 110 105",
#         "match mpls-label",
#         "match ipv6 next-hop prefix-list test_new",
#         "match ipv6 route-source route_src_acl",
#         "match ipv6 address test_acl",
#         "set extcommunity cost pre-bestpath 10 100",
#         "set ip df 1",
#         "set ip next-hop recursive global 198.110.51.1",
#         "set ip next-hop verify-availability 198.110.51.2 100 track 10",
#         "set ip precedence critical",
#         "set ip address prefix-list 192.0.2.1",
#         "set automatic-tag",
#         "set aigp-metric 100",
#         "route-map test_1 deny 10",
#         "no description this is test route",
#         "description this is replaced route",
#         "match ip flowspec dest-pfx test_acl_1 test_acl_2",
#         "no match ip next-hop prefix-list test_2_new test_1_new",
#         "match ip next-hop test1_acl 10",
#         "no match ip route-source 10",
#         "match metric external 10",
#         "match length 10 100",
#         "no match local-preference 100 50",
#         "set extcommunity vpn-distinguisher 192.0.2.1:12 additive",
#         "set metric 100 +100 10 20 30",
#         "no route-map test_1 deny 20"
#     ]

# After state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_replaced deny 10
#  match security-group source tag 15 20
#  match local-preference 110 105
#  match mpls-label
#  match ipv6 address test_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.110.51.2 100 track 10
#  set ip next-hop recursive global 198.110.51.1
# route-map test_1 deny 10
#  description this is replaced route
#  match ip flowspec dest-pfx test_acl_1 test_acl_2
#  match ip next-hop test1_acl 10
#  match security-group source tag 10 20
#  match metric external 10
#  match mpls-label
#  match length 10 100
#  set metric 100 +100 10 20 30
#  set extcommunity vpn-distinguisher 192.0.2.1:12 additive
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

# Using Gathered

# Before state:
# -------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_1 deny 10
#  description this is test route
#  match ip next-hop prefix-list test_2_new test_1_new
#  match ip route-source 10
#  match security-group source tag 10 20
#  match local-preference 100 50
#  match mpls-label
# route-map test_1 deny 20
#  match track  105
#  match tag list test_match_tag
#  match route-type level-1
#  match additional-paths advertise-set all group-best
#  match as-path 200 100
#  match ipv6 address test_acl_20
#  continue 100
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

- name: Gather Route maps provided configurations
  cisco.ios.ios_route_maps:
    config:
    state: gathered

# Module Execution Result:
# ------------------------
#
# "gathered": [
#         {
#             "entries": [
#                 {
#                     "action": "deny",
#                     "description": "this is test route",
#                     "match": {
#                         "ip": {
#                             "next_hop": {
#                                 "prefix_lists": [
#                                     "test_2_new",
#                                     "test_1_new"
#                                 ]
#                             },
#                             "route_source": {
#                                 "acls": [
#                                     "10"
#                                 ]
#                             }
#                         },
#                         "local_preference": {
#                             "value": [
#                                 "100",
#                                 "50"
#                             ]
#                         },
#                         "mpls_label": true,
#                         "security_group": {
#                             "source": [
#                                 10,
#                                 20
#                             ]
#                         }
#                     },
#                     "sequence": 10
#                 },
#                 {
#                     "action": "deny",
#                     "continue_entry": {
#                         "entry_sequence": 100
#                     },
#                     "match": {
#                         "additional_paths": {
#                             "all": true,
#                             "group_best": true
#                         },
#                         "as_path": {
#                             "acls": [
#                                 200,
#                                 100
#                             ]
#                         },
#                         "ipv6": {
#                             "address": {
#                                 "acl": "test_acl_20"
#                             }
#                         },
#                         "route_type": {
#                             "external": {
#                                 "set": true
#                             },
#                             "level_1": true,
#                             "nssa_external": {
#                                 "set": true
#                             }
#                         },
#                         "tag": {
#                             "tag_list": [
#                                 "test_match_tag"
#                             ]
#                         },
#                         "track": 105
#                     },
#                     "sequence": 20
#                 }
#             ],
#             "route_map": "test_1"
#         },
#         {
#             "entries": [
#                 {
#                     "action": "deny",
#                     "match": {
#                         "ipv6": {
#                             "address": {
#                                 "acl": "test_ip_acl"
#                             },
#                             "next_hop": {
#                                 "prefix_list": "test_new"
#                             },
#                             "route_source": {
#                                 "acl": "route_src_acl"
#                             }
#                         },
#                         "local_preference": {
#                             "value": [
#                                 "55",
#                                 "105"
#                             ]
#                         },
#                         "mpls_label": true,
#                         "security_group": {
#                             "source": [
#                                 10,
#                                 20
#                             ]
#                         }
#                     },
#                     "sequence": 10,
#                     "set": {
#                         "aigp_metric": {
#                             "value": 100
#                         },
#                         "automatic_tag": true,
#                         "extcommunity": {
#                             "cost": {
#                                 "cost_value": 100,
#                                 "id": "10",
#                                 "pre_bestpath": true
#                             }
#                         },
#                         "ip": {
#                             "address": "192.0.2.1",
#                             "df": 1,
#                             "next_hop": {
#                                 "recursive": {
#                                     "address": "198.51.110.1",
#                                     "global_route": true
#                                 },
#                                 "verify_availability": {
#                                     "address": "198.51.111.1",
#                                     "sequence": 100,
#                                     "track": 10
#                                 }
#                             },
#                             "precedence": {
#                                 "critical": true
#                             }
#                         }
#                     }
#                 }
#             ],
#             "route_map": "test_2"
#         }
#     ]

# After state:
# ------------
#
# router-ios#sh running-config | section ^route-map
# route-map test_1 deny 10
#  description this is test route
#  match ip next-hop prefix-list test_2_new test_1_new
#  match ip route-source 10
#  match security-group source tag 10 20
#  match local-preference 100 50
#  match mpls-label
# route-map test_1 deny 20
#  match track  105
#  match tag list test_match_tag
#  match route-type level-1
#  match additional-paths advertise-set all group-best
#  match as-path 200 100
#  match ipv6 address test_acl_20
#  continue 100
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

# Using Rendered

- name: Render the commands for provided  configuration
  cisco.ios.ios_route_maps:
    config:
      - route_map: test_1
        entries:
          - sequence: 10
            action: deny
            description: this is test route
            match:
              ip:
                next_hop:
                  prefix_lists:
                    - test_1_new
                    - test_2_new
                route_source:
                  acls:
                    - 10
              security_group:
                source:
                  - 10
                  - 20
              local_preference:
                value:
                  - 50
                  - 100
              mpls_label: true
          - sequence: 20
            action: deny
            continue_entry:
              entry_sequence: 100
            match:
              additional_paths:
                all: true
                group_best: true
              as_path:
                acls:
                  - 100
                  - 200
              ipv6:
                address:
                  acl: test_acl_20
              route_type:
                level_1: true
              tag:
                tag_list:
                  - test_match_tag
              track: 105
      - route_map: test_2
        entries:
          - sequence: 10
            action: deny
            match:
              ipv6:
                address:
                  acl: test_ip_acl
                next_hop:
                  prefix_list: test_new
                route_source:
                  acl: route_src_acl
              security_group:
                source:
                  - 10
                  - 20
              local_preference:
                value:
                  - 55
                  - 105
              mpls_label: true
            set:
              aigp_metric:
                value: 100
              automatic_tag: true
              extcommunity:
                cost:
                  id: 10
                  cost_value: 100
                  pre_bestpath: true
              ip:
                address: 192.0.2.1
                df: 1
                next_hop:
                  recursive:
                    global_route: true
                    address: 198.51.110.1
                  verify_availability:
                    address: 198.51.111.1
                    sequence: 100
                    track: 10
                precedence:
                  critical: true
    state: rendered

# Module Execution Result:
# ------------------------
#
#  "rendered": [
#      "route-map test_2 deny 10",
#      "match security-group source tag 10 20",
#      "match local-preference 55 105",
#      "match mpls-label",
#      "match ipv6 next-hop prefix-list test_new",
#      "match ipv6 route-source route_src_acl",
#      "match ipv6 address test_ip_acl",
#      "set extcommunity cost pre-bestpath 10 100",
#      "set ip df 1",
#      "set ip next-hop recursive global 198.51.110.1",
#      "set ip next-hop verify-availability 198.51.111.1 100 track 10",
#      "set ip precedence critical",
#      "set ip address prefix-list 192.0.2.1",
#      "set automatic-tag",
#      "set aigp-metric 100",
#      "route-map test_1 deny 20",
#      "continue 100",
#      "match track 105",
#      "match tag list test_match_tag",
#      "match ipv6 address test_acl_20",
#      "match route-type level-1",
#      "match as-path 200 100",
#      "match additional-paths advertise-set all group-best",
#      "route-map test_1 deny 10",
#      "description this is test route",
#      "match security-group source tag 10 20",
#      "match ip next-hop prefix-list test_2_new test_1_new",
#      "match ip route-source 10",
#      "match local-preference 100 50",
#      "match mpls-label"
#     ]

# Using Parsed

# File: parsed.cfg
# ----------------
#
# route-map test_1 deny 10
#  description this is test route
#  match ip next-hop prefix-list test_2_new test_1_new
#  match ip route-source 10
#  match security-group source tag 10 20
#  match local-preference 100 50
#  match mpls-label
# route-map test_1 deny 20
#  match track  105
#  match tag list test_match_tag
#  match route-type level-1
#  match additional-paths advertise-set all group-best
#  match as-path 200 100
#  match ipv6 address test_acl_20
#  continue 100
# route-map test_2 deny 10
#  match security-group source tag 10 20
#  match local-preference 55 105
#  match mpls-label
#  match ipv6 address test_ip_acl
#  match ipv6 next-hop prefix-list test_new
#  match ipv6 route-source route_src_acl
#  set automatic-tag
#  set ip precedence critical
#  set ip address prefix-list 192.0.2.1
#  set aigp-metric 100
#  set extcommunity cost pre-bestpath 10 100
#  set ip df 1
#  set ip next-hop verify-availability 198.51.111.1 100 track 10
#  set ip next-hop recursive global 198.51.110.1

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

# Module Execution Result:
# ------------------------
#
# "parsed": [
#         {
#             "entries": [
#                 {
#                     "action": "deny",
#                     "description": "this is test route",
#                     "match": {
#                         "ip": {
#                             "next_hop": {
#                                 "prefix_lists": [
#                                     "test_2_new",
#                                     "test_1_new"
#                                 ]
#                             },
#                             "route_source": {
#                                 "acls": [
#                                     "10"
#                                 ]
#                             }
#                         },
#                         "local_preference": {
#                             "value": [
#                                 "100",
#                                 "50"
#                             ]
#                         },
#                         "mpls_label": true,
#                         "security_group": {
#                             "source": [
#                                 10,
#                                 20
#                             ]
#                         }
#                     },
#                     "sequence": 10
#                 },
#                 {
#                     "action": "deny",
#                     "continue_entry": {
#                         "entry_sequence": 100
#                     },
#                     "match": {
#                         "additional_paths": {
#                             "all": true,
#                             "group_best": true
#                         },
#                         "as_path": {
#                             "acls": [
#                                 200,
#                                 100
#                             ]
#                         },
#                         "ipv6": {
#                             "address": {
#                                 "acl": "test_acl_20"
#                             }
#                         },
#                         "route_type": {
#                             "external": {
#                                 "set": true
#                             },
#                             "level_1": true,
#                             "nssa_external": {
#                                 "set": true
#                             }
#                         },
#                         "tag": {
#                             "tag_list": [
#                                 "test_match_tag"
#                             ]
#                         },
#                         "track": 105
#                     },
#                     "sequence": 20
#                 }
#             ],
#             "route_map": "test_1"
#         },
#         {
#             "entries": [
#                 {
#                     "action": "deny",
#                     "match": {
#                         "ipv6": {
#                             "address": {
#                                 "acl": "test_ip_acl"
#                             },
#                             "next_hop": {
#                                 "prefix_list": "test_new"
#                             },
#                             "route_source": {
#                                 "acl": "route_src_acl"
#                             }
#                         },
#                         "local_preference": {
#                             "value": [
#                                 "55",
#                                 "105"
#                             ]
#                         },
#                         "mpls_label": true,
#                         "security_group": {
#                             "source": [
#                                 10,
#                                 20
#                             ]
#                         }
#                     },
#                     "sequence": 10,
#                     "set": {
#                         "aigp_metric": {
#                             "value": 100
#                         },
#                         "automatic_tag": true,
#                         "extcommunity": {
#                             "cost": {
#                                 "cost_value": 100,
#                                 "id": "10",
#                                 "pre_bestpath": true
#                             }
#                         },
#                         "ip": {
#                             "address": "192.0.2.1",
#                             "df": 1,
#                             "next_hop": {
#                                 "recursive": {
#                                     "address": "198.51.110.1",
#                                     "global_route": true
#                                 },
#                                 "verify_availability": {
#                                     "address": "198.51.111.1",
#                                     "sequence": 100,
#                                     "track": 10
#                                 }
#                             },
#                             "precedence": {
#                                 "critical": true
#                             }
#                         }
#                     }
#                 }
#             ],
#             "route_map": "test_2"
#         }
#     ]

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
after
list / elements=string
when changed
The resulting configuration model invocation.

Sample:
The configuration returned will always be in the same format of the parameters above.
before
list / elements=string
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:
['route-map test_1 deny 10', 'description this is test route', 'match ip route-source 10', 'match track 105']


Authors

  • Sumit Jaiswal (@justjais)