---
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 `_ |
+-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
```