community.vmware.vmware_category 模块 – 管理 VMware 类别

注意

此模块是 community.vmware 集合(版本 5.2.0)的一部分。

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

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

要在 Playbook 中使用它,请指定:community.vmware.vmware_category

概要

  • 此模块可用于创建/删除/更新 VMware 类别。

  • 标记功能在 vSphere 6 版本中引入,因此此模块不支持 vSphere 的早期版本。

要求

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

  • vSphere 自动化 SDK

参数

参数

注释

associable_object_types

列表 / 元素=字符串

可以与给定类别关联的对象类型列表。

选项

  • “所有对象”

  • "集群"

  • “内容库”

  • "数据中心"

  • "数据存储"

  • “数据存储集群”

  • “分布式端口组”

  • “分布式交换机”

  • "文件夹"

  • "主机"

  • “库项”

  • "网络"

  • “主机网络”

  • “不透明网络”

  • “资源池”

  • "vApp"

  • “虚拟机”

category_cardinality

字符串

类别基数。

更新现有类别时,将忽略此参数。

single 表示一个对象只能分配此类别中的一个标记。 例如,如果 category_name=操作系统,则此类别的不同标记将是“Windows”、“Linux”等等。 在这种情况下,一个 VM 对象只能分配这些标记中的一个,因此关联的类别的基数在此处为 single

multiple 表示一个对象可以分配此类别中的多个标记。 例如,如果 category_name=服务器,则此类别的不同标记将是“AppServer”、“DatabaseServer”等等。 在这种情况下,一个 VM 对象可以分配多个上述标记,因此关联的类别的基数在此处为 multiple

选项

  • “multiple” ← (默认)

  • “single”

category_description

字符串

类别描述。

如果 state=present,则此为必需项。

state=absent 时,将忽略此参数。

默认: ""

category_name

字符串 / 必需

要管理的类别的名称。

hostname

字符串

vSphere vCenter 服务器的主机名或 IP 地址。

如果未在任务中指定该值,则将改用环境变量 VMWARE_HOST 的值。

new_category_name

字符串

现有类别的新名称。

此值在更新现有类别时使用。

密码

别名: pass, pwd

字符串

vSphere vCenter 服务器的密码。

如果任务中未指定该值,则将使用环境变量 VMWARE_PASSWORD 的值代替。

端口

整数

vSphere vCenter 的端口号。

如果任务中未指定该值,则将使用环境变量 VMWARE_PORT 的值代替。

默认值: 443

协议

字符串

连接协议。

选项

  • "http"

  • "https" ← (默认)

代理主机

字符串

接收所有 HTTPS 请求并转发它们的代理的地址。

格式为主机名或 IP 地址。

如果任务中未指定该值,则将使用环境变量 VMWARE_PROXY_HOST 的值代替。

代理端口

整数

接收所有 HTTPS 请求并转发它们的 HTTP 代理的端口。

如果任务中未指定该值,则将使用环境变量 VMWARE_PROXY_PORT 的值代替。

状态

字符串

类别的状态。

如果设置为 present 且类别不存在,则会创建类别。

如果设置为 present 且类别存在,则会更新类别。

如果设置为 absent 且类别存在,则会删除类别。

如果设置为 absent 且类别不存在,则不执行任何操作。

更新类别的过程仅允许更改名称和描述。

选项

  • "present" ← (默认)

  • "absent"

用户名

别名: admin, user

字符串

vSphere vCenter 服务器的用户名。

如果任务中未指定该值,则将使用环境变量 VMWARE_USER 的值代替。

验证证书

布尔值

允许在 SSL 证书无效时进行连接。

当证书不受信任时,设置为 false

如果任务中未指定该值,则将使用环境变量 VMWARE_VALIDATE_CERTS 的值代替。

选项

  • false

  • true ← (默认)

备注

注意

  • 所有模块都需要 API 写入权限,因此在免费的 ESXi 许可证上不受支持。

  • 所有变量和 VMware 对象名称都区分大小写。

示例

- name: Create a category
  community.vmware.vmware_category:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    category_name: Sample_Cat_0001
    category_description: Sample Description
    category_cardinality: 'multiple'
    state: present

- name: Rename category
  community.vmware.vmware_category:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    category_name: Sample_Category_0001
    new_category_name: Sample_Category_0002
    state: present

- name: Update category description
  community.vmware.vmware_category:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    category_name: Sample_Category_0001
    category_description: Some fancy description
    state: present

- name: Delete category
  community.vmware.vmware_category:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    category_name: Sample_Category_0002
    state: absent

- name: Create category with 2 associable object types
  community.vmware.vmware_category:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    category_name: 'Sample_Category_0003'
    category_description: 'sample description'
    associable_object_types:
    - Datastore
    - Cluster
    state: present

返回值

通用返回值记录在此处:此处,以下是此模块特有的字段

描述

category_results

字典

类别元数据字典

返回: 成功时

示例: {"category_id": "urn:vmomi:InventoryServiceCategory:d7120bda-9fa5-4f92-9d71-aa1acff2e5a8:GLOBAL", "msg": "Category NewCat_0001 updated."}

作者

  • Abhijeet Kasurde (@Akasurde)