gce_labels - Create, Update or Destory GCE Labels.
New in version 2.4.
Synopsis
- Create, Update or Destory GCE Labels on instances, disks, snapshots, etc. When specifying the GCE resource, users may specifiy the full URL for the resource (its ‘self_link’), or the individual parameters of the resource (type, location, name). Examples for the two options can be seen in the documentaion. See https://cloud.google.com/compute/docs/label-or-tag-resources for more information about GCE Labels. Labels are gradually being added to more GCE resources, so this module will need to be updated as new resources are added to the GCE (v1) API.
Requirements (on host that executes module)
- python >= 2.6
- google-api-python-client >= 1.6.2
- google-auth >= 1.0.0
- google-auth-httplib2 >= 0.0.2
Options
parameter | required | default | choices | comments |
---|---|---|---|---|
labels | no | A list of labels (key/value pairs) to add or remove for the resource. | ||
resource_location | no | The location of resource (global, us-central1-f, etc.) | ||
resource_name | no | The name of resource. | ||
resource_type | no | The type of resource (instances, disks, snapshots, images) | ||
resource_url | no | The 'self_link' for the resource (instance, disk, snapshot, etc) |
Examples
- name: Add labels on an existing instance (using resource_url) gce_labels: service_account_email: "{{ service_account_email }}" credentials_file: "{{ credentials_file }}" project_id: "{{ project_id }}" labels: webserver-frontend: homepage environment: test experiment-name: kennedy resource_url: https://www.googleapis.com/compute/beta/projects/myproject/zones/us-central1-f/instances/example-instance state: present - name: Add labels on an image (using resource params) gce_labels: service_account_email: "{{ service_account_email }}" credentials_file: "{{ credentials_file }}" project_id: "{{ project_id }}" labels: webserver-frontend: homepage environment: test experiment-name: kennedy resource_type: images resource_location: global resource_name: my-custom-image state: present - name: Remove specified labels from the GCE instance gce_labels: service_account_email: "{{ service_account_email }}" credentials_file: "{{ credentials_file }}" project_id: "{{ project_id }}" labels: environment: prod experiment-name: kennedy resource_url: https://www.googleapis.com/compute/beta/projects/myproject/zones/us-central1-f/instances/example-instance state: absent
Return Values
Common return values are documented here Return Values, the following are the fields unique to this module:
name | description | returned | type | sample |
---|---|---|---|---|
labels | List of labels that exist on the resource. | Always. | dict | [{'environment': 'test', 'webserver-frontend': 'homepage', 'environment-name': 'kennedy'}] |
resource_location | The location of the GCE resource. | Always. | str | us-central1-f |
resource_name | The name of the GCE resource. | Always. | str | my-happy-little-instance |
resource_type | The type of the GCE resource. | Always. | str | instances |
resource_url | The 'self_link' of the GCE resource. | Always. | str | https://www.googleapis.com/compute/beta/projects/myproject/zones/us-central1-f/instances/example-instance |
state | state of the labels | Always. | str | present |
Notes
Note
- Labels support resources such as instances, disks, images, etc. See https://cloud.google.com/compute/docs/labeling-resources for the list of resources available in the GCE v1 API (not alpha or beta).
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/gce_labels_module.html