vmware.vmware_rest.vcenter_vm_hardware_disk 模块 – 向虚拟机添加精简配置虚拟磁盘

注意

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

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

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

要在 playbook 中使用它,请指定:vmware.vmware_rest.vcenter_vm_hardware_disk

vmware.vmware_rest 0.1.0 中的新增功能

概要

  • 向虚拟机添加虚拟磁盘。磁盘(配置)类型始终为“精简”。在添加虚拟磁盘时,可以创建新的 VMDK 文件,也可以使用现有的 VMDK 文件来支持虚拟磁盘。

要求

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

  • vSphere 7.0.3 或更高版本

  • python >= 3.6

  • aiohttp

参数

参数

注释

backing

字典

虚拟磁盘的现有物理资源支持。必须指定 backingnew_vmdk 中的一个。

如果未设置,则虚拟磁盘将不会连接到现有的支持。state=['present'] 时必需

有效属性为

  • type (str):此选项定义虚拟磁盘的有效支持类型。(['present'])

当使用 ['present'] 时,此键是必需的。

  • 接受的值

  • VMDK_FILE

  • vmdk_file (str):支持虚拟磁盘的 VMDK 文件的路径。

此字段是可选的,并且仅在 type 的值为 VMDK_FILE 时才相关。(['present'])

disk

字符串

虚拟磁盘标识符。

该参数必须是 vmware.vmware_rest.vcenter_vm_hardware_disk 返回的资源的 ID。state=['absent', 'present'] 时必需

ide

字典

用于将设备连接到虚拟 IDE 适配器的地址。

如果未设置,服务器将选择可用地址;如果没有可用地址,则请求将失败。

有效属性为

  • primary (bool):标志,指定设备是否应连接到虚拟机的主 IDE 适配器或辅助 IDE 适配器。

如果未设置,服务器将选择具有可用连接的适配器。如果没有可用的 IDE 连接,则请求将被拒绝。(['present'])

  • master (bool):标志,指定设备应是 IDE 适配器上的主设备还是从设备。

如果未设置,服务器将选择可用的连接类型。如果没有可用的 IDE 连接,则请求将被拒绝。(['present'])

label

字符串

项目的名称

new_vmdk

字典

用于创建虚拟磁盘的新 VMDK 支持的规范。必须指定 backingnew_vmdk 中的一个。

如果未设置,则不会创建新的 VMDK 支持。

有效属性为

  • name (str):VMDK 文件的基本名称。名称不应包含“.vmdk”文件扩展名。

如果未设置,服务器将选择一个名称(从虚拟机名称派生)。(['present'])

  • capacity (int):虚拟磁盘支持的容量,以字节为单位。

如果未设置,则默认为特定于访客的容量。(['present'])

  • storage_policy (dict):storage_policy_spec 结构包含有关要与 VMDK 文件关联的存储策略的信息。

如果未设置,则应用目标数据存储的默认存储策略(如果适用)。当前,只有基于对象的存储(VVol 和 vSAN)才支持默认存储策略。对于非对象数据存储,如果未设置,则不会将任何存储策略与 VMDK 文件关联。(['present'])

  • 接受的键

  • policy (string):应与 VMDK 文件关联的存储策略的标识符。

当客户端将此结构的值作为参数传递时,该字段必须是由 vmware.vmware_rest.vcenter_storage_policies_info 返回的资源的 ID。

nvme

字典

用于将设备连接到虚拟 NVMe 适配器的地址。

如果未设置,服务器将选择可用地址;如果没有可用地址,则请求将失败。state=['present'] 时必需

有效属性为

  • bus (int):设备应连接到的适配器的总线号。(['present'])

当使用 ['present'] 时,此键是必需的。

  • unit (int):设备的单元号。

如果未设置,服务器将选择指定适配器上可用的单元号。如果适配器上没有可用的连接,则请求将被拒绝。(['present'])

sata

字典

用于将设备连接到虚拟 SATA 适配器的地址。

如果未设置,服务器将选择可用地址;如果没有可用地址,则请求将失败。state=['present'] 时必需

有效属性为

  • bus (int):设备应连接到的适配器的总线号。(['present'])

当使用 ['present'] 时,此键是必需的。

  • unit (int):设备的单元号。

如果未设置,服务器将选择指定适配器上可用的单元号。如果适配器上没有可用的连接,则请求将被拒绝。(['present'])

scsi

字典

用于将设备连接到虚拟 SCSI 适配器的地址。

如果未设置,服务器将选择可用地址;如果没有可用地址,则请求将失败。state=['present'] 时必需

有效属性为

  • bus (int):设备应连接到的适配器的总线号。(['present'])

当使用 ['present'] 时,此键是必需的。

  • unit (int):设备的单元号。

如果未设置,服务器将选择指定适配器上可用的单元号。如果适配器上没有可用的连接,则请求将被拒绝。(['present'])

session_timeout

浮点数

在 vmware.vmware_rest 2.1.0 中添加

客户端会话的超时设置。

整个操作的最大秒数,包括建立连接、发送请求和响应。

默认值为 300 秒。

state

字符串

选择

  • "absent"

  • "present" ←(默认)

type

字符串

host_bus_adapter_type 枚举类型定义可用于将虚拟存储设备连接到虚拟机的有效主机总线适配器类型。

选择

  • "IDE"

  • "NVME"

  • "SATA"

  • "SCSI"

vcenter_hostname

字符串 / 必需

vSphere vCenter 的主机名或 IP 地址

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

vcenter_password

字符串 / 必需

vSphere vCenter 密码

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

vcenter_rest_log_file

字符串

您可以使用此可选参数来设置日志文件的位置。

此文件将用于记录 HTTP REST 交互。

该文件将存储在运行模块的主机上。

如果未在任务中指定该值,则将使用

将使用环境变量 VMWARE_REST_LOG_FILE 代替。

vcenter_username

字符串 / 必需

vSphere vCenter 用户名

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

vcenter_validate_certs

布尔值

允许在 SSL 证书无效时建立连接。当证书不受信任时,设置为 false

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

选择

  • false

  • true ← (默认)

vm

字符串 / 必需

虚拟机标识符。

该参数必须是由 vmware.vmware_rest.vcenter_vm_info 返回的资源的 ID。此参数是必需的。

备注

注意

  • 在 vSphere 7.0.3 上测试过

示例

- name: Look up the VM called test_vm1 in the inventory
  register: search_result
  vmware.vmware_rest.vcenter_vm_info:
    filter_names:
    - test_vm1

- name: Collect information about a specific VM
  vmware.vmware_rest.vcenter_vm_info:
    vm: '{{ search_result.value[0].vm }}'
  register: test_vm1_info

- name: Create a new disk
  vmware.vmware_rest.vcenter_vm_hardware_disk:
    vm: '{{ test_vm1_info.id }}'
    type: SATA
    new_vmdk:
      capacity: 320000
  register: my_new_disk

- name: Delete the disk
  vmware.vmware_rest.vcenter_vm_hardware_disk:
    vm: '{{ test_vm1_info.id }}'
    disk: '{{ my_new_disk.id }}'
    state: absent
  register: _result

返回值

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

描述

id

字符串

资源的 moid

返回: 成功时

示例: "16000"

value

字典

创建一个新磁盘

返回: 成功时

示例: {"backing": {"type": "VMDK_FILE", "vmdk_file": "[local] test_vm1/test_vm1_1.vmdk"}, "capacity": 320000, "label": "Hard disk 2", "sata": {"bus": 0, "unit": 0}, "type": "SATA"}

作者

  • Ansible 云团队 (@ansible-collections)