cisco.dnac.pnp_intent 模块 – 用于站点和 PnP 相关功能的资源模块
注意
此模块是 cisco.dnac 集合(版本 6.25.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install cisco.dnac
。您需要其他要求才能使用此模块,请参阅 要求 了解详细信息。
要在剧本中使用它,请指定:cisco.dnac.pnp_intent
。
cisco.dnac 6.6.0 中的新增功能
概要
管理加入配置(PnP)资源的添加设备、声明设备和取消声明设备的操作
API 用于将设备添加到 PnP 清单并将其声明到站点。
API 用于从 PnP 清单中删除设备。
API 用于从错误状态重置设备。
要求
执行此模块的主机需要满足以下要求。
dnacentersdk == 2.6.10
python >= 3.9
参数
参数 |
注释 |
---|---|
正在管理的设备的详细信息列表。 |
|
提供将尚未存在的设备添加到 PnP 数据库所需的特定于设备的信息。 要添加单个设备,该列表应仅包含一组设备信息。如果还提供了站点名称,则可以在添加设备后立即声明该设备。 对于批量导入,该列表必须包含多个设备的信息。批量导入仅用于添加设备;声明必须通过单独的任务或配置执行。 |
|
定义声明后 PnP 设备所需的 hostname。 hostname 只能在声明过程中分配或更改,而不能在批量或单个设备添加期间分配或更改。 |
|
Sudi 身份验证要求标志。 选项
|
|
PnP 设备的 pid。 |
|
PnP 设备的 serial_number。 |
|
表示 PnP 设备的加入状态。 可能的值为“Unclaimed”、“Claimed”或“Provisioned”。 |
|
无线控制器的网关 IP 地址,用于 ping |
|
要配置的映像是否标记为黄金映像 选项
|
|
要在设备上配置的映像的名称 |
|
指定无线控制器用于即插即用 (PnP) 的接口名称。请确保在声明设备之前在此控制器上预先配置此接口。 |
|
指定即插即用 (PnP) 设备的设备类型。 - 选项包括“Default”、“CatalystWLC”、“AccessPoint”或“StackSwitch”。 - “Default”适用于交换机和路由器。 - 对于 9800 系列无线控制器,应选择“CatalystWLC”。 - 在声明接入点时使用“AccessPoint”。 - “StackSwitch”应选择用于作为单个交换机运行的一组交换机,通常用于接入层。 选项
|
|
模板所在的项目的名称 默认值: |
|
正在声明的 AP 的射频 (RF) 配置文件。 RF 配置文件允许您调整共享一个公共覆盖区域的 AP 组。 它们选择性地更改无线资源管理将如何在覆盖区域内操作 AP。 HIGH RF 配置文件允许您使用更多功率,并允许以更容易的方式加入具有客户端的 AP。 TYPICAL RF 配置文件是适度功率和对客户端的适度可见性的混合。 LOW RF 配置文件允许您消耗更少的功率,并且对客户端的可见性最低。 选项
|
|
将声明设备的站点的名称。 |
|
无线控制器的管理 IP 地址 |
|
无线控制器的管理 IP 地址的子网掩码 |
|
要在设备上配置的模板的名称。 从 Cisco Catalyst Center 版本 2.3.7.x 及更高版本开始支持 EWLC。 |
|
参数化模板的参数值。 每个变量都有一个值,需要在字典中作为键值对传递。我们可以将值作为 variable_name:variable_value 传递。 从 Cisco Catalyst Center 版本 2.3.7.x 及更高版本开始支持 EWLC。 |
|
为声明无线控制器分配的 VLAN ID |
|
设置为 True 可在应用剧本配置后验证 Cisco Catalyst Center 配置。 选项
|
|
定义用于检索任务详细信息的 API 调用的超时时间(以秒为单位)。如果在此期间未收到任务详细信息,则该过程将结束,并记录超时通知。 默认值: |
|
Cisco DNA Center SDK 的标志,用于启用调试。 选项
|
|
Cisco DNA Center hostname。 |
|
启用/禁用剧本执行日志记录的标志。 当为 true 且提供了 dnac_log_file_path 时,- 在执行位置创建具有指定名称的日志文件。 当为 true 且未提供 dnac_log_file_path 时,- 在执行位置创建名为“dnac.log”的日志文件。 当为 false 时,- 禁用日志记录。 如果日志文件不存在,- 则根据“dnac_log_append”标志以追加或写入模式创建它。 如果日志文件存在,- 则根据“dnac_log_append”标志覆盖或追加它。 选项
|
|
确定文件模式。设置为 True 表示“追加”模式。设置为 False 表示“写入”模式。 选项
|
|
控制日志记录。如果 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。 默认值: |
|
设置日志级别的阈值。级别等于或高于此阈值的消息将被记录。级别按严重程度顺序列出[CRITICAL, ERROR, WARNING, INFO, DEBUG]。 CRITICAL 表示会导致程序停止的严重错误。仅显示 CRITICAL 消息。 ERROR 表示阻止功能的出现的问题。显示 ERROR 和 CRITICAL 消息。 WARNING 表示潜在的未来问题。显示 WARNING、ERROR 和 CRITICAL 消息。 INFO 跟踪正常操作。显示 INFO、WARNING、ERROR 和 CRITICAL 消息。 DEBUG 提供详细的诊断信息。显示所有日志消息。 默认值: |
|
用于身份验证的 Cisco DNA Center 密码。 |
|
Cisco DNA Center 端口。 默认值: |
|
指定连续调用 API 以检索任务详细信息之间的时间间隔(以秒为单位)。 默认值: |
|
用于身份验证的 Cisco DNA Center 用户名。 默认值: |
|
启用或禁用 SSL 证书验证的标志。 选项
|
|
通知 SDK 要使用的 Cisco DNA Center 版本。 默认值: |
|
模块完成后 Cisco Catalyst Center 的状态。 选项
|
|
用于 Cisco DNA Center SDK 启用根据 JSON 模式验证请求体的标志。 选项
|
注释
注意
使用的 SDK 方法包括 device_onboarding_pnp.DeviceOnboardingPnp.add_device, device_onboarding_pnp.DeviceOnboardingPnp.get_device_list, device_onboarding_pnp.DeviceOnboardingPnp.claim_a_device_to_a_site, device_onboarding_pnp.DeviceOnboardingPnp.delete_device_by_id_from_pnp, device_onboarding_pnp.DeviceOnboardingPnp.get_device_count, device_onboarding_pnp.DeviceOnboardingPnp.get_device_by_id, device_onboarding_pnp.DeviceOnboardingPnp.update_device, sites.Sites.get_site, software_image_management_swim.SoftwareImageManagementSwim.get_software_image_details, configuration_templates.ConfigurationTemplates.gets_the_templates_available
使用的路径包括 post /dna/intent/api/v1/onboarding/pnp-device post /dna/intent/api/v1/onboarding/pnp-device/site-claim post /dna/intent/api/v1/onboarding/pnp-device/{id} get /dna/intent/api/v1/onboarding/pnp-device/count get /dna/intent/api/v1/onboarding/pnp-device put /onboarding/pnp-device/${id} get /dna/intent/api/v1/site get /dna/intent/api/v1/image/importation get /dna/intent/api/v1/template-programmer/template
不支持
check_mode
该插件在控制节点上运行,不使用任何 Ansible 连接插件,而是使用来自 Cisco DNAC SDK 的嵌入式连接管理器
以 dnac_ 开头的参数由 Cisco DNAC Python SDK 用于建立连接
示例
- name: Import multiple switches in bulk only
cisco.dnac.pnp_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_level: "{{dnac_log_level}}"
dnac_log: True
state: merged
config_verify: True
config:
- device_info:
- serial_number: QD2425L8M7
state: Unclaimed
pid: c9300-24P
is_sudi_required: False
- serial_number: QTC2320E0H9
state: Unclaimed
pid: c9300-24P
hostname: Test-123
- serial_number: ETC2320E0HB
state: Unclaimed
pid: c9300-24P
- name: Add a new EWLC and claim it
cisco.dnac.pnp_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_level: "{{dnac_log_level}}"
dnac_log: True
state: merged
config_verify: True
config:
- device_info:
- serial_number: FOX2639PAY7
hostname: New_WLC
state: Unclaimed
pid: C9800-CL-K9
site_name: Global/USA/San Francisco/BGL_18
template_name: Ansible_PNP_WLC
template_params:
hostname: IAC-EWLC-Claimed
project_name: Onboarding Configuration
image_name: C9800-40-universalk9_wlc.17.12.01.SPA.bin
golden_image: true
pnp_type: CatalystWLC
static_ip: 204.192.101.10
subnet_mask: 255.255.255.0
gateway: 204.192.101.1
vlan_id: 1101
ip_interface_name: TenGigabitEthernet0/0/0
- name: Claim a pre-added switch, apply a template, and perform an image upgrade for a specific site
cisco.dnac.pnp_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_level: "{{dnac_log_level}}"
dnac_log: True
state: merged
config_verify: True
config:
- device_info:
- serial_number: FJC271924EQ
hostname: Switch
state: Unclaimed
pid: C9300-48UXM
site_name: Global/USA/San Francisco/BGL_18
template_name: "Ansible_PNP_Switch"
image_name: cat9k_iosxe_npe.17.03.07.SPA.bin
project_name: Onboarding Configuration
template_params:
hostname: SJC-Switch-1
interface: TwoGigabitEthernet1/0/2
- name: Remove multiple devices from the PnP dashboard safely (ignores non-existent devices)
cisco.dnac.pnp_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_level: "{{dnac_log_level}}"
dnac_log: True
state: deleted
config_verify: True
config:
- device_info:
- serial_number: QD2425L8M7
- serial_number: FTC2320E0HA
- serial_number: FKC2310E0HB
返回值
常见的返回值在此处记录 这里,以下是此模块特有的字段
键 |
描述 |
---|---|
包含 Cisco Catalyst Center Python SDK 返回的响应的字典 返回: 总是 示例: |
|
包含 Cisco Catalyst Center Python SDK 返回的响应的列表 返回: 总是 示例: |
|
包含 Cisco Catalyst Center Python SDK 返回的响应的字符串 返回: 总是 示例: |
作者
Abinash Mishra (@abimishr) Madhan Sankaranarayanan (@madhansansel) Rishita Chowdhary (@rishitachowdhary)