@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
1,197 lines • 275 kB
JavaScript
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContainerCluster = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
// generated from terraform resource schema
const index_structs_1 = require("./index-structs");
__exportStar(require("./index-structs"), exports);
const cdktf = require("cdktf");
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_cluster google_container_cluster}
*/
class ContainerCluster extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a ContainerCluster resource upon running "cdktf plan <stack-name>"
* @param scope The scope in which to define this construct
* @param importToId The construct id used in the generated config for the ContainerCluster to import
* @param importFromId The id of the existing ContainerCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_cluster#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the ContainerCluster to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "google_container_cluster", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/container_cluster google_container_cluster} Resource
*
* @param scope The scope in which to define this construct
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
* @param options ContainerClusterConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'google_container_cluster',
terraformGeneratorMetadata: {
providerName: 'google',
providerVersion: '6.13.0',
providerVersionConstraint: '~> 6.0'
},
provider: config.provider,
dependsOn: config.dependsOn,
count: config.count,
lifecycle: config.lifecycle,
provisioners: config.provisioners,
connection: config.connection,
forEach: config.forEach
});
// effective_labels - computed: true, optional: false, required: false
this._effectiveLabels = new cdktf.StringMap(this, "effective_labels");
// terraform_labels - computed: true, optional: false, required: false
this._terraformLabels = new cdktf.StringMap(this, "terraform_labels");
// addons_config - computed: false, optional: true, required: false
this._addonsConfig = new index_structs_1.ContainerClusterAddonsConfigOutputReference(this, "addons_config");
// authenticator_groups_config - computed: false, optional: true, required: false
this._authenticatorGroupsConfig = new index_structs_1.ContainerClusterAuthenticatorGroupsConfigOutputReference(this, "authenticator_groups_config");
// binary_authorization - computed: false, optional: true, required: false
this._binaryAuthorization = new index_structs_1.ContainerClusterBinaryAuthorizationOutputReference(this, "binary_authorization");
// cluster_autoscaling - computed: false, optional: true, required: false
this._clusterAutoscaling = new index_structs_1.ContainerClusterClusterAutoscalingOutputReference(this, "cluster_autoscaling");
// confidential_nodes - computed: false, optional: true, required: false
this._confidentialNodes = new index_structs_1.ContainerClusterConfidentialNodesOutputReference(this, "confidential_nodes");
// control_plane_endpoints_config - computed: false, optional: true, required: false
this._controlPlaneEndpointsConfig = new index_structs_1.ContainerClusterControlPlaneEndpointsConfigOutputReference(this, "control_plane_endpoints_config");
// cost_management_config - computed: false, optional: true, required: false
this._costManagementConfig = new index_structs_1.ContainerClusterCostManagementConfigOutputReference(this, "cost_management_config");
// database_encryption - computed: false, optional: true, required: false
this._databaseEncryption = new index_structs_1.ContainerClusterDatabaseEncryptionOutputReference(this, "database_encryption");
// default_snat_status - computed: false, optional: true, required: false
this._defaultSnatStatus = new index_structs_1.ContainerClusterDefaultSnatStatusOutputReference(this, "default_snat_status");
// dns_config - computed: false, optional: true, required: false
this._dnsConfig = new index_structs_1.ContainerClusterDnsConfigOutputReference(this, "dns_config");
// enable_k8s_beta_apis - computed: false, optional: true, required: false
this._enableK8SBetaApis = new index_structs_1.ContainerClusterEnableK8SBetaApisOutputReference(this, "enable_k8s_beta_apis");
// enterprise_config - computed: false, optional: true, required: false
this._enterpriseConfig = new index_structs_1.ContainerClusterEnterpriseConfigOutputReference(this, "enterprise_config");
// fleet - computed: false, optional: true, required: false
this._fleet = new index_structs_1.ContainerClusterFleetOutputReference(this, "fleet");
// gateway_api_config - computed: false, optional: true, required: false
this._gatewayApiConfig = new index_structs_1.ContainerClusterGatewayApiConfigOutputReference(this, "gateway_api_config");
// identity_service_config - computed: false, optional: true, required: false
this._identityServiceConfig = new index_structs_1.ContainerClusterIdentityServiceConfigOutputReference(this, "identity_service_config");
// ip_allocation_policy - computed: false, optional: true, required: false
this._ipAllocationPolicy = new index_structs_1.ContainerClusterIpAllocationPolicyOutputReference(this, "ip_allocation_policy");
// logging_config - computed: false, optional: true, required: false
this._loggingConfig = new index_structs_1.ContainerClusterLoggingConfigOutputReference(this, "logging_config");
// maintenance_policy - computed: false, optional: true, required: false
this._maintenancePolicy = new index_structs_1.ContainerClusterMaintenancePolicyOutputReference(this, "maintenance_policy");
// master_auth - computed: false, optional: true, required: false
this._masterAuth = new index_structs_1.ContainerClusterMasterAuthOutputReference(this, "master_auth");
// master_authorized_networks_config - computed: false, optional: true, required: false
this._masterAuthorizedNetworksConfig = new index_structs_1.ContainerClusterMasterAuthorizedNetworksConfigOutputReference(this, "master_authorized_networks_config");
// mesh_certificates - computed: false, optional: true, required: false
this._meshCertificates = new index_structs_1.ContainerClusterMeshCertificatesOutputReference(this, "mesh_certificates");
// monitoring_config - computed: false, optional: true, required: false
this._monitoringConfig = new index_structs_1.ContainerClusterMonitoringConfigOutputReference(this, "monitoring_config");
// network_policy - computed: false, optional: true, required: false
this._networkPolicy = new index_structs_1.ContainerClusterNetworkPolicyOutputReference(this, "network_policy");
// node_config - computed: false, optional: true, required: false
this._nodeConfig = new index_structs_1.ContainerClusterNodeConfigOutputReference(this, "node_config");
// node_pool - computed: false, optional: true, required: false
this._nodePool = new index_structs_1.ContainerClusterNodePoolList(this, "node_pool", false);
// node_pool_auto_config - computed: false, optional: true, required: false
this._nodePoolAutoConfig = new index_structs_1.ContainerClusterNodePoolAutoConfigOutputReference(this, "node_pool_auto_config");
// node_pool_defaults - computed: false, optional: true, required: false
this._nodePoolDefaults = new index_structs_1.ContainerClusterNodePoolDefaultsOutputReference(this, "node_pool_defaults");
// notification_config - computed: false, optional: true, required: false
this._notificationConfig = new index_structs_1.ContainerClusterNotificationConfigOutputReference(this, "notification_config");
// private_cluster_config - computed: false, optional: true, required: false
this._privateClusterConfig = new index_structs_1.ContainerClusterPrivateClusterConfigOutputReference(this, "private_cluster_config");
// release_channel - computed: false, optional: true, required: false
this._releaseChannel = new index_structs_1.ContainerClusterReleaseChannelOutputReference(this, "release_channel");
// resource_usage_export_config - computed: false, optional: true, required: false
this._resourceUsageExportConfig = new index_structs_1.ContainerClusterResourceUsageExportConfigOutputReference(this, "resource_usage_export_config");
// secret_manager_config - computed: false, optional: true, required: false
this._secretManagerConfig = new index_structs_1.ContainerClusterSecretManagerConfigOutputReference(this, "secret_manager_config");
// security_posture_config - computed: false, optional: true, required: false
this._securityPostureConfig = new index_structs_1.ContainerClusterSecurityPostureConfigOutputReference(this, "security_posture_config");
// service_external_ips_config - computed: false, optional: true, required: false
this._serviceExternalIpsConfig = new index_structs_1.ContainerClusterServiceExternalIpsConfigOutputReference(this, "service_external_ips_config");
// timeouts - computed: false, optional: true, required: false
this._timeouts = new index_structs_1.ContainerClusterTimeoutsOutputReference(this, "timeouts");
// user_managed_keys_config - computed: false, optional: true, required: false
this._userManagedKeysConfig = new index_structs_1.ContainerClusterUserManagedKeysConfigOutputReference(this, "user_managed_keys_config");
// vertical_pod_autoscaling - computed: false, optional: true, required: false
this._verticalPodAutoscaling = new index_structs_1.ContainerClusterVerticalPodAutoscalingOutputReference(this, "vertical_pod_autoscaling");
// workload_identity_config - computed: false, optional: true, required: false
this._workloadIdentityConfig = new index_structs_1.ContainerClusterWorkloadIdentityConfigOutputReference(this, "workload_identity_config");
this._allowNetAdmin = config.allowNetAdmin;
this._clusterIpv4Cidr = config.clusterIpv4Cidr;
this._datapathProvider = config.datapathProvider;
this._defaultMaxPodsPerNode = config.defaultMaxPodsPerNode;
this._deletionProtection = config.deletionProtection;
this._description = config.description;
this._enableAutopilot = config.enableAutopilot;
this._enableCiliumClusterwideNetworkPolicy = config.enableCiliumClusterwideNetworkPolicy;
this._enableIntranodeVisibility = config.enableIntranodeVisibility;
this._enableKubernetesAlpha = config.enableKubernetesAlpha;
this._enableL4IlbSubsetting = config.enableL4IlbSubsetting;
this._enableLegacyAbac = config.enableLegacyAbac;
this._enableMultiNetworking = config.enableMultiNetworking;
this._enableShieldedNodes = config.enableShieldedNodes;
this._enableTpu = config.enableTpu;
this._id = config.id;
this._initialNodeCount = config.initialNodeCount;
this._location = config.location;
this._loggingService = config.loggingService;
this._minMasterVersion = config.minMasterVersion;
this._monitoringService = config.monitoringService;
this._name = config.name;
this._network = config.network;
this._networkingMode = config.networkingMode;
this._nodeLocations = config.nodeLocations;
this._nodeVersion = config.nodeVersion;
this._privateIpv6GoogleAccess = config.privateIpv6GoogleAccess;
this._project = config.project;
this._removeDefaultNodePool = config.removeDefaultNodePool;
this._resourceLabels = config.resourceLabels;
this._subnetwork = config.subnetwork;
this._addonsConfig.internalValue = config.addonsConfig;
this._authenticatorGroupsConfig.internalValue = config.authenticatorGroupsConfig;
this._binaryAuthorization.internalValue = config.binaryAuthorization;
this._clusterAutoscaling.internalValue = config.clusterAutoscaling;
this._confidentialNodes.internalValue = config.confidentialNodes;
this._controlPlaneEndpointsConfig.internalValue = config.controlPlaneEndpointsConfig;
this._costManagementConfig.internalValue = config.costManagementConfig;
this._databaseEncryption.internalValue = config.databaseEncryption;
this._defaultSnatStatus.internalValue = config.defaultSnatStatus;
this._dnsConfig.internalValue = config.dnsConfig;
this._enableK8SBetaApis.internalValue = config.enableK8SBetaApis;
this._enterpriseConfig.internalValue = config.enterpriseConfig;
this._fleet.internalValue = config.fleet;
this._gatewayApiConfig.internalValue = config.gatewayApiConfig;
this._identityServiceConfig.internalValue = config.identityServiceConfig;
this._ipAllocationPolicy.internalValue = config.ipAllocationPolicy;
this._loggingConfig.internalValue = config.loggingConfig;
this._maintenancePolicy.internalValue = config.maintenancePolicy;
this._masterAuth.internalValue = config.masterAuth;
this._masterAuthorizedNetworksConfig.internalValue = config.masterAuthorizedNetworksConfig;
this._meshCertificates.internalValue = config.meshCertificates;
this._monitoringConfig.internalValue = config.monitoringConfig;
this._networkPolicy.internalValue = config.networkPolicy;
this._nodeConfig.internalValue = config.nodeConfig;
this._nodePool.internalValue = config.nodePool;
this._nodePoolAutoConfig.internalValue = config.nodePoolAutoConfig;
this._nodePoolDefaults.internalValue = config.nodePoolDefaults;
this._notificationConfig.internalValue = config.notificationConfig;
this._privateClusterConfig.internalValue = config.privateClusterConfig;
this._releaseChannel.internalValue = config.releaseChannel;
this._resourceUsageExportConfig.internalValue = config.resourceUsageExportConfig;
this._secretManagerConfig.internalValue = config.secretManagerConfig;
this._securityPostureConfig.internalValue = config.securityPostureConfig;
this._serviceExternalIpsConfig.internalValue = config.serviceExternalIpsConfig;
this._timeouts.internalValue = config.timeouts;
this._userManagedKeysConfig.internalValue = config.userManagedKeysConfig;
this._verticalPodAutoscaling.internalValue = config.verticalPodAutoscaling;
this._workloadIdentityConfig.internalValue = config.workloadIdentityConfig;
}
get allowNetAdmin() {
return this.getBooleanAttribute('allow_net_admin');
}
set allowNetAdmin(value) {
this._allowNetAdmin = value;
}
resetAllowNetAdmin() {
this._allowNetAdmin = undefined;
}
// Temporarily expose input value. Use with caution.
get allowNetAdminInput() {
return this._allowNetAdmin;
}
get clusterIpv4Cidr() {
return this.getStringAttribute('cluster_ipv4_cidr');
}
set clusterIpv4Cidr(value) {
this._clusterIpv4Cidr = value;
}
resetClusterIpv4Cidr() {
this._clusterIpv4Cidr = undefined;
}
// Temporarily expose input value. Use with caution.
get clusterIpv4CidrInput() {
return this._clusterIpv4Cidr;
}
get datapathProvider() {
return this.getStringAttribute('datapath_provider');
}
set datapathProvider(value) {
this._datapathProvider = value;
}
resetDatapathProvider() {
this._datapathProvider = undefined;
}
// Temporarily expose input value. Use with caution.
get datapathProviderInput() {
return this._datapathProvider;
}
get defaultMaxPodsPerNode() {
return this.getNumberAttribute('default_max_pods_per_node');
}
set defaultMaxPodsPerNode(value) {
this._defaultMaxPodsPerNode = value;
}
resetDefaultMaxPodsPerNode() {
this._defaultMaxPodsPerNode = undefined;
}
// Temporarily expose input value. Use with caution.
get defaultMaxPodsPerNodeInput() {
return this._defaultMaxPodsPerNode;
}
get deletionProtection() {
return this.getBooleanAttribute('deletion_protection');
}
set deletionProtection(value) {
this._deletionProtection = value;
}
resetDeletionProtection() {
this._deletionProtection = undefined;
}
// Temporarily expose input value. Use with caution.
get deletionProtectionInput() {
return this._deletionProtection;
}
get description() {
return this.getStringAttribute('description');
}
set description(value) {
this._description = value;
}
resetDescription() {
this._description = undefined;
}
// Temporarily expose input value. Use with caution.
get descriptionInput() {
return this._description;
}
get effectiveLabels() {
return this._effectiveLabels;
}
get enableAutopilot() {
return this.getBooleanAttribute('enable_autopilot');
}
set enableAutopilot(value) {
this._enableAutopilot = value;
}
resetEnableAutopilot() {
this._enableAutopilot = undefined;
}
// Temporarily expose input value. Use with caution.
get enableAutopilotInput() {
return this._enableAutopilot;
}
get enableCiliumClusterwideNetworkPolicy() {
return this.getBooleanAttribute('enable_cilium_clusterwide_network_policy');
}
set enableCiliumClusterwideNetworkPolicy(value) {
this._enableCiliumClusterwideNetworkPolicy = value;
}
resetEnableCiliumClusterwideNetworkPolicy() {
this._enableCiliumClusterwideNetworkPolicy = undefined;
}
// Temporarily expose input value. Use with caution.
get enableCiliumClusterwideNetworkPolicyInput() {
return this._enableCiliumClusterwideNetworkPolicy;
}
get enableIntranodeVisibility() {
return this.getBooleanAttribute('enable_intranode_visibility');
}
set enableIntranodeVisibility(value) {
this._enableIntranodeVisibility = value;
}
resetEnableIntranodeVisibility() {
this._enableIntranodeVisibility = undefined;
}
// Temporarily expose input value. Use with caution.
get enableIntranodeVisibilityInput() {
return this._enableIntranodeVisibility;
}
get enableKubernetesAlpha() {
return this.getBooleanAttribute('enable_kubernetes_alpha');
}
set enableKubernetesAlpha(value) {
this._enableKubernetesAlpha = value;
}
resetEnableKubernetesAlpha() {
this._enableKubernetesAlpha = undefined;
}
// Temporarily expose input value. Use with caution.
get enableKubernetesAlphaInput() {
return this._enableKubernetesAlpha;
}
get enableL4IlbSubsetting() {
return this.getBooleanAttribute('enable_l4_ilb_subsetting');
}
set enableL4IlbSubsetting(value) {
this._enableL4IlbSubsetting = value;
}
resetEnableL4IlbSubsetting() {
this._enableL4IlbSubsetting = undefined;
}
// Temporarily expose input value. Use with caution.
get enableL4IlbSubsettingInput() {
return this._enableL4IlbSubsetting;
}
get enableLegacyAbac() {
return this.getBooleanAttribute('enable_legacy_abac');
}
set enableLegacyAbac(value) {
this._enableLegacyAbac = value;
}
resetEnableLegacyAbac() {
this._enableLegacyAbac = undefined;
}
// Temporarily expose input value. Use with caution.
get enableLegacyAbacInput() {
return this._enableLegacyAbac;
}
get enableMultiNetworking() {
return this.getBooleanAttribute('enable_multi_networking');
}
set enableMultiNetworking(value) {
this._enableMultiNetworking = value;
}
resetEnableMultiNetworking() {
this._enableMultiNetworking = undefined;
}
// Temporarily expose input value. Use with caution.
get enableMultiNetworkingInput() {
return this._enableMultiNetworking;
}
get enableShieldedNodes() {
return this.getBooleanAttribute('enable_shielded_nodes');
}
set enableShieldedNodes(value) {
this._enableShieldedNodes = value;
}
resetEnableShieldedNodes() {
this._enableShieldedNodes = undefined;
}
// Temporarily expose input value. Use with caution.
get enableShieldedNodesInput() {
return this._enableShieldedNodes;
}
get enableTpu() {
return this.getBooleanAttribute('enable_tpu');
}
set enableTpu(value) {
this._enableTpu = value;
}
resetEnableTpu() {
this._enableTpu = undefined;
}
// Temporarily expose input value. Use with caution.
get enableTpuInput() {
return this._enableTpu;
}
// endpoint - computed: true, optional: false, required: false
get endpoint() {
return this.getStringAttribute('endpoint');
}
get id() {
return this.getStringAttribute('id');
}
set id(value) {
this._id = value;
}
resetId() {
this._id = undefined;
}
// Temporarily expose input value. Use with caution.
get idInput() {
return this._id;
}
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;
}
// label_fingerprint - computed: true, optional: false, required: false
get labelFingerprint() {
return this.getStringAttribute('label_fingerprint');
}
get location() {
return this.getStringAttribute('location');
}
set location(value) {
this._location = value;
}
resetLocation() {
this._location = undefined;
}
// Temporarily expose input value. Use with caution.
get locationInput() {
return this._location;
}
get loggingService() {
return this.getStringAttribute('logging_service');
}
set loggingService(value) {
this._loggingService = value;
}
resetLoggingService() {
this._loggingService = undefined;
}
// Temporarily expose input value. Use with caution.
get loggingServiceInput() {
return this._loggingService;
}
// master_version - computed: true, optional: false, required: false
get masterVersion() {
return this.getStringAttribute('master_version');
}
get minMasterVersion() {
return this.getStringAttribute('min_master_version');
}
set minMasterVersion(value) {
this._minMasterVersion = value;
}
resetMinMasterVersion() {
this._minMasterVersion = undefined;
}
// Temporarily expose input value. Use with caution.
get minMasterVersionInput() {
return this._minMasterVersion;
}
get monitoringService() {
return this.getStringAttribute('monitoring_service');
}
set monitoringService(value) {
this._monitoringService = value;
}
resetMonitoringService() {
this._monitoringService = undefined;
}
// Temporarily expose input value. Use with caution.
get monitoringServiceInput() {
return this._monitoringService;
}
get name() {
return this.getStringAttribute('name');
}
set name(value) {
this._name = value;
}
// Temporarily expose input value. Use with caution.
get nameInput() {
return this._name;
}
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 networkingMode() {
return this.getStringAttribute('networking_mode');
}
set networkingMode(value) {
this._networkingMode = value;
}
resetNetworkingMode() {
this._networkingMode = undefined;
}
// Temporarily expose input value. Use with caution.
get networkingModeInput() {
return this._networkingMode;
}
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 nodeVersion() {
return this.getStringAttribute('node_version');
}
set nodeVersion(value) {
this._nodeVersion = value;
}
resetNodeVersion() {
this._nodeVersion = undefined;
}
// Temporarily expose input value. Use with caution.
get nodeVersionInput() {
return this._nodeVersion;
}
// operation - computed: true, optional: false, required: false
get operation() {
return this.getStringAttribute('operation');
}
get privateIpv6GoogleAccess() {
return this.getStringAttribute('private_ipv6_google_access');
}
set privateIpv6GoogleAccess(value) {
this._privateIpv6GoogleAccess = value;
}
resetPrivateIpv6GoogleAccess() {
this._privateIpv6GoogleAccess = undefined;
}
// Temporarily expose input value. Use with caution.
get privateIpv6GoogleAccessInput() {
return this._privateIpv6GoogleAccess;
}
get project() {
return this.getStringAttribute('project');
}
set project(value) {
this._project = value;
}
resetProject() {
this._project = undefined;
}
// Temporarily expose input value. Use with caution.
get projectInput() {
return this._project;
}
get removeDefaultNodePool() {
return this.getBooleanAttribute('remove_default_node_pool');
}
set removeDefaultNodePool(value) {
this._removeDefaultNodePool = value;
}
resetRemoveDefaultNodePool() {
this._removeDefaultNodePool = undefined;
}
// Temporarily expose input value. Use with caution.
get removeDefaultNodePoolInput() {
return this._removeDefaultNodePool;
}
get resourceLabels() {
return this.getStringMapAttribute('resource_labels');
}
set resourceLabels(value) {
this._resourceLabels = value;
}
resetResourceLabels() {
this._resourceLabels = undefined;
}
// Temporarily expose input value. Use with caution.
get resourceLabelsInput() {
return this._resourceLabels;
}
// self_link - computed: true, optional: false, required: false
get selfLink() {
return this.getStringAttribute('self_link');
}
// services_ipv4_cidr - computed: true, optional: false, required: false
get servicesIpv4Cidr() {
return this.getStringAttribute('services_ipv4_cidr');
}
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;
}
get terraformLabels() {
return this._terraformLabels;
}
// tpu_ipv4_cidr_block - computed: true, optional: false, required: false
get tpuIpv4CidrBlock() {
return this.getStringAttribute('tpu_ipv4_cidr_block');
}
get addonsConfig() {
return this._addonsConfig;
}
putAddonsConfig(value) {
this._addonsConfig.internalValue = value;
}
resetAddonsConfig() {
this._addonsConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get addonsConfigInput() {
return this._addonsConfig.internalValue;
}
get authenticatorGroupsConfig() {
return this._authenticatorGroupsConfig;
}
putAuthenticatorGroupsConfig(value) {
this._authenticatorGroupsConfig.internalValue = value;
}
resetAuthenticatorGroupsConfig() {
this._authenticatorGroupsConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get authenticatorGroupsConfigInput() {
return this._authenticatorGroupsConfig.internalValue;
}
get binaryAuthorization() {
return this._binaryAuthorization;
}
putBinaryAuthorization(value) {
this._binaryAuthorization.internalValue = value;
}
resetBinaryAuthorization() {
this._binaryAuthorization.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get binaryAuthorizationInput() {
return this._binaryAuthorization.internalValue;
}
get clusterAutoscaling() {
return this._clusterAutoscaling;
}
putClusterAutoscaling(value) {
this._clusterAutoscaling.internalValue = value;
}
resetClusterAutoscaling() {
this._clusterAutoscaling.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get clusterAutoscalingInput() {
return this._clusterAutoscaling.internalValue;
}
get confidentialNodes() {
return this._confidentialNodes;
}
putConfidentialNodes(value) {
this._confidentialNodes.internalValue = value;
}
resetConfidentialNodes() {
this._confidentialNodes.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get confidentialNodesInput() {
return this._confidentialNodes.internalValue;
}
get controlPlaneEndpointsConfig() {
return this._controlPlaneEndpointsConfig;
}
putControlPlaneEndpointsConfig(value) {
this._controlPlaneEndpointsConfig.internalValue = value;
}
resetControlPlaneEndpointsConfig() {
this._controlPlaneEndpointsConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get controlPlaneEndpointsConfigInput() {
return this._controlPlaneEndpointsConfig.internalValue;
}
get costManagementConfig() {
return this._costManagementConfig;
}
putCostManagementConfig(value) {
this._costManagementConfig.internalValue = value;
}
resetCostManagementConfig() {
this._costManagementConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get costManagementConfigInput() {
return this._costManagementConfig.internalValue;
}
get databaseEncryption() {
return this._databaseEncryption;
}
putDatabaseEncryption(value) {
this._databaseEncryption.internalValue = value;
}
resetDatabaseEncryption() {
this._databaseEncryption.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get databaseEncryptionInput() {
return this._databaseEncryption.internalValue;
}
get defaultSnatStatus() {
return this._defaultSnatStatus;
}
putDefaultSnatStatus(value) {
this._defaultSnatStatus.internalValue = value;
}
resetDefaultSnatStatus() {
this._defaultSnatStatus.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get defaultSnatStatusInput() {
return this._defaultSnatStatus.internalValue;
}
get dnsConfig() {
return this._dnsConfig;
}
putDnsConfig(value) {
this._dnsConfig.internalValue = value;
}
resetDnsConfig() {
this._dnsConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get dnsConfigInput() {
return this._dnsConfig.internalValue;
}
get enableK8SBetaApis() {
return this._enableK8SBetaApis;
}
putEnableK8SBetaApis(value) {
this._enableK8SBetaApis.internalValue = value;
}
resetEnableK8SBetaApis() {
this._enableK8SBetaApis.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get enableK8SBetaApisInput() {
return this._enableK8SBetaApis.internalValue;
}
get enterpriseConfig() {
return this._enterpriseConfig;
}
putEnterpriseConfig(value) {
this._enterpriseConfig.internalValue = value;
}
resetEnterpriseConfig() {
this._enterpriseConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get enterpriseConfigInput() {
return this._enterpriseConfig.internalValue;
}
get fleet() {
return this._fleet;
}
putFleet(value) {
this._fleet.internalValue = value;
}
resetFleet() {
this._fleet.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get fleetInput() {
return this._fleet.internalValue;
}
get gatewayApiConfig() {
return this._gatewayApiConfig;
}
putGatewayApiConfig(value) {
this._gatewayApiConfig.internalValue = value;
}
resetGatewayApiConfig() {
this._gatewayApiConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get gatewayApiConfigInput() {
return this._gatewayApiConfig.internalValue;
}
get identityServiceConfig() {
return this._identityServiceConfig;
}
putIdentityServiceConfig(value) {
this._identityServiceConfig.internalValue = value;
}
resetIdentityServiceConfig() {
this._identityServiceConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get identityServiceConfigInput() {
return this._identityServiceConfig.internalValue;
}
get ipAllocationPolicy() {
return this._ipAllocationPolicy;
}
putIpAllocationPolicy(value) {
this._ipAllocationPolicy.internalValue = value;
}
resetIpAllocationPolicy() {
this._ipAllocationPolicy.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get ipAllocationPolicyInput() {
return this._ipAllocationPolicy.internalValue;
}
get loggingConfig() {
return this._loggingConfig;
}
putLoggingConfig(value) {
this._loggingConfig.internalValue = value;
}
resetLoggingConfig() {
this._loggingConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get loggingConfigInput() {
return this._loggingConfig.internalValue;
}
get maintenancePolicy() {
return this._maintenancePolicy;
}
putMaintenancePolicy(value) {
this._maintenancePolicy.internalValue = value;
}
resetMaintenancePolicy() {
this._maintenancePolicy.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get maintenancePolicyInput() {
return this._maintenancePolicy.internalValue;
}
get masterAuth() {
return this._masterAuth;
}
putMasterAuth(value) {
this._masterAuth.internalValue = value;
}
resetMasterAuth() {
this._masterAuth.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get masterAuthInput() {
return this._masterAuth.internalValue;
}
get masterAuthorizedNetworksConfig() {
return this._masterAuthorizedNetworksConfig;
}
putMasterAuthorizedNetworksConfig(value) {
this._masterAuthorizedNetworksConfig.internalValue = value;
}
resetMasterAuthorizedNetworksConfig() {
this._masterAuthorizedNetworksConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get masterAuthorizedNetworksConfigInput() {
return this._masterAuthorizedNetworksConfig.internalValue;
}
get meshCertificates() {
return this._meshCertificates;
}
putMeshCertificates(value) {
this._meshCertificates.internalValue = value;
}
resetMeshCertificates() {
this._meshCertificates.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get meshCertificatesInput() {
return this._meshCertificates.internalValue;
}
get monitoringConfig() {
return this._monitoringConfig;
}
putMonitoringConfig(value) {
this._monitoringConfig.internalValue = value;
}
resetMonitoringConfig() {
this._monitoringConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get monitoringConfigInput() {
return this._monitoringConfig.internalValue;
}
get networkPolicy() {
return this._networkPolicy;
}
putNetworkPolicy(value) {
this._networkPolicy.internalValue = value;
}
resetNetworkPolicy() {
this._networkPolicy.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get networkPolicyInput() {
return this._networkPolicy.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 nodePool() {
return this._nodePool;
}
putNodePool(value) {
this._nodePool.internalValue = value;
}
resetNodePool() {
this._nodePool.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get nodePoolInput() {
return this._nodePool.internalValue;
}
get nodePoolAutoConfig() {
return this._nodePoolAutoConfig;
}
putNodePoolAutoConfig(value) {
this._nodePoolAutoConfig.internalValue = value;
}
resetNodePoolAutoConfig() {
this._nodePoolAutoConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get nodePoolAutoConfigInput() {
return this._nodePoolAutoConfig.internalValue;
}
get nodePoolDefaults() {
return this._nodePoolDefaults;
}
putNodePoolDefaults(value) {
this._nodePoolDefaults.internalValue = value;
}
resetNodePoolDefaults() {
this._nodePoolDefaults.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get nodePoolDefaultsInput() {
return this._nodePoolDefaults.internalValue;
}
get notificationConfig() {
return this._notificationConfig;
}
putNotificationConfig(value) {
this._notificationConfig.internalValue = value;
}
resetNotificationConfig() {
this._notificationConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get notificationConfigInput() {
return this._notificationConfig.internalValue;
}
get privateClusterConfig() {
return this._privateClusterConfig;
}
putPrivateClusterConfig(value) {
this._privateClusterConfig.internalValue = value;
}
resetPrivateClusterConfig() {
this._privateClusterConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get privateClusterConfigInput() {
return this._privateClusterConfig.internalValue;
}
get releaseChannel() {
return this._releaseChannel;
}
putReleaseChannel(value) {
this._releaseChannel.internalValue = value;
}
resetReleaseChannel() {
this._releaseChannel.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get releaseChannelInput() {
return this._releaseChannel.internalValue;
}
get resourceUsageExportConfig() {
return this._resourceUsageExportConfig;
}
putResourceUsageExportConfig(value) {
this._resourceUsageExportConfig.internalValue = value;
}
resetResourceUsageExportConfig() {
this._resourceUsageExportConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get resourceUsageExportConfigInput() {
return this._resourceUsageExportConfig.internalValue;
}
get secretManagerConfig() {
return this._secretManagerConfig;
}
putSecretManagerConfig(value) {
this._secretManagerConfig.internalValue = value;
}
resetSecretManagerConfig() {
this._secretManagerConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get secretManagerConfigInput() {
return this._secretManagerConfig.internalValue;
}
get securityPostureConfig() {
return this._securityPostureConfig;
}
putSecurityPostureConfig(value) {
this._securityPostureConfig.internalValue = value;
}
resetSecurityPostureConfig() {
this._securityPostureConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get securityPostureConfigInput() {
return this._securityPostureConfig.internalValue;
}
get serviceExternalIpsConfig() {
return this._serviceExternalIpsConfig;
}
putServiceExternalIpsConfig(value) {
this._serviceExternalIpsConfig.internalValue = value;
}
resetServiceExternalIpsConfig() {
this._serviceExternalIpsConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get serviceExternalIpsConfigInput() {
return this._serviceExternalIpsConfig.internalValue;
}
get timeouts() {
return this._timeouts;
}
putTimeouts(value) {
this._timeouts.internalValue = value;
}
resetTimeouts() {
this._timeouts.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get timeoutsInput() {
return this._timeouts.internalValue;
}
get userManagedKeysConfig() {
return this._userManagedKeysConfig;
}
putUserManagedKeysConfig(value) {
this._userManagedKeysConfig.internalValue = value;
}
resetUserManagedKeysConfig() {
this._userManagedKeysConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get userManagedKeysConfigInput() {
return this._userManagedKeysConfig.internalValue;
}
get verticalPodAutoscaling() {
return this._verticalPodAutoscaling;
}
putVerticalPodAutoscaling(value) {
this._verticalPodAutoscaling.internalValue = value;
}
resetVerticalPodAutoscaling() {
this._verticalPodAutoscaling.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get verticalPodAutoscalingInput() {
return this._verticalPodAutoscaling.internalValue;
}
get workloadIdentityConfig() {
return this._workloadIdentityConfig;
}
putWorkloadIdentityConfig(value) {
this._workloadIdentityConfig.internalValue = value;
}
resetWorkloadIdentityConfig() {
this._workloadIdentityConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get workloadIdentityConfigInput() {
return this._workloadIdentityConfig.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
allow_net_admin: cdktf.booleanToTerraform(this._allowNetAdmin),
cluster_ipv4_cidr: cdktf.stringToTerraform(this._clusterIpv4Cidr),
datapath_provider: cdktf.stringToTerraform(this._datapathProvider),
default_max_pods_per_node: cdktf.numberToTerraform(this._defaultMaxPodsPerNode),
deletion_protection: cdktf.booleanToTerraform(this._deletionProtection),
description: cdktf.stringToTerraform(this._description),
enable_autopilot: cdktf.booleanToTerraform(this._enableAutopilot),
enable_cilium_clusterwide_network_policy: cdktf.booleanToTerraform(this._enableCiliumClusterwideNetworkPolicy),
enable_intranode_visibility: cdktf.booleanToTerraform(this._enableIntranodeVisibility),
enable_kubernetes_alpha: cdktf.booleanToTerraform(this._enableKubernetesAlpha),
enable_l4_ilb_subsetting: cdktf.booleanToTerraform(this._enableL4IlbSubsetting),
enable_legacy_abac: cdktf.booleanToTerraform(this._enableLegacyAbac),
enable_multi_networking: cdktf.booleanToTerraform(this._enableMultiNetworking),
enable_shielded_nodes: cdktf.booleanToTerraform(this._enableShieldedNodes),
enable_tpu: cdktf.booleanToTerraform(this._enableTpu),
id: cdktf.stringToTerraform(this._id),
initial_node_count: cdktf.numberToTerraform(this._initialNodeCount),
location: cdktf.stringToTerraform(this._location),
logging_service: cdktf.stringToTerraform(this._loggingService),
min_master_version: cdktf.stringToTerraform(this._minMasterVersion),
monitoring_service: cdktf.stringToTerraform(this._monitoringService),
name: cdktf.stringToTerraform(this._name),
network: cdktf.stringToTerraform(this._network),
networking_mode: cdktf.stringToTerraform(this._networkingMode),
node_locations: cdktf.listMapper(cdktf.stringToTerraform, false)(this._nodeLocations),
node_version: cdktf.stringToTerraform(this._nodeVersion),
private_ipv6_google_access: cdktf.stringToTerraform(this._privateIpv6GoogleAccess),
project: cdktf.stringToTerraform(this._project),
remove_default_node_pool: cdktf.booleanToTerraform(this._removeDefaultNodePool),
resource_labels: cdktf.hashMapper(cdktf.stringToTerraform)(this._resourceLabels),
subnetwork: cdktf.stringToTerraform(this._subnetwork),
addons_config: (0, index_structs_1.containerClusterAddonsConfigToTerraform)(this._addonsConfig.internalValue),
authenticator_groups_config: (0, index_structs_1.containerClusterAuthenticatorGroupsConfigToTerraform)(this._authenticatorGroupsConfig.internalValue),
binary_authorization: (0, index_structs_1.containerClusterBinaryAuthorizationToTerraform)(this._binaryAuthorization.internalValue),
cluster_autoscaling: (0, index_structs_1.containerClusterClusterAutoscalingToTerraform)(this._clusterAutoscaling.internalValue),
confidential_nodes: (0, index_structs_1.containerClusterConfidentialNodesToTerraform)(this._confidentialNodes.internalValue),
control_plane_endpoints_config: (0, index_structs_1.containerClusterControlPlaneEndpointsConfigToTerraform)(this._controlPlaneEndpointsConfig.internalValue),
cost_management_config: (0, index_structs_1.containerClusterCostManagementConfigToTerraform)(this._costManagementConfig.internalValue),
database_encryption: (0, index_structs_1.containerClusterDatabaseEncryptionToTerraform)(this._databaseEncryption.internalValue),
default_snat_status: (0, index_structs_1.containerClusterDefaultSnatStatusToTerraform)(this._defaultSnatStatus.internalValue),
dns_config: (0, index_structs_1.containerClusterDnsConfigToTerraform)(this._dnsConfig.internalValue),
enable_k8s_beta_apis: (0, index_structs_1.containerClusterEnableK8SBetaApisToTerraform)(this._enableK8SBetaApis.internalValue),
enterprise_config: (0, index_structs_1.containerClusterEnterpriseConfigToTerraform)(this._enterpriseConfig.internalValue),
fleet: (0, index_s