cisco.dnac.site_workflow_manager 模块 – 站点操作的资源模块

注意

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

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

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

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

cisco.dnac 6.6.0 中的新增功能

概要

  • 管理资源站点的操作创建、批量创建、更新和删除。

  • 使用指定的层次结构创建包含区域/建筑物/楼层的站点。

  • 批量创建具有指定层次结构的多个站点(区域、建筑物或楼层)。

  • 使用指定的层次结构更新包含区域/建筑物/楼层的站点。

  • 使用指定的层次结构删除包含区域/建筑物/楼层的站点。

要求

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

  • dnacentersdk == 2.4.5

  • python >= 3.9

参数

参数

注释

config

列表 / 元素=字典 / 必需

它表示用于创建/管理/删除站点的详细信息列表,包括区域、建筑物和楼层。

site

字典

包含有关被管理站点(包括区域、建筑物和楼层)的详细信息。

area

字典

用于在站点内创建或管理区域的配置详细信息。

name

字符串

要创建或管理的区域的名称(例如,“区域 1”)。

parent_name

字符串

将在其下创建/管理/删除区域的父级的全名(例如,“全球/美国”)。

building

字典

用于在站点内创建或管理建筑物的配置详细信息。

address

字符串

要创建或管理的建筑物的物理地址。

latitude

浮点数

建筑物的地理纬度坐标。例如,对于加利福尼亚州圣何塞的某个位置,请使用 37.338。有效值的范围为 -90.0 到 +90.0 度。

longitude

浮点数

建筑物的地理经度坐标。例如,对于加利福尼亚州圣何塞的某个位置,请使用 -121.832。有效值的范围为 -180.0 到 +180.0 度。

name

字符串

建筑物的名称(例如,“建筑物 1”)。

parent_name

字符串

建筑物的分层父路径,指示其在站点内的位置(例如,“全球/美国/旧金山”)。

floor

字典

用于在站点内创建或管理楼层的配置详细信息。

floor_number

整数

建筑物站点内的楼层号(例如,5)。此值只能在创建楼层时指定,之后不能修改。

height

浮点数

楼层的高度(以英尺为单位)(例如,15.23)。

length

浮点数

楼层的长度(以英尺为单位)(例如,100.11)。

name

字符串

楼层的名称(例如,“楼层 1”)。

parent_name

字符串

楼层的分层父路径,指示其在站点内的位置(例如,“全球/美国/旧金山/BGL_18”)。

rf_model

字符串

楼层的 RF(射频)模型类型,这对于模拟和优化无线网络覆盖至关重要。从以下允许值中选择,这些值描述了不同的环境信号传播特性。楼层类型(允许的值为“立方体和带墙办公室”、“仅干墙办公室”、“室内高天花板”、“室外开放空间”)。立方体和带墙办公室 - 此 RF 模型通常表示具有隔间或带墙办公室的室内区域,其中无线电信号可能会因墙壁和障碍物而衰减。仅干墙办公室 - 此 RF 模型指示一个带有干墙隔板的环境,通常在办公空间中发现,它可能具有适度的信号衰减。室内高天花板 - 此 RF 模型适用于具有高天花板的室内空间,例如礼堂或中庭,其中由于天花板的高度,信号传播可能会有所不同。室外开放空间 - 此 RF 模型用于具有开放空间的室外区域,其中信号传播的障碍较少,并且与室内环境相比,可能会遵循不同的模式。

units_of_measure

字符串

楼层尺寸的度量单位,通常为“英尺”或“米”。

upload_floor_image_path

字符串

要上传的楼层图像的文件路径(例如,“/path/to/floor_image.png”)。确保图像采用 JPG、PNG 或 PDF 等受支持的格式。“upload_floor_image_path” 参数不支持 2.3.5.3 Catalyst Center,仅适用于 2.3.7.6 Catalyst 版本及更高版本

width

浮点数

楼层的宽度(以英尺为单位)(例如,100.22)。

site_type

字符串

要创建/更新/删除的站点类型(例如,区域、建筑物、楼层)。

config_verify

布尔值

设置为 true 以在应用 playbook 配置后验证 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) 模式打开。- 在共享文件场景中,如果没有追加模式,则每次模块执行后内容都会被覆盖。- 对于共享日志文件,将第一个模块的 append 设置为 False(以覆盖);对于后续模块,将 append 设置为 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

字符串

模块完成后 Catalyst Center 的状态。

选项

  • "merged" ← (默认)

  • "deleted"

validate_response_schema

布尔值

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

选项

  • false

  • true ← (默认)

备注

注意

  • 使用的 SDK 方法是 sites.Sites.create_site、sites.Sites.update_site、sites.Sites.delete_site site.Sites.create_sites site.Sites.update_a_floor site.Sites.update_a_building site.Sites.update_an_area site.Sites.delete_a_floor site.Sites.delete_a_building site.Sites.delete_an_area site.Sites.get_site_assigned_network_devices

  • 使用的路径是 POST /dna/intent/api/v1/site、PUT dna/intent/api/v1/site/{siteId}、DELETE dna/intent/api/v1/site/{siteId} DELETE/dna/intent/api/v2/buildings/{id} DELETE/dna/intent/api/v1/areas/{id} DELETE/dna/intent/api/v2/floors/{id} PUT/dna/intent/api/v2/floors/{id} PUT/dna/intent/api/v1/areas/{id} PUT/dna/intent/api/v2/buildings/{id} GET/dna/intent/api/v1/sites POST/dna/intent/api/v1/sites/bulk GET/dna/intent/api/v1/networkDevices/assignedToSite

  • 不支持 check_mode

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

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

示例

- name: Create a new area site
  cisco.dnac.site_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: "{{dnac_log}}"
    state: merged
    config:
    - site:
        area:
          name: Test
          parent_name: Global/India
      site_type: area

- name: Create a new building site
  cisco.dnac.site_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: "{{dnac_log}}"
    state: merged
    config:
    - site:
        building:
          name: Building_1
          parent_name: Global/India
          address: Bengaluru, Karnataka, India
          latitude: 24.12
          longitude: 23.45
      site_type: building

- name: Create a Floor site under the building
  cisco.dnac.site_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: "{{dnac_log}}"
    state: merged
    config:
    - site:
        floor:
          name: Floor_1
          parent_name: Global/India/Building_1
          length: 75.76
          width: 35.54
          height: 30.12
          rf_model: Cubes And Walled Offices
          floor_number: 2
      site_type: floor

- name: Updating the Floor details under the building
  cisco.dnac.site_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: "{{dnac_log}}"
    state: merged
    config:
    - site:
        floor:
          name: Floor_1
          parent_name: Global/India/Building_1
          length: 75.76
          width: 35.54
          height: 30.12
      site_type: floor

- name: Deleting any site you need site name and parent name
  cisco.dnac.site_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: "{{dnac_log}}"
    state: deleted
    config:
    - site:
        floor:
          name: Floor_1
          parent_name: Global/India/Building_1
      site_type: floor

- name: Create bulk sites and upload floor map
  cisco.dnac.site_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: True
    dnac_log_level: DEBUG
    config_verify: True
    state: merged
    config:
        - site:
            area:
                name: bangalore99
                parent_name: Global
          type: area
        - site:
            building:
                name: s1
                address: 1234 Elm Street3
                parent_name: Global/bangalore99
                latitude: 37.373
                longitude: -121.873
                country: india
          type: building
        - site:
            floor:
                name: cherry88
                parent_name: Global/bangalore99/s1
                rf_model: Outdoor Open Space
                width: 117
                length: 117
                height: 13
                floor_number: 3
                units_of_measure: "feet"
                upload_floor_image_path: "/Users/skesali/Downloads/pngegg.png"
          type: floor
        - site:
            floor:
                name: cherry5
                parent_name: Global/bangalore9/s1
                rf_model: Outdoor Open Space
                width: 113
                length: 113
                height: 13
                floor_number: 3
                units_of_measure: "feet"
                upload_floor_image_path: "/Users/skesali/Downloads/pngegg.png"
          type: floor

返回值

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

描述

response_1

字典

一个字典,包含 Cisco Catalyst Center Python SDK 返回的 API 执行详细信息

已返回: 始终

示例: "{\n  \"response\":\n    {\n         \"bapiExecutionId\": String,\n         \"bapiKey\": String,\n         \"bapiName\": String,\n         \"endTime\": String,\n         \"endTimeEpoch\": 0,\n         \"runtimeInstanceId\": String,\n         \"siteId\": String,\n         \"startTime\": String,\n         \"startTimeEpoch\": 0,\n         \"status\": String,\n         \"timeDuration\": 0\n\n    },\n  \"msg\": \"string\"\n}\n"

response_2

字典

一个字典,包含现有站点的详细信息。

已返回: 始终

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

response_3

字典

一个字典,包含 Cisco Catalyst Center Python SDK 返回的 API 执行详细信息

已返回: 始终

示例: "{\n  \"response\":\n    {\n         \"bapiError\": String,\n         \"bapiExecutionId\": String,\n         \"bapiKey\": String,\n         \"bapiName\": String,\n         \"endTime\": String,\n         \"endTimeEpoch\": 0,\n         \"runtimeInstanceId\": String,\n         \"startTime\": String,\n         \"startTimeEpoch\": 0,\n         \"status\": String,\n         \"timeDuration\": 0\n\n    },\n  \"msg\": \"string\"\n}\n"

response_4

列表 / 元素=字符串

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

已返回: 始终

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

response_5

字典

一个字典,包含 Cisco Catalyst Center Python SDK 返回的 API 任务详细信息

已返回: 始终

示例: "{\n    \"response\": {\n        \"startTime\": 1725427091204,\n        \"version\": 1725427091204,\n        \"progress\": \"{\\\"TOTAL\\\":0,\\\"VALIDATION_FAILURE_COUNT\\\":0,\\\"VALIDATION_SUCCESS_COUNT\\\":0,\\\n        \"VALIDATION_PENDING_COUNT\\\":0,\\\"CRAETION_SUCCESS_COUNT\\\":0,\\\"message\\\":\\\n        \"Group import is in progress.Count will be updated shortly.\\\"}\",\n        \"serviceType\": \"Grouping Service\",\n        \"operationIdList\": [\n        \"3e7f1f73-b6f8-4ac6-b925-22e372e72510\"\n        ],\n        \"isError\": False,\n        \"instanceTenantId\": \"6663114d388b29001399e46a\",\n        \"id\": \"0191bb78-0704-767c-94c6-95a6e5a511d1\"\n    },\n    \"version\": \"1.0\"\n}\n"

作者

  • Madhan Sankaranarayanan (@madhansansel) Rishita Chowdhary (@rishitachowdhary) Abhishek Maheshwari (@abhishekmaheshwari) Megha Kandari (@kandarimegha) Sonali Deepthi Kesali (@skesali)