New in version 2.2.
- python >= 2.6
- apache-libcloud >= 1.2.0
parameter | required | default | choices | comments |
---|---|---|---|---|
autoscaling |
no | A dictionary of configuration for the autoscaler. 'enabled (bool)', 'name (str)' and policy.max_instances (int) are required fields if autoscaling is used. See https://cloud.google.com/compute/docs/reference/beta/autoscalers for more information on Autoscaling. | ||
credentials_file |
no | Path to the JSON file associated with the service account email | ||
name |
yes | Name of the Managed Instance Group. | ||
named_ports (added in 2.3) |
no | Define named ports that backend services can forward data to. Format is a a list of name:port dictionaries. | ||
project_id |
no | GCE project ID | ||
service_account_email |
no | service account email | ||
size |
no | Size of Managed Instance Group. If MIG already exists, it will be resized to the number provided here. Required for creating MIGs. | ||
state |
no | present |
|
desired state of the resource |
template |
no | Instance Template to be used in creating the VMs. See https://cloud.google.com/compute/docs/instance-templates to learn more about Instance Templates. Required for creating MIGs. | ||
zone |
yes | The GCE zone to use for this Managed Instance Group. |
# Following playbook creates, rebuilds instances, resizes and then deletes a MIG. # Notes: # - Two valid Instance Templates must exist in your GCE project in order to run # this playbook. Change the fields to match the templates used in your # project. # - The use of the 'pause' module is not required, it is just for convenience. - name: Managed Instance Group Example hosts: localhost gather_facts: False tasks: - name: Create MIG gce_mig: name: ansible-mig-example zone: us-central1-c state: present size: 1 template: my-instance-template-1 named_ports: - name: http port: 80 - name: foobar port: 82 - name: Pause for 30 seconds pause: seconds: 30 - name: Recreate MIG Instances with Instance Template change. gce_mig: name: ansible-mig-example zone: us-central1-c state: present template: my-instance-template-2-small recreate_instances: yes - name: Pause for 30 seconds pause: seconds: 30 - name: Resize MIG gce_mig: name: ansible-mig-example zone: us-central1-c state: present size: 3 - name: Update MIG with Autoscaler gce_mig: name: ansible-mig-example zone: us-central1-c state: present size: 3 template: my-instance-template-2-small recreate_instances: yes autoscaling: enabled: yes name: my-autoscaler policy: min_instances: 2 max_instances: 5 cool_down_period: 37 cpu_utilization: target: .39 load_balancing_utilization: target: 0.4 - name: Pause for 30 seconds pause: seconds: 30 - name: Delete MIG gce_mig: name: ansible-mig-example zone: us-central1-c state: absent autoscaling: enabled: no name: my-autoscaler
Common return values are documented here Return Values, the following are the fields unique to this module:
name | description | returned | type | sample |
---|---|---|---|---|
set_named_ports | True if the named_ports have been set | named_ports have been set | bool | True |
deleted_instances | Names of instances deleted. | When instances are deleted. | list | ['ansible-mig-new-0k4y', 'ansible-mig-new-0zk5', 'ansible-mig-new-kp68'] |
name | Name of the Managed Instance Group. | changed | string | my-managed-instance-group |
zone | Zone in which to launch MIG. | always | string | us-central1-b |
created_instances | Names of instances created. | When instances are created. | list | ['ansible-mig-new-0k4y', 'ansible-mig-new-0zk5', 'ansible-mig-new-kp68'] |
resize_deleted_instances | Names of instances deleted during resizing. | When a resize results in the deletion of instances. | list | ['ansible-mig-new-0k4y', 'ansible-mig-new-0zk5', 'ansible-mig-new-kp68'] |
created_autoscaler | True if Autoscaler was attempted and created. False otherwise. | When the creation of an Autoscaler was attempted. | bool | True |
named_ports | list of named ports acted upon | when named_ports are initially set or updated | list | [{'name': 'http', 'port': 80}, {'name': 'foo', 'port': 82}] |
recreated_instances | Names of instances recreated. | When instances are recreated. | list | ['ansible-mig-new-0k4y', 'ansible-mig-new-0zk5', 'ansible-mig-new-kp68'] |
template | Instance Template to use for VMs. Must exist prior to using with MIG. | changed | string | my-instance-template |
updated_autoscaler | True if an Autoscaler update was attempted and succeeded. False returned if update failed. | When the update of an Autoscaler was attempted. | bool | True |
updated_named_ports | True if the named_ports have been updated | named_ports have been updated | bool | True |
resize_created_instances | Names of instances created during resizing. | When a resize results in the creation of instances. | list | ['ansible-mig-new-0k4y', 'ansible-mig-new-0zk5', 'ansible-mig-new-kp68'] |
deleted_autoscaler | True if an Autoscaler delete attempted and succeeded. False returned if delete failed. | When the delete of an Autoscaler was attempted. | bool | True |
size | Number of VMs in Managed Instance Group. | changed | integer | 4 |
Note
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
This module is community maintained without core committer oversight.
For more information on what this means please read Module Support
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Helping Testing PRs and Developing Modules.