UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

941 lines 50.6 kB
/** * 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