--- myst: html_meta: "description lang=en": "GCP VM Provider Settings." "keywords": "Kasm, GCP" "property=og:locale": "en_US" --- ```{figure} /images/compute/vm_google.webp :align: center **GCP VM Provider** ``` ```{eval-rst} .. table:: GCP VM Provider Settings :widths: 75 +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | Name | Description | +===================================+=================================================================================================================================+ | **Name** | An identifying name for this provider configuration e.g. Google Cloud (GCP) Docker Agent Autoscale Provider | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **GCP Credentials** | The JSON formatted credentials for the service account used to authenticate with GCP: | | | `Ref `__ | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Max Instances** | The maximum number of GCP compute instances to provision regardless of the need for additional resources. | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Project ID** | The Google Cloud Project ID (e.g pensive-voice-547511) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Region** | The region to provision the new compute instances. (e.g us-east4) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Zone** | The zone the new compute instance will be provisioned in (e.g us-east4-b) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Machine Type** | The Machine type for the GCP compute instances. (e.g e2-standard-2) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Machine Image** | The Machine Image to use for the new compute instance. (e.g projects/ubuntu-os-cloud/global/images/ubuntu-2004-focal-v20211212) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Boot Volume GB** | The size (in GB) of the boot volume to assign the compute instance. | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Disk Type** | The disk type for the new instance. (e.g pd-ssd, pd-standard, etc.) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Customer Managed Encryption** | The optional path to the Customer Managaged Encryption Key (CMEK) | | **Key (CMEK)** | (e.g projects/pensive-voice-547511/locations/global/keyRings/my-keyring/cryptoKeys/my-key | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Network** | The path of the Network to attach the new instance. (e.g projects/pensive-voice-547511/global/networks/default) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Sub Network** | The path of the Sub Network to attach the new instance.(e.g projects/pensive-voice-547511/regions/us-east4/subnetworks/default) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Public IP** | If checked, a public IP will be assigned to the new instances | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Network Tags (JSON)** | A JSON list of the Network Tags to assign the new instance. (e.g :code:`["https-server", "foo", "bar"]`) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Custom Labels (JSON)** | A JSON dictionary of Custom Labels to assign the new instance (e.g :code:`{"foo": "bar", "bin":"baz"}`) | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Metadata (JSON)** | A JSON list of metadata objects to add to the instance. | | | (e.g :code:`[{"key": "ssh-keys", "value":"user1:ssh-rsa user1"}]`) | | | `Reference `__ | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Service Account (JSON)** | A JSON dictionary representing for a service account to attach to the instance. | | | (e.g :code:`{"email": "service-account@example.com", "scopes":["https://www.googleapis.com/auth/cloud-platform"]}`) | | | `Reference `__ | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Guest Accelerators (JSON)** | A JSON list representing the guest accelerators (e. GPUs) to attach to the instance. | | | (e.g :code:`[{"acceleratorType":"projects//zones//acceleratorTypes/nvidia-tesla-t4","acceleratorCount":1}]`) | | | `Reference `__ | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **GCP Config Override (JSON)** | A JSON dictionary that can be used to customize attributes of the VM request. The only attributes that cannot be overridden | | | are :code:`name` and :code:`labels` | | | (e.g :code:`{"shieldedInstanceConfig":{"enableIntegrityMonitoring":true,"enableSecureBoot":true,"enableVtpm":true}}` | | | `Reference `__ | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **VM Installed OS Type** | The family of the OS installed on the VM (e.g. linux or windows). | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Startup Script Type** | The type of startup script to execute, this determines the key used when creating the GCP startup script metadata. | | | `Windows Startup Scripts `__ | | | `Linux Startup Scripts `__ | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ | **Startup Script** | When instances are provisioned, this script is executed and is responsible for installing and configuring the Kasm Agent. | | | Bash is supported on Linux instances and Powershell for Windows instance. | | | Example scripts can be found on our `Github repo `_ | +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+ ```