cisco.dnac.network_settings_intent 模块 – 用于 IP 地址池和网络功能的资源模块

注意

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

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

要安装它,请使用:ansible-galaxy collection install cisco.dnac。您需要更多要求才能使用此模块,请参阅 要求了解详细信息。

要在 playbook 中使用它,请指定:cisco.dnac.network_settings_intent

cisco.dnac 6.6.0 中的新增功能

概要

  • 管理全局池、保留池和网络资源的操作。

  • 用于创建/更新/删除全局池的 API。

  • 用于从全局池中保留/更新/删除 IP 子池的 API。

  • 用于更新 DHCP、Syslog、SNMP、NTP、网络 AAA、客户端和端点 AAA 和/或 DNS 中心服务器设置的网络设置的 API。

要求

在执行此模块的主机上需要满足以下要求。

  • dnacentersdk == 2.4.5

  • python >= 3.9

参数

参数

注释

配置

列表 / elements=字典 / 必需

正在管理的全局池、保留池和网络的详细信息列表。

global_pool_details

字典

管理全局级别的 IPv4 和 IPv6 IP 池。

设置

字典

全局池的设置。

ip_pool

列表 / elements=字典

包含全局 IP 池配置的列表。

cidr

字符串

定义 IP 池的无类别域间路由块,从而在网络内实现系统化的 IP 地址分配。

dhcp_server_ips

列表 / elements=字符串

负责自动为本地网络上的设备分配 IP 地址和网络配置参数的 DHCP 服务器 IP。

dns_server_ips

列表 / elements=字符串

负责将域名转换为相应的 IP 地址。

网关

字符串

充当网络之间数据流量的入口或出口点。

ip_address_space

字符串

IP 地址空间,IPv4 或 IPv6。

名称

字符串

指定分配给全局 IP 池的名称。

pool_type

字符串

包括通用 IP 池和隧道 IP 池。 通用 - 用于网络中的通用目的,例如设备管理或网络设备之间的通信。 隧道 - 指定用于隧道接口,以在网络协议中封装数据包。 它用于 VPN 连接、GRE 隧道或其他类型的覆盖网络。

选择

  • "Generic" ← (默认)

  • "Tunnel"

prev_name

字符串

全局池的先前标识符。 仅当您需要更新全局池的名称时才应使用它。

network_management_details

字典

设置站点的默认网络设置

设置

字典

网络管理详细信息设置。

client_and_endpoint_aaa

字典

网络 V2 的 clientAndEndpoint_aaa。

ip_address

字符串

ISE 服务的 IP 地址(例如 1.1.1.4)。

网络

字符串

AAA 或 ISE 服务器的 IP 地址(例如 2.2.2.1)。

协议

字符串

AAA 或 ISE 服务的协议(例如 RADIUS)。

服务器

字符串

服务器类型 AAA 或 ISE 服务器(例如 AAA)。

shared_secret

字符串

ISE 服务器的共享密钥。

dhcp_server

列表 / elements=字符串

DHCP 服务器 IP(例如 1.1.1.1)。

dns_server

字典

网络 V2 的 dnsServer。

domain_name

字符串

DHCP 的域名(例如;cisco)。

primary_ip_address

字符串

DHCP 的主 IP 地址(例如 2.2.2.2)。

secondary_ip_address

字符串

DHCP 的辅助 IP 地址(例如 3.3.3.3)。

message_of_the_day

字典

网络 V2 的 messageOfTheday。

banner_message

字符串

横幅消息的按摩(例如;美好的一天)。

retain_existing_banner

字符串

保留现有横幅消息(例如“true”或“false”)。

netflow_collector

字典

网络 V2 的 netflowcollector。

ip_address

字符串

NetFlow 收集器的 IP 地址(例如 3.3.3.1)。

端口

整数

NetFlow 收集器的端口(例如;443)。

network_aaa

字典

网络 V2 的 network_aaa。

ip_address

字符串

AAA 和 ISE 服务器的 IP 地址(例如 1.1.1.1)。

网络

字符串

AAA 或 ISE 服务器的 IP 地址(例如 2.2.2.2)。

协议

字符串

AAA 或 ISE 服务的协议(例如 RADIUS)。

服务器

字符串

AAA 网络的服务器类型(例如 AAA)。

shared_secret

字符串

ISE 服务器的共享密钥。

ntp_server

列表 / elements=字符串

NTP 服务器的 IP 地址(例如 1.1.1.2)。

snmp_server

字典

网络 V2 的 snmpServer。

configure_dnac_ip

布尔值

SNMP 服务器的配置 Cisco Catalyst Center IP(例如 true)。

选择

  • false

  • true

ip_addresses

列表 / elements=字符串

SNMP 服务器的 IP 地址(例如 4.4.4.1)。

syslog_server

字典

网络 V2 的 syslogServer。

configure_dnac_ip

布尔值

用于 syslog 服务器的配置 Cisco Catalyst Center IP(例如 true)。

选择

  • false

  • true

ip_addresses

列表 / elements=字符串

syslog 服务器的 IP 地址(例如 4.4.4.4)。

时区

字符串

时区的输入(例如 Africa/Abidjan)。

site_name

字符串

作为路径参数提供的站点名称,用于指定将保留 IP 子池的位置。

reserve_pool_details

字典

从全局池保留的 IP 子池详细信息。

ipv4_dhcp_servers

列表 / elements=字符串

指定 DHCP 服务器的 IPv4 地址,例如,“1.1.1.1”。

ipv4_dns_servers

列表 / elements=字符串

指定 DNS 服务器的 IPv4 地址,例如,“4.4.4.4”。

ipv4_gateway

字符串

在 cisco.dnac 4.0.0 中添加

提供网关的 IPv4 地址,例如“175.175.0.1”。

ipv4_global_pool

字符串

带 cidr 的 IP v4 全局池地址,例如 175.175.0.0/16。

ipv4_prefix

布尔值

启用 ip4 前缀长度或启用 ipv4 主机总数输入

选择

  • false

  • true

ipv4_prefix_length

整数

当 ipv4_prefix 值为 true 时,需要 ipv4 前缀长度。

ipv4_subnet

字符串

指示 IPv4 子网地址,例如“175.175.0.0”。

ipv4_total_host

整数

当“ipv4_prefix”设置为 false 时,需要 IPv4 的主机总数。

ipv6_address_space

布尔值

确定是否需要 IPv6 和 IPv4 输入。如果设置为 false,则只需要 IPv4 输入。如果设置为 true,则需要 IPv6 和 IPv4 输入。

选择

  • false

  • true

ipv6_dhcp_servers

列表 / elements=字符串

以格式指定 DHCP 服务器的 IPv6 地址。例如,“2001:0db8:0123:4567:89ab:cdef:0001:0001”。

ipv6_dns_servers

列表 / elements=字符串

指定 DNS 服务器的 IPv6 地址。例如,“2001:0db8:0123:4567:89ab:cdef:0002:0002”。

ipv6_gateway

字符串

提供网关的 IPv6 地址。例如,“2001:0db8:0123:4567:89ab:cdef:0003:0003”。

ipv6_global_pool

字符串

带 cidr 的 IPv6 全局池地址,当 ipv6_address_space 值为 true 时,这是必需的,例如 2001 db8 85a3 /64。

ipv6_prefix

布尔值

Ipv6 前缀值为 true,则启用 ip6 前缀长度输入字段;如果为 false,则启用 ipv6 主机总数输入。

选择

  • false

  • true

ipv6_prefix_length

整数

当 ipv6_prefix 值为 true 时,需要 IPv6 前缀长度。

ipv6_subnet

字符串

IPv6 子网地址,例如 2001 db8 85a3 0 100。

ipv6_total_host

整数

如果“ipv6_prefix”设置为 false,则需要 IPv6 的主机总数。

名称

字符串

保留 IP 子池的名称。

pool_type

字符串

保留 IP 子池的类型。通用 - 用于网络中的通用目的,例如设备管理或网络设备之间的通信。 LAN - 用于局域网内的设备和资源,例如设备连接、内部通信或服务。管理 - 用于管理目的,例如设备管理界面、管理访问或其他管理功能。服务 - 用于网络服务和应用程序,例如 DNS(域名系统)、DHCP(动态主机配置协议)、NTP(网络时间协议)。 WAN - 用于广域网内的设备和资源,例如与其他网络或 WAN 内托管的服务的远程站点互连。

选择

  • "Generic" ← (默认)

  • "LAN"

  • "管理"

  • "服务"

  • "WAN"

prev_name

字符串

与保留的 IP 子池关联的先前名称。

site_name

字符串

作为路径参数提供的站点名称,用于指定将保留 IP 子池的位置。

slaac_support

布尔值

允许 IPv6 网络上的设备自主配置其 IP 地址,无需手动设置。

选择

  • false

  • true

config_verify

布尔值

设置为 True 以在应用 playbook 配置后验证 Cisco Catalyst Center。

选择

  • false ←(默认)

  • true

dnac_api_task_timeout

整数

定义检索任务详细信息的 API 调用的超时时间(以秒为单位)。如果在此期间内未收到任务详细信息,该过程将结束,并记录超时通知。

默认值: 1200

dnac_debug

布尔值

用于 Cisco DNA Center SDK 以启用调试的标志。

选择

  • false ←(默认)

  • true

dnac_host

字符串 / 必需

Cisco DNA Center 主机名。

dnac_log

布尔值

启用/禁用 playbook 执行日志记录的标志。

当为 true 并且提供了 dnac_log_file_path 时,- 在执行位置创建具有指定名称的日志文件。

当为 true 并且未提供 dnac_log_file_path 时,- 在执行位置创建名为“dnac.log”的日志文件。

当为 false 时,- 禁用日志记录。

如果日志文件不存在,- 将根据“dnac_log_append”标志在追加或写入模式下创建该文件。

如果日志文件存在,- 将根据“dnac_log_append”标志覆盖或追加该文件。

选择

  • false ←(默认)

  • true

dnac_log_append

布尔值

确定文件模式。设置为 True 以进入“追加”模式。设置为 False 以进入“写入”模式。

选择

  • false

  • true ←(默认)

dnac_log_file_path

字符串

控制日志记录。如果 dnac_log 为 True,则记录日志。

如果未指定路径,- 当“dnac_log_append”为 True 时,将在当前 Ansible 目录中生成“dnac.log”;将追加日志。- 当“dnac_log_append”为 False 时,将生成“dnac.log”;将覆盖日志。

如果指定了路径,- 当“dnac_log_append”为 True 时,文件将以追加模式打开。- 当“dnac_log_append”为 False 时,文件将以写入 (w) 模式打开。- 在共享文件场景中,如果没有追加模式,则在每次模块执行后覆盖内容。- 对于共享日志文件,将第一个模块的追加设置为 False(以覆盖);对于后续模块,将追加设置为 True。

默认值: "dnac.log"

dnac_log_level

字符串

设置日志级别的阈值。将记录级别等于或高于此级别的消息。级别按严重性顺序排列 [CRITICAL、ERROR、WARNING、INFO、DEBUG]。

CRITICAL 表示阻止程序的严重错误。仅显示 CRITICAL 消息。

ERROR 表示阻止功能的错误。显示 ERROR 和 CRITICAL 消息。

WARNING 表示潜在的未来问题。显示 WARNING、ERROR 和 CRITICAL 消息。

INFO 跟踪正常操作。显示 INFO、WARNING、ERROR 和 CRITICAL 消息。

DEBUG 提供详细的诊断信息。显示所有日志消息。

默认值: "WARNING"

dnac_password

字符串

用于身份验证的 Cisco DNA Center 密码。

dnac_port

字符串

Cisco DNA Center 端口。

默认值: "443"

dnac_task_poll_interval

整数

指定连续调用 API 以检索任务详细信息的时间间隔(以秒为单位)。

默认值: 2

dnac_username

别名:user

字符串

用于身份验证的 Cisco DNA Center 用户名。

默认值: "admin"

dnac_verify

布尔值

启用或禁用 SSL 证书验证的标志。

选择

  • false

  • true ←(默认)

dnac_version

字符串

通知 SDK 要使用的 Cisco DNA Center 版本。

默认值: "2.2.3.3"

state

字符串

模块完成后 Cisco Catalyst Center 的状态。

选择

  • "merged" ←(默认)

  • "deleted"

validate_response_schema

布尔值

用于 Cisco DNA Center SDK 以启用根据 JSON 架构验证请求体的标志。

选择

  • false

  • true ←(默认)

注释

注意

  • 使用的 SDK 方法是 network_settings.NetworkSettings.create_global_pool、network_settings.NetworkSettings.delete_global_ip_pool、network_settings.NetworkSettings.update_global_pool、network_settings.NetworkSettings.release_reserve_ip_subpool、network_settings.NetworkSettings.reserve_ip_subpool、network_settings.NetworkSettings.update_reserve_ip_subpool、network_settings.NetworkSettings.update_network_v2。

  • 使用的路径是 post /dna/intent/api/v1/global-pool、delete /dna/intent/api/v1/global-pool/{id}、put /dna/intent/api/v1/global-pool、post /dna/intent/api/v1/reserve-ip-subpool/{siteId}、delete /dna/intent/api/v1/reserve-ip-subpool/{id}、put /dna/intent/api/v1/reserve-ip-subpool/{siteId}、put /dna/intent/api/v2/network/{siteId}。

  • 不支持 check_mode

  • 该插件在控制节点上运行,不使用任何 ansible 连接插件,而是使用 Cisco DNAC SDK 中的嵌入式连接管理器

  • 以 dnac_ 开头的参数供 Cisco DNAC Python SDK 用于建立连接

示例

- name: Create global pool, reserve an ip pool and network
  cisco.dnac.network_settings_intent:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    dnac_log: True
    dnac_log_level: "{{ dnac_log_level }}"
    state: merged
    config_verify: True
    config:
    - global_pool_details:
        settings:
          ip_pool:
          - name: string
            gateway: string
            ip_address_space: string
            cidr: string
            pool_type: Generic
            dhcp_server_ips: list
            dns_server_ips: list
      reserve_pool_details:
        ipv6_address_space: True
        ipv4_global_pool: string
        ipv4_prefix: True
        ipv4_prefix_length: 9
        ipv4_subnet: string
        name: string
        ipv6_prefix: True
        ipv6_prefix_length: 64
        ipv6_global_pool: string
        ipv6_subnet: string
        site_name: string
        slaac_support: True
        pool_type: LAN
      network_management_details:
        settings:
          dhcp_server: list
          dns_server:
            domain_name: string
            primary_ip_address: string
            secondary_ip_address: string
          client_and_endpoint_aaa:
            network: string
            protocol: string
            servers: string
          message_of_the_day:
            banner_message: string
            retain_existing_banner: string
          netflow_collector:
            ip_address: string
            port: 443
          network_aaa:
            network: string
            protocol: string
            servers: string
          ntp_server: list
          snmp_server:
            configure_dnac_ip: True
            ip_addresses: list
          syslog_server:
            configure_dnac_ip: True
            ip_addresses: list
        site_name: string

返回值

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

描述

response_1

字典

包含 Cisco DNA Center Python SDK 返回的响应的字典或列表

已返回:始终

示例: {"executionId": "string", "executionStatusUrl": "string", "message": "string"}

response_2

字典

包含 Cisco DNA Center Python SDK 返回的响应的字典或列表

已返回:始终

示例: {"executionId": "string", "executionStatusUrl": "string", "message": "string"}

response_3

字典

包含 Cisco DNA Center Python SDK 返回的响应的字典或列表

已返回:始终

示例: {"executionId": "string", "executionStatusUrl": "string", "message": "string"}

作者

  • Muthu Rakesh (@MUTHU-RAKESH-27) Madhan Sankaranarayanan (@madhansansel)