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.