cisco.iosxr.iosxr_vrf_address_family 模块 – 配置 VRF 地址族的资源模块。
注意
此模块是 cisco.iosxr 集合 (版本 10.2.2) 的一部分。
如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install cisco.iosxr。
要在剧本中使用它,请指定:cisco.iosxr.iosxr_vrf_address_family。
cisco.iosxr 10.0.0 新增
概要
- 此模块配置和管理 Cisco IOS-XR 设备上 VRF 地址族的属性。 
参数
| 参数 | 注释 | 
|---|---|
| VRF 地址族配置。 | |
| 启用地址族并进入其配置模式 - AFI/SAFI 配置 | |
| 地址族标识符 (AFI) 选项 
 | |
| VRF 出口 | |
| 使用 route_policy 进行出口 | |
| 指定出口路由目标扩展社区。 | |
| 将路由导出到 VRF | |
| 将路由导出到默认 VRF | |
| 使用 route_policy 进行出口 | |
| 将路由导出到 VRF | |
| 允许将导入的 VPN 路由导出到非默认 VRF 选项 
 | |
| VRF 导入 | |
| 从 VRF 导入路由 | |
| VRF 导入 | |
| 将本地 EVPN 导入路由通告给 PE 选项 
 | |
| 将路由导出到默认 VRF | |
| 使用 route_policy 进行出口 | |
| 从 VRF 导入路由 | |
| 将本地 EVPN 导入路由通告给 PE 选项 
 | |
| 使用 route_policy 进行出口 | |
| 指定出口路由目标扩展社区。 | |
| 设置最大前缀限制 | |
| 设置表的最大前缀限制。 | |
| 地址族修饰符 选项 
 | |
| VRF 的名称。 | |
| 此选项仅与状态 *parsed* 一起使用。 此选项的值应为通过执行命令 **show running-config vrf** 从 IOS-XR 设备接收到的输出。 状态 *parsed* 从  | |
| 配置应保留的状态 状态 *rendered*、*gathered* 和 *parsed* 不会对设备进行任何更改。 状态 *rendered* 将  状态 *gathered* 将从设备获取运行配置,并将其转换为符合资源模块 argspec 格式的结构化数据,并在结果中的 *gathered* 密钥中返回该值。 状态 *parsed* 从  选项 
 | 
备注
注意
- 针对 Cisco IOS XR 版本 10.0.0 进行了测试 
- 此模块使用连接 - network_cli。请参阅 IOS_XR 平台选项
- 有关使用 Ansible 管理网络设备的更多信息,请参阅:ref:`Ansible 网络指南 <network_guide>` 
- 有关使用 Ansible 管理 Cisco 设备的更多信息,请参阅 `Cisco 集成页面 <https://ansible.org.cn/integrations/networks/cisco>`。 
示例
# Using merged
#
# Before state:
# -------------
#
# RP/0/0/CPU0:iosxr#show running-config vrf
# vrf test
#
- name: Merge provided configuration with device configuration
  cisco.iosxr.iosxr_vrf_address_family:
    config:
      - name: VRF4
        address_families:
          - afi: "ipv4"
            safi: "unicast"
            export:
              route_target: "192.0.2.1:400"
              route_policy: "rm-policy"
              to:
                default_vrf:
                  route_policy: "rm-policy"
                vrf:
                  allow_imported_vpn: true
            import_config:
              route_target: "192.0.2.6:200"
              route_policy: "test-policy"
              from_config:
                bridge_domain:
                  advertise_as_vpn: true
                default_vrf:
                  route_policy: "test-policy"
                vrf:
                  advertise_as_vpn: true
            maximum:
              prefix: 100
    state: merged
# Task Output:
# ------------
#
# before: []
#
# commands:
# - vrf VRF4
# - address-family ipv4 unicast
# - export route-policy rm-policy
# - export route-target 192.0.2.1:400
# - export to default-vrf route-policy rm-policy
# - export to vrf allow-imported-vpn
# - import route-target 192.0.2.6:200
# - import route-policy test-policy
# - import from bridge-domain advertise-as-vpn
# - import from default-vrf route-policy test-policy
# - import from vrf advertise-as-vpn
# - maximum prefix 100
#
# after:
# - name: VRF4
#   address_families:
#     - afi: "ipv4"
#       safi: "unicast"
#       export:
#         route_target: "192.0.2.1:400"
#         route_policy: "rm-policy"
#         to:
#           default_vrf:
#             route_policy: "rm-policy"
#           vrf:
#             allow_imported_vpn: true
#       import_config:
#         route_target: "192.0.2.6:200"
#         route_policy: "test-policy"
#         from_config:
#           bridge_domain:
#             advertise_as_vpn: true
#           default_vrf:
#             route_policy: "test-policy"
#           vrf:
#             advertise_as_vpn: true
#       maximum:
#         prefix: 100
#
# After state:
# ------------
#
# RP/0/0/CPU0:iosxr#show running-config vrf
# vrf VRF4
#  address-family ipv4 unicast
#   export route-policy rm-policy
#   export route-target 192.0.2.1:400
#   export to default-vrf route-policy rm-policy
#   export to vrf allow-imported-vpn
#   import route-target 192.0.2.6:200
#   import route-policy test-policy
#   import from bridge-domain advertise-as-vpn
#   import from default-vrf route-policy test-policy
#   import from vrf advertise-as-vpn
#   maximum prefix 100
# Using replaced
#
# Before state:
# -------------
#
# RP/0/0/CPU0:iosxr#show running-config vrf
# vrf VRF4
#  address-family ipv4 unicast
#   export route-policy rm-policy
#   export route-target 192.0.2.1:400
#   export to default-vrf route-policy rm-policy
#   export to vrf allow-imported-vpn
#   import route-target 192.0.2.6:200
#   import route-policy test-policy
#   import from bridge-domain advertise-as-vpn
#   import from default-vrf route-policy test-policy
#   import from vrf advertise-as-vpn
#   maximum prefix 100
- name: Replace the provided configuration with the existing running configuration
  cisco.iosxr.iosxr_vrf_address_family:
    config:
      - name: VRF7
        address_families:
          - afi: "ipv4"
            safi: "unicast"
            export:
              route_target: "192.0.2.2:400"
              route_policy: "rm-policy"
              to:
                default_vrf:
                  route_policy: "rm-policy"
                vrf:
                  allow_imported_vpn: true
            import_config:
              route_target: "192.0.2.4:400"
              route_policy: "test-policy"
              from_config:
                bridge_domain:
                  advertise_as_vpn: true
                default_vrf:
                  route_policy: "test-policy"
                vrf:
                  advertise_as_vpn: true
            maximum:
              prefix: 200
    state: replaced
# Task Output:
# ------------
#
# - name: VRF4
#   address_families:
#     - afi: "ipv4"
#       safi: "unicast"
#       export:
#         route_target: "192.0.2.1:400"
#         route_policy: "rm-policy"
#         to:
#           default_vrf:
#             route_policy: "rm-policy"
#           vrf:
#             allow_imported_vpn: true
#       import_config:
#         route_target: "192.0.2.6:200"
#         route_policy: "test-policy"
#         from_config:
#           bridge_domain:
#             advertise_as_vpn: true
#           default_vrf:
#             route_policy: "test-policy"
#           vrf:
#             advertise_as_vpn: true
#       maximum:
#         prefix: 100
#
# commands:
# - vrf VRF7
# - address-family ipv4 unicast
# - export route-policy rm-policy
# - export route-target 192.0.2.2:400
# - export to default-vrf route-policy rm-policy
# - export to vrf allow-imported-vpn
# - import route-target 192.0.2.4:400
# - import route-policy test-policy
# - import from bridge-domain advertise-as-vpn
# - import from default-vrf route-policy test-policy
# - import from vrf advertise-as-vpn
# - maximum prefix 200
#
# after:
# - name: VRF7
#   address_families:
#     - afi: "ipv4"
#       safi: "unicast"
#       export:
#         route_target: "192.0.2.2:400"
#         route_policy: "rm-policy"
#         to:
#           default_vrf:
#             route_policy: "rm-policy"
#           vrf:
#             allow_imported_vpn: true
#       import_config:
#         route_target: "192.0.2.4:400"
#         route_policy: "test-policy"
#         from_config:
#           bridge_domain:
#             advertise_as_vpn: true
#           default_vrf:
#             route_policy: "test-policy"
#           vrf:
#             advertise_as_vpn: true
#       maximum:
#         prefix: 200
#
# After state:
# ------------
#
# RP/0/RP0/CPU0:iosxr(config)#show running-config vrf
# vrf VRF7
#  address-family ipv4 unicast
#   import route-policy test-policy
#   import from bridge-domain advertise-as-vpn
#   import from default-vrf route-policy test-policy
#   import from vrf advertise-as-vpn
#   import route-target
#    192.0.2.4:400
#   !
#   export route-policy rm-policy
#   export to vrf allow-imported-vpn
#   export to default-vrf route-policy rm-policy
#   export route-target
#    192.0.2.2:400
#   !
#   maximum prefix 200
# Using overridden
#
# Before state:
# -------------
#
# RP/0/RP0/CPU0:iosxr(config)#show running-config vrf
# vrf VRF7
#  address-family ipv4 unicast
#   import route-policy test-policy
#   import from bridge-domain advertise-as-vpn
#   import from default-vrf route-policy test-policy
#   import from vrf advertise-as-vpn
#   import route-target
#    192.0.2.4:400
#   !
#   export route-policy rm-policy
#   export to vrf allow-imported-vpn
#   export to default-vrf route-policy rm-policy
#   export route-target
#    192.0.2.2:400
#   !
#   maximum prefix 200
- name: Override the provided configuration with the existing running configuration
  cisco.iosxr.iosxr_vrf_address_family:
    state: overridden
    config:
      - name: VRF6
        address_families:
          - afi: "ipv4"
            safi: "unicast"
            export:
              route_target: "192.0.2.8:200"
              route_policy: "rm-policy1"
              to:
                default_vrf:
                  route_policy: "rm-policy"
                vrf:
                  allow_imported_vpn: "true"
            import_config:
              route_target: "192.0.2.2:200"
              route_policy: "test-policy"
              from_config:
                bridge_domain:
                  advertise_as_vpn: "true"
                default_vrf:
                  route_policy: "test-policy"
                vrf:
                  advertise_as_vpn: "true"
            maximum:
              prefix: 500
# Task Output:
# ------------
#
# before:
# - name: VRF7
#   address_families:
#     - afi: "ipv4"
#       safi: "unicast"
#       export:
#         route_target: "192.0.2.2:400"
#         route_policy: "rm-policy"
#         to:
#           default_vrf:
#             route_policy: "rm-policy"
#           vrf:
#             allow_imported_vpn: true
#       import_config:
#         route_target: "192.0.2.4:400"
#         route_policy: "test-policy"
#         from_config:
#           bridge_domain:
#             advertise_as_vpn: true
#           default_vrf:
#             route_policy: "test-policy"
#           vrf:
#             advertise_as_vpn: true
#       maximum:
#         prefix: 200
#
# commands:
# - vrf VRF7
# - address-family ipv4 unicast
# - no import route-policy test-policy
# - no import from bridge-domain advertise-as-vpn
# - no import from default-vrf route-policy test-policy
# - no import from vrf advertise-as-vpn
# - no import route-target 192.0.2.4:400
# - no export route-policy rm-policy
# - no export route-target 192.0.2.2:400
# - no export to default-vrf route-policy rm-policy
# - no export to vrf allow-imported-vpn
# - no maximum prefix 200
# - vrf VRF6
# - address-family ipv4 unicast
# - export route-policy rm-policy1
# - export route-target 192.0.2.8:200
# - export to default-vrf route-policy rm-policy
# - export to vrf allow-imported-vpn
# - import route-target 192.0.2.2:200
# - import route-policy test-policy
# - import from bridge-domain advertise-as-vpn
# - import from default-vrf route-policy test-policy
# - import from vrf advertise-as-vpn
# - maximum prefix 500
#
# after:
# - name: VRF4
# - name: VRF6
#   address_families:
#     - afi: "ipv4"
#       safi: "unicast"
#       export:
#         route_target: "192.0.2.8:200"
#         route_policy: "rm-policy1"
#         to:
#           default_vrf:
#             route_policy: "rm-policy"
#           vrf:
#             allow_imported_vpn: "true"
#       import_config:
#         route_target: "192.0.2.2:200"
#         route_policy: "test-policy"
#         from_config:
#           bridge_domain:
#             advertise_as_vpn: "true"
#           default_vrf:
#             route_policy: "test-policy"
#           vrf:
#             advertise_as_vpn: "true"
#       maximum:
#         prefix: 500
# - name: VRF7
#
# After state:
# -------------
# RP/0/RP0/CPU0:iosxr(config)#show running-config vrf
# vrf VRF4
# vrf VRF6
#  address-family ipv4 unicast
#   import route-policy test-policy
#   import from bridge-domain advertise-as-vpn
#   import from default-vrf route-policy test-policy
#   import from vrf advertise-as-vpn
#   import route-target
#    192.0.2.2:200
#   export route-policy rm-policy1
#   export to vrf allow-imported-vpn
#   export to default-vrf route-policy rm-policy
#   export route-target
#    192.0.2.8:200
#   maximum prefix 500
# vrf VRF7
# Using deleted
#
# Before state:
# -------------
#
# RP/0/RP0/CPU0:iosxr(config)#show running-config vrf
# vrf VRF4
# vrf VRF6
#  address-family ipv4 unicast
#   import route-policy test-policy
#   import from bridge-domain advertise-as-vpn
#   import from default-vrf route-policy test-policy
#   import from vrf advertise-as-vpn
#   import route-target
#    192.0.2.2:200
#   export route-policy rm-policy1
#   export to vrf allow-imported-vpn
#   export to default-vrf route-policy rm-policy
#   export route-target
#    192.0.2.8:200
#   maximum prefix 500
# vrf VRF7
- name: Delete the provided configuration
  cisco.iosxr.iosxr_vrf_address_family:
    config:
    state: deleted
# Task Output:
# ------------
#
# before:
# - name: VRF4
# - name: VRF6
#   address_families:
#     - afi: "ipv4"
#       safi: "unicast"
#       export:
#         route_target: "192.0.2.8:200"
#         route_policy: "rm-policy1"
#         to:
#           default_vrf:
#             route_policy: "rm-policy"
#           vrf:
#             allow_imported_vpn: "true"
#       import_config:
#         route_target: "192.0.2.2:200"
#         route_policy: "test-policy"
#         from_config:
#           bridge_domain:
#             advertise_as_vpn: "true"
#           default_vrf:
#             route_policy: "test-policy"
#           vrf:
#             advertise_as_vpn: "true"
#       maximum:
#         prefix: 500
# - name: VRF7
# commands:
# - vrf VRF4
# - vrf VRF6
# - no address-family ipv4 unicast
# - vrf VRF7
#
# after:
# - name: VRF4
# - name: VRF6
# - name: VRF7
#
# After state:
# ------------
#
# RP/0/RP0/CPU0:iosxr(config)#show running-config vrf
# vrf VRF4
# vrf VRF6
# vrf VRF7
# Using rendered
#
- name: Render provided configuration with device configuration
  cisco.iosxr.iosxr_vrf_address_family:
    config:
      - name: VRF4
        address_families:
          - afi: "ipv4"
            safi: "unicast"
            export:
              route_target: "192.0.2.1:400"
              route_policy: "rm-policy"
              to:
                default_vrf:
                  route_policy: "rm-policy"
                vrf:
                  allow_imported_vpn: true
            import_config:
              route_target: "192.0.2.6:200"
              route_policy: "test-policy"
              from_config:
                bridge_domain:
                  advertise_as_vpn: true
                default_vrf:
                  route_policy: "test-policy"
                vrf:
                  advertise_as_vpn: true
            maximum:
              prefix: 100
    state: rendered
# Task Output:
# ------------
#
# rendered:
# - vrf VRF4
# - address-family ipv4 unicast
# - export route-policy rm-policy
# - export route-target 192.0.2.1:400
# - export to default-vrf route-policy rm-policy
# - export to vrf allow-imported-vpn
# - import route-target 192.0.2.6:200
# - import route-policy test-policy
# - import from bridge-domain advertise-as-vpn
# - import from default-vrf route-policy test-policy
# - import from vrf advertise-as-vpn
# - maximum prefix 100
# Using gathered
#
# Before state:
# -------------
#
# RP/0/RP0/CPU0:iosxr(config)#show running-config vrf
# vrf VRF4
#  address-family ipv4 unicast
#   export route-policy rm-policy
#   export route-target 192.0.2.1:400
#   export to default-vrf route-policy rm-policy
#   export to vrf allow-imported-vpn
#   import route-target 192.0.2.6:200
#   import route-policy test-policy
#   import from bridge-domain advertise-as-vpn
#   import from default-vrf route-policy test-policy
#   import from vrf advertise-as-vpn
#   maximum prefix 100
- name: Gather existing running configuration
  cisco.iosxr.iosxr_vrf_address_family:
    state: gathered
# Task Output:
# ------------
#
# gathered:
# - name: VRF4
#   address_families:
#     - afi: "ipv4"
#       safi: "unicast"
#       export:
#         route_target: "192.0.2.1:400"
#         route_policy: "rm-policy"
#         to:
#           default_vrf:
#             route_policy: "rm-policy"
#           vrf:
#             allow_imported_vpn: true
#       import_config:
#         route_target: "192.0.2.6:200"
#         route_policy: "test-policy"
#         from_config:
#           bridge_domain:
#             advertise_as_vpn: true
#           default_vrf:
#             route_policy: "test-policy"
#           vrf:
#             advertise_as_vpn: true
#       maximum:
#         prefix: 100
# Using parsed
#
# File: parsed.cfg
# ----------------
#
# vrf test
#  address-family ipv4 unicast
#   export to default-vrf route-policy "rm-policy"
#   export to vrf allow-imported-vpn
#   export route-policy "export-policy"
#   export route-target
#    192.0.2.1:400
#   import route-target
#    192.0.2.2:200
#   import route-policy "test-policy"
#   import from bridge-domain advertise-as-vpn
#   import from default-vrf route-policy "new-policy"
#   import from vrf advertise-as-vpn
#   maximum prefix 23
- name: Parse the provided configuration
  cisco.iosxr.iosxr_vrf_address_family:
    running_config: "{{ lookup('file', 'parsed.cfg') }}"
    state: parsed
# Task Output:
# ------------
#
# parsed:
#   - address_families:
#     - afi: ipv4
#       export:
#         route_policy: export-policy
#         route_target: 192.0.2.1:400
#         to:
#           default_vrf:
#             route_policy: rm-policy
#           vrf:
#             allow_imported_vpn: true
#       import_config:
#         from_config:
#           bridge_domain:
#             advertise_as_vpn: true
#           default_vrf:
#             route_policy: new-policy
#           vrf:
#             advertise_as_vpn: true
#         route_policy: test-policy
#         route_target: 192.0.2.2:200
#       maximum:
#         prefix: 23
#       safi: unicast
#     name: test
返回值
常用返回值已在此处记录 此处,以下是此模块独有的字段
| 键 | 描述 | 
|---|---|
| 生成的配置模型调用。 返回:发生更改时 示例: | |
| 模型调用之前的配置。 返回:始终 示例: | |
| 推送到远程设备的命令集。 返回:始终 示例: | |
| 从远程设备收集到的关于网络资源的事实,作为结构化数据。 返回:当 *state* 为  示例: | |
| 根据模块参数规范(argspec),将running_config选项中提供的设备原生配置解析为结构化数据。 返回:当state为 示例: | |
| 在任务中提供的配置以设备原生格式(离线)渲染。 返回:当state为 示例: | 
