UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,173 lines 305 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r; Object.defineProperty(exports, "__esModule", { value: true }); exports.ContainerAwsNodePool = exports.ContainerAwsNodePoolUpdateSettingsOutputReference = exports.containerAwsNodePoolUpdateSettingsToHclTerraform = exports.containerAwsNodePoolUpdateSettingsToTerraform = exports.ContainerAwsNodePoolUpdateSettingsSurgeSettingsOutputReference = exports.containerAwsNodePoolUpdateSettingsSurgeSettingsToHclTerraform = exports.containerAwsNodePoolUpdateSettingsSurgeSettingsToTerraform = exports.ContainerAwsNodePoolTimeoutsOutputReference = exports.containerAwsNodePoolTimeoutsToHclTerraform = exports.containerAwsNodePoolTimeoutsToTerraform = exports.ContainerAwsNodePoolMaxPodsConstraintOutputReference = exports.containerAwsNodePoolMaxPodsConstraintToHclTerraform = exports.containerAwsNodePoolMaxPodsConstraintToTerraform = exports.ContainerAwsNodePoolManagementOutputReference = exports.containerAwsNodePoolManagementToHclTerraform = exports.containerAwsNodePoolManagementToTerraform = exports.ContainerAwsNodePoolKubeletConfigOutputReference = exports.containerAwsNodePoolKubeletConfigToHclTerraform = exports.containerAwsNodePoolKubeletConfigToTerraform = exports.ContainerAwsNodePoolConfigAOutputReference = exports.containerAwsNodePoolConfigAToHclTerraform = exports.containerAwsNodePoolConfigAToTerraform = exports.ContainerAwsNodePoolConfigTaintsList = exports.ContainerAwsNodePoolConfigTaintsOutputReference = exports.containerAwsNodePoolConfigTaintsToHclTerraform = exports.containerAwsNodePoolConfigTaintsToTerraform = exports.ContainerAwsNodePoolConfigSshConfigOutputReference = exports.containerAwsNodePoolConfigSshConfigToHclTerraform = exports.containerAwsNodePoolConfigSshConfigToTerraform = exports.ContainerAwsNodePoolConfigRootVolumeOutputReference = exports.containerAwsNodePoolConfigRootVolumeToHclTerraform = exports.containerAwsNodePoolConfigRootVolumeToTerraform = exports.ContainerAwsNodePoolConfigProxyConfigOutputReference = exports.containerAwsNodePoolConfigProxyConfigToHclTerraform = exports.containerAwsNodePoolConfigProxyConfigToTerraform = exports.ContainerAwsNodePoolConfigConfigEncryptionOutputReference = exports.containerAwsNodePoolConfigConfigEncryptionToHclTerraform = exports.containerAwsNodePoolConfigConfigEncryptionToTerraform = exports.ContainerAwsNodePoolConfigAutoscalingMetricsCollectionOutputReference = exports.containerAwsNodePoolConfigAutoscalingMetricsCollectionToHclTerraform = exports.containerAwsNodePoolConfigAutoscalingMetricsCollectionToTerraform = exports.ContainerAwsNodePoolAutoscalingOutputReference = exports.containerAwsNodePoolAutoscalingToHclTerraform = exports.containerAwsNodePoolAutoscalingToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function containerAwsNodePoolAutoscalingToTerraform(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 { max_node_count: cdktf.numberToTerraform(struct.maxNodeCount), min_node_count: cdktf.numberToTerraform(struct.minNodeCount), }; } exports.containerAwsNodePoolAutoscalingToTerraform = containerAwsNodePoolAutoscalingToTerraform; function containerAwsNodePoolAutoscalingToHclTerraform(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 = { max_node_count: { value: cdktf.numberToHclTerraform(struct.maxNodeCount), isBlock: false, type: "simple", storageClassType: "number", }, min_node_count: { value: cdktf.numberToHclTerraform(struct.minNodeCount), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.containerAwsNodePoolAutoscalingToHclTerraform = containerAwsNodePoolAutoscalingToHclTerraform; class ContainerAwsNodePoolAutoscalingOutputReference 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._maxNodeCount !== undefined) { hasAnyValues = true; internalValueResult.maxNodeCount = this._maxNodeCount; } if (this._minNodeCount !== undefined) { hasAnyValues = true; internalValueResult.minNodeCount = this._minNodeCount; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._maxNodeCount = undefined; this._minNodeCount = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._maxNodeCount = value.maxNodeCount; this._minNodeCount = value.minNodeCount; } } get maxNodeCount() { return this.getNumberAttribute('max_node_count'); } set maxNodeCount(value) { this._maxNodeCount = value; } // Temporarily expose input value. Use with caution. get maxNodeCountInput() { return this._maxNodeCount; } get minNodeCount() { return this.getNumberAttribute('min_node_count'); } set minNodeCount(value) { this._minNodeCount = value; } // Temporarily expose input value. Use with caution. get minNodeCountInput() { return this._minNodeCount; } } exports.ContainerAwsNodePoolAutoscalingOutputReference = ContainerAwsNodePoolAutoscalingOutputReference; _a = JSII_RTTI_SYMBOL_1; ContainerAwsNodePoolAutoscalingOutputReference[_a] = { fqn: "@cdktf/provider-google.containerAwsNodePool.ContainerAwsNodePoolAutoscalingOutputReference", version: "14.12.0" }; function containerAwsNodePoolConfigAutoscalingMetricsCollectionToTerraform(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 { granularity: cdktf.stringToTerraform(struct.granularity), metrics: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.metrics), }; } exports.containerAwsNodePoolConfigAutoscalingMetricsCollectionToTerraform = containerAwsNodePoolConfigAutoscalingMetricsCollectionToTerraform; function containerAwsNodePoolConfigAutoscalingMetricsCollectionToHclTerraform(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 = { granularity: { value: cdktf.stringToHclTerraform(struct.granularity), isBlock: false, type: "simple", storageClassType: "string", }, metrics: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.metrics), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.containerAwsNodePoolConfigAutoscalingMetricsCollectionToHclTerraform = containerAwsNodePoolConfigAutoscalingMetricsCollectionToHclTerraform; class ContainerAwsNodePoolConfigAutoscalingMetricsCollectionOutputReference 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._granularity !== undefined) { hasAnyValues = true; internalValueResult.granularity = this._granularity; } if (this._metrics !== undefined) { hasAnyValues = true; internalValueResult.metrics = this._metrics; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._granularity = undefined; this._metrics = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._granularity = value.granularity; this._metrics = value.metrics; } } get granularity() { return this.getStringAttribute('granularity'); } set granularity(value) { this._granularity = value; } // Temporarily expose input value. Use with caution. get granularityInput() { return this._granularity; } get metrics() { return this.getListAttribute('metrics'); } set metrics(value) { this._metrics = value; } resetMetrics() { this._metrics = undefined; } // Temporarily expose input value. Use with caution. get metricsInput() { return this._metrics; } } exports.ContainerAwsNodePoolConfigAutoscalingMetricsCollectionOutputReference = ContainerAwsNodePoolConfigAutoscalingMetricsCollectionOutputReference; _b = JSII_RTTI_SYMBOL_1; ContainerAwsNodePoolConfigAutoscalingMetricsCollectionOutputReference[_b] = { fqn: "@cdktf/provider-google.containerAwsNodePool.ContainerAwsNodePoolConfigAutoscalingMetricsCollectionOutputReference", version: "14.12.0" }; function containerAwsNodePoolConfigConfigEncryptionToTerraform(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_arn: cdktf.stringToTerraform(struct.kmsKeyArn), }; } exports.containerAwsNodePoolConfigConfigEncryptionToTerraform = containerAwsNodePoolConfigConfigEncryptionToTerraform; function containerAwsNodePoolConfigConfigEncryptionToHclTerraform(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_arn: { value: cdktf.stringToHclTerraform(struct.kmsKeyArn), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.containerAwsNodePoolConfigConfigEncryptionToHclTerraform = containerAwsNodePoolConfigConfigEncryptionToHclTerraform; class ContainerAwsNodePoolConfigConfigEncryptionOutputReference 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._kmsKeyArn !== undefined) { hasAnyValues = true; internalValueResult.kmsKeyArn = this._kmsKeyArn; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._kmsKeyArn = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._kmsKeyArn = value.kmsKeyArn; } } get kmsKeyArn() { return this.getStringAttribute('kms_key_arn'); } set kmsKeyArn(value) { this._kmsKeyArn = value; } // Temporarily expose input value. Use with caution. get kmsKeyArnInput() { return this._kmsKeyArn; } } exports.ContainerAwsNodePoolConfigConfigEncryptionOutputReference = ContainerAwsNodePoolConfigConfigEncryptionOutputReference; _c = JSII_RTTI_SYMBOL_1; ContainerAwsNodePoolConfigConfigEncryptionOutputReference[_c] = { fqn: "@cdktf/provider-google.containerAwsNodePool.ContainerAwsNodePoolConfigConfigEncryptionOutputReference", version: "14.12.0" }; function containerAwsNodePoolConfigProxyConfigToTerraform(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 { secret_arn: cdktf.stringToTerraform(struct.secretArn), secret_version: cdktf.stringToTerraform(struct.secretVersion), }; } exports.containerAwsNodePoolConfigProxyConfigToTerraform = containerAwsNodePoolConfigProxyConfigToTerraform; function containerAwsNodePoolConfigProxyConfigToHclTerraform(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 = { secret_arn: { value: cdktf.stringToHclTerraform(struct.secretArn), isBlock: false, type: "simple", storageClassType: "string", }, secret_version: { value: cdktf.stringToHclTerraform(struct.secretVersion), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.containerAwsNodePoolConfigProxyConfigToHclTerraform = containerAwsNodePoolConfigProxyConfigToHclTerraform; class ContainerAwsNodePoolConfigProxyConfigOutputReference 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._secretArn !== undefined) { hasAnyValues = true; internalValueResult.secretArn = this._secretArn; } if (this._secretVersion !== undefined) { hasAnyValues = true; internalValueResult.secretVersion = this._secretVersion; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._secretArn = undefined; this._secretVersion = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._secretArn = value.secretArn; this._secretVersion = value.secretVersion; } } get secretArn() { return this.getStringAttribute('secret_arn'); } set secretArn(value) { this._secretArn = value; } // Temporarily expose input value. Use with caution. get secretArnInput() { return this._secretArn; } get secretVersion() { return this.getStringAttribute('secret_version'); } set secretVersion(value) { this._secretVersion = value; } // Temporarily expose input value. Use with caution. get secretVersionInput() { return this._secretVersion; } } exports.ContainerAwsNodePoolConfigProxyConfigOutputReference = ContainerAwsNodePoolConfigProxyConfigOutputReference; _d = JSII_RTTI_SYMBOL_1; ContainerAwsNodePoolConfigProxyConfigOutputReference[_d] = { fqn: "@cdktf/provider-google.containerAwsNodePool.ContainerAwsNodePoolConfigProxyConfigOutputReference", version: "14.12.0" }; function containerAwsNodePoolConfigRootVolumeToTerraform(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 { iops: cdktf.numberToTerraform(struct.iops), kms_key_arn: cdktf.stringToTerraform(struct.kmsKeyArn), size_gib: cdktf.numberToTerraform(struct.sizeGib), throughput: cdktf.numberToTerraform(struct.throughput), volume_type: cdktf.stringToTerraform(struct.volumeType), }; } exports.containerAwsNodePoolConfigRootVolumeToTerraform = containerAwsNodePoolConfigRootVolumeToTerraform; function containerAwsNodePoolConfigRootVolumeToHclTerraform(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 = { iops: { value: cdktf.numberToHclTerraform(struct.iops), isBlock: false, type: "simple", storageClassType: "number", }, kms_key_arn: { value: cdktf.stringToHclTerraform(struct.kmsKeyArn), isBlock: false, type: "simple", storageClassType: "string", }, size_gib: { value: cdktf.numberToHclTerraform(struct.sizeGib), isBlock: false, type: "simple", storageClassType: "number", }, throughput: { value: cdktf.numberToHclTerraform(struct.throughput), isBlock: false, type: "simple", storageClassType: "number", }, volume_type: { value: cdktf.stringToHclTerraform(struct.volumeType), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.containerAwsNodePoolConfigRootVolumeToHclTerraform = containerAwsNodePoolConfigRootVolumeToHclTerraform; class ContainerAwsNodePoolConfigRootVolumeOutputReference 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._iops !== undefined) { hasAnyValues = true; internalValueResult.iops = this._iops; } if (this._kmsKeyArn !== undefined) { hasAnyValues = true; internalValueResult.kmsKeyArn = this._kmsKeyArn; } if (this._sizeGib !== undefined) { hasAnyValues = true; internalValueResult.sizeGib = this._sizeGib; } if (this._throughput !== undefined) { hasAnyValues = true; internalValueResult.throughput = this._throughput; } if (this._volumeType !== undefined) { hasAnyValues = true; internalValueResult.volumeType = this._volumeType; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._iops = undefined; this._kmsKeyArn = undefined; this._sizeGib = undefined; this._throughput = undefined; this._volumeType = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._iops = value.iops; this._kmsKeyArn = value.kmsKeyArn; this._sizeGib = value.sizeGib; this._throughput = value.throughput; this._volumeType = value.volumeType; } } get iops() { return this.getNumberAttribute('iops'); } set iops(value) { this._iops = value; } resetIops() { this._iops = undefined; } // Temporarily expose input value. Use with caution. get iopsInput() { return this._iops; } get kmsKeyArn() { return this.getStringAttribute('kms_key_arn'); } set kmsKeyArn(value) { this._kmsKeyArn = value; } resetKmsKeyArn() { this._kmsKeyArn = undefined; } // Temporarily expose input value. Use with caution. get kmsKeyArnInput() { return this._kmsKeyArn; } get sizeGib() { return this.getNumberAttribute('size_gib'); } set sizeGib(value) { this._sizeGib = value; } resetSizeGib() { this._sizeGib = undefined; } // Temporarily expose input value. Use with caution. get sizeGibInput() { return this._sizeGib; } get throughput() { return this.getNumberAttribute('throughput'); } set throughput(value) { this._throughput = value; } resetThroughput() { this._throughput = undefined; } // Temporarily expose input value. Use with caution. get throughputInput() { return this._throughput; } get volumeType() { return this.getStringAttribute('volume_type'); } set volumeType(value) { this._volumeType = value; } resetVolumeType() { this._volumeType = undefined; } // Temporarily expose input value. Use with caution. get volumeTypeInput() { return this._volumeType; } } exports.ContainerAwsNodePoolConfigRootVolumeOutputReference = ContainerAwsNodePoolConfigRootVolumeOutputReference; _e = JSII_RTTI_SYMBOL_1; ContainerAwsNodePoolConfigRootVolumeOutputReference[_e] = { fqn: "@cdktf/provider-google.containerAwsNodePool.ContainerAwsNodePoolConfigRootVolumeOutputReference", version: "14.12.0" }; function containerAwsNodePoolConfigSshConfigToTerraform(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 { ec2_key_pair: cdktf.stringToTerraform(struct.ec2KeyPair), }; } exports.containerAwsNodePoolConfigSshConfigToTerraform = containerAwsNodePoolConfigSshConfigToTerraform; function containerAwsNodePoolConfigSshConfigToHclTerraform(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 = { ec2_key_pair: { value: cdktf.stringToHclTerraform(struct.ec2KeyPair), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.containerAwsNodePoolConfigSshConfigToHclTerraform = containerAwsNodePoolConfigSshConfigToHclTerraform; class ContainerAwsNodePoolConfigSshConfigOutputReference 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._ec2KeyPair !== undefined) { hasAnyValues = true; internalValueResult.ec2KeyPair = this._ec2KeyPair; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._ec2KeyPair = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._ec2KeyPair = value.ec2KeyPair; } } get ec2KeyPair() { return this.getStringAttribute('ec2_key_pair'); } set ec2KeyPair(value) { this._ec2KeyPair = value; } // Temporarily expose input value. Use with caution. get ec2KeyPairInput() { return this._ec2KeyPair; } } exports.ContainerAwsNodePoolConfigSshConfigOutputReference = ContainerAwsNodePoolConfigSshConfigOutputReference; _f = JSII_RTTI_SYMBOL_1; ContainerAwsNodePoolConfigSshConfigOutputReference[_f] = { fqn: "@cdktf/provider-google.containerAwsNodePool.ContainerAwsNodePoolConfigSshConfigOutputReference", version: "14.12.0" }; function containerAwsNodePoolConfigTaintsToTerraform(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 { effect: cdktf.stringToTerraform(struct.effect), key: cdktf.stringToTerraform(struct.key), value: cdktf.stringToTerraform(struct.value), }; } exports.containerAwsNodePoolConfigTaintsToTerraform = containerAwsNodePoolConfigTaintsToTerraform; function containerAwsNodePoolConfigTaintsToHclTerraform(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 = { effect: { value: cdktf.stringToHclTerraform(struct.effect), isBlock: false, type: "simple", storageClassType: "string", }, key: { value: cdktf.stringToHclTerraform(struct.key), isBlock: false, type: "simple", storageClassType: "string", }, value: { value: cdktf.stringToHclTerraform(struct.value), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.containerAwsNodePoolConfigTaintsToHclTerraform = containerAwsNodePoolConfigTaintsToHclTerraform; class ContainerAwsNodePoolConfigTaintsOutputReference 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._effect !== undefined) { hasAnyValues = true; internalValueResult.effect = this._effect; } if (this._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._effect = undefined; this._key = undefined; this._value = 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._effect = value.effect; this._key = value.key; this._value = value.value; } } get effect() { return this.getStringAttribute('effect'); } set effect(value) { this._effect = value; } // Temporarily expose input value. Use with caution. get effectInput() { return this._effect; } get key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } get value() { return this.getStringAttribute('value'); } set value(value) { this._value = value; } // Temporarily expose input value. Use with caution. get valueInput() { return this._value; } } exports.ContainerAwsNodePoolConfigTaintsOutputReference = ContainerAwsNodePoolConfigTaintsOutputReference; _g = JSII_RTTI_SYMBOL_1; ContainerAwsNodePoolConfigTaintsOutputReference[_g] = { fqn: "@cdktf/provider-google.containerAwsNodePool.ContainerAwsNodePoolConfigTaintsOutputReference", version: "14.12.0" }; class ContainerAwsNodePoolConfigTaintsList 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 ContainerAwsNodePoolConfigTaintsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ContainerAwsNodePoolConfigTaintsList = ContainerAwsNodePoolConfigTaintsList; _h = JSII_RTTI_SYMBOL_1; ContainerAwsNodePoolConfigTaintsList[_h] = { fqn: "@cdktf/provider-google.containerAwsNodePool.ContainerAwsNodePoolConfigTaintsList", version: "14.12.0" }; function containerAwsNodePoolConfigAToTerraform(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 { iam_instance_profile: cdktf.stringToTerraform(struct.iamInstanceProfile), instance_type: cdktf.stringToTerraform(struct.instanceType), labels: cdktf.hashMapper(cdktf.stringToTerraform)(struct.labels), security_group_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.securityGroupIds), tags: cdktf.hashMapper(cdktf.stringToTerraform)(struct.tags), autoscaling_metrics_collection: containerAwsNodePoolConfigAutoscalingMetricsCollectionToTerraform(struct.autoscalingMetricsCollection), config_encryption: containerAwsNodePoolConfigConfigEncryptionToTerraform(struct.configEncryption), proxy_config: containerAwsNodePoolConfigProxyConfigToTerraform(struct.proxyConfig), root_volume: containerAwsNodePoolConfigRootVolumeToTerraform(struct.rootVolume), ssh_config: containerAwsNodePoolConfigSshConfigToTerraform(struct.sshConfig), taints: cdktf.listMapper(containerAwsNodePoolConfigTaintsToTerraform, true)(struct.taints), }; } exports.containerAwsNodePoolConfigAToTerraform = containerAwsNodePoolConfigAToTerraform; function containerAwsNodePoolConfigAToHclTerraform(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 = { iam_instance_profile: { value: cdktf.stringToHclTerraform(struct.iamInstanceProfile), isBlock: false, type: "simple", storageClassType: "string", }, instance_type: { value: cdktf.stringToHclTerraform(struct.instanceType), isBlock: false, type: "simple", storageClassType: "string", }, labels: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.labels), isBlock: false, type: "map", storageClassType: "stringMap", }, security_group_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.securityGroupIds), isBlock: false, type: "list", storageClassType: "stringList", }, tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.tags), isBlock: false, type: "map", storageClassType: "stringMap", }, autoscaling_metrics_collection: { value: containerAwsNodePoolConfigAutoscalingMetricsCollectionToHclTerraform(struct.autoscalingMetricsCollection), isBlock: true, type: "list", storageClassType: "ContainerAwsNodePoolConfigAutoscalingMetricsCollectionList", }, config_encryption: { value: containerAwsNodePoolConfigConfigEncryptionToHclTerraform(struct.configEncryption), isBlock: true, type: "list", storageClassType: "ContainerAwsNodePoolConfigConfigEncryptionList", }, proxy_config: { value: containerAwsNodePoolConfigProxyConfigToHclTerraform(struct.proxyConfig), isBlock: true, type: "list", storageClassType: "ContainerAwsNodePoolConfigProxyConfigList", }, root_volume: { value: containerAwsNodePoolConfigRootVolumeToHclTerraform(struct.rootVolume), isBlock: true, type: "list", storageClassType: "ContainerAwsNodePoolConfigRootVolumeList", }, ssh_config: { value: containerAwsNodePoolConfigSshConfigToHclTerraform(struct.sshConfig), isBlock: true, type: "list", storageClassType: "ContainerAwsNodePoolConfigSshConfigList", }, taints: { value: cdktf.listMapperHcl(containerAwsNodePoolConfigTaintsToHclTerraform, true)(struct.taints), isBlock: true, type: "list", storageClassType: "ContainerAwsNodePoolConfigTaintsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.containerAwsNodePoolConfigAToHclTerraform = containerAwsNodePoolConfigAToHclTerraform; class ContainerAwsNodePoolConfigAOutputReference 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; // autoscaling_metrics_collection - computed: false, optional: true, required: false this._autoscalingMetricsCollection = new ContainerAwsNodePoolConfigAutoscalingMetricsCollectionOutputReference(this, "autoscaling_metrics_collection"); // config_encryption - computed: false, optional: false, required: true this._configEncryption = new ContainerAwsNodePoolConfigConfigEncryptionOutputReference(this, "config_encryption"); // proxy_config - computed: false, optional: true, required: false this._proxyConfig = new ContainerAwsNodePoolConfigProxyConfigOutputReference(this, "proxy_config"); // root_volume - computed: false, optional: true, required: false this._rootVolume = new ContainerAwsNodePoolConfigRootVolumeOutputReference(this, "root_volume"); // ssh_config - computed: false, optional: true, required: false this._sshConfig = new ContainerAwsNodePoolConfigSshConfigOutputReference(this, "ssh_config"); // taints - computed: false, optional: true, required: false this._taints = new ContainerAwsNodePoolConfigTaintsList(this, "taints", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._iamInstanceProfile !== undefined) { hasAnyValues = true; internalValueResult.iamInstanceProfile = this._iamInstanceProfile; } if (this._instanceType !== undefined) { hasAnyValues = true; internalValueResult.instanceType = this._instanceType; } if (this._labels !== undefined) { hasAnyValues = true; internalValueResult.labels = this._labels; } if (this._securityGroupIds !== undefined) { hasAnyValues = true; internalValueResult.securityGroupIds = this._securityGroupIds; } if (this._tags !== undefined) { hasAnyValues = true; internalValueResult.tags = this._tags; } if (this._autoscalingMetricsCollection?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.autoscalingMetricsCollection = this._autoscalingMetricsCollection?.internalValue; } if (this._configEncryption?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.configEncryption = this._configEncryption?.internalValue; } if (this._proxyConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.proxyConfig = this._proxyConfig?.internalValue; } if (this._rootVolume?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.rootVolume = this._rootVolume?.internalValue; } if (this._sshConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.sshConfig = this._sshConfig?.internalValue; } if (this._taints?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.taints = this._taints?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._iamInstanceProfile = undefined; this._instanceType = undefined; this._labels = undefined; this._securityGroupIds = undefined; this._tags = undefined; this._autoscalingMetricsCollection.internalValue = undefined; this._configEncryption.internalValue = undefined; this._proxyConfig.internalValue = undefined; this._rootVolume.internalValue = undefined; this._sshConfig.internalValue = undefined; this._taints.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._iamInstanceProfile = value.iamInstanceProfile; this._instanceType = value.instanceType; this._labels = value.labels; this._securityGroupIds = value.securityGroupIds; this._tags = value.tags; this._autoscalingMetricsCollection.internalValue = value.autoscalingMetricsCollection; this._configEncryption.internalValue = value.configEncryption; this._proxyConfig.internalValue = value.proxyConfig; this._rootVolume.internalValue = value.rootVolume; this._sshConfig.internalValue = value.sshConfig; this._taints.internalValue = value.taints; } } get iamInstanceProfile() { return this.getStringAttribute('iam_instance_profile'); } set iamInstanceProfile(value) { this._iamInstanceProfile = value; } // Temporarily expose input value. Use with caution. get iamInstanceProfileInput() { return this._iamInstanceProfile; } get instanceType() { return this.getStringAttribute('instance_type'); } set instanceType(value) { this._instanceType = value; } resetInstanceType() { this._instanceType = undefined; } // Temporarily expose input value. Use with caution. get instanceTypeInput() { return this._instanceType; } 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 securityGroupIds() { return this.getListAttribute('security_group_ids'); } set securityGroupIds(value) { this._securityGroupIds = value; } resetSecurityGroupIds() { this._securityGroupIds = undefined; } // Temporarily expose input value. Use with caution. get securityGroupIdsInput() { return this._securityGroupIds; } get tags() { return this.getStringMapAttribute('tags'); } set tags(value) { this._tags = value; } resetTags() { this._tags = undefined; } // Temporarily expose input value. Use with caution. get tagsInput() { return this._tags; } get autoscalingMetricsCollection() { return this._autoscalingMetricsCollection; } putAutoscalingMetricsCollection(value) { this._autoscalingMetricsCollection.internalValue = value; } resetAutoscalingMetricsCollection() { this._autoscalingMetricsCollection.internalValue = undefined; } // Temporarily expose input value. Use with caution. get autoscalingMetricsCollectionInput() { return this._autoscalingMetricsCollection.internalValue; } get configEncryption() { return this._configEncryption; } putConfigEncryption(value) { this._configEncryption.internalValue = value; } // Temporarily expose input value. Use with caution. get configEncryptionInput() { return this._configEncryption.internalValue; } get proxyConfig() { return this._proxyConfig; } putProxyConfig(value) { this._proxyConfig.internalValue = value; } resetProxyConfig() { this._proxyConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get proxyConfigInput() { return this._proxyConfig.internalValue; } get rootVolume() { return this._rootVolume; } putRootVolume(value) { this._rootVolume.internalValue = value; } resetRootVolume() { this._rootVolume.internalValue = undefined; } // Temporarily expose input value. Use with caution. get rootVolumeInput() { return this._rootVolume.internalValue; } get sshConfig() { return this._sshConfig; } putSshConfig(value) { this._sshConfig.internalValue = value; } resetSshConfig() { this._sshConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get sshConfigInput() { return this._sshConfig.internalValue; } get taints() { return this._taints; } putTaints(value) { this._taints.internalValue = value; } resetTaints() { this._taints.internalValue = undefined; } // Temporarily expose input value. Use with caution. get taintsInput() { return this._taints.internalValue; } } exports.ContainerAwsNodePoolConfigAOutputReference = ContainerAwsNodePoolConfigAOutputReference; _j = JSII_RTTI_SYMBOL_1; ContainerAwsNodePoolConfigAOutputReference[_j] = { fqn: "@cdktf/provider-google.containerAwsNodePool.ContainerAwsNodePoolConfigAOutputReference", version: "14.12.0" }; function containerAwsNodePoolKubeletConfigToTerraform(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 { cpu_cfs_quota: cdktf.booleanToTerraform(struct.cpuCfsQuota), cpu_cfs_quota_period: cdktf.stringToTerraform(struct.cpuCfsQuotaPeriod), cpu_manager_policy: cdktf.stringToTerraform(struct.cpuManagerPolicy), pod_pids_limit: cdktf.numberToTerraform(struct.podPidsLimit), }; } exports.containerAwsNodePoolKubeletConfigToTerraform = containerAwsNodePoolKubeletConfigToTerraform; function containerAwsNodePoolKubeletConfigToHclTerraform(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 = { cpu_cfs_quota: { value: cdktf.booleanToHclTerraform(struct.cpuCfsQuota), isBlock: false, type: "simple", storageClassType: "boolean", }, cpu_cfs_quota_period: { value: cdktf.stringToHclTerraform(struct.cpuCfsQuotaPeriod), isBlock: false, type: "simple", storageClassType: "string", }, cpu_manager_policy: { value: cdktf.stringToHclTerraform(struct.cpuManagerPolicy), isBlock: false, type: "simple", storageClassType: "string", }, pod_pids_limit: { value: cdktf.numberToHclTerraform(struct.podPidsLimit), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.containerAwsNodePoolKubeletConfigToHclTerraform = containerAwsNodePoolKubeletConfigToHclTerraform; class ContainerAwsNodePoolKubeletConfigOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource *