@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
1,084 lines • 214 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContainerClusterWorkloadIdentityConfigOutputReference = exports.containerClusterWorkloadIdentityConfigToHclTerraform = exports.containerClusterWorkloadIdentityConfigToTerraform = exports.ContainerClusterVerticalPodAutoscalingOutputReference = exports.containerClusterVerticalPodAutoscalingToHclTerraform = exports.containerClusterVerticalPodAutoscalingToTerraform = exports.ContainerClusterTimeoutsOutputReference = exports.containerClusterTimeoutsToHclTerraform = exports.containerClusterTimeoutsToTerraform = exports.ContainerClusterServiceExternalIpsConfigOutputReference = exports.containerClusterServiceExternalIpsConfigToHclTerraform = exports.containerClusterServiceExternalIpsConfigToTerraform = exports.ContainerClusterSecurityPostureConfigOutputReference = exports.containerClusterSecurityPostureConfigToHclTerraform = exports.containerClusterSecurityPostureConfigToTerraform = exports.ContainerClusterSecretManagerConfigOutputReference = exports.containerClusterSecretManagerConfigToHclTerraform = exports.containerClusterSecretManagerConfigToTerraform = exports.ContainerClusterResourceUsageExportConfigOutputReference = exports.containerClusterResourceUsageExportConfigToHclTerraform = exports.containerClusterResourceUsageExportConfigToTerraform = exports.ContainerClusterResourceUsageExportConfigBigqueryDestinationOutputReference = exports.containerClusterResourceUsageExportConfigBigqueryDestinationToHclTerraform = exports.containerClusterResourceUsageExportConfigBigqueryDestinationToTerraform = exports.ContainerClusterReleaseChannelOutputReference = exports.containerClusterReleaseChannelToHclTerraform = exports.containerClusterReleaseChannelToTerraform = exports.ContainerClusterPrivateClusterConfigOutputReference = exports.containerClusterPrivateClusterConfigToHclTerraform = exports.containerClusterPrivateClusterConfigToTerraform = exports.ContainerClusterPrivateClusterConfigMasterGlobalAccessConfigOutputReference = exports.containerClusterPrivateClusterConfigMasterGlobalAccessConfigToHclTerraform = exports.containerClusterPrivateClusterConfigMasterGlobalAccessConfigToTerraform = exports.ContainerClusterNotificationConfigOutputReference = exports.containerClusterNotificationConfigToHclTerraform = exports.containerClusterNotificationConfigToTerraform = exports.ContainerClusterNotificationConfigPubsubOutputReference = exports.containerClusterNotificationConfigPubsubToHclTerraform = exports.containerClusterNotificationConfigPubsubToTerraform = exports.ContainerClusterNotificationConfigPubsubFilterOutputReference = exports.containerClusterNotificationConfigPubsubFilterToHclTerraform = exports.containerClusterNotificationConfigPubsubFilterToTerraform = exports.ContainerClusterNodePoolDefaultsOutputReference = exports.containerClusterNodePoolDefaultsToHclTerraform = exports.containerClusterNodePoolDefaultsToTerraform = void 0;
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 containerClusterNodePoolDefaultsToTerraform(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 {
node_config_defaults: (0, structs0_1.containerClusterNodePoolDefaultsNodeConfigDefaultsToTerraform)(struct.nodeConfigDefaults),
};
}
exports.containerClusterNodePoolDefaultsToTerraform = containerClusterNodePoolDefaultsToTerraform;
function containerClusterNodePoolDefaultsToHclTerraform(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 = {
node_config_defaults: {
value: (0, structs0_1.containerClusterNodePoolDefaultsNodeConfigDefaultsToHclTerraform)(struct.nodeConfigDefaults),
isBlock: true,
type: "list",
storageClassType: "ContainerClusterNodePoolDefaultsNodeConfigDefaultsList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.containerClusterNodePoolDefaultsToHclTerraform = containerClusterNodePoolDefaultsToHclTerraform;
class ContainerClusterNodePoolDefaultsOutputReference 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;
// node_config_defaults - computed: false, optional: true, required: false
this._nodeConfigDefaults = new structs0_1.ContainerClusterNodePoolDefaultsNodeConfigDefaultsOutputReference(this, "node_config_defaults");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._nodeConfigDefaults?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.nodeConfigDefaults = this._nodeConfigDefaults?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._nodeConfigDefaults.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._nodeConfigDefaults.internalValue = value.nodeConfigDefaults;
}
}
get nodeConfigDefaults() {
return this._nodeConfigDefaults;
}
putNodeConfigDefaults(value) {
this._nodeConfigDefaults.internalValue = value;
}
resetNodeConfigDefaults() {
this._nodeConfigDefaults.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get nodeConfigDefaultsInput() {
return this._nodeConfigDefaults.internalValue;
}
}
exports.ContainerClusterNodePoolDefaultsOutputReference = ContainerClusterNodePoolDefaultsOutputReference;
_a = JSII_RTTI_SYMBOL_1;
ContainerClusterNodePoolDefaultsOutputReference[_a] = { fqn: "@cdktf/provider-google.containerCluster.ContainerClusterNodePoolDefaultsOutputReference", version: "14.3.0" };
function containerClusterNotificationConfigPubsubFilterToTerraform(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 {
event_type: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.eventType),
};
}
exports.containerClusterNotificationConfigPubsubFilterToTerraform = containerClusterNotificationConfigPubsubFilterToTerraform;
function containerClusterNotificationConfigPubsubFilterToHclTerraform(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 = {
event_type: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.eventType),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.containerClusterNotificationConfigPubsubFilterToHclTerraform = containerClusterNotificationConfigPubsubFilterToHclTerraform;
class ContainerClusterNotificationConfigPubsubFilterOutputReference 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._eventType !== undefined) {
hasAnyValues = true;
internalValueResult.eventType = this._eventType;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._eventType = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._eventType = value.eventType;
}
}
get eventType() {
return this.getListAttribute('event_type');
}
set eventType(value) {
this._eventType = value;
}
// Temporarily expose input value. Use with caution.
get eventTypeInput() {
return this._eventType;
}
}
exports.ContainerClusterNotificationConfigPubsubFilterOutputReference = ContainerClusterNotificationConfigPubsubFilterOutputReference;
_b = JSII_RTTI_SYMBOL_1;
ContainerClusterNotificationConfigPubsubFilterOutputReference[_b] = { fqn: "@cdktf/provider-google.containerCluster.ContainerClusterNotificationConfigPubsubFilterOutputReference", version: "14.3.0" };
function containerClusterNotificationConfigPubsubToTerraform(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 {
enabled: cdktf.booleanToTerraform(struct.enabled),
topic: cdktf.stringToTerraform(struct.topic),
filter: containerClusterNotificationConfigPubsubFilterToTerraform(struct.filter),
};
}
exports.containerClusterNotificationConfigPubsubToTerraform = containerClusterNotificationConfigPubsubToTerraform;
function containerClusterNotificationConfigPubsubToHclTerraform(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 = {
enabled: {
value: cdktf.booleanToHclTerraform(struct.enabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
topic: {
value: cdktf.stringToHclTerraform(struct.topic),
isBlock: false,
type: "simple",
storageClassType: "string",
},
filter: {
value: containerClusterNotificationConfigPubsubFilterToHclTerraform(struct.filter),
isBlock: true,
type: "list",
storageClassType: "ContainerClusterNotificationConfigPubsubFilterList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.containerClusterNotificationConfigPubsubToHclTerraform = containerClusterNotificationConfigPubsubToHclTerraform;
class ContainerClusterNotificationConfigPubsubOutputReference 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;
// filter - computed: false, optional: true, required: false
this._filter = new ContainerClusterNotificationConfigPubsubFilterOutputReference(this, "filter");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._enabled !== undefined) {
hasAnyValues = true;
internalValueResult.enabled = this._enabled;
}
if (this._topic !== undefined) {
hasAnyValues = true;
internalValueResult.topic = this._topic;
}
if (this._filter?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.filter = this._filter?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._enabled = undefined;
this._topic = undefined;
this._filter.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._enabled = value.enabled;
this._topic = value.topic;
this._filter.internalValue = value.filter;
}
}
get enabled() {
return this.getBooleanAttribute('enabled');
}
set enabled(value) {
this._enabled = value;
}
// Temporarily expose input value. Use with caution.
get enabledInput() {
return this._enabled;
}
get topic() {
return this.getStringAttribute('topic');
}
set topic(value) {
this._topic = value;
}
resetTopic() {
this._topic = undefined;
}
// Temporarily expose input value. Use with caution.
get topicInput() {
return this._topic;
}
get filter() {
return this._filter;
}
putFilter(value) {
this._filter.internalValue = value;
}
resetFilter() {
this._filter.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get filterInput() {
return this._filter.internalValue;
}
}
exports.ContainerClusterNotificationConfigPubsubOutputReference = ContainerClusterNotificationConfigPubsubOutputReference;
_c = JSII_RTTI_SYMBOL_1;
ContainerClusterNotificationConfigPubsubOutputReference[_c] = { fqn: "@cdktf/provider-google.containerCluster.ContainerClusterNotificationConfigPubsubOutputReference", version: "14.3.0" };
function containerClusterNotificationConfigToTerraform(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 {
pubsub: containerClusterNotificationConfigPubsubToTerraform(struct.pubsub),
};
}
exports.containerClusterNotificationConfigToTerraform = containerClusterNotificationConfigToTerraform;
function containerClusterNotificationConfigToHclTerraform(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 = {
pubsub: {
value: containerClusterNotificationConfigPubsubToHclTerraform(struct.pubsub),
isBlock: true,
type: "list",
storageClassType: "ContainerClusterNotificationConfigPubsubList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.containerClusterNotificationConfigToHclTerraform = containerClusterNotificationConfigToHclTerraform;
class ContainerClusterNotificationConfigOutputReference 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;
// pubsub - computed: false, optional: false, required: true
this._pubsub = new ContainerClusterNotificationConfigPubsubOutputReference(this, "pubsub");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._pubsub?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.pubsub = this._pubsub?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._pubsub.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._pubsub.internalValue = value.pubsub;
}
}
get pubsub() {
return this._pubsub;
}
putPubsub(value) {
this._pubsub.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get pubsubInput() {
return this._pubsub.internalValue;
}
}
exports.ContainerClusterNotificationConfigOutputReference = ContainerClusterNotificationConfigOutputReference;
_d = JSII_RTTI_SYMBOL_1;
ContainerClusterNotificationConfigOutputReference[_d] = { fqn: "@cdktf/provider-google.containerCluster.ContainerClusterNotificationConfigOutputReference", version: "14.3.0" };
function containerClusterPrivateClusterConfigMasterGlobalAccessConfigToTerraform(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 {
enabled: cdktf.booleanToTerraform(struct.enabled),
};
}
exports.containerClusterPrivateClusterConfigMasterGlobalAccessConfigToTerraform = containerClusterPrivateClusterConfigMasterGlobalAccessConfigToTerraform;
function containerClusterPrivateClusterConfigMasterGlobalAccessConfigToHclTerraform(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 = {
enabled: {
value: cdktf.booleanToHclTerraform(struct.enabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.containerClusterPrivateClusterConfigMasterGlobalAccessConfigToHclTerraform = containerClusterPrivateClusterConfigMasterGlobalAccessConfigToHclTerraform;
class ContainerClusterPrivateClusterConfigMasterGlobalAccessConfigOutputReference 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._enabled !== undefined) {
hasAnyValues = true;
internalValueResult.enabled = this._enabled;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._enabled = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._enabled = value.enabled;
}
}
get enabled() {
return this.getBooleanAttribute('enabled');
}
set enabled(value) {
this._enabled = value;
}
// Temporarily expose input value. Use with caution.
get enabledInput() {
return this._enabled;
}
}
exports.ContainerClusterPrivateClusterConfigMasterGlobalAccessConfigOutputReference = ContainerClusterPrivateClusterConfigMasterGlobalAccessConfigOutputReference;
_e = JSII_RTTI_SYMBOL_1;
ContainerClusterPrivateClusterConfigMasterGlobalAccessConfigOutputReference[_e] = { fqn: "@cdktf/provider-google.containerCluster.ContainerClusterPrivateClusterConfigMasterGlobalAccessConfigOutputReference", version: "14.3.0" };
function containerClusterPrivateClusterConfigToTerraform(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 {
enable_private_endpoint: cdktf.booleanToTerraform(struct.enablePrivateEndpoint),
enable_private_nodes: cdktf.booleanToTerraform(struct.enablePrivateNodes),
master_ipv4_cidr_block: cdktf.stringToTerraform(struct.masterIpv4CidrBlock),
private_endpoint_subnetwork: cdktf.stringToTerraform(struct.privateEndpointSubnetwork),
master_global_access_config: containerClusterPrivateClusterConfigMasterGlobalAccessConfigToTerraform(struct.masterGlobalAccessConfig),
};
}
exports.containerClusterPrivateClusterConfigToTerraform = containerClusterPrivateClusterConfigToTerraform;
function containerClusterPrivateClusterConfigToHclTerraform(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 = {
enable_private_endpoint: {
value: cdktf.booleanToHclTerraform(struct.enablePrivateEndpoint),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
enable_private_nodes: {
value: cdktf.booleanToHclTerraform(struct.enablePrivateNodes),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
master_ipv4_cidr_block: {
value: cdktf.stringToHclTerraform(struct.masterIpv4CidrBlock),
isBlock: false,
type: "simple",
storageClassType: "string",
},
private_endpoint_subnetwork: {
value: cdktf.stringToHclTerraform(struct.privateEndpointSubnetwork),
isBlock: false,
type: "simple",
storageClassType: "string",
},
master_global_access_config: {
value: containerClusterPrivateClusterConfigMasterGlobalAccessConfigToHclTerraform(struct.masterGlobalAccessConfig),
isBlock: true,
type: "list",
storageClassType: "ContainerClusterPrivateClusterConfigMasterGlobalAccessConfigList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.containerClusterPrivateClusterConfigToHclTerraform = containerClusterPrivateClusterConfigToHclTerraform;
class ContainerClusterPrivateClusterConfigOutputReference 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;
// master_global_access_config - computed: false, optional: true, required: false
this._masterGlobalAccessConfig = new ContainerClusterPrivateClusterConfigMasterGlobalAccessConfigOutputReference(this, "master_global_access_config");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._enablePrivateEndpoint !== undefined) {
hasAnyValues = true;
internalValueResult.enablePrivateEndpoint = this._enablePrivateEndpoint;
}
if (this._enablePrivateNodes !== undefined) {
hasAnyValues = true;
internalValueResult.enablePrivateNodes = this._enablePrivateNodes;
}
if (this._masterIpv4CidrBlock !== undefined) {
hasAnyValues = true;
internalValueResult.masterIpv4CidrBlock = this._masterIpv4CidrBlock;
}
if (this._privateEndpointSubnetwork !== undefined) {
hasAnyValues = true;
internalValueResult.privateEndpointSubnetwork = this._privateEndpointSubnetwork;
}
if (this._masterGlobalAccessConfig?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.masterGlobalAccessConfig = this._masterGlobalAccessConfig?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._enablePrivateEndpoint = undefined;
this._enablePrivateNodes = undefined;
this._masterIpv4CidrBlock = undefined;
this._privateEndpointSubnetwork = undefined;
this._masterGlobalAccessConfig.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._enablePrivateEndpoint = value.enablePrivateEndpoint;
this._enablePrivateNodes = value.enablePrivateNodes;
this._masterIpv4CidrBlock = value.masterIpv4CidrBlock;
this._privateEndpointSubnetwork = value.privateEndpointSubnetwork;
this._masterGlobalAccessConfig.internalValue = value.masterGlobalAccessConfig;
}
}
get enablePrivateEndpoint() {
return this.getBooleanAttribute('enable_private_endpoint');
}
set enablePrivateEndpoint(value) {
this._enablePrivateEndpoint = value;
}
resetEnablePrivateEndpoint() {
this._enablePrivateEndpoint = undefined;
}
// Temporarily expose input value. Use with caution.
get enablePrivateEndpointInput() {
return this._enablePrivateEndpoint;
}
get enablePrivateNodes() {
return this.getBooleanAttribute('enable_private_nodes');
}
set enablePrivateNodes(value) {
this._enablePrivateNodes = value;
}
resetEnablePrivateNodes() {
this._enablePrivateNodes = undefined;
}
// Temporarily expose input value. Use with caution.
get enablePrivateNodesInput() {
return this._enablePrivateNodes;
}
get masterIpv4CidrBlock() {
return this.getStringAttribute('master_ipv4_cidr_block');
}
set masterIpv4CidrBlock(value) {
this._masterIpv4CidrBlock = value;
}
resetMasterIpv4CidrBlock() {
this._masterIpv4CidrBlock = undefined;
}
// Temporarily expose input value. Use with caution.
get masterIpv4CidrBlockInput() {
return this._masterIpv4CidrBlock;
}
// peering_name - computed: true, optional: false, required: false
get peeringName() {
return this.getStringAttribute('peering_name');
}
// private_endpoint - computed: true, optional: false, required: false
get privateEndpoint() {
return this.getStringAttribute('private_endpoint');
}
get privateEndpointSubnetwork() {
return this.getStringAttribute('private_endpoint_subnetwork');
}
set privateEndpointSubnetwork(value) {
this._privateEndpointSubnetwork = value;
}
resetPrivateEndpointSubnetwork() {
this._privateEndpointSubnetwork = undefined;
}
// Temporarily expose input value. Use with caution.
get privateEndpointSubnetworkInput() {
return this._privateEndpointSubnetwork;
}
// public_endpoint - computed: true, optional: false, required: false
get publicEndpoint() {
return this.getStringAttribute('public_endpoint');
}
get masterGlobalAccessConfig() {
return this._masterGlobalAccessConfig;
}
putMasterGlobalAccessConfig(value) {
this._masterGlobalAccessConfig.internalValue = value;
}
resetMasterGlobalAccessConfig() {
this._masterGlobalAccessConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get masterGlobalAccessConfigInput() {
return this._masterGlobalAccessConfig.internalValue;
}
}
exports.ContainerClusterPrivateClusterConfigOutputReference = ContainerClusterPrivateClusterConfigOutputReference;
_f = JSII_RTTI_SYMBOL_1;
ContainerClusterPrivateClusterConfigOutputReference[_f] = { fqn: "@cdktf/provider-google.containerCluster.ContainerClusterPrivateClusterConfigOutputReference", version: "14.3.0" };
function containerClusterReleaseChannelToTerraform(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 {
channel: cdktf.stringToTerraform(struct.channel),
};
}
exports.containerClusterReleaseChannelToTerraform = containerClusterReleaseChannelToTerraform;
function containerClusterReleaseChannelToHclTerraform(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 = {
channel: {
value: cdktf.stringToHclTerraform(struct.channel),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.containerClusterReleaseChannelToHclTerraform = containerClusterReleaseChannelToHclTerraform;
class ContainerClusterReleaseChannelOutputReference 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._channel !== undefined) {
hasAnyValues = true;
internalValueResult.channel = this._channel;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._channel = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._channel = value.channel;
}
}
get channel() {
return this.getStringAttribute('channel');
}
set channel(value) {
this._channel = value;
}
// Temporarily expose input value. Use with caution.
get channelInput() {
return this._channel;
}
}
exports.ContainerClusterReleaseChannelOutputReference = ContainerClusterReleaseChannelOutputReference;
_g = JSII_RTTI_SYMBOL_1;
ContainerClusterReleaseChannelOutputReference[_g] = { fqn: "@cdktf/provider-google.containerCluster.ContainerClusterReleaseChannelOutputReference", version: "14.3.0" };
function containerClusterResourceUsageExportConfigBigqueryDestinationToTerraform(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 {
dataset_id: cdktf.stringToTerraform(struct.datasetId),
};
}
exports.containerClusterResourceUsageExportConfigBigqueryDestinationToTerraform = containerClusterResourceUsageExportConfigBigqueryDestinationToTerraform;
function containerClusterResourceUsageExportConfigBigqueryDestinationToHclTerraform(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 = {
dataset_id: {
value: cdktf.stringToHclTerraform(struct.datasetId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.containerClusterResourceUsageExportConfigBigqueryDestinationToHclTerraform = containerClusterResourceUsageExportConfigBigqueryDestinationToHclTerraform;
class ContainerClusterResourceUsageExportConfigBigqueryDestinationOutputReference 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._datasetId !== undefined) {
hasAnyValues = true;
internalValueResult.datasetId = this._datasetId;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._datasetId = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._datasetId = value.datasetId;
}
}
get datasetId() {
return this.getStringAttribute('dataset_id');
}
set datasetId(value) {
this._datasetId = value;
}
// Temporarily expose input value. Use with caution.
get datasetIdInput() {
return this._datasetId;
}
}
exports.ContainerClusterResourceUsageExportConfigBigqueryDestinationOutputReference = ContainerClusterResourceUsageExportConfigBigqueryDestinationOutputReference;
_h = JSII_RTTI_SYMBOL_1;
ContainerClusterResourceUsageExportConfigBigqueryDestinationOutputReference[_h] = { fqn: "@cdktf/provider-google.containerCluster.ContainerClusterResourceUsageExportConfigBigqueryDestinationOutputReference", version: "14.3.0" };
function containerClusterResourceUsageExportConfigToTerraform(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 {
enable_network_egress_metering: cdktf.booleanToTerraform(struct.enableNetworkEgressMetering),
enable_resource_consumption_metering: cdktf.booleanToTerraform(struct.enableResourceConsumptionMetering),
bigquery_destination: containerClusterResourceUsageExportConfigBigqueryDestinationToTerraform(struct.bigqueryDestination),
};
}
exports.containerClusterResourceUsageExportConfigToTerraform = containerClusterResourceUsageExportConfigToTerraform;
function containerClusterResourceUsageExportConfigToHclTerraform(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 = {
enable_network_egress_metering: {
value: cdktf.booleanToHclTerraform(struct.enableNetworkEgressMetering),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
enable_resource_consumption_metering: {
value: cdktf.booleanToHclTerraform(struct.enableResourceConsumptionMetering),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
bigquery_destination: {
value: containerClusterResourceUsageExportConfigBigqueryDestinationToHclTerraform(struct.bigqueryDestination),
isBlock: true,
type: "list",
storageClassType: "ContainerClusterResourceUsageExportConfigBigqueryDestinationList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.containerClusterResourceUsageExportConfigToHclTerraform = containerClusterResourceUsageExportConfigToHclTerraform;
class ContainerClusterResourceUsageExportConfigOutputReference 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;
// bigquery_destination - computed: false, optional: false, required: true
this._bigqueryDestination = new ContainerClusterResourceUsageExportConfigBigqueryDestinationOutputReference(this, "bigquery_destination");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._enableNetworkEgressMetering !== undefined) {
hasAnyValues = true;
internalValueResult.enableNetworkEgressMetering = this._enableNetworkEgressMetering;
}
if (this._enableResourceConsumptionMetering !== undefined) {
hasAnyValues = true;
internalValueResult.enableResourceConsumptionMetering = this._enableResourceConsumptionMetering;
}
if (this._bigqueryDestination?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.bigqueryDestination = this._bigqueryDestination?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._enableNetworkEgressMetering = undefined;
this._enableResourceConsumptionMetering = undefined;
this._bigqueryDestination.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._enableNetworkEgressMetering = value.enableNetworkEgressMetering;
this._enableResourceConsumptionMetering = value.enableResourceConsumptionMetering;
this._bigqueryDestination.internalValue = value.bigqueryDestination;
}
}
get enableNetworkEgressMetering() {
return this.getBooleanAttribute('enable_network_egress_metering');
}
set enableNetworkEgressMetering(value) {
this._enableNetworkEgressMetering = value;
}
resetEnableNetworkEgressMetering() {
this._enableNetworkEgressMetering = undefined;
}
// Temporarily expose input value. Use with caution.
get enableNetworkEgressMeteringInput() {
return this._enableNetworkEgressMetering;
}
get enableResourceConsumptionMetering() {
return this.getBooleanAttribute('enable_resource_consumption_metering');
}
set enableResourceConsumptionMetering(value) {
this._enableResourceConsumptionMetering = value;
}
resetEnableResourceConsumptionMetering() {
this._enableResourceConsumptionMetering = undefined;
}
// Temporarily expose input value. Use with caution.
get enableResourceConsumptionMeteringInput() {
return this._enableResourceConsumptionMetering;
}
get bigqueryDestination() {
return this._bigqueryDestination;
}
putBigqueryDestination(value) {
this._bigqueryDestination.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get bigqueryDestinationInput() {
return this._bigqueryDestination.internalValue;
}
}
exports.ContainerClusterResourceUsageExportConfigOutputReference = ContainerClusterResourceUsageExportConfigOutputReference;
_j = JSII_RTTI_SYMBOL_1;
ContainerClusterResourceUsageExportConfigOutputReference[_j] = { fqn: "@cdktf/provider-google.containerCluster.ContainerClusterResourceUsageExportConfigOutputReference", version: "14.3.0" };
function containerClusterSecretManagerConfigToTerraform(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 {
enabled: cdktf.booleanToTerraform(struct.enabled),
};
}
exports.containerClusterSecretManagerConfigToTerraform = containerClusterSecretManagerConfigToTerraform;
function containerClusterSecretManagerConfigToHclTerraform(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 = {
enabled: {
value: cdktf.booleanToHclTerraform(struct.enabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.containerClusterSecretManagerConfigToHclTerraform = containerClusterSecretManagerConfigToHclTerraform;
class ContainerClusterSecretManagerConfigOutputReference 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._enabled !== undefined) {
hasAnyValues = true;
internalValueResult.enabled = this._enabled;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._enabled = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._enabled = value.enabled;
}
}
get enabled() {
return this.getBooleanAttribute('enabled');
}
set enabled(value) {
this._enabled = value;
}
// Temporarily expose input value. Use with caution.
get enabledInput() {
return this._enabled;
}
}
exports.ContainerClusterSecretManagerConfigOutputReference = ContainerClusterSecretManagerConfigOutputReference;
_k = JSII_RTTI_SYMBOL_1;
ContainerClusterSecretManagerConfigOutputReference[_k] = { fqn: "@cdktf/provider-google.containerCluster.ContainerClusterSecretManagerConfigOutputReference", version: "14.3.0" };
function containerClusterSecurityPostureConfigToTerraform(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 {
mode: cdktf.stringToTerraform(struct.mode),
vulnerability_mode: cdktf.stringToTerraform(struct.vulnerabilityMode),
};
}
exports.containerClusterSecurityPostureConfigToTerraform = containerClusterSecurityPostureConfigToTerraform;
function containerClusterSecurityPostureConfigToHclTerraform(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 = {
mode: {
value: cdktf.stringToHclTerraform(struct.mode),
isBlock: false,
type: "simple",
storageClassType: "string",
},
vulnerability_mode: {
value: cdktf.stringToHclTerraform(struct.vulnerabilityMode),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.containerClusterSecurityPostureConfigToHclTerraform = containerClusterSecurityPostureConfigToHclTerraform;
class ContainerClusterSecurityPostureConfigOutputReference 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._mode !== undefined) {
hasAnyValues = true;
internalValueResult.mode = this._mode;
}
if (this._vulnerabilityMode !== undefined) {
hasAnyValues = true;
internalValueResult.vulnerabilityMode = this._vulnerabilityMode;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._mode = undefined;
this._vulnerabilityMode = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._mode = value.mode;
this._vulnerabilityMode = value.vulnerabilityMode;
}
}
get mode() {
return this.getStringAttribute('mode');
}
set mode(value) {
this._mode = value;
}
resetMode() {
this._mode = undefined;
}
// Temporarily expose input value. Use with caution.
get modeInput() {
return this._mode;
}
get vulnerabilityMode() {
return this.getStringAttribute('vulnerability_mode');
}
set vulnerabilityMode(value) {
this._vulnerabilityMode = value;
}
resetVulnerabilityMode() {
this._vulnerabilityMode = undefined;
}
// Temporarily expose input value. Use with caution.
get vulnerabilityModeInput() {
return this._vulnerabilityMode;
}
}
exports.ContainerClusterSecurityPostureConfigOutputReference = ContainerClusterSecurityPostureConfigOutputReference;
_l = JSII_RTTI_SYMBOL_1;
ContainerClusterSecurityPostureConfigOutputReference[_l] = { fqn: "@cdktf/provider-google.containerCluster.ContainerClusterSecurityPostureConfigOutputReference", version: "14.3.0" };
function containerClusterServiceExternalIpsConfigToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexEleme