@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
941 lines • 50.6 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface WorkbenchInstanceConfig extends cdktf.TerraformMetaArguments {
/**
* Desired state of the Workbench Instance. Set this field to 'ACTIVE' to start the Instance, and 'STOPPED' to stop the Instance.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#desired_state WorkbenchInstance#desired_state}
*/
readonly desiredState?: string;
/**
* Optional. If true, the workbench instance will not register with the proxy.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#disable_proxy_access WorkbenchInstance#disable_proxy_access}
*/
readonly disableProxyAccess?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#id WorkbenchInstance#id}
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
readonly id?: string;
/**
* Required. User-defined unique ID of this instance.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#instance_id WorkbenchInstance#instance_id}
*/
readonly instanceId?: string;
/**
* 'Optional. Input only. The owner of this instance after creation. Format:
* 'alias@example.com' Currently supports one owner only. If not specified, all of
* the service account users of your VM instance''s service account can use the instance.
* If specified, sets the access mode to 'Single user'. For more details, see
* https://cloud.google.com/vertex-ai/docs/workbench/instances/manage-access-jupyterlab'
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#instance_owners WorkbenchInstance#instance_owners}
*/
readonly instanceOwners?: string[];
/**
* Optional. Labels to apply to this instance. These can be later modified
* by the UpdateInstance method.
*
*
* **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
* Please refer to the field 'effective_labels' for all of the labels present on the resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#labels WorkbenchInstance#labels}
*/
readonly labels?: {
[key: string]: string;
};
/**
* Part of 'parent'. See documentation of 'projectsId'.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#location WorkbenchInstance#location}
*/
readonly location: string;
/**
* The name of this workbench instance. Format: 'projects/{project_id}/locations/{location}/instances/{instance_id}'
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#name WorkbenchInstance#name}
*/
readonly name: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#project WorkbenchInstance#project}
*/
readonly project?: string;
/**
* gce_setup block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#gce_setup WorkbenchInstance#gce_setup}
*/
readonly gceSetup?: WorkbenchInstanceGceSetup;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#timeouts WorkbenchInstance#timeouts}
*/
readonly timeouts?: WorkbenchInstanceTimeouts;
}
export interface WorkbenchInstanceHealthInfo {
}
export declare function workbenchInstanceHealthInfoToTerraform(struct?: WorkbenchInstanceHealthInfo): any;
export declare function workbenchInstanceHealthInfoToHclTerraform(struct?: WorkbenchInstanceHealthInfo): any;
export declare class WorkbenchInstanceHealthInfoOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): WorkbenchInstanceHealthInfo | undefined;
set internalValue(value: WorkbenchInstanceHealthInfo | undefined);
}
export declare class WorkbenchInstanceHealthInfoList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): WorkbenchInstanceHealthInfoOutputReference;
}
export interface WorkbenchInstanceUpgradeHistory {
}
export declare function workbenchInstanceUpgradeHistoryToTerraform(struct?: WorkbenchInstanceUpgradeHistory): any;
export declare function workbenchInstanceUpgradeHistoryToHclTerraform(struct?: WorkbenchInstanceUpgradeHistory): any;
export declare class WorkbenchInstanceUpgradeHistoryOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): WorkbenchInstanceUpgradeHistory | undefined;
set internalValue(value: WorkbenchInstanceUpgradeHistory | undefined);
get action(): string;
get containerImage(): string;
get createTime(): string;
get framework(): string;
get snapshot(): string;
get state(): string;
get targetVersion(): string;
get version(): string;
get vmImage(): string;
}
export declare class WorkbenchInstanceUpgradeHistoryList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): WorkbenchInstanceUpgradeHistoryOutputReference;
}
export interface WorkbenchInstanceGceSetupAcceleratorConfigs {
/**
* Optional. Count of cores of this accelerator.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#core_count WorkbenchInstance#core_count}
*/
readonly coreCount?: string;
/**
* Optional. Type of this accelerator. Possible values: ["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"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#type WorkbenchInstance#type}
*/
readonly type?: string;
}
export declare function workbenchInstanceGceSetupAcceleratorConfigsToTerraform(struct?: WorkbenchInstanceGceSetupAcceleratorConfigs | cdktf.IResolvable): any;
export declare function workbenchInstanceGceSetupAcceleratorConfigsToHclTerraform(struct?: WorkbenchInstanceGceSetupAcceleratorConfigs | cdktf.IResolvable): any;
export declare class WorkbenchInstanceGceSetupAcceleratorConfigsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): WorkbenchInstanceGceSetupAcceleratorConfigs | cdktf.IResolvable | undefined;
set internalValue(value: WorkbenchInstanceGceSetupAcceleratorConfigs | cdktf.IResolvable | undefined);
private _coreCount?;
get coreCount(): string;
set coreCount(value: string);
resetCoreCount(): void;
get coreCountInput(): string | undefined;
private _type?;
get type(): string;
set type(value: string);
resetType(): void;
get typeInput(): string | undefined;
}
export declare class WorkbenchInstanceGceSetupAcceleratorConfigsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: WorkbenchInstanceGceSetupAcceleratorConfigs[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): WorkbenchInstanceGceSetupAcceleratorConfigsOutputReference;
}
export interface WorkbenchInstanceGceSetupBootDisk {
/**
* Optional. Input only. Disk encryption method used on the boot and
* data disks, defaults to GMEK. Possible values: ["GMEK", "CMEK"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#disk_encryption WorkbenchInstance#disk_encryption}
*/
readonly diskEncryption?: string;
/**
* Optional. The size of the boot disk in GB attached to this instance,
* up to a maximum of 64000 GB (64 TB). If not specified, this defaults to the
* recommended value of 150GB.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#disk_size_gb WorkbenchInstance#disk_size_gb}
*/
readonly diskSizeGb?: string;
/**
* Optional. Indicates the type of the disk. Possible values: ["PD_STANDARD", "PD_SSD", "PD_BALANCED", "PD_EXTREME"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#disk_type WorkbenchInstance#disk_type}
*/
readonly diskType?: 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.'
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#kms_key WorkbenchInstance#kms_key}
*/
readonly kmsKey?: string;
}
export declare function workbenchInstanceGceSetupBootDiskToTerraform(struct?: WorkbenchInstanceGceSetupBootDiskOutputReference | WorkbenchInstanceGceSetupBootDisk): any;
export declare function workbenchInstanceGceSetupBootDiskToHclTerraform(struct?: WorkbenchInstanceGceSetupBootDiskOutputReference | WorkbenchInstanceGceSetupBootDisk): any;
export declare class WorkbenchInstanceGceSetupBootDiskOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): WorkbenchInstanceGceSetupBootDisk | undefined;
set internalValue(value: WorkbenchInstanceGceSetupBootDisk | undefined);
private _diskEncryption?;
get diskEncryption(): string;
set diskEncryption(value: string);
resetDiskEncryption(): void;
get diskEncryptionInput(): string | undefined;
private _diskSizeGb?;
get diskSizeGb(): string;
set diskSizeGb(value: string);
resetDiskSizeGb(): void;
get diskSizeGbInput(): string | undefined;
private _diskType?;
get diskType(): string;
set diskType(value: string);
resetDiskType(): void;
get diskTypeInput(): string | undefined;
private _kmsKey?;
get kmsKey(): string;
set kmsKey(value: string);
resetKmsKey(): void;
get kmsKeyInput(): string | undefined;
}
export interface WorkbenchInstanceGceSetupContainerImage {
/**
* The path to the container image repository.
* For example: gcr.io/{project_id}/{imageName}
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#repository WorkbenchInstance#repository}
*/
readonly repository: string;
/**
* The tag of the container image. If not specified, this defaults to the latest tag.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#tag WorkbenchInstance#tag}
*/
readonly tag?: string;
}
export declare function workbenchInstanceGceSetupContainerImageToTerraform(struct?: WorkbenchInstanceGceSetupContainerImageOutputReference | WorkbenchInstanceGceSetupContainerImage): any;
export declare function workbenchInstanceGceSetupContainerImageToHclTerraform(struct?: WorkbenchInstanceGceSetupContainerImageOutputReference | WorkbenchInstanceGceSetupContainerImage): any;
export declare class WorkbenchInstanceGceSetupContainerImageOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): WorkbenchInstanceGceSetupContainerImage | undefined;
set internalValue(value: WorkbenchInstanceGceSetupContainerImage | undefined);
private _repository?;
get repository(): string;
set repository(value: string);
get repositoryInput(): string | undefined;
private _tag?;
get tag(): string;
set tag(value: string);
resetTag(): void;
get tagInput(): string | undefined;
}
export interface WorkbenchInstanceGceSetupDataDisks {
/**
* Optional. Input only. Disk encryption method used on the boot
* and data disks, defaults to GMEK. Possible values: ["GMEK", "CMEK"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#disk_encryption WorkbenchInstance#disk_encryption}
*/
readonly diskEncryption?: string;
/**
* Optional. The size of the disk in GB attached to this VM instance,
* up to a maximum of 64000 GB (64 TB). If not specified, this defaults to
* 100.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#disk_size_gb WorkbenchInstance#disk_size_gb}
*/
readonly diskSizeGb?: string;
/**
* Optional. Input only. Indicates the type of the disk. Possible values: ["PD_STANDARD", "PD_SSD", "PD_BALANCED", "PD_EXTREME"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#disk_type WorkbenchInstance#disk_type}
*/
readonly diskType?: 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.'
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#kms_key WorkbenchInstance#kms_key}
*/
readonly kmsKey?: string;
}
export declare function workbenchInstanceGceSetupDataDisksToTerraform(struct?: WorkbenchInstanceGceSetupDataDisksOutputReference | WorkbenchInstanceGceSetupDataDisks): any;
export declare function workbenchInstanceGceSetupDataDisksToHclTerraform(struct?: WorkbenchInstanceGceSetupDataDisksOutputReference | WorkbenchInstanceGceSetupDataDisks): any;
export declare class WorkbenchInstanceGceSetupDataDisksOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): WorkbenchInstanceGceSetupDataDisks | undefined;
set internalValue(value: WorkbenchInstanceGceSetupDataDisks | undefined);
private _diskEncryption?;
get diskEncryption(): string;
set diskEncryption(value: string);
resetDiskEncryption(): void;
get diskEncryptionInput(): string | undefined;
private _diskSizeGb?;
get diskSizeGb(): string;
set diskSizeGb(value: string);
resetDiskSizeGb(): void;
get diskSizeGbInput(): string | undefined;
private _diskType?;
get diskType(): string;
set diskType(value: string);
resetDiskType(): void;
get diskTypeInput(): string | undefined;
private _kmsKey?;
get kmsKey(): string;
set kmsKey(value: string);
resetKmsKey(): void;
get kmsKeyInput(): string | undefined;
}
export interface WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigs {
/**
* 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.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#external_ip WorkbenchInstance#external_ip}
*/
readonly externalIp: string;
}
export declare function workbenchInstanceGceSetupNetworkInterfacesAccessConfigsToTerraform(struct?: WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigs | cdktf.IResolvable): any;
export declare function workbenchInstanceGceSetupNetworkInterfacesAccessConfigsToHclTerraform(struct?: WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigs | cdktf.IResolvable): any;
export declare class WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigs | cdktf.IResolvable | undefined;
set internalValue(value: WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigs | cdktf.IResolvable | undefined);
private _externalIp?;
get externalIp(): string;
set externalIp(value: string);
get externalIpInput(): string | undefined;
}
export declare class WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigs[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsOutputReference;
}
export interface WorkbenchInstanceGceSetupNetworkInterfaces {
/**
* Optional. The name of the VPC that this VM instance is in.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#network WorkbenchInstance#network}
*/
readonly network?: string;
/**
* Optional. The type of vNIC to be used on this interface. This
* may be gVNIC or VirtioNet. Possible values: ["VIRTIO_NET", "GVNIC"]
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#nic_type WorkbenchInstance#nic_type}
*/
readonly nicType?: string;
/**
* Optional. The name of the subnet that this VM instance is in.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#subnet WorkbenchInstance#subnet}
*/
readonly subnet?: string;
/**
* access_configs block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#access_configs WorkbenchInstance#access_configs}
*/
readonly accessConfigs?: WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigs[] | cdktf.IResolvable;
}
export declare function workbenchInstanceGceSetupNetworkInterfacesToTerraform(struct?: WorkbenchInstanceGceSetupNetworkInterfaces | cdktf.IResolvable): any;
export declare function workbenchInstanceGceSetupNetworkInterfacesToHclTerraform(struct?: WorkbenchInstanceGceSetupNetworkInterfaces | cdktf.IResolvable): any;
export declare class WorkbenchInstanceGceSetupNetworkInterfacesOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): WorkbenchInstanceGceSetupNetworkInterfaces | cdktf.IResolvable | undefined;
set internalValue(value: WorkbenchInstanceGceSetupNetworkInterfaces | cdktf.IResolvable | undefined);
private _network?;
get network(): string;
set network(value: string);
resetNetwork(): void;
get networkInput(): string | undefined;
private _nicType?;
get nicType(): string;
set nicType(value: string);
resetNicType(): void;
get nicTypeInput(): string | undefined;
private _subnet?;
get subnet(): string;
set subnet(value: string);
resetSubnet(): void;
get subnetInput(): string | undefined;
private _accessConfigs;
get accessConfigs(): WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsList;
putAccessConfigs(value: WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigs[] | cdktf.IResolvable): void;
resetAccessConfigs(): void;
get accessConfigsInput(): cdktf.IResolvable | WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigs[] | undefined;
}
export declare class WorkbenchInstanceGceSetupNetworkInterfacesList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: WorkbenchInstanceGceSetupNetworkInterfaces[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): WorkbenchInstanceGceSetupNetworkInterfacesOutputReference;
}
export interface WorkbenchInstanceGceSetupServiceAccounts {
/**
* Optional. Email address of the service account.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#email WorkbenchInstance#email}
*/
readonly email?: string;
}
export declare function workbenchInstanceGceSetupServiceAccountsToTerraform(struct?: WorkbenchInstanceGceSetupServiceAccounts | cdktf.IResolvable): any;
export declare function workbenchInstanceGceSetupServiceAccountsToHclTerraform(struct?: WorkbenchInstanceGceSetupServiceAccounts | cdktf.IResolvable): any;
export declare class WorkbenchInstanceGceSetupServiceAccountsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): WorkbenchInstanceGceSetupServiceAccounts | cdktf.IResolvable | undefined;
set internalValue(value: WorkbenchInstanceGceSetupServiceAccounts | cdktf.IResolvable | undefined);
private _email?;
get email(): string;
set email(value: string);
resetEmail(): void;
get emailInput(): string | undefined;
get scopes(): string[];
}
export declare class WorkbenchInstanceGceSetupServiceAccountsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: WorkbenchInstanceGceSetupServiceAccounts[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): WorkbenchInstanceGceSetupServiceAccountsOutputReference;
}
export interface WorkbenchInstanceGceSetupShieldedInstanceConfig {
/**
* 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.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#enable_integrity_monitoring WorkbenchInstance#enable_integrity_monitoring}
*/
readonly enableIntegrityMonitoring?: boolean | cdktf.IResolvable;
/**
* 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.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#enable_secure_boot WorkbenchInstance#enable_secure_boot}
*/
readonly enableSecureBoot?: boolean | cdktf.IResolvable;
/**
* Optional. Defines whether the VM instance has the vTPM enabled.
* Enabled by default.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#enable_vtpm WorkbenchInstance#enable_vtpm}
*/
readonly enableVtpm?: boolean | cdktf.IResolvable;
}
export declare function workbenchInstanceGceSetupShieldedInstanceConfigToTerraform(struct?: WorkbenchInstanceGceSetupShieldedInstanceConfigOutputReference | WorkbenchInstanceGceSetupShieldedInstanceConfig): any;
export declare function workbenchInstanceGceSetupShieldedInstanceConfigToHclTerraform(struct?: WorkbenchInstanceGceSetupShieldedInstanceConfigOutputReference | WorkbenchInstanceGceSetupShieldedInstanceConfig): any;
export declare class WorkbenchInstanceGceSetupShieldedInstanceConfigOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): WorkbenchInstanceGceSetupShieldedInstanceConfig | undefined;
set internalValue(value: WorkbenchInstanceGceSetupShieldedInstanceConfig | undefined);
private _enableIntegrityMonitoring?;
get enableIntegrityMonitoring(): boolean | cdktf.IResolvable;
set enableIntegrityMonitoring(value: boolean | cdktf.IResolvable);
resetEnableIntegrityMonitoring(): void;
get enableIntegrityMonitoringInput(): boolean | cdktf.IResolvable | undefined;
private _enableSecureBoot?;
get enableSecureBoot(): boolean | cdktf.IResolvable;
set enableSecureBoot(value: boolean | cdktf.IResolvable);
resetEnableSecureBoot(): void;
get enableSecureBootInput(): boolean | cdktf.IResolvable | undefined;
private _enableVtpm?;
get enableVtpm(): boolean | cdktf.IResolvable;
set enableVtpm(value: boolean | cdktf.IResolvable);
resetEnableVtpm(): void;
get enableVtpmInput(): boolean | cdktf.IResolvable | undefined;
}
export interface WorkbenchInstanceGceSetupVmImage {
/**
* Optional. Use this VM image family to find the image; the newest
* image in this family will be used.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#family WorkbenchInstance#family}
*/
readonly family?: string;
/**
* Optional. Use VM image name to find the image.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#name WorkbenchInstance#name}
*/
readonly name?: string;
/**
* The name of the Google Cloud project that this VM image belongs to.
* Format: {project_id}
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#project WorkbenchInstance#project}
*/
readonly project?: string;
}
export declare function workbenchInstanceGceSetupVmImageToTerraform(struct?: WorkbenchInstanceGceSetupVmImageOutputReference | WorkbenchInstanceGceSetupVmImage): any;
export declare function workbenchInstanceGceSetupVmImageToHclTerraform(struct?: WorkbenchInstanceGceSetupVmImageOutputReference | WorkbenchInstanceGceSetupVmImage): any;
export declare class WorkbenchInstanceGceSetupVmImageOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): WorkbenchInstanceGceSetupVmImage | undefined;
set internalValue(value: WorkbenchInstanceGceSetupVmImage | undefined);
private _family?;
get family(): string;
set family(value: string);
resetFamily(): void;
get familyInput(): string | undefined;
private _name?;
get name(): string;
set name(value: string);
resetName(): void;
get nameInput(): string | undefined;
private _project?;
get project(): string;
set project(value: string);
resetProject(): void;
get projectInput(): string | undefined;
}
export interface WorkbenchInstanceGceSetup {
/**
* Optional. If true, no external IP will be assigned to this VM instance.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#disable_public_ip WorkbenchInstance#disable_public_ip}
*/
readonly disablePublicIp?: boolean | cdktf.IResolvable;
/**
* Optional. Flag to enable ip forwarding or not, default false/off.
* https://cloud.google.com/vpc/docs/using-routes#canipforward
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#enable_ip_forwarding WorkbenchInstance#enable_ip_forwarding}
*/
readonly enableIpForwarding?: boolean | cdktf.IResolvable;
/**
* Optional. The machine type of the VM instance. https://cloud.google.com/compute/docs/machine-resource
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#machine_type WorkbenchInstance#machine_type}
*/
readonly machineType?: string;
/**
* Optional. Custom metadata to apply to this instance.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#metadata WorkbenchInstance#metadata}
*/
readonly metadata?: {
[key: string]: string;
};
/**
* Optional. The Compute Engine tags to add to instance (see [Tagging
* instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#tags WorkbenchInstance#tags}
*/
readonly tags?: string[];
/**
* accelerator_configs block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#accelerator_configs WorkbenchInstance#accelerator_configs}
*/
readonly acceleratorConfigs?: WorkbenchInstanceGceSetupAcceleratorConfigs[] | cdktf.IResolvable;
/**
* boot_disk block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#boot_disk WorkbenchInstance#boot_disk}
*/
readonly bootDisk?: WorkbenchInstanceGceSetupBootDisk;
/**
* container_image block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#container_image WorkbenchInstance#container_image}
*/
readonly containerImage?: WorkbenchInstanceGceSetupContainerImage;
/**
* data_disks block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#data_disks WorkbenchInstance#data_disks}
*/
readonly dataDisks?: WorkbenchInstanceGceSetupDataDisks;
/**
* network_interfaces block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#network_interfaces WorkbenchInstance#network_interfaces}
*/
readonly networkInterfaces?: WorkbenchInstanceGceSetupNetworkInterfaces[] | cdktf.IResolvable;
/**
* service_accounts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#service_accounts WorkbenchInstance#service_accounts}
*/
readonly serviceAccounts?: WorkbenchInstanceGceSetupServiceAccounts[] | cdktf.IResolvable;
/**
* shielded_instance_config block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#shielded_instance_config WorkbenchInstance#shielded_instance_config}
*/
readonly shieldedInstanceConfig?: WorkbenchInstanceGceSetupShieldedInstanceConfig;
/**
* vm_image block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#vm_image WorkbenchInstance#vm_image}
*/
readonly vmImage?: WorkbenchInstanceGceSetupVmImage;
}
export declare function workbenchInstanceGceSetupToTerraform(struct?: WorkbenchInstanceGceSetupOutputReference | WorkbenchInstanceGceSetup): any;
export declare function workbenchInstanceGceSetupToHclTerraform(struct?: WorkbenchInstanceGceSetupOutputReference | WorkbenchInstanceGceSetup): any;
export declare class WorkbenchInstanceGceSetupOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): WorkbenchInstanceGceSetup | undefined;
set internalValue(value: WorkbenchInstanceGceSetup | undefined);
private _disablePublicIp?;
get disablePublicIp(): boolean | cdktf.IResolvable;
set disablePublicIp(value: boolean | cdktf.IResolvable);
resetDisablePublicIp(): void;
get disablePublicIpInput(): boolean | cdktf.IResolvable | undefined;
private _enableIpForwarding?;
get enableIpForwarding(): boolean | cdktf.IResolvable;
set enableIpForwarding(value: boolean | cdktf.IResolvable);
resetEnableIpForwarding(): void;
get enableIpForwardingInput(): boolean | cdktf.IResolvable | undefined;
private _machineType?;
get machineType(): string;
set machineType(value: string);
resetMachineType(): void;
get machineTypeInput(): string | undefined;
private _metadata?;
get metadata(): {
[key: string]: string;
};
set metadata(value: {
[key: string]: string;
});
resetMetadata(): void;
get metadataInput(): {
[key: string]: string;
} | undefined;
private _tags?;
get tags(): string[];
set tags(value: string[]);
resetTags(): void;
get tagsInput(): string[] | undefined;
private _acceleratorConfigs;
get acceleratorConfigs(): WorkbenchInstanceGceSetupAcceleratorConfigsList;
putAcceleratorConfigs(value: WorkbenchInstanceGceSetupAcceleratorConfigs[] | cdktf.IResolvable): void;
resetAcceleratorConfigs(): void;
get acceleratorConfigsInput(): cdktf.IResolvable | WorkbenchInstanceGceSetupAcceleratorConfigs[] | undefined;
private _bootDisk;
get bootDisk(): WorkbenchInstanceGceSetupBootDiskOutputReference;
putBootDisk(value: WorkbenchInstanceGceSetupBootDisk): void;
resetBootDisk(): void;
get bootDiskInput(): WorkbenchInstanceGceSetupBootDisk | undefined;
private _containerImage;
get containerImage(): WorkbenchInstanceGceSetupContainerImageOutputReference;
putContainerImage(value: WorkbenchInstanceGceSetupContainerImage): void;
resetContainerImage(): void;
get containerImageInput(): WorkbenchInstanceGceSetupContainerImage | undefined;
private _dataDisks;
get dataDisks(): WorkbenchInstanceGceSetupDataDisksOutputReference;
putDataDisks(value: WorkbenchInstanceGceSetupDataDisks): void;
resetDataDisks(): void;
get dataDisksInput(): WorkbenchInstanceGceSetupDataDisks | undefined;
private _networkInterfaces;
get networkInterfaces(): WorkbenchInstanceGceSetupNetworkInterfacesList;
putNetworkInterfaces(value: WorkbenchInstanceGceSetupNetworkInterfaces[] | cdktf.IResolvable): void;
resetNetworkInterfaces(): void;
get networkInterfacesInput(): cdktf.IResolvable | WorkbenchInstanceGceSetupNetworkInterfaces[] | undefined;
private _serviceAccounts;
get serviceAccounts(): WorkbenchInstanceGceSetupServiceAccountsList;
putServiceAccounts(value: WorkbenchInstanceGceSetupServiceAccounts[] | cdktf.IResolvable): void;
resetServiceAccounts(): void;
get serviceAccountsInput(): cdktf.IResolvable | WorkbenchInstanceGceSetupServiceAccounts[] | undefined;
private _shieldedInstanceConfig;
get shieldedInstanceConfig(): WorkbenchInstanceGceSetupShieldedInstanceConfigOutputReference;
putShieldedInstanceConfig(value: WorkbenchInstanceGceSetupShieldedInstanceConfig): void;
resetShieldedInstanceConfig(): void;
get shieldedInstanceConfigInput(): WorkbenchInstanceGceSetupShieldedInstanceConfig | undefined;
private _vmImage;
get vmImage(): WorkbenchInstanceGceSetupVmImageOutputReference;
putVmImage(value: WorkbenchInstanceGceSetupVmImage): void;
resetVmImage(): void;
get vmImageInput(): WorkbenchInstanceGceSetupVmImage | undefined;
}
export interface WorkbenchInstanceTimeouts {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#create WorkbenchInstance#create}
*/
readonly create?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#delete WorkbenchInstance#delete}
*/
readonly delete?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#update WorkbenchInstance#update}
*/
readonly update?: string;
}
export declare function workbenchInstanceTimeoutsToTerraform(struct?: WorkbenchInstanceTimeouts | cdktf.IResolvable): any;
export declare function workbenchInstanceTimeoutsToHclTerraform(struct?: WorkbenchInstanceTimeouts | cdktf.IResolvable): any;
export declare class WorkbenchInstanceTimeoutsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): WorkbenchInstanceTimeouts | cdktf.IResolvable | undefined;
set internalValue(value: WorkbenchInstanceTimeouts | cdktf.IResolvable | undefined);
private _create?;
get create(): string;
set create(value: string);
resetCreate(): void;
get createInput(): string | undefined;
private _delete?;
get delete(): string;
set delete(value: string);
resetDelete(): void;
get deleteInput(): string | undefined;
private _update?;
get update(): string;
set update(value: string);
resetUpdate(): void;
get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance google_workbench_instance}
*/
export declare class WorkbenchInstance extends cdktf.TerraformResource {
static readonly tfResourceType = "google_workbench_instance";
/**
* Generates CDKTF code for importing a WorkbenchInstance resource upon running "cdktf plan <stack-name>"
* @param scope The scope in which to define this construct
* @param importToId The construct id used in the generated config for the WorkbenchInstance to import
* @param importFromId The id of the existing WorkbenchInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the WorkbenchInstance to import is found
*/
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/workbench_instance google_workbench_instance} Resource
*
* @param scope The scope in which to define this construct
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
* @param options WorkbenchInstanceConfig
*/
constructor(scope: Construct, id: string, config: WorkbenchInstanceConfig);
get createTime(): string;
get creator(): string;
private _desiredState?;
get desiredState(): string;
set desiredState(value: string);
resetDesiredState(): void;
get desiredStateInput(): string | undefined;
private _disableProxyAccess?;
get disableProxyAccess(): boolean | cdktf.IResolvable;
set disableProxyAccess(value: boolean | cdktf.IResolvable);
resetDisableProxyAccess(): void;
get disableProxyAccessInput(): boolean | cdktf.IResolvable | undefined;
private _effectiveLabels;
get effectiveLabels(): cdktf.StringMap;
private _healthInfo;
get healthInfo(): WorkbenchInstanceHealthInfoList;
get healthState(): string;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _instanceId?;
get instanceId(): string;
set instanceId(value: string);
resetInstanceId(): void;
get instanceIdInput(): string | undefined;
private _instanceOwners?;
get instanceOwners(): string[];
set instanceOwners(value: string[]);
resetInstanceOwners(): void;
get instanceOwnersInput(): string[] | undefined;
private _labels?;
get labels(): {
[key: string]: string;
};
set labels(value: {
[key: string]: string;
});
resetLabels(): void;
get labelsInput(): {
[key: string]: string;
} | undefined;
private _location?;
get location(): string;
set location(value: string);
get locationInput(): string | undefined;
private _name?;
get name(): string;
set name(value: string);
get nameInput(): string | undefined;
private _project?;
get project(): string;
set project(value: string);
resetProject(): void;
get projectInput(): string | undefined;
get proxyUri(): string;
get state(): string;
private _terraformLabels;
get terraformLabels(): cdktf.StringMap;
get updateTime(): string;
private _upgradeHistory;
get upgradeHistory(): WorkbenchInstanceUpgradeHistoryList;
private _gceSetup;
get gceSetup(): WorkbenchInstanceGceSetupOutputReference