import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "../../types"; /** * Creates a new Instance in a given project and location. */ export declare class Instance extends pulumi.CustomResource { /** * Get an existing Instance resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Instance; /** * Returns true if the given object is an instance of Instance. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Instance; /** * The hardware accelerator used on this instance. If you use accelerators, make sure that your configuration has [enough vCPUs and memory to support the `machine_type` you have selected](/compute/docs/gpus/#gpus-list). */ readonly acceleratorConfig: pulumi.Output; /** * Input only. 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. */ readonly bootDiskSizeGb: pulumi.Output; /** * Input only. The type of the boot disk attached to this instance, defaults to standard persistent disk (`PD_STANDARD`). */ readonly bootDiskType: pulumi.Output; /** * Use a container image to start the notebook instance. */ readonly containerImage: pulumi.Output; /** * Instance creation time. */ readonly createTime: pulumi.Output; /** * Specify a custom Cloud Storage path where the GPU driver is stored. If not specified, we'll automatically choose from official GPU drivers. */ readonly customGpuDriverPath: pulumi.Output; /** * Input only. 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. */ readonly dataDiskSizeGb: pulumi.Output; /** * Input only. The type of the data disk attached to this instance, defaults to standard persistent disk (`PD_STANDARD`). */ readonly dataDiskType: pulumi.Output; /** * Input only. Disk encryption method used on the boot and data disks, defaults to GMEK. */ readonly diskEncryption: pulumi.Output; /** * Attached disks to notebook instance. */ readonly disks: pulumi.Output; /** * 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. */ readonly installGpuDriver: pulumi.Output; /** * Input only. The owner of this instance after creation. Format: `alias@example.com` Currently supports one owner only. If not specified, all of the service account users of your VM instance's service account can use the instance. */ readonly instanceOwners: pulumi.Output; /** * Input only. 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](/kms/docs/quickstart). */ readonly kmsKey: pulumi.Output; /** * Labels to apply to this instance. These can be later modified by the setLabels method. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; /** * Required. The [Compute Engine machine type](/compute/docs/machine-types) of this instance. */ readonly machineType: pulumi.Output; /** * Custom metadata to apply to this instance. */ readonly metadata: pulumi.Output<{ [key: string]: string; }>; /** * The name of this notebook instance. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}` */ readonly name: pulumi.Output; /** * The name of the VPC that this instance is in. Format: `projects/{project_id}/global/networks/{network_id}` */ readonly network: pulumi.Output; /** * If true, the notebook instance will not register with the proxy. */ readonly noProxyAccess: pulumi.Output; /** * If true, no public IP will be assigned to this instance. */ readonly noPublicIp: pulumi.Output; /** * Input only. If true, the data disk will not be auto deleted when deleting the instance. */ readonly noRemoveDataDisk: pulumi.Output; /** * 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). */ readonly postStartupScript: pulumi.Output; /** * The proxy endpoint that is used to access the Jupyter notebook. */ readonly proxyUri: pulumi.Output; /** * 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](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. */ readonly serviceAccount: pulumi.Output; /** * Optional. The URIs of service account scopes to be included in Compute Engine instances. If not specified, the following [scopes](https://cloud.google.com/compute/docs/access/service-accounts#accesscopesiam) are defined: - https://www.googleapis.com/auth/cloud-platform - https://www.googleapis.com/auth/userinfo.email If not using default scopes, you need at least: https://www.googleapis.com/auth/compute */ readonly serviceAccountScopes: pulumi.Output; /** * Optional. Shielded VM configuration. [Images using supported Shielded VM features] (https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). */ readonly shieldedInstanceConfig: pulumi.Output; /** * The state of this instance. */ readonly state: pulumi.Output; /** * The name of the subnet that this instance is in. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}` */ readonly subnet: pulumi.Output; /** * Optional. The Compute Engine tags to add to runtime (see [Tagging instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)). */ readonly tags: pulumi.Output; /** * Instance update time. */ readonly updateTime: pulumi.Output; /** * The upgrade history of this instance. */ readonly upgradeHistory: pulumi.Output; /** * Use a Compute Engine VM image to start the notebook instance. */ readonly vmImage: pulumi.Output; /** * Create a Instance resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: InstanceArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Instance resource. */ export interface InstanceArgs { /** * The hardware accelerator used on this instance. If you use accelerators, make sure that your configuration has [enough vCPUs and memory to support the `machine_type` you have selected](/compute/docs/gpus/#gpus-list). */ readonly acceleratorConfig?: pulumi.Input; /** * Input only. 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. */ readonly bootDiskSizeGb?: pulumi.Input; /** * Input only. The type of the boot disk attached to this instance, defaults to standard persistent disk (`PD_STANDARD`). */ readonly bootDiskType?: pulumi.Input; /** * Use a container image to start the notebook instance. */ readonly containerImage?: pulumi.Input; /** * Specify a custom Cloud Storage path where the GPU driver is stored. If not specified, we'll automatically choose from official GPU drivers. */ readonly customGpuDriverPath?: pulumi.Input; /** * Input only. 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. */ readonly dataDiskSizeGb?: pulumi.Input; /** * Input only. The type of the data disk attached to this instance, defaults to standard persistent disk (`PD_STANDARD`). */ readonly dataDiskType?: pulumi.Input; /** * Input only. Disk encryption method used on the boot and data disks, defaults to GMEK. */ readonly diskEncryption?: pulumi.Input; /** * 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. */ readonly installGpuDriver?: pulumi.Input; /** * Input only. The owner of this instance after creation. Format: `alias@example.com` Currently supports one owner only. If not specified, all of the service account users of your VM instance's service account can use the instance. */ readonly instanceOwners?: pulumi.Input[]>; readonly instancesId: pulumi.Input; /** * Input only. 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](/kms/docs/quickstart). */ readonly kmsKey?: pulumi.Input; /** * Labels to apply to this instance. These can be later modified by the setLabels method. */ readonly labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; readonly locationsId: pulumi.Input; /** * Required. The [Compute Engine machine type](/compute/docs/machine-types) of this instance. */ readonly machineType?: pulumi.Input; /** * Custom metadata to apply to this instance. */ readonly metadata?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The name of the VPC that this instance is in. Format: `projects/{project_id}/global/networks/{network_id}` */ readonly network?: pulumi.Input; /** * If true, the notebook instance will not register with the proxy. */ readonly noProxyAccess?: pulumi.Input; /** * If true, no public IP will be assigned to this instance. */ readonly noPublicIp?: pulumi.Input; /** * Input only. If true, the data disk will not be auto deleted when deleting the instance. */ readonly noRemoveDataDisk?: pulumi.Input; /** * 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). */ readonly postStartupScript?: pulumi.Input; readonly projectsId: pulumi.Input; /** * 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](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. */ readonly serviceAccount?: pulumi.Input; /** * Optional. The URIs of service account scopes to be included in Compute Engine instances. If not specified, the following [scopes](https://cloud.google.com/compute/docs/access/service-accounts#accesscopesiam) are defined: - https://www.googleapis.com/auth/cloud-platform - https://www.googleapis.com/auth/userinfo.email If not using default scopes, you need at least: https://www.googleapis.com/auth/compute */ readonly serviceAccountScopes?: pulumi.Input[]>; /** * Optional. Shielded VM configuration. [Images using supported Shielded VM features] (https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). */ readonly shieldedInstanceConfig?: pulumi.Input; /** * The name of the subnet that this instance is in. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}` */ readonly subnet?: pulumi.Input; /** * Optional. The Compute Engine tags to add to runtime (see [Tagging instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)). */ readonly tags?: pulumi.Input[]>; /** * The upgrade history of this instance. */ readonly upgradeHistory?: pulumi.Input[]>; /** * Use a Compute Engine VM image to start the notebook instance. */ readonly vmImage?: pulumi.Input; }