kasm-terraform/gcp/modules/compute_instance
Arpit Gupta 1b7bc4f42f Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Jonathan Rich <jonathan.rich@kasmweb.com>
2025-09-06 02:46:17 +05:30
..
compute.tf Added new GCP terraform provider 2024-04-25 20:58:25 +00:00
outputs.tf Added new GCP terraform provider 2024-04-25 20:58:25 +00:00
provider.tf Added new GCP terraform provider 2024-04-25 20:58:25 +00:00
README.md Added new GCP terraform provider 2024-04-25 20:58:25 +00:00
variables.tf Apply 1 suggestion(s) to 1 file(s) 2025-09-06 02:46:17 +05:30

Requirements

Name Version
terraform ~> 1.0
google ~> 4.0

Providers

Name Version
google 4.70.0

Modules

No modules.

Resources

Name Type
google_compute_instance.kasm_instance resource
google_compute_image.kasm_image data source
google_compute_zones.available data source

Inputs

Name Description Type Default Required
allow_stopping_for_update Allow GCP service accounts to stop the instance and initiate an updates bool false no
cloud_init_script Startup script used to provision the instance list(string) n/a yes
enable_instance_vtpm Enable the Trusted Platform Module to secure the instance bool true no
enable_integrity_monitoring Enable instance integrity monitoring bool true no
enable_secure_boot Enable instance secure boot bool null no
instance_delete_protection Prevent instance from accidental deletion bool true no
instance_details Instance details to configure for Kasm instance
object({
machine_type = string
disk_size_gb = number
instance_role = string
name = optional(string, "")
name_prefix = optional(string, "")
disk_auto_delete = optional(bool, true)
description = optional(string, null)
disk_type = optional(string, "pd-balanced")
})
n/a yes
instance_network VPC Network self_link where instance is to be deployed. Usually inferred by the subnetwork, however, if subnetwork names overlap, this can create confusion. This value is optional, and required if subnetwork names are reused across VPCs. string null no
instance_nic_stack_type The default network interface type string "IPV4_ONLY" no
instance_nic_type The default network interface type string "GVNIC" no
instance_subnetwork Name of subnetwork where to deploy the instance string n/a yes
kasm_region GCP region in which to deploy this Kasm instance string n/a yes
number_of_instances Number of instances to deploy in this region number 1 no
public_access_config Enable public IP access for instance
list(object({
nat_ip = optional(string)
public_ptr_domain_name = optional(string)
network_tier = optional(string)
}))
n/a yes
resource_labels Labels to apply to the instance map(any) null no
security_tags Security tags to use with firewall rules to allow instance access list(string) n/a yes
service_account Service account to use for instance auto updates
list(object({
email = optional(string)
scopes = list(string)
}))
[] no
source_image The source VM Image information to use for deploying Kasm. Recommended to use Ubuntu 20.04 Minimal. You can either explicitly define the source image to use, or the image project and family so that Terraform always chooses the latest.
list(object({
source_image = optional(string, null)
project = optional(string, null)
family = optional(string, null)
}))
n/a yes

Outputs

Name Description
private_ip Instance private IP address.
public_ip Instance public IP address (if applicable)