InstanceArgs

data class InstanceArgs(val acceleratorConfig: Output<InstanceAcceleratorConfigArgs>? = null, val bootDiskSizeGb: Output<Int>? = null, val bootDiskType: Output<String>? = null, val containerImage: Output<InstanceContainerImageArgs>? = null, val createTime: Output<String>? = null, val customGpuDriverPath: Output<String>? = null, val dataDiskSizeGb: Output<Int>? = null, val dataDiskType: Output<String>? = null, val desiredState: Output<String>? = null, val diskEncryption: Output<String>? = null, val installGpuDriver: Output<Boolean>? = null, val instanceOwners: Output<List<String>>? = null, val kmsKey: Output<String>? = null, val labels: Output<Map<String, String>>? = null, val location: Output<String>? = null, val machineType: Output<String>? = null, val metadata: Output<Map<String, String>>? = null, val name: Output<String>? = null, val network: Output<String>? = null, val nicType: Output<String>? = null, val noProxyAccess: Output<Boolean>? = null, val noPublicIp: Output<Boolean>? = null, val noRemoveDataDisk: Output<Boolean>? = null, val postStartupScript: Output<String>? = null, val project: Output<String>? = null, val reservationAffinity: Output<InstanceReservationAffinityArgs>? = null, val serviceAccount: Output<String>? = null, val serviceAccountScopes: Output<List<String>>? = null, val shieldedInstanceConfig: Output<InstanceShieldedInstanceConfigArgs>? = null, val subnet: Output<String>? = null, val tags: Output<List<String>>? = null, val updateTime: Output<String>? = null, val vmImage: Output<InstanceVmImageArgs>? = null) : ConvertibleToJava<InstanceArgs>

Warning: google_notebook_instance is deprecated and will be removed in a future major release. Use gcp.workbench.Instance instead. A Cloud AI Platform Notebook instance. Note: Due to limitations of the Notebooks Instance API, many fields in this resource do not properly detect drift. These fields will also not appear in state once imported. To get more information about Instance, see:

Example Usage

Notebook Instance Basic

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const instance = new gcp.notebooks.Instance("instance", {
name: "notebooks-instance",
location: "us-west1-a",
machineType: "e2-medium",
vmImage: {
project: "deeplearning-platform-release",
imageFamily: "tf-latest-cpu",
},
});
import pulumi
import pulumi_gcp as gcp
instance = gcp.notebooks.Instance("instance",
name="notebooks-instance",
location="us-west1-a",
machine_type="e2-medium",
vm_image={
"project": "deeplearning-platform-release",
"image_family": "tf-latest-cpu",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var instance = new Gcp.Notebooks.Instance("instance", new()
{
Name = "notebooks-instance",
Location = "us-west1-a",
MachineType = "e2-medium",
VmImage = new Gcp.Notebooks.Inputs.InstanceVmImageArgs
{
Project = "deeplearning-platform-release",
ImageFamily = "tf-latest-cpu",
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/notebooks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := notebooks.NewInstance(ctx, "instance", &notebooks.InstanceArgs{
Name: pulumi.String("notebooks-instance"),
Location: pulumi.String("us-west1-a"),
MachineType: pulumi.String("e2-medium"),
VmImage: &notebooks.InstanceVmImageArgs{
Project: pulumi.String("deeplearning-platform-release"),
ImageFamily: pulumi.String("tf-latest-cpu"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.notebooks.Instance;
import com.pulumi.gcp.notebooks.InstanceArgs;
import com.pulumi.gcp.notebooks.inputs.InstanceVmImageArgs;
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("notebooks-instance")
.location("us-west1-a")
.machineType("e2-medium")
.vmImage(InstanceVmImageArgs.builder()
.project("deeplearning-platform-release")
.imageFamily("tf-latest-cpu")
.build())
.build());
}
}
resources:
instance:
type: gcp:notebooks:Instance
properties:
name: notebooks-instance
location: us-west1-a
machineType: e2-medium
vmImage:
project: deeplearning-platform-release
imageFamily: tf-latest-cpu

Notebook Instance Basic Stopped

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const instance = new gcp.notebooks.Instance("instance", {
name: "notebooks-instance",
location: "us-west1-a",
machineType: "e2-medium",
vmImage: {
project: "deeplearning-platform-release",
imageFamily: "tf-latest-cpu",
},
desiredState: "STOPPED",
});
import pulumi
import pulumi_gcp as gcp
instance = gcp.notebooks.Instance("instance",
name="notebooks-instance",
location="us-west1-a",
machine_type="e2-medium",
vm_image={
"project": "deeplearning-platform-release",
"image_family": "tf-latest-cpu",
},
desired_state="STOPPED")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var instance = new Gcp.Notebooks.Instance("instance", new()
{
Name = "notebooks-instance",
Location = "us-west1-a",
MachineType = "e2-medium",
VmImage = new Gcp.Notebooks.Inputs.InstanceVmImageArgs
{
Project = "deeplearning-platform-release",
ImageFamily = "tf-latest-cpu",
},
DesiredState = "STOPPED",
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/notebooks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := notebooks.NewInstance(ctx, "instance", &notebooks.InstanceArgs{
Name: pulumi.String("notebooks-instance"),
Location: pulumi.String("us-west1-a"),
MachineType: pulumi.String("e2-medium"),
VmImage: &notebooks.InstanceVmImageArgs{
Project: pulumi.String("deeplearning-platform-release"),
ImageFamily: pulumi.String("tf-latest-cpu"),
},
DesiredState: pulumi.String("STOPPED"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.notebooks.Instance;
import com.pulumi.gcp.notebooks.InstanceArgs;
import com.pulumi.gcp.notebooks.inputs.InstanceVmImageArgs;
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("notebooks-instance")
.location("us-west1-a")
.machineType("e2-medium")
.vmImage(InstanceVmImageArgs.builder()
.project("deeplearning-platform-release")
.imageFamily("tf-latest-cpu")
.build())
.desiredState("STOPPED")
.build());
}
}
resources:
instance:
type: gcp:notebooks:Instance
properties:
name: notebooks-instance
location: us-west1-a
machineType: e2-medium
vmImage:
project: deeplearning-platform-release
imageFamily: tf-latest-cpu
desiredState: STOPPED

Notebook Instance Basic Container

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const instance = new gcp.notebooks.Instance("instance", {
name: "notebooks-instance",
location: "us-west1-a",
machineType: "e2-medium",
metadata: {
"proxy-mode": "service_account",
},
containerImage: {
repository: "gcr.io/deeplearning-platform-release/base-cpu",
tag: "latest",
},
});
import pulumi
import pulumi_gcp as gcp
instance = gcp.notebooks.Instance("instance",
name="notebooks-instance",
location="us-west1-a",
machine_type="e2-medium",
metadata={
"proxy-mode": "service_account",
},
container_image={
"repository": "gcr.io/deeplearning-platform-release/base-cpu",
"tag": "latest",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var instance = new Gcp.Notebooks.Instance("instance", new()
{
Name = "notebooks-instance",
Location = "us-west1-a",
MachineType = "e2-medium",
Metadata =
{
{ "proxy-mode", "service_account" },
},
ContainerImage = new Gcp.Notebooks.Inputs.InstanceContainerImageArgs
{
Repository = "gcr.io/deeplearning-platform-release/base-cpu",
Tag = "latest",
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/notebooks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := notebooks.NewInstance(ctx, "instance", &notebooks.InstanceArgs{
Name: pulumi.String("notebooks-instance"),
Location: pulumi.String("us-west1-a"),
MachineType: pulumi.String("e2-medium"),
Metadata: pulumi.StringMap{
"proxy-mode": pulumi.String("service_account"),
},
ContainerImage: &notebooks.InstanceContainerImageArgs{
Repository: pulumi.String("gcr.io/deeplearning-platform-release/base-cpu"),
Tag: pulumi.String("latest"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.notebooks.Instance;
import com.pulumi.gcp.notebooks.InstanceArgs;
import com.pulumi.gcp.notebooks.inputs.InstanceContainerImageArgs;
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("notebooks-instance")
.location("us-west1-a")
.machineType("e2-medium")
.metadata(Map.of("proxy-mode", "service_account"))
.containerImage(InstanceContainerImageArgs.builder()
.repository("gcr.io/deeplearning-platform-release/base-cpu")
.tag("latest")
.build())
.build());
}
}
resources:
instance:
type: gcp:notebooks:Instance
properties:
name: notebooks-instance
location: us-west1-a
machineType: e2-medium
metadata:
proxy-mode: service_account
containerImage:
repository: gcr.io/deeplearning-platform-release/base-cpu
tag: latest

Notebook Instance Basic Gpu

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const instance = new gcp.notebooks.Instance("instance", {
name: "notebooks-instance",
location: "us-west1-a",
machineType: "n1-standard-1",
installGpuDriver: true,
acceleratorConfig: {
type: "NVIDIA_TESLA_T4",
coreCount: 1,
},
vmImage: {
project: "deeplearning-platform-release",
imageFamily: "tf-latest-gpu",
},
});
import pulumi
import pulumi_gcp as gcp
instance = gcp.notebooks.Instance("instance",
name="notebooks-instance",
location="us-west1-a",
machine_type="n1-standard-1",
install_gpu_driver=True,
accelerator_config={
"type": "NVIDIA_TESLA_T4",
"core_count": 1,
},
vm_image={
"project": "deeplearning-platform-release",
"image_family": "tf-latest-gpu",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var instance = new Gcp.Notebooks.Instance("instance", new()
{
Name = "notebooks-instance",
Location = "us-west1-a",
MachineType = "n1-standard-1",
InstallGpuDriver = true,
AcceleratorConfig = new Gcp.Notebooks.Inputs.InstanceAcceleratorConfigArgs
{
Type = "NVIDIA_TESLA_T4",
CoreCount = 1,
},
VmImage = new Gcp.Notebooks.Inputs.InstanceVmImageArgs
{
Project = "deeplearning-platform-release",
ImageFamily = "tf-latest-gpu",
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/notebooks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := notebooks.NewInstance(ctx, "instance", &notebooks.InstanceArgs{
Name: pulumi.String("notebooks-instance"),
Location: pulumi.String("us-west1-a"),
MachineType: pulumi.String("n1-standard-1"),
InstallGpuDriver: pulumi.Bool(true),
AcceleratorConfig: &notebooks.InstanceAcceleratorConfigArgs{
Type: pulumi.String("NVIDIA_TESLA_T4"),
CoreCount: pulumi.Int(1),
},
VmImage: &notebooks.InstanceVmImageArgs{
Project: pulumi.String("deeplearning-platform-release"),
ImageFamily: pulumi.String("tf-latest-gpu"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.notebooks.Instance;
import com.pulumi.gcp.notebooks.InstanceArgs;
import com.pulumi.gcp.notebooks.inputs.InstanceAcceleratorConfigArgs;
import com.pulumi.gcp.notebooks.inputs.InstanceVmImageArgs;
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("notebooks-instance")
.location("us-west1-a")
.machineType("n1-standard-1")
.installGpuDriver(true)
.acceleratorConfig(InstanceAcceleratorConfigArgs.builder()
.type("NVIDIA_TESLA_T4")
.coreCount(1)
.build())
.vmImage(InstanceVmImageArgs.builder()
.project("deeplearning-platform-release")
.imageFamily("tf-latest-gpu")
.build())
.build());
}
}
resources:
instance:
type: gcp:notebooks:Instance
properties:
name: notebooks-instance
location: us-west1-a
machineType: n1-standard-1
installGpuDriver: true
acceleratorConfig:
type: NVIDIA_TESLA_T4
coreCount: 1
vmImage:
project: deeplearning-platform-release
imageFamily: tf-latest-gpu

Notebook Instance Full

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const myNetwork = gcp.compute.getNetwork({
name: "default",
});
const mySubnetwork = gcp.compute.getSubnetwork({
name: "default",
region: "us-central1",
});
const instance = new gcp.notebooks.Instance("instance", {
name: "notebooks-instance",
location: "us-central1-a",
machineType: "e2-medium",
vmImage: {
project: "deeplearning-platform-release",
imageFamily: "tf-latest-cpu",
},
instanceOwners: ["my@service-account&#46;com"],
serviceAccount: "my@service-account.com",
installGpuDriver: true,
bootDiskType: "PD_SSD",
bootDiskSizeGb: 110,
noPublicIp: true,
noProxyAccess: true,
network: myNetwork.then(myNetwork => myNetwork.id),
subnet: mySubnetwork.then(mySubnetwork => mySubnetwork.id),
labels: {
k: "val",
},
metadata: {
terraform: "true",
},
serviceAccountScopes: [
"https://www.googleapis.com/auth/bigquery",
"https://www.googleapis.com/auth/devstorage.read_write",
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/userinfo.email",
],
tags: [
"foo",
"bar",
],
diskEncryption: "CMEK",
kmsKey: "my-crypto-key",
desiredState: "ACTIVE",
});
import pulumi
import pulumi_gcp as gcp
my_network = gcp.compute.get_network(name="default")
my_subnetwork = gcp.compute.get_subnetwork(name="default",
region="us-central1")
instance = gcp.notebooks.Instance("instance",
name="notebooks-instance",
location="us-central1-a",
machine_type="e2-medium",
vm_image={
"project": "deeplearning-platform-release",
"image_family": "tf-latest-cpu",
},
instance_owners=["my@service-account&#46;com"],
service_account="my@service-account.com",
install_gpu_driver=True,
boot_disk_type="PD_SSD",
boot_disk_size_gb=110,
no_public_ip=True,
no_proxy_access=True,
network=my_network.id,
subnet=my_subnetwork.id,
labels={
"k": "val",
},
metadata={
"terraform": "true",
},
service_account_scopes=[
"https://www.googleapis.com/auth/bigquery",
"https://www.googleapis.com/auth/devstorage.read_write",
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/userinfo.email",
],
tags=[
"foo",
"bar",
],
disk_encryption="CMEK",
kms_key="my-crypto-key",
desired_state="ACTIVE")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var myNetwork = Gcp.Compute.GetNetwork.Invoke(new()
{
Name = "default",
});
var mySubnetwork = Gcp.Compute.GetSubnetwork.Invoke(new()
{
Name = "default",
Region = "us-central1",
});
var instance = new Gcp.Notebooks.Instance("instance", new()
{
Name = "notebooks-instance",
Location = "us-central1-a",
MachineType = "e2-medium",
VmImage = new Gcp.Notebooks.Inputs.InstanceVmImageArgs
{
Project = "deeplearning-platform-release",
ImageFamily = "tf-latest-cpu",
},
InstanceOwners = new[]
{
"my@service-account.com",
},
ServiceAccount = "my@service-account.com",
InstallGpuDriver = true,
BootDiskType = "PD_SSD",
BootDiskSizeGb = 110,
NoPublicIp = true,
NoProxyAccess = true,
Network = myNetwork.Apply(getNetworkResult => getNetworkResult.Id),
Subnet = mySubnetwork.Apply(getSubnetworkResult => getSubnetworkResult.Id),
Labels =
{
{ "k", "val" },
},
Metadata =
{
{ "terraform", "true" },
},
ServiceAccountScopes = new[]
{
"https://www.googleapis.com/auth/bigquery",
"https://www.googleapis.com/auth/devstorage.read_write",
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/userinfo.email",
},
Tags = new[]
{
"foo",
"bar",
},
DiskEncryption = "CMEK",
KmsKey = "my-crypto-key",
DesiredState = "ACTIVE",
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/notebooks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
myNetwork, err := compute.LookupNetwork(ctx, &compute.LookupNetworkArgs{
Name: "default",
}, nil)
if err != nil {
return err
}
mySubnetwork, err := compute.LookupSubnetwork(ctx, &compute.LookupSubnetworkArgs{
Name: pulumi.StringRef("default"),
Region: pulumi.StringRef("us-central1"),
}, nil)
if err != nil {
return err
}
_, err = notebooks.NewInstance(ctx, "instance", &notebooks.InstanceArgs{
Name: pulumi.String("notebooks-instance"),
Location: pulumi.String("us-central1-a"),
MachineType: pulumi.String("e2-medium"),
VmImage: &notebooks.InstanceVmImageArgs{
Project: pulumi.String("deeplearning-platform-release"),
ImageFamily: pulumi.String("tf-latest-cpu"),
},
InstanceOwners: pulumi.StringArray{
pulumi.String("my@service-account.com"),
},
ServiceAccount: pulumi.String("my@service-account.com"),
InstallGpuDriver: pulumi.Bool(true),
BootDiskType: pulumi.String("PD_SSD"),
BootDiskSizeGb: pulumi.Int(110),
NoPublicIp: pulumi.Bool(true),
NoProxyAccess: pulumi.Bool(true),
Network: pulumi.String(myNetwork.Id),
Subnet: pulumi.String(mySubnetwork.Id),
Labels: pulumi.StringMap{
"k": pulumi.String("val"),
},
Metadata: pulumi.StringMap{
"terraform": pulumi.String("true"),
},
ServiceAccountScopes: pulumi.StringArray{
pulumi.String("https://www.googleapis.com/auth/bigquery"),
pulumi.String("https://www.googleapis.com/auth/devstorage.read_write"),
pulumi.String("https://www.googleapis.com/auth/cloud-platform"),
pulumi.String("https://www.googleapis.com/auth/userinfo.email"),
},
Tags: pulumi.StringArray{
pulumi.String("foo"),
pulumi.String("bar"),
},
DiskEncryption: pulumi.String("CMEK"),
KmsKey: pulumi.String("my-crypto-key"),
DesiredState: pulumi.String("ACTIVE"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.ComputeFunctions;
import com.pulumi.gcp.compute.inputs.GetNetworkArgs;
import com.pulumi.gcp.compute.inputs.GetSubnetworkArgs;
import com.pulumi.gcp.notebooks.Instance;
import com.pulumi.gcp.notebooks.InstanceArgs;
import com.pulumi.gcp.notebooks.inputs.InstanceVmImageArgs;
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) {
final var myNetwork = ComputeFunctions.getNetwork(GetNetworkArgs.builder()
.name("default")
.build());
final var mySubnetwork = ComputeFunctions.getSubnetwork(GetSubnetworkArgs.builder()
.name("default")
.region("us-central1")
.build());
var instance = new Instance("instance", InstanceArgs.builder()
.name("notebooks-instance")
.location("us-central1-a")
.machineType("e2-medium")
.vmImage(InstanceVmImageArgs.builder()
.project("deeplearning-platform-release")
.imageFamily("tf-latest-cpu")
.build())
.instanceOwners("my@service-account.com")
.serviceAccount("my@service-account.com")
.installGpuDriver(true)
.bootDiskType("PD_SSD")
.bootDiskSizeGb(110)
.noPublicIp(true)
.noProxyAccess(true)
.network(myNetwork.applyValue(getNetworkResult -> getNetworkResult.id()))
.subnet(mySubnetwork.applyValue(getSubnetworkResult -> getSubnetworkResult.id()))
.labels(Map.of("k", "val"))
.metadata(Map.of("terraform", "true"))
.serviceAccountScopes(
"https://www.googleapis.com/auth/bigquery",
"https://www.googleapis.com/auth/devstorage.read_write",
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/userinfo.email")
.tags(
"foo",
"bar")
.diskEncryption("CMEK")
.kmsKey("my-crypto-key")
.desiredState("ACTIVE")
.build());
}
}
resources:
instance:
type: gcp:notebooks:Instance
properties:
name: notebooks-instance
location: us-central1-a
machineType: e2-medium
vmImage:
project: deeplearning-platform-release
imageFamily: tf-latest-cpu
instanceOwners:
- my@service-account.com
serviceAccount: my@service-account.com
installGpuDriver: true
bootDiskType: PD_SSD
bootDiskSizeGb: 110
noPublicIp: true
noProxyAccess: true
network: ${myNetwork.id}
subnet: ${mySubnetwork.id}
labels:
k: val
metadata:
terraform: 'true'
serviceAccountScopes:
- https://www.googleapis.com/auth/bigquery
- https://www.googleapis.com/auth/devstorage.read_write
- https://www.googleapis.com/auth/cloud-platform
- https://www.googleapis.com/auth/userinfo.email
tags:
- foo
- bar
diskEncryption: CMEK
kmsKey: my-crypto-key
desiredState: ACTIVE
variables:
myNetwork:
fn::invoke:
Function: gcp:compute:getNetwork
Arguments:
name: default
mySubnetwork:
fn::invoke:
Function: gcp:compute:getSubnetwork
Arguments:
name: default
region: us-central1

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:notebooks/instance:Instance default projects/{{project}}/locations/{{location}}/instances/{{name}}
$ pulumi import gcp:notebooks/instance:Instance default {{project}}/{{location}}/{{name}}
$ pulumi import gcp:notebooks/instance:Instance default {{location}}/{{name}}

Constructors

Link copied to clipboard
constructor(acceleratorConfig: Output<InstanceAcceleratorConfigArgs>? = null, bootDiskSizeGb: Output<Int>? = null, bootDiskType: Output<String>? = null, containerImage: Output<InstanceContainerImageArgs>? = null, createTime: Output<String>? = null, customGpuDriverPath: Output<String>? = null, dataDiskSizeGb: Output<Int>? = null, dataDiskType: Output<String>? = null, desiredState: Output<String>? = null, diskEncryption: Output<String>? = null, installGpuDriver: Output<Boolean>? = null, instanceOwners: Output<List<String>>? = null, kmsKey: Output<String>? = null, labels: Output<Map<String, String>>? = null, location: Output<String>? = null, machineType: Output<String>? = null, metadata: Output<Map<String, String>>? = null, name: Output<String>? = null, network: Output<String>? = null, nicType: Output<String>? = null, noProxyAccess: Output<Boolean>? = null, noPublicIp: Output<Boolean>? = null, noRemoveDataDisk: Output<Boolean>? = null, postStartupScript: Output<String>? = null, project: Output<String>? = null, reservationAffinity: Output<InstanceReservationAffinityArgs>? = null, serviceAccount: Output<String>? = null, serviceAccountScopes: Output<List<String>>? = null, shieldedInstanceConfig: Output<InstanceShieldedInstanceConfigArgs>? = null, subnet: Output<String>? = null, tags: Output<List<String>>? = null, updateTime: Output<String>? = null, vmImage: Output<InstanceVmImageArgs>? = null)

Properties

Link copied to clipboard

The hardware accelerator used on this instance. If you use accelerators, make sure that your configuration has enough vCPUs and memory to support the machineType you have selected. Structure is documented below.

Link copied to clipboard
val bootDiskSizeGb: Output<Int>? = null

The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). The minimum recommended value is 100 GB. If not specified, this defaults to 100.

Link copied to clipboard
val bootDiskType: Output<String>? = null

Possible disk types for notebook instances. Possible values are: DISK_TYPE_UNSPECIFIED, PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.

Link copied to clipboard

Use a container image to start the notebook instance. Structure is documented below.

Link copied to clipboard
val createTime: Output<String>? = null

Instance creation time

Link copied to clipboard
val customGpuDriverPath: Output<String>? = null

Specify a custom Cloud Storage path where the GPU driver is stored. If not specified, we'll automatically choose from official GPU drivers.

Link copied to clipboard
val dataDiskSizeGb: Output<Int>? = null

The size of the data disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). You can choose the size of the data disk based on how big your notebooks and data are. If not specified, this defaults to 100.

Link copied to clipboard
val dataDiskType: Output<String>? = null

Possible disk types for notebook instances. Possible values are: DISK_TYPE_UNSPECIFIED, PD_STANDARD, PD_SSD, PD_BALANCED, PD_EXTREME.

Link copied to clipboard
val desiredState: Output<String>? = null

Desired state of the Notebook Instance. Set this field to ACTIVE to start the Instance, and STOPPED to stop the Instance.

Link copied to clipboard
val diskEncryption: Output<String>? = null

Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values are: DISK_ENCRYPTION_UNSPECIFIED, GMEK, CMEK.

Link copied to clipboard
val installGpuDriver: Output<Boolean>? = null

Whether the end user authorizes Google Cloud to install GPU driver on this instance. If this field is empty or set to false, the GPU driver won't be installed. Only applicable to instances with GPUs.

Link copied to clipboard
val instanceOwners: Output<List<String>>? = null

The list of owners of this instance after creation. Format: alias@example.com. Currently supports one owner only. If not specified, all of the service account users of your VM instance's service account can use the instance.

Link copied to clipboard
val kmsKey: Output<String>? = null

The KMS key used to encrypt the disks, only applicable if diskEncryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}

Link copied to clipboard
val labels: Output<Map<String, String>>? = null

Labels to apply to this instance. These can be later modified by the setLabels method. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

Link copied to clipboard
val location: Output<String>? = null

A reference to the zone where the machine resides.

Link copied to clipboard
val machineType: Output<String>? = null

A reference to a machine type which defines VM kind.

Link copied to clipboard
val metadata: Output<Map<String, String>>? = null

Custom metadata to apply to this instance. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Link copied to clipboard
val name: Output<String>? = null

The name specified for the Notebook instance.

Link copied to clipboard
val network: Output<String>? = null

The name of the VPC that this instance is in. Format: projects/{project_id}/global/networks/{network_id}

Link copied to clipboard
val nicType: Output<String>? = null

The type of vNIC driver. Possible values are: UNSPECIFIED_NIC_TYPE, VIRTIO_NET, GVNIC.

Link copied to clipboard
val noProxyAccess: Output<Boolean>? = null

The notebook instance will not register with the proxy..

Link copied to clipboard
val noPublicIp: Output<Boolean>? = null

No public IP will be assigned to this instance.

Link copied to clipboard
val noRemoveDataDisk: Output<Boolean>? = null

If true, the data disk will not be auto deleted when deleting the instance.

Link copied to clipboard
val postStartupScript: Output<String>? = null

Path to a Bash script that automatically runs after a notebook instance fully boots up. The path must be a URL or Cloud Storage path (gs://path-to-file/file-name).

Link copied to clipboard
val project: Output<String>? = null

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Link copied to clipboard

Reservation Affinity for consuming Zonal reservation. Structure is documented below.

Link copied to clipboard
val serviceAccount: Output<String>? = null

The service account on this instance, giving access to other Google Cloud services. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the Compute Engine default service account is used.

Link copied to clipboard
val serviceAccountScopes: Output<List<String>>? = null

Optional. The URIs of service account scopes to be included in Compute Engine instances. If not specified, the following scopes are defined:

Link copied to clipboard

A set of Shielded Instance options. Check Images using supported Shielded VM features Not all combinations are valid Structure is documented below.

Link copied to clipboard
val subnet: Output<String>? = null

The name of the subnet that this instance is in. Format: projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}

Link copied to clipboard
val tags: Output<List<String>>? = null

The Compute Engine tags to add to instance.

Link copied to clipboard
val updateTime: Output<String>? = null

Instance update time.

Link copied to clipboard
val vmImage: Output<InstanceVmImageArgs>? = null

Use a Compute Engine VM image to start the notebook instance. Structure is documented below.

Functions

Link copied to clipboard
open override fun toJava(): InstanceArgs