1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. workbench
  5. Instance
Google Cloud v8.26.0 published on Thursday, Apr 10, 2025 by Pulumi

gcp.workbench.Instance

Explore with Pulumi AI

A Workbench instance.

To get more information about Instance, see:

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",
});
Copy
import pulumi
import pulumi_gcp as gcp

instance = gcp.workbench.Instance("instance",
    name="workbench-instance",
    location="us-west1-a")
Copy
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
	})
}
Copy
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",
    });

});
Copy
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());

    }
}
Copy
resources:
  instance:
    type: gcp:workbench:Instance
    properties:
      name: workbench-instance
      location: us-west1-a
Copy

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",
        },
    },
});
Copy
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",
        },
    })
Copy
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
	})
}
Copy
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",
            },
        },
    });

});
Copy
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());

    }
}
Copy
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
Copy

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",
        },
    },
});
Copy
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",
        },
    })
Copy
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
	})
}
Copy
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",
            },
        },
    });

});
Copy
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());

    }
}
Copy
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
Copy

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",
});
Copy
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")
Copy
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
	})
}
Copy
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",
    });

});
Copy
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());

    }
}
Copy
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
Copy

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",
    enableThirdPartyIdentity: true,
}, {
    dependsOn: [
        myNetwork,
        mySubnetwork,
        static,
        actAsPermission,
    ],
});
Copy
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",
    enable_third_party_identity=True,
    opts = pulumi.ResourceOptions(depends_on=[
            my_network,
            my_subnetwork,
            static,
            act_as_permission,
        ]))
Copy
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
		}
		actAsPermission, 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"),
			EnableThirdPartyIdentity: pulumi.Bool(true),
		}, pulumi.DependsOn([]pulumi.Resource{
			myNetwork,
			mySubnetwork,
			static,
			actAsPermission,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
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",
        EnableThirdPartyIdentity = true,
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            myNetwork,
            mySubnetwork,
            @static,
            actAsPermission,
        },
    });

});
Copy
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 com.pulumi.resources.CustomResourceOptions;
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")
            .enableThirdPartyIdentity(true)
            .build(), CustomResourceOptions.builder()
                .dependsOn(                
                    myNetwork,
                    mySubnetwork,
                    static_,
                    actAsPermission)
                .build());

    }
}
Copy
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
      enableThirdPartyIdentity: 'true'
    options:
      dependsOn:
        - ${myNetwork}
        - ${mySubnetwork}
        - ${static}
        - ${actAsPermission}
Copy

Workbench Instance Confidential Compute

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: "n2d-standard-2",
        shieldedInstanceConfig: {
            enableSecureBoot: true,
            enableVtpm: true,
            enableIntegrityMonitoring: true,
        },
        metadata: {
            terraform: "true",
        },
        confidentialInstanceConfig: {
            confidentialInstanceType: "SEV",
        },
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

instance = gcp.workbench.Instance("instance",
    name="workbench-instance",
    location="us-central1-a",
    gce_setup={
        "machine_type": "n2d-standard-2",
        "shielded_instance_config": {
            "enable_secure_boot": True,
            "enable_vtpm": True,
            "enable_integrity_monitoring": True,
        },
        "metadata": {
            "terraform": "true",
        },
        "confidential_instance_config": {
            "confidential_instance_type": "SEV",
        },
    })
Copy
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("n2d-standard-2"),
				ShieldedInstanceConfig: &workbench.InstanceGceSetupShieldedInstanceConfigArgs{
					EnableSecureBoot:          pulumi.Bool(true),
					EnableVtpm:                pulumi.Bool(true),
					EnableIntegrityMonitoring: pulumi.Bool(true),
				},
				Metadata: pulumi.StringMap{
					"terraform": pulumi.String("true"),
				},
				ConfidentialInstanceConfig: &workbench.InstanceGceSetupConfidentialInstanceConfigArgs{
					ConfidentialInstanceType: pulumi.String("SEV"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
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 = "n2d-standard-2",
            ShieldedInstanceConfig = new Gcp.Workbench.Inputs.InstanceGceSetupShieldedInstanceConfigArgs
            {
                EnableSecureBoot = true,
                EnableVtpm = true,
                EnableIntegrityMonitoring = true,
            },
            Metadata = 
            {
                { "terraform", "true" },
            },
            ConfidentialInstanceConfig = new Gcp.Workbench.Inputs.InstanceGceSetupConfidentialInstanceConfigArgs
            {
                ConfidentialInstanceType = "SEV",
            },
        },
    });

});
Copy
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 com.pulumi.gcp.workbench.inputs.InstanceGceSetupConfidentialInstanceConfigArgs;
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("n2d-standard-2")
                .shieldedInstanceConfig(InstanceGceSetupShieldedInstanceConfigArgs.builder()
                    .enableSecureBoot(true)
                    .enableVtpm(true)
                    .enableIntegrityMonitoring(true)
                    .build())
                .metadata(Map.of("terraform", "true"))
                .confidentialInstanceConfig(InstanceGceSetupConfidentialInstanceConfigArgs.builder()
                    .confidentialInstanceType("SEV")
                    .build())
                .build())
            .build());

    }
}
Copy
resources:
  instance:
    type: gcp:workbench:Instance
    properties:
      name: workbench-instance
      location: us-central1-a
      gceSetup:
        machineType: n2d-standard-2
        shieldedInstanceConfig:
          enableSecureBoot: true
          enableVtpm: true
          enableIntegrityMonitoring: true
        metadata:
          terraform: 'true'
        confidentialInstanceConfig:
          confidentialInstanceType: SEV
Copy

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,
             enable_third_party_identity: 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 This property is required. string
The unique name of the resource.
args This property is required. InstanceArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. InstanceArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. InstanceArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. 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,
    EnableThirdPartyIdentity = 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",
        },
        ConfidentialInstanceConfig = new Gcp.Workbench.Inputs.InstanceGceSetupConfidentialInstanceConfigArgs
        {
            ConfidentialInstanceType = "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",
});
Copy
example, err := workbench.NewInstance(ctx, "exampleinstanceResourceResourceFromWorkbenchinstance", &workbench.InstanceArgs{
	Location:                 pulumi.String("string"),
	DesiredState:             pulumi.String("string"),
	DisableProxyAccess:       pulumi.Bool(false),
	EnableThirdPartyIdentity: 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"),
		},
		ConfidentialInstanceConfig: &workbench.InstanceGceSetupConfidentialInstanceConfigArgs{
			ConfidentialInstanceType: 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"),
})
Copy
var exampleinstanceResourceResourceFromWorkbenchinstance = new Instance("exampleinstanceResourceResourceFromWorkbenchinstance", InstanceArgs.builder()
    .location("string")
    .desiredState("string")
    .disableProxyAccess(false)
    .enableThirdPartyIdentity(false)
    .gceSetup(InstanceGceSetupArgs.builder()
        .acceleratorConfigs(InstanceGceSetupAcceleratorConfigArgs.builder()
            .coreCount("string")
            .type("string")
            .build())
        .bootDisk(InstanceGceSetupBootDiskArgs.builder()
            .diskEncryption("string")
            .diskSizeGb("string")
            .diskType("string")
            .kmsKey("string")
            .build())
        .confidentialInstanceConfig(InstanceGceSetupConfidentialInstanceConfigArgs.builder()
            .confidentialInstanceType("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());
Copy
exampleinstance_resource_resource_from_workbenchinstance = gcp.workbench.Instance("exampleinstanceResourceResourceFromWorkbenchinstance",
    location="string",
    desired_state="string",
    disable_proxy_access=False,
    enable_third_party_identity=False,
    gce_setup={
        "accelerator_configs": [{
            "core_count": "string",
            "type": "string",
        }],
        "boot_disk": {
            "disk_encryption": "string",
            "disk_size_gb": "string",
            "disk_type": "string",
            "kms_key": "string",
        },
        "confidential_instance_config": {
            "confidential_instance_type": "string",
        },
        "container_image": {
            "repository": "string",
            "tag": "string",
        },
        "data_disks": {
            "disk_encryption": "string",
            "disk_size_gb": "string",
            "disk_type": "string",
            "kms_key": "string",
        },
        "disable_public_ip": False,
        "enable_ip_forwarding": False,
        "machine_type": "string",
        "metadata": {
            "string": "string",
        },
        "network_interfaces": [{
            "access_configs": [{
                "external_ip": "string",
            }],
            "network": "string",
            "nic_type": "string",
            "subnet": "string",
        }],
        "service_accounts": [{
            "email": "string",
            "scopes": ["string"],
        }],
        "shielded_instance_config": {
            "enable_integrity_monitoring": False,
            "enable_secure_boot": False,
            "enable_vtpm": False,
        },
        "tags": ["string"],
        "vm_image": {
            "family": "string",
            "name": "string",
            "project": "string",
        },
    },
    instance_id="string",
    instance_owners=["string"],
    labels={
        "string": "string",
    },
    name="string",
    project="string")
Copy
const exampleinstanceResourceResourceFromWorkbenchinstance = new gcp.workbench.Instance("exampleinstanceResourceResourceFromWorkbenchinstance", {
    location: "string",
    desiredState: "string",
    disableProxyAccess: false,
    enableThirdPartyIdentity: false,
    gceSetup: {
        acceleratorConfigs: [{
            coreCount: "string",
            type: "string",
        }],
        bootDisk: {
            diskEncryption: "string",
            diskSizeGb: "string",
            diskType: "string",
            kmsKey: "string",
        },
        confidentialInstanceConfig: {
            confidentialInstanceType: "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",
});
Copy
type: gcp:workbench:Instance
properties:
    desiredState: string
    disableProxyAccess: false
    enableThirdPartyIdentity: false
    gceSetup:
        acceleratorConfigs:
            - coreCount: string
              type: string
        bootDisk:
            diskEncryption: string
            diskSizeGb: string
            diskType: string
            kmsKey: string
        confidentialInstanceConfig:
            confidentialInstanceType: 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
Copy

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

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Instance resource accepts the following input properties:

Location
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. bool
Optional. If true, the workbench instance will not register with the proxy.
EnableThirdPartyIdentity bool
Flag that specifies that a notebook can be accessed with third party identity provider.
GceSetup InstanceGceSetup
The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
InstanceId Changes to this property will trigger replacement. string
Required. User-defined unique ID of this instance.
InstanceOwners Changes to this property will trigger replacement. 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. If specified, sets the access mode to Single user. For more details, see https://cloud.google.com/vertex-ai/docs/workbench/instances/manage-access-jupyterlab'
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 Changes to this property will trigger replacement. string
The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
Location
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. bool
Optional. If true, the workbench instance will not register with the proxy.
EnableThirdPartyIdentity bool
Flag that specifies that a notebook can be accessed with third party identity provider.
GceSetup InstanceGceSetupArgs
The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
InstanceId Changes to this property will trigger replacement. string
Required. User-defined unique ID of this instance.
InstanceOwners Changes to this property will trigger replacement. []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. If specified, sets the access mode to Single user. For more details, see https://cloud.google.com/vertex-ai/docs/workbench/instances/manage-access-jupyterlab'
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 Changes to this property will trigger replacement. string
The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
Project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
location
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. Boolean
Optional. If true, the workbench instance will not register with the proxy.
enableThirdPartyIdentity Boolean
Flag that specifies that a notebook can be accessed with third party identity provider.
gceSetup InstanceGceSetup
The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
instanceId Changes to this property will trigger replacement. String
Required. User-defined unique ID of this instance.
instanceOwners Changes to this property will trigger replacement. 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. If specified, sets the access mode to Single user. For more details, see https://cloud.google.com/vertex-ai/docs/workbench/instances/manage-access-jupyterlab'
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 Changes to this property will trigger replacement. String
The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
project Changes to this property will trigger replacement. String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
location
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. boolean
Optional. If true, the workbench instance will not register with the proxy.
enableThirdPartyIdentity boolean
Flag that specifies that a notebook can be accessed with third party identity provider.
gceSetup InstanceGceSetup
The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
instanceId Changes to this property will trigger replacement. string
Required. User-defined unique ID of this instance.
instanceOwners Changes to this property will trigger replacement. 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. If specified, sets the access mode to Single user. For more details, see https://cloud.google.com/vertex-ai/docs/workbench/instances/manage-access-jupyterlab'
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 Changes to this property will trigger replacement. string
The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
project Changes to this property will trigger replacement. string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
location
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. bool
Optional. If true, the workbench instance will not register with the proxy.
enable_third_party_identity bool
Flag that specifies that a notebook can be accessed with third party identity provider.
gce_setup InstanceGceSetupArgs
The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
instance_id Changes to this property will trigger replacement. str
Required. User-defined unique ID of this instance.
instance_owners Changes to this property will trigger replacement. 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. If specified, sets the access mode to Single user. For more details, see https://cloud.google.com/vertex-ai/docs/workbench/instances/manage-access-jupyterlab'
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 Changes to this property will trigger replacement. str
The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
project Changes to this property will trigger replacement. str
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
location
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. Boolean
Optional. If true, the workbench instance will not register with the proxy.
enableThirdPartyIdentity Boolean
Flag that specifies that a notebook can be accessed with third party identity provider.
gceSetup Property Map
The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
instanceId Changes to this property will trigger replacement. String
Required. User-defined unique ID of this instance.
instanceOwners Changes to this property will trigger replacement. 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. If specified, sets the access mode to Single user. For more details, see https://cloud.google.com/vertex-ai/docs/workbench/instances/manage-access-jupyterlab'
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 Changes to this property will trigger replacement. String
The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
project Changes to this property will trigger replacement. 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,
        enable_third_party_identity: Optional[bool] = 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)
resources:  _:    type: gcp:workbench:Instance    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 Changes to this property will trigger replacement. 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.
EnableThirdPartyIdentity bool
Flag that specifies that a notebook can be accessed with third party identity provider.
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 Changes to this property will trigger replacement. string
Required. User-defined unique ID of this instance.
InstanceOwners Changes to this property will trigger replacement. 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. If specified, sets the access mode to Single user. For more details, see https://cloud.google.com/vertex-ai/docs/workbench/instances/manage-access-jupyterlab'
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 Changes to this property will trigger replacement. string
Part of parent. See documentation of projectsId.


Name Changes to this property will trigger replacement. string
The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
Project Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.
EnableThirdPartyIdentity bool
Flag that specifies that a notebook can be accessed with third party identity provider.
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 Changes to this property will trigger replacement. string
Required. User-defined unique ID of this instance.
InstanceOwners Changes to this property will trigger replacement. []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. If specified, sets the access mode to Single user. For more details, see https://cloud.google.com/vertex-ai/docs/workbench/instances/manage-access-jupyterlab'
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 Changes to this property will trigger replacement. string
Part of parent. See documentation of projectsId.


Name Changes to this property will trigger replacement. string
The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
Project Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.
enableThirdPartyIdentity Boolean
Flag that specifies that a notebook can be accessed with third party identity provider.
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 Changes to this property will trigger replacement. String
Required. User-defined unique ID of this instance.
instanceOwners Changes to this property will trigger replacement. 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. If specified, sets the access mode to Single user. For more details, see https://cloud.google.com/vertex-ai/docs/workbench/instances/manage-access-jupyterlab'
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 Changes to this property will trigger replacement. String
Part of parent. See documentation of projectsId.


name Changes to this property will trigger replacement. String
The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
project Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.
enableThirdPartyIdentity boolean
Flag that specifies that a notebook can be accessed with third party identity provider.
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 Changes to this property will trigger replacement. string
Required. User-defined unique ID of this instance.
instanceOwners Changes to this property will trigger replacement. 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. If specified, sets the access mode to Single user. For more details, see https://cloud.google.com/vertex-ai/docs/workbench/instances/manage-access-jupyterlab'
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 Changes to this property will trigger replacement. string
Part of parent. See documentation of projectsId.


name Changes to this property will trigger replacement. string
The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
project Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.
enable_third_party_identity bool
Flag that specifies that a notebook can be accessed with third party identity provider.
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 Changes to this property will trigger replacement. str
Required. User-defined unique ID of this instance.
instance_owners Changes to this property will trigger replacement. 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. If specified, sets the access mode to Single user. For more details, see https://cloud.google.com/vertex-ai/docs/workbench/instances/manage-access-jupyterlab'
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 Changes to this property will trigger replacement. str
Part of parent. See documentation of projectsId.


name Changes to this property will trigger replacement. str
The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
project Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.
enableThirdPartyIdentity Boolean
Flag that specifies that a notebook can be accessed with third party identity provider.
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 Changes to this property will trigger replacement. String
Required. User-defined unique ID of this instance.
instanceOwners Changes to this property will trigger replacement. 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. If specified, sets the access mode to Single user. For more details, see https://cloud.google.com/vertex-ai/docs/workbench/instances/manage-access-jupyterlab'
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 Changes to this property will trigger replacement. String
Part of parent. See documentation of projectsId.


name Changes to this property will trigger replacement. String
The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
project Changes to this property will trigger replacement. 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.
ConfidentialInstanceConfig Changes to this property will trigger replacement. InstanceGceSetupConfidentialInstanceConfig
Confidential instance configuration. 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 Changes to this property will trigger replacement. bool
Optional. If true, no external IP will be assigned to this VM instance.
EnableIpForwarding Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. List<InstanceGceSetupNetworkInterface>
The network interfaces for the VM. Supports only one interface. Structure is documented below.
ServiceAccounts Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. List<string>
Optional. The Compute Engine tags to add to instance (see Tagging instances).
VmImage Changes to this property will trigger replacement. 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.
ConfidentialInstanceConfig Changes to this property will trigger replacement. InstanceGceSetupConfidentialInstanceConfig
Confidential instance configuration. 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 Changes to this property will trigger replacement. bool
Optional. If true, no external IP will be assigned to this VM instance.
EnableIpForwarding Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. []InstanceGceSetupNetworkInterface
The network interfaces for the VM. Supports only one interface. Structure is documented below.
ServiceAccounts Changes to this property will trigger replacement. []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 Changes to this property will trigger replacement. []string
Optional. The Compute Engine tags to add to instance (see Tagging instances).
VmImage Changes to this property will trigger replacement. 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.
confidentialInstanceConfig Changes to this property will trigger replacement. InstanceGceSetupConfidentialInstanceConfig
Confidential instance configuration. 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 Changes to this property will trigger replacement. Boolean
Optional. If true, no external IP will be assigned to this VM instance.
enableIpForwarding Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. List<InstanceGceSetupNetworkInterface>
The network interfaces for the VM. Supports only one interface. Structure is documented below.
serviceAccounts Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. List<String>
Optional. The Compute Engine tags to add to instance (see Tagging instances).
vmImage Changes to this property will trigger replacement. 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.
confidentialInstanceConfig Changes to this property will trigger replacement. InstanceGceSetupConfidentialInstanceConfig
Confidential instance configuration. 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 Changes to this property will trigger replacement. boolean
Optional. If true, no external IP will be assigned to this VM instance.
enableIpForwarding Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. InstanceGceSetupNetworkInterface[]
The network interfaces for the VM. Supports only one interface. Structure is documented below.
serviceAccounts Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string[]
Optional. The Compute Engine tags to add to instance (see Tagging instances).
vmImage Changes to this property will trigger replacement. 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.
confidential_instance_config Changes to this property will trigger replacement. InstanceGceSetupConfidentialInstanceConfig
Confidential instance configuration. 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 Changes to this property will trigger replacement. bool
Optional. If true, no external IP will be assigned to this VM instance.
enable_ip_forwarding Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. Sequence[InstanceGceSetupNetworkInterface]
The network interfaces for the VM. Supports only one interface. Structure is documented below.
service_accounts Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. Sequence[str]
Optional. The Compute Engine tags to add to instance (see Tagging instances).
vm_image Changes to this property will trigger replacement. 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.
confidentialInstanceConfig Changes to this property will trigger replacement. Property Map
Confidential instance configuration. 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 Changes to this property will trigger replacement. Boolean
Optional. If true, no external IP will be assigned to this VM instance.
enableIpForwarding Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. List<Property Map>
The network interfaces for the VM. Supports only one interface. Structure is documented below.
serviceAccounts Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. List<String>
Optional. The Compute Engine tags to add to instance (see Tagging instances).
vmImage Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
Optional. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
KmsKey Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
Optional. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
KmsKey Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String
Optional. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
kmsKey Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
Optional. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
kmsKey Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. str
Optional. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
kms_key Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String
Optional. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
kmsKey Changes to this property will trigger replacement. 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.'

InstanceGceSetupConfidentialInstanceConfig
, InstanceGceSetupConfidentialInstanceConfigArgs

ConfidentialInstanceType string
Defines the type of technology used by the confidential instance. Possible values are: SEV.
ConfidentialInstanceType string
Defines the type of technology used by the confidential instance. Possible values are: SEV.
confidentialInstanceType String
Defines the type of technology used by the confidential instance. Possible values are: SEV.
confidentialInstanceType string
Defines the type of technology used by the confidential instance. Possible values are: SEV.
confidential_instance_type str
Defines the type of technology used by the confidential instance. Possible values are: SEV.
confidentialInstanceType String
Defines the type of technology used by the confidential instance. Possible values are: SEV.

InstanceGceSetupContainerImage
, InstanceGceSetupContainerImageArgs

Repository This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
Optional. Input only. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
KmsKey Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
Optional. Input only. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
KmsKey Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String
Optional. Input only. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
kmsKey Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
Optional. Input only. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
kmsKey Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. str
Optional. Input only. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
kms_key Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String
Optional. Input only. Indicates the type of the disk. Possible values are: PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.
kmsKey Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
Optional. The name of the VPC that this VM instance is in.
NicType Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
Optional. The name of the subnet that this VM instance is in.
AccessConfigs Changes to this property will trigger replacement. []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 Changes to this property will trigger replacement. string
Optional. The name of the VPC that this VM instance is in.
NicType Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
Optional. The name of the subnet that this VM instance is in.
accessConfigs Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String
Optional. The name of the VPC that this VM instance is in.
nicType Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String
Optional. The name of the subnet that this VM instance is in.
accessConfigs Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
Optional. The name of the VPC that this VM instance is in.
nicType Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
Optional. The name of the subnet that this VM instance is in.
access_configs Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. str
Optional. The name of the VPC that this VM instance is in.
nic_type Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. str
Optional. The name of the subnet that this VM instance is in.
accessConfigs Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String
Optional. The name of the VPC that this VM instance is in.
nicType Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String
Optional. The name of the subnet that this VM instance is in.

InstanceGceSetupNetworkInterfaceAccessConfig
, InstanceGceSetupNetworkInterfaceAccessConfigArgs

ExternalIp
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
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
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
Optional. Use this VM image family to find the image; the newest image in this family will be used.
Name Changes to this property will trigger replacement. string
Optional. Use VM image name to find the image.
Project Changes to this property will trigger replacement. string
The name of the Google Cloud project that this VM image belongs to. Format: {project_id}
Family Changes to this property will trigger replacement. string
Optional. Use this VM image family to find the image; the newest image in this family will be used.
Name Changes to this property will trigger replacement. string
Optional. Use VM image name to find the image.
Project Changes to this property will trigger replacement. string
The name of the Google Cloud project that this VM image belongs to. Format: {project_id}
family Changes to this property will trigger replacement. String
Optional. Use this VM image family to find the image; the newest image in this family will be used.
name Changes to this property will trigger replacement. String
Optional. Use VM image name to find the image.
project Changes to this property will trigger replacement. String
The name of the Google Cloud project that this VM image belongs to. Format: {project_id}
family Changes to this property will trigger replacement. string
Optional. Use this VM image family to find the image; the newest image in this family will be used.
name Changes to this property will trigger replacement. string
Optional. Use VM image name to find the image.
project Changes to this property will trigger replacement. string
The name of the Google Cloud project that this VM image belongs to. Format: {project_id}
family Changes to this property will trigger replacement. str
Optional. Use this VM image family to find the image; the newest image in this family will be used.
name Changes to this property will trigger replacement. str
Optional. Use VM image name to find the image.
project Changes to this property will trigger replacement. str
The name of the Google Cloud project that this VM image belongs to. Format: {project_id}
family Changes to this property will trigger replacement. String
Optional. Use this VM image family to find the image; the newest image in this family will be used.
name Changes to this property will trigger replacement. String
Optional. Use VM image name to find the image.
project Changes to this property will trigger replacement. 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}}
Copy
$ pulumi import gcp:workbench/instance:Instance default {{project}}/{{location}}/{{name}}
Copy
$ pulumi import gcp:workbench/instance:Instance default {{location}}/{{name}}
Copy

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.