@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
1,064 lines (1,063 loc) • 635 kB
JavaScript
"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;
Object.defineProperty(exports, "__esModule", { value: true });
exports.computeRegionInstanceTemplateSchedulingLocalSsdRecoveryTimeoutToHclTerraform = exports.computeRegionInstanceTemplateSchedulingLocalSsdRecoveryTimeoutToTerraform = exports.ComputeRegionInstanceTemplateReservationAffinityOutputReference = exports.computeRegionInstanceTemplateReservationAffinityToHclTerraform = exports.computeRegionInstanceTemplateReservationAffinityToTerraform = exports.ComputeRegionInstanceTemplateReservationAffinitySpecificReservationOutputReference = exports.computeRegionInstanceTemplateReservationAffinitySpecificReservationToHclTerraform = exports.computeRegionInstanceTemplateReservationAffinitySpecificReservationToTerraform = exports.ComputeRegionInstanceTemplateNetworkPerformanceConfigOutputReference = exports.computeRegionInstanceTemplateNetworkPerformanceConfigToHclTerraform = exports.computeRegionInstanceTemplateNetworkPerformanceConfigToTerraform = exports.ComputeRegionInstanceTemplateNetworkInterfaceList = exports.ComputeRegionInstanceTemplateNetworkInterfaceOutputReference = exports.computeRegionInstanceTemplateNetworkInterfaceToHclTerraform = exports.computeRegionInstanceTemplateNetworkInterfaceToTerraform = exports.ComputeRegionInstanceTemplateNetworkInterfaceIpv6AccessConfigList = exports.ComputeRegionInstanceTemplateNetworkInterfaceIpv6AccessConfigOutputReference = exports.computeRegionInstanceTemplateNetworkInterfaceIpv6AccessConfigToHclTerraform = exports.computeRegionInstanceTemplateNetworkInterfaceIpv6AccessConfigToTerraform = exports.ComputeRegionInstanceTemplateNetworkInterfaceAliasIpRangeList = exports.ComputeRegionInstanceTemplateNetworkInterfaceAliasIpRangeOutputReference = exports.computeRegionInstanceTemplateNetworkInterfaceAliasIpRangeToHclTerraform = exports.computeRegionInstanceTemplateNetworkInterfaceAliasIpRangeToTerraform = exports.ComputeRegionInstanceTemplateNetworkInterfaceAccessConfigList = exports.ComputeRegionInstanceTemplateNetworkInterfaceAccessConfigOutputReference = exports.computeRegionInstanceTemplateNetworkInterfaceAccessConfigToHclTerraform = exports.computeRegionInstanceTemplateNetworkInterfaceAccessConfigToTerraform = exports.ComputeRegionInstanceTemplateGuestAcceleratorList = exports.ComputeRegionInstanceTemplateGuestAcceleratorOutputReference = exports.computeRegionInstanceTemplateGuestAcceleratorToHclTerraform = exports.computeRegionInstanceTemplateGuestAcceleratorToTerraform = exports.ComputeRegionInstanceTemplateDiskList = exports.ComputeRegionInstanceTemplateDiskOutputReference = exports.computeRegionInstanceTemplateDiskToHclTerraform = exports.computeRegionInstanceTemplateDiskToTerraform = exports.ComputeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyOutputReference = exports.computeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyToHclTerraform = exports.computeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyToTerraform = exports.ComputeRegionInstanceTemplateDiskSourceImageEncryptionKeyOutputReference = exports.computeRegionInstanceTemplateDiskSourceImageEncryptionKeyToHclTerraform = exports.computeRegionInstanceTemplateDiskSourceImageEncryptionKeyToTerraform = exports.ComputeRegionInstanceTemplateDiskDiskEncryptionKeyOutputReference = exports.computeRegionInstanceTemplateDiskDiskEncryptionKeyToHclTerraform = exports.computeRegionInstanceTemplateDiskDiskEncryptionKeyToTerraform = exports.ComputeRegionInstanceTemplateConfidentialInstanceConfigOutputReference = exports.computeRegionInstanceTemplateConfidentialInstanceConfigToHclTerraform = exports.computeRegionInstanceTemplateConfidentialInstanceConfigToTerraform = exports.ComputeRegionInstanceTemplateAdvancedMachineFeaturesOutputReference = exports.computeRegionInstanceTemplateAdvancedMachineFeaturesToHclTerraform = exports.computeRegionInstanceTemplateAdvancedMachineFeaturesToTerraform = void 0;
exports.ComputeRegionInstanceTemplate = exports.ComputeRegionInstanceTemplateTimeoutsOutputReference = exports.computeRegionInstanceTemplateTimeoutsToHclTerraform = exports.computeRegionInstanceTemplateTimeoutsToTerraform = exports.ComputeRegionInstanceTemplateShieldedInstanceConfigOutputReference = exports.computeRegionInstanceTemplateShieldedInstanceConfigToHclTerraform = exports.computeRegionInstanceTemplateShieldedInstanceConfigToTerraform = exports.ComputeRegionInstanceTemplateServiceAccountOutputReference = exports.computeRegionInstanceTemplateServiceAccountToHclTerraform = exports.computeRegionInstanceTemplateServiceAccountToTerraform = exports.ComputeRegionInstanceTemplateSchedulingOutputReference = exports.computeRegionInstanceTemplateSchedulingToHclTerraform = exports.computeRegionInstanceTemplateSchedulingToTerraform = exports.ComputeRegionInstanceTemplateSchedulingOnInstanceStopActionOutputReference = exports.computeRegionInstanceTemplateSchedulingOnInstanceStopActionToHclTerraform = exports.computeRegionInstanceTemplateSchedulingOnInstanceStopActionToTerraform = exports.ComputeRegionInstanceTemplateSchedulingNodeAffinitiesList = exports.ComputeRegionInstanceTemplateSchedulingNodeAffinitiesOutputReference = exports.computeRegionInstanceTemplateSchedulingNodeAffinitiesToHclTerraform = exports.computeRegionInstanceTemplateSchedulingNodeAffinitiesToTerraform = exports.ComputeRegionInstanceTemplateSchedulingMaxRunDurationOutputReference = exports.computeRegionInstanceTemplateSchedulingMaxRunDurationToHclTerraform = exports.computeRegionInstanceTemplateSchedulingMaxRunDurationToTerraform = exports.ComputeRegionInstanceTemplateSchedulingLocalSsdRecoveryTimeoutList = exports.ComputeRegionInstanceTemplateSchedulingLocalSsdRecoveryTimeoutOutputReference = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function computeRegionInstanceTemplateAdvancedMachineFeaturesToTerraform(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),
};
}
exports.computeRegionInstanceTemplateAdvancedMachineFeaturesToTerraform = computeRegionInstanceTemplateAdvancedMachineFeaturesToTerraform;
function computeRegionInstanceTemplateAdvancedMachineFeaturesToHclTerraform(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));
}
exports.computeRegionInstanceTemplateAdvancedMachineFeaturesToHclTerraform = computeRegionInstanceTemplateAdvancedMachineFeaturesToHclTerraform;
class ComputeRegionInstanceTemplateAdvancedMachineFeaturesOutputReference 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.ComputeRegionInstanceTemplateAdvancedMachineFeaturesOutputReference = ComputeRegionInstanceTemplateAdvancedMachineFeaturesOutputReference;
_a = JSII_RTTI_SYMBOL_1;
ComputeRegionInstanceTemplateAdvancedMachineFeaturesOutputReference[_a] = { fqn: "@cdktf/provider-google.computeRegionInstanceTemplate.ComputeRegionInstanceTemplateAdvancedMachineFeaturesOutputReference", version: "14.12.0" };
function computeRegionInstanceTemplateConfidentialInstanceConfigToTerraform(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),
enable_confidential_compute: cdktf.booleanToTerraform(struct.enableConfidentialCompute),
};
}
exports.computeRegionInstanceTemplateConfidentialInstanceConfigToTerraform = computeRegionInstanceTemplateConfidentialInstanceConfigToTerraform;
function computeRegionInstanceTemplateConfidentialInstanceConfigToHclTerraform(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",
},
enable_confidential_compute: {
value: cdktf.booleanToHclTerraform(struct.enableConfidentialCompute),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.computeRegionInstanceTemplateConfidentialInstanceConfigToHclTerraform = computeRegionInstanceTemplateConfidentialInstanceConfigToHclTerraform;
class ComputeRegionInstanceTemplateConfidentialInstanceConfigOutputReference 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;
}
if (this._enableConfidentialCompute !== undefined) {
hasAnyValues = true;
internalValueResult.enableConfidentialCompute = this._enableConfidentialCompute;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._confidentialInstanceType = undefined;
this._enableConfidentialCompute = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._confidentialInstanceType = value.confidentialInstanceType;
this._enableConfidentialCompute = value.enableConfidentialCompute;
}
}
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;
}
get enableConfidentialCompute() {
return this.getBooleanAttribute('enable_confidential_compute');
}
set enableConfidentialCompute(value) {
this._enableConfidentialCompute = value;
}
resetEnableConfidentialCompute() {
this._enableConfidentialCompute = undefined;
}
// Temporarily expose input value. Use with caution.
get enableConfidentialComputeInput() {
return this._enableConfidentialCompute;
}
}
exports.ComputeRegionInstanceTemplateConfidentialInstanceConfigOutputReference = ComputeRegionInstanceTemplateConfidentialInstanceConfigOutputReference;
_b = JSII_RTTI_SYMBOL_1;
ComputeRegionInstanceTemplateConfidentialInstanceConfigOutputReference[_b] = { fqn: "@cdktf/provider-google.computeRegionInstanceTemplate.ComputeRegionInstanceTemplateConfidentialInstanceConfigOutputReference", version: "14.12.0" };
function computeRegionInstanceTemplateDiskDiskEncryptionKeyToTerraform(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),
};
}
exports.computeRegionInstanceTemplateDiskDiskEncryptionKeyToTerraform = computeRegionInstanceTemplateDiskDiskEncryptionKeyToTerraform;
function computeRegionInstanceTemplateDiskDiskEncryptionKeyToHclTerraform(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",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.computeRegionInstanceTemplateDiskDiskEncryptionKeyToHclTerraform = computeRegionInstanceTemplateDiskDiskEncryptionKeyToHclTerraform;
class ComputeRegionInstanceTemplateDiskDiskEncryptionKeyOutputReference 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;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._kmsKeySelfLink = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._kmsKeySelfLink = value.kmsKeySelfLink;
}
}
get kmsKeySelfLink() {
return this.getStringAttribute('kms_key_self_link');
}
set kmsKeySelfLink(value) {
this._kmsKeySelfLink = value;
}
// Temporarily expose input value. Use with caution.
get kmsKeySelfLinkInput() {
return this._kmsKeySelfLink;
}
}
exports.ComputeRegionInstanceTemplateDiskDiskEncryptionKeyOutputReference = ComputeRegionInstanceTemplateDiskDiskEncryptionKeyOutputReference;
_c = JSII_RTTI_SYMBOL_1;
ComputeRegionInstanceTemplateDiskDiskEncryptionKeyOutputReference[_c] = { fqn: "@cdktf/provider-google.computeRegionInstanceTemplate.ComputeRegionInstanceTemplateDiskDiskEncryptionKeyOutputReference", version: "14.12.0" };
function computeRegionInstanceTemplateDiskSourceImageEncryptionKeyToTerraform(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),
};
}
exports.computeRegionInstanceTemplateDiskSourceImageEncryptionKeyToTerraform = computeRegionInstanceTemplateDiskSourceImageEncryptionKeyToTerraform;
function computeRegionInstanceTemplateDiskSourceImageEncryptionKeyToHclTerraform(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",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.computeRegionInstanceTemplateDiskSourceImageEncryptionKeyToHclTerraform = computeRegionInstanceTemplateDiskSourceImageEncryptionKeyToHclTerraform;
class ComputeRegionInstanceTemplateDiskSourceImageEncryptionKeyOutputReference 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;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._kmsKeySelfLink = undefined;
this._kmsKeyServiceAccount = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._kmsKeySelfLink = value.kmsKeySelfLink;
this._kmsKeyServiceAccount = value.kmsKeyServiceAccount;
}
}
get kmsKeySelfLink() {
return this.getStringAttribute('kms_key_self_link');
}
set kmsKeySelfLink(value) {
this._kmsKeySelfLink = value;
}
// 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;
}
}
exports.ComputeRegionInstanceTemplateDiskSourceImageEncryptionKeyOutputReference = ComputeRegionInstanceTemplateDiskSourceImageEncryptionKeyOutputReference;
_d = JSII_RTTI_SYMBOL_1;
ComputeRegionInstanceTemplateDiskSourceImageEncryptionKeyOutputReference[_d] = { fqn: "@cdktf/provider-google.computeRegionInstanceTemplate.ComputeRegionInstanceTemplateDiskSourceImageEncryptionKeyOutputReference", version: "14.12.0" };
function computeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyToTerraform(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),
};
}
exports.computeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyToTerraform = computeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyToTerraform;
function computeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyToHclTerraform(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",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.computeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyToHclTerraform = computeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyToHclTerraform;
class ComputeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyOutputReference 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;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._kmsKeySelfLink = undefined;
this._kmsKeyServiceAccount = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._kmsKeySelfLink = value.kmsKeySelfLink;
this._kmsKeyServiceAccount = value.kmsKeyServiceAccount;
}
}
get kmsKeySelfLink() {
return this.getStringAttribute('kms_key_self_link');
}
set kmsKeySelfLink(value) {
this._kmsKeySelfLink = value;
}
// 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;
}
}
exports.ComputeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyOutputReference = ComputeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyOutputReference;
_e = JSII_RTTI_SYMBOL_1;
ComputeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyOutputReference[_e] = { fqn: "@cdktf/provider-google.computeRegionInstanceTemplate.ComputeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyOutputReference", version: "14.12.0" };
function computeRegionInstanceTemplateDiskToTerraform(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 {
auto_delete: cdktf.booleanToTerraform(struct.autoDelete),
boot: cdktf.booleanToTerraform(struct.boot),
device_name: cdktf.stringToTerraform(struct.deviceName),
disk_name: cdktf.stringToTerraform(struct.diskName),
disk_size_gb: cdktf.numberToTerraform(struct.diskSizeGb),
disk_type: cdktf.stringToTerraform(struct.diskType),
interface: cdktf.stringToTerraform(struct.interface),
labels: cdktf.hashMapper(cdktf.stringToTerraform)(struct.labels),
mode: cdktf.stringToTerraform(struct.mode),
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),
source: cdktf.stringToTerraform(struct.source),
source_image: cdktf.stringToTerraform(struct.sourceImage),
source_snapshot: cdktf.stringToTerraform(struct.sourceSnapshot),
type: cdktf.stringToTerraform(struct.type),
disk_encryption_key: computeRegionInstanceTemplateDiskDiskEncryptionKeyToTerraform(struct.diskEncryptionKey),
source_image_encryption_key: computeRegionInstanceTemplateDiskSourceImageEncryptionKeyToTerraform(struct.sourceImageEncryptionKey),
source_snapshot_encryption_key: computeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyToTerraform(struct.sourceSnapshotEncryptionKey),
};
}
exports.computeRegionInstanceTemplateDiskToTerraform = computeRegionInstanceTemplateDiskToTerraform;
function computeRegionInstanceTemplateDiskToHclTerraform(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 = {
auto_delete: {
value: cdktf.booleanToHclTerraform(struct.autoDelete),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
boot: {
value: cdktf.booleanToHclTerraform(struct.boot),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
device_name: {
value: cdktf.stringToHclTerraform(struct.deviceName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
disk_name: {
value: cdktf.stringToHclTerraform(struct.diskName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
disk_size_gb: {
value: cdktf.numberToHclTerraform(struct.diskSizeGb),
isBlock: false,
type: "simple",
storageClassType: "number",
},
disk_type: {
value: cdktf.stringToHclTerraform(struct.diskType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
interface: {
value: cdktf.stringToHclTerraform(struct.interface),
isBlock: false,
type: "simple",
storageClassType: "string",
},
labels: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.labels),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
mode: {
value: cdktf.stringToHclTerraform(struct.mode),
isBlock: false,
type: "simple",
storageClassType: "string",
},
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",
},
source: {
value: cdktf.stringToHclTerraform(struct.source),
isBlock: false,
type: "simple",
storageClassType: "string",
},
source_image: {
value: cdktf.stringToHclTerraform(struct.sourceImage),
isBlock: false,
type: "simple",
storageClassType: "string",
},
source_snapshot: {
value: cdktf.stringToHclTerraform(struct.sourceSnapshot),
isBlock: false,
type: "simple",
storageClassType: "string",
},
type: {
value: cdktf.stringToHclTerraform(struct.type),
isBlock: false,
type: "simple",
storageClassType: "string",
},
disk_encryption_key: {
value: computeRegionInstanceTemplateDiskDiskEncryptionKeyToHclTerraform(struct.diskEncryptionKey),
isBlock: true,
type: "list",
storageClassType: "ComputeRegionInstanceTemplateDiskDiskEncryptionKeyList",
},
source_image_encryption_key: {
value: computeRegionInstanceTemplateDiskSourceImageEncryptionKeyToHclTerraform(struct.sourceImageEncryptionKey),
isBlock: true,
type: "list",
storageClassType: "ComputeRegionInstanceTemplateDiskSourceImageEncryptionKeyList",
},
source_snapshot_encryption_key: {
value: computeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyToHclTerraform(struct.sourceSnapshotEncryptionKey),
isBlock: true,
type: "list",
storageClassType: "ComputeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.computeRegionInstanceTemplateDiskToHclTerraform = computeRegionInstanceTemplateDiskToHclTerraform;
class ComputeRegionInstanceTemplateDiskOutputReference 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;
// disk_encryption_key - computed: false, optional: true, required: false
this._diskEncryptionKey = new ComputeRegionInstanceTemplateDiskDiskEncryptionKeyOutputReference(this, "disk_encryption_key");
// source_image_encryption_key - computed: false, optional: true, required: false
this._sourceImageEncryptionKey = new ComputeRegionInstanceTemplateDiskSourceImageEncryptionKeyOutputReference(this, "source_image_encryption_key");
// source_snapshot_encryption_key - computed: false, optional: true, required: false
this._sourceSnapshotEncryptionKey = new ComputeRegionInstanceTemplateDiskSourceSnapshotEncryptionKeyOutputReference(this, "source_snapshot_encryption_key");
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._autoDelete !== undefined) {
hasAnyValues = true;
internalValueResult.autoDelete = this._autoDelete;
}
if (this._boot !== undefined) {
hasAnyValues = true;
internalValueResult.boot = this._boot;
}
if (this._deviceName !== undefined) {
hasAnyValues = true;
internalValueResult.deviceName = this._deviceName;
}
if (this._diskName !== undefined) {
hasAnyValues = true;
internalValueResult.diskName = this._diskName;
}
if (this._diskSizeGb !== undefined) {
hasAnyValues = true;
internalValueResult.diskSizeGb = this._diskSizeGb;
}
if (this._diskType !== undefined) {
hasAnyValues = true;
internalValueResult.diskType = this._diskType;
}
if (this._interface !== undefined) {
hasAnyValues = true;
internalValueResult.interface = this._interface;
}
if (this._labels !== undefined) {
hasAnyValues = true;
internalValueResult.labels = this._labels;
}
if (this._mode !== undefined) {
hasAnyValues = true;
internalValueResult.mode = this._mode;
}
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._source !== undefined) {
hasAnyValues = true;
internalValueResult.source = this._source;
}
if (this._sourceImage !== undefined) {
hasAnyValues = true;
internalValueResult.sourceImage = this._sourceImage;
}
if (this._sourceSnapshot !== undefined) {
hasAnyValues = true;
internalValueResult.sourceSnapshot = this._sourceSnapshot;
}
if (this._type !== undefined) {
hasAnyValues = true;
internalValueResult.type = this._type;
}
if (this._diskEncryptionKey?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.diskEncryptionKey = this._diskEncryptionKey?.internalValue;
}
if (this._sourceImageEncryptionKey?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.sourceImageEncryptionKey = this._sourceImageEncryptionKey?.internalValue;
}
if (this._sourceSnapshotEncryptionKey?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.sourceSnapshotEncryptionKey = this._sourceSnapshotEncryptionKey?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._autoDelete = undefined;
this._boot = undefined;
this._deviceName = undefined;
this._diskName = undefined;
this._diskSizeGb = undefined;
this._diskType = undefined;
this._interface = undefined;
this._labels = undefined;
this._mode = undefined;
this._provisionedIops = undefined;
this._provisionedThroughput = undefined;
this._resourceManagerTags = undefined;
this._resourcePolicies = undefined;
this._source = undefined;
this._sourceImage = undefined;
this._sourceSnapshot = undefined;
this._type = undefined;
this._diskEncryptionKey.internalValue = undefined;
this._sourceImageEncryptionKey.internalValue = undefined;
this._sourceSnapshotEncryptionKey.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._autoDelete = value.autoDelete;
this._boot = value.boot;
this._deviceName = value.deviceName;
this._diskName = value.diskName;
this._diskSizeGb = value.diskSizeGb;
this._diskType = value.diskType;
this._interface = value.interface;
this._labels = value.labels;
this._mode = value.mode;
this._provisionedIops = value.provisionedIops;
this._provisionedThroughput = value.provisionedThroughput;
this._resourceManagerTags = value.resourceManagerTags;
this._resourcePolicies = value.resourcePolicies;
this._source = value.source;
this._sourceImage = value.sourceImage;
this._sourceSnapshot = value.sourceSnapshot;
this._type = value.type;
this._diskEncryptionKey.internalValue = value.diskEncryptionKey;
this._sourceImageEncryptionKey.internalValue = value.sourceImageEncryptionKey;
this._sourceSnapshotEncryptionKey.internalValue = value.sourceSnapshotEncryptionKey;
}
}
get autoDelete() {
return this.getBooleanAttribute('auto_delete');
}
set autoDelete(value) {
this._autoDelete = value;
}
resetAutoDelete() {
this._autoDelete = undefined;
}
// Temporarily expose input value. Use with caution.
get autoDeleteInput() {
return this._autoDelete;
}
get boot() {
return this.getBooleanAttribute('boot');
}
set boot(value) {
this._boot = value;
}
resetBoot() {
this._boot = undefined;
}
// Temporarily expose input value. Use with caution.
get bootInput() {
return this._boot;
}
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 diskName() {
return this.getStringAttribute('disk_name');
}
set diskName(value) {
this._diskName = value;
}
resetDiskName() {
this._diskName = undefined;
}
// Temporarily expose input value. Use with caution.
get diskNameInput() {
return this._diskName;
}
get diskSizeGb() {
return this.getNumberAttribute('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 interface() {
return this.getStringAttribute('interface');
}
set interface(value) {
this._interface = value;
}
resetInterface() {
this._interface = undefined;
}
// Temporarily expose input value. Use with caution.
get interfaceInput() {
return this._interface;
}
get labels() {
return this.getStringMapAttribute('labels');
}
set labels(value) {
this._labels = value;
}
resetLabels() {
this._labels = undefined;
}
// Temporarily expose input value. Use with caution.
get labelsInput() {
return this._labels;
}
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 provisionedIops() {
return this.getNumberAttribute('provisioned_iops');
}
set provisionedIops(value) {
this._provisionedIops = value;
}
resetProvisionedIops() {
this._provisionedIops = undefined;
}
// Temporarily expose input value. Use with caution.
get provisionedIopsInput() {
return this._provisionedIops;
}
get provisionedThroughput() {
return this.getNumberAttribute('provisioned_throughput');
}
set provisionedThroughput(value) {
this._provisionedThroughput = value;
}
resetProvisionedThroughput() {
this._provisionedThroughput = undefined;
}
// Temporarily expose input value. Use with caution.
get provisionedThroughputInput() {
return this._provisionedThroughput;
}
get resourceManagerTags() {
return this.getStringMapAttribute('resource_manager_tags');
}
set resourceManagerTags(value) {
this._resourceManagerTags = value;
}
resetResourceManagerTags() {
this._resourceManagerTags = undefined;
}
// Temporarily expose input value. Use with caution.
get resourceManagerTagsInput() {