UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,144 lines 340 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w; Object.defineProperty(exports, "__esModule", { value: true }); exports.WorkbenchInstance = exports.WorkbenchInstanceTimeoutsOutputReference = exports.WorkbenchInstanceGceSetupOutputReference = exports.WorkbenchInstanceGceSetupVmImageOutputReference = exports.WorkbenchInstanceGceSetupShieldedInstanceConfigOutputReference = exports.WorkbenchInstanceGceSetupServiceAccountsList = exports.WorkbenchInstanceGceSetupServiceAccountsOutputReference = exports.WorkbenchInstanceGceSetupNetworkInterfacesList = exports.WorkbenchInstanceGceSetupNetworkInterfacesOutputReference = exports.WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsList = exports.WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsOutputReference = exports.WorkbenchInstanceGceSetupDataDisksOutputReference = exports.WorkbenchInstanceGceSetupContainerImageOutputReference = exports.WorkbenchInstanceGceSetupConfidentialInstanceConfigOutputReference = exports.WorkbenchInstanceGceSetupBootDiskOutputReference = exports.WorkbenchInstanceGceSetupAcceleratorConfigsList = exports.WorkbenchInstanceGceSetupAcceleratorConfigsOutputReference = exports.WorkbenchInstanceUpgradeHistoryList = exports.WorkbenchInstanceUpgradeHistoryOutputReference = exports.WorkbenchInstanceHealthInfoList = exports.WorkbenchInstanceHealthInfoOutputReference = void 0; exports.workbenchInstanceHealthInfoToTerraform = workbenchInstanceHealthInfoToTerraform; exports.workbenchInstanceHealthInfoToHclTerraform = workbenchInstanceHealthInfoToHclTerraform; exports.workbenchInstanceUpgradeHistoryToTerraform = workbenchInstanceUpgradeHistoryToTerraform; exports.workbenchInstanceUpgradeHistoryToHclTerraform = workbenchInstanceUpgradeHistoryToHclTerraform; exports.workbenchInstanceGceSetupAcceleratorConfigsToTerraform = workbenchInstanceGceSetupAcceleratorConfigsToTerraform; exports.workbenchInstanceGceSetupAcceleratorConfigsToHclTerraform = workbenchInstanceGceSetupAcceleratorConfigsToHclTerraform; exports.workbenchInstanceGceSetupBootDiskToTerraform = workbenchInstanceGceSetupBootDiskToTerraform; exports.workbenchInstanceGceSetupBootDiskToHclTerraform = workbenchInstanceGceSetupBootDiskToHclTerraform; exports.workbenchInstanceGceSetupConfidentialInstanceConfigToTerraform = workbenchInstanceGceSetupConfidentialInstanceConfigToTerraform; exports.workbenchInstanceGceSetupConfidentialInstanceConfigToHclTerraform = workbenchInstanceGceSetupConfidentialInstanceConfigToHclTerraform; exports.workbenchInstanceGceSetupContainerImageToTerraform = workbenchInstanceGceSetupContainerImageToTerraform; exports.workbenchInstanceGceSetupContainerImageToHclTerraform = workbenchInstanceGceSetupContainerImageToHclTerraform; exports.workbenchInstanceGceSetupDataDisksToTerraform = workbenchInstanceGceSetupDataDisksToTerraform; exports.workbenchInstanceGceSetupDataDisksToHclTerraform = workbenchInstanceGceSetupDataDisksToHclTerraform; exports.workbenchInstanceGceSetupNetworkInterfacesAccessConfigsToTerraform = workbenchInstanceGceSetupNetworkInterfacesAccessConfigsToTerraform; exports.workbenchInstanceGceSetupNetworkInterfacesAccessConfigsToHclTerraform = workbenchInstanceGceSetupNetworkInterfacesAccessConfigsToHclTerraform; exports.workbenchInstanceGceSetupNetworkInterfacesToTerraform = workbenchInstanceGceSetupNetworkInterfacesToTerraform; exports.workbenchInstanceGceSetupNetworkInterfacesToHclTerraform = workbenchInstanceGceSetupNetworkInterfacesToHclTerraform; exports.workbenchInstanceGceSetupServiceAccountsToTerraform = workbenchInstanceGceSetupServiceAccountsToTerraform; exports.workbenchInstanceGceSetupServiceAccountsToHclTerraform = workbenchInstanceGceSetupServiceAccountsToHclTerraform; exports.workbenchInstanceGceSetupShieldedInstanceConfigToTerraform = workbenchInstanceGceSetupShieldedInstanceConfigToTerraform; exports.workbenchInstanceGceSetupShieldedInstanceConfigToHclTerraform = workbenchInstanceGceSetupShieldedInstanceConfigToHclTerraform; exports.workbenchInstanceGceSetupVmImageToTerraform = workbenchInstanceGceSetupVmImageToTerraform; exports.workbenchInstanceGceSetupVmImageToHclTerraform = workbenchInstanceGceSetupVmImageToHclTerraform; exports.workbenchInstanceGceSetupToTerraform = workbenchInstanceGceSetupToTerraform; exports.workbenchInstanceGceSetupToHclTerraform = workbenchInstanceGceSetupToHclTerraform; exports.workbenchInstanceTimeoutsToTerraform = workbenchInstanceTimeoutsToTerraform; exports.workbenchInstanceTimeoutsToHclTerraform = workbenchInstanceTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function workbenchInstanceHealthInfoToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } function workbenchInstanceHealthInfoToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } class WorkbenchInstanceHealthInfoOutputReference extends cdktf.ComplexObject { /** * @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, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } } exports.WorkbenchInstanceHealthInfoOutputReference = WorkbenchInstanceHealthInfoOutputReference; _a = JSII_RTTI_SYMBOL_1; WorkbenchInstanceHealthInfoOutputReference[_a] = { fqn: "@cdktf/provider-google.workbenchInstance.WorkbenchInstanceHealthInfoOutputReference", version: "14.35.0" }; class WorkbenchInstanceHealthInfoList extends cdktf.ComplexList { /** * @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, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new WorkbenchInstanceHealthInfoOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.WorkbenchInstanceHealthInfoList = WorkbenchInstanceHealthInfoList; _b = JSII_RTTI_SYMBOL_1; WorkbenchInstanceHealthInfoList[_b] = { fqn: "@cdktf/provider-google.workbenchInstance.WorkbenchInstanceHealthInfoList", version: "14.35.0" }; function workbenchInstanceUpgradeHistoryToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } function workbenchInstanceUpgradeHistoryToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } class WorkbenchInstanceUpgradeHistoryOutputReference extends cdktf.ComplexObject { /** * @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, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // action - computed: true, optional: false, required: false get action() { return this.getStringAttribute('action'); } // container_image - computed: true, optional: false, required: false get containerImage() { return this.getStringAttribute('container_image'); } // create_time - computed: true, optional: false, required: false get createTime() { return this.getStringAttribute('create_time'); } // framework - computed: true, optional: false, required: false get framework() { return this.getStringAttribute('framework'); } // snapshot - computed: true, optional: false, required: false get snapshot() { return this.getStringAttribute('snapshot'); } // state - computed: true, optional: false, required: false get state() { return this.getStringAttribute('state'); } // target_version - computed: true, optional: false, required: false get targetVersion() { return this.getStringAttribute('target_version'); } // version - computed: true, optional: false, required: false get version() { return this.getStringAttribute('version'); } // vm_image - computed: true, optional: false, required: false get vmImage() { return this.getStringAttribute('vm_image'); } } exports.WorkbenchInstanceUpgradeHistoryOutputReference = WorkbenchInstanceUpgradeHistoryOutputReference; _c = JSII_RTTI_SYMBOL_1; WorkbenchInstanceUpgradeHistoryOutputReference[_c] = { fqn: "@cdktf/provider-google.workbenchInstance.WorkbenchInstanceUpgradeHistoryOutputReference", version: "14.35.0" }; class WorkbenchInstanceUpgradeHistoryList extends cdktf.ComplexList { /** * @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, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new WorkbenchInstanceUpgradeHistoryOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.WorkbenchInstanceUpgradeHistoryList = WorkbenchInstanceUpgradeHistoryList; _d = JSII_RTTI_SYMBOL_1; WorkbenchInstanceUpgradeHistoryList[_d] = { fqn: "@cdktf/provider-google.workbenchInstance.WorkbenchInstanceUpgradeHistoryList", version: "14.35.0" }; function workbenchInstanceGceSetupAcceleratorConfigsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { core_count: cdktf.stringToTerraform(struct.coreCount), type: cdktf.stringToTerraform(struct.type), }; } function workbenchInstanceGceSetupAcceleratorConfigsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { core_count: { value: cdktf.stringToHclTerraform(struct.coreCount), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WorkbenchInstanceGceSetupAcceleratorConfigsOutputReference extends cdktf.ComplexObject { /** * @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, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._coreCount !== undefined) { hasAnyValues = true; internalValueResult.coreCount = this._coreCount; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._coreCount = undefined; this._type = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._coreCount = value.coreCount; this._type = value.type; } } get coreCount() { return this.getStringAttribute('core_count'); } set coreCount(value) { this._coreCount = value; } resetCoreCount() { this._coreCount = undefined; } // Temporarily expose input value. Use with caution. get coreCountInput() { return this._coreCount; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } resetType() { this._type = undefined; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.WorkbenchInstanceGceSetupAcceleratorConfigsOutputReference = WorkbenchInstanceGceSetupAcceleratorConfigsOutputReference; _e = JSII_RTTI_SYMBOL_1; WorkbenchInstanceGceSetupAcceleratorConfigsOutputReference[_e] = { fqn: "@cdktf/provider-google.workbenchInstance.WorkbenchInstanceGceSetupAcceleratorConfigsOutputReference", version: "14.35.0" }; class WorkbenchInstanceGceSetupAcceleratorConfigsList extends cdktf.ComplexList { /** * @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, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new WorkbenchInstanceGceSetupAcceleratorConfigsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.WorkbenchInstanceGceSetupAcceleratorConfigsList = WorkbenchInstanceGceSetupAcceleratorConfigsList; _f = JSII_RTTI_SYMBOL_1; WorkbenchInstanceGceSetupAcceleratorConfigsList[_f] = { fqn: "@cdktf/provider-google.workbenchInstance.WorkbenchInstanceGceSetupAcceleratorConfigsList", version: "14.35.0" }; function workbenchInstanceGceSetupBootDiskToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { disk_encryption: cdktf.stringToTerraform(struct.diskEncryption), disk_size_gb: cdktf.stringToTerraform(struct.diskSizeGb), disk_type: cdktf.stringToTerraform(struct.diskType), kms_key: cdktf.stringToTerraform(struct.kmsKey), }; } function workbenchInstanceGceSetupBootDiskToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { disk_encryption: { value: cdktf.stringToHclTerraform(struct.diskEncryption), isBlock: false, type: "simple", storageClassType: "string", }, disk_size_gb: { value: cdktf.stringToHclTerraform(struct.diskSizeGb), isBlock: false, type: "simple", storageClassType: "string", }, disk_type: { value: cdktf.stringToHclTerraform(struct.diskType), isBlock: false, type: "simple", storageClassType: "string", }, kms_key: { value: cdktf.stringToHclTerraform(struct.kmsKey), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WorkbenchInstanceGceSetupBootDiskOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._diskEncryption !== undefined) { hasAnyValues = true; internalValueResult.diskEncryption = this._diskEncryption; } if (this._diskSizeGb !== undefined) { hasAnyValues = true; internalValueResult.diskSizeGb = this._diskSizeGb; } if (this._diskType !== undefined) { hasAnyValues = true; internalValueResult.diskType = this._diskType; } if (this._kmsKey !== undefined) { hasAnyValues = true; internalValueResult.kmsKey = this._kmsKey; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._diskEncryption = undefined; this._diskSizeGb = undefined; this._diskType = undefined; this._kmsKey = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._diskEncryption = value.diskEncryption; this._diskSizeGb = value.diskSizeGb; this._diskType = value.diskType; this._kmsKey = value.kmsKey; } } get diskEncryption() { return this.getStringAttribute('disk_encryption'); } set diskEncryption(value) { this._diskEncryption = value; } resetDiskEncryption() { this._diskEncryption = undefined; } // Temporarily expose input value. Use with caution. get diskEncryptionInput() { return this._diskEncryption; } get diskSizeGb() { return this.getStringAttribute('disk_size_gb'); } set diskSizeGb(value) { this._diskSizeGb = value; } resetDiskSizeGb() { this._diskSizeGb = undefined; } // Temporarily expose input value. Use with caution. get diskSizeGbInput() { return this._diskSizeGb; } get diskType() { return this.getStringAttribute('disk_type'); } set diskType(value) { this._diskType = value; } resetDiskType() { this._diskType = undefined; } // Temporarily expose input value. Use with caution. get diskTypeInput() { return this._diskType; } get kmsKey() { return this.getStringAttribute('kms_key'); } set kmsKey(value) { this._kmsKey = value; } resetKmsKey() { this._kmsKey = undefined; } // Temporarily expose input value. Use with caution. get kmsKeyInput() { return this._kmsKey; } } exports.WorkbenchInstanceGceSetupBootDiskOutputReference = WorkbenchInstanceGceSetupBootDiskOutputReference; _g = JSII_RTTI_SYMBOL_1; WorkbenchInstanceGceSetupBootDiskOutputReference[_g] = { fqn: "@cdktf/provider-google.workbenchInstance.WorkbenchInstanceGceSetupBootDiskOutputReference", version: "14.35.0" }; function workbenchInstanceGceSetupConfidentialInstanceConfigToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { confidential_instance_type: cdktf.stringToTerraform(struct.confidentialInstanceType), }; } function workbenchInstanceGceSetupConfidentialInstanceConfigToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { confidential_instance_type: { value: cdktf.stringToHclTerraform(struct.confidentialInstanceType), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WorkbenchInstanceGceSetupConfidentialInstanceConfigOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._confidentialInstanceType !== undefined) { hasAnyValues = true; internalValueResult.confidentialInstanceType = this._confidentialInstanceType; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._confidentialInstanceType = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._confidentialInstanceType = value.confidentialInstanceType; } } get confidentialInstanceType() { return this.getStringAttribute('confidential_instance_type'); } set confidentialInstanceType(value) { this._confidentialInstanceType = value; } resetConfidentialInstanceType() { this._confidentialInstanceType = undefined; } // Temporarily expose input value. Use with caution. get confidentialInstanceTypeInput() { return this._confidentialInstanceType; } } exports.WorkbenchInstanceGceSetupConfidentialInstanceConfigOutputReference = WorkbenchInstanceGceSetupConfidentialInstanceConfigOutputReference; _h = JSII_RTTI_SYMBOL_1; WorkbenchInstanceGceSetupConfidentialInstanceConfigOutputReference[_h] = { fqn: "@cdktf/provider-google.workbenchInstance.WorkbenchInstanceGceSetupConfidentialInstanceConfigOutputReference", version: "14.35.0" }; function workbenchInstanceGceSetupContainerImageToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { repository: cdktf.stringToTerraform(struct.repository), tag: cdktf.stringToTerraform(struct.tag), }; } function workbenchInstanceGceSetupContainerImageToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { repository: { value: cdktf.stringToHclTerraform(struct.repository), isBlock: false, type: "simple", storageClassType: "string", }, tag: { value: cdktf.stringToHclTerraform(struct.tag), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WorkbenchInstanceGceSetupContainerImageOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._repository !== undefined) { hasAnyValues = true; internalValueResult.repository = this._repository; } if (this._tag !== undefined) { hasAnyValues = true; internalValueResult.tag = this._tag; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._repository = undefined; this._tag = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._repository = value.repository; this._tag = value.tag; } } get repository() { return this.getStringAttribute('repository'); } set repository(value) { this._repository = value; } // Temporarily expose input value. Use with caution. get repositoryInput() { return this._repository; } get tag() { return this.getStringAttribute('tag'); } set tag(value) { this._tag = value; } resetTag() { this._tag = undefined; } // Temporarily expose input value. Use with caution. get tagInput() { return this._tag; } } exports.WorkbenchInstanceGceSetupContainerImageOutputReference = WorkbenchInstanceGceSetupContainerImageOutputReference; _j = JSII_RTTI_SYMBOL_1; WorkbenchInstanceGceSetupContainerImageOutputReference[_j] = { fqn: "@cdktf/provider-google.workbenchInstance.WorkbenchInstanceGceSetupContainerImageOutputReference", version: "14.35.0" }; function workbenchInstanceGceSetupDataDisksToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { disk_encryption: cdktf.stringToTerraform(struct.diskEncryption), disk_size_gb: cdktf.stringToTerraform(struct.diskSizeGb), disk_type: cdktf.stringToTerraform(struct.diskType), kms_key: cdktf.stringToTerraform(struct.kmsKey), }; } function workbenchInstanceGceSetupDataDisksToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { disk_encryption: { value: cdktf.stringToHclTerraform(struct.diskEncryption), isBlock: false, type: "simple", storageClassType: "string", }, disk_size_gb: { value: cdktf.stringToHclTerraform(struct.diskSizeGb), isBlock: false, type: "simple", storageClassType: "string", }, disk_type: { value: cdktf.stringToHclTerraform(struct.diskType), isBlock: false, type: "simple", storageClassType: "string", }, kms_key: { value: cdktf.stringToHclTerraform(struct.kmsKey), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WorkbenchInstanceGceSetupDataDisksOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._diskEncryption !== undefined) { hasAnyValues = true; internalValueResult.diskEncryption = this._diskEncryption; } if (this._diskSizeGb !== undefined) { hasAnyValues = true; internalValueResult.diskSizeGb = this._diskSizeGb; } if (this._diskType !== undefined) { hasAnyValues = true; internalValueResult.diskType = this._diskType; } if (this._kmsKey !== undefined) { hasAnyValues = true; internalValueResult.kmsKey = this._kmsKey; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._diskEncryption = undefined; this._diskSizeGb = undefined; this._diskType = undefined; this._kmsKey = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._diskEncryption = value.diskEncryption; this._diskSizeGb = value.diskSizeGb; this._diskType = value.diskType; this._kmsKey = value.kmsKey; } } get diskEncryption() { return this.getStringAttribute('disk_encryption'); } set diskEncryption(value) { this._diskEncryption = value; } resetDiskEncryption() { this._diskEncryption = undefined; } // Temporarily expose input value. Use with caution. get diskEncryptionInput() { return this._diskEncryption; } get diskSizeGb() { return this.getStringAttribute('disk_size_gb'); } set diskSizeGb(value) { this._diskSizeGb = value; } resetDiskSizeGb() { this._diskSizeGb = undefined; } // Temporarily expose input value. Use with caution. get diskSizeGbInput() { return this._diskSizeGb; } get diskType() { return this.getStringAttribute('disk_type'); } set diskType(value) { this._diskType = value; } resetDiskType() { this._diskType = undefined; } // Temporarily expose input value. Use with caution. get diskTypeInput() { return this._diskType; } get kmsKey() { return this.getStringAttribute('kms_key'); } set kmsKey(value) { this._kmsKey = value; } resetKmsKey() { this._kmsKey = undefined; } // Temporarily expose input value. Use with caution. get kmsKeyInput() { return this._kmsKey; } } exports.WorkbenchInstanceGceSetupDataDisksOutputReference = WorkbenchInstanceGceSetupDataDisksOutputReference; _k = JSII_RTTI_SYMBOL_1; WorkbenchInstanceGceSetupDataDisksOutputReference[_k] = { fqn: "@cdktf/provider-google.workbenchInstance.WorkbenchInstanceGceSetupDataDisksOutputReference", version: "14.35.0" }; function workbenchInstanceGceSetupNetworkInterfacesAccessConfigsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { external_ip: cdktf.stringToTerraform(struct.externalIp), }; } function workbenchInstanceGceSetupNetworkInterfacesAccessConfigsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { external_ip: { value: cdktf.stringToHclTerraform(struct.externalIp), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsOutputReference extends cdktf.ComplexObject { /** * @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, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._externalIp !== undefined) { hasAnyValues = true; internalValueResult.externalIp = this._externalIp; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._externalIp = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._externalIp = value.externalIp; } } get externalIp() { return this.getStringAttribute('external_ip'); } set externalIp(value) { this._externalIp = value; } // Temporarily expose input value. Use with caution. get externalIpInput() { return this._externalIp; } } exports.WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsOutputReference = WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsOutputReference; _l = JSII_RTTI_SYMBOL_1; WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsOutputReference[_l] = { fqn: "@cdktf/provider-google.workbenchInstance.WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsOutputReference", version: "14.35.0" }; class WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsList extends cdktf.ComplexList { /** * @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, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsList = WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsList; _m = JSII_RTTI_SYMBOL_1; WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsList[_m] = { fqn: "@cdktf/provider-google.workbenchInstance.WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsList", version: "14.35.0" }; function workbenchInstanceGceSetupNetworkInterfacesToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { network: cdktf.stringToTerraform(struct.network), nic_type: cdktf.stringToTerraform(struct.nicType), subnet: cdktf.stringToTerraform(struct.subnet), access_configs: cdktf.listMapper(workbenchInstanceGceSetupNetworkInterfacesAccessConfigsToTerraform, true)(struct.accessConfigs), }; } function workbenchInstanceGceSetupNetworkInterfacesToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { network: { value: cdktf.stringToHclTerraform(struct.network), isBlock: false, type: "simple", storageClassType: "string", }, nic_type: { value: cdktf.stringToHclTerraform(struct.nicType), isBlock: false, type: "simple", storageClassType: "string", }, subnet: { value: cdktf.stringToHclTerraform(struct.subnet), isBlock: false, type: "simple", storageClassType: "string", }, access_configs: { value: cdktf.listMapperHcl(workbenchInstanceGceSetupNetworkInterfacesAccessConfigsToHclTerraform, true)(struct.accessConfigs), isBlock: true, type: "list", storageClassType: "WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WorkbenchInstanceGceSetupNetworkInterfacesOutputReference extends cdktf.ComplexObject { /** * @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, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; // access_configs - computed: false, optional: true, required: false this._accessConfigs = new WorkbenchInstanceGceSetupNetworkInterfacesAccessConfigsList(this, "access_configs", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._network !== undefined) { hasAnyValues = true; internalValueResult.network = this._network; } if (this._nicType !== undefined) { hasAnyValues = true; internalValueResult.nicType = this._nicType; } if (this._subnet !== undefined) { hasAnyValues = true; internalValueResult.subnet = this._subnet; } if (this._accessConfigs?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.accessConfigs = this._accessConfigs?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._network = undefined; this._nicType = undefined; this._subnet = undefined; this._accessConfigs.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._network = value.network; this._nicType = value.nicType; this._subnet = value.subnet; this._accessConfigs.internalValue = value.accessConfigs; } } get network() { return this.getStringAttribute('network'); } set network(value) { this._network = value; } resetNetwork() { this._network = undefined; } // Temporarily expose input value. Use with caution. get networkInput() { return this._network; } get nicType() { return this.getStringAttribute('nic_type'); } set nicType(value) { this._nicType = value; } resetNicType() { this._nicType = undefined; } // Temporarily expose input value. Use with caution. get nicTypeInput() { return this._nicType; } get subnet() { return this.getStringAttribute('subnet'); } set subnet(value) { this._subnet = value; } resetSubnet() { this._subnet = undefined; } // Temporarily expose input value. Use with caution. get subnetInput() { return this._subnet; } get accessConfigs() { return this._accessConfigs; } putAccessConfigs(value) { this._accessConfigs.internalValue = value; } resetAccessConfigs() { this._accessConfigs.internalValue = undefined; } // Temporarily expose input value. Use with caution. get accessConfigsInput() { return this._accessConfigs.internalValue; } } exports.WorkbenchInstanceGceSetupNetworkInterfacesOutputReference = WorkbenchInstanceGceSetupNetworkInterfacesOutputReference; _o = JSII_RTTI_SYMBOL_1; WorkbenchInstanceGceSetupNetworkInterfacesOutputReference[_o] = { fqn: "@cdktf/provider-google.workbenchInstance.WorkbenchInstanceGceSetupNetworkInterfacesOutputReference", version: "14.35.0" }; class WorkbenchInstanceGceSetupNetworkInterfacesList extends cdktf.ComplexList { /** * @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, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new WorkbenchInstanceGceSetupNetworkInterfacesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.WorkbenchInstanceGceSetupNetworkInterfacesList = WorkbenchInstanceGceSetupNetworkInterfacesList; _p = JSII_RTTI_SYMBOL_1; WorkbenchInstanceGceSetupNetworkInterfacesList[_p] = { fqn: "@cdktf/provider-google.workbenchInstance.WorkbenchInstanceGceSetupNetworkInterfacesList", version: "14.35.0" }; function workbenchInstanceGceSetupServiceAccountsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { email: cdktf.stringToTerraform(struct.email), }; } function workbenchInstanceGceSetupServiceAccountsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { email: { value: cdktf.stringToHclTerraform(struct.email), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WorkbenchInstanceGceSetupServiceAccountsOutputReference extends cdktf.ComplexObject { /** * @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, terraformAttribute, complexObjectIndex, complexObjectIsFromS