New in version 2.3.
The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments |
---|---|---|
automatic_restart | Defines whether the instance should be automatically restarted when it is terminated by Compute Engine. | |
can_ip_forward bool |
| Set to yes to allow instance to send/receive non-matching src/dst packets. |
credentials_file | path to the JSON file associated with the service account email | |
description | description of instance template | |
disk_auto_delete | Default: yes | Indicate that the boot disk should be deleted when the Node is deleted. |
disk_type | Default: pd-standard | Specify a pd-standard disk or pd-ssd for an SSD disk. |
disks | 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 (added in 2.4) | 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 | 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 | The image to use to create the instance. Cannot specify both both image and source. | |
image_family | 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 | a hash/dictionary of custom data for the instance; '{"key":"value", ...}' | |
name | The name of the GCE instance template. | |
network | Default: default | The network to associate with the instance. |
nic_gce_struct | Support passing in the GCE-specific formatted networkInterfaces[] structure. | |
pem_file | path to the pem file associated with the service account email This option is deprecated. Use 'credentials_file'. | |
preemptible | Defines whether the instance is preemptible. | |
project_id | your GCE project ID | |
service_account_email | service account email | |
service_account_permissions |
| service account permissions (see https://cloud.google.com/sdk/gcloud/reference/compute/instances/create, --scopes section for detailed information) |
size | Default: f1-micro | The desired machine type for the instance template. |
source | A source disk to attach to the instance. Cannot specify both image and source. | |
state |
| The desired state for the instance template. |
subnetwork | The Subnetwork resource name for this instance. | |
subnetwork_region (added in 2.4) | Region that subnetwork resides in. (Required for subnetwork to successfully complete) | |
tags | a comma-separated list of tags to associate with the instance |
Note
# Usage - name: create instance template named foo 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 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 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 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
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/gce_instance_template_module.html