community.vmware.vmware_guest_controller 模块 – 管理给定 vCenter 基础设施中虚拟机相关的磁盘或 USB 控制器
注意
此模块是 community.vmware 集合(版本 5.2.0)的一部分。
如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install community.vmware。
要在 playbook 中使用它,请指定:community.vmware.vmware_guest_controller。
概要
- 此模块可用于添加、删除属于给定虚拟机的磁盘控制器或 USB 控制器。 
参数
| 参数 | 注释 | 
|---|---|
| 要添加或删除的磁盘或 USB 控制器列表。 每个虚拟机允许总共 4 个相同类型的磁盘控制器。 每个虚拟机允许总共 2 个 USB 控制器,1 个 USB 2.0 和 1 个 USB 3.0 或 3.1。 对于特定的客户机操作系统,支持的控制器类型请参考 VMware 兼容性指南。 | |
| SCSI 控制器的总线共享类型。 选择 
 | |
| 磁盘控制器总线编号。当  当  选择 
 | |
| 添加新的控制器或删除指定的现有控制器。 如果设置为  如果指定的控制器被删除或不存在,则不会采取任何操作,只会发出警告消息。 如果设置为  如果具有指定控制器类型的控制器的数量达到最大值,则不会采取任何操作,只会发出警告消息。 选择 
 | |
| 磁盘或 USB 控制器的类型。 从 vSphere 6.5 和硬件版本为 13 的虚拟机开始,支持  选择 
 | |
| 虚拟机所属的数据中心名称。 默认值:  | |
| 目标文件夹,用于查找现有客户机的绝对或相对路径。 仅当找到多个同名虚拟机时,此参数才为必填项。 该文件夹应包括数据中心。ESX 的数据中心是 ha-datacenter 示例 folder: /ha-datacenter/vm folder: ha-datacenter/vm folder: /datacenter1/vm folder: datacenter1/vm folder: /datacenter1/vm/folder1 folder: datacenter1/vm/folder1 folder: /folder1/datacenter1/vm folder: folder1/datacenter1/vm folder: /folder1/datacenter1/vm/folder2 | |
| vSphere vCenter 或 ESXi 服务器的主机名或 IP 地址。 如果任务中未指定该值,则将改用环境变量  | |
| vSphere vCenter 或 ESXi 服务器的密码。 如果任务中未指定该值,则将改用环境变量  | |
| 接收所有 HTTPS 请求并转发它们的 HTTP 代理的端口。 如果任务中未指定该值,则将使用环境变量  | |
| 在虚拟机重新配置任务完成后,等待的秒数,用于在虚拟机重新配置后未获取更新的虚拟机控制器信息时使用。 此参数不是必需的。最大值为 600。 默认值:  | |
| 是否使用 VMware 实例 UUID 而不是 BIOS UUID。 选择 
 | |
| vSphere vCenter 或 ESXi 服务器的用户名。 如果任务中未指定该值,则将使用环境变量  | |
| 允许在 SSL 证书无效时连接。当证书不受信任时,设置为  如果任务中未指定该值,则将使用环境变量  选择 
 | 
备注
注意
- 所有模块都需要 API 写入权限,因此不支持免费的 ESXi 许可证。 
- 所有变量和 VMware 对象名称都区分大小写。 
示例
- name: Add disk and USB 3.0 controllers for virtual machine located by name
  community.vmware.vmware_guest_controller:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    name: test_VM
    controllers:
      - state: present
        type: sata
      - state: present
        type: nvme
      - state: present
        type: usb3
  delegate_to: localhost
  register: disk_controller_facts
- name: Remove disk controllers and USB 2.0 from virtual machine located by moid
  community.vmware.vmware_guest_controller:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    moid: vm-33
    controllers:
      - state: absent
        controller_number: 1
        type: sata
      - state: absent
        controller_number: 0
        type: nvme
      - state: absent
        type: usb2
  delegate_to: localhost
  register: disk_controller_facts
返回值
常用返回值记录在此处 此处,以下是此模块独有的字段
| 键 | 描述 | 
|---|---|
| 有关虚拟机现有磁盘控制器或添加或删除操作后的元数据 返回值: 始终 示例:  | 
作者
- Diane Wang (@Tomorrow9) 
