vmware.vmware_rest.vcenter_vm_power 模块 – 对虚拟机执行启动、强制关机、强制重启或强制挂起操作。

注意

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

vmware.vmware_rest 0.1.0 中的新增功能

概要

  • 请求 vCenter 启动、强制关机或强制重启虚拟机。

要求

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

  • vSphere 7.0.3 或更高版本

  • python >= 3.6

  • aiohttp

参数

参数

注释

session_timeout

浮点数

在 vmware.vmware_rest 2.1.0 中添加

客户端会话的超时设置。

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

默认值为 300 秒。

state

字符串 / 必需

选项

  • "reset"

  • "start"

  • "stop"

  • "suspend"

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 上测试过

另请参阅

另请参阅

vmware.vmware_rest.vcenter_vm_guest_power

向客户操作系统发出请求,要求其执行软关机、待机(挂起)或软重启

示例

- 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: Turn the power of the VM on
  vmware.vmware_rest.vcenter_vm_power:
    state: start
    vm: '{{ my_vm.id }}'

- name: Turn on the power of the VM
  vmware.vmware_rest.vcenter_vm_power:
    state: start
    vm: '{{ my_vm.id }}'

- 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: Turn the power of the VM on
  vmware.vmware_rest.vcenter_vm_power:
    state: start
    vm: '{{ test_vm1_info.id }}'

返回值

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

描述

msg

字符串

关闭虚拟机

返回:成功时

示例:"All items completed"

results

列表 / 元素=字符串

关闭虚拟机

返回:成功时

示例: [{"_ansible_item_label": {"cpu_count": 1, "memory_size_MiB": 128, "name": "vCLS-e89f3630-0f4d-4adb-bac5-1912e2b5d8ab", "power_state": "POWERED_OFF", "vm": "vm-1023"}, "_ansible_no_log": null, "ansible_loop_var": "item", "changed": 0, "failed": 0, "invocation": {"module_args": {"session_timeout": null, "state": "stop", "vcenter_hostname": "vcenter.test", "vcenter_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "vcenter_rest_log_file": "/tmp/vmware_rest.log", "vcenter_username": "[email protected]", "vcenter_validate_certs": 0, "vm": "vm-1023"}}, "item": {"cpu_count": 1, "memory_size_MiB": 128, "name": "vCLS-e89f3630-0f4d-4adb-bac5-1912e2b5d8ab", "power_state": "POWERED_OFF", "vm": "vm-1023"}, "value": {"error_type": "ALREADY_IN_DESIRED_STATE", "messages": [{"args": [], "default_message": "虚拟机已关闭。", "id": "com.vmware.api.vcenter.vm.power.already_powered_off"}, {"args": [], "default_message": "当前状态(已关闭)下无法执行此操作。", "id": "vmsg.InvalidPowerState.summary"}]}}, {"_ansible_item_label": {"cpu_count": 1, "memory_size_MiB": 1080, "name": "test_vm1", "power_state": "POWERED_ON", "vm": "vm-1024"}, "_ansible_no_log": null, "ansible_loop_var": "item", "changed": 0, "failed": 0, "invocation": {"module_args": {"session_timeout": null, "state": "stop", "vcenter_hostname": "vcenter.test", "vcenter_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "vcenter_rest_log_file": "/tmp/vmware_rest.log", "vcenter_username": "[email protected]", "vcenter_validate_certs": 0, "vm": "vm-1024"}}, "item": {"cpu_count": 1, "memory_size_MiB": 1080, "name": "test_vm1", "power_state": "POWERED_ON", "vm": "vm-1024"}, "value": {}}]

作者

  • Ansible 云团队 (@ansible-collections)