cisco.iosxr.iosxr_static_routes 模块 – 配置静态路由的资源模块。

注意

此模块是 cisco.iosxr 集合 (版本 10.2.2) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install cisco.iosxr

要在 playbook 中使用它,请指定: cisco.iosxr.iosxr_static_routes

cisco.iosxr 1.0.0 中的新增功能

概要

  • 此模块管理运行 Cisco IOS-XR 的设备上的静态路由。

参数

参数

注释

config

列表 / 元素=字典

静态路由选项的字典。

address_families

列表 / 元素=字典

指定静态路由所属的地址族的字典。

afi

字符串 / 必需

指定顶级地址族指示符。

选项

  • "ipv4"

  • "ipv6"

routes

列表 / 元素=字典

指定静态路由配置的字典。

dest

字符串 / 必需

以 CIDR 表示法表示的 IPv4 或 IPv6 地址,指定静态路由的目标网络。

next_hops

列表 / 元素=字典

到指定目标的下一跳。

admin_distance

整数

此静态路由的管理距离。

请参阅供应商文档以了解有效值。

description

字符串

指定此静态路由的描述。

dest_vrf

字符串

目标 VRF。

forward_router_address

字符串

可用于到达目标网络的下一跳的 IP 地址。

interface

字符串

用于到达目标的接口。

metric

整数

指定此静态路由的度量。

请参阅供应商文档以了解有效值。

tag

整数

指定此静态路由的数字标签。

请参阅供应商文档以了解有效值。

track

字符串

指定要跟踪的对象。

这将启用静态路由的对象跟踪。

tunnel_id

整数

指定路由的隧道 ID。

请参阅供应商文档以了解有效值。

vrflabel

整数

指定此静态路由的 VRF 标签。

请参阅供应商文档以了解有效值。

safi

字符串 / 必需

指定后续地址族指示符。

选项

  • "unicast"

  • "multicast"

vrf

字符串

静态路由所属的 VRF。

running_config

字符串

此选项仅与状态 *parsed* 一起使用。

此选项的值应为通过执行命令 **show running-config router static** 从 IOS-XR 设备接收到的输出。

状态 *parsed* 从 running_config 选项读取配置并将其转换为 Ansible 结构化数据,该数据符合资源模块的 argspec,然后该值在结果中的 *parsed* 键中返回。

state

字符串

配置应保留的状态。

选项

  • "merged" ← (默认)

  • "replaced"

  • "overridden"

  • "deleted"

  • "gathered"

  • "rendered"

  • "parsed"

示例

# Using merged

# Before state
# -------------
# RP/0/RP0/CPU0:ios#show running-config router static
# Sat Feb 22 07:46:30.089 UTC
# % No such configuration item(s)
#
- name: Merge the provided configuration with the existing running configuration
  cisco.iosxr.iosxr_static_routes:
    config:
      - address_families:
          - afi: ipv4
            safi: unicast
            routes:
              - dest: 192.0.2.16/28
                next_hops:
                  - forward_router_address: 192.0.2.10
                    interface: FastEthernet0/0/0/1
                    description: LAB
                    metric: 120
                    tag: 10
                  - interface: FastEthernet0/0/0/5
                    track: ip_sla_1
              - dest: 192.0.2.32/28
                next_hops:
                  - forward_router_address: 192.0.2.11
                    admin_distance: 100
          - afi: ipv6
            safi: unicast
            routes:
              - dest: '2001:db8:1000::/36'
                next_hops:
                  - interface: FastEthernet0/0/0/7
                    description: DC
                  - interface: FastEthernet0/0/0/8
                    forward_router_address: '2001:db8:2000:2::1'
      - vrf: DEV_SITE
        address_families:
          - afi: ipv4
            safi: unicast
            routes:
              - dest: 192.0.2.48/28
                next_hops:
                  - forward_router_address: 192.0.2.12
                    description: DEV
                    dest_vrf: test_1
              - dest: 192.0.2.80/28
                next_hops:
                  - interface: FastEthernet0/0/0/2
                    forward_router_address: 192.0.2.14
                    dest_vrf: test_1
                    track: ip_sla_2
                    vrflabel: 124
    state: merged


# Task Output
# -----------
# before: []
# commands:
# - router static
# - address-family ipv4 unicast
# - 192.0.2.16/28 192.0.2.10 FastEthernet0/0/0/1 description LAB metric 120 tag 10
# - 192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
# - 192.0.2.32/28 192.0.2.11 100
# - address-family ipv6 unicast
# - 2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
# - 2001:db8:1000::/36 2001:db8:2000:2::1 FastEthernet0/0/0/8
# - vrf DEV_SITE
# - address-family ipv4 unicast
# - 192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
# - 192.0.2.80/28 vrf test_1 192.0.2.14 FastEthernet0/0/0/2 track ip_sla_2 vrflabel 124
# after:
#   - address_families:
#       - afi: ipv4
#         routes:
#           - dest: 192.0.2.16/28
#             next_hops:
#               - description: LAB
#                 forward_router_address: 192.0.2.10
#                 interface: FastEthernet0/0/0/1
#                 metric: 120
#                 tag: 10
#               - interface: FastEthernet0/0/0/5
#                 track: ip_sla_1
#           - dest: 192.0.2.32/28
#             next_hops:
#               - admin_distance: 100
#                 forward_router_address: 192.0.2.11
#         safi: unicast
#       - afi: ipv6
#         routes:
#           - dest: 2001:db8:1000::/36
#             next_hops:
#               - description: DC
#                 interface: FastEthernet0/0/0/7
#               - forward_router_address: 2001:db8:2000:2::1
#                 interface: FastEthernet0/0/0/8
#         safi: unicast
#   - address_families:
#       - afi: ipv4
#         routes:
#           - dest: 192.0.2.48/28
#             next_hops:
#               - description: DEV
#                 dest_vrf: test_1
#                 forward_router_address: 192.0.2.12
#           - dest: 192.0.2.80/28
#             next_hops:
#               - dest_vrf: test_1
#                 forward_router_address: 192.0.2.14
#                 interface: FastEthernet0/0/0/2
#                 track: ip_sla_2
#                 vrflabel: 124
#         safi: unicast
#     vrf: DEV_SITE


#
# After state
# -------------
# RP/0/RP0/CPU0:ios#show running-config router static
# Sat Feb 22 07:49:11.754 UTC
# router static
#  address-family ipv4 unicast
#   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
#   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
#   192.0.2.32/28 192.0.2.11 100
#  !
#  address-family ipv6 unicast
#   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
#   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
#  !
#  vrf DEV_SITE
#   address-family ipv4 unicast
#    192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
#    192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
#   !
#  !
# !

# Using merged to update existing static routes

# Before state
# -------------
# RP/0/RP0/CPU0:ios#show running-config router static
# Sat Feb 22 07:49:11.754 UTC
# router static
#  address-family ipv4 unicast
#   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
#   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
#   192.0.2.32/28 192.0.2.11 100
#  !
#  address-family ipv6 unicast
#   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
#   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
#  !
#  vrf DEV_SITE
#   address-family ipv4 unicast
#    192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
#    192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
#   !
#  !
# !

- name: Update existing static routes configuration using merged
  cisco.iosxr.iosxr_static_routes:
    config:
      - vrf: DEV_SITE
        address_families:
          - afi: ipv4
            safi: unicast
            routes:
              - dest: 192.0.2.48/28
                next_hops:
                  - forward_router_address: 192.0.2.12
                    vrflabel: 2301
                    dest_vrf: test_1
              - dest: 192.0.2.80/28
                next_hops:
                  - interface: FastEthernet0/0/0/2
                    forward_router_address: 192.0.2.14
                    dest_vrf: test_1
                    description: rt_test_1
    state: merged

# Task Output
# -----------
# before:
#   - address_families:
#       - afi: ipv4
#         routes:
#           - dest: 192.0.2.16/28
#             next_hops:
#               - description: LAB
#                 forward_router_address: 192.0.2.10
#                 interface: FastEthernet0/0/0/1
#                 metric: 120
#                 tag: 10
#               - interface: FastEthernet0/0/0/5
#                 track: ip_sla_1
#           - dest: 192.0.2.32/28
#             next_hops:
#               - admin_distance: 100
#                 forward_router_address: 192.0.2.11
#         safi: unicast
#       - afi: ipv6
#         routes:
#           - dest: 2001:db8:1000::/36
#             next_hops:
#               - description: DC
#                 interface: FastEthernet0/0/0/7
#               - forward_router_address: 2001:db8:2000:2::1
#                 interface: FastEthernet0/0/0/8
#         safi: unicast
#   - address_families:
#       - afi: ipv4
#         routes:
#           - dest: 192.0.2.48/28
#             next_hops:
#               - description: DEV
#                 dest_vrf: test_1
#                 forward_router_address: 192.0.2.12
#           - dest: 192.0.2.80/28
#             next_hops:
#               - dest_vrf: test_1
#                 forward_router_address: 192.0.2.14
#                 interface: FastEthernet0/0/0/2
#                 track: ip_sla_2
#                 vrflabel: 124
#         safi: unicast
#     vrf: DEV_SITE
# commands:
# - router static
# - vrf DEV_SITE
# - address-family ipv4 unicast
# - 192.0.2.48/28 vrf test_1 192.0.2.12 description DEV vrflabel 2301
# - 192.0.2.80/28 vrf test_1 192.0.2.14 FastEthernet0/0/0/2 description rt_test_1 track ip_sla_2 vrflabel 124
# after:
#   - address_families:
#       - afi: ipv4
#         routes:
#           - dest: 192.0.2.16/28
#             next_hops:
#               - description: LAB
#                 forward_router_address: 192.0.2.10
#                 interface: FastEthernet0/0/0/1
#                 metric: 120
#                 tag: 10
#               - interface: FastEthernet0/0/0/5
#                 track: ip_sla_1
#           - dest: 192.0.2.32/28
#             next_hops:
#               - admin_distance: 100
#                 forward_router_address: 192.0.2.11
#         safi: unicast
#       - afi: ipv6
#         routes:
#           - dest: 2001:db8:1000::/36
#             next_hops:
#               - description: DC
#                 interface: FastEthernet0/0/0/7
#               - forward_router_address: 2001:db8:2000:2::1
#                 interface: FastEthernet0/0/0/8
#         safi: unicast
#   - address_families:
#       - afi: ipv4
#         routes:
#           - dest: 192.0.2.48/28
#             next_hops:
#               - description: DEV
#                 dest_vrf: test_1
#                 forward_router_address: 192.0.2.12
#                 vrflabel: 2301
#           - dest: 192.0.2.80/28
#             next_hops:
#               - description: rt_test_1
#                 dest_vrf: test_1
#                 forward_router_address: 192.0.2.14
#                 interface: FastEthernet0/0/0/2
#                 track: ip_sla_2
#                 vrflabel: 124
#         safi: unicast
#     vrf: DEV_SITE

# After state
# -------------
# RP/0/RP0/CPU0:ios#show running-config router static
# Sat Feb 22 07:49:11.754 UTC
# router static
#  address-family ipv4 unicast
#   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
#   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
#   192.0.2.32/28 192.0.2.11 100
#  !
#  address-family ipv6 unicast
#   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
#   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
#  !
#  vrf DEV_SITE
#   address-family ipv4 unicast
#    192.0.2.48/28 vrf test_1 192.0.2.12 description DEV vrflabel 2301
#    192.0.2.80/28 vrf test_1 192.0.2.14 FastEthernet0/0/0/2 description rt_test_1 track ip_sla_2 vrflabel 124
#   !
#  !
# !

# Using replaced to replace all next hop entries for a single destination network

# Before state
# --------------

# RP/0/RP0/CPU0:ios#sh running-config router static
# Sat Feb 22 07:59:08.669 UTC
# router static
#  address-family ipv4 unicast
#   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
#   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
#   192.0.2.32/28 192.0.2.11 100
#  !
#  address-family ipv6 unicast
#   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
#   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
#  !
#  vrf DEV_SITE
#   address-family ipv4 unicast
#    192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
#    192.0.2.48/28 GigabitEthernet0/0/0/1 192.0.3.24 vrflabel 2302
#    192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
#   !
#  !
# !

- name: Replace device configurations of static routes with provided configurations
  cisco.iosxr.iosxr_static_routes:
    config:
      - vrf: DEV_SITE
        address_families:
          - afi: ipv4
            safi: unicast
            routes:
              - dest: 192.0.2.48/28
                next_hops:
                  - forward_router_address: 192.0.2.15
                    interface: FastEthernet0/0/0/3
                    description: DEV_NEW
                    dest_vrf: dev_test_2
    state: replaced

# Task Output
# -----------
# before:
#   - address_families:
#       - afi: ipv4
#         routes:
#           - dest: 0.0.0.0/0
#             next_hops:
#               - forward_router_address: 10.0.151.254
#                 interface: MgmtEth0
#           - dest: 192.0.2.16/28
#             next_hops:
#               - description: LAB
#                 forward_router_address: 192.0.2.10
#                 interface: FastEthernet0/0/0/1
#                 metric: 120
#                 tag: 10
#               - interface: FastEthernet0/0/0/5
#                 track: ip_sla_1
#           - dest: 192.0.2.32/28
#             next_hops:
#               - admin_distance: 100
#                 forward_router_address: 192.0.2.11
#         safi: unicast
#       - afi: ipv6
#         routes:
#           - dest: 2001:db8:1000::/36
#             next_hops:
#               - description: DC
#                 interface: FastEthernet0/0/0/7
#               - forward_router_address: 2001:db8:2000:2::1
#                 interface: FastEthernet0/0/0/8
#         safi: unicast
#   - address_families:
#       - afi: ipv4
#         routes:
#           - dest: 192.0.2.48/28
#             next_hops:
#               - description: DEV
#                 dest_vrf: test_1
#                 forward_router_address: 192.0.2.12
#               - forward_router_address: 192.0.3.24
#                 interface: GigabitEthernet0/0/0/1
#                 vrflabel: 2302
#           - dest: 192.0.2.80/28
#             next_hops:
#               - dest_vrf: test_1
#                 forward_router_address: 192.0.2.14
#                 interface: FastEthernet0/0/0/2
#                 track: ip_sla_2
#                 vrflabel: 124
#         safi: unicast
#     vrf: DEV_SITE
# commands:
# - router static
# - vrf DEV_SITE
# - address-family ipv4 unicast
# - no 192.0.2.48/28 vrf test_1 192.0.2.12
# - no 192.0.2.48/28 192.0.3.24 GigabitEthernet0/0/0/1
# - 192.0.2.48/28 vrf dev_test_2 192.0.2.15 FastEthernet0/0/0/3 description DEV_NEW
# after:
#   - address_families:
#       - afi: ipv4
#         routes:
#           - dest: 192.0.2.16/28
#             next_hops:
#               - description: LAB
#                 forward_router_address: 192.0.2.10
#                 interface: FastEthernet0/0/0/1
#                 metric: 120
#                 tag: 10
#               - interface: FastEthernet0/0/0/5
#                 track: ip_sla_1
#           - dest: 192.0.2.32/28
#             next_hops:
#               - admin_distance: 100
#                 forward_router_address: 192.0.2.11
#         safi: unicast
#       - afi: ipv6
#         routes:
#           - dest: 2001:db8:1000::/36
#             next_hops:
#               - description: DC
#                 interface: FastEthernet0/0/0/7
#               - forward_router_address: 2001:db8:2000:2::1
#                 interface: FastEthernet0/0/0/8
#         safi: unicast
#   - address_families:
#       - afi: ipv4
#         routes:
#           - dest: 192.0.2.48/28
#             next_hops:
#               - description: DEV_NEW
#                 dest_vrf: dev_test_2
#                 forward_router_address: 192.0.2.15
#                 interface: FastEthernet0/0/0/3
#           - dest: 192.0.2.80/28
#             next_hops:
#               - dest_vrf: test_1
#                 forward_router_address: 192.0.2.14
#                 interface: FastEthernet0/0/0/2
#                 track: ip_sla_2
#                 vrflabel: 124
#         safi: unicast
#     vrf: DEV_SITE

# After state
# ------------
# RP/0/RP0/CPU0:ios#sh running-config router static
# Sat Feb 22 08:04:07.085 UTC
# router static
#  address-family ipv4 unicast
#   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
#   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
#   192.0.2.32/28 192.0.2.11 100
#  !
#  address-family ipv6 unicast
#   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
#   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
#  !
#  vrf DEV_SITE
#   address-family ipv4 unicast
#    192.0.2.48/28 vrf dev_test_2 FastEthernet0/0/0/3 192.0.2.15 description DEV_NEW
#    192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
#   !
#  !
# !

# Using overridden to override all static route entries on the device

# Before state
# -------------
# RP/0/RP0/CPU0:ios#sh running-config router static
# Sat Feb 22 07:59:08.669 UTC
# router static
#  address-family ipv4 unicast
#   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
#   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
#   192.0.2.32/28 192.0.2.11 100
#  !
#  address-family ipv6 unicast
#   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
#   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
#  !
#  vrf DEV_SITE
#   address-family ipv4 unicast
#    192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
#    192.0.2.48/28 GigabitEthernet0/0/0/1 192.0.3.24 vrflabel 2302
#    192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
#   !
#  !
# !

- name: Overridde all static routes configuration with provided configuration
  cisco.iosxr.iosxr_static_routes:
    config:
      - vrf: DEV_NEW
        address_families:
          - afi: ipv4
            safi: unicast
            routes:
              - dest: 192.0.2.48/28
                next_hops:
                  - forward_router_address: 192.0.2.15
                    interface: FastEthernet0/0/0/3
                    description: DEV1
          - afi: ipv6
            safi: unicast
            routes:
              - dest: '2001:db8:3000::/36'
                next_hops:
                  - interface: FastEthernet0/0/0/4
                    forward_router_address: '2001:db8:2000:2::2'
                    description: PROD1
                    track: ip_sla_1
    state: overridden

# Task Output
# -----------
# before:
#     - address_families:
#         - afi: ipv4
#           routes:
#             - dest: 192.0.2.16/28
#               next_hops:
#                 - description: LAB
#                   forward_router_address: 192.0.2.10
#                   interface: FastEthernet0/0/0/1
#                   metric: 120
#                   tag: 10
#                 - interface: FastEthernet0/0/0/5
#                   track: ip_sla_1
#             - dest: 192.0.2.32/28
#               next_hops:
#                 - admin_distance: 100
#                   forward_router_address: 192.0.2.11
#           safi: unicast
#         - afi: ipv6
#           routes:
#             - dest: 2001:db8:1000::/36
#               next_hops:
#                 - description: DC
#                   interface: FastEthernet0/0/0/7
#                 - forward_router_address: 2001:db8:2000:2::1
#                   interface: FastEthernet0/0/0/8
#           safi: unicast
#     - address_families:
#         - afi: ipv4
#           routes:
#             - dest: 192.0.2.48/28
#               next_hops:
#                 - description: DEV
#                   dest_vrf: test_1
#                   forward_router_address: 192.0.2.12
#                 - forward_router_address: 192.0.3.24
#                   interface: GigabitEthernet0/0/0/1
#                   vrflabel: 2302
#             - dest: 192.0.2.80/28
#               next_hops:
#                 - dest_vrf: test_1
#                   forward_router_address: 192.0.2.14
#                   interface: FastEthernet0/0/0/2
#                   track: ip_sla_2
#                   vrflabel: 124
#           safi: unicast
#       vrf: DEV_SITE
# commands:
#     - router static
#     - no vrf DEV_SITE
#     - no address-family ipv4 unicast
#     - no address-family ipv6 unicast
#     - vrf DEV_NEW
#     - address-family ipv4 unicast
#     - 192.0.2.48/28 192.0.2.15 FastEthernet0/0/0/3 description DEV1
#     - address-family ipv6 unicast
#     - 2001:db8:3000::/36 2001:db8:2000:2::2 FastEthernet0/0/0/4 description PROD1
#       track ip_sla_1
# after:
#     - vrf: DEV_NEW
#       address_families:
#         - afi: ipv4
#           safi: unicast
#           routes:
#             - dest: 192.0.2.48/28
#               next_hops:
#                 - forward_router_address: 192.0.2.15
#                   interface: FastEthernet0/0/0/3
#                   description: DEV1
#         - afi: ipv6
#           safi: unicast
#           routes:
#             - dest: 2001:db8:3000::/36
#               next_hops:
#                 - interface: FastEthernet0/0/0/4
#                   forward_router_address: 2001:db8:2000:2::2
#                   description: PROD1
#                   track: ip_sla_1

# After state
# -------------
# RP/0/RP0/CPU0:ios#sh running-config router static
# Sat Feb 22 08:07:41.516 UTC
# router static
#  vrf DEV_NEW
#   address-family ipv4 unicast
#    192.0.2.48/28 FastEthernet0/0/0/3 192.0.2.15 description DEV1
#   !
#   address-family ipv6 unicast
#    2001:db8:3000::/36 FastEthernet0/0/0/4 2001:db8:2000:2::2 description PROD1 track ip_sla_1
#   !
#  !
# !

# Using deleted to delete all destination network entries under a single AFI

# Before state
# -------------
# RP/0/RP0/CPU0:ios#sh running-config router static
# Sat Feb 22 07:59:08.669 UTC
# router static
#  address-family ipv4 unicast
#   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
#   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
#   192.0.2.32/28 192.0.2.11 100
#  !
#  address-family ipv6 unicast
#   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
#   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
#  !
#  vrf DEV_SITE
#   address-family ipv4 unicast
#    192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
#    192.0.2.48/28 GigabitEthernet0/0/0/1 192.0.3.24 vrflabel 2302
#    192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
#   !
#  !
# !

- name: Delete all destination network entries under a single AFI
  cisco.iosxr.iosxr_static_routes:
    config:
      - vrf: DEV_SITE
        address_families:
          - afi: ipv4
            safi: unicast
    state: deleted

# Task output
# -----------------------
# before:
#     - address_families:
#         - afi: ipv4
#           routes:
#             - dest: 192.0.2.16/28
#               next_hops:
#                 - description: LAB
#                   forward_router_address: 192.0.2.10
#                   interface: FastEthernet0/0/0/1
#                   metric: 120
#                   tag: 10
#                 - interface: FastEthernet0/0/0/5
#                   track: ip_sla_1
#             - dest: 192.0.2.32/28
#               next_hops:
#                 - admin_distance: 100
#                   forward_router_address: 192.0.2.11
#           safi: unicast
#         - afi: ipv6
#           routes:
#             - dest: 2001:db8:1000::/36
#               next_hops:
#                 - description: DC
#                   interface: FastEthernet0/0/0/7
#                 - forward_router_address: 2001:db8:2000:2::1
#                   interface: FastEthernet0/0/0/8
#           safi: unicast
#     - address_families:
#         - afi: ipv4
#           routes:
#             - dest: 192.0.2.48/28
#               next_hops:
#                 - description: DEV
#                   dest_vrf: test_1
#                   forward_router_address: 192.0.2.12
#                 - forward_router_address: 192.0.3.24
#                   interface: GigabitEthernet0/0/0/1
#                   vrflabel: 2302
#             - dest: 192.0.2.80/28
#               next_hops:
#                 - dest_vrf: test_1
#                   forward_router_address: 192.0.2.14
#                   interface: FastEthernet0/0/0/2
#                   track: ip_sla_2
#                   vrflabel: 124
#           safi: unicast
#       vrf: DEV_SITE
# commands:
#  - router static
#  - vrf DEV_SITE
#  - no address-family ipv4 unicast
# after:
#     - address_families:
#         - afi: ipv4
#           routes:
#             - dest: 192.0.2.16/28
#               next_hops:
#                 - description: LAB
#                   forward_router_address: 192.0.2.10
#                   interface: FastEthernet0/0/0/1
#                   metric: 120
#                   tag: 10
#                 - interface: FastEthernet0/0/0/5
#                   track: ip_sla_1
#             - dest: 192.0.2.32/28
#               next_hops:
#                 - admin_distance: 100
#                   forward_router_address: 192.0.2.11
#           safi: unicast
#         - afi: ipv6
#           routes:
#             - dest: 2001:db8:1000::/36
#               next_hops:
#                 - description: DC
#                   interface: FastEthernet0/0/0/7
#                 - forward_router_address: 2001:db8:2000:2::1
#                   interface: FastEthernet0/0/0/8
#           safi: unicast
#     - address_families:
#         - afi: ipv4
#           routes:
#             - dest: 192.0.2.48/28
#               next_hops:
#                 - description: DEV
#                   dest_vrf: test_1
#                   forward_router_address: 192.0.2.12
#                 - forward_router_address: 192.0.3.24
#                   interface: GigabitEthernet0/0/0/1
#                   vrflabel: 2302
#             - dest: 192.0.2.80/28
#               next_hops:
#                 - dest_vrf: test_1
#                   forward_router_address: 192.0.2.14
#                   interface: FastEthernet0/0/0/2
#                   track: ip_sla_2
#                   vrflabel: 124
#           safi: unicast
#     - vrf: DEV_SITE

# After state
# ------------

# RP/0/RP0/CPU0:ios#sh running-config router static
# Sat Feb 22 08:16:41.464 UTC
# router static
#  address-family ipv4 unicast
#   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
#   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
#   192.0.2.32/28 192.0.2.11 100
#  !
#  address-family ipv6 unicast
#   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
#   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
#  !
#  vrf DEV_SITE
#  !
# !

# Using deleted to remove all static route entries from the device

# Before state
# -------------
# RP/0/RP0/CPU0:ios#sh running-config router static
# Sat Feb 22 07:59:08.669 UTC
# router static
#  address-family ipv4 unicast
#   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
#   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
#   192.0.2.32/28 192.0.2.11 100
#  !
#  address-family ipv6 unicast
#   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
#   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
#  !
#  vrf DEV_SITE
#   address-family ipv4 unicast
#    192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
#    192.0.2.48/28 GigabitEthernet0/0/0/1 192.0.3.24 vrflabel 2302
#    192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
#   !
#  !
# !

- name: Delete static routes configuration
  cisco.iosxr.iosxr_static_routes:
    state: deleted

# Task output
# -----------------------
# before:
#     - address_families:
#         - afi: ipv4
#           routes:
#             - dest: 192.0.2.16/28
#               next_hops:
#                 - description: LAB
#                   forward_router_address: 192.0.2.10
#                   interface: FastEthernet0/0/0/1
#                   metric: 120
#                   tag: 10
#                 - interface: FastEthernet0/0/0/5
#                   track: ip_sla_1
#             - dest: 192.0.2.32/28
#               next_hops:
#                 - admin_distance: 100
#                   forward_router_address: 192.0.2.11
#           safi: unicast
#         - afi: ipv6
#           routes:
#             - dest: 2001:db8:1000::/36
#               next_hops:
#                 - description: DC
#                   interface: FastEthernet0/0/0/7
#                 - forward_router_address: 2001:db8:2000:2::1
#                   interface: FastEthernet0/0/0/8
#           safi: unicast
#     - address_families:
#         - afi: ipv4
#           routes:
#             - dest: 192.0.2.48/28
#               next_hops:
#                 - description: DEV
#                   dest_vrf: test_1
#                   forward_router_address: 192.0.2.12
#                 - forward_router_address: 192.0.3.24
#                   interface: GigabitEthernet0/0/0/1
#                   vrflabel: 2302
#             - dest: 192.0.2.80/28
#               next_hops:
#                 - dest_vrf: test_1
#                   forward_router_address: 192.0.2.14
#                   interface: FastEthernet0/0/0/2
#                   track: ip_sla_2
#                   vrflabel: 124
#           safi: unicast
#       vrf: DEV_SITE
# commands:
#     - no router static
# after: []
# After state
# ------------
# RP/0/RP0/CPU0:ios#sh running-config router static
# Sat Feb 22 08:50:43.038 UTC
# % No such configuration item(s)

# Using gathered to gather static route facts from the device

- name: Gather static routes facts from the device using iosxr_static_routes module
  cisco.iosxr.iosxr_static_routes:
    state: gathered

# Task output (redacted)
# -----------------------
# "gathered": [
#    {
#        "address_families": [
#            {
#                "afi": "ipv4",
#                "routes": [
#                    {
#                        "dest": "192.0.2.16/28",
#                        "next_hops": [
#                            {
#                                "description": "LAB",
#                                "forward_router_address": "192.0.2.10",
#                                "interface": "FastEthernet0/0/0/1",
#                                "metric": 120,
#                                "tag": 10
#                            },
#                            {
#                                "interface": "FastEthernet0/0/0/5",
#                                "track": "ip_sla_1"
#                            }
#                        ]
#                    },
#                    {
#                        "dest": "192.0.2.32/28",
#                        "next_hops": [
#                            {
#                                "admin_distance": 100,
#                                "forward_router_address": "192.0.2.11"
#                            }
#                        ]
#                    }
#                ],
#                "safi": "unicast"
#            },
#            {
#                "afi": "ipv6",
#                "routes": [
#                    {
#                        "dest": "2001:db8:1000::/36",
#                        "next_hops": [
#                            {
#                                "description": "DC",
#                                "interface": "FastEthernet0/0/0/7"
#                            },
#                            {
#                                "forward_router_address": "2001:db8:2000:2::1",
#                                "interface": "FastEthernet0/0/0/8"
#                            }
#                        ]
#                    }
#                ],
#                "safi": "unicast"
#            }
#        ]
#    },
#    {
#        "address_families": [
#            {
#                "afi": "ipv4",
#                "routes": [
#                    {
#                        "dest": "192.0.2.48/28",
#                        "next_hops": [
#                            {
#                                "description": "DEV",
#                                "dest_vrf": "test_1",
#                                "forward_router_address": "192.0.2.12"
#                            },
#                            {
#                                "forward_router_address": "192.0.3.24",
#                                "interface": "GigabitEthernet0/0/0/1",
#                                "vrflabel": 2302
#                            }
#                        ]
#                    },
#                    {
#                        "dest": "192.0.2.80/28",
#                        "next_hops": [
#                            {
#                                "dest_vrf": "test_1",
#                                "forward_router_address": "192.0.2.14",
#                                "interface": "FastEthernet0/0/0/2",
#                                "track": "ip_sla_2",
#                                "vrflabel": 124
#                            }
#                        ]
#                    }
#                ],
#                "safi": "unicast"
#            }
#        ],
#        "vrf": "DEV_SITE"
#    }
#  ]

# Using rendered

- name: Render platform specific commands (without connecting to the device)
  cisco.iosxr.iosxr_static_routes: null
  config:
    - vrf: DEV_SITE
      address_families:
        - afi: ipv4
          safi: unicast
          routes:
            - dest: 192.0.2.48/28
              next_hops:
                - forward_router_address: 192.0.2.12
                  description: DEV
                  dest_vrf: test_1
            - dest: 192.0.2.80/28
              next_hops:
                - interface: FastEthernet0/0/0/2
                  forward_router_address: 192.0.2.14
                  dest_vrf: test_1
                  track: ip_sla_2
                  vrflabel: 124

# Task Output (redacted)
# -----------------------
# "rendered": [
#    "router static"s,
#    "vrf DEV_SITE",
#    "address-family ipv4 unicast",
#    "192.0.2.48/28 vrf test_1 192.0.2.12 description DEV",
#    "192.0.2.80/28 vrf test_1 192.0.2.14 FastEthernet0/0/0/2 track ip_sla_2 vrflabel 124"

# Using parsed

# parsed.cfg
# ------------
# Fri Nov 29 21:10:41.896 UTC
# router static
#  address-family ipv4 unicast
#   192.0.2.16/28 FastEthernet0/0/0/1 192.0.2.10 tag 10 description LAB metric 120
#   192.0.2.16/28 FastEthernet0/0/0/5 track ip_sla_1
#   192.0.2.32/28 192.0.2.11 100
#  !
#  address-family ipv6 unicast
#   2001:db8:1000::/36 FastEthernet0/0/0/7 description DC
#   2001:db8:1000::/36 FastEthernet0/0/0/8 2001:db8:2000:2::1
#  !
#  vrf DEV_SITE
#   address-family ipv4 unicast
#    192.0.2.48/28 vrf test_1 192.0.2.12 description DEV
#    192.0.2.80/28 vrf test_1 FastEthernet0/0/0/2 192.0.2.14 vrflabel 124 track ip_sla_2
#   !
#  !
# !

- name: Use parsed state to convert externally supplied device specific static routes
    commands to structured format
  cisco.iosxr.iosxr_static_routes:
    running_config: "{{ lookup('file', '../../fixtures/parsed.cfg') }}"
    state: parsed

# Task output (redacted)
# -----------------------
# "parsed": [
#        {
#            "address_families": [
#                {
#                    "afi": "ipv4",
#                    "routes": [
#                        {
#                            "dest": "192.0.2.16/28",
#                            "next_hops": [
#                                {
#                                    "description": "LAB",
#                                    "forward_router_address": "192.0.2.10",
#                                    "interface": "FastEthernet0/0/0/1",
#                                    "metric": 120,
#                                    "tag": 10
#                                },
#                                {
#                                    "interface": "FastEthernet0/0/0/5",
#                                    "track": "ip_sla_1"
#                                }
#                            ]
#                        },
#                        {
#                            "dest": "192.0.2.32/28",
#                            "next_hops": [
#                                {
#                                    "admin_distance": 100,
#                                    "forward_router_address": "192.0.2.11"
#                                }
#                            ]
#                        }
#                    ],
#                    "safi": "unicast"
#                },
#                {
#                    "afi": "ipv6",
#                    "routes": [
#                        {
#                            "dest": "2001:db8:1000::/36",
#                            "next_hops": [
#                                {
#                                    "description": "DC",
#                                    "interface": "FastEthernet0/0/0/7"
#                                },
#                                {
#                                    "forward_router_address": "2001:db8:2000:2::1",
#                                    "interface": "FastEthernet0/0/0/8"
#                                }
#                            ]
#                        }
#                    ],
#                    "safi": "unicast"
#                }
#            ]
#        },
#        {
#            "address_families": [
#                {
#                    "afi": "ipv4",
#                    "routes": [
#                        {
#                            "dest": "192.0.2.48/28",
#                            "next_hops": [
#                                {
#                                    "description": "DEV",
#                                    "dest_vrf": "test_1",
#                                    "forward_router_address": "192.0.2.12"
#                                }
#                            ]
#                        },
#                        {
#                            "dest": "192.0.2.80/28",
#                            "next_hops": [
#                                {
#                                    "dest_vrf": "test_1",
#                                    "forward_router_address": "192.0.2.14",
#                                    "interface": "FastEthernet0/0/0/2",
#                                    "track": "ip_sla_2",
#                                    "vrflabel": 124
#                                }
#                            ]
#                        }
#                    ],
#                    "safi": "unicast"
#                }
#            ],
#            "vrf": "DEV_SITE"
#        }
#    ]
# }

返回值

常见的返回值已在 此处 记录,以下是此模块特有的字段

描述

after

列表 / 元素=字符串

生成的配置模型调用。

返回:发生更改时

示例: ["The configuration returned will always be in the same format\n of the parameters above.\n"]

before

列表 / 元素=字符串

模型调用之前的配置。

返回:始终返回

示例: ["The configuration returned will always be in the same format\n of the parameters above.\n"]

commands

列表 / 元素=字符串

推送到远程设备的命令集。

返回:始终返回

示例: ["router static", "vrf dev_site", "address-family ipv4 unicast", "192.0.2.48/28 192.0.2.12 FastEthernet0/0/0/1 track ip_sla_10 description dev1", "address-family ipv6 unicast", "no 2001:db8:1000::/36", "2001:db8:3000::/36 2001:db8:2000:2::2 FastEthernet0/0/0/4 track ip_sla_11 description prod1"]

作者

  • Nilashish Chakraborty (@NilashishC)