cisco.ucs.ucs_managed_objects 模块 – 在 Cisco UCS Manager 上配置管理对象

注意

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

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

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

要在 Playbook 中使用它,请指定:cisco.ucs.ucs_managed_objects

概要

  • 在 Cisco UCS Manager 上配置管理对象。

  • 必须直接指定 Python SDK 模块、模块中的 Python 类(UCSM 类)以及所有属性。

  • 有关 UCSM Python SDK 以及如何直接配置管理对象的更多信息,请访问 UCSM Python SDK

要求

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

  • ucsmsdk

参数

参数

注释

hostname

字符串 / 必填

Cisco UCS Manager 的 IP 地址或主机名。

模块可以与 UCS 平台模拟器一起使用 https://cs.co/ucspe

objects

列表 / 元素=字典 / 必填

要配置的管理对象列表。每个管理对象都有子选项,用于指定要配置的 Python SDK 模块、类和属性。

children

列表 / 元素=字典

子对象的可选列表。每个子对象都有自己的模块、类和属性子选项。

子对象的 parent_mo_or_dn 属性在配置子对象列表时自动设置。

class_name

别名:class

字符串 / 必填

将用于配置管理对象的 Python 类的名称。

module

字符串 / 必填

实现所需类的 Python SDK 模块的名称。

properties

字典 / 必填

要在管理对象上配置的属性列表。有关每个类的属性信息,请参阅 UCSM Python SDK。

password

字符串 / 必填

Cisco UCS Manager 身份验证的密码。

port

整数

连接期间要使用的端口号(默认情况下,https 使用 443,http 连接使用 80)。

proxy

字符串

如果 use_proxy 为 no,则指定用于连接的代理。例如,‘http://proxy.xy.z:8080

state

字符串

如果为 present,将验证管理对象是否存在,如果需要,将创建管理对象。

如果为 absent,将验证管理对象是否不存在,如果需要,将删除管理对象。

选项

  • "absent"

  • "present" ← (默认)

use_proxy

布尔值

如果为 no,则不会使用系统环境变量定义的代理。

选项

  • false

  • true ← (默认)

use_ssl

布尔值

如果为 no,则将使用 HTTP 连接而不是默认的 HTTPS 连接。

选项

  • false

  • true ← (默认)

username

字符串

Cisco UCS Manager 身份验证的用户名。

默认值: "admin"

示例

- name: Configure Network Control Policy
  cisco.ucs.ucs_managed_objects:
    hostname: 172.16.143.150
    username: admin
    password: password
    objects:
    - module: ucsmsdk.mometa.nwctrl.NwctrlDefinition
      class: NwctrlDefinition
      properties:
        parent_mo_or_dn: org-root
        cdp: enabled
        descr: ''
        lldp_receive: enabled
        lldp_transmit: enabled
        name: Enable-CDP-LLDP

- name: Remove Network Control Policy
  cisco.ucs.ucs_managed_objects:
    hostname: 172.16.143.150
    username: admin
    password: password
    objects:
    - module: ucsmsdk.mometa.nwctrl.NwctrlDefinition
      class: NwctrlDefinition
      properties:
        parent_mo_or_dn: org-root
        name: Enable-CDP-LLDP
    state: absent

- name: Configure Boot Policy Using JSON objects list with children
  cisco.ucs.ucs_managed_objects:
    hostname: 172.16.143.150
    username: admin
    password: password
    objects:
    - {
          "module": "ucsmsdk.mometa.lsboot.LsbootPolicy",
          "class": "LsbootPolicy",
          "properties": {
              "parent_mo_or_dn": "org-root",
              "name": "Python_SDS",
              "enforce_vnic_name": "yes",
              "boot_mode": "legacy",
              "reboot_on_update": "no"
          },
          "children": [
              {
                  "module": "ucsmsdk.mometa.lsboot.LsbootVirtualMedia",
                  "class": "LsbootVirtualMedia",
                  "properties": {
                      "access": "read-only-local",
                      "lun_id": "0",
                      "order": "2"
                  }
              },
              {
                  "module": "ucsmsdk.mometa.lsboot.LsbootStorage",
                  "class": "LsbootStorage",
                  "properties": {
                      "order": "1"
                  },
                  "children": [
                      {
                          "module": "ucsmsdk.mometa.lsboot.LsbootLocalStorage",
                          "class": "LsbootLocalStorage",
                          "properties": {},
                          "children": [
                              {
                                  "module": "ucsmsdk.mometa.lsboot.LsbootDefaultLocalImage",
                                  "class": "LsbootDefaultLocalImage",
                                  "properties": {
                                      "order": "1"
                                  }
                              }
                          ]
                      }
                  ]
              }
          ]
      }

- name: Remove Boot Policy Using JSON objects list
  cisco.ucs.ucs_managed_objects:
    hostname: 172.16.143.150
    username: admin
    password: password
    objects:
    - {
          "module": "ucsmsdk.mometa.lsboot.LsbootPolicy",
          "class": "LsbootPolicy",
          "properties": {
              "parent_mo_or_dn": "org-root",
              "name": "Python_SDS"
          }
      }
    state: absent

作者

  • David Soper (@dsoper2)

  • CiscoUcs (@CiscoUcs)