vmware.vmware_rest.vcenter_vm_info 模块 – 返回有关虚拟机的 信息。

注意

此模块是 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_info

vmware.vmware_rest 0.1.0 中的新增功能

概要

  • 返回有关虚拟机的信息。

要求

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

  • vSphere 7.0.3 或更高版本

  • python >= 3.6

  • aiohttp

参数

参数

注释

集群

列表 / 元素=字符串

必须包含虚拟机才能使虚拟机与筛选器匹配的集群。

如果未设置或为空,则任何集群中的虚拟机都与筛选器匹配。

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

数据中心

别名:filter_datacenters

列表 / 元素=字符串

必须包含虚拟机才能使虚拟机与筛选器匹配的数据中心。

如果未设置或为空,则任何数据中心中的虚拟机都与筛选器匹配。

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

文件夹

别名:filter_folders

列表 / 元素=字符串

必须包含虚拟机才能使虚拟机与筛选器匹配的文件夹。

如果未设置或为空,则任何文件夹中的虚拟机都与筛选器匹配。

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

主机

列表 / 元素=字符串

必须包含虚拟机才能使虚拟机与筛选器匹配的主机。

如果未设置或为空,则任何主机上的虚拟机都与筛选器匹配。

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

名称

别名:filter_names

列表 / 元素=字符串

虚拟机必须具有的名称才能与筛选器匹配(请参阅 name)。

如果未设置或为空,则任何名称的虚拟机都与筛选器匹配。

电源状态

列表 / 元素=字符串

虚拟机必须处于的电源状态才能与筛选器匹配(请参阅

如果未设置或为空,则任何电源状态下的虚拟机都与筛选器匹配。

资源池

列表 / 元素=字符串

必须包含虚拟机才能使虚拟机与筛选器匹配的资源池。

如果未设置或为空,则任何资源池中的虚拟机都与筛选器匹配。

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

会话超时

浮点数

在 vmware.vmware_rest 2.1.0 中添加

客户端会话的超时设置。

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

默认值为 300 秒。

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。state=[‘get’] 时为必需

vms

列表 / 元素=字符串

可以与筛选器匹配的虚拟机的标识符。

如果未设置或为空,则任何标识符的虚拟机都与筛选器匹配。

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

注意

注意

  • 在 vSphere 7.0.3 上测试

示例

- name: Create a VM
  vmware.vmware_rest.vcenter_vm:
    placement:
      cluster: "{{ lookup('vmware.vmware_rest.cluster_moid', '/my_dc/host/my_cluster') }}"
      datastore: "{{ lookup('vmware.vmware_rest.datastore_moid', '/my_dc/datastore/local') }}"
      folder: "{{ lookup('vmware.vmware_rest.folder_moid', '/my_dc/vm') }}"
      resource_pool: "{{ lookup('vmware.vmware_rest.resource_pool_moid', '/my_dc/host/my_cluster/Resources') }}"
    name: test_vm1
    guest_OS: RHEL_7_64
    hardware_version: VMX_11
    memory:
      hot_add_enabled: true
      size_MiB: 1024
    disks:
    - type: SATA
      backing:
        type: VMDK_FILE
        vmdk_file: '[local] test_vm1/{{ disk_name }}.vmdk'
    - type: SATA
      new_vmdk:
        name: second_disk
        capacity: 32000000000
    cdroms:
    - type: SATA
      sata:
        bus: 0
        unit: 2
    nics:
    - backing:
        type: STANDARD_PORTGROUP
        network: "{{ lookup('vmware.vmware_rest.network_moid', '/my_dc/network/VM Network') }}"
  register: my_vm

- name: Wait until my VM is off
  vmware.vmware_rest.vcenter_vm_info:
    vm: '{{ my_vm.id }}'
  register: vm_info
  until:
  - vm_info is not failed
  - vm_info.value.power_state == "POWERED_OFF"
  retries: 60
  delay: 5

- register: _should_be_empty
  name: Search with an invalid filter
  vmware.vmware_rest.vcenter_vm_info:
    filter_names: test_vm1_does_not_exists

- 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

返回值

通用返回值在这里 有文档记录,以下是此模块特有的字段

描述

id

字符串

资源的moid

返回: 成功时

示例: "vm-1049"

字典

等待我的虚拟机关闭

返回: 成功时

示例: {"boot": {"delay": 0, "enter_setup_mode": 0, "retry": 0, "retry_delay": 10000, "type": "BIOS"}, "boot_devices": [], "cdroms": {"16002": {"allow_guest_control": 0, "backing": {"auto_detect": 1, "device_access_type": "EMULATION", "type": "HOST_DEVICE"}, "label": "CD/DVD drive 1", "sata": {"bus": 0, "unit": 2}, "start_connected": 0, "state": "NOT_CONNECTED", "type": "SATA"}}, "cpu": {"cores_per_socket": 1, "count": 1, "hot_add_enabled": 0, "hot_remove_enabled": 0}, "disks": {"16000": {"backing": {"type": "VMDK_FILE", "vmdk_file": "[local] test_vm1/rhel-8.5.vmdk"}, "capacity": 16106127360, "label": "Hard disk 1", "sata": {"bus": 0, "unit": 0}, "type": "SATA"}, "16001": {"backing": {"type": "VMDK_FILE", "vmdk_file": "[local] test_vm1_1/second_disk.vmdk"}, "capacity": 32000000000, "label": "Hard disk 2", "sata": {"bus": 0, "unit": 1}, "type": "SATA"}}, "floppies": {}, "guest_OS": "RHEL_7_64", "hardware": {"upgrade_policy": "NEVER", "upgrade_status": "NONE", "version": "VMX_11"}, "identity": {"bios_uuid": "4231943a-a1b5-9d24-1e05-d447e9ff0396", "instance_uuid": "5031e081-01a7-d61a-31f8-4bc54057ec60", "name": "test_vm1"}, "instant_clone_frozen": 0, "memory": {"hot_add_enabled": 1, "size_MiB": 1024}, "name": "test_vm1", "nics": {"4000": {"allow_guest_control": 0, "backing": {"network": "network-1041", "network_name": "VM Network", "type": "STANDARD_PORTGROUP"}, "label": "Network adapter 1", "mac_address": "00:50:56:b1:22:7d", "mac_type": "ASSIGNED", "pci_slot_number": 160, "start_connected": 0, "state": "NOT_CONNECTED", "type": "VMXNET3", "upt_compatibility_enabled": 0, "wake_on_lan_enabled": 0}}, "nvme_adapters": {}, "parallel_ports": {}, "power_state": "POWERED_OFF", "sata_adapters": {"15000": {"bus": 0, "label": "SATA controller 0", "pci_slot_number": 32, "type": "AHCI"}}, "scsi_adapters": {}, "serial_ports": {}}

作者

  • Ansible 云团队 (@ansible-collections)