UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,037 lines 804 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, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10; Object.defineProperty(exports, "__esModule", { value: true }); exports.ComputeInstanceFromTemplate = exports.ComputeInstanceFromTemplateTimeoutsOutputReference = exports.ComputeInstanceFromTemplateShieldedInstanceConfigOutputReference = exports.ComputeInstanceFromTemplateServiceAccountOutputReference = exports.ComputeInstanceFromTemplateScratchDiskList = exports.ComputeInstanceFromTemplateScratchDiskOutputReference = exports.ComputeInstanceFromTemplateSchedulingOutputReference = exports.ComputeInstanceFromTemplateSchedulingOnInstanceStopActionOutputReference = exports.ComputeInstanceFromTemplateSchedulingNodeAffinitiesList = exports.ComputeInstanceFromTemplateSchedulingNodeAffinitiesOutputReference = exports.ComputeInstanceFromTemplateSchedulingMaxRunDurationOutputReference = exports.ComputeInstanceFromTemplateSchedulingLocalSsdRecoveryTimeoutOutputReference = exports.ComputeInstanceFromTemplateReservationAffinityOutputReference = exports.ComputeInstanceFromTemplateReservationAffinitySpecificReservationOutputReference = exports.ComputeInstanceFromTemplateParamsOutputReference = exports.ComputeInstanceFromTemplateNetworkPerformanceConfigOutputReference = exports.ComputeInstanceFromTemplateNetworkInterfaceList = exports.ComputeInstanceFromTemplateNetworkInterfaceOutputReference = exports.ComputeInstanceFromTemplateNetworkInterfaceIpv6AccessConfigList = exports.ComputeInstanceFromTemplateNetworkInterfaceIpv6AccessConfigOutputReference = exports.ComputeInstanceFromTemplateNetworkInterfaceAliasIpRangeList = exports.ComputeInstanceFromTemplateNetworkInterfaceAliasIpRangeOutputReference = exports.ComputeInstanceFromTemplateNetworkInterfaceAccessConfigList = exports.ComputeInstanceFromTemplateNetworkInterfaceAccessConfigOutputReference = exports.ComputeInstanceFromTemplateInstanceEncryptionKeyOutputReference = exports.ComputeInstanceFromTemplateGuestAcceleratorList = exports.ComputeInstanceFromTemplateGuestAcceleratorOutputReference = exports.ComputeInstanceFromTemplateConfidentialInstanceConfigOutputReference = exports.ComputeInstanceFromTemplateBootDiskOutputReference = exports.ComputeInstanceFromTemplateBootDiskInitializeParamsOutputReference = exports.ComputeInstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyOutputReference = exports.ComputeInstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyOutputReference = exports.ComputeInstanceFromTemplateAttachedDiskList = exports.ComputeInstanceFromTemplateAttachedDiskOutputReference = exports.ComputeInstanceFromTemplateAdvancedMachineFeaturesOutputReference = void 0; exports.computeInstanceFromTemplateAdvancedMachineFeaturesToTerraform = computeInstanceFromTemplateAdvancedMachineFeaturesToTerraform; exports.computeInstanceFromTemplateAdvancedMachineFeaturesToHclTerraform = computeInstanceFromTemplateAdvancedMachineFeaturesToHclTerraform; exports.computeInstanceFromTemplateAttachedDiskToTerraform = computeInstanceFromTemplateAttachedDiskToTerraform; exports.computeInstanceFromTemplateAttachedDiskToHclTerraform = computeInstanceFromTemplateAttachedDiskToHclTerraform; exports.computeInstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyToTerraform = computeInstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyToTerraform; exports.computeInstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyToHclTerraform = computeInstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyToHclTerraform; exports.computeInstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyToTerraform = computeInstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyToTerraform; exports.computeInstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyToHclTerraform = computeInstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyToHclTerraform; exports.computeInstanceFromTemplateBootDiskInitializeParamsToTerraform = computeInstanceFromTemplateBootDiskInitializeParamsToTerraform; exports.computeInstanceFromTemplateBootDiskInitializeParamsToHclTerraform = computeInstanceFromTemplateBootDiskInitializeParamsToHclTerraform; exports.computeInstanceFromTemplateBootDiskToTerraform = computeInstanceFromTemplateBootDiskToTerraform; exports.computeInstanceFromTemplateBootDiskToHclTerraform = computeInstanceFromTemplateBootDiskToHclTerraform; exports.computeInstanceFromTemplateConfidentialInstanceConfigToTerraform = computeInstanceFromTemplateConfidentialInstanceConfigToTerraform; exports.computeInstanceFromTemplateConfidentialInstanceConfigToHclTerraform = computeInstanceFromTemplateConfidentialInstanceConfigToHclTerraform; exports.computeInstanceFromTemplateGuestAcceleratorToTerraform = computeInstanceFromTemplateGuestAcceleratorToTerraform; exports.computeInstanceFromTemplateGuestAcceleratorToHclTerraform = computeInstanceFromTemplateGuestAcceleratorToHclTerraform; exports.computeInstanceFromTemplateInstanceEncryptionKeyToTerraform = computeInstanceFromTemplateInstanceEncryptionKeyToTerraform; exports.computeInstanceFromTemplateInstanceEncryptionKeyToHclTerraform = computeInstanceFromTemplateInstanceEncryptionKeyToHclTerraform; exports.computeInstanceFromTemplateNetworkInterfaceAccessConfigToTerraform = computeInstanceFromTemplateNetworkInterfaceAccessConfigToTerraform; exports.computeInstanceFromTemplateNetworkInterfaceAccessConfigToHclTerraform = computeInstanceFromTemplateNetworkInterfaceAccessConfigToHclTerraform; exports.computeInstanceFromTemplateNetworkInterfaceAliasIpRangeToTerraform = computeInstanceFromTemplateNetworkInterfaceAliasIpRangeToTerraform; exports.computeInstanceFromTemplateNetworkInterfaceAliasIpRangeToHclTerraform = computeInstanceFromTemplateNetworkInterfaceAliasIpRangeToHclTerraform; exports.computeInstanceFromTemplateNetworkInterfaceIpv6AccessConfigToTerraform = computeInstanceFromTemplateNetworkInterfaceIpv6AccessConfigToTerraform; exports.computeInstanceFromTemplateNetworkInterfaceIpv6AccessConfigToHclTerraform = computeInstanceFromTemplateNetworkInterfaceIpv6AccessConfigToHclTerraform; exports.computeInstanceFromTemplateNetworkInterfaceToTerraform = computeInstanceFromTemplateNetworkInterfaceToTerraform; exports.computeInstanceFromTemplateNetworkInterfaceToHclTerraform = computeInstanceFromTemplateNetworkInterfaceToHclTerraform; exports.computeInstanceFromTemplateNetworkPerformanceConfigToTerraform = computeInstanceFromTemplateNetworkPerformanceConfigToTerraform; exports.computeInstanceFromTemplateNetworkPerformanceConfigToHclTerraform = computeInstanceFromTemplateNetworkPerformanceConfigToHclTerraform; exports.computeInstanceFromTemplateParamsToTerraform = computeInstanceFromTemplateParamsToTerraform; exports.computeInstanceFromTemplateParamsToHclTerraform = computeInstanceFromTemplateParamsToHclTerraform; exports.computeInstanceFromTemplateReservationAffinitySpecificReservationToTerraform = computeInstanceFromTemplateReservationAffinitySpecificReservationToTerraform; exports.computeInstanceFromTemplateReservationAffinitySpecificReservationToHclTerraform = computeInstanceFromTemplateReservationAffinitySpecificReservationToHclTerraform; exports.computeInstanceFromTemplateReservationAffinityToTerraform = computeInstanceFromTemplateReservationAffinityToTerraform; exports.computeInstanceFromTemplateReservationAffinityToHclTerraform = computeInstanceFromTemplateReservationAffinityToHclTerraform; exports.computeInstanceFromTemplateSchedulingLocalSsdRecoveryTimeoutToTerraform = computeInstanceFromTemplateSchedulingLocalSsdRecoveryTimeoutToTerraform; exports.computeInstanceFromTemplateSchedulingLocalSsdRecoveryTimeoutToHclTerraform = computeInstanceFromTemplateSchedulingLocalSsdRecoveryTimeoutToHclTerraform; exports.computeInstanceFromTemplateSchedulingMaxRunDurationToTerraform = computeInstanceFromTemplateSchedulingMaxRunDurationToTerraform; exports.computeInstanceFromTemplateSchedulingMaxRunDurationToHclTerraform = computeInstanceFromTemplateSchedulingMaxRunDurationToHclTerraform; exports.computeInstanceFromTemplateSchedulingNodeAffinitiesToTerraform = computeInstanceFromTemplateSchedulingNodeAffinitiesToTerraform; exports.computeInstanceFromTemplateSchedulingNodeAffinitiesToHclTerraform = computeInstanceFromTemplateSchedulingNodeAffinitiesToHclTerraform; exports.computeInstanceFromTemplateSchedulingOnInstanceStopActionToTerraform = computeInstanceFromTemplateSchedulingOnInstanceStopActionToTerraform; exports.computeInstanceFromTemplateSchedulingOnInstanceStopActionToHclTerraform = computeInstanceFromTemplateSchedulingOnInstanceStopActionToHclTerraform; exports.computeInstanceFromTemplateSchedulingToTerraform = computeInstanceFromTemplateSchedulingToTerraform; exports.computeInstanceFromTemplateSchedulingToHclTerraform = computeInstanceFromTemplateSchedulingToHclTerraform; exports.computeInstanceFromTemplateScratchDiskToTerraform = computeInstanceFromTemplateScratchDiskToTerraform; exports.computeInstanceFromTemplateScratchDiskToHclTerraform = computeInstanceFromTemplateScratchDiskToHclTerraform; exports.computeInstanceFromTemplateServiceAccountToTerraform = computeInstanceFromTemplateServiceAccountToTerraform; exports.computeInstanceFromTemplateServiceAccountToHclTerraform = computeInstanceFromTemplateServiceAccountToHclTerraform; exports.computeInstanceFromTemplateShieldedInstanceConfigToTerraform = computeInstanceFromTemplateShieldedInstanceConfigToTerraform; exports.computeInstanceFromTemplateShieldedInstanceConfigToHclTerraform = computeInstanceFromTemplateShieldedInstanceConfigToHclTerraform; exports.computeInstanceFromTemplateTimeoutsToTerraform = computeInstanceFromTemplateTimeoutsToTerraform; exports.computeInstanceFromTemplateTimeoutsToHclTerraform = computeInstanceFromTemplateTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function computeInstanceFromTemplateAdvancedMachineFeaturesToTerraform(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 { enable_nested_virtualization: cdktf.booleanToTerraform(struct.enableNestedVirtualization), enable_uefi_networking: cdktf.booleanToTerraform(struct.enableUefiNetworking), performance_monitoring_unit: cdktf.stringToTerraform(struct.performanceMonitoringUnit), threads_per_core: cdktf.numberToTerraform(struct.threadsPerCore), turbo_mode: cdktf.stringToTerraform(struct.turboMode), visible_core_count: cdktf.numberToTerraform(struct.visibleCoreCount), }; } function computeInstanceFromTemplateAdvancedMachineFeaturesToHclTerraform(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 = { enable_nested_virtualization: { value: cdktf.booleanToHclTerraform(struct.enableNestedVirtualization), isBlock: false, type: "simple", storageClassType: "boolean", }, enable_uefi_networking: { value: cdktf.booleanToHclTerraform(struct.enableUefiNetworking), isBlock: false, type: "simple", storageClassType: "boolean", }, performance_monitoring_unit: { value: cdktf.stringToHclTerraform(struct.performanceMonitoringUnit), isBlock: false, type: "simple", storageClassType: "string", }, threads_per_core: { value: cdktf.numberToHclTerraform(struct.threadsPerCore), isBlock: false, type: "simple", storageClassType: "number", }, turbo_mode: { value: cdktf.stringToHclTerraform(struct.turboMode), isBlock: false, type: "simple", storageClassType: "string", }, visible_core_count: { value: cdktf.numberToHclTerraform(struct.visibleCoreCount), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ComputeInstanceFromTemplateAdvancedMachineFeaturesOutputReference 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._enableNestedVirtualization !== undefined) { hasAnyValues = true; internalValueResult.enableNestedVirtualization = this._enableNestedVirtualization; } if (this._enableUefiNetworking !== undefined) { hasAnyValues = true; internalValueResult.enableUefiNetworking = this._enableUefiNetworking; } if (this._performanceMonitoringUnit !== undefined) { hasAnyValues = true; internalValueResult.performanceMonitoringUnit = this._performanceMonitoringUnit; } if (this._threadsPerCore !== undefined) { hasAnyValues = true; internalValueResult.threadsPerCore = this._threadsPerCore; } if (this._turboMode !== undefined) { hasAnyValues = true; internalValueResult.turboMode = this._turboMode; } if (this._visibleCoreCount !== undefined) { hasAnyValues = true; internalValueResult.visibleCoreCount = this._visibleCoreCount; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._enableNestedVirtualization = undefined; this._enableUefiNetworking = undefined; this._performanceMonitoringUnit = undefined; this._threadsPerCore = undefined; this._turboMode = undefined; this._visibleCoreCount = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._enableNestedVirtualization = value.enableNestedVirtualization; this._enableUefiNetworking = value.enableUefiNetworking; this._performanceMonitoringUnit = value.performanceMonitoringUnit; this._threadsPerCore = value.threadsPerCore; this._turboMode = value.turboMode; this._visibleCoreCount = value.visibleCoreCount; } } get enableNestedVirtualization() { return this.getBooleanAttribute('enable_nested_virtualization'); } set enableNestedVirtualization(value) { this._enableNestedVirtualization = value; } resetEnableNestedVirtualization() { this._enableNestedVirtualization = undefined; } // Temporarily expose input value. Use with caution. get enableNestedVirtualizationInput() { return this._enableNestedVirtualization; } get enableUefiNetworking() { return this.getBooleanAttribute('enable_uefi_networking'); } set enableUefiNetworking(value) { this._enableUefiNetworking = value; } resetEnableUefiNetworking() { this._enableUefiNetworking = undefined; } // Temporarily expose input value. Use with caution. get enableUefiNetworkingInput() { return this._enableUefiNetworking; } get performanceMonitoringUnit() { return this.getStringAttribute('performance_monitoring_unit'); } set performanceMonitoringUnit(value) { this._performanceMonitoringUnit = value; } resetPerformanceMonitoringUnit() { this._performanceMonitoringUnit = undefined; } // Temporarily expose input value. Use with caution. get performanceMonitoringUnitInput() { return this._performanceMonitoringUnit; } get threadsPerCore() { return this.getNumberAttribute('threads_per_core'); } set threadsPerCore(value) { this._threadsPerCore = value; } resetThreadsPerCore() { this._threadsPerCore = undefined; } // Temporarily expose input value. Use with caution. get threadsPerCoreInput() { return this._threadsPerCore; } get turboMode() { return this.getStringAttribute('turbo_mode'); } set turboMode(value) { this._turboMode = value; } resetTurboMode() { this._turboMode = undefined; } // Temporarily expose input value. Use with caution. get turboModeInput() { return this._turboMode; } get visibleCoreCount() { return this.getNumberAttribute('visible_core_count'); } set visibleCoreCount(value) { this._visibleCoreCount = value; } resetVisibleCoreCount() { this._visibleCoreCount = undefined; } // Temporarily expose input value. Use with caution. get visibleCoreCountInput() { return this._visibleCoreCount; } } exports.ComputeInstanceFromTemplateAdvancedMachineFeaturesOutputReference = ComputeInstanceFromTemplateAdvancedMachineFeaturesOutputReference; _a = JSII_RTTI_SYMBOL_1; ComputeInstanceFromTemplateAdvancedMachineFeaturesOutputReference[_a] = { fqn: "@cdktf/provider-google.computeInstanceFromTemplate.ComputeInstanceFromTemplateAdvancedMachineFeaturesOutputReference", version: "14.35.0" }; function computeInstanceFromTemplateAttachedDiskToTerraform(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 { device_name: cdktf.stringToTerraform(struct.deviceName), disk_encryption_key_raw: cdktf.stringToTerraform(struct.diskEncryptionKeyRaw), disk_encryption_key_rsa: cdktf.stringToTerraform(struct.diskEncryptionKeyRsa), disk_encryption_service_account: cdktf.stringToTerraform(struct.diskEncryptionServiceAccount), force_attach: cdktf.booleanToTerraform(struct.forceAttach), kms_key_self_link: cdktf.stringToTerraform(struct.kmsKeySelfLink), mode: cdktf.stringToTerraform(struct.mode), source: cdktf.stringToTerraform(struct.source), }; } function computeInstanceFromTemplateAttachedDiskToHclTerraform(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 = { device_name: { value: cdktf.stringToHclTerraform(struct.deviceName), isBlock: false, type: "simple", storageClassType: "string", }, disk_encryption_key_raw: { value: cdktf.stringToHclTerraform(struct.diskEncryptionKeyRaw), isBlock: false, type: "simple", storageClassType: "string", }, disk_encryption_key_rsa: { value: cdktf.stringToHclTerraform(struct.diskEncryptionKeyRsa), isBlock: false, type: "simple", storageClassType: "string", }, disk_encryption_service_account: { value: cdktf.stringToHclTerraform(struct.diskEncryptionServiceAccount), isBlock: false, type: "simple", storageClassType: "string", }, force_attach: { value: cdktf.booleanToHclTerraform(struct.forceAttach), isBlock: false, type: "simple", storageClassType: "boolean", }, kms_key_self_link: { value: cdktf.stringToHclTerraform(struct.kmsKeySelfLink), isBlock: false, type: "simple", storageClassType: "string", }, mode: { value: cdktf.stringToHclTerraform(struct.mode), isBlock: false, type: "simple", storageClassType: "string", }, source: { value: cdktf.stringToHclTerraform(struct.source), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ComputeInstanceFromTemplateAttachedDiskOutputReference 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._deviceName !== undefined) { hasAnyValues = true; internalValueResult.deviceName = this._deviceName; } if (this._diskEncryptionKeyRaw !== undefined) { hasAnyValues = true; internalValueResult.diskEncryptionKeyRaw = this._diskEncryptionKeyRaw; } if (this._diskEncryptionKeyRsa !== undefined) { hasAnyValues = true; internalValueResult.diskEncryptionKeyRsa = this._diskEncryptionKeyRsa; } if (this._diskEncryptionServiceAccount !== undefined) { hasAnyValues = true; internalValueResult.diskEncryptionServiceAccount = this._diskEncryptionServiceAccount; } if (this._forceAttach !== undefined) { hasAnyValues = true; internalValueResult.forceAttach = this._forceAttach; } if (this._kmsKeySelfLink !== undefined) { hasAnyValues = true; internalValueResult.kmsKeySelfLink = this._kmsKeySelfLink; } if (this._mode !== undefined) { hasAnyValues = true; internalValueResult.mode = this._mode; } if (this._source !== undefined) { hasAnyValues = true; internalValueResult.source = this._source; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._deviceName = undefined; this._diskEncryptionKeyRaw = undefined; this._diskEncryptionKeyRsa = undefined; this._diskEncryptionServiceAccount = undefined; this._forceAttach = undefined; this._kmsKeySelfLink = undefined; this._mode = undefined; this._source = 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._deviceName = value.deviceName; this._diskEncryptionKeyRaw = value.diskEncryptionKeyRaw; this._diskEncryptionKeyRsa = value.diskEncryptionKeyRsa; this._diskEncryptionServiceAccount = value.diskEncryptionServiceAccount; this._forceAttach = value.forceAttach; this._kmsKeySelfLink = value.kmsKeySelfLink; this._mode = value.mode; this._source = value.source; } } get deviceName() { return this.getStringAttribute('device_name'); } set deviceName(value) { this._deviceName = value; } resetDeviceName() { this._deviceName = undefined; } // Temporarily expose input value. Use with caution. get deviceNameInput() { return this._deviceName; } get diskEncryptionKeyRaw() { return this.getStringAttribute('disk_encryption_key_raw'); } set diskEncryptionKeyRaw(value) { this._diskEncryptionKeyRaw = value; } resetDiskEncryptionKeyRaw() { this._diskEncryptionKeyRaw = undefined; } // Temporarily expose input value. Use with caution. get diskEncryptionKeyRawInput() { return this._diskEncryptionKeyRaw; } get diskEncryptionKeyRsa() { return this.getStringAttribute('disk_encryption_key_rsa'); } set diskEncryptionKeyRsa(value) { this._diskEncryptionKeyRsa = value; } resetDiskEncryptionKeyRsa() { this._diskEncryptionKeyRsa = undefined; } // Temporarily expose input value. Use with caution. get diskEncryptionKeyRsaInput() { return this._diskEncryptionKeyRsa; } // disk_encryption_key_sha256 - computed: true, optional: false, required: false get diskEncryptionKeySha256() { return this.getStringAttribute('disk_encryption_key_sha256'); } get diskEncryptionServiceAccount() { return this.getStringAttribute('disk_encryption_service_account'); } set diskEncryptionServiceAccount(value) { this._diskEncryptionServiceAccount = value; } resetDiskEncryptionServiceAccount() { this._diskEncryptionServiceAccount = undefined; } // Temporarily expose input value. Use with caution. get diskEncryptionServiceAccountInput() { return this._diskEncryptionServiceAccount; } get forceAttach() { return this.getBooleanAttribute('force_attach'); } set forceAttach(value) { this._forceAttach = value; } resetForceAttach() { this._forceAttach = undefined; } // Temporarily expose input value. Use with caution. get forceAttachInput() { return this._forceAttach; } get kmsKeySelfLink() { return this.getStringAttribute('kms_key_self_link'); } set kmsKeySelfLink(value) { this._kmsKeySelfLink = value; } resetKmsKeySelfLink() { this._kmsKeySelfLink = undefined; } // Temporarily expose input value. Use with caution. get kmsKeySelfLinkInput() { return this._kmsKeySelfLink; } get mode() { return this.getStringAttribute('mode'); } set mode(value) { this._mode = value; } resetMode() { this._mode = undefined; } // Temporarily expose input value. Use with caution. get modeInput() { return this._mode; } get source() { return this.getStringAttribute('source'); } set source(value) { this._source = value; } // Temporarily expose input value. Use with caution. get sourceInput() { return this._source; } } exports.ComputeInstanceFromTemplateAttachedDiskOutputReference = ComputeInstanceFromTemplateAttachedDiskOutputReference; _b = JSII_RTTI_SYMBOL_1; ComputeInstanceFromTemplateAttachedDiskOutputReference[_b] = { fqn: "@cdktf/provider-google.computeInstanceFromTemplate.ComputeInstanceFromTemplateAttachedDiskOutputReference", version: "14.35.0" }; class ComputeInstanceFromTemplateAttachedDiskList 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 ComputeInstanceFromTemplateAttachedDiskOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ComputeInstanceFromTemplateAttachedDiskList = ComputeInstanceFromTemplateAttachedDiskList; _c = JSII_RTTI_SYMBOL_1; ComputeInstanceFromTemplateAttachedDiskList[_c] = { fqn: "@cdktf/provider-google.computeInstanceFromTemplate.ComputeInstanceFromTemplateAttachedDiskList", version: "14.35.0" }; function computeInstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyToTerraform(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 { kms_key_self_link: cdktf.stringToTerraform(struct.kmsKeySelfLink), kms_key_service_account: cdktf.stringToTerraform(struct.kmsKeyServiceAccount), raw_key: cdktf.stringToTerraform(struct.rawKey), rsa_encrypted_key: cdktf.stringToTerraform(struct.rsaEncryptedKey), }; } function computeInstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyToHclTerraform(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 = { kms_key_self_link: { value: cdktf.stringToHclTerraform(struct.kmsKeySelfLink), isBlock: false, type: "simple", storageClassType: "string", }, kms_key_service_account: { value: cdktf.stringToHclTerraform(struct.kmsKeyServiceAccount), isBlock: false, type: "simple", storageClassType: "string", }, raw_key: { value: cdktf.stringToHclTerraform(struct.rawKey), isBlock: false, type: "simple", storageClassType: "string", }, rsa_encrypted_key: { value: cdktf.stringToHclTerraform(struct.rsaEncryptedKey), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ComputeInstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyOutputReference 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._kmsKeySelfLink !== undefined) { hasAnyValues = true; internalValueResult.kmsKeySelfLink = this._kmsKeySelfLink; } if (this._kmsKeyServiceAccount !== undefined) { hasAnyValues = true; internalValueResult.kmsKeyServiceAccount = this._kmsKeyServiceAccount; } if (this._rawKey !== undefined) { hasAnyValues = true; internalValueResult.rawKey = this._rawKey; } if (this._rsaEncryptedKey !== undefined) { hasAnyValues = true; internalValueResult.rsaEncryptedKey = this._rsaEncryptedKey; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._kmsKeySelfLink = undefined; this._kmsKeyServiceAccount = undefined; this._rawKey = undefined; this._rsaEncryptedKey = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._kmsKeySelfLink = value.kmsKeySelfLink; this._kmsKeyServiceAccount = value.kmsKeyServiceAccount; this._rawKey = value.rawKey; this._rsaEncryptedKey = value.rsaEncryptedKey; } } get kmsKeySelfLink() { return this.getStringAttribute('kms_key_self_link'); } set kmsKeySelfLink(value) { this._kmsKeySelfLink = value; } resetKmsKeySelfLink() { this._kmsKeySelfLink = undefined; } // Temporarily expose input value. Use with caution. get kmsKeySelfLinkInput() { return this._kmsKeySelfLink; } get kmsKeyServiceAccount() { return this.getStringAttribute('kms_key_service_account'); } set kmsKeyServiceAccount(value) { this._kmsKeyServiceAccount = value; } resetKmsKeyServiceAccount() { this._kmsKeyServiceAccount = undefined; } // Temporarily expose input value. Use with caution. get kmsKeyServiceAccountInput() { return this._kmsKeyServiceAccount; } get rawKey() { return this.getStringAttribute('raw_key'); } set rawKey(value) { this._rawKey = value; } resetRawKey() { this._rawKey = undefined; } // Temporarily expose input value. Use with caution. get rawKeyInput() { return this._rawKey; } get rsaEncryptedKey() { return this.getStringAttribute('rsa_encrypted_key'); } set rsaEncryptedKey(value) { this._rsaEncryptedKey = value; } resetRsaEncryptedKey() { this._rsaEncryptedKey = undefined; } // Temporarily expose input value. Use with caution. get rsaEncryptedKeyInput() { return this._rsaEncryptedKey; } // sha256 - computed: true, optional: false, required: false get sha256() { return this.getStringAttribute('sha256'); } } exports.ComputeInstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyOutputReference = ComputeInstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyOutputReference; _d = JSII_RTTI_SYMBOL_1; ComputeInstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyOutputReference[_d] = { fqn: "@cdktf/provider-google.computeInstanceFromTemplate.ComputeInstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyOutputReference", version: "14.35.0" }; function computeInstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyToTerraform(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 { kms_key_self_link: cdktf.stringToTerraform(struct.kmsKeySelfLink), kms_key_service_account: cdktf.stringToTerraform(struct.kmsKeyServiceAccount), raw_key: cdktf.stringToTerraform(struct.rawKey), rsa_encrypted_key: cdktf.stringToTerraform(struct.rsaEncryptedKey), }; } function computeInstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyToHclTerraform(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 = { kms_key_self_link: { value: cdktf.stringToHclTerraform(struct.kmsKeySelfLink), isBlock: false, type: "simple", storageClassType: "string", }, kms_key_service_account: { value: cdktf.stringToHclTerraform(struct.kmsKeyServiceAccount), isBlock: false, type: "simple", storageClassType: "string", }, raw_key: { value: cdktf.stringToHclTerraform(struct.rawKey), isBlock: false, type: "simple", storageClassType: "string", }, rsa_encrypted_key: { value: cdktf.stringToHclTerraform(struct.rsaEncryptedKey), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ComputeInstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyOutputReference 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._kmsKeySelfLink !== undefined) { hasAnyValues = true; internalValueResult.kmsKeySelfLink = this._kmsKeySelfLink; } if (this._kmsKeyServiceAccount !== undefined) { hasAnyValues = true; internalValueResult.kmsKeyServiceAccount = this._kmsKeyServiceAccount; } if (this._rawKey !== undefined) { hasAnyValues = true; internalValueResult.rawKey = this._rawKey; } if (this._rsaEncryptedKey !== undefined) { hasAnyValues = true; internalValueResult.rsaEncryptedKey = this._rsaEncryptedKey; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._kmsKeySelfLink = undefined; this._kmsKeyServiceAccount = undefined; this._rawKey = undefined; this._rsaEncryptedKey = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._kmsKeySelfLink = value.kmsKeySelfLink; this._kmsKeyServiceAccount = value.kmsKeyServiceAccount; this._rawKey = value.rawKey; this._rsaEncryptedKey = value.rsaEncryptedKey; } } get kmsKeySelfLink() { return this.getStringAttribute('kms_key_self_link'); } set kmsKeySelfLink(value) { this._kmsKeySelfLink = value; } resetKmsKeySelfLink() { this._kmsKeySelfLink = undefined; } // Temporarily expose input value. Use with caution. get kmsKeySelfLinkInput() { return this._kmsKeySelfLink; } get kmsKeyServiceAccount() { return this.getStringAttribute('kms_key_service_account'); } set kmsKeyServiceAccount(value) { this._kmsKeyServiceAccount = value; } resetKmsKeyServiceAccount() { this._kmsKeyServiceAccount = undefined; } // Temporarily expose input value. Use with caution. get kmsKeyServiceAccountInput() { return this._kmsKeyServiceAccount; } get rawKey() { return this.getStringAttribute('raw_key'); } set rawKey(value) { this._rawKey = value; } resetRawKey() { this._rawKey = undefined; } // Temporarily expose input value. Use with caution. get rawKeyInput() { return this._rawKey; } get rsaEncryptedKey() { return this.getStringAttribute('rsa_encrypted_key'); } set rsaEncryptedKey(value) { this._rsaEncryptedKey = value; } resetRsaEncryptedKey() { this._rsaEncryptedKey = undefined; } // Temporarily expose input value. Use with caution. get rsaEncryptedKeyInput() { return this._rsaEncryptedKey; } // sha256 - computed: true, optional: false, required: false get sha256() { return this.getStringAttribute('sha256'); } } exports.ComputeInstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyOutputReference = ComputeInstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyOutputReference; _e = JSII_RTTI_SYMBOL_1; ComputeInstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyOutputReference[_e] = { fqn: "@cdktf/provider-google.computeInstanceFromTemplate.ComputeInstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyOutputReference", version: "14.35.0" }; function computeInstanceFromTemplateBootDiskInitializeParamsToTerraform(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 { architecture: cdktf.stringToTerraform(struct.architecture), enable_confidential_compute: cdktf.booleanToTerraform(struct.enableConfidentialCompute), image: cdktf.stringToTerraform(struct.image), labels: cdktf.hashMapper(cdktf.stringToTerraform)(struct.labels), provisioned_iops: cdktf.numberToTerraform(struct.provisionedIops), provisioned_throughput: cdktf.numberToTerraform(struct.provisionedThroughput), resource_manager_tags: cdktf.hashMapper(cdktf.stringToTerraform)(struct.resourceManagerTags), resource_policies: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.resourcePolicies), size: cdktf.numberToTerraform(struct.size), snapshot: cdktf.stringToTerraform(struct.snapshot), storage_pool: cdktf.stringToTerraform(struct.storagePool), type: cdktf.stringToTerraform(struct.type), source_image_encryption_key: computeInstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyToTerraform(struct.sourceImageEncryptionKey), source_snapshot_encryption_key: computeInstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyToTerraform(struct.sourceSnapshotEncryptionKey), }; } function computeInstanceFromTemplateBootDiskInitializeParamsToHclTerraform(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 = { architecture: { value: cdktf.stringToHclTerraform(struct.architecture), isBlock: false, type: "simple", storageClassType: "string", }, enable_confidential_compute: { value: cdktf.booleanToHclTerraform(struct.enableConfidentialCompute), isBlock: false, type: "simple", storageClassType: "boolean", }, image: { value: cdktf.stringToHclTerraform(struct.image), isBlock: false, type: "simple", storageClassType: "string", }, labels: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.labels), isBlock: false, type: "map", storageClassType: "stringMap", }, provisioned_iops: { value: cdktf.numberToHclTerraform(struct.provisionedIops), isBlock: false, type: "simple", storageClassType: "number", }, provisioned_throughput: { value: cdktf.numberToHclTerraform(struct.provisionedThroughput), isBlock: false, type: "simple", storageClassType: "number", }, resource_manager_tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.resourceManagerTags), isBlock: false, type: "map", storageClassType: "stringMap", }, resource_policies: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.resourcePolicies), isBlock: false, type: "list", storageClassType: "stringList", }, size: { value: cdktf.numberToHclTerraform(struct.size), isBlock: false, type: "simple", storageClassType: "number", }, snapshot: { value: cdktf.stringToHclTerraform(struct.snapshot), isBlock: false, type: "simple", storageClassType: "string", }, storage_pool: { value: cdktf.stringToHclTerraform(struct.storagePool), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, source_image_encryption_key: { value: computeInstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyToHclTerraform(struct.sourceImageEncryptionKey), isBlock: true, type: "list", storageClassType: "ComputeInstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyList", }, source_snapshot_encryption_key: { value: computeInstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyToHclTerraform(struct.sourceSnapshotEncryptionKey), isBlock: true, type: "list", storageClassType: "ComputeInstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ComputeInstanceFromTemplateBootDiskInitializeParamsOutputReference 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; // source_image_encryption_key - computed: false, optional: true, required: false this._sourceImageEncryptionKey = new ComputeInstanceFromTemplateBootDiskInitializeParamsSourceImageEncryptionKeyOutputReference(this, "source_image_encryption_key"); // source_snapshot_encryption_key - computed: false, optional: true, required: false this._sourceSnapshotEncryptionKey = new ComputeInstanceFromTemplateBootDiskInitializeParamsSourceSnapshotEncryptionKeyOutputReference(this, "source_snapshot_encryption_key"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._architecture !== undefined) { hasAnyValues = true; internalValueResult.architecture = this._architecture; } if (this._enableConfidentialCompute !== undefined) { hasAnyValues = true; internalValueResult.enableConfidentialCompute = this._enableConfidentialCompute; } if (this._image !== undefined) { hasAnyValues = true; internalValueResult.image = this._image; } if (this._labels !== undefined) { hasAnyValues = true; internalValueResult.labels = this._labels; } if (this._provisionedIops !== undefined) { hasAnyValues = true; internalValueResult.provisionedIops = this._provisionedIops; } if (this._provisionedThroughput !== undefined) { hasAnyValues = true; internalValueResult.provisionedThroughput = this._provisionedThroughput; } if (this._resourceManagerTags !== undefined) { hasAnyValues = true; internalValueResult.resourceManagerTags = this._resourceManagerTags; } if (this._resourcePolicies !== undefined) { hasAnyValues = true; internalValueResult.resourcePolicies = this._resourcePolicies; } if (this._size !== undefined) { hasAnyValues = true; internalValueResult.size = this._size; } if (this._snapshot !== undefined