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

Ansible 入门

  • Ansible 入门
  • 执行环境入门

安装、升级和配置

  • 安装指南
  • Ansible 移植指南

使用 Ansible

  • 构建 Ansible 清单
  • 使用 Ansible 命令行工具
  • 使用 Ansible Playbook
  • 使用 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 命名空间中的集合
  • 所有模块和插件的索引
  • Playbook 关键字
  • 返回值
  • Ansible 配置设置
  • 控制 Ansible 的行为方式:优先级规则
  • YAML 语法
  • Python 3 支持
  • 解释器发现
  • 发布和维护
  • 测试策略
  • 健全性测试
  • 常见问题解答
  • 词汇表
  • Ansible 参考:模块实用工具
  • 特殊变量
  • Red Hat Ansible 自动化平台
  • Ansible 自动化中心
  • 记录 Ansible 输出

路线图

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




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


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

注意

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

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

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

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

cisco.dnac 6.6.0 中的新增功能

  • 概要

  • 要求

  • 参数

  • 注意

  • 示例

  • 返回值

概要

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

  • API 将设备添加到 PnP 库存并将其声明到站点。

  • API 从 PnP 库存中删除设备。

  • 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 设备的序列号。

state

字符串

表示 PnP 设备的板载状态。

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

gateway

字符串

要 ping 的无线控制器的网关 IP 地址

golden_image

布尔值

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

选择

  • false

  • true

image_name

字符串

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

ip_interface_name

字符串

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

pnp_type

字符串

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

选择

  • "Default" ←(默认)

  • "CatalystWLC"

  • "AccessPoint"

  • "StackSwitch"

project_name

字符串

模板所在的项目的名称

默认值: "Onboarding Configuration"

rf_profile

字符串

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

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

它们有选择地更改无线资源管理在该覆盖区域内运行 AP 的方式。

“高”射频配置文件允许您使用更多功率,并且允许以更轻松的方式加入具有客户端的 AP。

“典型”射频配置文件是适度功率和客户端适度可见性的混合。

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

选择

  • "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 可在应用 playbook 配置后验证 Cisco Catalyst Center 配置。

选择

  • false ← (默认)

  • true

dnac_api_task_timeout

integer

定义用于检索任务详细信息的 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

integer

指定连续调用 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

列表 / 元素=字符串

包含 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 月 19 日。