Note
This plugin is part of the community.google collection (version 1.0.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 community.google
.
To use it in a playbook, specify: community.google.gce_instance_template
.
The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments |
---|---|---|
automatic_restart boolean |
| Defines whether the instance should be automatically restarted when it is terminated by Compute Engine. |
can_ip_forward boolean |
| Set to yes to allow instance to send/receive non-matching src/dst packets. |
credentials_file path | path to the JSON file associated with the service account email | |
description string | description of instance template | |
disk_auto_delete boolean |
| Indicate that the boot disk should be deleted when the Node is deleted. |
disk_type string |
| Specify a pd-standard disk or pd-ssd for an SSD disk. |
disks list / elements=string | a list of persistent disks to attach to the instance; a string value gives the name of the disk; alternatively, a dictionary value can define 'name' and 'mode' ('READ_ONLY' or 'READ_WRITE'). The first entry will be the boot disk (which must be READ_WRITE). | |
disks_gce_struct list / elements=string | Support passing in the GCE-specific formatted formatted disks[] structure. Case sensitive. see https://cloud.google.com/compute/docs/reference/latest/instanceTemplates#resource for detailed information | |
external_ip string | Default: "ephemeral" | The external IP address to use. If ephemeral , a new non-static address will be used. If None , then no external address will be used. To use an existing static IP address specify address name. |
image string | The image to use to create the instance. Cannot specify both both image and source. | |
image_family string | Default: "debian-8" | The image family to use to create the instance. If image has been used image_family is ignored. Cannot specify both image and source. |
metadata string | a hash/dictionary of custom data for the instance; '{"key":"value", ...}' | |
name string / required | The name of the GCE instance template. aliases: base_name | |
network string | Default: "default" | The network to associate with the instance. |
nic_gce_struct list / elements=string | Support passing in the GCE-specific formatted networkInterfaces[] structure. | |
pem_file path | path to the pem file associated with the service account email This option is deprecated. Use 'credentials_file'. | |
preemptible boolean |
| Defines whether the instance is preemptible. |
project_id string | your GCE project ID | |
service_account_email string | service account email | |
service_account_permissions list / elements=string | service account permissions (see https://cloud.google.com/sdk/gcloud/reference/compute/instances/create, --scopes section for detailed information) Available choices are: bigquery , cloud-platform , compute-ro , compute-rw , useraccounts-ro , useraccounts-rw , datastore , logging-write , monitoring , sql-admin , storage-full , storage-ro , storage-rw , taskqueue , userinfo-email . | |
size string | Default: "f1-micro" | The desired machine type for the instance template. |
source string | A source disk to attach to the instance. Cannot specify both image and source. | |
state string |
| The desired state for the instance template. |
subnetwork string | The Subnetwork resource name for this instance. | |
subnetwork_region string | Region that subnetwork resides in. (Required for subnetwork to successfully complete) | |
tags list / elements=string | a comma-separated list of tags to associate with the instance |
Note
# Usage - name: Create instance template named foo community.google.gce_instance_template: name: foo size: n1-standard-1 image_family: ubuntu-1604-lts state: present project_id: "your-project-name" credentials_file: "/path/to/your-key.json" service_account_email: "[email protected]" # Example Playbook - name: Compute Engine Instance Template Examples hosts: localhost vars: service_account_email: "[email protected]" credentials_file: "/path/to/your-key.json" project_id: "your-project-name" tasks: - name: Create instance template community.google.gce_instance_template: name: my-test-instance-template size: n1-standard-1 image_family: ubuntu-1604-lts state: present project_id: "{{ project_id }}" credentials_file: "{{ credentials_file }}" service_account_email: "{{ service_account_email }}" - name: Delete instance template community.google.gce_instance_template: name: my-test-instance-template size: n1-standard-1 image_family: ubuntu-1604-lts state: absent project_id: "{{ project_id }}" credentials_file: "{{ credentials_file }}" service_account_email: "{{ service_account_email }}" # Example playbook using disks_gce_struct - name: Compute Engine Instance Template Examples hosts: localhost vars: service_account_email: "[email protected]" credentials_file: "/path/to/your-key.json" project_id: "your-project-name" tasks: - name: Create instance template community.google.gce_instance_template: name: foo size: n1-standard-1 state: present project_id: "{{ project_id }}" credentials_file: "{{ credentials_file }}" service_account_email: "{{ service_account_email }}" disks_gce_struct: - device_name: /dev/sda boot: true autoDelete: true initializeParams: diskSizeGb: 30 diskType: pd-ssd sourceImage: projects/debian-cloud/global/images/family/debian-8
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/google/gce_instance_template_module.html