import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; import * as enums from "../../types/enums"; /** * Creates a new Instance in a given project and location. * Auto-naming is currently not supported for this resource. */ 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](https://cloud.google.com/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; /** * Optional. Flag to enable ip forwarding or not, default false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward */ readonly canIpForward: pulumi.Output; /** * Use a container image to start the notebook instance. */ readonly containerImage: pulumi.Output; /** * Instance creation time. */ readonly createTime: pulumi.Output; /** * Email address of entity that sent original CreateInstance request. */ readonly creator: 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; /** * Required. User-defined unique ID of this instance. */ readonly instanceId: pulumi.Output; /** * Checks how feasible a migration from UmN to WbI is. */ readonly instanceMigrationEligibility: 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; }>; readonly location: pulumi.Output; /** * The [Compute Engine machine type](https://cloud.google.com/compute/docs/machine-types) of this instance. */ readonly machineType: pulumi.Output; /** * Custom metadata to apply to this instance. For example, to specify a Cloud Storage bucket for automatic backup, you can use the `gcs-data-bucket` metadata tag. Format: `"--metadata=gcs-data-bucket=``BUCKET''"`. */ readonly metadata: pulumi.Output<{ [key: string]: string; }>; /** * Bool indicating whether this notebook has been migrated to a Workbench Instance */ readonly migrated: pulumi.Output; /** * 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; /** * Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. */ readonly nicType: pulumi.Output; /** * If true, the notebook instance will not register with the proxy. */ readonly noProxyAccess: pulumi.Output; /** * If true, no external 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; readonly project: pulumi.Output; /** * The proxy endpoint that is used to access the Jupyter notebook. */ readonly proxyUri: pulumi.Output; /** * Optional. The optional reservation affinity. Setting this field will apply the specified [Zonal Compute Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) to this notebook instance. */ readonly reservationAffinity: 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](https://cloud.google.com/compute/docs/gpus/#gpus-list). */ 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. */ bootDiskSizeGb?: pulumi.Input; /** * Input only. The type of the boot disk attached to this instance, defaults to standard persistent disk (`PD_STANDARD`). */ bootDiskType?: pulumi.Input; /** * Optional. Flag to enable ip forwarding or not, default false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward */ canIpForward?: pulumi.Input; /** * Use a container image to start the notebook instance. */ 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. */ 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. */ dataDiskSizeGb?: pulumi.Input; /** * Input only. The type of the data disk attached to this instance, defaults to standard persistent disk (`PD_STANDARD`). */ dataDiskType?: pulumi.Input; /** * Input only. Disk encryption method used on the boot and data disks, defaults to GMEK. */ 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. */ installGpuDriver?: pulumi.Input; /** * Required. User-defined unique ID of this instance. */ instanceId: 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. */ instanceOwners?: 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). */ kmsKey?: pulumi.Input; /** * Labels to apply to this instance. These can be later modified by the setLabels method. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; location?: pulumi.Input; /** * The [Compute Engine machine type](https://cloud.google.com/compute/docs/machine-types) of this instance. */ machineType: pulumi.Input; /** * Custom metadata to apply to this instance. For example, to specify a Cloud Storage bucket for automatic backup, you can use the `gcs-data-bucket` metadata tag. Format: `"--metadata=gcs-data-bucket=``BUCKET''"`. */ 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}` */ network?: pulumi.Input; /** * Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. */ nicType?: pulumi.Input; /** * If true, the notebook instance will not register with the proxy. */ noProxyAccess?: pulumi.Input; /** * If true, no external IP will be assigned to this instance. */ noPublicIp?: pulumi.Input; /** * Input only. If true, the data disk will not be auto deleted when deleting the instance. */ 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`). */ postStartupScript?: pulumi.Input; project?: pulumi.Input; /** * Optional. The optional reservation affinity. Setting this field will apply the specified [Zonal Compute Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) to this notebook instance. */ reservationAffinity?: 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. */ 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 */ serviceAccountScopes?: pulumi.Input[]>; /** * Optional. Shielded VM configuration. [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). */ shieldedInstanceConfig?: pulumi.Input; /** * The name of the subnet that this instance is in. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}` */ 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)). */ tags?: pulumi.Input[]>; /** * The upgrade history of this instance. */ upgradeHistory?: pulumi.Input[]>; /** * Use a Compute Engine VM image to start the notebook instance. */ vmImage?: pulumi.Input; }