UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

914 lines 899 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, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24; Object.defineProperty(exports, "__esModule", { value: true }); exports.containerNodePoolNodeConfigFastSocketToTerraform = exports.ContainerNodePoolNodeConfigEphemeralStorageLocalSsdConfigOutputReference = exports.containerNodePoolNodeConfigEphemeralStorageLocalSsdConfigToHclTerraform = exports.containerNodePoolNodeConfigEphemeralStorageLocalSsdConfigToTerraform = exports.ContainerNodePoolNodeConfigContainerdConfigOutputReference = exports.containerNodePoolNodeConfigContainerdConfigToHclTerraform = exports.containerNodePoolNodeConfigContainerdConfigToTerraform = exports.ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigOutputReference = exports.containerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigToHclTerraform = exports.containerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigToTerraform = exports.ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigList = exports.ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigOutputReference = exports.containerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigToHclTerraform = exports.containerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigToTerraform = exports.ContainerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigOutputReference = exports.containerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigToHclTerraform = exports.containerNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigToTerraform = exports.ContainerNodePoolNodeConfigConfidentialNodesOutputReference = exports.containerNodePoolNodeConfigConfidentialNodesToHclTerraform = exports.containerNodePoolNodeConfigConfidentialNodesToTerraform = exports.ContainerNodePoolNodeConfigAdvancedMachineFeaturesOutputReference = exports.containerNodePoolNodeConfigAdvancedMachineFeaturesToHclTerraform = exports.containerNodePoolNodeConfigAdvancedMachineFeaturesToTerraform = exports.ContainerNodePoolNodeConfigEffectiveTaintsList = exports.ContainerNodePoolNodeConfigEffectiveTaintsOutputReference = exports.containerNodePoolNodeConfigEffectiveTaintsToHclTerraform = exports.containerNodePoolNodeConfigEffectiveTaintsToTerraform = exports.ContainerNodePoolNetworkConfigOutputReference = exports.containerNodePoolNetworkConfigToHclTerraform = exports.containerNodePoolNetworkConfigToTerraform = exports.ContainerNodePoolNetworkConfigPodCidrOverprovisionConfigOutputReference = exports.containerNodePoolNetworkConfigPodCidrOverprovisionConfigToHclTerraform = exports.containerNodePoolNetworkConfigPodCidrOverprovisionConfigToTerraform = exports.ContainerNodePoolNetworkConfigNetworkPerformanceConfigOutputReference = exports.containerNodePoolNetworkConfigNetworkPerformanceConfigToHclTerraform = exports.containerNodePoolNetworkConfigNetworkPerformanceConfigToTerraform = exports.ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsList = exports.ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsOutputReference = exports.containerNodePoolNetworkConfigAdditionalPodNetworkConfigsToHclTerraform = exports.containerNodePoolNetworkConfigAdditionalPodNetworkConfigsToTerraform = exports.ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsList = exports.ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsOutputReference = exports.containerNodePoolNetworkConfigAdditionalNodeNetworkConfigsToHclTerraform = exports.containerNodePoolNetworkConfigAdditionalNodeNetworkConfigsToTerraform = exports.ContainerNodePoolManagementOutputReference = exports.containerNodePoolManagementToHclTerraform = exports.containerNodePoolManagementToTerraform = exports.ContainerNodePoolAutoscalingOutputReference = exports.containerNodePoolAutoscalingToHclTerraform = exports.containerNodePoolAutoscalingToTerraform = void 0; exports.ContainerNodePoolNodeConfigSoleTenantConfigOutputReference = exports.containerNodePoolNodeConfigSoleTenantConfigToHclTerraform = exports.containerNodePoolNodeConfigSoleTenantConfigToTerraform = exports.ContainerNodePoolNodeConfigSoleTenantConfigNodeAffinityList = exports.ContainerNodePoolNodeConfigSoleTenantConfigNodeAffinityOutputReference = exports.containerNodePoolNodeConfigSoleTenantConfigNodeAffinityToHclTerraform = exports.containerNodePoolNodeConfigSoleTenantConfigNodeAffinityToTerraform = exports.ContainerNodePoolNodeConfigShieldedInstanceConfigOutputReference = exports.containerNodePoolNodeConfigShieldedInstanceConfigToHclTerraform = exports.containerNodePoolNodeConfigShieldedInstanceConfigToTerraform = exports.ContainerNodePoolNodeConfigSecondaryBootDisksList = exports.ContainerNodePoolNodeConfigSecondaryBootDisksOutputReference = exports.containerNodePoolNodeConfigSecondaryBootDisksToHclTerraform = exports.containerNodePoolNodeConfigSecondaryBootDisksToTerraform = exports.ContainerNodePoolNodeConfigReservationAffinityOutputReference = exports.containerNodePoolNodeConfigReservationAffinityToHclTerraform = exports.containerNodePoolNodeConfigReservationAffinityToTerraform = exports.ContainerNodePoolNodeConfigLocalNvmeSsdBlockConfigOutputReference = exports.containerNodePoolNodeConfigLocalNvmeSsdBlockConfigToHclTerraform = exports.containerNodePoolNodeConfigLocalNvmeSsdBlockConfigToTerraform = exports.ContainerNodePoolNodeConfigLinuxNodeConfigOutputReference = exports.containerNodePoolNodeConfigLinuxNodeConfigToHclTerraform = exports.containerNodePoolNodeConfigLinuxNodeConfigToTerraform = exports.ContainerNodePoolNodeConfigLinuxNodeConfigHugepagesConfigOutputReference = exports.containerNodePoolNodeConfigLinuxNodeConfigHugepagesConfigToHclTerraform = exports.containerNodePoolNodeConfigLinuxNodeConfigHugepagesConfigToTerraform = exports.ContainerNodePoolNodeConfigKubeletConfigOutputReference = exports.containerNodePoolNodeConfigKubeletConfigToHclTerraform = exports.containerNodePoolNodeConfigKubeletConfigToTerraform = exports.ContainerNodePoolNodeConfigHostMaintenancePolicyOutputReference = exports.containerNodePoolNodeConfigHostMaintenancePolicyToHclTerraform = exports.containerNodePoolNodeConfigHostMaintenancePolicyToTerraform = exports.ContainerNodePoolNodeConfigGvnicOutputReference = exports.containerNodePoolNodeConfigGvnicToHclTerraform = exports.containerNodePoolNodeConfigGvnicToTerraform = exports.ContainerNodePoolNodeConfigGuestAcceleratorList = exports.ContainerNodePoolNodeConfigGuestAcceleratorOutputReference = exports.containerNodePoolNodeConfigGuestAcceleratorToHclTerraform = exports.containerNodePoolNodeConfigGuestAcceleratorToTerraform = exports.ContainerNodePoolNodeConfigGuestAcceleratorGpuSharingConfigOutputReference = exports.containerNodePoolNodeConfigGuestAcceleratorGpuSharingConfigToHclTerraform = exports.containerNodePoolNodeConfigGuestAcceleratorGpuSharingConfigToTerraform = exports.ContainerNodePoolNodeConfigGuestAcceleratorGpuDriverInstallationConfigOutputReference = exports.containerNodePoolNodeConfigGuestAcceleratorGpuDriverInstallationConfigToHclTerraform = exports.containerNodePoolNodeConfigGuestAcceleratorGpuDriverInstallationConfigToTerraform = exports.ContainerNodePoolNodeConfigGcfsConfigOutputReference = exports.containerNodePoolNodeConfigGcfsConfigToHclTerraform = exports.containerNodePoolNodeConfigGcfsConfigToTerraform = exports.ContainerNodePoolNodeConfigFastSocketOutputReference = exports.containerNodePoolNodeConfigFastSocketToHclTerraform = void 0; exports.ContainerNodePool = exports.ContainerNodePoolUpgradeSettingsOutputReference = exports.containerNodePoolUpgradeSettingsToHclTerraform = exports.containerNodePoolUpgradeSettingsToTerraform = exports.ContainerNodePoolUpgradeSettingsBlueGreenSettingsOutputReference = exports.containerNodePoolUpgradeSettingsBlueGreenSettingsToHclTerraform = exports.containerNodePoolUpgradeSettingsBlueGreenSettingsToTerraform = exports.ContainerNodePoolUpgradeSettingsBlueGreenSettingsStandardRolloutPolicyOutputReference = exports.containerNodePoolUpgradeSettingsBlueGreenSettingsStandardRolloutPolicyToHclTerraform = exports.containerNodePoolUpgradeSettingsBlueGreenSettingsStandardRolloutPolicyToTerraform = exports.ContainerNodePoolTimeoutsOutputReference = exports.containerNodePoolTimeoutsToHclTerraform = exports.containerNodePoolTimeoutsToTerraform = exports.ContainerNodePoolQueuedProvisioningOutputReference = exports.containerNodePoolQueuedProvisioningToHclTerraform = exports.containerNodePoolQueuedProvisioningToTerraform = exports.ContainerNodePoolPlacementPolicyOutputReference = exports.containerNodePoolPlacementPolicyToHclTerraform = exports.containerNodePoolPlacementPolicyToTerraform = exports.ContainerNodePoolNodeConfigOutputReference = exports.containerNodePoolNodeConfigToHclTerraform = exports.containerNodePoolNodeConfigToTerraform = exports.ContainerNodePoolNodeConfigWorkloadMetadataConfigOutputReference = exports.containerNodePoolNodeConfigWorkloadMetadataConfigToHclTerraform = exports.containerNodePoolNodeConfigWorkloadMetadataConfigToTerraform = exports.ContainerNodePoolNodeConfigTaintList = exports.ContainerNodePoolNodeConfigTaintOutputReference = exports.containerNodePoolNodeConfigTaintToHclTerraform = exports.containerNodePoolNodeConfigTaintToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function containerNodePoolAutoscalingToTerraform(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 { location_policy: cdktf.stringToTerraform(struct.locationPolicy), max_node_count: cdktf.numberToTerraform(struct.maxNodeCount), min_node_count: cdktf.numberToTerraform(struct.minNodeCount), total_max_node_count: cdktf.numberToTerraform(struct.totalMaxNodeCount), total_min_node_count: cdktf.numberToTerraform(struct.totalMinNodeCount), }; } exports.containerNodePoolAutoscalingToTerraform = containerNodePoolAutoscalingToTerraform; function containerNodePoolAutoscalingToHclTerraform(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 = { location_policy: { value: cdktf.stringToHclTerraform(struct.locationPolicy), isBlock: false, type: "simple", storageClassType: "string", }, 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", }, total_max_node_count: { value: cdktf.numberToHclTerraform(struct.totalMaxNodeCount), isBlock: false, type: "simple", storageClassType: "number", }, total_min_node_count: { value: cdktf.numberToHclTerraform(struct.totalMinNodeCount), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.containerNodePoolAutoscalingToHclTerraform = containerNodePoolAutoscalingToHclTerraform; class ContainerNodePoolAutoscalingOutputReference 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._locationPolicy !== undefined) { hasAnyValues = true; internalValueResult.locationPolicy = this._locationPolicy; } if (this._maxNodeCount !== undefined) { hasAnyValues = true; internalValueResult.maxNodeCount = this._maxNodeCount; } if (this._minNodeCount !== undefined) { hasAnyValues = true; internalValueResult.minNodeCount = this._minNodeCount; } if (this._totalMaxNodeCount !== undefined) { hasAnyValues = true; internalValueResult.totalMaxNodeCount = this._totalMaxNodeCount; } if (this._totalMinNodeCount !== undefined) { hasAnyValues = true; internalValueResult.totalMinNodeCount = this._totalMinNodeCount; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._locationPolicy = undefined; this._maxNodeCount = undefined; this._minNodeCount = undefined; this._totalMaxNodeCount = undefined; this._totalMinNodeCount = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._locationPolicy = value.locationPolicy; this._maxNodeCount = value.maxNodeCount; this._minNodeCount = value.minNodeCount; this._totalMaxNodeCount = value.totalMaxNodeCount; this._totalMinNodeCount = value.totalMinNodeCount; } } get locationPolicy() { return this.getStringAttribute('location_policy'); } set locationPolicy(value) { this._locationPolicy = value; } resetLocationPolicy() { this._locationPolicy = undefined; } // Temporarily expose input value. Use with caution. get locationPolicyInput() { return this._locationPolicy; } get maxNodeCount() { return this.getNumberAttribute('max_node_count'); } set maxNodeCount(value) { this._maxNodeCount = value; } resetMaxNodeCount() { this._maxNodeCount = undefined; } // 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; } resetMinNodeCount() { this._minNodeCount = undefined; } // Temporarily expose input value. Use with caution. get minNodeCountInput() { return this._minNodeCount; } get totalMaxNodeCount() { return this.getNumberAttribute('total_max_node_count'); } set totalMaxNodeCount(value) { this._totalMaxNodeCount = value; } resetTotalMaxNodeCount() { this._totalMaxNodeCount = undefined; } // Temporarily expose input value. Use with caution. get totalMaxNodeCountInput() { return this._totalMaxNodeCount; } get totalMinNodeCount() { return this.getNumberAttribute('total_min_node_count'); } set totalMinNodeCount(value) { this._totalMinNodeCount = value; } resetTotalMinNodeCount() { this._totalMinNodeCount = undefined; } // Temporarily expose input value. Use with caution. get totalMinNodeCountInput() { return this._totalMinNodeCount; } } exports.ContainerNodePoolAutoscalingOutputReference = ContainerNodePoolAutoscalingOutputReference; _a = JSII_RTTI_SYMBOL_1; ContainerNodePoolAutoscalingOutputReference[_a] = { fqn: "@cdktf/provider-google.containerNodePool.ContainerNodePoolAutoscalingOutputReference", version: "14.12.0" }; function containerNodePoolManagementToTerraform(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_repair: cdktf.booleanToTerraform(struct.autoRepair), auto_upgrade: cdktf.booleanToTerraform(struct.autoUpgrade), }; } exports.containerNodePoolManagementToTerraform = containerNodePoolManagementToTerraform; function containerNodePoolManagementToHclTerraform(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_repair: { value: cdktf.booleanToHclTerraform(struct.autoRepair), isBlock: false, type: "simple", storageClassType: "boolean", }, auto_upgrade: { value: cdktf.booleanToHclTerraform(struct.autoUpgrade), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.containerNodePoolManagementToHclTerraform = containerNodePoolManagementToHclTerraform; class ContainerNodePoolManagementOutputReference 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._autoRepair !== undefined) { hasAnyValues = true; internalValueResult.autoRepair = this._autoRepair; } if (this._autoUpgrade !== undefined) { hasAnyValues = true; internalValueResult.autoUpgrade = this._autoUpgrade; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._autoRepair = undefined; this._autoUpgrade = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._autoRepair = value.autoRepair; this._autoUpgrade = value.autoUpgrade; } } get autoRepair() { return this.getBooleanAttribute('auto_repair'); } set autoRepair(value) { this._autoRepair = value; } resetAutoRepair() { this._autoRepair = undefined; } // Temporarily expose input value. Use with caution. get autoRepairInput() { return this._autoRepair; } get autoUpgrade() { return this.getBooleanAttribute('auto_upgrade'); } set autoUpgrade(value) { this._autoUpgrade = value; } resetAutoUpgrade() { this._autoUpgrade = undefined; } // Temporarily expose input value. Use with caution. get autoUpgradeInput() { return this._autoUpgrade; } } exports.ContainerNodePoolManagementOutputReference = ContainerNodePoolManagementOutputReference; _b = JSII_RTTI_SYMBOL_1; ContainerNodePoolManagementOutputReference[_b] = { fqn: "@cdktf/provider-google.containerNodePool.ContainerNodePoolManagementOutputReference", version: "14.12.0" }; function containerNodePoolNetworkConfigAdditionalNodeNetworkConfigsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { network: cdktf.stringToTerraform(struct.network), subnetwork: cdktf.stringToTerraform(struct.subnetwork), }; } exports.containerNodePoolNetworkConfigAdditionalNodeNetworkConfigsToTerraform = containerNodePoolNetworkConfigAdditionalNodeNetworkConfigsToTerraform; function containerNodePoolNetworkConfigAdditionalNodeNetworkConfigsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { network: { value: cdktf.stringToHclTerraform(struct.network), isBlock: false, type: "simple", storageClassType: "string", }, subnetwork: { value: cdktf.stringToHclTerraform(struct.subnetwork), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.containerNodePoolNetworkConfigAdditionalNodeNetworkConfigsToHclTerraform = containerNodePoolNetworkConfigAdditionalNodeNetworkConfigsToHclTerraform; class ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsOutputReference 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._network !== undefined) { hasAnyValues = true; internalValueResult.network = this._network; } if (this._subnetwork !== undefined) { hasAnyValues = true; internalValueResult.subnetwork = this._subnetwork; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._network = undefined; this._subnetwork = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._network = value.network; this._subnetwork = value.subnetwork; } } get network() { return this.getStringAttribute('network'); } set network(value) { this._network = value; } resetNetwork() { this._network = undefined; } // Temporarily expose input value. Use with caution. get networkInput() { return this._network; } get subnetwork() { return this.getStringAttribute('subnetwork'); } set subnetwork(value) { this._subnetwork = value; } resetSubnetwork() { this._subnetwork = undefined; } // Temporarily expose input value. Use with caution. get subnetworkInput() { return this._subnetwork; } } exports.ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsOutputReference = ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsOutputReference; _c = JSII_RTTI_SYMBOL_1; ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsOutputReference[_c] = { fqn: "@cdktf/provider-google.containerNodePool.ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsOutputReference", version: "14.12.0" }; class ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsList 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 ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsList = ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsList; _d = JSII_RTTI_SYMBOL_1; ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsList[_d] = { fqn: "@cdktf/provider-google.containerNodePool.ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsList", version: "14.12.0" }; function containerNodePoolNetworkConfigAdditionalPodNetworkConfigsToTerraform(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_pods_per_node: cdktf.numberToTerraform(struct.maxPodsPerNode), secondary_pod_range: cdktf.stringToTerraform(struct.secondaryPodRange), subnetwork: cdktf.stringToTerraform(struct.subnetwork), }; } exports.containerNodePoolNetworkConfigAdditionalPodNetworkConfigsToTerraform = containerNodePoolNetworkConfigAdditionalPodNetworkConfigsToTerraform; function containerNodePoolNetworkConfigAdditionalPodNetworkConfigsToHclTerraform(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_pods_per_node: { value: cdktf.numberToHclTerraform(struct.maxPodsPerNode), isBlock: false, type: "simple", storageClassType: "number", }, secondary_pod_range: { value: cdktf.stringToHclTerraform(struct.secondaryPodRange), isBlock: false, type: "simple", storageClassType: "string", }, subnetwork: { value: cdktf.stringToHclTerraform(struct.subnetwork), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.containerNodePoolNetworkConfigAdditionalPodNetworkConfigsToHclTerraform = containerNodePoolNetworkConfigAdditionalPodNetworkConfigsToHclTerraform; class ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsOutputReference 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._maxPodsPerNode !== undefined) { hasAnyValues = true; internalValueResult.maxPodsPerNode = this._maxPodsPerNode; } if (this._secondaryPodRange !== undefined) { hasAnyValues = true; internalValueResult.secondaryPodRange = this._secondaryPodRange; } if (this._subnetwork !== undefined) { hasAnyValues = true; internalValueResult.subnetwork = this._subnetwork; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._maxPodsPerNode = undefined; this._secondaryPodRange = undefined; this._subnetwork = 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._maxPodsPerNode = value.maxPodsPerNode; this._secondaryPodRange = value.secondaryPodRange; this._subnetwork = value.subnetwork; } } get maxPodsPerNode() { return this.getNumberAttribute('max_pods_per_node'); } set maxPodsPerNode(value) { this._maxPodsPerNode = value; } resetMaxPodsPerNode() { this._maxPodsPerNode = undefined; } // Temporarily expose input value. Use with caution. get maxPodsPerNodeInput() { return this._maxPodsPerNode; } get secondaryPodRange() { return this.getStringAttribute('secondary_pod_range'); } set secondaryPodRange(value) { this._secondaryPodRange = value; } resetSecondaryPodRange() { this._secondaryPodRange = undefined; } // Temporarily expose input value. Use with caution. get secondaryPodRangeInput() { return this._secondaryPodRange; } get subnetwork() { return this.getStringAttribute('subnetwork'); } set subnetwork(value) { this._subnetwork = value; } resetSubnetwork() { this._subnetwork = undefined; } // Temporarily expose input value. Use with caution. get subnetworkInput() { return this._subnetwork; } } exports.ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsOutputReference = ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsOutputReference; _e = JSII_RTTI_SYMBOL_1; ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsOutputReference[_e] = { fqn: "@cdktf/provider-google.containerNodePool.ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsOutputReference", version: "14.12.0" }; class ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsList 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 ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsList = ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsList; _f = JSII_RTTI_SYMBOL_1; ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsList[_f] = { fqn: "@cdktf/provider-google.containerNodePool.ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsList", version: "14.12.0" }; function containerNodePoolNetworkConfigNetworkPerformanceConfigToTerraform(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 { total_egress_bandwidth_tier: cdktf.stringToTerraform(struct.totalEgressBandwidthTier), }; } exports.containerNodePoolNetworkConfigNetworkPerformanceConfigToTerraform = containerNodePoolNetworkConfigNetworkPerformanceConfigToTerraform; function containerNodePoolNetworkConfigNetworkPerformanceConfigToHclTerraform(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 = { total_egress_bandwidth_tier: { value: cdktf.stringToHclTerraform(struct.totalEgressBandwidthTier), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.containerNodePoolNetworkConfigNetworkPerformanceConfigToHclTerraform = containerNodePoolNetworkConfigNetworkPerformanceConfigToHclTerraform; class ContainerNodePoolNetworkConfigNetworkPerformanceConfigOutputReference 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._totalEgressBandwidthTier !== undefined) { hasAnyValues = true; internalValueResult.totalEgressBandwidthTier = this._totalEgressBandwidthTier; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._totalEgressBandwidthTier = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._totalEgressBandwidthTier = value.totalEgressBandwidthTier; } } get totalEgressBandwidthTier() { return this.getStringAttribute('total_egress_bandwidth_tier'); } set totalEgressBandwidthTier(value) { this._totalEgressBandwidthTier = value; } // Temporarily expose input value. Use with caution. get totalEgressBandwidthTierInput() { return this._totalEgressBandwidthTier; } } exports.ContainerNodePoolNetworkConfigNetworkPerformanceConfigOutputReference = ContainerNodePoolNetworkConfigNetworkPerformanceConfigOutputReference; _g = JSII_RTTI_SYMBOL_1; ContainerNodePoolNetworkConfigNetworkPerformanceConfigOutputReference[_g] = { fqn: "@cdktf/provider-google.containerNodePool.ContainerNodePoolNetworkConfigNetworkPerformanceConfigOutputReference", version: "14.12.0" }; function containerNodePoolNetworkConfigPodCidrOverprovisionConfigToTerraform(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 { disabled: cdktf.booleanToTerraform(struct.disabled), }; } exports.containerNodePoolNetworkConfigPodCidrOverprovisionConfigToTerraform = containerNodePoolNetworkConfigPodCidrOverprovisionConfigToTerraform; function containerNodePoolNetworkConfigPodCidrOverprovisionConfigToHclTerraform(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 = { disabled: { value: cdktf.booleanToHclTerraform(struct.disabled), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.containerNodePoolNetworkConfigPodCidrOverprovisionConfigToHclTerraform = containerNodePoolNetworkConfigPodCidrOverprovisionConfigToHclTerraform; class ContainerNodePoolNetworkConfigPodCidrOverprovisionConfigOutputReference 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._disabled !== undefined) { hasAnyValues = true; internalValueResult.disabled = this._disabled; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._disabled = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._disabled = value.disabled; } } get disabled() { return this.getBooleanAttribute('disabled'); } set disabled(value) { this._disabled = value; } // Temporarily expose input value. Use with caution. get disabledInput() { return this._disabled; } } exports.ContainerNodePoolNetworkConfigPodCidrOverprovisionConfigOutputReference = ContainerNodePoolNetworkConfigPodCidrOverprovisionConfigOutputReference; _h = JSII_RTTI_SYMBOL_1; ContainerNodePoolNetworkConfigPodCidrOverprovisionConfigOutputReference[_h] = { fqn: "@cdktf/provider-google.containerNodePool.ContainerNodePoolNetworkConfigPodCidrOverprovisionConfigOutputReference", version: "14.12.0" }; function containerNodePoolNetworkConfigToTerraform(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 { create_pod_range: cdktf.booleanToTerraform(struct.createPodRange), enable_private_nodes: cdktf.booleanToTerraform(struct.enablePrivateNodes), pod_ipv4_cidr_block: cdktf.stringToTerraform(struct.podIpv4CidrBlock), pod_range: cdktf.stringToTerraform(struct.podRange), additional_node_network_configs: cdktf.listMapper(containerNodePoolNetworkConfigAdditionalNodeNetworkConfigsToTerraform, true)(struct.additionalNodeNetworkConfigs), additional_pod_network_configs: cdktf.listMapper(containerNodePoolNetworkConfigAdditionalPodNetworkConfigsToTerraform, true)(struct.additionalPodNetworkConfigs), network_performance_config: containerNodePoolNetworkConfigNetworkPerformanceConfigToTerraform(struct.networkPerformanceConfig), pod_cidr_overprovision_config: containerNodePoolNetworkConfigPodCidrOverprovisionConfigToTerraform(struct.podCidrOverprovisionConfig), }; } exports.containerNodePoolNetworkConfigToTerraform = containerNodePoolNetworkConfigToTerraform; function containerNodePoolNetworkConfigToHclTerraform(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 = { create_pod_range: { value: cdktf.booleanToHclTerraform(struct.createPodRange), isBlock: false, type: "simple", storageClassType: "boolean", }, enable_private_nodes: { value: cdktf.booleanToHclTerraform(struct.enablePrivateNodes), isBlock: false, type: "simple", storageClassType: "boolean", }, pod_ipv4_cidr_block: { value: cdktf.stringToHclTerraform(struct.podIpv4CidrBlock), isBlock: false, type: "simple", storageClassType: "string", }, pod_range: { value: cdktf.stringToHclTerraform(struct.podRange), isBlock: false, type: "simple", storageClassType: "string", }, additional_node_network_configs: { value: cdktf.listMapperHcl(containerNodePoolNetworkConfigAdditionalNodeNetworkConfigsToHclTerraform, true)(struct.additionalNodeNetworkConfigs), isBlock: true, type: "list", storageClassType: "ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsList", }, additional_pod_network_configs: { value: cdktf.listMapperHcl(containerNodePoolNetworkConfigAdditionalPodNetworkConfigsToHclTerraform, true)(struct.additionalPodNetworkConfigs), isBlock: true, type: "list", storageClassType: "ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsList", }, network_performance_config: { value: containerNodePoolNetworkConfigNetworkPerformanceConfigToHclTerraform(struct.networkPerformanceConfig), isBlock: true, type: "list", storageClassType: "ContainerNodePoolNetworkConfigNetworkPerformanceConfigList", }, pod_cidr_overprovision_config: { value: containerNodePoolNetworkConfigPodCidrOverprovisionConfigToHclTerraform(struct.podCidrOverprovisionConfig), isBlock: true, type: "list", storageClassType: "ContainerNodePoolNetworkConfigPodCidrOverprovisionConfigList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.containerNodePoolNetworkConfigToHclTerraform = containerNodePoolNetworkConfigToHclTerraform; class ContainerNodePoolNetworkConfigOutputReference 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; // additional_node_network_configs - computed: false, optional: true, required: false this._additionalNodeNetworkConfigs = new ContainerNodePoolNetworkConfigAdditionalNodeNetworkConfigsList(this, "additional_node_network_configs", false); // additional_pod_network_configs - computed: false, optional: true, required: false this._additionalPodNetworkConfigs = new ContainerNodePoolNetworkConfigAdditionalPodNetworkConfigsList(this, "additional_pod_network_configs", false); // network_performance_config - computed: false, optional: true, required: false this._networkPerformanceConfig = new ContainerNodePoolNetworkConfigNetworkPerformanceConfigOutputReference(this, "network_performance_config"); // pod_cidr_overprovision_config - computed: false, optional: true, required: false this._podCidrOverprovisionConfig = new ContainerNodePoolNetworkConfigPodCidrOverprovisionConfigOutputReference(this, "pod_cidr_overprovision_config"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._createPodRange !== undefined) { hasAnyValues = true; internalValueResult.createPodRange = this._createPodRange; } if (this._enablePrivateNodes !== undefined) { hasAnyValues = true; internalValueResult.enablePrivateNodes = this._enablePrivateNodes; } if (this._podIpv4CidrBlock !== undefined) { hasAnyValues = true; internalValueResult.podIpv4CidrBlock = this._podIpv4CidrBlock; } if (this._podRange !== undefined) { hasAnyValues = true; internalValueResult.podRange = this._podRange; } if (this._additionalNodeNetworkConfigs?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.additionalNodeNetworkConfigs = this._additionalNodeNetworkConfigs?.internalValue; } if (this._additionalPodNetworkConfigs?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.additionalPodNetworkConfigs = this._additionalPodNetworkConfigs?.internalValue; } if (this._networkPerformanceConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.networkPerformanceConfig = this._networkPerformanceConfig?.internalValue; } if (this._podCidrOverprovisionConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.podCidrOverprovisionConfig = this._podCidrOverprovisionConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._createPodRange = undefined; this._enablePrivateNodes = undefined; this._podIpv4CidrBlock = undefined; this._podRange = undefined; this._additionalNodeNetworkConfigs.internalValue = undefined; this._additionalPodNetworkConfigs.internalValue = undefined; this._networkPerformanceConfig.internalValue = undefined; this._podCidrOverprovisionConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._createPodRange = value.createPodRange; this._enablePrivateNodes = value.enablePrivateNodes; this._podIpv4CidrBlock = value.podIpv4CidrBlock; this._podRange = value.podRange; this._additionalNodeNetworkConfigs.internalValue = value.additionalNodeNetworkConfigs; this._additionalPodNetworkConfigs.internalValue = value.additionalPodNetworkConfigs; this._networkPerformanceConfig.internalValue = value.networkPerformanceConfig; this._podCidrOverprovisionConfig.internalValue = value.podCidrOverprovisionConfig; } } get createPodRange() { return this.getBooleanAttribute('create_pod_range'); } set createPodRange(value) { this._createPodRange = value; } resetCreatePodRange() { this._createPodRange = undefined; } // Temporarily expose input value. Use with caution. get createPodRangeInput() { return this._createPodRange; } get enablePrivateNodes() { return this.getBooleanAttribute('enable_private_nodes'); } set enablePrivateNodes(value) { this._enablePrivateNodes = value; } resetEnablePrivateNodes() { this._enablePrivateNodes = undefined; } // Temporarily expose input value. Use with caution. get enablePrivateNodesI