community.vmware.vmware_drs_group_manager – Manage VMs and Hosts in DRS group.
Note
This plugin is part of the community.vmware collection (version 1.7.0).
To install it use: ansible-galaxy collection install community.vmware.
To use it in a playbook, specify: community.vmware.vmware_drs_group_manager.
New in version 1.7.0: of community.vmware
Synopsis
- The module can be used to add VMs / Hosts to or remove them from a DRS group.
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.7
- PyVmomi
Parameters
| Parameter | Choices/Defaults | Comments |
|---|---|---|
| cluster string / required | Cluster to which DRS group associated with. aliases: cluster_name | |
| datacenter string | Name of the datacenter. aliases: datacenter_name | |
| group_name string / required | The name of the group to manage. | |
| hostname string | The hostname or IP address of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable VMWARE_HOST will be used instead.Environment variable support added in Ansible 2.6. | |
| hosts list / elements=string | A List of hosts to add / remove in the group. Required only if vms is not set. | |
| password string | The password of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable VMWARE_PASSWORD will be used instead.Environment variable support added in Ansible 2.6. aliases: pass, pwd | |
| port integer | Default: 443 | The port number of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable VMWARE_PORT will be used instead.Environment variable support added in Ansible 2.6. |
| proxy_host string | Address of a proxy that will receive all HTTPS requests and relay them. The format is a hostname or a IP. If the value is not specified in the task, the value of environment variable VMWARE_PROXY_HOST will be used instead.This feature depends on a version of pyvmomi greater than v6.7.1.2018.12 | |
| proxy_port integer | Port of the HTTP proxy that will receive all HTTPS requests and relay them. If the value is not specified in the task, the value of environment variable VMWARE_PROXY_PORT will be used instead. | |
| state string |
| If set to present, VMs/hosts will be added to the given DRS group.If set to absent, VMs/hosts will be removed from the given DRS group. |
| username string | The username of the vSphere vCenter or ESXi server. If the value is not specified in the task, the value of environment variable VMWARE_USER will be used instead.Environment variable support added in Ansible 2.6. aliases: admin, user | |
| validate_certs boolean |
| Allows connection when SSL certificates are not valid. Set to false when certificates are not trusted.If the value is not specified in the task, the value of environment variable VMWARE_VALIDATE_CERTS will be used instead.Environment variable support added in Ansible 2.6. If set to true, please make sure Python >= 2.7.9 is installed on the given machine. |
| vms list / elements=string | A List of vms to add / remove in the group. Required only if hosts is not set. |
Notes
Note
- Tested on vSphere 6.5, and 6.7.
Examples
---
- name: Add VMs in an existing DRS VM group
delegate_to: localhost
community.vmware.vmware_drs_group_manager:
hostname: "{{ vcenter_hostname }}"
password: "{{ vcenter_password }}"
username: "{{ vcenter_username }}"
cluster: DC0_C0
datacenter: DC0
group_name: TEST_VM_01
vms:
- DC0_C0_RP0_VM0
- DC0_C0_RP0_VM1
state: present
- name: Add Hosts in an existing DRS Host group
delegate_to: localhost
community.vmware.vmware_drs_group_manager:
hostname: "{{ vcenter_hostname }}"
password: "{{ vcenter_password }}"
username: "{{ vcenter_username }}"
cluster: DC0_C0
datacenter: DC0
group_name: TEST_HOST_01
hosts:
- DC0_C0_H0
- DC0_C0_H1
- DC0_C0_H2
state: present
- name: Remove VM from an existing DRS VM group
delegate_to: localhost
community.vmware.vmware_drs_group_manager:
hostname: "{{ vcenter_hostname }}"
password: "{{ vcenter_password }}"
username: "{{ vcenter_username }}"
cluster: DC0_C0
datacenter: DC0
group_name: TEST_VM_01
vms:
- DC0_C0_RP0_VM0
state: absent
- name: Remove host from an existing DRS Host group
delegate_to: localhost
community.vmware.vmware_drs_group_manager:
hostname: "{{ vcenter_hostname }}"
password: "{{ vcenter_password }}"
username: "{{ vcenter_username }}"
cluster: DC0_C0
datacenter: DC0
group_name: TEST_HOST_01
hosts:
- DC0_C0_H0
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description |
|---|---|---|
| drs_group_member_info dictionary | always | Metadata about DRS group Sample: {'Asia-Cluster1': [{'group_name': 'vm_group_002', 'type': 'vm', 'vms': ['dev-1']}]} |
| msg string | always | Info message Sample: Updated host group TEST_HOST_01 successfully |
Authors
- Abhijeet Kasurde (@Akasurde)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/vmware/vmware_drs_group_manager_module.html