gcp.workbench.Instance
Explore with Pulumi AI
A Workbench instance.
To get more information about Instance, see:
- API documentation
- How-to Guides
Example Usage
Workbench Instance Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const instance = new gcp.workbench.Instance("instance", {
    name: "workbench-instance",
    location: "us-west1-a",
});
import pulumi
import pulumi_gcp as gcp
instance = gcp.workbench.Instance("instance",
    name="workbench-instance",
    location="us-west1-a")
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/workbench"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := workbench.NewInstance(ctx, "instance", &workbench.InstanceArgs{
			Name:     pulumi.String("workbench-instance"),
			Location: pulumi.String("us-west1-a"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var instance = new Gcp.Workbench.Instance("instance", new()
    {
        Name = "workbench-instance",
        Location = "us-west1-a",
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.workbench.Instance;
import com.pulumi.gcp.workbench.InstanceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var instance = new Instance("instance", InstanceArgs.builder()
            .name("workbench-instance")
            .location("us-west1-a")
            .build());
    }
}
resources:
  instance:
    type: gcp:workbench:Instance
    properties:
      name: workbench-instance
      location: us-west1-a
Workbench Instance Basic Container
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const instance = new gcp.workbench.Instance("instance", {
    name: "workbench-instance",
    location: "us-west1-a",
    gceSetup: {
        containerImage: {
            repository: "us-docker.pkg.dev/deeplearning-platform-release/gcr.io/base-cu113.py310",
            tag: "latest",
        },
    },
});
import pulumi
import pulumi_gcp as gcp
instance = gcp.workbench.Instance("instance",
    name="workbench-instance",
    location="us-west1-a",
    gce_setup={
        "container_image": {
            "repository": "us-docker.pkg.dev/deeplearning-platform-release/gcr.io/base-cu113.py310",
            "tag": "latest",
        },
    })
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/workbench"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := workbench.NewInstance(ctx, "instance", &workbench.InstanceArgs{
			Name:     pulumi.String("workbench-instance"),
			Location: pulumi.String("us-west1-a"),
			GceSetup: &workbench.InstanceGceSetupArgs{
				ContainerImage: &workbench.InstanceGceSetupContainerImageArgs{
					Repository: pulumi.String("us-docker.pkg.dev/deeplearning-platform-release/gcr.io/base-cu113.py310"),
					Tag:        pulumi.String("latest"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var instance = new Gcp.Workbench.Instance("instance", new()
    {
        Name = "workbench-instance",
        Location = "us-west1-a",
        GceSetup = new Gcp.Workbench.Inputs.InstanceGceSetupArgs
        {
            ContainerImage = new Gcp.Workbench.Inputs.InstanceGceSetupContainerImageArgs
            {
                Repository = "us-docker.pkg.dev/deeplearning-platform-release/gcr.io/base-cu113.py310",
                Tag = "latest",
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.workbench.Instance;
import com.pulumi.gcp.workbench.InstanceArgs;
import com.pulumi.gcp.workbench.inputs.InstanceGceSetupArgs;
import com.pulumi.gcp.workbench.inputs.InstanceGceSetupContainerImageArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var instance = new Instance("instance", InstanceArgs.builder()
            .name("workbench-instance")
            .location("us-west1-a")
            .gceSetup(InstanceGceSetupArgs.builder()
                .containerImage(InstanceGceSetupContainerImageArgs.builder()
                    .repository("us-docker.pkg.dev/deeplearning-platform-release/gcr.io/base-cu113.py310")
                    .tag("latest")
                    .build())
                .build())
            .build());
    }
}
resources:
  instance:
    type: gcp:workbench:Instance
    properties:
      name: workbench-instance
      location: us-west1-a
      gceSetup:
        containerImage:
          repository: us-docker.pkg.dev/deeplearning-platform-release/gcr.io/base-cu113.py310
          tag: latest
Workbench Instance Basic Gpu
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const instance = new gcp.workbench.Instance("instance", {
    name: "workbench-instance",
    location: "us-central1-a",
    gceSetup: {
        machineType: "n1-standard-1",
        acceleratorConfigs: [{
            type: "NVIDIA_TESLA_T4",
            coreCount: "1",
        }],
        vmImage: {
            project: "cloud-notebooks-managed",
            family: "workbench-instances",
        },
    },
});
import pulumi
import pulumi_gcp as gcp
instance = gcp.workbench.Instance("instance",
    name="workbench-instance",
    location="us-central1-a",
    gce_setup={
        "machine_type": "n1-standard-1",
        "accelerator_configs": [{
            "type": "NVIDIA_TESLA_T4",
            "core_count": "1",
        }],
        "vm_image": {
            "project": "cloud-notebooks-managed",
            "family": "workbench-instances",
        },
    })
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/workbench"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := workbench.NewInstance(ctx, "instance", &workbench.InstanceArgs{
			Name:     pulumi.String("workbench-instance"),
			Location: pulumi.String("us-central1-a"),
			GceSetup: &workbench.InstanceGceSetupArgs{
				MachineType: pulumi.String("n1-standard-1"),
				AcceleratorConfigs: workbench.InstanceGceSetupAcceleratorConfigArray{
					&workbench.InstanceGceSetupAcceleratorConfigArgs{
						Type:      pulumi.String("NVIDIA_TESLA_T4"),
						CoreCount: pulumi.String("1"),
					},
				},
				VmImage: &workbench.InstanceGceSetupVmImageArgs{
					Project: pulumi.String("cloud-notebooks-managed"),
					Family:  pulumi.String("workbench-instances"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var instance = new Gcp.Workbench.Instance("instance", new()
    {
        Name = "workbench-instance",
        Location = "us-central1-a",
        GceSetup = new Gcp.Workbench.Inputs.InstanceGceSetupArgs
        {
            MachineType = "n1-standard-1",
            AcceleratorConfigs = new[]
            {
                new Gcp.Workbench.Inputs.InstanceGceSetupAcceleratorConfigArgs
                {
                    Type = "NVIDIA_TESLA_T4",
                    CoreCount = "1",
                },
            },
            VmImage = new Gcp.Workbench.Inputs.InstanceGceSetupVmImageArgs
            {
                Project = "cloud-notebooks-managed",
                Family = "workbench-instances",
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.workbench.Instance;
import com.pulumi.gcp.workbench.InstanceArgs;
import com.pulumi.gcp.workbench.inputs.InstanceGceSetupArgs;
import com.pulumi.gcp.workbench.inputs.InstanceGceSetupVmImageArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var instance = new Instance("instance", InstanceArgs.builder()
            .name("workbench-instance")
            .location("us-central1-a")
            .gceSetup(InstanceGceSetupArgs.builder()
                .machineType("n1-standard-1")
                .acceleratorConfigs(InstanceGceSetupAcceleratorConfigArgs.builder()
                    .type("NVIDIA_TESLA_T4")
                    .coreCount(1)
                    .build())
                .vmImage(InstanceGceSetupVmImageArgs.builder()
                    .project("cloud-notebooks-managed")
                    .family("workbench-instances")
                    .build())
                .build())
            .build());
    }
}
resources:
  instance:
    type: gcp:workbench:Instance
    properties:
      name: workbench-instance
      location: us-central1-a
      gceSetup:
        machineType: n1-standard-1
        acceleratorConfigs:
          - type: NVIDIA_TESLA_T4
            coreCount: 1
        vmImage:
          project: cloud-notebooks-managed
          family: workbench-instances
Workbench Instance Labels Stopped
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const instance = new gcp.workbench.Instance("instance", {
    name: "workbench-instance",
    location: "us-central1-a",
    gceSetup: {
        machineType: "e2-standard-4",
        shieldedInstanceConfig: {
            enableSecureBoot: false,
            enableVtpm: false,
            enableIntegrityMonitoring: false,
        },
        serviceAccounts: [{
            email: "my@service-account.com",
        }],
        metadata: {
            terraform: "true",
        },
    },
    labels: {
        k: "val",
    },
    desiredState: "STOPPED",
});
import pulumi
import pulumi_gcp as gcp
instance = gcp.workbench.Instance("instance",
    name="workbench-instance",
    location="us-central1-a",
    gce_setup={
        "machine_type": "e2-standard-4",
        "shielded_instance_config": {
            "enable_secure_boot": False,
            "enable_vtpm": False,
            "enable_integrity_monitoring": False,
        },
        "service_accounts": [{
            "email": "my@service-account.com",
        }],
        "metadata": {
            "terraform": "true",
        },
    },
    labels={
        "k": "val",
    },
    desired_state="STOPPED")
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/workbench"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := workbench.NewInstance(ctx, "instance", &workbench.InstanceArgs{
			Name:     pulumi.String("workbench-instance"),
			Location: pulumi.String("us-central1-a"),
			GceSetup: &workbench.InstanceGceSetupArgs{
				MachineType: pulumi.String("e2-standard-4"),
				ShieldedInstanceConfig: &workbench.InstanceGceSetupShieldedInstanceConfigArgs{
					EnableSecureBoot:          pulumi.Bool(false),
					EnableVtpm:                pulumi.Bool(false),
					EnableIntegrityMonitoring: pulumi.Bool(false),
				},
				ServiceAccounts: workbench.InstanceGceSetupServiceAccountArray{
					&workbench.InstanceGceSetupServiceAccountArgs{
						Email: pulumi.String("my@service-account.com"),
					},
				},
				Metadata: pulumi.StringMap{
					"terraform": pulumi.String("true"),
				},
			},
			Labels: pulumi.StringMap{
				"k": pulumi.String("val"),
			},
			DesiredState: pulumi.String("STOPPED"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var instance = new Gcp.Workbench.Instance("instance", new()
    {
        Name = "workbench-instance",
        Location = "us-central1-a",
        GceSetup = new Gcp.Workbench.Inputs.InstanceGceSetupArgs
        {
            MachineType = "e2-standard-4",
            ShieldedInstanceConfig = new Gcp.Workbench.Inputs.InstanceGceSetupShieldedInstanceConfigArgs
            {
                EnableSecureBoot = false,
                EnableVtpm = false,
                EnableIntegrityMonitoring = false,
            },
            ServiceAccounts = new[]
            {
                new Gcp.Workbench.Inputs.InstanceGceSetupServiceAccountArgs
                {
                    Email = "my@service-account.com",
                },
            },
            Metadata = 
            {
                { "terraform", "true" },
            },
        },
        Labels = 
        {
            { "k", "val" },
        },
        DesiredState = "STOPPED",
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.workbench.Instance;
import com.pulumi.gcp.workbench.InstanceArgs;
import com.pulumi.gcp.workbench.inputs.InstanceGceSetupArgs;
import com.pulumi.gcp.workbench.inputs.InstanceGceSetupShieldedInstanceConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var instance = new Instance("instance", InstanceArgs.builder()
            .name("workbench-instance")
            .location("us-central1-a")
            .gceSetup(InstanceGceSetupArgs.builder()
                .machineType("e2-standard-4")
                .shieldedInstanceConfig(InstanceGceSetupShieldedInstanceConfigArgs.builder()
                    .enableSecureBoot(false)
                    .enableVtpm(false)
                    .enableIntegrityMonitoring(false)
                    .build())
                .serviceAccounts(InstanceGceSetupServiceAccountArgs.builder()
                    .email("my@service-account.com")
                    .build())
                .metadata(Map.of("terraform", "true"))
                .build())
            .labels(Map.of("k", "val"))
            .desiredState("STOPPED")
            .build());
    }
}
resources:
  instance:
    type: gcp:workbench:Instance
    properties:
      name: workbench-instance
      location: us-central1-a
      gceSetup:
        machineType: e2-standard-4
        shieldedInstanceConfig:
          enableSecureBoot: false
          enableVtpm: false
          enableIntegrityMonitoring: false
        serviceAccounts:
          - email: my@service-account.com
        metadata:
          terraform: 'true'
      labels:
        k: val
      desiredState: STOPPED
Workbench Instance Full
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const myNetwork = new gcp.compute.Network("my_network", {
    name: "wbi-test-default",
    autoCreateSubnetworks: false,
});
const mySubnetwork = new gcp.compute.Subnetwork("my_subnetwork", {
    name: "wbi-test-default",
    network: myNetwork.id,
    region: "us-central1",
    ipCidrRange: "10.0.1.0/24",
});
const static = new gcp.compute.Address("static", {name: "wbi-test-default"});
const actAsPermission = new gcp.serviceaccount.IAMBinding("act_as_permission", {
    serviceAccountId: "projects/my-project-name/serviceAccounts/my@service-account.com",
    role: "roles/iam.serviceAccountUser",
    members: ["user:example@example.com"],
});
const instance = new gcp.workbench.Instance("instance", {
    name: "workbench-instance",
    location: "us-central1-a",
    gceSetup: {
        machineType: "n1-standard-4",
        acceleratorConfigs: [{
            type: "NVIDIA_TESLA_T4",
            coreCount: "1",
        }],
        shieldedInstanceConfig: {
            enableSecureBoot: true,
            enableVtpm: true,
            enableIntegrityMonitoring: true,
        },
        disablePublicIp: false,
        serviceAccounts: [{
            email: "my@service-account.com",
        }],
        bootDisk: {
            diskSizeGb: "310",
            diskType: "PD_SSD",
            diskEncryption: "CMEK",
            kmsKey: "my-crypto-key",
        },
        dataDisks: {
            diskSizeGb: "330",
            diskType: "PD_SSD",
            diskEncryption: "CMEK",
            kmsKey: "my-crypto-key",
        },
        networkInterfaces: [{
            network: myNetwork.id,
            subnet: mySubnetwork.id,
            nicType: "GVNIC",
            accessConfigs: [{
                externalIp: static.address,
            }],
        }],
        metadata: {
            terraform: "true",
        },
        enableIpForwarding: true,
        tags: [
            "abc",
            "def",
        ],
    },
    disableProxyAccess: true,
    instanceOwners: ["example@example.com"],
    labels: {
        k: "val",
    },
    desiredState: "ACTIVE",
    enableThirdPartyIdentity: true,
});
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)
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/serviceaccount"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/workbench"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		myNetwork, err := compute.NewNetwork(ctx, "my_network", &compute.NetworkArgs{
			Name:                  pulumi.String("wbi-test-default"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		mySubnetwork, err := compute.NewSubnetwork(ctx, "my_subnetwork", &compute.SubnetworkArgs{
			Name:        pulumi.String("wbi-test-default"),
			Network:     myNetwork.ID(),
			Region:      pulumi.String("us-central1"),
			IpCidrRange: pulumi.String("10.0.1.0/24"),
		})
		if err != nil {
			return err
		}
		static, err := compute.NewAddress(ctx, "static", &compute.AddressArgs{
			Name: pulumi.String("wbi-test-default"),
		})
		if err != nil {
			return err
		}
		_, err = serviceaccount.NewIAMBinding(ctx, "act_as_permission", &serviceaccount.IAMBindingArgs{
			ServiceAccountId: pulumi.String("projects/my-project-name/serviceAccounts/my@service-account.com"),
			Role:             pulumi.String("roles/iam.serviceAccountUser"),
			Members: pulumi.StringArray{
				pulumi.String("user:example@example.com"),
			},
		})
		if err != nil {
			return err
		}
		_, err = workbench.NewInstance(ctx, "instance", &workbench.InstanceArgs{
			Name:     pulumi.String("workbench-instance"),
			Location: pulumi.String("us-central1-a"),
			GceSetup: &workbench.InstanceGceSetupArgs{
				MachineType: pulumi.String("n1-standard-4"),
				AcceleratorConfigs: workbench.InstanceGceSetupAcceleratorConfigArray{
					&workbench.InstanceGceSetupAcceleratorConfigArgs{
						Type:      pulumi.String("NVIDIA_TESLA_T4"),
						CoreCount: pulumi.String("1"),
					},
				},
				ShieldedInstanceConfig: &workbench.InstanceGceSetupShieldedInstanceConfigArgs{
					EnableSecureBoot:          pulumi.Bool(true),
					EnableVtpm:                pulumi.Bool(true),
					EnableIntegrityMonitoring: pulumi.Bool(true),
				},
				DisablePublicIp: pulumi.Bool(false),
				ServiceAccounts: workbench.InstanceGceSetupServiceAccountArray{
					&workbench.InstanceGceSetupServiceAccountArgs{
						Email: pulumi.String("my@service-account.com"),
					},
				},
				BootDisk: &workbench.InstanceGceSetupBootDiskArgs{
					DiskSizeGb:     pulumi.String("310"),
					DiskType:       pulumi.String("PD_SSD"),
					DiskEncryption: pulumi.String("CMEK"),
					KmsKey:         pulumi.String("my-crypto-key"),
				},
				DataDisks: &workbench.InstanceGceSetupDataDisksArgs{
					DiskSizeGb:     pulumi.String("330"),
					DiskType:       pulumi.String("PD_SSD"),
					DiskEncryption: pulumi.String("CMEK"),
					KmsKey:         pulumi.String("my-crypto-key"),
				},
				NetworkInterfaces: workbench.InstanceGceSetupNetworkInterfaceArray{
					&workbench.InstanceGceSetupNetworkInterfaceArgs{
						Network: myNetwork.ID(),
						Subnet:  mySubnetwork.ID(),
						NicType: pulumi.String("GVNIC"),
						AccessConfigs: workbench.InstanceGceSetupNetworkInterfaceAccessConfigArray{
							&workbench.InstanceGceSetupNetworkInterfaceAccessConfigArgs{
								ExternalIp: static.Address,
							},
						},
					},
				},
				Metadata: pulumi.StringMap{
					"terraform": pulumi.String("true"),
				},
				EnableIpForwarding: pulumi.Bool(true),
				Tags: pulumi.StringArray{
					pulumi.String("abc"),
					pulumi.String("def"),
				},
			},
			DisableProxyAccess: pulumi.Bool(true),
			InstanceOwners: pulumi.StringArray{
				pulumi.String("example@example.com"),
			},
			Labels: pulumi.StringMap{
				"k": pulumi.String("val"),
			},
			DesiredState:             pulumi.String("ACTIVE"),
			EnableThirdPartyIdentity: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var myNetwork = new Gcp.Compute.Network("my_network", new()
    {
        Name = "wbi-test-default",
        AutoCreateSubnetworks = false,
    });
    var mySubnetwork = new Gcp.Compute.Subnetwork("my_subnetwork", new()
    {
        Name = "wbi-test-default",
        Network = myNetwork.Id,
        Region = "us-central1",
        IpCidrRange = "10.0.1.0/24",
    });
    var @static = new Gcp.Compute.Address("static", new()
    {
        Name = "wbi-test-default",
    });
    var actAsPermission = new Gcp.ServiceAccount.IAMBinding("act_as_permission", new()
    {
        ServiceAccountId = "projects/my-project-name/serviceAccounts/my@service-account.com",
        Role = "roles/iam.serviceAccountUser",
        Members = new[]
        {
            "user:example@example.com",
        },
    });
    var instance = new Gcp.Workbench.Instance("instance", new()
    {
        Name = "workbench-instance",
        Location = "us-central1-a",
        GceSetup = new Gcp.Workbench.Inputs.InstanceGceSetupArgs
        {
            MachineType = "n1-standard-4",
            AcceleratorConfigs = new[]
            {
                new Gcp.Workbench.Inputs.InstanceGceSetupAcceleratorConfigArgs
                {
                    Type = "NVIDIA_TESLA_T4",
                    CoreCount = "1",
                },
            },
            ShieldedInstanceConfig = new Gcp.Workbench.Inputs.InstanceGceSetupShieldedInstanceConfigArgs
            {
                EnableSecureBoot = true,
                EnableVtpm = true,
                EnableIntegrityMonitoring = true,
            },
            DisablePublicIp = false,
            ServiceAccounts = new[]
            {
                new Gcp.Workbench.Inputs.InstanceGceSetupServiceAccountArgs
                {
                    Email = "my@service-account.com",
                },
            },
            BootDisk = new Gcp.Workbench.Inputs.InstanceGceSetupBootDiskArgs
            {
                DiskSizeGb = "310",
                DiskType = "PD_SSD",
                DiskEncryption = "CMEK",
                KmsKey = "my-crypto-key",
            },
            DataDisks = new Gcp.Workbench.Inputs.InstanceGceSetupDataDisksArgs
            {
                DiskSizeGb = "330",
                DiskType = "PD_SSD",
                DiskEncryption = "CMEK",
                KmsKey = "my-crypto-key",
            },
            NetworkInterfaces = new[]
            {
                new Gcp.Workbench.Inputs.InstanceGceSetupNetworkInterfaceArgs
                {
                    Network = myNetwork.Id,
                    Subnet = mySubnetwork.Id,
                    NicType = "GVNIC",
                    AccessConfigs = new[]
                    {
                        new Gcp.Workbench.Inputs.InstanceGceSetupNetworkInterfaceAccessConfigArgs
                        {
                            ExternalIp = @static.IPAddress,
                        },
                    },
                },
            },
            Metadata = 
            {
                { "terraform", "true" },
            },
            EnableIpForwarding = true,
            Tags = new[]
            {
                "abc",
                "def",
            },
        },
        DisableProxyAccess = true,
        InstanceOwners = new[]
        {
            "example@example.com",
        },
        Labels = 
        {
            { "k", "val" },
        },
        DesiredState = "ACTIVE",
        EnableThirdPartyIdentity = true,
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.Subnetwork;
import com.pulumi.gcp.compute.SubnetworkArgs;
import com.pulumi.gcp.compute.Address;
import com.pulumi.gcp.compute.AddressArgs;
import com.pulumi.gcp.serviceaccount.IAMBinding;
import com.pulumi.gcp.serviceaccount.IAMBindingArgs;
import com.pulumi.gcp.workbench.Instance;
import com.pulumi.gcp.workbench.InstanceArgs;
import com.pulumi.gcp.workbench.inputs.InstanceGceSetupArgs;
import com.pulumi.gcp.workbench.inputs.InstanceGceSetupShieldedInstanceConfigArgs;
import com.pulumi.gcp.workbench.inputs.InstanceGceSetupBootDiskArgs;
import com.pulumi.gcp.workbench.inputs.InstanceGceSetupDataDisksArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var myNetwork = new Network("myNetwork", NetworkArgs.builder()
            .name("wbi-test-default")
            .autoCreateSubnetworks(false)
            .build());
        var mySubnetwork = new Subnetwork("mySubnetwork", SubnetworkArgs.builder()
            .name("wbi-test-default")
            .network(myNetwork.id())
            .region("us-central1")
            .ipCidrRange("10.0.1.0/24")
            .build());
        var static_ = new Address("static", AddressArgs.builder()
            .name("wbi-test-default")
            .build());
        var actAsPermission = new IAMBinding("actAsPermission", IAMBindingArgs.builder()
            .serviceAccountId("projects/my-project-name/serviceAccounts/my@service-account.com")
            .role("roles/iam.serviceAccountUser")
            .members("user:example@example.com")
            .build());
        var instance = new Instance("instance", InstanceArgs.builder()
            .name("workbench-instance")
            .location("us-central1-a")
            .gceSetup(InstanceGceSetupArgs.builder()
                .machineType("n1-standard-4")
                .acceleratorConfigs(InstanceGceSetupAcceleratorConfigArgs.builder()
                    .type("NVIDIA_TESLA_T4")
                    .coreCount(1)
                    .build())
                .shieldedInstanceConfig(InstanceGceSetupShieldedInstanceConfigArgs.builder()
                    .enableSecureBoot(true)
                    .enableVtpm(true)
                    .enableIntegrityMonitoring(true)
                    .build())
                .disablePublicIp(false)
                .serviceAccounts(InstanceGceSetupServiceAccountArgs.builder()
                    .email("my@service-account.com")
                    .build())
                .bootDisk(InstanceGceSetupBootDiskArgs.builder()
                    .diskSizeGb(310)
                    .diskType("PD_SSD")
                    .diskEncryption("CMEK")
                    .kmsKey("my-crypto-key")
                    .build())
                .dataDisks(InstanceGceSetupDataDisksArgs.builder()
                    .diskSizeGb(330)
                    .diskType("PD_SSD")
                    .diskEncryption("CMEK")
                    .kmsKey("my-crypto-key")
                    .build())
                .networkInterfaces(InstanceGceSetupNetworkInterfaceArgs.builder()
                    .network(myNetwork.id())
                    .subnet(mySubnetwork.id())
                    .nicType("GVNIC")
                    .accessConfigs(InstanceGceSetupNetworkInterfaceAccessConfigArgs.builder()
                        .externalIp(static_.address())
                        .build())
                    .build())
                .metadata(Map.of("terraform", "true"))
                .enableIpForwarding(true)
                .tags(                
                    "abc",
                    "def")
                .build())
            .disableProxyAccess("true")
            .instanceOwners("example@example.com")
            .labels(Map.of("k", "val"))
            .desiredState("ACTIVE")
            .enableThirdPartyIdentity("true")
            .build());
    }
}
resources:
  myNetwork:
    type: gcp:compute:Network
    name: my_network
    properties:
      name: wbi-test-default
      autoCreateSubnetworks: false
  mySubnetwork:
    type: gcp:compute:Subnetwork
    name: my_subnetwork
    properties:
      name: wbi-test-default
      network: ${myNetwork.id}
      region: us-central1
      ipCidrRange: 10.0.1.0/24
  static:
    type: gcp:compute:Address
    properties:
      name: wbi-test-default
  actAsPermission:
    type: gcp:serviceaccount:IAMBinding
    name: act_as_permission
    properties:
      serviceAccountId: projects/my-project-name/serviceAccounts/my@service-account.com
      role: roles/iam.serviceAccountUser
      members:
        - user:example@example.com
  instance:
    type: gcp:workbench:Instance
    properties:
      name: workbench-instance
      location: us-central1-a
      gceSetup:
        machineType: n1-standard-4
        acceleratorConfigs:
          - type: NVIDIA_TESLA_T4
            coreCount: 1
        shieldedInstanceConfig:
          enableSecureBoot: true
          enableVtpm: true
          enableIntegrityMonitoring: true
        disablePublicIp: false
        serviceAccounts:
          - email: my@service-account.com
        bootDisk:
          diskSizeGb: 310
          diskType: PD_SSD
          diskEncryption: CMEK
          kmsKey: my-crypto-key
        dataDisks:
          diskSizeGb: 330
          diskType: PD_SSD
          diskEncryption: CMEK
          kmsKey: my-crypto-key
        networkInterfaces:
          - network: ${myNetwork.id}
            subnet: ${mySubnetwork.id}
            nicType: GVNIC
            accessConfigs:
              - externalIp: ${static.address}
        metadata:
          terraform: 'true'
        enableIpForwarding: true
        tags:
          - abc
          - def
      disableProxyAccess: 'true'
      instanceOwners:
        - example@example.com
      labels:
        k: val
      desiredState: ACTIVE
      enableThirdPartyIdentity: 'true'
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 string
- The unique name of the resource.
- args InstanceArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args InstanceArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args InstanceArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args InstanceArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args InstanceArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var exampleinstanceResourceResourceFromWorkbenchinstance = new Gcp.Workbench.Instance("exampleinstanceResourceResourceFromWorkbenchinstance", new()
{
    Location = "string",
    DesiredState = "string",
    DisableProxyAccess = false,
    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",
        },
        ContainerImage = new Gcp.Workbench.Inputs.InstanceGceSetupContainerImageArgs
        {
            Repository = "string",
            Tag = "string",
        },
        DataDisks = new Gcp.Workbench.Inputs.InstanceGceSetupDataDisksArgs
        {
            DiskEncryption = "string",
            DiskSizeGb = "string",
            DiskType = "string",
            KmsKey = "string",
        },
        DisablePublicIp = false,
        EnableIpForwarding = false,
        MachineType = "string",
        Metadata = 
        {
            { "string", "string" },
        },
        NetworkInterfaces = new[]
        {
            new Gcp.Workbench.Inputs.InstanceGceSetupNetworkInterfaceArgs
            {
                AccessConfigs = new[]
                {
                    new Gcp.Workbench.Inputs.InstanceGceSetupNetworkInterfaceAccessConfigArgs
                    {
                        ExternalIp = "string",
                    },
                },
                Network = "string",
                NicType = "string",
                Subnet = "string",
            },
        },
        ServiceAccounts = new[]
        {
            new Gcp.Workbench.Inputs.InstanceGceSetupServiceAccountArgs
            {
                Email = "string",
                Scopes = new[]
                {
                    "string",
                },
            },
        },
        ShieldedInstanceConfig = new Gcp.Workbench.Inputs.InstanceGceSetupShieldedInstanceConfigArgs
        {
            EnableIntegrityMonitoring = false,
            EnableSecureBoot = false,
            EnableVtpm = false,
        },
        Tags = new[]
        {
            "string",
        },
        VmImage = new Gcp.Workbench.Inputs.InstanceGceSetupVmImageArgs
        {
            Family = "string",
            Name = "string",
            Project = "string",
        },
    },
    InstanceId = "string",
    InstanceOwners = new[]
    {
        "string",
    },
    Labels = 
    {
        { "string", "string" },
    },
    Name = "string",
    Project = "string",
});
example, err := workbench.NewInstance(ctx, "exampleinstanceResourceResourceFromWorkbenchinstance", &workbench.InstanceArgs{
	Location:                 pulumi.String("string"),
	DesiredState:             pulumi.String("string"),
	DisableProxyAccess:       pulumi.Bool(false),
	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"),
		},
		ContainerImage: &workbench.InstanceGceSetupContainerImageArgs{
			Repository: pulumi.String("string"),
			Tag:        pulumi.String("string"),
		},
		DataDisks: &workbench.InstanceGceSetupDataDisksArgs{
			DiskEncryption: pulumi.String("string"),
			DiskSizeGb:     pulumi.String("string"),
			DiskType:       pulumi.String("string"),
			KmsKey:         pulumi.String("string"),
		},
		DisablePublicIp:    pulumi.Bool(false),
		EnableIpForwarding: pulumi.Bool(false),
		MachineType:        pulumi.String("string"),
		Metadata: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		NetworkInterfaces: workbench.InstanceGceSetupNetworkInterfaceArray{
			&workbench.InstanceGceSetupNetworkInterfaceArgs{
				AccessConfigs: workbench.InstanceGceSetupNetworkInterfaceAccessConfigArray{
					&workbench.InstanceGceSetupNetworkInterfaceAccessConfigArgs{
						ExternalIp: pulumi.String("string"),
					},
				},
				Network: pulumi.String("string"),
				NicType: pulumi.String("string"),
				Subnet:  pulumi.String("string"),
			},
		},
		ServiceAccounts: workbench.InstanceGceSetupServiceAccountArray{
			&workbench.InstanceGceSetupServiceAccountArgs{
				Email: pulumi.String("string"),
				Scopes: pulumi.StringArray{
					pulumi.String("string"),
				},
			},
		},
		ShieldedInstanceConfig: &workbench.InstanceGceSetupShieldedInstanceConfigArgs{
			EnableIntegrityMonitoring: pulumi.Bool(false),
			EnableSecureBoot:          pulumi.Bool(false),
			EnableVtpm:                pulumi.Bool(false),
		},
		Tags: pulumi.StringArray{
			pulumi.String("string"),
		},
		VmImage: &workbench.InstanceGceSetupVmImageArgs{
			Family:  pulumi.String("string"),
			Name:    pulumi.String("string"),
			Project: pulumi.String("string"),
		},
	},
	InstanceId: pulumi.String("string"),
	InstanceOwners: pulumi.StringArray{
		pulumi.String("string"),
	},
	Labels: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Name:    pulumi.String("string"),
	Project: pulumi.String("string"),
})
var exampleinstanceResourceResourceFromWorkbenchinstance = new Instance("exampleinstanceResourceResourceFromWorkbenchinstance", InstanceArgs.builder()
    .location("string")
    .desiredState("string")
    .disableProxyAccess(false)
    .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())
        .containerImage(InstanceGceSetupContainerImageArgs.builder()
            .repository("string")
            .tag("string")
            .build())
        .dataDisks(InstanceGceSetupDataDisksArgs.builder()
            .diskEncryption("string")
            .diskSizeGb("string")
            .diskType("string")
            .kmsKey("string")
            .build())
        .disablePublicIp(false)
        .enableIpForwarding(false)
        .machineType("string")
        .metadata(Map.of("string", "string"))
        .networkInterfaces(InstanceGceSetupNetworkInterfaceArgs.builder()
            .accessConfigs(InstanceGceSetupNetworkInterfaceAccessConfigArgs.builder()
                .externalIp("string")
                .build())
            .network("string")
            .nicType("string")
            .subnet("string")
            .build())
        .serviceAccounts(InstanceGceSetupServiceAccountArgs.builder()
            .email("string")
            .scopes("string")
            .build())
        .shieldedInstanceConfig(InstanceGceSetupShieldedInstanceConfigArgs.builder()
            .enableIntegrityMonitoring(false)
            .enableSecureBoot(false)
            .enableVtpm(false)
            .build())
        .tags("string")
        .vmImage(InstanceGceSetupVmImageArgs.builder()
            .family("string")
            .name("string")
            .project("string")
            .build())
        .build())
    .instanceId("string")
    .instanceOwners("string")
    .labels(Map.of("string", "string"))
    .name("string")
    .project("string")
    .build());
exampleinstance_resource_resource_from_workbenchinstance = gcp.workbench.Instance("exampleinstanceResourceResourceFromWorkbenchinstance",
    location="string",
    desired_state="string",
    disable_proxy_access=False,
    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",
        },
        "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")
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",
        },
        containerImage: {
            repository: "string",
            tag: "string",
        },
        dataDisks: {
            diskEncryption: "string",
            diskSizeGb: "string",
            diskType: "string",
            kmsKey: "string",
        },
        disablePublicIp: false,
        enableIpForwarding: false,
        machineType: "string",
        metadata: {
            string: "string",
        },
        networkInterfaces: [{
            accessConfigs: [{
                externalIp: "string",
            }],
            network: "string",
            nicType: "string",
            subnet: "string",
        }],
        serviceAccounts: [{
            email: "string",
            scopes: ["string"],
        }],
        shieldedInstanceConfig: {
            enableIntegrityMonitoring: false,
            enableSecureBoot: false,
            enableVtpm: false,
        },
        tags: ["string"],
        vmImage: {
            family: "string",
            name: "string",
            project: "string",
        },
    },
    instanceId: "string",
    instanceOwners: ["string"],
    labels: {
        string: "string",
    },
    name: "string",
    project: "string",
});
type: gcp:workbench:Instance
properties:
    desiredState: string
    disableProxyAccess: false
    enableThirdPartyIdentity: false
    gceSetup:
        acceleratorConfigs:
            - coreCount: string
              type: string
        bootDisk:
            diskEncryption: string
            diskSizeGb: string
            diskType: string
            kmsKey: string
        containerImage:
            repository: string
            tag: string
        dataDisks:
            diskEncryption: string
            diskSizeGb: string
            diskType: string
            kmsKey: string
        disablePublicIp: false
        enableIpForwarding: false
        machineType: string
        metadata:
            string: string
        networkInterfaces:
            - accessConfigs:
                - externalIp: string
              network: string
              nicType: string
              subnet: string
        serviceAccounts:
            - email: string
              scopes:
                - string
        shieldedInstanceConfig:
            enableIntegrityMonitoring: false
            enableSecureBoot: false
            enableVtpm: false
        tags:
            - string
        vmImage:
            family: string
            name: string
            project: string
    instanceId: string
    instanceOwners:
        - string
    labels:
        string: string
    location: string
    name: string
    project: string
Instance Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
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 string
- Part of parent. See documentation ofprojectsId.
- DesiredState string
- Desired state of the Workbench Instance. Set this field to ACTIVEto start the Instance, andSTOPPEDto stop the Instance.
- DisableProxy boolAccess 
- Optional. If true, the workbench instance will not register with the proxy.
- EnableThird boolParty Identity 
- Flag that specifies that a notebook can be accessed with third party identity provider.
- GceSetup InstanceGce Setup 
- The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
- InstanceId string
- Required. User-defined unique ID of this instance.
- InstanceOwners List<string>
- 'Optional. Input only. The owner of this instance after creation. Format:
alias@example.comCurrently 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 toSingle 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_labelsfor all of the labels present on the resource.
- Name string
- The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Location string
- Part of parent. See documentation ofprojectsId.
- DesiredState string
- Desired state of the Workbench Instance. Set this field to ACTIVEto start the Instance, andSTOPPEDto stop the Instance.
- DisableProxy boolAccess 
- Optional. If true, the workbench instance will not register with the proxy.
- EnableThird boolParty Identity 
- Flag that specifies that a notebook can be accessed with third party identity provider.
- GceSetup InstanceGce Setup Args 
- The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
- InstanceId string
- Required. User-defined unique ID of this instance.
- InstanceOwners []string
- 'Optional. Input only. The owner of this instance after creation. Format:
alias@example.comCurrently 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 toSingle 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_labelsfor all of the labels present on the resource.
- Name string
- The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- location String
- Part of parent. See documentation ofprojectsId.
- desiredState String
- Desired state of the Workbench Instance. Set this field to ACTIVEto start the Instance, andSTOPPEDto stop the Instance.
- disableProxy BooleanAccess 
- Optional. If true, the workbench instance will not register with the proxy.
- enableThird BooleanParty Identity 
- Flag that specifies that a notebook can be accessed with third party identity provider.
- gceSetup InstanceGce Setup 
- The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
- instanceId String
- Required. User-defined unique ID of this instance.
- instanceOwners List<String>
- 'Optional. Input only. The owner of this instance after creation. Format:
alias@example.comCurrently 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 toSingle 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_labelsfor all of the labels present on the resource.
- name String
- The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- location string
- Part of parent. See documentation ofprojectsId.
- desiredState string
- Desired state of the Workbench Instance. Set this field to ACTIVEto start the Instance, andSTOPPEDto stop the Instance.
- disableProxy booleanAccess 
- Optional. If true, the workbench instance will not register with the proxy.
- enableThird booleanParty Identity 
- Flag that specifies that a notebook can be accessed with third party identity provider.
- gceSetup InstanceGce Setup 
- The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
- instanceId string
- Required. User-defined unique ID of this instance.
- instanceOwners string[]
- 'Optional. Input only. The owner of this instance after creation. Format:
alias@example.comCurrently 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 toSingle 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_labelsfor all of the labels present on the resource.
- name string
- The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- location str
- Part of parent. See documentation ofprojectsId.
- desired_state str
- Desired state of the Workbench Instance. Set this field to ACTIVEto start the Instance, andSTOPPEDto stop the Instance.
- disable_proxy_ boolaccess 
- Optional. If true, the workbench instance will not register with the proxy.
- enable_third_ boolparty_ identity 
- Flag that specifies that a notebook can be accessed with third party identity provider.
- gce_setup InstanceGce Setup Args 
- The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
- instance_id str
- Required. User-defined unique ID of this instance.
- instance_owners Sequence[str]
- 'Optional. Input only. The owner of this instance after creation. Format:
alias@example.comCurrently 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 toSingle 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_labelsfor all of the labels present on the resource.
- name str
- The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- location String
- Part of parent. See documentation ofprojectsId.
- desiredState String
- Desired state of the Workbench Instance. Set this field to ACTIVEto start the Instance, andSTOPPEDto stop the Instance.
- disableProxy BooleanAccess 
- Optional. If true, the workbench instance will not register with the proxy.
- enableThird BooleanParty Identity 
- 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 String
- Required. User-defined unique ID of this instance.
- instanceOwners List<String>
- 'Optional. Input only. The owner of this instance after creation. Format:
alias@example.comCurrently 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 toSingle 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_labelsfor all of the labels present on the resource.
- name String
- The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
Outputs
All input properties are implicitly available as output properties. Additionally, the Instance resource produces the following output properties:
- CreateTime string
- An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
- Creator string
- Output only. Email address of entity that sent original CreateInstance request.
- EffectiveLabels Dictionary<string, string>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- HealthInfos List<InstanceHealth Info> 
- '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<InstanceUpgrade History> 
- 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 []InstanceHealth Info 
- '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 []InstanceUpgrade History 
- 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<InstanceHealth Info> 
- '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<InstanceUpgrade History> 
- 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 InstanceHealth Info[] 
- '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 InstanceUpgrade History[] 
- 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[InstanceHealth Info] 
- '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[InstanceUpgrade History] 
- 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) -> Instancefunc 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
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- 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 ACTIVEto start the Instance, andSTOPPEDto stop the Instance.
- DisableProxy boolAccess 
- 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.
- EnableThird boolParty Identity 
- Flag that specifies that a notebook can be accessed with third party identity provider.
- GceSetup InstanceGce Setup 
- The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
- HealthInfos List<InstanceHealth Info> 
- 'Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" }'
- HealthState string
- Output only. Instance health_state.
- InstanceId string
- Required. User-defined unique ID of this instance.
- InstanceOwners List<string>
- 'Optional. Input only. The owner of this instance after creation. Format:
alias@example.comCurrently 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 toSingle 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_labelsfor all of the labels present on the resource.
- Location string
- Part of parent. See documentation ofprojectsId.
- Name string
- The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- ProxyUri string
- Output only. The proxy endpoint that is used to access the Jupyter notebook.
- PulumiLabels Dictionary<string, string>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- State string
- (Output) Output only. The state of this instance upgrade history entry.
- UpdateTime string
- An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
- UpgradeHistories List<InstanceUpgrade History> 
- 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 ACTIVEto start the Instance, andSTOPPEDto stop the Instance.
- DisableProxy boolAccess 
- 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.
- EnableThird boolParty Identity 
- Flag that specifies that a notebook can be accessed with third party identity provider.
- GceSetup InstanceGce Setup Args 
- The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
- HealthInfos []InstanceHealth Info Args 
- 'Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" }'
- HealthState string
- Output only. Instance health_state.
- InstanceId string
- Required. User-defined unique ID of this instance.
- InstanceOwners []string
- 'Optional. Input only. The owner of this instance after creation. Format:
alias@example.comCurrently 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 toSingle 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_labelsfor all of the labels present on the resource.
- Location string
- Part of parent. See documentation ofprojectsId.
- Name string
- The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- ProxyUri string
- Output only. The proxy endpoint that is used to access the Jupyter notebook.
- PulumiLabels map[string]string
- The combination of labels configured directly on the resource and default labels configured on the provider.
- State string
- (Output) Output only. The state of this instance upgrade history entry.
- UpdateTime string
- An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
- UpgradeHistories []InstanceUpgrade History Args 
- 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 ACTIVEto start the Instance, andSTOPPEDto stop the Instance.
- disableProxy BooleanAccess 
- 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.
- enableThird BooleanParty Identity 
- Flag that specifies that a notebook can be accessed with third party identity provider.
- gceSetup InstanceGce Setup 
- The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
- healthInfos List<InstanceHealth Info> 
- 'Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" }'
- healthState String
- Output only. Instance health_state.
- instanceId String
- Required. User-defined unique ID of this instance.
- instanceOwners List<String>
- 'Optional. Input only. The owner of this instance after creation. Format:
alias@example.comCurrently 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 toSingle 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_labelsfor all of the labels present on the resource.
- location String
- Part of parent. See documentation ofprojectsId.
- name String
- The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- proxyUri String
- Output only. The proxy endpoint that is used to access the Jupyter notebook.
- pulumiLabels Map<String,String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- state String
- (Output) Output only. The state of this instance upgrade history entry.
- updateTime String
- An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
- upgradeHistories List<InstanceUpgrade History> 
- 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 ACTIVEto start the Instance, andSTOPPEDto stop the Instance.
- disableProxy booleanAccess 
- 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.
- enableThird booleanParty Identity 
- Flag that specifies that a notebook can be accessed with third party identity provider.
- gceSetup InstanceGce Setup 
- The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
- healthInfos InstanceHealth Info[] 
- 'Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" }'
- healthState string
- Output only. Instance health_state.
- instanceId string
- Required. User-defined unique ID of this instance.
- instanceOwners string[]
- 'Optional. Input only. The owner of this instance after creation. Format:
alias@example.comCurrently 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 toSingle 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_labelsfor all of the labels present on the resource.
- location string
- Part of parent. See documentation ofprojectsId.
- name string
- The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- proxyUri string
- Output only. The proxy endpoint that is used to access the Jupyter notebook.
- pulumiLabels {[key: string]: string}
- The combination of labels configured directly on the resource and default labels configured on the provider.
- state string
- (Output) Output only. The state of this instance upgrade history entry.
- updateTime string
- An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
- upgradeHistories InstanceUpgrade History[] 
- 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 ACTIVEto start the Instance, andSTOPPEDto stop the Instance.
- disable_proxy_ boolaccess 
- 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_ boolparty_ identity 
- Flag that specifies that a notebook can be accessed with third party identity provider.
- gce_setup InstanceGce Setup Args 
- The definition of how to configure a VM instance outside of Resources and Identity. Structure is documented below.
- health_infos Sequence[InstanceHealth Info Args] 
- 'Output only. Additional information about instance health. Example: healthInfo": { "docker_proxy_agent_status": "1", "docker_status": "1", "jupyterlab_api_status": "-1", "jupyterlab_status": "-1", "updated": "2020-10-18 09:40:03.573409" }'
- health_state str
- Output only. Instance health_state.
- instance_id str
- Required. User-defined unique ID of this instance.
- instance_owners Sequence[str]
- 'Optional. Input only. The owner of this instance after creation. Format:
alias@example.comCurrently 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 toSingle 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_labelsfor all of the labels present on the resource.
- location str
- Part of parent. See documentation ofprojectsId.
- name str
- The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- proxy_uri str
- Output only. The proxy endpoint that is used to access the Jupyter notebook.
- pulumi_labels Mapping[str, str]
- The combination of labels configured directly on the resource and default labels configured on the provider.
- state str
- (Output) Output only. The state of this instance upgrade history entry.
- update_time str
- An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
- upgrade_histories Sequence[InstanceUpgrade History Args] 
- 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 ACTIVEto start the Instance, andSTOPPEDto stop the Instance.
- disableProxy BooleanAccess 
- 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.
- enableThird BooleanParty Identity 
- 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 String
- Required. User-defined unique ID of this instance.
- instanceOwners List<String>
- 'Optional. Input only. The owner of this instance after creation. Format:
alias@example.comCurrently 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 toSingle 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_labelsfor all of the labels present on the resource.
- location String
- Part of parent. See documentation ofprojectsId.
- name String
- The name of this workbench instance. Format: projects/{project_id}/locations/{location}/instances/{instance_id}
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- proxyUri String
- Output only. The proxy endpoint that is used to access the Jupyter notebook.
- pulumiLabels Map<String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- state String
- (Output) Output only. The state of this instance upgrade history entry.
- updateTime String
- An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
- upgradeHistories List<Property Map>
- Output only. The upgrade history of this instance. Structure is documented below.
Supporting Types
InstanceGceSetup, InstanceGceSetupArgs      
- AcceleratorConfigs List<InstanceGce Setup Accelerator Config> 
- 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_typeyou have selected. Currently supports only one accelerator configuration. Structure is documented below.
- BootDisk InstanceGce Setup Boot Disk 
- The definition of a boot disk. Structure is documented below.
- ContainerImage InstanceGce Setup Container Image 
- Use a container image to start the workbench instance. Structure is documented below.
- DataDisks InstanceGce Setup Data Disks 
- Data disks attached to the VM instance. Currently supports only one data disk. Structure is documented below.
- DisablePublic boolIp 
- Optional. If true, no external IP will be assigned to this VM instance.
- EnableIp boolForwarding 
- Optional. Flag to enable ip forwarding or not, default false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward
- MachineType string
- Optional. The machine type of the VM instance. https://cloud.google.com/compute/docs/machine-resource
- Metadata Dictionary<string, string>
- Optional. Custom metadata to apply to this instance.
- NetworkInterfaces List<InstanceGce Setup Network Interface> 
- The network interfaces for the VM. Supports only one interface. Structure is documented below.
- ServiceAccounts List<InstanceGce Setup Service Account> 
- The service account that serves as an identity for the VM instance. Currently supports only one service account. Structure is documented below.
- ShieldedInstance InstanceConfig Gce Setup Shielded Instance Config 
- A set of Shielded Instance options. See Images using supported Shielded VM features. Not all combinations are valid. Structure is documented below.
- List<string>
- Optional. The Compute Engine tags to add to instance (see Tagging instances).
- VmImage InstanceGce Setup Vm Image 
- 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 []InstanceGce Setup Accelerator Config 
- 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_typeyou have selected. Currently supports only one accelerator configuration. Structure is documented below.
- BootDisk InstanceGce Setup Boot Disk 
- The definition of a boot disk. Structure is documented below.
- ContainerImage InstanceGce Setup Container Image 
- Use a container image to start the workbench instance. Structure is documented below.
- DataDisks InstanceGce Setup Data Disks 
- Data disks attached to the VM instance. Currently supports only one data disk. Structure is documented below.
- DisablePublic boolIp 
- Optional. If true, no external IP will be assigned to this VM instance.
- EnableIp boolForwarding 
- 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 []InstanceGce Setup Network Interface 
- The network interfaces for the VM. Supports only one interface. Structure is documented below.
- ServiceAccounts []InstanceGce Setup Service Account 
- The service account that serves as an identity for the VM instance. Currently supports only one service account. Structure is documented below.
- ShieldedInstance InstanceConfig Gce Setup Shielded Instance Config 
- A set of Shielded Instance options. See Images using supported Shielded VM features. Not all combinations are valid. Structure is documented below.
- []string
- Optional. The Compute Engine tags to add to instance (see Tagging instances).
- VmImage InstanceGce Setup Vm Image 
- 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<InstanceGce Setup Accelerator Config> 
- 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_typeyou have selected. Currently supports only one accelerator configuration. Structure is documented below.
- bootDisk InstanceGce Setup Boot Disk 
- The definition of a boot disk. Structure is documented below.
- containerImage InstanceGce Setup Container Image 
- Use a container image to start the workbench instance. Structure is documented below.
- dataDisks InstanceGce Setup Data Disks 
- Data disks attached to the VM instance. Currently supports only one data disk. Structure is documented below.
- disablePublic BooleanIp 
- Optional. If true, no external IP will be assigned to this VM instance.
- enableIp BooleanForwarding 
- Optional. Flag to enable ip forwarding or not, default false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward
- machineType String
- Optional. The machine type of the VM instance. https://cloud.google.com/compute/docs/machine-resource
- metadata Map<String,String>
- Optional. Custom metadata to apply to this instance.
- networkInterfaces List<InstanceGce Setup Network Interface> 
- The network interfaces for the VM. Supports only one interface. Structure is documented below.
- serviceAccounts List<InstanceGce Setup Service Account> 
- The service account that serves as an identity for the VM instance. Currently supports only one service account. Structure is documented below.
- shieldedInstance InstanceConfig Gce Setup Shielded Instance Config 
- A set of Shielded Instance options. See Images using supported Shielded VM features. Not all combinations are valid. Structure is documented below.
- List<String>
- Optional. The Compute Engine tags to add to instance (see Tagging instances).
- vmImage InstanceGce Setup Vm Image 
- 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 InstanceGce Setup Accelerator Config[] 
- 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_typeyou have selected. Currently supports only one accelerator configuration. Structure is documented below.
- bootDisk InstanceGce Setup Boot Disk 
- The definition of a boot disk. Structure is documented below.
- containerImage InstanceGce Setup Container Image 
- Use a container image to start the workbench instance. Structure is documented below.
- dataDisks InstanceGce Setup Data Disks 
- Data disks attached to the VM instance. Currently supports only one data disk. Structure is documented below.
- disablePublic booleanIp 
- Optional. If true, no external IP will be assigned to this VM instance.
- enableIp booleanForwarding 
- 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 InstanceGce Setup Network Interface[] 
- The network interfaces for the VM. Supports only one interface. Structure is documented below.
- serviceAccounts InstanceGce Setup Service Account[] 
- The service account that serves as an identity for the VM instance. Currently supports only one service account. Structure is documented below.
- shieldedInstance InstanceConfig Gce Setup Shielded Instance Config 
- A set of Shielded Instance options. See Images using supported Shielded VM features. Not all combinations are valid. Structure is documented below.
- string[]
- Optional. The Compute Engine tags to add to instance (see Tagging instances).
- vmImage InstanceGce Setup Vm Image 
- 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[InstanceGce Setup Accelerator Config] 
- 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_typeyou have selected. Currently supports only one accelerator configuration. Structure is documented below.
- boot_disk InstanceGce Setup Boot Disk 
- The definition of a boot disk. Structure is documented below.
- container_image InstanceGce Setup Container Image 
- Use a container image to start the workbench instance. Structure is documented below.
- data_disks InstanceGce Setup Data Disks 
- Data disks attached to the VM instance. Currently supports only one data disk. Structure is documented below.
- disable_public_ boolip 
- Optional. If true, no external IP will be assigned to this VM instance.
- enable_ip_ boolforwarding 
- Optional. Flag to enable ip forwarding or not, default false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward
- machine_type str
- Optional. The machine type of the VM instance. https://cloud.google.com/compute/docs/machine-resource
- metadata Mapping[str, str]
- Optional. Custom metadata to apply to this instance.
- network_interfaces Sequence[InstanceGce Setup Network Interface] 
- The network interfaces for the VM. Supports only one interface. Structure is documented below.
- service_accounts Sequence[InstanceGce Setup Service Account] 
- The service account that serves as an identity for the VM instance. Currently supports only one service account. Structure is documented below.
- shielded_instance_ Instanceconfig Gce Setup Shielded Instance Config 
- A set of Shielded Instance options. See Images using supported Shielded VM features. Not all combinations are valid. Structure is documented below.
- Sequence[str]
- Optional. The Compute Engine tags to add to instance (see Tagging instances).
- vm_image InstanceGce Setup Vm Image 
- 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_typeyou have selected. Currently supports only one accelerator configuration. Structure is documented below.
- bootDisk Property Map
- The definition of a boot disk. Structure is documented below.
- containerImage Property Map
- Use a container image to start the workbench instance. Structure is documented below.
- dataDisks Property Map
- Data disks attached to the VM instance. Currently supports only one data disk. Structure is documented below.
- disablePublic BooleanIp 
- Optional. If true, no external IP will be assigned to this VM instance.
- enableIp BooleanForwarding 
- Optional. Flag to enable ip forwarding or not, default false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward
- machineType String
- Optional. The machine type of the VM instance. https://cloud.google.com/compute/docs/machine-resource
- metadata Map<String>
- Optional. Custom metadata to apply to this instance.
- networkInterfaces List<Property Map>
- The network interfaces for the VM. Supports only one interface. Structure is documented below.
- serviceAccounts List<Property Map>
- The service account that serves as an identity for the VM instance. Currently supports only one service account. Structure is documented below.
- shieldedInstance Property MapConfig 
- A set of Shielded Instance options. See Images using supported Shielded VM features. Not all combinations are valid. Structure is documented below.
- List<String>
- Optional. The Compute Engine tags to add to instance (see Tagging instances).
- vmImage Property Map
- Definition of a custom Compute Engine virtual machine image for starting a workbench instance with the environment installed directly on the VM. Structure is documented below.
InstanceGceSetupAcceleratorConfig, InstanceGceSetupAcceleratorConfigArgs          
- CoreCount string
- Optional. Count of cores of this accelerator.
- Type string
- Optional. Type of this accelerator.
Possible values are: NVIDIA_TESLA_P100,NVIDIA_TESLA_V100,NVIDIA_TESLA_P4,NVIDIA_TESLA_T4,NVIDIA_TESLA_A100,NVIDIA_A100_80GB,NVIDIA_L4,NVIDIA_TESLA_T4_VWS,NVIDIA_TESLA_P100_VWS,NVIDIA_TESLA_P4_VWS.
- CoreCount string
- Optional. Count of cores of this accelerator.
- Type string
- Optional. Type of this accelerator.
Possible values are: NVIDIA_TESLA_P100,NVIDIA_TESLA_V100,NVIDIA_TESLA_P4,NVIDIA_TESLA_T4,NVIDIA_TESLA_A100,NVIDIA_A100_80GB,NVIDIA_L4,NVIDIA_TESLA_T4_VWS,NVIDIA_TESLA_P100_VWS,NVIDIA_TESLA_P4_VWS.
- coreCount String
- Optional. Count of cores of this accelerator.
- type String
- Optional. Type of this accelerator.
Possible values are: NVIDIA_TESLA_P100,NVIDIA_TESLA_V100,NVIDIA_TESLA_P4,NVIDIA_TESLA_T4,NVIDIA_TESLA_A100,NVIDIA_A100_80GB,NVIDIA_L4,NVIDIA_TESLA_T4_VWS,NVIDIA_TESLA_P100_VWS,NVIDIA_TESLA_P4_VWS.
- coreCount string
- Optional. Count of cores of this accelerator.
- type string
- Optional. Type of this accelerator.
Possible values are: NVIDIA_TESLA_P100,NVIDIA_TESLA_V100,NVIDIA_TESLA_P4,NVIDIA_TESLA_T4,NVIDIA_TESLA_A100,NVIDIA_A100_80GB,NVIDIA_L4,NVIDIA_TESLA_T4_VWS,NVIDIA_TESLA_P100_VWS,NVIDIA_TESLA_P4_VWS.
- core_count str
- Optional. Count of cores of this accelerator.
- type str
- Optional. Type of this accelerator.
Possible values are: NVIDIA_TESLA_P100,NVIDIA_TESLA_V100,NVIDIA_TESLA_P4,NVIDIA_TESLA_T4,NVIDIA_TESLA_A100,NVIDIA_A100_80GB,NVIDIA_L4,NVIDIA_TESLA_T4_VWS,NVIDIA_TESLA_P100_VWS,NVIDIA_TESLA_P4_VWS.
- coreCount String
- Optional. Count of cores of this accelerator.
- type String
- Optional. Type of this accelerator.
Possible values are: NVIDIA_TESLA_P100,NVIDIA_TESLA_V100,NVIDIA_TESLA_P4,NVIDIA_TESLA_T4,NVIDIA_TESLA_A100,NVIDIA_A100_80GB,NVIDIA_L4,NVIDIA_TESLA_T4_VWS,NVIDIA_TESLA_P100_VWS,NVIDIA_TESLA_P4_VWS.
InstanceGceSetupBootDisk, InstanceGceSetupBootDiskArgs          
- DiskEncryption string
- Optional. Input only. Disk encryption method used on the boot and
data disks, defaults to GMEK.
Possible values are: GMEK,CMEK.
- DiskSize stringGb 
- Optional. The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to the recommended value of 150GB.
- DiskType string
- Optional. Indicates the type of the disk.
Possible values are: PD_STANDARD,PD_SSD,PD_BALANCED,PD_EXTREME.
- KmsKey string
- 'Optional. The KMS key used to encrypt the disks, only
applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}Learn more about using your own encryption keys.'
- DiskEncryption string
- Optional. Input only. Disk encryption method used on the boot and
data disks, defaults to GMEK.
Possible values are: GMEK,CMEK.
- DiskSize stringGb 
- Optional. The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to the recommended value of 150GB.
- DiskType string
- Optional. Indicates the type of the disk.
Possible values are: PD_STANDARD,PD_SSD,PD_BALANCED,PD_EXTREME.
- KmsKey string
- 'Optional. The KMS key used to encrypt the disks, only
applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}Learn more about using your own encryption keys.'
- diskEncryption String
- Optional. Input only. Disk encryption method used on the boot and
data disks, defaults to GMEK.
Possible values are: GMEK,CMEK.
- diskSize StringGb 
- Optional. The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to the recommended value of 150GB.
- diskType String
- Optional. Indicates the type of the disk.
Possible values are: PD_STANDARD,PD_SSD,PD_BALANCED,PD_EXTREME.
- kmsKey String
- 'Optional. The KMS key used to encrypt the disks, only
applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}Learn more about using your own encryption keys.'
- diskEncryption string
- Optional. Input only. Disk encryption method used on the boot and
data disks, defaults to GMEK.
Possible values are: GMEK,CMEK.
- diskSize stringGb 
- Optional. The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to the recommended value of 150GB.
- diskType string
- Optional. Indicates the type of the disk.
Possible values are: PD_STANDARD,PD_SSD,PD_BALANCED,PD_EXTREME.
- kmsKey string
- 'Optional. The KMS key used to encrypt the disks, only
applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}Learn more about using your own encryption keys.'
- disk_encryption str
- Optional. Input only. Disk encryption method used on the boot and
data disks, defaults to GMEK.
Possible values are: GMEK,CMEK.
- disk_size_ strgb 
- Optional. The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to the recommended value of 150GB.
- disk_type str
- Optional. Indicates the type of the disk.
Possible values are: PD_STANDARD,PD_SSD,PD_BALANCED,PD_EXTREME.
- kms_key str
- 'Optional. The KMS key used to encrypt the disks, only
applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}Learn more about using your own encryption keys.'
- diskEncryption String
- Optional. Input only. Disk encryption method used on the boot and
data disks, defaults to GMEK.
Possible values are: GMEK,CMEK.
- diskSize StringGb 
- Optional. The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to the recommended value of 150GB.
- diskType String
- Optional. Indicates the type of the disk.
Possible values are: PD_STANDARD,PD_SSD,PD_BALANCED,PD_EXTREME.
- kmsKey String
- 'Optional. The KMS key used to encrypt the disks, only
applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}Learn more about using your own encryption keys.'
InstanceGceSetupContainerImage, InstanceGceSetupContainerImageArgs          
- Repository string
- The path to the container image repository. For example: gcr.io/{project_id}/{imageName}
- Tag string
- The tag of the container image. If not specified, this defaults to the latest tag.
- Repository string
- The path to the container image repository. For example: gcr.io/{project_id}/{imageName}
- Tag string
- The tag of the container image. If not specified, this defaults to the latest tag.
- repository String
- The path to the container image repository. For example: gcr.io/{project_id}/{imageName}
- tag String
- The tag of the container image. If not specified, this defaults to the latest tag.
- repository string
- The path to the container image repository. For example: gcr.io/{project_id}/{imageName}
- tag string
- The tag of the container image. If not specified, this defaults to the latest tag.
- repository str
- The path to the container image repository. For example: gcr.io/{project_id}/{imageName}
- tag str
- The tag of the container image. If not specified, this defaults to the latest tag.
- repository String
- The path to the container image repository. For example: gcr.io/{project_id}/{imageName}
- tag String
- The tag of the container image. If not specified, this defaults to the latest tag.
InstanceGceSetupDataDisks, InstanceGceSetupDataDisksArgs          
- DiskEncryption string
- Optional. Input only. Disk encryption method used on the boot
and data disks, defaults to GMEK.
Possible values are: GMEK,CMEK.
- DiskSize stringGb 
- Optional. The size of the disk in GB attached to this VM instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to 100.
- DiskType string
- Optional. Input only. Indicates the type of the disk.
Possible values are: PD_STANDARD,PD_SSD,PD_BALANCED,PD_EXTREME.
- KmsKey string
- 'Optional. The KMS key used to encrypt the disks,
only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}Learn more about using your own encryption keys.'
- DiskEncryption string
- Optional. Input only. Disk encryption method used on the boot
and data disks, defaults to GMEK.
Possible values are: GMEK,CMEK.
- DiskSize stringGb 
- Optional. The size of the disk in GB attached to this VM instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to 100.
- DiskType string
- Optional. Input only. Indicates the type of the disk.
Possible values are: PD_STANDARD,PD_SSD,PD_BALANCED,PD_EXTREME.
- KmsKey string
- 'Optional. The KMS key used to encrypt the disks,
only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}Learn more about using your own encryption keys.'
- diskEncryption String
- Optional. Input only. Disk encryption method used on the boot
and data disks, defaults to GMEK.
Possible values are: GMEK,CMEK.
- diskSize StringGb 
- Optional. The size of the disk in GB attached to this VM instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to 100.
- diskType String
- Optional. Input only. Indicates the type of the disk.
Possible values are: PD_STANDARD,PD_SSD,PD_BALANCED,PD_EXTREME.
- kmsKey String
- 'Optional. The KMS key used to encrypt the disks,
only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}Learn more about using your own encryption keys.'
- diskEncryption string
- Optional. Input only. Disk encryption method used on the boot
and data disks, defaults to GMEK.
Possible values are: GMEK,CMEK.
- diskSize stringGb 
- Optional. The size of the disk in GB attached to this VM instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to 100.
- diskType string
- Optional. Input only. Indicates the type of the disk.
Possible values are: PD_STANDARD,PD_SSD,PD_BALANCED,PD_EXTREME.
- kmsKey string
- 'Optional. The KMS key used to encrypt the disks,
only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}Learn more about using your own encryption keys.'
- disk_encryption str
- Optional. Input only. Disk encryption method used on the boot
and data disks, defaults to GMEK.
Possible values are: GMEK,CMEK.
- disk_size_ strgb 
- Optional. The size of the disk in GB attached to this VM instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to 100.
- disk_type str
- Optional. Input only. Indicates the type of the disk.
Possible values are: PD_STANDARD,PD_SSD,PD_BALANCED,PD_EXTREME.
- kms_key str
- 'Optional. The KMS key used to encrypt the disks,
only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}Learn more about using your own encryption keys.'
- diskEncryption String
- Optional. Input only. Disk encryption method used on the boot
and data disks, defaults to GMEK.
Possible values are: GMEK,CMEK.
- diskSize StringGb 
- Optional. The size of the disk in GB attached to this VM instance, up to a maximum of 64000 GB (64 TB). If not specified, this defaults to 100.
- diskType String
- Optional. Input only. Indicates the type of the disk.
Possible values are: PD_STANDARD,PD_SSD,PD_BALANCED,PD_EXTREME.
- kmsKey String
- 'Optional. The KMS key used to encrypt the disks,
only applicable if disk_encryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}Learn more about using your own encryption keys.'
InstanceGceSetupNetworkInterface, InstanceGceSetupNetworkInterfaceArgs          
- AccessConfigs List<InstanceGce Setup Network Interface Access Config> 
- Optional. An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If no accessConfigs specified, the instance will have an external internet access through an ephemeral external IP address. Structure is documented below.
- Network string
- Optional. The name of the VPC that this VM instance is in.
- NicType string
- Optional. The type of vNIC to be used on this interface. This
may be gVNIC or VirtioNet.
Possible values are: VIRTIO_NET,GVNIC.
- Subnet string
- Optional. The name of the subnet that this VM instance is in.
- AccessConfigs []InstanceGce Setup Network Interface Access Config 
- Optional. An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If no accessConfigs specified, the instance will have an external internet access through an ephemeral external IP address. Structure is documented below.
- Network string
- Optional. The name of the VPC that this VM instance is in.
- NicType string
- Optional. The type of vNIC to be used on this interface. This
may be gVNIC or VirtioNet.
Possible values are: VIRTIO_NET,GVNIC.
- Subnet string
- Optional. The name of the subnet that this VM instance is in.
- accessConfigs List<InstanceGce Setup Network Interface Access Config> 
- Optional. An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If no accessConfigs specified, the instance will have an external internet access through an ephemeral external IP address. Structure is documented below.
- network String
- Optional. The name of the VPC that this VM instance is in.
- nicType String
- Optional. The type of vNIC to be used on this interface. This
may be gVNIC or VirtioNet.
Possible values are: VIRTIO_NET,GVNIC.
- subnet String
- Optional. The name of the subnet that this VM instance is in.
- accessConfigs InstanceGce Setup Network Interface Access Config[] 
- Optional. An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If no accessConfigs specified, the instance will have an external internet access through an ephemeral external IP address. Structure is documented below.
- network string
- Optional. The name of the VPC that this VM instance is in.
- nicType string
- Optional. The type of vNIC to be used on this interface. This
may be gVNIC or VirtioNet.
Possible values are: VIRTIO_NET,GVNIC.
- subnet string
- Optional. The name of the subnet that this VM instance is in.
- access_configs Sequence[InstanceGce Setup Network Interface Access Config] 
- Optional. An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If no accessConfigs specified, the instance will have an external internet access through an ephemeral external IP address. Structure is documented below.
- network str
- Optional. The name of the VPC that this VM instance is in.
- nic_type str
- Optional. The type of vNIC to be used on this interface. This
may be gVNIC or VirtioNet.
Possible values are: VIRTIO_NET,GVNIC.
- subnet str
- Optional. The name of the subnet that this VM instance is in.
- accessConfigs List<Property Map>
- Optional. An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If no accessConfigs specified, the instance will have an external internet access through an ephemeral external IP address. Structure is documented below.
- network String
- Optional. The name of the VPC that this VM instance is in.
- nicType String
- Optional. The type of vNIC to be used on this interface. This
may be gVNIC or VirtioNet.
Possible values are: VIRTIO_NET,GVNIC.
- subnet String
- Optional. The name of the subnet that this VM instance is in.
InstanceGceSetupNetworkInterfaceAccessConfig, InstanceGceSetupNetworkInterfaceAccessConfigArgs              
- ExternalIp string
- An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
- ExternalIp string
- An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
- externalIp String
- An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
- externalIp string
- An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
- external_ip str
- An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
- externalIp String
- An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
InstanceGceSetupServiceAccount, InstanceGceSetupServiceAccountArgs          
InstanceGceSetupShieldedInstanceConfig, InstanceGceSetupShieldedInstanceConfigArgs            
- EnableIntegrity boolMonitoring 
- 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.
- EnableSecure boolBoot 
- 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.
- EnableIntegrity boolMonitoring 
- 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.
- EnableSecure boolBoot 
- 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.
- enableIntegrity BooleanMonitoring 
- 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.
- enableSecure BooleanBoot 
- 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.
- enableIntegrity booleanMonitoring 
- 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.
- enableSecure booleanBoot 
- 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_ boolmonitoring 
- 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_ boolboot 
- 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.
- enableIntegrity BooleanMonitoring 
- 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.
- enableSecure BooleanBoot 
- 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          
InstanceUpgradeHistory, InstanceUpgradeHistoryArgs      
- Action string
- Optional. Action. Rolloback or Upgrade.
- ContainerImage string
- Optional. The container image before this instance upgrade.
- CreateTime string
- An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
- Framework string
- Optional. The framework of this workbench instance.
- Snapshot string
- Optional. The snapshot of the boot disk of this workbench instance before upgrade.
- State string
- (Output) Output only. The state of this instance upgrade history entry.
- TargetVersion string
- Optional. Target VM Version, like m63.
- Version string
- Optional. The version of the workbench instance before this upgrade.
- VmImage string
- Optional. The VM image before this instance upgrade.
- Action string
- Optional. Action. Rolloback or Upgrade.
- ContainerImage string
- Optional. The container image before this instance upgrade.
- CreateTime string
- An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
- Framework string
- Optional. The framework of this workbench instance.
- Snapshot string
- Optional. The snapshot of the boot disk of this workbench instance before upgrade.
- State string
- (Output) Output only. The state of this instance upgrade history entry.
- TargetVersion string
- Optional. Target VM Version, like m63.
- Version string
- Optional. The version of the workbench instance before this upgrade.
- VmImage string
- Optional. The VM image before this instance upgrade.
- action String
- Optional. Action. Rolloback or Upgrade.
- containerImage String
- Optional. The container image before this instance upgrade.
- createTime String
- An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
- framework String
- Optional. The framework of this workbench instance.
- snapshot String
- Optional. The snapshot of the boot disk of this workbench instance before upgrade.
- state String
- (Output) Output only. The state of this instance upgrade history entry.
- targetVersion String
- Optional. Target VM Version, like m63.
- version String
- Optional. The version of the workbench instance before this upgrade.
- vmImage String
- Optional. The VM image before this instance upgrade.
- action string
- Optional. Action. Rolloback or Upgrade.
- containerImage string
- Optional. The container image before this instance upgrade.
- createTime string
- An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
- framework string
- Optional. The framework of this workbench instance.
- snapshot string
- Optional. The snapshot of the boot disk of this workbench instance before upgrade.
- state string
- (Output) Output only. The state of this instance upgrade history entry.
- targetVersion string
- Optional. Target VM Version, like m63.
- version string
- Optional. The version of the workbench instance before this upgrade.
- vmImage string
- Optional. The VM image before this instance upgrade.
- action str
- Optional. Action. Rolloback or Upgrade.
- container_image str
- Optional. The container image before this instance upgrade.
- create_time str
- An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
- framework str
- Optional. The framework of this workbench instance.
- snapshot str
- Optional. The snapshot of the boot disk of this workbench instance before upgrade.
- state str
- (Output) Output only. The state of this instance upgrade history entry.
- target_version str
- Optional. Target VM Version, like m63.
- version str
- Optional. The version of the workbench instance before this upgrade.
- vm_image str
- Optional. The VM image before this instance upgrade.
- action String
- Optional. Action. Rolloback or Upgrade.
- containerImage String
- Optional. The container image before this instance upgrade.
- createTime String
- An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ. The milliseconds portion (".SSS") is optional.
- framework String
- Optional. The framework of this workbench instance.
- snapshot String
- Optional. The snapshot of the boot disk of this workbench instance before upgrade.
- state String
- (Output) Output only. The state of this instance upgrade history entry.
- targetVersion String
- Optional. Target VM Version, like m63.
- version String
- Optional. The version of the workbench instance before this upgrade.
- vmImage String
- Optional. The VM image before this instance upgrade.
Import
Instance can be imported using any of these accepted formats:
- projects/{{project}}/locations/{{location}}/instances/{{name}}
- {{project}}/{{location}}/{{name}}
- {{location}}/{{name}}
When using the pulumi import command, Instance can be imported using one of the formats above. For example:
$ pulumi import gcp:workbench/instance:Instance default projects/{{project}}/locations/{{location}}/instances/{{name}}
$ pulumi import gcp:workbench/instance:Instance default {{project}}/{{location}}/{{name}}
$ pulumi import gcp:workbench/instance:Instance default {{location}}/{{name}}
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Google Cloud (GCP) Classic pulumi/pulumi-gcp
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the google-betaTerraform Provider.