1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. workbench
  5. Instance
Google Cloud Classic v8.3.1 published on Wednesday, Sep 25, 2024 by Pulumi

gcp.workbench.Instance

Explore with Pulumi AI

gcp logo
Google Cloud Classic v8.3.1 published on Wednesday, Sep 25, 2024 by Pulumi

    A Workbench instance.

    Example Usage

    Workbench Instance Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const instance = new gcp.workbench.Instance("instance", {
        name: "workbench-instance",
        location: "us-west1-a",
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    instance = gcp.workbench.Instance("instance",
        name="workbench-instance",
        location="us-west1-a")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/workbench"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := workbench.NewInstance(ctx, "instance", &workbench.InstanceArgs{
    			Name:     pulumi.String("workbench-instance"),
    			Location: pulumi.String("us-west1-a"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var instance = new Gcp.Workbench.Instance("instance", new()
        {
            Name = "workbench-instance",
            Location = "us-west1-a",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.workbench.Instance;
    import com.pulumi.gcp.workbench.InstanceArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var instance = new Instance("instance", InstanceArgs.builder()
                .name("workbench-instance")
                .location("us-west1-a")
                .build());
    
        }
    }
    
    resources:
      instance:
        type: gcp:workbench:Instance
        properties:
          name: workbench-instance
          location: us-west1-a
    

    Workbench Instance Basic Container

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const instance = new gcp.workbench.Instance("instance", {
        name: "workbench-instance",
        location: "us-west1-a",
        gceSetup: {
            containerImage: {
                repository: "us-docker.pkg.dev/deeplearning-platform-release/gcr.io/base-cu113.py310",
                tag: "latest",
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    instance = gcp.workbench.Instance("instance",
        name="workbench-instance",
        location="us-west1-a",
        gce_setup={
            "container_image": {
                "repository": "us-docker.pkg.dev/deeplearning-platform-release/gcr.io/base-cu113.py310",
                "tag": "latest",
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/workbench"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := workbench.NewInstance(ctx, "instance", &workbench.InstanceArgs{
    			Name:     pulumi.String("workbench-instance"),
    			Location: pulumi.String("us-west1-a"),
    			GceSetup: &workbench.InstanceGceSetupArgs{
    				ContainerImage: &workbench.InstanceGceSetupContainerImageArgs{
    					Repository: pulumi.String("us-docker.pkg.dev/deeplearning-platform-release/gcr.io/base-cu113.py310"),
    					Tag:        pulumi.String("latest"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var instance = new Gcp.Workbench.Instance("instance", new()
        {
            Name = "workbench-instance",
            Location = "us-west1-a",
            GceSetup = new Gcp.Workbench.Inputs.InstanceGceSetupArgs
            {
                ContainerImage = new Gcp.Workbench.Inputs.InstanceGceSetupContainerImageArgs
                {
                    Repository = "us-docker.pkg.dev/deeplearning-platform-release/gcr.io/base-cu113.py310",
                    Tag = "latest",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.workbench.Instance;
    import com.pulumi.gcp.workbench.InstanceArgs;
    import com.pulumi.gcp.workbench.inputs.InstanceGceSetupArgs;
    import com.pulumi.gcp.workbench.inputs.InstanceGceSetupContainerImageArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var instance = new Instance("instance", InstanceArgs.builder()
                .name("workbench-instance")
                .location("us-west1-a")
                .gceSetup(InstanceGceSetupArgs.builder()
                    .containerImage(InstanceGceSetupContainerImageArgs.builder()
                        .repository("us-docker.pkg.dev/deeplearning-platform-release/gcr.io/base-cu113.py310")
                        .tag("latest")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      instance:
        type: gcp:workbench:Instance
        properties:
          name: workbench-instance
          location: us-west1-a
          gceSetup:
            containerImage:
              repository: us-docker.pkg.dev/deeplearning-platform-release/gcr.io/base-cu113.py310
              tag: latest
    

    Workbench Instance Basic Gpu

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const instance = new gcp.workbench.Instance("instance", {
        name: "workbench-instance",
        location: "us-central1-a",
        gceSetup: {
            machineType: "n1-standard-1",
            acceleratorConfigs: [{
                type: "NVIDIA_TESLA_T4",
                coreCount: "1",
            }],
            vmImage: {
                project: "cloud-notebooks-managed",
                family: "workbench-instances",
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    instance = gcp.workbench.Instance("instance",
        name="workbench-instance",
        location="us-central1-a",
        gce_setup={
            "machine_type": "n1-standard-1",
            "accelerator_configs": [{
                "type": "NVIDIA_TESLA_T4",
                "core_count": "1",
            }],
            "vm_image": {
                "project": "cloud-notebooks-managed",
                "family": "workbench-instances",
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/workbench"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := workbench.NewInstance(ctx, "instance", &workbench.InstanceArgs{
    			Name:     pulumi.String("workbench-instance"),
    			Location: pulumi.String("us-central1-a"),
    			GceSetup: &workbench.InstanceGceSetupArgs{
    				MachineType: pulumi.String("n1-standard-1"),
    				AcceleratorConfigs: workbench.InstanceGceSetupAcceleratorConfigArray{
    					&workbench.InstanceGceSetupAcceleratorConfigArgs{
    						Type:      pulumi.String("NVIDIA_TESLA_T4"),
    						CoreCount: pulumi.String("1"),
    					},
    				},
    				VmImage: &workbench.InstanceGceSetupVmImageArgs{
    					Project: pulumi.String("cloud-notebooks-managed"),
    					Family:  pulumi.String("workbench-instances"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var instance = new Gcp.Workbench.Instance("instance", new()
        {
            Name = "workbench-instance",
            Location = "us-central1-a",
            GceSetup = new Gcp.Workbench.Inputs.InstanceGceSetupArgs
            {
                MachineType = "n1-standard-1",
                AcceleratorConfigs = new[]
                {
                    new Gcp.Workbench.Inputs.InstanceGceSetupAcceleratorConfigArgs
                    {
                        Type = "NVIDIA_TESLA_T4",
                        CoreCount = "1",
                    },
                },
                VmImage = new Gcp.Workbench.Inputs.InstanceGceSetupVmImageArgs
                {
                    Project = "cloud-notebooks-managed",
                    Family = "workbench-instances",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.workbench.Instance;
    import com.pulumi.gcp.workbench.InstanceArgs;
    import com.pulumi.gcp.workbench.inputs.InstanceGceSetupArgs;
    import com.pulumi.gcp.workbench.inputs.InstanceGceSetupVmImageArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var instance = new Instance("instance", InstanceArgs.builder()
                .name("workbench-instance")
                .location("us-central1-a")
                .gceSetup(InstanceGceSetupArgs.builder()
                    .machineType("n1-standard-1")
                    .acceleratorConfigs(InstanceGceSetupAcceleratorConfigArgs.builder()
                        .type("NVIDIA_TESLA_T4")
                        .coreCount(1)
                        .build())
                    .vmImage(InstanceGceSetupVmImageArgs.builder()
                        .project("cloud-notebooks-managed")
                        .family("workbench-instances")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      instance:
        type: gcp:workbench:Instance
        properties:
          name: workbench-instance
          location: us-central1-a
          gceSetup:
            machineType: n1-standard-1
            acceleratorConfigs:
              - type: NVIDIA_TESLA_T4
                coreCount: 1
            vmImage:
              project: cloud-notebooks-managed
              family: workbench-instances
    

    Workbench Instance Labels Stopped

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const instance = new gcp.workbench.Instance("instance", {
        name: "workbench-instance",
        location: "us-central1-a",
        gceSetup: {
            machineType: "e2-standard-4",
            shieldedInstanceConfig: {
                enableSecureBoot: false,
                enableVtpm: false,
                enableIntegrityMonitoring: false,
            },
            serviceAccounts: [{
                email: "my@service-account.com",
            }],
            metadata: {
                terraform: "true",
            },
        },
        labels: {
            k: "val",
        },
        desiredState: "STOPPED",
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    instance = gcp.workbench.Instance("instance",
        name="workbench-instance",
        location="us-central1-a",
        gce_setup={
            "machine_type": "e2-standard-4",
            "shielded_instance_config": {
                "enable_secure_boot": False,
                "enable_vtpm": False,
                "enable_integrity_monitoring": False,
            },
            "service_accounts": [{
                "email": "my@service-account.com",
            }],
            "metadata": {
                "terraform": "true",
            },
        },
        labels={
            "k": "val",
        },
        desired_state="STOPPED")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/workbench"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := workbench.NewInstance(ctx, "instance", &workbench.InstanceArgs{
    			Name:     pulumi.String("workbench-instance"),
    			Location: pulumi.String("us-central1-a"),
    			GceSetup: &workbench.InstanceGceSetupArgs{
    				MachineType: pulumi.String("e2-standard-4"),
    				ShieldedInstanceConfig: &workbench.InstanceGceSetupShieldedInstanceConfigArgs{
    					EnableSecureBoot:          pulumi.Bool(false),
    					EnableVtpm:                pulumi.Bool(false),
    					EnableIntegrityMonitoring: pulumi.Bool(false),
    				},
    				ServiceAccounts: workbench.InstanceGceSetupServiceAccountArray{
    					&workbench.InstanceGceSetupServiceAccountArgs{
    						Email: pulumi.String("my@service-account.com"),
    					},
    				},
    				Metadata: pulumi.StringMap{
    					"terraform": pulumi.String("true"),
    				},
    			},
    			Labels: pulumi.StringMap{
    				"k": pulumi.String("val"),
    			},
    			DesiredState: pulumi.String("STOPPED"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var instance = new Gcp.Workbench.Instance("instance", new()
        {
            Name = "workbench-instance",
            Location = "us-central1-a",
            GceSetup = new Gcp.Workbench.Inputs.InstanceGceSetupArgs
            {
                MachineType = "e2-standard-4",
                ShieldedInstanceConfig = new Gcp.Workbench.Inputs.InstanceGceSetupShieldedInstanceConfigArgs
                {
                    EnableSecureBoot = false,
                    EnableVtpm = false,
                    EnableIntegrityMonitoring = false,
                },
                ServiceAccounts = new[]
                {
                    new Gcp.Workbench.Inputs.InstanceGceSetupServiceAccountArgs
                    {
                        Email = "my@service-account.com",
                    },
                },
                Metadata = 
                {
                    { "terraform", "true" },
                },
            },
            Labels = 
            {
                { "k", "val" },
            },
            DesiredState = "STOPPED",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.workbench.Instance;
    import com.pulumi.gcp.workbench.InstanceArgs;
    import com.pulumi.gcp.workbench.inputs.InstanceGceSetupArgs;
    import com.pulumi.gcp.workbench.inputs.InstanceGceSetupShieldedInstanceConfigArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var instance = new Instance("instance", InstanceArgs.builder()
                .name("workbench-instance")
                .location("us-central1-a")
                .gceSetup(InstanceGceSetupArgs.builder()
                    .machineType("e2-standard-4")
                    .shieldedInstanceConfig(InstanceGceSetupShieldedInstanceConfigArgs.builder()
                        .enableSecureBoot(false)
                        .enableVtpm(false)
                        .enableIntegrityMonitoring(false)
                        .build())
                    .serviceAccounts(InstanceGceSetupServiceAccountArgs.builder()
                        .email("my@service-account.com")
                        .build())
                    .metadata(Map.of("terraform", "true"))
                    .build())
                .labels(Map.of("k", "val"))
                .desiredState("STOPPED")
                .build());
    
        }
    }
    
    resources:
      instance:
        type: gcp:workbench:Instance
        properties:
          name: workbench-instance
          location: us-central1-a
          gceSetup:
            machineType: e2-standard-4
            shieldedInstanceConfig:
              enableSecureBoot: false
              enableVtpm: false
              enableIntegrityMonitoring: false
            serviceAccounts:
              - email: my@service-account.com
            metadata:
              terraform: 'true'
          labels:
            k: val
          desiredState: STOPPED
    

    Workbench Instance Full

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const myNetwork = new gcp.compute.Network("my_network", {
        name: "wbi-test-default",
        autoCreateSubnetworks: false,
    });
    const mySubnetwork = new gcp.compute.Subnetwork("my_subnetwork", {
        name: "wbi-test-default",
        network: myNetwork.id,
        region: "us-central1",
        ipCidrRange: "10.0.1.0/24",
    });
    const static = new gcp.compute.Address("static", {name: "wbi-test-default"});
    const actAsPermission = new gcp.serviceaccount.IAMBinding("act_as_permission", {
        serviceAccountId: "projects/my-project-name/serviceAccounts/my@service-account.com",
        role: "roles/iam.serviceAccountUser",
        members: ["user:example@example.com"],
    });
    const instance = new gcp.workbench.Instance("instance", {
        name: "workbench-instance",
        location: "us-central1-a",
        gceSetup: {
            machineType: "n1-standard-4",
            acceleratorConfigs: [{
                type: "NVIDIA_TESLA_T4",
                coreCount: "1",
            }],
            shieldedInstanceConfig: {
                enableSecureBoot: true,
                enableVtpm: true,
                enableIntegrityMonitoring: true,
            },
            disablePublicIp: false,
            serviceAccounts: [{
                email: "my@service-account.com",
            }],
            bootDisk: {
                diskSizeGb: "310",
                diskType: "PD_SSD",
                diskEncryption: "CMEK",
                kmsKey: "my-crypto-key",
            },
            dataDisks: {
                diskSizeGb: "330",
                diskType: "PD_SSD",
                diskEncryption: "CMEK",
                kmsKey: "my-crypto-key",
            },
            networkInterfaces: [{
                network: myNetwork.id,
                subnet: mySubnetwork.id,
                nicType: "GVNIC",
                accessConfigs: [{
                    externalIp: static.address,
                }],
            }],
            metadata: {
                terraform: "true",
            },
            enableIpForwarding: true,
            tags: [
                "abc",
                "def",
            ],
        },
        disableProxyAccess: true,
        instanceOwners: ["example@example.com"],
        labels: {
            k: "val",
        },
        desiredState: "ACTIVE",
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    my_network = gcp.compute.Network("my_network",
        name="wbi-test-default",
        auto_create_subnetworks=False)
    my_subnetwork = gcp.compute.Subnetwork("my_subnetwork",
        name="wbi-test-default",
        network=my_network.id,
        region="us-central1",
        ip_cidr_range="10.0.1.0/24")
    static = gcp.compute.Address("static", name="wbi-test-default")
    act_as_permission = gcp.serviceaccount.IAMBinding("act_as_permission",
        service_account_id="projects/my-project-name/serviceAccounts/my@service-account.com",
        role="roles/iam.serviceAccountUser",
        members=["user:example@example.com"])
    instance = gcp.workbench.Instance("instance",
        name="workbench-instance",
        location="us-central1-a",
        gce_setup={
            "machine_type": "n1-standard-4",
            "accelerator_configs": [{
                "type": "NVIDIA_TESLA_T4",
                "core_count": "1",
            }],
            "shielded_instance_config": {
                "enable_secure_boot": True,
                "enable_vtpm": True,
                "enable_integrity_monitoring": True,
            },
            "disable_public_ip": False,
            "service_accounts": [{
                "email": "my@service-account.com",
            }],
            "boot_disk": {
                "disk_size_gb": "310",
                "disk_type": "PD_SSD",
                "disk_encryption": "CMEK",
                "kms_key": "my-crypto-key",
            },
            "data_disks": {
                "disk_size_gb": "330",
                "disk_type": "PD_SSD",
                "disk_encryption": "CMEK",
                "kms_key": "my-crypto-key",
            },
            "network_interfaces": [{
                "network": my_network.id,
                "subnet": my_subnetwork.id,
                "nic_type": "GVNIC",
                "access_configs": [{
                    "external_ip": static.address,
                }],
            }],
            "metadata": {
                "terraform": "true",
            },
            "enable_ip_forwarding": True,
            "tags": [
                "abc",
                "def",
            ],
        },
        disable_proxy_access=True,
        instance_owners=["example@example.com"],
        labels={
            "k": "val",
        },
        desired_state="ACTIVE")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/serviceaccount"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/workbench"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		myNetwork, err := compute.NewNetwork(ctx, "my_network", &compute.NetworkArgs{
    			Name:                  pulumi.String("wbi-test-default"),
    			AutoCreateSubnetworks: pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		mySubnetwork, err := compute.NewSubnetwork(ctx, "my_subnetwork", &compute.SubnetworkArgs{
    			Name:        pulumi.String("wbi-test-default"),
    			Network:     myNetwork.ID(),
    			Region:      pulumi.String("us-central1"),
    			IpCidrRange: pulumi.String("10.0.1.0/24"),
    		})
    		if err != nil {
    			return err
    		}
    		static, err := compute.NewAddress(ctx, "static", &compute.AddressArgs{
    			Name: pulumi.String("wbi-test-default"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = serviceaccount.NewIAMBinding(ctx, "act_as_permission", &serviceaccount.IAMBindingArgs{
    			ServiceAccountId: pulumi.String("projects/my-project-name/serviceAccounts/my@service-account.com"),
    			Role:             pulumi.String("roles/iam.serviceAccountUser"),
    			Members: pulumi.StringArray{
    				pulumi.String("user:example@example.com"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = workbench.NewInstance(ctx, "instance", &workbench.InstanceArgs{
    			Name:     pulumi.String("workbench-instance"),
    			Location: pulumi.String("us-central1-a"),
    			GceSetup: &workbench.InstanceGceSetupArgs{
    				MachineType: pulumi.String("n1-standard-4"),
    				AcceleratorConfigs: workbench.InstanceGceSetupAcceleratorConfigArray{
    					&workbench.InstanceGceSetupAcceleratorConfigArgs{
    						Type:      pulumi.String("NVIDIA_TESLA_T4"),
    						CoreCount: pulumi.String("1"),
    					},
    				},
    				ShieldedInstanceConfig: &workbench.InstanceGceSetupShieldedInstanceConfigArgs{
    					EnableSecureBoot:          pulumi.Bool(true),
    					EnableVtpm:                pulumi.Bool(true),
    					EnableIntegrityMonitoring: pulumi.Bool(true),
    				},
    				DisablePublicIp: pulumi.Bool(false),
    				ServiceAccounts: workbench.InstanceGceSetupServiceAccountArray{
    					&workbench.InstanceGceSetupServiceAccountArgs{
    						Email: pulumi.String("my@service-account.com"),
    					},
    				},
    				BootDisk: &workbench.InstanceGceSetupBootDiskArgs{
    					DiskSizeGb:     pulumi.String("310"),
    					DiskType:       pulumi.String("PD_SSD"),
    					DiskEncryption: pulumi.String("CMEK"),
    					KmsKey:         pulumi.String("my-crypto-key"),
    				},
    				DataDisks: &workbench.InstanceGceSetupDataDisksArgs{
    					DiskSizeGb:     pulumi.String("330"),
    					DiskType:       pulumi.String("PD_SSD"),
    					DiskEncryption: pulumi.String("CMEK"),
    					KmsKey:         pulumi.String("my-crypto-key"),
    				},
    				NetworkInterfaces: workbench.InstanceGceSetupNetworkInterfaceArray{
    					&workbench.InstanceGceSetupNetworkInterfaceArgs{
    						Network: myNetwork.ID(),
    						Subnet:  mySubnetwork.ID(),
    						NicType: pulumi.String("GVNIC"),
    						AccessConfigs: workbench.InstanceGceSetupNetworkInterfaceAccessConfigArray{
    							&workbench.InstanceGceSetupNetworkInterfaceAccessConfigArgs{
    								ExternalIp: static.Address,
    							},
    						},
    					},
    				},
    				Metadata: pulumi.StringMap{
    					"terraform": pulumi.String("true"),
    				},
    				EnableIpForwarding: pulumi.Bool(true),
    				Tags: pulumi.StringArray{
    					pulumi.String("abc"),
    					pulumi.String("def"),
    				},
    			},
    			DisableProxyAccess: pulumi.Bool(true),
    			InstanceOwners: pulumi.StringArray{
    				pulumi.String("example@example.com"),
    			},
    			Labels: pulumi.StringMap{
    				"k": pulumi.String("val"),
    			},
    			DesiredState: pulumi.String("ACTIVE"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var myNetwork = new Gcp.Compute.Network("my_network", new()
        {
            Name = "wbi-test-default",
            AutoCreateSubnetworks = false,
        });
    
        var mySubnetwork = new Gcp.Compute.Subnetwork("my_subnetwork", new()
        {
            Name = "wbi-test-default",
            Network = myNetwork.Id,
            Region = "us-central1",
            IpCidrRange = "10.0.1.0/24",
        });
    
        var @static = new Gcp.Compute.Address("static", new()
        {
            Name = "wbi-test-default",
        });
    
        var actAsPermission = new Gcp.ServiceAccount.IAMBinding("act_as_permission", new()
        {
            ServiceAccountId = "projects/my-project-name/serviceAccounts/my@service-account.com",
            Role = "roles/iam.serviceAccountUser",
            Members = new[]
            {
                "user:example@example.com",
            },
        });
    
        var instance = new Gcp.Workbench.Instance("instance", new()
        {
            Name = "workbench-instance",
            Location = "us-central1-a",
            GceSetup = new Gcp.Workbench.Inputs.InstanceGceSetupArgs
            {
                MachineType = "n1-standard-4",
                AcceleratorConfigs = new[]
                {
                    new Gcp.Workbench.Inputs.InstanceGceSetupAcceleratorConfigArgs
                    {
                        Type = "NVIDIA_TESLA_T4",
                        CoreCount = "1",
                    },
                },
                ShieldedInstanceConfig = new Gcp.Workbench.Inputs.InstanceGceSetupShieldedInstanceConfigArgs
                {
                    EnableSecureBoot = true,
                    EnableVtpm = true,
                    EnableIntegrityMonitoring = true,
                },
                DisablePublicIp = false,
                ServiceAccounts = new[]
                {
                    new Gcp.Workbench.Inputs.InstanceGceSetupServiceAccountArgs
                    {
                        Email = "my@service-account.com",
                    },
                },
                BootDisk = new Gcp.Workbench.Inputs.InstanceGceSetupBootDiskArgs
                {
                    DiskSizeGb = "310",
                    DiskType = "PD_SSD",
                    DiskEncryption = "CMEK",
                    KmsKey = "my-crypto-key",
                },
                DataDisks = new Gcp.Workbench.Inputs.InstanceGceSetupDataDisksArgs
                {
                    DiskSizeGb = "330",
                    DiskType = "PD_SSD",
                    DiskEncryption = "CMEK",
                    KmsKey = "my-crypto-key",
                },
                NetworkInterfaces = new[]
                {
                    new Gcp.Workbench.Inputs.InstanceGceSetupNetworkInterfaceArgs
                    {
                        Network = myNetwork.Id,
                        Subnet = mySubnetwork.Id,
                        NicType = "GVNIC",
                        AccessConfigs = new[]
                        {
                            new Gcp.Workbench.Inputs.InstanceGceSetupNetworkInterfaceAccessConfigArgs
                            {
                                ExternalIp = @static.IPAddress,
                            },
                        },
                    },
                },
                Metadata = 
                {
                    { "terraform", "true" },
                },
                EnableIpForwarding = true,
                Tags = new[]
                {
                    "abc",
                    "def",
                },
            },
            DisableProxyAccess = true,
            InstanceOwners = new[]
            {
                "example@example.com",
            },
            Labels = 
            {
                { "k", "val" },
            },
            DesiredState = "ACTIVE",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.compute.Network;
    import com.pulumi.gcp.compute.NetworkArgs;
    import com.pulumi.gcp.compute.Subnetwork;
    import com.pulumi.gcp.compute.SubnetworkArgs;
    import com.pulumi.gcp.compute.Address;
    import com.pulumi.gcp.compute.AddressArgs;
    import com.pulumi.gcp.serviceaccount.IAMBinding;
    import com.pulumi.gcp.serviceaccount.IAMBindingArgs;
    import com.pulumi.gcp.workbench.Instance;
    import com.pulumi.gcp.workbench.InstanceArgs;
    import com.pulumi.gcp.workbench.inputs.InstanceGceSetupArgs;
    import com.pulumi.gcp.workbench.inputs.InstanceGceSetupShieldedInstanceConfigArgs;
    import com.pulumi.gcp.workbench.inputs.InstanceGceSetupBootDiskArgs;
    import com.pulumi.gcp.workbench.inputs.InstanceGceSetupDataDisksArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var myNetwork = new Network("myNetwork", NetworkArgs.builder()
                .name("wbi-test-default")
                .autoCreateSubnetworks(false)
                .build());
    
            var mySubnetwork = new Subnetwork("mySubnetwork", SubnetworkArgs.builder()
                .name("wbi-test-default")
                .network(myNetwork.id())
                .region("us-central1")
                .ipCidrRange("10.0.1.0/24")
                .build());
    
            var static_ = new Address("static", AddressArgs.builder()
                .name("wbi-test-default")
                .build());
    
            var actAsPermission = new IAMBinding("actAsPermission", IAMBindingArgs.builder()
                .serviceAccountId("projects/my-project-name/serviceAccounts/my@service-account.com")
                .role("roles/iam.serviceAccountUser")
                .members("user:example@example.com")
                .build());
    
            var instance = new Instance("instance", InstanceArgs.builder()
                .name("workbench-instance")
                .location("us-central1-a")
                .gceSetup(InstanceGceSetupArgs.builder()
                    .machineType("n1-standard-4")
                    .acceleratorConfigs(InstanceGceSetupAcceleratorConfigArgs.builder()
                        .type("NVIDIA_TESLA_T4")
                        .coreCount(1)
                        .build())
                    .shieldedInstanceConfig(InstanceGceSetupShieldedInstanceConfigArgs.builder()
                        .enableSecureBoot(true)
                        .enableVtpm(true)
                        .enableIntegrityMonitoring(true)
                        .build())
                    .disablePublicIp(false)
                    .serviceAccounts(InstanceGceSetupServiceAccountArgs.builder()
                        .email("my@service-account.com")
                        .build())
                    .bootDisk(InstanceGceSetupBootDiskArgs.builder()
                        .diskSizeGb(310)
                        .diskType("PD_SSD")
                        .diskEncryption("CMEK")
                        .kmsKey("my-crypto-key")
                        .build())
                    .dataDisks(InstanceGceSetupDataDisksArgs.builder()
                        .diskSizeGb(330)
                        .diskType("PD_SSD")
                        .diskEncryption("CMEK")
                        .kmsKey("my-crypto-key")
                        .build())
                    .networkInterfaces(InstanceGceSetupNetworkInterfaceArgs.builder()
                        .network(myNetwork.id())
                        .subnet(mySubnetwork.id())
                        .nicType("GVNIC")
                        .accessConfigs(InstanceGceSetupNetworkInterfaceAccessConfigArgs.builder()
                            .externalIp(static_.address())
                            .build())
                        .build())
                    .metadata(Map.of("terraform", "true"))
                    .enableIpForwarding(true)
                    .tags(                
                        "abc",
                        "def")
                    .build())
                .disableProxyAccess("true")
                .instanceOwners("example@example.com")
                .labels(Map.of("k", "val"))
                .desiredState("ACTIVE")
                .build());
    
        }
    }
    
    resources:
      myNetwork:
        type: gcp:compute:Network
        name: my_network
        properties:
          name: wbi-test-default
          autoCreateSubnetworks: false
      mySubnetwork:
        type: gcp:compute:Subnetwork
        name: my_subnetwork
        properties:
          name: wbi-test-default
          network: ${myNetwork.id}
          region: us-central1
          ipCidrRange: 10.0.1.0/24
      static:
        type: gcp:compute:Address
        properties:
          name: wbi-test-default
      actAsPermission:
        type: gcp:serviceaccount:IAMBinding
        name: act_as_permission
        properties:
          serviceAccountId: projects/my-project-name/serviceAccounts/my@service-account.com
          role: roles/iam.serviceAccountUser
          members:
            - user:example@example.com
      instance:
        type: gcp:workbench:Instance
        properties:
          name: workbench-instance
          location: us-central1-a
          gceSetup:
            machineType: n1-standard-4
            acceleratorConfigs:
              - type: NVIDIA_TESLA_T4
                coreCount: 1
            shieldedInstanceConfig:
              enableSecureBoot: true
              enableVtpm: true
              enableIntegrityMonitoring: true
            disablePublicIp: false
            serviceAccounts:
              - email: my@service-account.com
            bootDisk:
              diskSizeGb: 310
              diskType: PD_SSD
              diskEncryption: CMEK
              kmsKey: my-crypto-key
            dataDisks:
              diskSizeGb: 330
              diskType: PD_SSD
              diskEncryption: CMEK
              kmsKey: my-crypto-key
            networkInterfaces:
              - network: ${myNetwork.id}
                subnet: ${mySubnetwork.id}
                nicType: GVNIC
                accessConfigs:
                  - externalIp: ${static.address}
            metadata:
              terraform: 'true'
            enableIpForwarding: true
            tags:
              - abc
              - def
          disableProxyAccess: 'true'
          instanceOwners:
            - example@example.com
          labels:
            k: val
          desiredState: ACTIVE
    

    Create Instance Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Instance(name: string, args: InstanceArgs, opts?: CustomResourceOptions);
    @overload
    def Instance(resource_name: str,
                 args: InstanceArgs,
                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def Instance(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 location: Optional[str] = None,
                 desired_state: Optional[str] = None,
                 disable_proxy_access: Optional[bool] = None,
                 gce_setup: Optional[InstanceGceSetupArgs] = None,
                 instance_id: Optional[str] = None,
                 instance_owners: Optional[Sequence[str]] = None,
                 labels: Optional[Mapping[str, str]] = None,
                 name: Optional[str] = None,
                 project: Optional[str] = None)
    func NewInstance(ctx *Context, name string, args InstanceArgs, opts ...ResourceOption) (*Instance, error)
    public Instance(string name, InstanceArgs args, CustomResourceOptions? opts = null)
    public Instance(String name, InstanceArgs args)
    public Instance(String name, InstanceArgs args, CustomResourceOptions options)
    
    type: gcp:workbench:Instance
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var exampleinstanceResourceResourceFromWorkbenchinstance = new Gcp.Workbench.Instance("exampleinstanceResourceResourceFromWorkbenchinstance", new()
    {
        Location = "string",
        DesiredState = "string",
        DisableProxyAccess = false,
        GceSetup = new Gcp.Workbench.Inputs.InstanceGceSetupArgs
        {
            AcceleratorConfigs = new[]
            {
                new Gcp.Workbench.Inputs.InstanceGceSetupAcceleratorConfigArgs
                {
                    CoreCount = "string",
                    Type = "string",
                },
            },
            BootDisk = new Gcp.Workbench.Inputs.InstanceGceSetupBootDiskArgs
            {
                DiskEncryption = "string",
                DiskSizeGb = "string",
                DiskType = "string",
                KmsKey = "string",
            },
            ContainerImage = new Gcp.Workbench.Inputs.InstanceGceSetupContainerImageArgs
            {
                Repository = "string",
                Tag = "string",
            },
            DataDisks = new Gcp.Workbench.Inputs.InstanceGceSetupDataDisksArgs
            {
                DiskEncryption = "string",
                DiskSizeGb = "string",
                DiskType = "string",
                KmsKey = "string",
            },
            DisablePublicIp = false,
            EnableIpForwarding = false,
            MachineType = "string",
            Metadata = 
            {
                { "string", "string" },
            },
            NetworkInterfaces = new[]
            {
                new Gcp.Workbench.Inputs.InstanceGceSetupNetworkInterfaceArgs
                {
                    AccessConfigs = new[]
                    {
                        new Gcp.Workbench.Inputs.InstanceGceSetupNetworkInterfaceAccessConfigArgs
                        {
                            ExternalIp = "string",
                        },
                    },
                    Network = "string",
                    NicType = "string",
                    Subnet = "string",
                },
            },
            ServiceAccounts = new[]
            {
                new Gcp.Workbench.Inputs.InstanceGceSetupServiceAccountArgs
                {
                    Email = "string",
                    Scopes = new[]
                    {
                        "string",
                    },
                },
            },
            ShieldedInstanceConfig = new Gcp.Workbench.Inputs.InstanceGceSetupShieldedInstanceConfigArgs
            {
                EnableIntegrityMonitoring = false,
                EnableSecureBoot = false,
                EnableVtpm = false,
            },
            Tags = new[]
            {
                "string",
            },
            VmImage = new Gcp.Workbench.Inputs.InstanceGceSetupVmImageArgs
            {
                Family = "string",
                Name = "string",
                Project = "string",
            },
        },
        InstanceId = "string",
        InstanceOwners = new[]
        {
            "string",
        },
        Labels = 
        {
            { "string", "string" },
        },
        Name = "string",
        Project = "string",
    });
    
    example, err := workbench.NewInstance(ctx, "exampleinstanceResourceResourceFromWorkbenchinstance", &workbench.InstanceArgs{
    	Location:           pulumi.String("string"),
    	DesiredState:       pulumi.String("string"),
    	DisableProxyAccess: pulumi.Bool(false),
    	GceSetup: &workbench.InstanceGceSetupArgs{
    		AcceleratorConfigs: workbench.InstanceGceSetupAcceleratorConfigArray{
    			&workbench.InstanceGceSetupAcceleratorConfigArgs{
    				CoreCount: pulumi.String("string"),
    				Type:      pulumi.String("string"),
    			},
    		},
    		BootDisk: &workbench.InstanceGceSetupBootDiskArgs{
    			DiskEncryption: pulumi.String("string"),
    			DiskSizeGb:     pulumi.String("string"),
    			DiskType:       pulumi.String("string"),
    			KmsKey:         pulumi.String("string"),
    		},
    		ContainerImage: &workbench.InstanceGceSetupContainerImageArgs{
    			Repository: pulumi.String("string"),
    			Tag:        pulumi.String("string"),
    		},
    		DataDisks: &workbench.InstanceGceSetupDataDisksArgs{
    			DiskEncryption: pulumi.String("string"),
    			DiskSizeGb:     pulumi.String("string"),
    			DiskType:       pulumi.String("string"),
    			KmsKey:         pulumi.String("string"),
    		},
    		DisablePublicIp:    pulumi.Bool(false),
    		EnableIpForwarding: pulumi.Bool(false),
    		MachineType:        pulumi.String("string"),
    		Metadata: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		NetworkInterfaces: workbench.InstanceGceSetupNetworkInterfaceArray{
    			&workbench.InstanceGceSetupNetworkInterfaceArgs{
    				AccessConfigs: workbench.InstanceGceSetupNetworkInterfaceAccessConfigArray{
    					&workbench.InstanceGceSetupNetworkInterfaceAccessConfigArgs{
    						ExternalIp: pulumi.String("string"),
    					},
    				},
    				Network: pulumi.String("string"),
    				NicType: pulumi.String("string"),
    				Subnet:  pulumi.String("string"),
    			},
    		},
    		ServiceAccounts: workbench.InstanceGceSetupServiceAccountArray{
    			&workbench.InstanceGceSetupServiceAccountArgs{
    				Email: pulumi.String("string"),
    				Scopes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		ShieldedInstanceConfig: &workbench.InstanceGceSetupShieldedInstanceConfigArgs{
    			EnableIntegrityMonitoring: pulumi.Bool(false),
    			EnableSecureBoot:          pulumi.Bool(false),
    			EnableVtpm:                pulumi.Bool(false),
    		},
    		Tags: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		VmImage: &workbench.InstanceGceSetupVmImageArgs{
    			Family:  pulumi.String("string"),
    			Name:    pulumi.String("string"),
    			Project: pulumi.String("string"),
    		},
    	},
    	InstanceId: pulumi.String("string"),
    	InstanceOwners: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Name:    pulumi.String("string"),
    	Project: pulumi.String("string"),
    })
    
    var exampleinstanceResourceResourceFromWorkbenchinstance = new Instance("exampleinstanceResourceResourceFromWorkbenchinstance", InstanceArgs.builder()
        .location("string")
        .desiredState("string")
        .disableProxyAccess(false)
        .gceSetup(InstanceGceSetupArgs.builder()
            .acceleratorConfigs(InstanceGceSetupAcceleratorConfigArgs.builder()
                .coreCount("string")
                .type("string")
                .build())
            .bootDisk(InstanceGceSetupBootDiskArgs.builder()
                .diskEncryption("string")
                .diskSizeGb("string")
                .diskType("string")
                .kmsKey("string")
                .build())
            .containerImage(InstanceGceSetupContainerImageArgs.builder()
                .repository("string")
                .tag("string")
                .build())
            .dataDisks(InstanceGceSetupDataDisksArgs.builder()
                .diskEncryption("string")
                .diskSizeGb("string")
                .diskType("string")
                .kmsKey("string")
                .build())
            .disablePublicIp(false)
            .enableIpForwarding(false)
            .machineType("string")
            .metadata(Map.of("string", "string"))
            .networkInterfaces(InstanceGceSetupNetworkInterfaceArgs.builder()
                .accessConfigs(InstanceGceSetupNetworkInterfaceAccessConfigArgs.builder()
                    .externalIp("string")
                    .build())
                .network("string")
                .nicType("string")
                .subnet("string")
                .build())
            .serviceAccounts(InstanceGceSetupServiceAccountArgs.builder()
                .email("string")
                .scopes("string")
                .build())
            .shieldedInstanceConfig(InstanceGceSetupShieldedInstanceConfigArgs.builder()
                .enableIntegrityMonitoring(false)
                .enableSecureBoot(false)
                .enableVtpm(false)
                .build())
            .tags("string")
            .vmImage(InstanceGceSetupVmImageArgs.builder()
                .family("string")
                .name("string")
                .project("string")
                .build())
            .build())
        .instanceId("string")
        .instanceOwners("string")
        .labels(Map.of("string", "string"))
        .name("string")
        .project("string")
        .build());
    
    exampleinstance_resource_resource_from_workbenchinstance = gcp.workbench.Instance("exampleinstanceResourceResourceFromWorkbenchinstance",
        location="string",
        desired_state="string",
        disable_proxy_access=False,
        gce_setup={
            "acceleratorConfigs": [{
                "coreCount": "string",
                "type": "string",
            }],
            "bootDisk": {
                "diskEncryption": "string",
                "diskSizeGb": "string",
                "diskType": "string",
                "kmsKey": "string",
            },
            "containerImage": {
                "repository": "string",
                "tag": "string",
            },
            "dataDisks": {
                "diskEncryption": "string",
                "diskSizeGb": "string",
                "diskType": "string",
                "kmsKey": "string",
            },
            "disablePublicIp": False,
            "enableIpForwarding": False,
            "machineType": "string",
            "metadata": {
                "string": "string",
            },
            "networkInterfaces": [{
                "accessConfigs": [{
                    "externalIp": "string",
                }],
                "network": "string",
                "nicType": "string",
                "subnet": "string",
            }],
            "serviceAccounts": [{
                "email": "string",
                "scopes": ["string"],
            }],
            "shieldedInstanceConfig": {
                "enableIntegrityMonitoring": False,
                "enableSecureBoot": False,
                "enableVtpm": False,
            },
            "tags": ["string"],
            "vmImage": {
                "family": "string",
                "name": "string",
                "project": "string",
            },
        },
        instance_id="string",
        instance_owners=["string"],
        labels={
            "string": "string",
        },
        name="string",
        project="string")
    
    const exampleinstanceResourceResourceFromWorkbenchinstance = new gcp.workbench.Instance("exampleinstanceResourceResourceFromWorkbenchinstance", {
        location: "string",
        desiredState: "string",
        disableProxyAccess: false,
        gceSetup: {
            acceleratorConfigs: [{
                coreCount: "string",
                type: "string",
            }],
            bootDisk: {
                diskEncryption: "string",
                diskSizeGb: "string",
                diskType: "string",
                kmsKey: "string",
            },
            containerImage: {
                repository: "string",
                tag: "string",
            },
            dataDisks: {
                diskEncryption: "string",
                diskSizeGb: "string",
                diskType: "string",
                kmsKey: "string",
            },
            disablePublicIp: false,
            enableIpForwarding: false,
            machineType: "string",
            metadata: {
                string: "string",
            },
            networkInterfaces: [{
                accessConfigs: [{
                    externalIp: "string",
                }],
                network: "string",
                nicType: "string",
                subnet: "string",
            }],
            serviceAccounts: [{
                email: "string",
                scopes: ["string"],
            }],
            shieldedInstanceConfig: {
                enableIntegrityMonitoring: false,
                enableSecureBoot: false,
                enableVtpm: false,
            },
            tags: ["string"],
            vmImage: {
                family: "string",
                name: "string",
                project: "string",
            },
        },
        instanceId: "string",
        instanceOwners: ["string"],
        labels: {
            string: "string",
        },
        name: "string",
        project: "string",
    });
    
    type: gcp:workbench:Instance
    properties:
        desiredState: string
        disableProxyAccess: false
        gceSetup:
            acceleratorConfigs:
                - coreCount: string
                  type: string
            bootDisk:
                diskEncryption: string
                diskSizeGb: string
                diskType: string
                kmsKey: string
            containerImage:
                repository: string
                tag: string
            dataDisks:
                diskEncryption: string
                diskSizeGb: string
                diskType: string
                kmsKey: string
            disablePublicIp: false
            enableIpForwarding: false
            machineType: string
            metadata:
                string: string
            networkInterfaces:
                - accessConfigs:
                    - externalIp: string
                  network: string
                  nicType: string
                  subnet: string
            serviceAccounts:
                - email: string
                  scopes:
                    - string
            shieldedInstanceConfig:
                enableIntegrityMonitoring: false
                enableSecureBoot: false
                enableVtpm: false
            tags:
                - string
            vmImage:
                family: string
                name: string
                project: string
        instanceId: string
        instanceOwners:
            - string
        labels:
            string: string
        location: string
        name: string
        project: string
    

    Instance Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Instance resource accepts the following input properties:

    Location string
    Part of parent. See documentation of projectsId.


    DesiredState string
    Desired state of the Workbench Instance. Set this field to ACTIVE to start the Instance, and STOPPED to stop the Instance.
    DisableProxyAccess bool
    Optional. If true, the workbench instance will not register with the proxy.
    GceSetup InstanceGceSetup
    The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
    InstanceId string
    Required. User-defined unique ID of this instance.
    InstanceOwners List<string>
    'Optional. Input only. The owner of this instance after creation. Format: alias@example.com Currently supports one owner only. If not specified, all of the service account users of your VM instance''s service account can use the instance.'
    Labels Dictionary<string, string>

    Optional. Labels to apply to this instance. These can be later modified by the UpdateInstance method.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    Name string
    The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Location string
    Part of parent. See documentation of projectsId.


    DesiredState string
    Desired state of the Workbench Instance. Set this field to ACTIVE to start the Instance, and STOPPED to stop the Instance.
    DisableProxyAccess bool
    Optional. If true, the workbench instance will not register with the proxy.
    GceSetup InstanceGceSetupArgs
    The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
    InstanceId string
    Required. User-defined unique ID of this instance.
    InstanceOwners []string
    'Optional. Input only. The owner of this instance after creation. Format: alias@example.com Currently supports one owner only. If not specified, all of the service account users of your VM instance''s service account can use the instance.'
    Labels map[string]string

    Optional. Labels to apply to this instance. These can be later modified by the UpdateInstance method.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    Name string
    The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    location String
    Part of parent. See documentation of projectsId.


    desiredState String
    Desired state of the Workbench Instance. Set this field to ACTIVE to start the Instance, and STOPPED to stop the Instance.
    disableProxyAccess Boolean
    Optional. If true, the workbench instance will not register with the proxy.
    gceSetup InstanceGceSetup
    The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
    instanceId String
    Required. User-defined unique ID of this instance.
    instanceOwners List<String>
    'Optional. Input only. The owner of this instance after creation. Format: alias@example.com Currently supports one owner only. If not specified, all of the service account users of your VM instance''s service account can use the instance.'
    labels Map<String,String>

    Optional. Labels to apply to this instance. These can be later modified by the UpdateInstance method.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name String
    The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    location string
    Part of parent. See documentation of projectsId.


    desiredState string
    Desired state of the Workbench Instance. Set this field to ACTIVE to start the Instance, and STOPPED to stop the Instance.
    disableProxyAccess boolean
    Optional. If true, the workbench instance will not register with the proxy.
    gceSetup InstanceGceSetup
    The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
    instanceId string
    Required. User-defined unique ID of this instance.
    instanceOwners string[]
    'Optional. Input only. The owner of this instance after creation. Format: alias@example.com Currently supports one owner only. If not specified, all of the service account users of your VM instance''s service account can use the instance.'
    labels {[key: string]: string}

    Optional. Labels to apply to this instance. These can be later modified by the UpdateInstance method.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name string
    The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    location str
    Part of parent. See documentation of projectsId.


    desired_state str
    Desired state of the Workbench Instance. Set this field to ACTIVE to start the Instance, and STOPPED to stop the Instance.
    disable_proxy_access bool
    Optional. If true, the workbench instance will not register with the proxy.
    gce_setup InstanceGceSetupArgs
    The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
    instance_id str
    Required. User-defined unique ID of this instance.
    instance_owners Sequence[str]
    'Optional. Input only. The owner of this instance after creation. Format: alias@example.com Currently supports one owner only. If not specified, all of the service account users of your VM instance''s service account can use the instance.'
    labels Mapping[str, str]

    Optional. Labels to apply to this instance. These can be later modified by the UpdateInstance method.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name str
    The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    location String
    Part of parent. See documentation of projectsId.


    desiredState String
    Desired state of the Workbench Instance. Set this field to ACTIVE to start the Instance, and STOPPED to stop the Instance.
    disableProxyAccess Boolean
    Optional. If true, the workbench instance will not register with the proxy.
    gceSetup Property Map
    The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
    instanceId String
    Required. User-defined unique ID of this instance.
    instanceOwners List<String>
    'Optional. Input only. The owner of this instance after creation. Format: alias@example.com Currently supports one owner only. If not specified, all of the service account users of your VM instance''s service account can use the instance.'
    labels Map<String>

    Optional. Labels to apply to this instance. These can be later modified by the UpdateInstance method.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    name String
    The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Instance resource produces the following output properties:

    CreateTime string
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    Creator string
    Output only. Email address of entity that sent original CreateInstance request.
    EffectiveLabels Dictionary<string, string>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    HealthInfos List<InstanceHealthInfo>
    'Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" }'
    HealthState string
    Output only. Instance health_state.
    Id string
    The provider-assigned unique ID for this managed resource.
    ProxyUri string
    Output only. The proxy endpoint that is used to access the Jupyter notebook.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    State string
    (Output) Output only. The state of this instance upgrade history entry.
    UpdateTime string
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    UpgradeHistories List<InstanceUpgradeHistory>
    Output only. The upgrade history of this instance. Structure is documented below.
    CreateTime string
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    Creator string
    Output only. Email address of entity that sent original CreateInstance request.
    EffectiveLabels map[string]string
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    HealthInfos []InstanceHealthInfo
    'Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" }'
    HealthState string
    Output only. Instance health_state.
    Id string
    The provider-assigned unique ID for this managed resource.
    ProxyUri string
    Output only. The proxy endpoint that is used to access the Jupyter notebook.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    State string
    (Output) Output only. The state of this instance upgrade history entry.
    UpdateTime string
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    UpgradeHistories []InstanceUpgradeHistory
    Output only. The upgrade history of this instance. Structure is documented below.
    createTime String
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    creator String
    Output only. Email address of entity that sent original CreateInstance request.
    effectiveLabels Map<String,String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    healthInfos List<InstanceHealthInfo>
    'Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" }'
    healthState String
    Output only. Instance health_state.
    id String
    The provider-assigned unique ID for this managed resource.
    proxyUri String
    Output only. The proxy endpoint that is used to access the Jupyter notebook.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state String
    (Output) Output only. The state of this instance upgrade history entry.
    updateTime String
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    upgradeHistories List<InstanceUpgradeHistory>
    Output only. The upgrade history of this instance. Structure is documented below.
    createTime string
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    creator string
    Output only. Email address of entity that sent original CreateInstance request.
    effectiveLabels {[key: string]: string}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    healthInfos InstanceHealthInfo[]
    'Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" }'
    healthState string
    Output only. Instance health_state.
    id string
    The provider-assigned unique ID for this managed resource.
    proxyUri string
    Output only. The proxy endpoint that is used to access the Jupyter notebook.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state string
    (Output) Output only. The state of this instance upgrade history entry.
    updateTime string
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    upgradeHistories InstanceUpgradeHistory[]
    Output only. The upgrade history of this instance. Structure is documented below.
    create_time str
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    creator str
    Output only. Email address of entity that sent original CreateInstance request.
    effective_labels Mapping[str, str]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    health_infos Sequence[InstanceHealthInfo]
    'Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" }'
    health_state str
    Output only. Instance health_state.
    id str
    The provider-assigned unique ID for this managed resource.
    proxy_uri str
    Output only. The proxy endpoint that is used to access the Jupyter notebook.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state str
    (Output) Output only. The state of this instance upgrade history entry.
    update_time str
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    upgrade_histories Sequence[InstanceUpgradeHistory]
    Output only. The upgrade history of this instance. Structure is documented below.
    createTime String
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    creator String
    Output only. Email address of entity that sent original CreateInstance request.
    effectiveLabels Map<String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    healthInfos List<Property Map>
    'Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" }'
    healthState String
    Output only. Instance health_state.
    id String
    The provider-assigned unique ID for this managed resource.
    proxyUri String
    Output only. The proxy endpoint that is used to access the Jupyter notebook.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state String
    (Output) Output only. The state of this instance upgrade history entry.
    updateTime String
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    upgradeHistories List<Property Map>
    Output only. The upgrade history of this instance. Structure is documented below.

    Look up Existing Instance Resource

    Get an existing Instance resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: InstanceState, opts?: CustomResourceOptions): Instance
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            create_time: Optional[str] = None,
            creator: Optional[str] = None,
            desired_state: Optional[str] = None,
            disable_proxy_access: Optional[bool] = None,
            effective_labels: Optional[Mapping[str, str]] = None,
            gce_setup: Optional[InstanceGceSetupArgs] = None,
            health_infos: Optional[Sequence[InstanceHealthInfoArgs]] = None,
            health_state: Optional[str] = None,
            instance_id: Optional[str] = None,
            instance_owners: Optional[Sequence[str]] = None,
            labels: Optional[Mapping[str, str]] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            project: Optional[str] = None,
            proxy_uri: Optional[str] = None,
            pulumi_labels: Optional[Mapping[str, str]] = None,
            state: Optional[str] = None,
            update_time: Optional[str] = None,
            upgrade_histories: Optional[Sequence[InstanceUpgradeHistoryArgs]] = None) -> Instance
    func GetInstance(ctx *Context, name string, id IDInput, state *InstanceState, opts ...ResourceOption) (*Instance, error)
    public static Instance Get(string name, Input<string> id, InstanceState? state, CustomResourceOptions? opts = null)
    public static Instance get(String name, Output<String> id, InstanceState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CreateTime string
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    Creator string
    Output only. Email address of entity that sent original CreateInstance request.
    DesiredState string
    Desired state of the Workbench Instance. Set this field to ACTIVE to start the Instance, and STOPPED to stop the Instance.
    DisableProxyAccess bool
    Optional. If true, the workbench instance will not register with the proxy.
    EffectiveLabels Dictionary<string, string>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    GceSetup InstanceGceSetup
    The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
    HealthInfos List<InstanceHealthInfo>
    'Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" }'
    HealthState string
    Output only. Instance health_state.
    InstanceId string
    Required. User-defined unique ID of this instance.
    InstanceOwners List<string>
    'Optional. Input only. The owner of this instance after creation. Format: alias@example.com Currently supports one owner only. If not specified, all of the service account users of your VM instance''s service account can use the instance.'
    Labels Dictionary<string, string>

    Optional. Labels to apply to this instance. These can be later modified by the UpdateInstance method.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    Location string
    Part of parent. See documentation of projectsId.


    Name string
    The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    ProxyUri string
    Output only. The proxy endpoint that is used to access the Jupyter notebook.
    PulumiLabels Dictionary<string, string>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    State string
    (Output) Output only. The state of this instance upgrade history entry.
    UpdateTime string
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    UpgradeHistories List<InstanceUpgradeHistory>
    Output only. The upgrade history of this instance. Structure is documented below.
    CreateTime string
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    Creator string
    Output only. Email address of entity that sent original CreateInstance request.
    DesiredState string
    Desired state of the Workbench Instance. Set this field to ACTIVE to start the Instance, and STOPPED to stop the Instance.
    DisableProxyAccess bool
    Optional. If true, the workbench instance will not register with the proxy.
    EffectiveLabels map[string]string
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    GceSetup InstanceGceSetupArgs
    The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
    HealthInfos []InstanceHealthInfoArgs
    'Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" }'
    HealthState string
    Output only. Instance health_state.
    InstanceId string
    Required. User-defined unique ID of this instance.
    InstanceOwners []string
    'Optional. Input only. The owner of this instance after creation. Format: alias@example.com Currently supports one owner only. If not specified, all of the service account users of your VM instance''s service account can use the instance.'
    Labels map[string]string

    Optional. Labels to apply to this instance. These can be later modified by the UpdateInstance method.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    Location string
    Part of parent. See documentation of projectsId.


    Name string
    The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    ProxyUri string
    Output only. The proxy endpoint that is used to access the Jupyter notebook.
    PulumiLabels map[string]string
    The combination of labels configured directly on the resource and default labels configured on the provider.
    State string
    (Output) Output only. The state of this instance upgrade history entry.
    UpdateTime string
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    UpgradeHistories []InstanceUpgradeHistoryArgs
    Output only. The upgrade history of this instance. Structure is documented below.
    createTime String
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    creator String
    Output only. Email address of entity that sent original CreateInstance request.
    desiredState String
    Desired state of the Workbench Instance. Set this field to ACTIVE to start the Instance, and STOPPED to stop the Instance.
    disableProxyAccess Boolean
    Optional. If true, the workbench instance will not register with the proxy.
    effectiveLabels Map<String,String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    gceSetup InstanceGceSetup
    The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
    healthInfos List<InstanceHealthInfo>
    'Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" }'
    healthState String
    Output only. Instance health_state.
    instanceId String
    Required. User-defined unique ID of this instance.
    instanceOwners List<String>
    'Optional. Input only. The owner of this instance after creation. Format: alias@example.com Currently supports one owner only. If not specified, all of the service account users of your VM instance''s service account can use the instance.'
    labels Map<String,String>

    Optional. Labels to apply to this instance. These can be later modified by the UpdateInstance method.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    location String
    Part of parent. See documentation of projectsId.


    name String
    The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    proxyUri String
    Output only. The proxy endpoint that is used to access the Jupyter notebook.
    pulumiLabels Map<String,String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state String
    (Output) Output only. The state of this instance upgrade history entry.
    updateTime String
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    upgradeHistories List<InstanceUpgradeHistory>
    Output only. The upgrade history of this instance. Structure is documented below.
    createTime string
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    creator string
    Output only. Email address of entity that sent original CreateInstance request.
    desiredState string
    Desired state of the Workbench Instance. Set this field to ACTIVE to start the Instance, and STOPPED to stop the Instance.
    disableProxyAccess boolean
    Optional. If true, the workbench instance will not register with the proxy.
    effectiveLabels {[key: string]: string}
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    gceSetup InstanceGceSetup
    The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
    healthInfos InstanceHealthInfo[]
    'Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" }'
    healthState string
    Output only. Instance health_state.
    instanceId string
    Required. User-defined unique ID of this instance.
    instanceOwners string[]
    'Optional. Input only. The owner of this instance after creation. Format: alias@example.com Currently supports one owner only. If not specified, all of the service account users of your VM instance''s service account can use the instance.'
    labels {[key: string]: string}

    Optional. Labels to apply to this instance. These can be later modified by the UpdateInstance method.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    location string
    Part of parent. See documentation of projectsId.


    name string
    The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    proxyUri string
    Output only. The proxy endpoint that is used to access the Jupyter notebook.
    pulumiLabels {[key: string]: string}
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state string
    (Output) Output only. The state of this instance upgrade history entry.
    updateTime string
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    upgradeHistories InstanceUpgradeHistory[]
    Output only. The upgrade history of this instance. Structure is documented below.
    create_time str
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    creator str
    Output only. Email address of entity that sent original CreateInstance request.
    desired_state str
    Desired state of the Workbench Instance. Set this field to ACTIVE to start the Instance, and STOPPED to stop the Instance.
    disable_proxy_access bool
    Optional. If true, the workbench instance will not register with the proxy.
    effective_labels Mapping[str, str]
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    gce_setup InstanceGceSetupArgs
    The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
    health_infos Sequence[InstanceHealthInfoArgs]
    'Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" }'
    health_state str
    Output only. Instance health_state.
    instance_id str
    Required. User-defined unique ID of this instance.
    instance_owners Sequence[str]
    'Optional. Input only. The owner of this instance after creation. Format: alias@example.com Currently supports one owner only. If not specified, all of the service account users of your VM instance''s service account can use the instance.'
    labels Mapping[str, str]

    Optional. Labels to apply to this instance. These can be later modified by the UpdateInstance method.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    location str
    Part of parent. See documentation of projectsId.


    name str
    The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    proxy_uri str
    Output only. The proxy endpoint that is used to access the Jupyter notebook.
    pulumi_labels Mapping[str, str]
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state str
    (Output) Output only. The state of this instance upgrade history entry.
    update_time str
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    upgrade_histories Sequence[InstanceUpgradeHistoryArgs]
    Output only. The upgrade history of this instance. Structure is documented below.
    createTime String
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    creator String
    Output only. Email address of entity that sent original CreateInstance request.
    desiredState String
    Desired state of the Workbench Instance. Set this field to ACTIVE to start the Instance, and STOPPED to stop the Instance.
    disableProxyAccess Boolean
    Optional. If true, the workbench instance will not register with the proxy.
    effectiveLabels Map<String>
    All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
    gceSetup Property Map
    The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
    healthInfos List<Property Map>
    'Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" }'
    healthState String
    Output only. Instance health_state.
    instanceId String
    Required. User-defined unique ID of this instance.
    instanceOwners List<String>
    'Optional. Input only. The owner of this instance after creation. Format: alias@example.com Currently supports one owner only. If not specified, all of the service account users of your VM instance''s service account can use the instance.'
    labels Map<String>

    Optional. Labels to apply to this instance. These can be later modified by the UpdateInstance method.

    Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

    location String
    Part of parent. See documentation of projectsId.


    name String
    The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    proxyUri String
    Output only. The proxy endpoint that is used to access the Jupyter notebook.
    pulumiLabels Map<String>
    The combination of labels configured directly on the resource and default labels configured on the provider.
    state String
    (Output) Output only. The state of this instance upgrade history entry.
    updateTime String
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    upgradeHistories List<Property Map>
    Output only. The upgrade history of this instance. Structure is documented below.

    Supporting Types

    InstanceGceSetup, InstanceGceSetupArgs

    AcceleratorConfigs List<InstanceGceSetupAcceleratorConfig>
    The hardware accelerators used on this instance. If you use accelerators, make sure that your configuration has enough vCPUs and memory to support the machine_type you have selected. Currently supports only one accelerator configuration. Structure is documented below.
    BootDisk InstanceGceSetupBootDisk
    The definition of a boot disk. Structure is documented below.
    ContainerImage InstanceGceSetupContainerImage
    Use a container image to start the workbench instance. Structure is documented below.
    DataDisks InstanceGceSetupDataDisks
    Data disks attached to the VM instance. Currently supports only one data disk. Structure is documented below.
    DisablePublicIp bool
    Optional. If true, no external IP will be assigned to this VM instance.
    EnableIpForwarding bool
    Optional. Flag to enable ip forwarding or not, default false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward
    MachineType string
    Optional. The machine type of the VM instance. https://cloud.google.com/compute/docs/machine-resource
    Metadata Dictionary<string, string>
    Optional. Custom metadata to apply to this instance.
    NetworkInterfaces List<InstanceGceSetupNetworkInterface>
    The network interfaces for the VM. Supports only one interface. Structure is documented below.
    ServiceAccounts List<InstanceGceSetupServiceAccount>
    The service account that serves as an identity for the VM instance. Currently supports only one service account. Structure is documented below.
    ShieldedInstanceConfig InstanceGceSetupShieldedInstanceConfig
    A set of Shielded Instance options. See Images using supported Shielded VM features. Not all combinations are valid. Structure is documented below.
    Tags List<string>
    Optional. The Compute Engine tags to add to instance (see Tagging instances).
    VmImage InstanceGceSetupVmImage
    Definition of a custom Compute Engine virtual machine image for starting a workbench instance with the environment installed directly on the VM. Structure is documented below.
    AcceleratorConfigs []InstanceGceSetupAcceleratorConfig
    The hardware accelerators used on this instance. If you use accelerators, make sure that your configuration has enough vCPUs and memory to support the machine_type you have selected. Currently supports only one accelerator configuration. Structure is documented below.
    BootDisk InstanceGceSetupBootDisk
    The definition of a boot disk. Structure is documented below.
    ContainerImage InstanceGceSetupContainerImage
    Use a container image to start the workbench instance. Structure is documented below.
    DataDisks InstanceGceSetupDataDisks
    Data disks attached to the VM instance. Currently supports only one data disk. Structure is documented below.
    DisablePublicIp bool
    Optional. If true, no external IP will be assigned to this VM instance.
    EnableIpForwarding bool
    Optional. Flag to enable ip forwarding or not, default false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward
    MachineType string
    Optional. The machine type of the VM instance. https://cloud.google.com/compute/docs/machine-resource
    Metadata map[string]string
    Optional. Custom metadata to apply to this instance.
    NetworkInterfaces []InstanceGceSetupNetworkInterface
    The network interfaces for the VM. Supports only one interface. Structure is documented below.
    ServiceAccounts []InstanceGceSetupServiceAccount
    The service account that serves as an identity for the VM instance. Currently supports only one service account. Structure is documented below.
    ShieldedInstanceConfig InstanceGceSetupShieldedInstanceConfig
    A set of Shielded Instance options. See Images using supported Shielded VM features. Not all combinations are valid. Structure is documented below.
    Tags []string
    Optional. The Compute Engine tags to add to instance (see Tagging instances).
    VmImage InstanceGceSetupVmImage
    Definition of a custom Compute Engine virtual machine image for starting a workbench instance with the environment installed directly on the VM. Structure is documented below.
    acceleratorConfigs List<InstanceGceSetupAcceleratorConfig>
    The hardware accelerators used on this instance. If you use accelerators, make sure that your configuration has enough vCPUs and memory to support the machine_type you have selected. Currently supports only one accelerator configuration. Structure is documented below.
    bootDisk InstanceGceSetupBootDisk
    The definition of a boot disk. Structure is documented below.
    containerImage InstanceGceSetupContainerImage
    Use a container image to start the workbench instance. Structure is documented below.
    dataDisks InstanceGceSetupDataDisks
    Data disks attached to the VM instance. Currently supports only one data disk. Structure is documented below.
    disablePublicIp Boolean
    Optional. If true, no external IP will be assigned to this VM instance.
    enableIpForwarding Boolean
    Optional. Flag to enable ip forwarding or not, default false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward
    machineType String
    Optional. The machine type of the VM instance. https://cloud.google.com/compute/docs/machine-resource
    metadata Map<String,String>
    Optional. Custom metadata to apply to this instance.
    networkInterfaces List<InstanceGceSetupNetworkInterface>
    The network interfaces for the VM. Supports only one interface. Structure is documented below.
    serviceAccounts List<InstanceGceSetupServiceAccount>
    The service account that serves as an identity for the VM instance. Currently supports only one service account. Structure is documented below.
    shieldedInstanceConfig InstanceGceSetupShieldedInstanceConfig
    A set of Shielded Instance options. See Images using supported Shielded VM features. Not all combinations are valid. Structure is documented below.
    tags List<String>
    Optional. The Compute Engine tags to add to instance (see Tagging instances).
    vmImage InstanceGceSetupVmImage
    Definition of a custom Compute Engine virtual machine image for starting a workbench instance with the environment installed directly on the VM. Structure is documented below.
    acceleratorConfigs InstanceGceSetupAcceleratorConfig[]
    The hardware accelerators used on this instance. If you use accelerators, make sure that your configuration has enough vCPUs and memory to support the machine_type you have selected. Currently supports only one accelerator configuration. Structure is documented below.
    bootDisk InstanceGceSetupBootDisk
    The definition of a boot disk. Structure is documented below.
    containerImage InstanceGceSetupContainerImage
    Use a container image to start the workbench instance. Structure is documented below.
    dataDisks InstanceGceSetupDataDisks
    Data disks attached to the VM instance. Currently supports only one data disk. Structure is documented below.
    disablePublicIp boolean
    Optional. If true, no external IP will be assigned to this VM instance.
    enableIpForwarding boolean
    Optional. Flag to enable ip forwarding or not, default false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward
    machineType string
    Optional. The machine type of the VM instance. https://cloud.google.com/compute/docs/machine-resource
    metadata {[key: string]: string}
    Optional. Custom metadata to apply to this instance.
    networkInterfaces InstanceGceSetupNetworkInterface[]
    The network interfaces for the VM. Supports only one interface. Structure is documented below.
    serviceAccounts InstanceGceSetupServiceAccount[]
    The service account that serves as an identity for the VM instance. Currently supports only one service account. Structure is documented below.
    shieldedInstanceConfig InstanceGceSetupShieldedInstanceConfig
    A set of Shielded Instance options. See Images using supported Shielded VM features. Not all combinations are valid. Structure is documented below.
    tags string[]
    Optional. The Compute Engine tags to add to instance (see Tagging instances).
    vmImage InstanceGceSetupVmImage
    Definition of a custom Compute Engine virtual machine image for starting a workbench instance with the environment installed directly on the VM. Structure is documented below.
    accelerator_configs Sequence[InstanceGceSetupAcceleratorConfig]
    The hardware accelerators used on this instance. If you use accelerators, make sure that your configuration has enough vCPUs and memory to support the machine_type you have selected. Currently supports only one accelerator configuration. Structure is documented below.
    boot_disk InstanceGceSetupBootDisk
    The definition of a boot disk. Structure is documented below.
    container_image InstanceGceSetupContainerImage
    Use a container image to start the workbench instance. Structure is documented below.
    data_disks InstanceGceSetupDataDisks
    Data disks attached to the VM instance. Currently supports only one data disk. Structure is documented below.
    disable_public_ip bool
    Optional. If true, no external IP will be assigned to this VM instance.
    enable_ip_forwarding bool
    Optional. Flag to enable ip forwarding or not, default false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward
    machine_type str
    Optional. The machine type of the VM instance. https://cloud.google.com/compute/docs/machine-resource
    metadata Mapping[str, str]
    Optional. Custom metadata to apply to this instance.
    network_interfaces Sequence[InstanceGceSetupNetworkInterface]
    The network interfaces for the VM. Supports only one interface. Structure is documented below.
    service_accounts Sequence[InstanceGceSetupServiceAccount]
    The service account that serves as an identity for the VM instance. Currently supports only one service account. Structure is documented below.
    shielded_instance_config InstanceGceSetupShieldedInstanceConfig
    A set of Shielded Instance options. See Images using supported Shielded VM features. Not all combinations are valid. Structure is documented below.
    tags Sequence[str]
    Optional. The Compute Engine tags to add to instance (see Tagging instances).
    vm_image InstanceGceSetupVmImage
    Definition of a custom Compute Engine virtual machine image for starting a workbench instance with the environment installed directly on the VM. Structure is documented below.
    acceleratorConfigs List<Property Map>
    The hardware accelerators used on this instance. If you use accelerators, make sure that your configuration has enough vCPUs and memory to support the machine_type you have selected. Currently supports only one accelerator configuration. Structure is documented below.
    bootDisk Property Map
    The definition of a boot disk. Structure is documented below.
    containerImage Property Map
    Use a container image to start the workbench instance. Structure is documented below.
    dataDisks Property Map
    Data disks attached to the VM instance. Currently supports only one data disk. Structure is documented below.
    disablePublicIp Boolean
    Optional. If true, no external IP will be assigned to this VM instance.
    enableIpForwarding Boolean
    Optional. Flag to enable ip forwarding or not, default false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward
    machineType String
    Optional. The machine type of the VM instance. https://cloud.google.com/compute/docs/machine-resource
    metadata Map<String>
    Optional. Custom metadata to apply to this instance.
    networkInterfaces List<Property Map>
    The network interfaces for the VM. Supports only one interface. Structure is documented below.
    serviceAccounts List<Property Map>
    The service account that serves as an identity for the VM instance. Currently supports only one service account. Structure is documented below.
    shieldedInstanceConfig Property Map
    A set of Shielded Instance options. See Images using supported Shielded VM features. Not all combinations are valid. Structure is documented below.
    tags List<String>
    Optional. The Compute Engine tags to add to instance (see Tagging instances).
    vmImage Property Map
    Definition of a custom Compute Engine virtual machine image for starting a workbench instance with the environment installed directly on the VM. Structure is documented below.

    InstanceGceSetupAcceleratorConfig, InstanceGceSetupAcceleratorConfigArgs

    CoreCount string
    Optional. Count of cores of this accelerator.
    Type string
    Optional. Type of this accelerator. Possible values are: NVIDIA_TESLA_P100, NVIDIA_TESLA_V100, NVIDIA_TESLA_P4, NVIDIA_TESLA_T4, NVIDIA_TESLA_A100, NVIDIA_A100_80GB, NVIDIA_L4, NVIDIA_TESLA_T4_VWS, NVIDIA_TESLA_P100_VWS, NVIDIA_TESLA_P4_VWS.
    CoreCount string
    Optional. Count of cores of this accelerator.
    Type string
    Optional. Type of this accelerator. Possible values are: NVIDIA_TESLA_P100, NVIDIA_TESLA_V100, NVIDIA_TESLA_P4, NVIDIA_TESLA_T4, NVIDIA_TESLA_A100, NVIDIA_A100_80GB, NVIDIA_L4, NVIDIA_TESLA_T4_VWS, NVIDIA_TESLA_P100_VWS, NVIDIA_TESLA_P4_VWS.
    coreCount String
    Optional. Count of cores of this accelerator.
    type String
    Optional. Type of this accelerator. Possible values are: NVIDIA_TESLA_P100, NVIDIA_TESLA_V100, NVIDIA_TESLA_P4, NVIDIA_TESLA_T4, NVIDIA_TESLA_A100, NVIDIA_A100_80GB, NVIDIA_L4, NVIDIA_TESLA_T4_VWS, NVIDIA_TESLA_P100_VWS, NVIDIA_TESLA_P4_VWS.
    coreCount string
    Optional. Count of cores of this accelerator.
    type string
    Optional. Type of this accelerator. Possible values are: NVIDIA_TESLA_P100, NVIDIA_TESLA_V100, NVIDIA_TESLA_P4, NVIDIA_TESLA_T4, NVIDIA_TESLA_A100, NVIDIA_A100_80GB, NVIDIA_L4, NVIDIA_TESLA_T4_VWS, NVIDIA_TESLA_P100_VWS, NVIDIA_TESLA_P4_VWS.
    core_count str
    Optional. Count of cores of this accelerator.
    type str
    Optional. Type of this accelerator. Possible values are: NVIDIA_TESLA_P100, NVIDIA_TESLA_V100, NVIDIA_TESLA_P4, NVIDIA_TESLA_T4, NVIDIA_TESLA_A100, NVIDIA_A100_80GB, NVIDIA_L4, NVIDIA_TESLA_T4_VWS, NVIDIA_TESLA_P100_VWS, NVIDIA_TESLA_P4_VWS.
    coreCount String
    Optional. Count of cores of this accelerator.
    type String
    Optional. Type of this accelerator. Possible values are: NVIDIA_TESLA_P100, NVIDIA_TESLA_V100, NVIDIA_TESLA_P4, NVIDIA_TESLA_T4, NVIDIA_TESLA_A100, NVIDIA_A100_80GB, NVIDIA_L4, NVIDIA_TESLA_T4_VWS, NVIDIA_TESLA_P100_VWS, NVIDIA_TESLA_P4_VWS.

    InstanceGceSetupBootDisk, InstanceGceSetupBootDiskArgs

    DiskEncryption string
    Optional. Input only. Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values are: GMEK, CMEK.
    DiskSizeGb string
    Optional. The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to the recommended value of 150GB.
    DiskType string
    Optional. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
    KmsKey string
    'Optional. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id} Learn more about using your own encryption keys.'
    DiskEncryption string
    Optional. Input only. Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values are: GMEK, CMEK.
    DiskSizeGb string
    Optional. The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to the recommended value of 150GB.
    DiskType string
    Optional. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
    KmsKey string
    'Optional. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id} Learn more about using your own encryption keys.'
    diskEncryption String
    Optional. Input only. Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values are: GMEK, CMEK.
    diskSizeGb String
    Optional. The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to the recommended value of 150GB.
    diskType String
    Optional. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
    kmsKey String
    'Optional. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id} Learn more about using your own encryption keys.'
    diskEncryption string
    Optional. Input only. Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values are: GMEK, CMEK.
    diskSizeGb string
    Optional. The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to the recommended value of 150GB.
    diskType string
    Optional. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
    kmsKey string
    'Optional. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id} Learn more about using your own encryption keys.'
    disk_encryption str
    Optional. Input only. Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values are: GMEK, CMEK.
    disk_size_gb str
    Optional. The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to the recommended value of 150GB.
    disk_type str
    Optional. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
    kms_key str
    'Optional. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id} Learn more about using your own encryption keys.'
    diskEncryption String
    Optional. Input only. Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values are: GMEK, CMEK.
    diskSizeGb String
    Optional. The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to the recommended value of 150GB.
    diskType String
    Optional. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
    kmsKey String
    'Optional. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id} Learn more about using your own encryption keys.'

    InstanceGceSetupContainerImage, InstanceGceSetupContainerImageArgs

    Repository string
    The path to the container image repository. For example: gcr.io/{project_id}/{imageName}
    Tag string
    The tag of the container image. If not specified, this defaults to the latest tag.
    Repository string
    The path to the container image repository. For example: gcr.io/{project_id}/{imageName}
    Tag string
    The tag of the container image. If not specified, this defaults to the latest tag.
    repository String
    The path to the container image repository. For example: gcr.io/{project_id}/{imageName}
    tag String
    The tag of the container image. If not specified, this defaults to the latest tag.
    repository string
    The path to the container image repository. For example: gcr.io/{project_id}/{imageName}
    tag string
    The tag of the container image. If not specified, this defaults to the latest tag.
    repository str
    The path to the container image repository. For example: gcr.io/{project_id}/{imageName}
    tag str
    The tag of the container image. If not specified, this defaults to the latest tag.
    repository String
    The path to the container image repository. For example: gcr.io/{project_id}/{imageName}
    tag String
    The tag of the container image. If not specified, this defaults to the latest tag.

    InstanceGceSetupDataDisks, InstanceGceSetupDataDisksArgs

    DiskEncryption string
    Optional. Input only. Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values are: GMEK, CMEK.
    DiskSizeGb string
    Optional. The size of the disk in GB attached to this VM instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to 100.
    DiskType string
    Optional. Input only. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
    KmsKey string
    'Optional. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id} Learn more about using your own encryption keys.'
    DiskEncryption string
    Optional. Input only. Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values are: GMEK, CMEK.
    DiskSizeGb string
    Optional. The size of the disk in GB attached to this VM instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to 100.
    DiskType string
    Optional. Input only. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
    KmsKey string
    'Optional. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id} Learn more about using your own encryption keys.'
    diskEncryption String
    Optional. Input only. Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values are: GMEK, CMEK.
    diskSizeGb String
    Optional. The size of the disk in GB attached to this VM instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to 100.
    diskType String
    Optional. Input only. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
    kmsKey String
    'Optional. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id} Learn more about using your own encryption keys.'
    diskEncryption string
    Optional. Input only. Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values are: GMEK, CMEK.
    diskSizeGb string
    Optional. The size of the disk in GB attached to this VM instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to 100.
    diskType string
    Optional. Input only. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
    kmsKey string
    'Optional. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id} Learn more about using your own encryption keys.'
    disk_encryption str
    Optional. Input only. Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values are: GMEK, CMEK.
    disk_size_gb str
    Optional. The size of the disk in GB attached to this VM instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to 100.
    disk_type str
    Optional. Input only. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
    kms_key str
    'Optional. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id} Learn more about using your own encryption keys.'
    diskEncryption String
    Optional. Input only. Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values are: GMEK, CMEK.
    diskSizeGb String
    Optional. The size of the disk in GB attached to this VM instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to 100.
    diskType String
    Optional. Input only. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
    kmsKey String
    'Optional. The KMS key used to encrypt the disks, only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id} Learn more about using your own encryption keys.'

    InstanceGceSetupNetworkInterface, InstanceGceSetupNetworkInterfaceArgs

    AccessConfigs List<InstanceGceSetupNetworkInterfaceAccessConfig>
    Optional. An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If no accessConfigs specified, the instance will have an external internet access through an ephemeral external IP address. Structure is documented below.
    Network string
    Optional. The name of the VPC that this VM instance is in.
    NicType string
    Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. Possible values are: VIRTIO_NET, GVNIC.
    Subnet string
    Optional. The name of the subnet that this VM instance is in.
    AccessConfigs []InstanceGceSetupNetworkInterfaceAccessConfig
    Optional. An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If no accessConfigs specified, the instance will have an external internet access through an ephemeral external IP address. Structure is documented below.
    Network string
    Optional. The name of the VPC that this VM instance is in.
    NicType string
    Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. Possible values are: VIRTIO_NET, GVNIC.
    Subnet string
    Optional. The name of the subnet that this VM instance is in.
    accessConfigs List<InstanceGceSetupNetworkInterfaceAccessConfig>
    Optional. An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If no accessConfigs specified, the instance will have an external internet access through an ephemeral external IP address. Structure is documented below.
    network String
    Optional. The name of the VPC that this VM instance is in.
    nicType String
    Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. Possible values are: VIRTIO_NET, GVNIC.
    subnet String
    Optional. The name of the subnet that this VM instance is in.
    accessConfigs InstanceGceSetupNetworkInterfaceAccessConfig[]
    Optional. An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If no accessConfigs specified, the instance will have an external internet access through an ephemeral external IP address. Structure is documented below.
    network string
    Optional. The name of the VPC that this VM instance is in.
    nicType string
    Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. Possible values are: VIRTIO_NET, GVNIC.
    subnet string
    Optional. The name of the subnet that this VM instance is in.
    access_configs Sequence[InstanceGceSetupNetworkInterfaceAccessConfig]
    Optional. An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If no accessConfigs specified, the instance will have an external internet access through an ephemeral external IP address. Structure is documented below.
    network str
    Optional. The name of the VPC that this VM instance is in.
    nic_type str
    Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. Possible values are: VIRTIO_NET, GVNIC.
    subnet str
    Optional. The name of the subnet that this VM instance is in.
    accessConfigs List<Property Map>
    Optional. An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If no accessConfigs specified, the instance will have an external internet access through an ephemeral external IP address. Structure is documented below.
    network String
    Optional. The name of the VPC that this VM instance is in.
    nicType String
    Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. Possible values are: VIRTIO_NET, GVNIC.
    subnet String
    Optional. The name of the subnet that this VM instance is in.

    InstanceGceSetupNetworkInterfaceAccessConfig, InstanceGceSetupNetworkInterfaceAccessConfigArgs

    ExternalIp string
    An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
    ExternalIp string
    An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
    externalIp String
    An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
    externalIp string
    An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
    external_ip str
    An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
    externalIp String
    An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.

    InstanceGceSetupServiceAccount, InstanceGceSetupServiceAccountArgs

    Email string
    Optional. Email address of the service account.
    Scopes List<string>
    (Output) Output only. The list of scopes to be made available for this service account. Set by the CLH to https://www.googleapis.com/auth/cloud-platform
    Email string
    Optional. Email address of the service account.
    Scopes []string
    (Output) Output only. The list of scopes to be made available for this service account. Set by the CLH to https://www.googleapis.com/auth/cloud-platform
    email String
    Optional. Email address of the service account.
    scopes List<String>
    (Output) Output only. The list of scopes to be made available for this service account. Set by the CLH to https://www.googleapis.com/auth/cloud-platform
    email string
    Optional. Email address of the service account.
    scopes string[]
    (Output) Output only. The list of scopes to be made available for this service account. Set by the CLH to https://www.googleapis.com/auth/cloud-platform
    email str
    Optional. Email address of the service account.
    scopes Sequence[str]
    (Output) Output only. The list of scopes to be made available for this service account. Set by the CLH to https://www.googleapis.com/auth/cloud-platform
    email String
    Optional. Email address of the service account.
    scopes List<String>
    (Output) Output only. The list of scopes to be made available for this service account. Set by the CLH to https://www.googleapis.com/auth/cloud-platform

    InstanceGceSetupShieldedInstanceConfig, InstanceGceSetupShieldedInstanceConfigArgs

    EnableIntegrityMonitoring bool
    Optional. Defines whether the VM instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the VM instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the VM instance is created. Enabled by default.
    EnableSecureBoot bool
    Optional. Defines whether the VM instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails. Disabled by default.
    EnableVtpm bool
    Optional. Defines whether the VM instance has the vTPM enabled. Enabled by default.
    EnableIntegrityMonitoring bool
    Optional. Defines whether the VM instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the VM instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the VM instance is created. Enabled by default.
    EnableSecureBoot bool
    Optional. Defines whether the VM instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails. Disabled by default.
    EnableVtpm bool
    Optional. Defines whether the VM instance has the vTPM enabled. Enabled by default.
    enableIntegrityMonitoring Boolean
    Optional. Defines whether the VM instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the VM instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the VM instance is created. Enabled by default.
    enableSecureBoot Boolean
    Optional. Defines whether the VM instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails. Disabled by default.
    enableVtpm Boolean
    Optional. Defines whether the VM instance has the vTPM enabled. Enabled by default.
    enableIntegrityMonitoring boolean
    Optional. Defines whether the VM instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the VM instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the VM instance is created. Enabled by default.
    enableSecureBoot boolean
    Optional. Defines whether the VM instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails. Disabled by default.
    enableVtpm boolean
    Optional. Defines whether the VM instance has the vTPM enabled. Enabled by default.
    enable_integrity_monitoring bool
    Optional. Defines whether the VM instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the VM instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the VM instance is created. Enabled by default.
    enable_secure_boot bool
    Optional. Defines whether the VM instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails. Disabled by default.
    enable_vtpm bool
    Optional. Defines whether the VM instance has the vTPM enabled. Enabled by default.
    enableIntegrityMonitoring Boolean
    Optional. Defines whether the VM instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the VM instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the VM instance is created. Enabled by default.
    enableSecureBoot Boolean
    Optional. Defines whether the VM instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails. Disabled by default.
    enableVtpm Boolean
    Optional. Defines whether the VM instance has the vTPM enabled. Enabled by default.

    InstanceGceSetupVmImage, InstanceGceSetupVmImageArgs

    Family string
    Optional. Use this VM image family to find the image; the newest image in this family will be used.
    Name string
    Optional. Use VM image name to find the image.
    Project string
    The name of the Google Cloud project that this VM image belongs to. Format: {project_id}
    Family string
    Optional. Use this VM image family to find the image; the newest image in this family will be used.
    Name string
    Optional. Use VM image name to find the image.
    Project string
    The name of the Google Cloud project that this VM image belongs to. Format: {project_id}
    family String
    Optional. Use this VM image family to find the image; the newest image in this family will be used.
    name String
    Optional. Use VM image name to find the image.
    project String
    The name of the Google Cloud project that this VM image belongs to. Format: {project_id}
    family string
    Optional. Use this VM image family to find the image; the newest image in this family will be used.
    name string
    Optional. Use VM image name to find the image.
    project string
    The name of the Google Cloud project that this VM image belongs to. Format: {project_id}
    family str
    Optional. Use this VM image family to find the image; the newest image in this family will be used.
    name str
    Optional. Use VM image name to find the image.
    project str
    The name of the Google Cloud project that this VM image belongs to. Format: {project_id}
    family String
    Optional. Use this VM image family to find the image; the newest image in this family will be used.
    name String
    Optional. Use VM image name to find the image.
    project String
    The name of the Google Cloud project that this VM image belongs to. Format: {project_id}

    InstanceUpgradeHistory, InstanceUpgradeHistoryArgs

    Action string
    Optional. Action. Rolloback or Upgrade.
    ContainerImage string
    Optional. The container image before this instance upgrade.
    CreateTime string
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    Framework string
    Optional. The framework of this workbench instance.
    Snapshot string
    Optional. The snapshot of the boot disk of this workbench instance before upgrade.
    State string
    (Output) Output only. The state of this instance upgrade history entry.
    TargetVersion string
    Optional. Target VM Version, like m63.
    Version string
    Optional. The version of the workbench instance before this upgrade.
    VmImage string
    Optional. The VM image before this instance upgrade.
    Action string
    Optional. Action. Rolloback or Upgrade.
    ContainerImage string
    Optional. The container image before this instance upgrade.
    CreateTime string
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    Framework string
    Optional. The framework of this workbench instance.
    Snapshot string
    Optional. The snapshot of the boot disk of this workbench instance before upgrade.
    State string
    (Output) Output only. The state of this instance upgrade history entry.
    TargetVersion string
    Optional. Target VM Version, like m63.
    Version string
    Optional. The version of the workbench instance before this upgrade.
    VmImage string
    Optional. The VM image before this instance upgrade.
    action String
    Optional. Action. Rolloback or Upgrade.
    containerImage String
    Optional. The container image before this instance upgrade.
    createTime String
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    framework String
    Optional. The framework of this workbench instance.
    snapshot String
    Optional. The snapshot of the boot disk of this workbench instance before upgrade.
    state String
    (Output) Output only. The state of this instance upgrade history entry.
    targetVersion String
    Optional. Target VM Version, like m63.
    version String
    Optional. The version of the workbench instance before this upgrade.
    vmImage String
    Optional. The VM image before this instance upgrade.
    action string
    Optional. Action. Rolloback or Upgrade.
    containerImage string
    Optional. The container image before this instance upgrade.
    createTime string
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    framework string
    Optional. The framework of this workbench instance.
    snapshot string
    Optional. The snapshot of the boot disk of this workbench instance before upgrade.
    state string
    (Output) Output only. The state of this instance upgrade history entry.
    targetVersion string
    Optional. Target VM Version, like m63.
    version string
    Optional. The version of the workbench instance before this upgrade.
    vmImage string
    Optional. The VM image before this instance upgrade.
    action str
    Optional. Action. Rolloback or Upgrade.
    container_image str
    Optional. The container image before this instance upgrade.
    create_time str
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    framework str
    Optional. The framework of this workbench instance.
    snapshot str
    Optional. The snapshot of the boot disk of this workbench instance before upgrade.
    state str
    (Output) Output only. The state of this instance upgrade history entry.
    target_version str
    Optional. Target VM Version, like m63.
    version str
    Optional. The version of the workbench instance before this upgrade.
    vm_image str
    Optional. The VM image before this instance upgrade.
    action String
    Optional. Action. Rolloback or Upgrade.
    containerImage String
    Optional. The container image before this instance upgrade.
    createTime String
    An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
    framework String
    Optional. The framework of this workbench instance.
    snapshot String
    Optional. The snapshot of the boot disk of this workbench instance before upgrade.
    state String
    (Output) Output only. The state of this instance upgrade history entry.
    targetVersion String
    Optional. Target VM Version, like m63.
    version String
    Optional. The version of the workbench instance before this upgrade.
    vmImage String
    Optional. The VM image before this instance upgrade.

    Import

    Instance can be imported using any of these accepted formats:

    • projects/{{project}}/locations/{{location}}/instances/{{name}}

    • {{project}}/{{location}}/{{name}}

    • {{location}}/{{name}}

    When using the pulumi import command, Instance can be imported using one of the formats above. For example:

    $ pulumi import gcp:workbench/instance:Instance default projects/{{project}}/locations/{{location}}/instances/{{name}}
    
    $ pulumi import gcp:workbench/instance:Instance default {{project}}/{{location}}/{{name}}
    
    $ pulumi import gcp:workbench/instance:Instance default {{location}}/{{name}}
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v8.3.1 published on Wednesday, Sep 25, 2024 by Pulumi