A Terraform module for lazy GCP spot instances.
provider "google" {
# Google provider configuration here.
}
module "instance" {
source = "femnad/lazyspot/gcp"
version = "0.6.5"
github_user = "femnad"
}
Name | Version |
---|---|
terraform | >= 0.13 |
>= 5.39.1 | |
http | >= 3.4.0 |
random | >= 3.5.1 |
Name | Version |
---|---|
>= 5.39.1 | |
http | >= 3.4.0 |
random | >= 3.5.1 |
No modules.
Name | Type |
---|---|
google_compute_firewall.other | resource |
google_compute_firewall.self | resource |
google_compute_instance.this | resource |
google_compute_network.this | resource |
google_compute_subnetwork.this | resource |
google_dns_record_set.this | resource |
random_pet.this | resource |
google_compute_image.this | data source |
http_http.github | data source |
http_http.ipinfo | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
github_user | A GitHub user to lookup allowed SSH keys | string |
n/a | yes |
auto_create_subnetworks | When creating a network, auto create subnetworks? | bool |
false |
no |
disk_size | Root disk size in GiB | number |
10 |
no |
disks | List of disks to attach | list(object({ |
[] |
no |
dns | DNS properties for the record to associate with the instance | object({ |
null |
no |
firewall | Firewall specification, passing null will prevent adding default rules | object({ |
{} |
no |
image | Image specification | object({ |
{ |
no |
machine_type | Instance type | string |
"e2-micro" |
no |
max_run_seconds | Maximum run duration in seconds | number |
86400 |
no |
metadata | A map of metadata values | map(string) |
{} |
no |
name | Name of the instance | string |
null |
no |
network | Network name | string |
null |
no |
service_account | Optional service account to associate with the instance | object({ |
null |
no |
ssh_user | A user name to set for authorized SSH keys, defaults to github_user |
string |
"" |
no |
subnets | n/a | list(object({ |
[ |
no |
No outputs.