UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,001 lines 520 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; Object.defineProperty(exports, "__esModule", { value: true }); exports.ContainerClusterWorkloadIdentityConfigOutputReference = exports.ContainerClusterVerticalPodAutoscalingOutputReference = exports.ContainerClusterUserManagedKeysConfigOutputReference = exports.ContainerClusterTimeoutsOutputReference = exports.ContainerClusterServiceExternalIpsConfigOutputReference = exports.ContainerClusterSecurityPostureConfigOutputReference = exports.ContainerClusterSecretManagerConfigOutputReference = exports.ContainerClusterResourceUsageExportConfigOutputReference = exports.ContainerClusterResourceUsageExportConfigBigqueryDestinationOutputReference = exports.ContainerClusterReleaseChannelOutputReference = exports.ContainerClusterPrivateClusterConfigOutputReference = exports.ContainerClusterPrivateClusterConfigMasterGlobalAccessConfigOutputReference = exports.ContainerClusterPodAutoscalingOutputReference = exports.ContainerClusterNotificationConfigOutputReference = exports.ContainerClusterNotificationConfigPubsubOutputReference = exports.ContainerClusterNotificationConfigPubsubFilterOutputReference = exports.ContainerClusterNodePoolDefaultsOutputReference = exports.ContainerClusterNodePoolDefaultsNodeConfigDefaultsOutputReference = exports.ContainerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfigOutputReference = exports.ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigOutputReference = exports.ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigOutputReference = exports.ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigList = exports.ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigOutputReference = exports.ContainerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigOutputReference = exports.ContainerClusterNodePoolAutoConfigOutputReference = exports.ContainerClusterNodePoolAutoConfigNodeKubeletConfigOutputReference = exports.ContainerClusterNodePoolAutoConfigNetworkTagsOutputReference = exports.ContainerClusterNodePoolAutoConfigLinuxNodeConfigOutputReference = exports.ContainerClusterNodePoolList = exports.ContainerClusterNodePoolOutputReference = exports.ContainerClusterNodePoolUpgradeSettingsOutputReference = void 0; exports.containerClusterNodePoolUpgradeSettingsToTerraform = containerClusterNodePoolUpgradeSettingsToTerraform; exports.containerClusterNodePoolUpgradeSettingsToHclTerraform = containerClusterNodePoolUpgradeSettingsToHclTerraform; exports.containerClusterNodePoolToTerraform = containerClusterNodePoolToTerraform; exports.containerClusterNodePoolToHclTerraform = containerClusterNodePoolToHclTerraform; exports.containerClusterNodePoolAutoConfigLinuxNodeConfigToTerraform = containerClusterNodePoolAutoConfigLinuxNodeConfigToTerraform; exports.containerClusterNodePoolAutoConfigLinuxNodeConfigToHclTerraform = containerClusterNodePoolAutoConfigLinuxNodeConfigToHclTerraform; exports.containerClusterNodePoolAutoConfigNetworkTagsToTerraform = containerClusterNodePoolAutoConfigNetworkTagsToTerraform; exports.containerClusterNodePoolAutoConfigNetworkTagsToHclTerraform = containerClusterNodePoolAutoConfigNetworkTagsToHclTerraform; exports.containerClusterNodePoolAutoConfigNodeKubeletConfigToTerraform = containerClusterNodePoolAutoConfigNodeKubeletConfigToTerraform; exports.containerClusterNodePoolAutoConfigNodeKubeletConfigToHclTerraform = containerClusterNodePoolAutoConfigNodeKubeletConfigToHclTerraform; exports.containerClusterNodePoolAutoConfigToTerraform = containerClusterNodePoolAutoConfigToTerraform; exports.containerClusterNodePoolAutoConfigToHclTerraform = containerClusterNodePoolAutoConfigToHclTerraform; exports.containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigToTerraform = containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigToTerraform; exports.containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigToHclTerraform = containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigToHclTerraform; exports.containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigToTerraform = containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigToTerraform; exports.containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigToHclTerraform = containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigToHclTerraform; exports.containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigToTerraform = containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigToTerraform; exports.containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigToHclTerraform = containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigToHclTerraform; exports.containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigToTerraform = containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigToTerraform; exports.containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigToHclTerraform = containerClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigToHclTerraform; exports.containerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfigToTerraform = containerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfigToTerraform; exports.containerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfigToHclTerraform = containerClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfigToHclTerraform; exports.containerClusterNodePoolDefaultsNodeConfigDefaultsToTerraform = containerClusterNodePoolDefaultsNodeConfigDefaultsToTerraform; exports.containerClusterNodePoolDefaultsNodeConfigDefaultsToHclTerraform = containerClusterNodePoolDefaultsNodeConfigDefaultsToHclTerraform; exports.containerClusterNodePoolDefaultsToTerraform = containerClusterNodePoolDefaultsToTerraform; exports.containerClusterNodePoolDefaultsToHclTerraform = containerClusterNodePoolDefaultsToHclTerraform; exports.containerClusterNotificationConfigPubsubFilterToTerraform = containerClusterNotificationConfigPubsubFilterToTerraform; exports.containerClusterNotificationConfigPubsubFilterToHclTerraform = containerClusterNotificationConfigPubsubFilterToHclTerraform; exports.containerClusterNotificationConfigPubsubToTerraform = containerClusterNotificationConfigPubsubToTerraform; exports.containerClusterNotificationConfigPubsubToHclTerraform = containerClusterNotificationConfigPubsubToHclTerraform; exports.containerClusterNotificationConfigToTerraform = containerClusterNotificationConfigToTerraform; exports.containerClusterNotificationConfigToHclTerraform = containerClusterNotificationConfigToHclTerraform; exports.containerClusterPodAutoscalingToTerraform = containerClusterPodAutoscalingToTerraform; exports.containerClusterPodAutoscalingToHclTerraform = containerClusterPodAutoscalingToHclTerraform; exports.containerClusterPrivateClusterConfigMasterGlobalAccessConfigToTerraform = containerClusterPrivateClusterConfigMasterGlobalAccessConfigToTerraform; exports.containerClusterPrivateClusterConfigMasterGlobalAccessConfigToHclTerraform = containerClusterPrivateClusterConfigMasterGlobalAccessConfigToHclTerraform; exports.containerClusterPrivateClusterConfigToTerraform = containerClusterPrivateClusterConfigToTerraform; exports.containerClusterPrivateClusterConfigToHclTerraform = containerClusterPrivateClusterConfigToHclTerraform; exports.containerClusterReleaseChannelToTerraform = containerClusterReleaseChannelToTerraform; exports.containerClusterReleaseChannelToHclTerraform = containerClusterReleaseChannelToHclTerraform; exports.containerClusterResourceUsageExportConfigBigqueryDestinationToTerraform = containerClusterResourceUsageExportConfigBigqueryDestinationToTerraform; exports.containerClusterResourceUsageExportConfigBigqueryDestinationToHclTerraform = containerClusterResourceUsageExportConfigBigqueryDestinationToHclTerraform; exports.containerClusterResourceUsageExportConfigToTerraform = containerClusterResourceUsageExportConfigToTerraform; exports.containerClusterResourceUsageExportConfigToHclTerraform = containerClusterResourceUsageExportConfigToHclTerraform; exports.containerClusterSecretManagerConfigToTerraform = containerClusterSecretManagerConfigToTerraform; exports.containerClusterSecretManagerConfigToHclTerraform = containerClusterSecretManagerConfigToHclTerraform; exports.containerClusterSecurityPostureConfigToTerraform = containerClusterSecurityPostureConfigToTerraform; exports.containerClusterSecurityPostureConfigToHclTerraform = containerClusterSecurityPostureConfigToHclTerraform; exports.containerClusterServiceExternalIpsConfigToTerraform = containerClusterServiceExternalIpsConfigToTerraform; exports.containerClusterServiceExternalIpsConfigToHclTerraform = containerClusterServiceExternalIpsConfigToHclTerraform; exports.containerClusterTimeoutsToTerraform = containerClusterTimeoutsToTerraform; exports.containerClusterTimeoutsToHclTerraform = containerClusterTimeoutsToHclTerraform; exports.containerClusterUserManagedKeysConfigToTerraform = containerClusterUserManagedKeysConfigToTerraform; exports.containerClusterUserManagedKeysConfigToHclTerraform = containerClusterUserManagedKeysConfigToHclTerraform; exports.containerClusterVerticalPodAutoscalingToTerraform = containerClusterVerticalPodAutoscalingToTerraform; exports.containerClusterVerticalPodAutoscalingToHclTerraform = containerClusterVerticalPodAutoscalingToHclTerraform; exports.containerClusterWorkloadIdentityConfigToTerraform = containerClusterWorkloadIdentityConfigToTerraform; exports.containerClusterWorkloadIdentityConfigToHclTerraform = containerClusterWorkloadIdentityConfigToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); /** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ const cdktf = require("cdktf"); const structs0_1 = require("./structs0"); function containerClusterNodePoolUpgradeSettingsToTerraform(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_surge: cdktf.numberToTerraform(struct.maxSurge), max_unavailable: cdktf.numberToTerraform(struct.maxUnavailable), strategy: cdktf.stringToTerraform(struct.strategy), blue_green_settings: (0, structs0_1.containerClusterNodePoolUpgradeSettingsBlueGreenSettingsToTerraform)(struct.blueGreenSettings), }; } function containerClusterNodePoolUpgradeSettingsToHclTerraform(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_surge: { value: cdktf.numberToHclTerraform(struct.maxSurge), isBlock: false, type: "simple", storageClassType: "number", }, max_unavailable: { value: cdktf.numberToHclTerraform(struct.maxUnavailable), isBlock: false, type: "simple", storageClassType: "number", }, strategy: { value: cdktf.stringToHclTerraform(struct.strategy), isBlock: false, type: "simple", storageClassType: "string", }, blue_green_settings: { value: (0, structs0_1.containerClusterNodePoolUpgradeSettingsBlueGreenSettingsToHclTerraform)(struct.blueGreenSettings), isBlock: true, type: "list", storageClassType: "ContainerClusterNodePoolUpgradeSettingsBlueGreenSettingsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ContainerClusterNodePoolUpgradeSettingsOutputReference 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; // blue_green_settings - computed: false, optional: true, required: false this._blueGreenSettings = new structs0_1.ContainerClusterNodePoolUpgradeSettingsBlueGreenSettingsOutputReference(this, "blue_green_settings"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._maxSurge !== undefined) { hasAnyValues = true; internalValueResult.maxSurge = this._maxSurge; } if (this._maxUnavailable !== undefined) { hasAnyValues = true; internalValueResult.maxUnavailable = this._maxUnavailable; } if (this._strategy !== undefined) { hasAnyValues = true; internalValueResult.strategy = this._strategy; } if (this._blueGreenSettings?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.blueGreenSettings = this._blueGreenSettings?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._maxSurge = undefined; this._maxUnavailable = undefined; this._strategy = undefined; this._blueGreenSettings.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._maxSurge = value.maxSurge; this._maxUnavailable = value.maxUnavailable; this._strategy = value.strategy; this._blueGreenSettings.internalValue = value.blueGreenSettings; } } get maxSurge() { return this.getNumberAttribute('max_surge'); } set maxSurge(value) { this._maxSurge = value; } resetMaxSurge() { this._maxSurge = undefined; } // Temporarily expose input value. Use with caution. get maxSurgeInput() { return this._maxSurge; } get maxUnavailable() { return this.getNumberAttribute('max_unavailable'); } set maxUnavailable(value) { this._maxUnavailable = value; } resetMaxUnavailable() { this._maxUnavailable = undefined; } // Temporarily expose input value. Use with caution. get maxUnavailableInput() { return this._maxUnavailable; } get strategy() { return this.getStringAttribute('strategy'); } set strategy(value) { this._strategy = value; } resetStrategy() { this._strategy = undefined; } // Temporarily expose input value. Use with caution. get strategyInput() { return this._strategy; } get blueGreenSettings() { return this._blueGreenSettings; } putBlueGreenSettings(value) { this._blueGreenSettings.internalValue = value; } resetBlueGreenSettings() { this._blueGreenSettings.internalValue = undefined; } // Temporarily expose input value. Use with caution. get blueGreenSettingsInput() { return this._blueGreenSettings.internalValue; } } exports.ContainerClusterNodePoolUpgradeSettingsOutputReference = ContainerClusterNodePoolUpgradeSettingsOutputReference; _a = JSII_RTTI_SYMBOL_1; ContainerClusterNodePoolUpgradeSettingsOutputReference[_a] = { fqn: "@cdktf/provider-google.containerCluster.ContainerClusterNodePoolUpgradeSettingsOutputReference", version: "16.3.0" }; function containerClusterNodePoolToTerraform(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 { initial_node_count: cdktf.numberToTerraform(struct.initialNodeCount), max_pods_per_node: cdktf.numberToTerraform(struct.maxPodsPerNode), name: cdktf.stringToTerraform(struct.name), name_prefix: cdktf.stringToTerraform(struct.namePrefix), node_count: cdktf.numberToTerraform(struct.nodeCount), node_locations: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.nodeLocations), version: cdktf.stringToTerraform(struct.version), autoscaling: (0, structs0_1.containerClusterNodePoolAutoscalingToTerraform)(struct.autoscaling), management: (0, structs0_1.containerClusterNodePoolManagementToTerraform)(struct.management), network_config: (0, structs0_1.containerClusterNodePoolNetworkConfigToTerraform)(struct.networkConfig), node_config: (0, structs0_1.containerClusterNodePoolNodeConfigToTerraform)(struct.nodeConfig), placement_policy: (0, structs0_1.containerClusterNodePoolPlacementPolicyToTerraform)(struct.placementPolicy), queued_provisioning: (0, structs0_1.containerClusterNodePoolQueuedProvisioningToTerraform)(struct.queuedProvisioning), upgrade_settings: containerClusterNodePoolUpgradeSettingsToTerraform(struct.upgradeSettings), }; } function containerClusterNodePoolToHclTerraform(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 = { initial_node_count: { value: cdktf.numberToHclTerraform(struct.initialNodeCount), isBlock: false, type: "simple", storageClassType: "number", }, max_pods_per_node: { value: cdktf.numberToHclTerraform(struct.maxPodsPerNode), isBlock: false, type: "simple", storageClassType: "number", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, name_prefix: { value: cdktf.stringToHclTerraform(struct.namePrefix), isBlock: false, type: "simple", storageClassType: "string", }, node_count: { value: cdktf.numberToHclTerraform(struct.nodeCount), isBlock: false, type: "simple", storageClassType: "number", }, node_locations: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.nodeLocations), isBlock: false, type: "set", storageClassType: "stringList", }, version: { value: cdktf.stringToHclTerraform(struct.version), isBlock: false, type: "simple", storageClassType: "string", }, autoscaling: { value: (0, structs0_1.containerClusterNodePoolAutoscalingToHclTerraform)(struct.autoscaling), isBlock: true, type: "list", storageClassType: "ContainerClusterNodePoolAutoscalingList", }, management: { value: (0, structs0_1.containerClusterNodePoolManagementToHclTerraform)(struct.management), isBlock: true, type: "list", storageClassType: "ContainerClusterNodePoolManagementList", }, network_config: { value: (0, structs0_1.containerClusterNodePoolNetworkConfigToHclTerraform)(struct.networkConfig), isBlock: true, type: "list", storageClassType: "ContainerClusterNodePoolNetworkConfigList", }, node_config: { value: (0, structs0_1.containerClusterNodePoolNodeConfigToHclTerraform)(struct.nodeConfig), isBlock: true, type: "list", storageClassType: "ContainerClusterNodePoolNodeConfigList", }, placement_policy: { value: (0, structs0_1.containerClusterNodePoolPlacementPolicyToHclTerraform)(struct.placementPolicy), isBlock: true, type: "list", storageClassType: "ContainerClusterNodePoolPlacementPolicyList", }, queued_provisioning: { value: (0, structs0_1.containerClusterNodePoolQueuedProvisioningToHclTerraform)(struct.queuedProvisioning), isBlock: true, type: "list", storageClassType: "ContainerClusterNodePoolQueuedProvisioningList", }, upgrade_settings: { value: containerClusterNodePoolUpgradeSettingsToHclTerraform(struct.upgradeSettings), isBlock: true, type: "list", storageClassType: "ContainerClusterNodePoolUpgradeSettingsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ContainerClusterNodePoolOutputReference 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; // autoscaling - computed: false, optional: true, required: false this._autoscaling = new structs0_1.ContainerClusterNodePoolAutoscalingOutputReference(this, "autoscaling"); // management - computed: false, optional: true, required: false this._management = new structs0_1.ContainerClusterNodePoolManagementOutputReference(this, "management"); // network_config - computed: false, optional: true, required: false this._networkConfig = new structs0_1.ContainerClusterNodePoolNetworkConfigOutputReference(this, "network_config"); // node_config - computed: false, optional: true, required: false this._nodeConfig = new structs0_1.ContainerClusterNodePoolNodeConfigOutputReference(this, "node_config"); // placement_policy - computed: false, optional: true, required: false this._placementPolicy = new structs0_1.ContainerClusterNodePoolPlacementPolicyOutputReference(this, "placement_policy"); // queued_provisioning - computed: false, optional: true, required: false this._queuedProvisioning = new structs0_1.ContainerClusterNodePoolQueuedProvisioningOutputReference(this, "queued_provisioning"); // upgrade_settings - computed: false, optional: true, required: false this._upgradeSettings = new ContainerClusterNodePoolUpgradeSettingsOutputReference(this, "upgrade_settings"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._initialNodeCount !== undefined) { hasAnyValues = true; internalValueResult.initialNodeCount = this._initialNodeCount; } if (this._maxPodsPerNode !== undefined) { hasAnyValues = true; internalValueResult.maxPodsPerNode = this._maxPodsPerNode; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._namePrefix !== undefined) { hasAnyValues = true; internalValueResult.namePrefix = this._namePrefix; } if (this._nodeCount !== undefined) { hasAnyValues = true; internalValueResult.nodeCount = this._nodeCount; } if (this._nodeLocations !== undefined) { hasAnyValues = true; internalValueResult.nodeLocations = this._nodeLocations; } if (this._version !== undefined) { hasAnyValues = true; internalValueResult.version = this._version; } if (this._autoscaling?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.autoscaling = this._autoscaling?.internalValue; } if (this._management?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.management = this._management?.internalValue; } if (this._networkConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.networkConfig = this._networkConfig?.internalValue; } if (this._nodeConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.nodeConfig = this._nodeConfig?.internalValue; } if (this._placementPolicy?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.placementPolicy = this._placementPolicy?.internalValue; } if (this._queuedProvisioning?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.queuedProvisioning = this._queuedProvisioning?.internalValue; } if (this._upgradeSettings?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.upgradeSettings = this._upgradeSettings?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._initialNodeCount = undefined; this._maxPodsPerNode = undefined; this._name = undefined; this._namePrefix = undefined; this._nodeCount = undefined; this._nodeLocations = undefined; this._version = undefined; this._autoscaling.internalValue = undefined; this._management.internalValue = undefined; this._networkConfig.internalValue = undefined; this._nodeConfig.internalValue = undefined; this._placementPolicy.internalValue = undefined; this._queuedProvisioning.internalValue = undefined; this._upgradeSettings.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._initialNodeCount = value.initialNodeCount; this._maxPodsPerNode = value.maxPodsPerNode; this._name = value.name; this._namePrefix = value.namePrefix; this._nodeCount = value.nodeCount; this._nodeLocations = value.nodeLocations; this._version = value.version; this._autoscaling.internalValue = value.autoscaling; this._management.internalValue = value.management; this._networkConfig.internalValue = value.networkConfig; this._nodeConfig.internalValue = value.nodeConfig; this._placementPolicy.internalValue = value.placementPolicy; this._queuedProvisioning.internalValue = value.queuedProvisioning; this._upgradeSettings.internalValue = value.upgradeSettings; } } get initialNodeCount() { return this.getNumberAttribute('initial_node_count'); } set initialNodeCount(value) { this._initialNodeCount = value; } resetInitialNodeCount() { this._initialNodeCount = undefined; } // Temporarily expose input value. Use with caution. get initialNodeCountInput() { return this._initialNodeCount; } // instance_group_urls - computed: true, optional: false, required: false get instanceGroupUrls() { return this.getListAttribute('instance_group_urls'); } // managed_instance_group_urls - computed: true, optional: false, required: false get managedInstanceGroupUrls() { return this.getListAttribute('managed_instance_group_urls'); } 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 name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } resetName() { this._name = undefined; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get namePrefix() { return this.getStringAttribute('name_prefix'); } set namePrefix(value) { this._namePrefix = value; } resetNamePrefix() { this._namePrefix = undefined; } // Temporarily expose input value. Use with caution. get namePrefixInput() { return this._namePrefix; } get nodeCount() { return this.getNumberAttribute('node_count'); } set nodeCount(value) { this._nodeCount = value; } resetNodeCount() { this._nodeCount = undefined; } // Temporarily expose input value. Use with caution. get nodeCountInput() { return this._nodeCount; } get nodeLocations() { return cdktf.Fn.tolist(this.getListAttribute('node_locations')); } set nodeLocations(value) { this._nodeLocations = value; } resetNodeLocations() { this._nodeLocations = undefined; } // Temporarily expose input value. Use with caution. get nodeLocationsInput() { return this._nodeLocations; } get version() { return this.getStringAttribute('version'); } set version(value) { this._version = value; } resetVersion() { this._version = undefined; } // Temporarily expose input value. Use with caution. get versionInput() { return this._version; } get autoscaling() { return this._autoscaling; } putAutoscaling(value) { this._autoscaling.internalValue = value; } resetAutoscaling() { this._autoscaling.internalValue = undefined; } // Temporarily expose input value. Use with caution. get autoscalingInput() { return this._autoscaling.internalValue; } get management() { return this._management; } putManagement(value) { this._management.internalValue = value; } resetManagement() { this._management.internalValue = undefined; } // Temporarily expose input value. Use with caution. get managementInput() { return this._management.internalValue; } get networkConfig() { return this._networkConfig; } putNetworkConfig(value) { this._networkConfig.internalValue = value; } resetNetworkConfig() { this._networkConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get networkConfigInput() { return this._networkConfig.internalValue; } get nodeConfig() { return this._nodeConfig; } putNodeConfig(value) { this._nodeConfig.internalValue = value; } resetNodeConfig() { this._nodeConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get nodeConfigInput() { return this._nodeConfig.internalValue; } get placementPolicy() { return this._placementPolicy; } putPlacementPolicy(value) { this._placementPolicy.internalValue = value; } resetPlacementPolicy() { this._placementPolicy.internalValue = undefined; } // Temporarily expose input value. Use with caution. get placementPolicyInput() { return this._placementPolicy.internalValue; } get queuedProvisioning() { return this._queuedProvisioning; } putQueuedProvisioning(value) { this._queuedProvisioning.internalValue = value; } resetQueuedProvisioning() { this._queuedProvisioning.internalValue = undefined; } // Temporarily expose input value. Use with caution. get queuedProvisioningInput() { return this._queuedProvisioning.internalValue; } get upgradeSettings() { return this._upgradeSettings; } putUpgradeSettings(value) { this._upgradeSettings.internalValue = value; } resetUpgradeSettings() { this._upgradeSettings.internalValue = undefined; } // Temporarily expose input value. Use with caution. get upgradeSettingsInput() { return this._upgradeSettings.internalValue; } } exports.ContainerClusterNodePoolOutputReference = ContainerClusterNodePoolOutputReference; _b = JSII_RTTI_SYMBOL_1; ContainerClusterNodePoolOutputReference[_b] = { fqn: "@cdktf/provider-google.containerCluster.ContainerClusterNodePoolOutputReference", version: "16.3.0" }; class ContainerClusterNodePoolList 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 ContainerClusterNodePoolOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ContainerClusterNodePoolList = ContainerClusterNodePoolList; _c = JSII_RTTI_SYMBOL_1; ContainerClusterNodePoolList[_c] = { fqn: "@cdktf/provider-google.containerCluster.ContainerClusterNodePoolList", version: "16.3.0" }; function containerClusterNodePoolAutoConfigLinuxNodeConfigToTerraform(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 { cgroup_mode: cdktf.stringToTerraform(struct.cgroupMode), }; } function containerClusterNodePoolAutoConfigLinuxNodeConfigToHclTerraform(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 = { cgroup_mode: { value: cdktf.stringToHclTerraform(struct.cgroupMode), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ContainerClusterNodePoolAutoConfigLinuxNodeConfigOutputReference 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._cgroupMode !== undefined) { hasAnyValues = true; internalValueResult.cgroupMode = this._cgroupMode; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._cgroupMode = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._cgroupMode = value.cgroupMode; } } get cgroupMode() { return this.getStringAttribute('cgroup_mode'); } set cgroupMode(value) { this._cgroupMode = value; } resetCgroupMode() { this._cgroupMode = undefined; } // Temporarily expose input value. Use with caution. get cgroupModeInput() { return this._cgroupMode; } } exports.ContainerClusterNodePoolAutoConfigLinuxNodeConfigOutputReference = ContainerClusterNodePoolAutoConfigLinuxNodeConfigOutputReference; _d = JSII_RTTI_SYMBOL_1; ContainerClusterNodePoolAutoConfigLinuxNodeConfigOutputReference[_d] = { fqn: "@cdktf/provider-google.containerCluster.ContainerClusterNodePoolAutoConfigLinuxNodeConfigOutputReference", version: "16.3.0" }; function containerClusterNodePoolAutoConfigNetworkTagsToTerraform(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 { tags: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.tags), }; } function containerClusterNodePoolAutoConfigNetworkTagsToHclTerraform(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 = { tags: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.tags), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ContainerClusterNodePoolAutoConfigNetworkTagsOutputReference 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._tags !== undefined) { hasAnyValues = true; internalValueResult.tags = this._tags; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._tags = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._tags = value.tags; } } get tags() { return this.getListAttribute('tags'); } set tags(value) { this._tags = value; } resetTags() { this._tags = undefined; } // Temporarily expose input value. Use with caution. get tagsInput() { return this._tags; } } exports.ContainerClusterNodePoolAutoConfigNetworkTagsOutputReference = ContainerClusterNodePoolAutoConfigNetworkTagsOutputReference; _e = JSII_RTTI_SYMBOL_1; ContainerClusterNodePoolAutoConfigNetworkTagsOutputReference[_e] = { fqn: "@cdktf/provider-google.containerCluster.ContainerClusterNodePoolAutoConfigNetworkTagsOutputReference", version: "16.3.0" }; function containerClusterNodePoolAutoConfigNodeKubeletConfigToTerraform(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 { insecure_kubelet_readonly_port_enabled: cdktf.stringToTerraform(struct.insecureKubeletReadonlyPortEnabled), }; } function containerClusterNodePoolAutoConfigNodeKubeletConfigToHclTerraform(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 = { insecure_kubelet_readonly_port_enabled: { value: cdktf.stringToHclTerraform(struct.insecureKubeletReadonlyPortEnabled), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ContainerClusterNodePoolAutoConfigNodeKubeletConfigOutputReference 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._insecureKubeletReadonlyPortEnabled !== undefined) { hasAnyValues = true; internalValueResult.insecureKubeletReadonlyPortEnabled = this._insecureKubeletReadonlyPortEnabled; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._insecureKubeletReadonlyPortEnabled = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._insecureKubeletReadonlyPortEnabled = value.insecureKubeletReadonlyPortEnabled; } } get insecureKubeletReadonlyPortEnabled() { return this.getStringAttribute('insecure_kubelet_readonly_port_enabled'); } set insecureKubeletReadonlyPortEnabled(value) { this._insecureKubeletReadonlyPortEnabled = value; } resetInsecureKubeletReadonlyPortEnabled() { this._insecureKubeletReadonlyPortEnabled = undefined; } // Temporarily expose input value. Use with caution. get insecureKubeletReadonlyPortEnabledInput() { return this._insecureKubeletReadonlyPortEnabled; } } exports.ContainerClusterNodePoolAutoConfigNodeKubeletConfigOutputReference = ContainerClusterNodePoolAutoConfigNodeKubeletConfigOutputReference; _f = JSII_RTTI_SYMBOL_1; ContainerClusterNodePoolAutoConfigNodeKubeletConfigOutputReference[_f] = { fqn: "@cdktf/provider-google.containerCluster.ContainerClusterNodePoolAutoConfigNodeKubeletConfigOutputReference", version: "16.3.0" }; function containerClusterNodePoolAutoConfigToTerraform(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 { resource_manager_tags: cdktf.hashMapper(cdktf.stringToTerraform)(struct.resourceManagerTags), linux_node_config: containerClusterNodePoolAutoConfigLinuxNodeConfigToTerraform(struct.linuxNodeConfig), network_tags: containerClusterNodePoolAutoConfigNetworkTagsToTerraform(struct.networkTags), node_kubelet_config: containerClusterNodePoolAutoConfigNodeKubeletConfigToTerraform(struct.nodeKubeletConfig), }; } function containerClusterNodePoolAutoConfigToHclTerraform(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 = { resource_manager_tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.resourceManagerTags), isBlock: false, type: "map", storageClassType: "stringMap", }, linux_node_config: { value: containerClusterNodePoolAutoConfigLinuxNodeConfigToHclTerraform(struct.linuxNodeConfig), isBlock: true, type: "list", storageClassType: "ContainerClusterNodePoolAutoConfigLinuxNodeConfigList", }, network_tags: { value: containerClusterNodePoolAutoConfigNetworkTagsToHclTerraform(struct.networkTags), isBlock: true, type: "list", storageClassType: "ContainerClusterNodePoolAutoConfigNetworkTagsList", }, node_kubelet_config: { value: containerClusterNodePoolAutoConfigNodeKubeletConfigToHclTerraform(struct.nodeKubeletConfig), isBlock: true, type: "list", storageClassType: "ContainerClusterNodePoolAutoConfigNodeKubeletConfigList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ContainerClusterNodePoolAutoConfigOutputReference 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; // linux_node_config - computed: false, optional: true, required: false this._linuxNodeConfig = new ContainerClusterNodePoolAutoConfigLinuxNodeConfigOutputReference(this, "linux_node_config"); // network_tags - computed: false, optional: true, required: false this._networkTags = new ContainerClusterNodePoolAutoConfigNetworkTagsOutputReference(this, "network_tags"); // node_kubelet_config - computed: false, optional: true, required: false this._nodeKubeletConfig = new ContainerClusterNodePoolAutoConfigNodeKubeletConfigOutputReference(this, "node_kubelet_config"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._resourceManagerTags !== undefined) { hasAnyValues = true; internalValueResult.resourceManagerTags = this._resourceManagerTags; } if (this._linuxNodeConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.linuxNodeConfig = this._linuxNodeConfig?.internalValue; } if (this._networkTags?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.networkTags = this._networkTags?.internalValue; } if (this._nodeKubeletConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.nodeKubeletConfig = this._nodeKubeletConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.