vmware_vm_vm_drs_rule – Configure VMware DRS Affinity rule for virtual machine in given cluster¶
New in version 2.5.
Synopsis¶
This module can be used to configure VMware DRS Affinity rule for virtual machine in given cluster.
Requirements¶
The below requirements are needed on the host that executes this module.
python >= 2.6
PyVmomi
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
affinity_rule
boolean
|
|
If set to
True , the DRS rule will be an Affinity rule.If set to
False , the DRS rule will be an Anti-Affinity rule.Effective only if
state is set to present . |
cluster_name
-
/ required
|
Desired cluster name where virtual machines are present for the DRS rule.
|
|
drs_rule_name
-
/ required
|
The name of the DRS rule to manage.
|
|
enabled
boolean
|
|
If set to
True , the DRS rule will be enabled.Effective only if
state is set to present . |
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.
|
|
mandatory
boolean
|
|
If set to
True , the DRS rule will be mandatory.Effective only if
state is set to present . |
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
added in 2.5 |
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.
|
state
-
|
|
If set to
present , then the DRS rule is created if not present.If set to
present , then the DRS rule is deleted and created if present already.If set to
absent , then the DRS rule is deleted if present. |
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
yes , please make sure Python >= 2.7.9 is installed on the given machine. |
vms
-
|
List of virtual machines name for which DRS rule needs to be applied.
Required if
state is set to present . |
Notes¶
Note
Tested on vSphere 6.5
Examples¶
- name: Create DRS Affinity Rule for VM-VM
vmware_vm_vm_drs_rule:
hostname: "{{ esxi_server }}"
username: "{{ esxi_username }}"
password: "{{ esxi_password }}"
cluster_name: "{{ cluster_name }}"
validate_certs: no
vms:
- vm1
- vm2
drs_rule_name: vm1-vm2-affinity-rule-001
enabled: True
mandatory: True
affinity_rule: True
delegate_to: localhost
- name: Create DRS Anti-Affinity Rule for VM-VM
vmware_vm_vm_drs_rule:
hostname: "{{ esxi_server }}"
username: "{{ esxi_username }}"
password: "{{ esxi_password }}"
cluster_name: "{{ cluster_name }}"
validate_certs: no
vms:
- vm1
- vm2
drs_rule_name: vm1-vm2-affinity-rule-001
enabled: True
mandatory: True
affinity_rule: False
delegate_to: localhost
- name: Delete DRS Affinity Rule for VM-VM
vmware_vm_vm_drs_rule:
hostname: "{{ esxi_server }}"
username: "{{ esxi_username }}"
password: "{{ esxi_password }}"
cluster_name: "{{ cluster_name }}"
validate_certs: no
drs_rule_name: vm1-vm2-affinity-rule-001
state: absent
delegate_to: localhost
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
result
dictionary
|
when state is present |
metadata about DRS VM and VM rule
Sample:
{'rule_enabled': False, 'rule_key': 20, 'rule_mandatory': True, 'rule_name': 'drs_rule_0014', 'rule_uuid': '525f3bc0-253f-825a-418e-2ec93bffc9ae', 'rule_vms': ['VM_65', 'VM_146']}
|
Status¶
This module is not guaranteed to have a backwards compatible interface. [preview]
This module is maintained by the Ansible Community. [community]