exoscale_template (Resource)
Manage Exoscale Compute Instance Custom Templates.
Registering a custom template that can be used as the initial setup of a Compute instance.
Corresponding data source: exoscale_template.
Example Usage
resource "exoscale_template" "my_template" {
zone = "ch-gva-2"
name = "my-custom-template"
description = "My custom template"
url = "https://example.com/my-image.qcow2"
checksum = "8a4c47..."
default_user = "root"
boot_mode = "uefi"
password_enabled = false
ssh_key_enabled = true
}Please refer to the examples directory for complete configuration examples.
Schema
Required
checksum(String) ❗ The MD5 checksum of the template image referenced byurl.name(String) The template name.password_enabled(Boolean) ❗ Whether to enable password-based login on Compute instances based on this template.ssh_key_enabled(Boolean) ❗ Whether to enable SSH key-based login on Compute instances based on this template.zone(String) ❗ The Exoscale Zone name.
Optional
application_consistent_snapshot_enabled(Boolean) ❗ Whether the template supports application-consistent snapshots (requires the QEMU guest agent to be installed).boot_mode(String) ❗ The template boot mode:legacy(default) oruefi.build(String) ❗ The template build.default_user(String) ❗ Username used to log into a Compute instance based on this template.description(String) A free-form text describing the template.maintainer(String) ❗ The template maintainer.size(Number) ❗ The template size in GB. Defaults to the size of the downloaded image.timeouts(Block, Optional) (see below for nested schema)url(String) ❗ The URL to download the template image (qcow2/raw disk image) from. Required when registering a new template. The API only uses this once and never returns it afterwards, so onterraform importit is left unset — omit it from your configuration after importing to avoid a one-time forced replacement.version(String) ❗ The template version.
Read-Only
created_at(String) The template creation date.family(String) The template family.id(String) The ID of this resource.visibility(String) The template visibility (custom templates are alwaysprivate).
Nested Schema for timeouts
Optional:
create(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as “30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours).delete(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as “30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.read(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as “30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours). Read operations occur during any refresh or planning operation when refresh is enabled.update(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as “30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours).
-> The symbol ❗ in an attribute indicates that modifying it, will force the creation of a new resource.
Import
terraform import \
exoscale_template.my_template \
eb556678-abcd-1234-8f2b-becbd8b1cac1@ch-gva-2Last updated on