vmware_guest_custom_attributes – Manage custom attributes from VMware for the given virtual machine
New in version 2.7.
Synopsis
- This module can be used to add, remove and update custom attributes for the given virtual machine.
 
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.6
 - PyVmomi
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
|   attributes    list    |   Default: []   |    A list of name and value of custom attributes that needs to be manage.  Value of custom attribute is not required and will be ignored, if   state is set to absent. |  
|   datacenter    string / required    |    Datacenter name where the virtual machine is located in.   |  |
|   folder    string    |    Absolute path to find an existing guest.  This is required parameter, if   name is supplied and multiple virtual machines with same name are found. |  |
|   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.   |  |
|   moid    string   added in 2.9   |    Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.  This is required if   name or uuid is not supplied. |  |
|   name    string / required    |    Name of the virtual machine to work with.  This is required parameter, if   uuid or moid is not supplied. |  |
|   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.   |  
|   proxy_host    string   added in 2.9   |    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   added in 2.9   |    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    |   
  |    The action to take.  If set to   present, then custom attribute is added or updated.If set to   absent, then custom attribute is removed. |  
|   use_instance_uuid    boolean   added in 2.8   |   
  |    Whether to use the VMware instance UUID rather than the BIOS UUID.   |  
|   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  |  |
|   uuid    string    |    UUID of the virtual machine to manage if known. This is VMware's unique identifier.  This is required parameter, if   name or moid is not supplied. |  |
|   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. |  
Notes
Note
- Tested on vSphere 6.5
 
Examples
- name: Add virtual machine custom attributes
  vmware_guest_custom_attributes:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    uuid: 421e4592-c069-924d-ce20-7e7533fab926
    state: present
    attributes:
      - name: MyAttribute
        value: MyValue
  delegate_to: localhost
  register: attributes
- name: Add multiple virtual machine custom attributes
  vmware_guest_custom_attributes:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    uuid: 421e4592-c069-924d-ce20-7e7533fab926
    state: present
    attributes:
      - name: MyAttribute
        value: MyValue
      - name: MyAttribute2
        value: MyValue2
  delegate_to: localhost
  register: attributes
- name: Remove virtual machine Attribute
  vmware_guest_custom_attributes:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    uuid: 421e4592-c069-924d-ce20-7e7533fab926
    state: absent
    attributes:
      - name: MyAttribute
  delegate_to: localhost
  register: attributes
- name: Remove virtual machine Attribute using Virtual Machine MoID
  vmware_guest_custom_attributes:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    moid: vm-42
    state: absent
    attributes:
      - name: MyAttribute
  delegate_to: localhost
  register: attributes
   Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
|   custom_attributes    dictionary    |  always |   metadata about the virtual machine attributes  Sample:  {'mycustom': 'my_custom_value', 'mycustom_2': 'my_custom_value_2', 'sample_1': 'sample_1_value', 'sample_2': 'sample_2_value', 'sample_3': 'sample_3_value'}   |  
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
 - This module is maintained by the Ansible Community. [community]
 
Authors
- Jimmy Conner (@cigamit)
 - Abhijeet Kasurde (@Akasurde)
 
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
    © 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.9/modules/vmware_guest_custom_attributes_module.html