vmware.vmware.tag_associations module – Manage the tags associated with a vSphere object.
Note
This module is part of the vmware.vmware collection (version 2.9.0).
You might already have this collection installed if you are using the ansible package.
It is not included in ansible-core.
To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install vmware.vmware.
To use it in a playbook, specify: vmware.vmware.tag_associations.
Synopsis
This module allows you to attach and detach tags to a vSphere object.
For better performance, use object IDs instead of names when possible.
Parameters
Parameter |
Comments |
|---|---|
The hostname or IP address of the vSphere vCenter server. If the value is not specified in the task, the value of environment variable |
|
The managed object ID (MOID) of the object to manage. One of |
|
The name of the object to manage. One of |
|
The type of the object to manage. Choices:
|
|
The password of the vSphere vCenter server. If the value is not specified in the task, the value of environment variable |
|
The port number of the vSphere vCenter server. If the value is not specified in the task, the value of environment variable Default: |
|
The 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 |
|
The 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 |
|
The proxy connection protocol to use. This option is used if the correct proxy protocol cannot be automatically determined. Choices:
|
|
Whether to remove tags that are not in the list of tags to manage. If Choices:
|
|
Whether ensure the tags are present or absent on the object. Choices:
|
|
A list of tags to manage. |
|
The id of the category of the tag. Either category_name or category_id is required when looking up a tag by name. The category must already exist. |
|
The name of the category of the tag. Either category_name or category_id is required when looking up a tag by name. The category must already exist. |
|
The id of the tag to manage. Either |
|
The name of the tag. Either |
|
The username of the vSphere vCenter server. If the value is not specified in the task, the value of environment variable |
|
Allows connection when SSL certificates are not valid. Set to If the value is not specified in the task, the value of environment variable Choices:
|
|
Whether to validate the tags before attaching them to the object. If true, additional API calls will be made to validate the tags exist and can be applied to the type of object specified. If a tag fails validation, an error will be raised. If false, the tags will be attached to the object without validation. This is faster, but may result in the module reporting changes every time. This is due to the module attempting to attach the tag, and vSphere simply ignoring the invalid request. Choices:
|
Notes
Note
All modules require API write access and hence are not supported on a free ESXi license.
All variables and VMware object names are case sensitive.
Modules may rely on the ‘requests’ python library, which does not use the system certificate store by default. You can specify the certificate store by setting the REQUESTS_CA_BUNDLE environment variable. Note having this variable set may cause a ‘false’ value for the ‘validate_certs’ option to be ignored in some cases. Example: ‘export REQUESTS_CA_BUNDLE=/path/to/your/ca_bundle.pem’
See Also
See also
- vmware.vmware.tags
Manage one or more VMware tags.
- vmware.vmware.tag_categories
Manage one or more VMware tag categories.
Examples
- name: Attach tags to a VM
vmware.vmware.tag_associations:
state: present
object_moid: "{{ lookup('vmware.vmware.moid_from_path', '/Datacenter/vm/test-vm') }}"
object_type: VirtualMachine
tags:
- name: my-test-tag-1
category_id: urn:vmomi:InventoryServiceCategory:00000000-0000-0000-0000-000000000000:GLOBAL
- id: urn:vmomi:InventoryServiceTag:00000000-0000-0000-0000-21b1f07e73cf:GLOBAL
category_id: urn:vmomi:InventoryServiceCategory:00000000-0000-0000-0000-000000000000:GLOBAL
- name: my-test-tag-3
category_name: my-test-category
- name: Make sure only these two tags are attached to the VM
vmware.vmware.tag_associations:
state: present
object_moid: "{{ lookup('vmware.vmware.moid_from_path', '/Datacenter/vm/test-vm') }}"
object_type: VirtualMachine
remove_extra_tags: true
tags:
- name: my-test-tag-1
category_id: urn:vmomi:InventoryServiceCategory:00000000-0000-0000-0000-000000000000:GLOBAL
- id: urn:vmomi:InventoryServiceTag:00000000-0000-0000-0000-21b1f07e73cf:GLOBAL
category_id: urn:vmomi:InventoryServiceCategory:00000000-0000-0000-0000-000000000000:GLOBAL
- name: Remove all tags from the VM
vmware.vmware.tag_associations:
state: absent
object_moid: "{{ lookup('vmware.vmware.moid_from_path', '/Datacenter/vm/test-vm') }}"
object_type: VirtualMachine
remove_extra_tags: true
tags: []
- name: Remove a tag from the VM
vmware.vmware.tag_associations:
state: present
object_moid: "{{ lookup('vmware.vmware.moid_from_path', '/Datacenter/vm/test-vm') }}"
object_type: VirtualMachine
tags:
- name: my-test-tag-1
category_id: urn:vmomi:InventoryServiceCategory:00000000-0000-0000-0000-000000000000:GLOBAL
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
|---|---|
A list of tag IDs that were added to the object. Returned: always Sample: |
|
A dictionary containing details about the object that was managed. Returned: always Sample: |
|
A list of tag IDs that were removed from the object. Returned: always Sample: |
Authors
Ansible Cloud Team (@ansible-collections)