@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
1,001 lines • 520 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;
Object.defineProperty(exports, "__esModule", { value: true });
exports.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.