• 博客
  • Ansible 社区论坛
  • 文档
Ansible Logo
Ansible 社区文档
Ansible

Ansible 入门

  • Ansible 入门
  • 执行环境入门

安装、升级和配置

  • 安装指南
  • Ansible 移植指南

使用 Ansible

  • 构建 Ansible 清单
  • 使用 Ansible 命令行工具
  • 使用 Ansible 剧本
  • 使用 Ansible vault 保护敏感数据
  • 使用 Ansible 模块和插件
  • 使用 Ansible 集合
  • 在 Windows 和 BSD 上使用 Ansible
  • Ansible 技巧和窍门

为 Ansible 做贡献

  • Ansible 社区指南
  • Ansible 集合贡献者指南
  • ansible-core 贡献者指南
  • 高级贡献者指南
  • Ansible 文档风格指南

扩展 Ansible

  • 开发者指南

常见 Ansible 场景

  • 旧版公有云指南

网络自动化

  • 网络入门
  • 网络高级主题
  • 网络开发者指南

Ansible Galaxy

  • Galaxy 用户指南
  • Galaxy 开发者指南

参考 & 附录

  • 集合索引
    • Amazon 命名空间中的集合
    • Ansible 命名空间中的集合
    • Arista 命名空间中的集合
    • Awx 命名空间中的集合
    • Azure 命名空间中的集合
    • Check_point 命名空间中的集合
    • Chocolatey 命名空间中的集合
    • Cisco 命名空间中的集合
      • Cisco.Aci
      • Cisco.Asa
      • Cisco.Dnac
        • 描述
        • 插件索引
      • Cisco.Intersight
      • Cisco.Ios
      • Cisco.Iosxr
      • Cisco.Ise
      • Cisco.Meraki
      • Cisco.Mso
      • Cisco.Nxos
      • Cisco.Ucs
    • Cloud 命名空间中的集合
    • Cloudscale_ch 命名空间中的集合
    • Community 命名空间中的集合
    • Containers 命名空间中的集合
    • Cyberark 命名空间中的集合
    • Dellemc 命名空间中的集合
    • F5networks 命名空间中的集合
    • Fortinet 命名空间中的集合
    • Frr 命名空间中的集合
    • Gluster 命名空间中的集合
    • Google 命名空间中的集合
    • Grafana 命名空间中的集合
    • Hetzner 命名空间中的集合
    • Hpe 命名空间中的集合
    • Ibm 命名空间中的集合
    • Ieisystem 命名空间中的集合
    • Infinidat 命名空间中的集合
    • Infoblox 命名空间中的集合
    • Inspur 命名空间中的集合
    • Junipernetworks 命名空间中的集合
    • Kaytus 命名空间中的集合
    • Kubernetes 命名空间中的集合
    • Kubevirt 命名空间中的集合
    • Lowlydba 命名空间中的集合
    • Mellanox 命名空间中的集合
    • Microsoft 命名空间中的集合
    • Netapp 命名空间中的集合
    • Netapp_eseries 命名空间中的集合
    • Netbox 命名空间中的集合
    • Ngine_io 命名空间中的集合
    • Openstack 命名空间中的集合
    • Openvswitch 命名空间中的集合
    • Ovirt 命名空间中的集合
    • Purestorage 命名空间中的集合
    • Sensu 命名空间中的集合
    • Servicenow 命名空间中的集合
    • Splunk 命名空间中的集合
    • T_systems_mms 命名空间中的集合
    • Telekom_mms 命名空间中的集合
    • Theforeman 命名空间中的集合
    • Vmware 命名空间中的集合
    • Vultr 命名空间中的集合
    • Vyos 命名空间中的集合
    • Wti 命名空间中的集合
  • 所有模块和插件的索引
  • 剧本关键字
  • 返回值
  • Ansible 配置设置
  • 控制 Ansible 的行为方式:优先级规则
  • YAML 语法
  • Python 3 支持
  • 解释器发现
  • 发布和维护
  • 测试策略
  • 健全性测试
  • 常见问题
  • 词汇表
  • Ansible 参考:模块实用程序
  • 特殊变量
  • 红帽 Ansible 自动化平台
  • Ansible 自动化中心
  • 记录 Ansible 输出

路线图

  • Ansible 路线图
  • ansible-core 路线图




Ansible
  • 集合索引
  • Cisco 命名空间中的集合
  • Cisco.Dnac
  • cisco.dnac.pnp_workflow_manager 模块 – 用于站点和 PnP 相关功能的资源模块


cisco.dnac.pnp_workflow_manager 模块 – 用于站点和 PnP 相关功能的资源模块

注意

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

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

要安装它,请使用:ansible-galaxy collection install cisco.dnac。您需要进一步的要求才能使用此模块,有关详细信息,请参阅要求。

要在剧本中使用它,请指定:cisco.dnac.pnp_workflow_manager。

cisco.dnac 6.6.0 中的新增功能

  • 概要

  • 要求

  • 参数

  • 注释

  • 示例

  • 返回值

概要

  • 管理入职配置 (PnP) 资源的添加设备、声明设备和取消声明设备的操作

  • 将设备添加到 pnp 清单并将其声明到站点的 API。

  • 从 pnp 清单中删除设备的 API。

  • 从错误状态重置设备的 API。

要求

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

  • dnacentersdk == 2.6.10

  • python >= 3.9

参数

参数

注释

config

列表 / 元素=字典 / 必需

正在管理的设备的详细信息列表。

device_info

列表 / 元素=字典 / 必需

提供将尚未存在的设备添加到 PnP 数据库所需的特定于设备的信息。

要添加单个设备,列表应恰好包含一组设备信息。如果还提供了站点名称,则可以在添加设备后立即声明设备。

对于批量导入,列表必须包含多个设备的信息。批量导入仅用于添加设备;声明必须使用单独的任务或配置执行。

hostname

字符串

定义 PnP 设备在声明后的所需主机名。

主机名只能在声明过程中分配或更改,不能在批量或单个设备添加过程中分配或更改。

is_sudi_required

布尔值

Sudi 身份验证要求标志。

选项

  • false

  • true

pid

字符串

Pnp 设备的 pid。

serial_number

字符串

Pnp 设备的 serial_number。

state

字符串

表示 PnP 设备的入职状态。

可能的值为“未声明”、“已声明”或“已配置”。

gateway

字符串

用于获取 ping 的无线控制器的网关 IP 地址

golden_image

布尔值

要配置的映像是否标记为黄金映像

选项

  • false

  • true

image_name

字符串

要在设备上配置的映像的名称

ip_interface_name

字符串

指定无线控制器用于即插即用 (PnP) 的接口名称。在声明设备之前,请确保此接口已在控制器上预配置。

pnp_type

字符串

指定即插即用 (PnP) 设备的设备类型。 - 选项包括“默认”、“CatalystWLC”、“AccessPoint”或“StackSwitch”。 - “默认”适用于交换机和路由器。 - 应为 9800 系列无线控制器选择“CatalystWLC”。 - “AccessPoint”用于声明接入点。 - 应为作为单个交换机运行的一组交换机选择“StackSwitch”,通常在接入层中使用。

选项

  • "Default" ← (默认)

  • "CatalystWLC"

  • "AccessPoint"

  • "StackSwitch"

project_name

字符串

模板所在的项目名称

默认: "入职配置"

rf_profile

字符串

正在声明的 AP 的无线射频 (RF) 配置文件。

射频配置文件允许您一起调整共享公共覆盖区域的 AP 组。

它们会选择性地更改无线资源管理将如何在该覆盖区域内操作 AP。

HIGH 射频配置文件允许您使用更多功率,并允许以更轻松的方式加入 AP 和客户端。

TYPICAL 射频配置文件是中等功率和客户端中等可见性的混合。

LOW 射频配置文件允许您消耗更少的功率,并且对客户端的可见性最低。

选项

  • "HIGH"

  • "LOW"

  • "TYPICAL"

site_name

字符串

将声明设备的站点的名称。

static_ip

字符串

无线控制器的管理 IP 地址

subnet_mask

字符串

无线控制器的管理 IP 地址的子网掩码

template_name

字符串

要在设备上配置的模板的名称。

从 Cisco Catalyst Center 2.3.7.x 版本开始支持 EWLC。

template_params

字典

参数化模板的参数值。

每个变量都有一个值,需要以键值对的形式在字典中传递。我们可以将值作为 variable_name:variable_value 传递。

从 Cisco Catalyst Center 2.3.7.x 版本开始支持 EWLC。

vlan_id

字符串

为无线控制器的声明分配的 VLAN ID

config_verify

布尔值

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

选项

  • false ←(默认)

  • true

dnac_api_task_timeout

整数

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

默认值: 1200

dnac_debug

布尔值

指示是否在 Cisco Catalyst Center SDK 中启用调试。

选项

  • false ←(默认)

  • true

dnac_host

字符串 / 必需

Cisco Catalyst Center 的主机名。

dnac_log

布尔值

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

当为 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 Catalyst Center 进行身份验证的密码。

dnac_port

字符串

指定与 Cisco Catalyst Center 关联的端口号。

默认值: "443"

dnac_task_poll_interval

整数

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

默认值: 2

dnac_username

别名:user

字符串

用于在 Cisco Catalyst Center 进行身份验证的用户名。

默认值: "admin"

dnac_verify

布尔值

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

选项

  • false

  • true ←(默认)

dnac_version

字符串

指定 SDK 应使用的 Cisco Catalyst Center 的版本。

默认值: "2.2.3.3"

state

字符串

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

选项

  • "merged" ←(默认)

  • "deleted"

validate_response_schema

布尔值

Cisco Catalyst Center SDK 的标志,用于启用针对 JSON 模式验证请求正文。

选项

  • false

  • true ←(默认)

注释

注意

  • 使用的 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 Catalyst Center SDK 中的嵌入式连接管理器

  • 以 dnac_ 开头的参数由 Cisco Catalyst Center Python SDK 用于建立连接

示例

- name: Import multiple switches in bulk only
  cisco.dnac.pnp_workflow_manager:
    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_workflow_manager:
    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_workflow_manager:
    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_workflow_manager:
    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

返回值

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

键

描述

response_1

字典

一个字典,其中包含 Cisco Catalyst Center Python SDK 返回的响应

已返回: 始终

示例: "{\n  \"response\":\n    {\n      \"response\": String,\n      \"version\": String\n    },\n  \"msg\": String\n}\n"

response_2

列表 / elements=string

一个列表,其中包含 Cisco Catalyst Center Python SDK 返回的响应

已返回: 始终

示例: ["{\n  \"response\": []", "\n  \"msg\": String\n}\n"]

response_3

字典

一个字符串,其中包含 Cisco Catalyst Center Python SDK 返回的响应

已返回: 始终

示例: "{\n  \"response\": String,\n  \"msg\": String\n}\n"

作者

  • Abinash Mishra (@abimishr) Madhan Sankaranarayanan (@madhansansel) Rishita Chowdhary (@rishitachowdhary)

集合链接

  • 问题跟踪器
  • 存储库(源代码)
上一个 下一个

© 版权归 Ansible 项目贡献者所有。最后更新于 2024 年 12 月 6 日。