@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
1,050 lines • 148 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GkeonpremBareMetalNodePool = exports.GkeonpremBareMetalNodePoolTimeoutsOutputReference = exports.GkeonpremBareMetalNodePoolNodePoolConfigOutputReference = exports.GkeonpremBareMetalNodePoolNodePoolConfigTaintsList = exports.GkeonpremBareMetalNodePoolNodePoolConfigTaintsOutputReference = exports.GkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsList = exports.GkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsOutputReference = exports.GkeonpremBareMetalNodePoolStatusList = exports.GkeonpremBareMetalNodePoolStatusOutputReference = exports.GkeonpremBareMetalNodePoolStatusConditionsList = exports.GkeonpremBareMetalNodePoolStatusConditionsOutputReference = void 0;
exports.gkeonpremBareMetalNodePoolStatusConditionsToTerraform = gkeonpremBareMetalNodePoolStatusConditionsToTerraform;
exports.gkeonpremBareMetalNodePoolStatusConditionsToHclTerraform = gkeonpremBareMetalNodePoolStatusConditionsToHclTerraform;
exports.gkeonpremBareMetalNodePoolStatusToTerraform = gkeonpremBareMetalNodePoolStatusToTerraform;
exports.gkeonpremBareMetalNodePoolStatusToHclTerraform = gkeonpremBareMetalNodePoolStatusToHclTerraform;
exports.gkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsToTerraform = gkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsToTerraform;
exports.gkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsToHclTerraform = gkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsToHclTerraform;
exports.gkeonpremBareMetalNodePoolNodePoolConfigTaintsToTerraform = gkeonpremBareMetalNodePoolNodePoolConfigTaintsToTerraform;
exports.gkeonpremBareMetalNodePoolNodePoolConfigTaintsToHclTerraform = gkeonpremBareMetalNodePoolNodePoolConfigTaintsToHclTerraform;
exports.gkeonpremBareMetalNodePoolNodePoolConfigToTerraform = gkeonpremBareMetalNodePoolNodePoolConfigToTerraform;
exports.gkeonpremBareMetalNodePoolNodePoolConfigToHclTerraform = gkeonpremBareMetalNodePoolNodePoolConfigToHclTerraform;
exports.gkeonpremBareMetalNodePoolTimeoutsToTerraform = gkeonpremBareMetalNodePoolTimeoutsToTerraform;
exports.gkeonpremBareMetalNodePoolTimeoutsToHclTerraform = gkeonpremBareMetalNodePoolTimeoutsToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function gkeonpremBareMetalNodePoolStatusConditionsToTerraform(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 {};
}
function gkeonpremBareMetalNodePoolStatusConditionsToHclTerraform(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 = {};
return attrs;
}
class GkeonpremBareMetalNodePoolStatusConditionsOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
}
}
// last_transition_time - computed: true, optional: false, required: false
get lastTransitionTime() {
return this.getStringAttribute('last_transition_time');
}
// message - computed: true, optional: false, required: false
get message() {
return this.getStringAttribute('message');
}
// reason - computed: true, optional: false, required: false
get reason() {
return this.getStringAttribute('reason');
}
// state - computed: true, optional: false, required: false
get state() {
return this.getStringAttribute('state');
}
// type - computed: true, optional: false, required: false
get type() {
return this.getStringAttribute('type');
}
}
exports.GkeonpremBareMetalNodePoolStatusConditionsOutputReference = GkeonpremBareMetalNodePoolStatusConditionsOutputReference;
_a = JSII_RTTI_SYMBOL_1;
GkeonpremBareMetalNodePoolStatusConditionsOutputReference[_a] = { fqn: "@cdktf/provider-google.gkeonpremBareMetalNodePool.GkeonpremBareMetalNodePoolStatusConditionsOutputReference", version: "14.35.1" };
class GkeonpremBareMetalNodePoolStatusConditionsList 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 GkeonpremBareMetalNodePoolStatusConditionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.GkeonpremBareMetalNodePoolStatusConditionsList = GkeonpremBareMetalNodePoolStatusConditionsList;
_b = JSII_RTTI_SYMBOL_1;
GkeonpremBareMetalNodePoolStatusConditionsList[_b] = { fqn: "@cdktf/provider-google.gkeonpremBareMetalNodePool.GkeonpremBareMetalNodePoolStatusConditionsList", version: "14.35.1" };
function gkeonpremBareMetalNodePoolStatusToTerraform(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 {};
}
function gkeonpremBareMetalNodePoolStatusToHclTerraform(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 = {};
return attrs;
}
class GkeonpremBareMetalNodePoolStatusOutputReference 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;
// conditions - computed: true, optional: false, required: false
this._conditions = new GkeonpremBareMetalNodePoolStatusConditionsList(this, "conditions", false);
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
}
}
get conditions() {
return this._conditions;
}
// error_message - computed: true, optional: false, required: false
get errorMessage() {
return this.getStringAttribute('error_message');
}
}
exports.GkeonpremBareMetalNodePoolStatusOutputReference = GkeonpremBareMetalNodePoolStatusOutputReference;
_c = JSII_RTTI_SYMBOL_1;
GkeonpremBareMetalNodePoolStatusOutputReference[_c] = { fqn: "@cdktf/provider-google.gkeonpremBareMetalNodePool.GkeonpremBareMetalNodePoolStatusOutputReference", version: "14.35.1" };
class GkeonpremBareMetalNodePoolStatusList 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 GkeonpremBareMetalNodePoolStatusOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.GkeonpremBareMetalNodePoolStatusList = GkeonpremBareMetalNodePoolStatusList;
_d = JSII_RTTI_SYMBOL_1;
GkeonpremBareMetalNodePoolStatusList[_d] = { fqn: "@cdktf/provider-google.gkeonpremBareMetalNodePool.GkeonpremBareMetalNodePoolStatusList", version: "14.35.1" };
function gkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsToTerraform(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 {
labels: cdktf.hashMapper(cdktf.stringToTerraform)(struct.labels),
node_ip: cdktf.stringToTerraform(struct.nodeIp),
};
}
function gkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsToHclTerraform(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 = {
labels: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.labels),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
node_ip: {
value: cdktf.stringToHclTerraform(struct.nodeIp),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class GkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
this.isEmptyObject = false;
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._labels !== undefined) {
hasAnyValues = true;
internalValueResult.labels = this._labels;
}
if (this._nodeIp !== undefined) {
hasAnyValues = true;
internalValueResult.nodeIp = this._nodeIp;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._labels = undefined;
this._nodeIp = 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._labels = value.labels;
this._nodeIp = value.nodeIp;
}
}
get labels() {
return this.getStringMapAttribute('labels');
}
set labels(value) {
this._labels = value;
}
resetLabels() {
this._labels = undefined;
}
// Temporarily expose input value. Use with caution.
get labelsInput() {
return this._labels;
}
get nodeIp() {
return this.getStringAttribute('node_ip');
}
set nodeIp(value) {
this._nodeIp = value;
}
resetNodeIp() {
this._nodeIp = undefined;
}
// Temporarily expose input value. Use with caution.
get nodeIpInput() {
return this._nodeIp;
}
}
exports.GkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsOutputReference = GkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsOutputReference;
_e = JSII_RTTI_SYMBOL_1;
GkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsOutputReference[_e] = { fqn: "@cdktf/provider-google.gkeonpremBareMetalNodePool.GkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsOutputReference", version: "14.35.1" };
class GkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsList 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 GkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.GkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsList = GkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsList;
_f = JSII_RTTI_SYMBOL_1;
GkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsList[_f] = { fqn: "@cdktf/provider-google.gkeonpremBareMetalNodePool.GkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsList", version: "14.35.1" };
function gkeonpremBareMetalNodePoolNodePoolConfigTaintsToTerraform(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 {
effect: cdktf.stringToTerraform(struct.effect),
key: cdktf.stringToTerraform(struct.key),
value: cdktf.stringToTerraform(struct.value),
};
}
function gkeonpremBareMetalNodePoolNodePoolConfigTaintsToHclTerraform(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 = {
effect: {
value: cdktf.stringToHclTerraform(struct.effect),
isBlock: false,
type: "simple",
storageClassType: "string",
},
key: {
value: cdktf.stringToHclTerraform(struct.key),
isBlock: false,
type: "simple",
storageClassType: "string",
},
value: {
value: cdktf.stringToHclTerraform(struct.value),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class GkeonpremBareMetalNodePoolNodePoolConfigTaintsOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
this.isEmptyObject = false;
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._effect !== undefined) {
hasAnyValues = true;
internalValueResult.effect = this._effect;
}
if (this._key !== undefined) {
hasAnyValues = true;
internalValueResult.key = this._key;
}
if (this._value !== undefined) {
hasAnyValues = true;
internalValueResult.value = this._value;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._effect = undefined;
this._key = undefined;
this._value = 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._effect = value.effect;
this._key = value.key;
this._value = value.value;
}
}
get effect() {
return this.getStringAttribute('effect');
}
set effect(value) {
this._effect = value;
}
resetEffect() {
this._effect = undefined;
}
// Temporarily expose input value. Use with caution.
get effectInput() {
return this._effect;
}
get key() {
return this.getStringAttribute('key');
}
set key(value) {
this._key = value;
}
resetKey() {
this._key = undefined;
}
// Temporarily expose input value. Use with caution.
get keyInput() {
return this._key;
}
get value() {
return this.getStringAttribute('value');
}
set value(value) {
this._value = value;
}
resetValue() {
this._value = undefined;
}
// Temporarily expose input value. Use with caution.
get valueInput() {
return this._value;
}
}
exports.GkeonpremBareMetalNodePoolNodePoolConfigTaintsOutputReference = GkeonpremBareMetalNodePoolNodePoolConfigTaintsOutputReference;
_g = JSII_RTTI_SYMBOL_1;
GkeonpremBareMetalNodePoolNodePoolConfigTaintsOutputReference[_g] = { fqn: "@cdktf/provider-google.gkeonpremBareMetalNodePool.GkeonpremBareMetalNodePoolNodePoolConfigTaintsOutputReference", version: "14.35.1" };
class GkeonpremBareMetalNodePoolNodePoolConfigTaintsList 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 GkeonpremBareMetalNodePoolNodePoolConfigTaintsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.GkeonpremBareMetalNodePoolNodePoolConfigTaintsList = GkeonpremBareMetalNodePoolNodePoolConfigTaintsList;
_h = JSII_RTTI_SYMBOL_1;
GkeonpremBareMetalNodePoolNodePoolConfigTaintsList[_h] = { fqn: "@cdktf/provider-google.gkeonpremBareMetalNodePool.GkeonpremBareMetalNodePoolNodePoolConfigTaintsList", version: "14.35.1" };
function gkeonpremBareMetalNodePoolNodePoolConfigToTerraform(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 {
labels: cdktf.hashMapper(cdktf.stringToTerraform)(struct.labels),
operating_system: cdktf.stringToTerraform(struct.operatingSystem),
node_configs: cdktf.listMapper(gkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsToTerraform, true)(struct.nodeConfigs),
taints: cdktf.listMapper(gkeonpremBareMetalNodePoolNodePoolConfigTaintsToTerraform, true)(struct.taints),
};
}
function gkeonpremBareMetalNodePoolNodePoolConfigToHclTerraform(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 = {
labels: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.labels),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
operating_system: {
value: cdktf.stringToHclTerraform(struct.operatingSystem),
isBlock: false,
type: "simple",
storageClassType: "string",
},
node_configs: {
value: cdktf.listMapperHcl(gkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsToHclTerraform, true)(struct.nodeConfigs),
isBlock: true,
type: "list",
storageClassType: "GkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsList",
},
taints: {
value: cdktf.listMapperHcl(gkeonpremBareMetalNodePoolNodePoolConfigTaintsToHclTerraform, true)(struct.taints),
isBlock: true,
type: "list",
storageClassType: "GkeonpremBareMetalNodePoolNodePoolConfigTaintsList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class GkeonpremBareMetalNodePoolNodePoolConfigOutputReference 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_configs - computed: false, optional: false, required: true
this._nodeConfigs = new GkeonpremBareMetalNodePoolNodePoolConfigNodeConfigsList(this, "node_configs", false);
// taints - computed: false, optional: true, required: false
this._taints = new GkeonpremBareMetalNodePoolNodePoolConfigTaintsList(this, "taints", false);
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._labels !== undefined) {
hasAnyValues = true;
internalValueResult.labels = this._labels;
}
if (this._operatingSystem !== undefined) {
hasAnyValues = true;
internalValueResult.operatingSystem = this._operatingSystem;
}
if (this._nodeConfigs?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.nodeConfigs = this._nodeConfigs?.internalValue;
}
if (this._taints?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.taints = this._taints?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._labels = undefined;
this._operatingSystem = undefined;
this._nodeConfigs.internalValue = undefined;
this._taints.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._labels = value.labels;
this._operatingSystem = value.operatingSystem;
this._nodeConfigs.internalValue = value.nodeConfigs;
this._taints.internalValue = value.taints;
}
}
get labels() {
return this.getStringMapAttribute('labels');
}
set labels(value) {
this._labels = value;
}
resetLabels() {
this._labels = undefined;
}
// Temporarily expose input value. Use with caution.
get labelsInput() {
return this._labels;
}
get operatingSystem() {
return this.getStringAttribute('operating_system');
}
set operatingSystem(value) {
this._operatingSystem = value;
}
resetOperatingSystem() {
this._operatingSystem = undefined;
}
// Temporarily expose input value. Use with caution.
get operatingSystemInput() {
return this._operatingSystem;
}
get nodeConfigs() {
return this._nodeConfigs;
}
putNodeConfigs(value) {
this._nodeConfigs.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get nodeConfigsInput() {
return this._nodeConfigs.internalValue;
}
get taints() {
return this._taints;
}
putTaints(value) {
this._taints.internalValue = value;
}
resetTaints() {
this._taints.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get taintsInput() {
return this._taints.internalValue;
}
}
exports.GkeonpremBareMetalNodePoolNodePoolConfigOutputReference = GkeonpremBareMetalNodePoolNodePoolConfigOutputReference;
_j = JSII_RTTI_SYMBOL_1;
GkeonpremBareMetalNodePoolNodePoolConfigOutputReference[_j] = { fqn: "@cdktf/provider-google.gkeonpremBareMetalNodePool.GkeonpremBareMetalNodePoolNodePoolConfigOutputReference", version: "14.35.1" };
function gkeonpremBareMetalNodePoolTimeoutsToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
create: cdktf.stringToTerraform(struct.create),
delete: cdktf.stringToTerraform(struct.delete),
update: cdktf.stringToTerraform(struct.update),
};
}
function gkeonpremBareMetalNodePoolTimeoutsToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
create: {
value: cdktf.stringToHclTerraform(struct.create),
isBlock: false,
type: "simple",
storageClassType: "string",
},
delete: {
value: cdktf.stringToHclTerraform(struct.delete),
isBlock: false,
type: "simple",
storageClassType: "string",
},
update: {
value: cdktf.stringToHclTerraform(struct.update),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class GkeonpremBareMetalNodePoolTimeoutsOutputReference 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);
this.isEmptyObject = false;
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._create !== undefined) {
hasAnyValues = true;
internalValueResult.create = this._create;
}
if (this._delete !== undefined) {
hasAnyValues = true;
internalValueResult.delete = this._delete;
}
if (this._update !== undefined) {
hasAnyValues = true;
internalValueResult.update = this._update;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._create = undefined;
this._delete = undefined;
this._update = 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._create = value.create;
this._delete = value.delete;
this._update = value.update;
}
}
get create() {
return this.getStringAttribute('create');
}
set create(value) {
this._create = value;
}
resetCreate() {
this._create = undefined;
}
// Temporarily expose input value. Use with caution.
get createInput() {
return this._create;
}
get delete() {
return this.getStringAttribute('delete');
}
set delete(value) {
this._delete = value;
}
resetDelete() {
this._delete = undefined;
}
// Temporarily expose input value. Use with caution.
get deleteInput() {
return this._delete;
}
get update() {
return this.getStringAttribute('update');
}
set update(value) {
this._update = value;
}
resetUpdate() {
this._update = undefined;
}
// Temporarily expose input value. Use with caution.
get updateInput() {
return this._update;
}
}
exports.GkeonpremBareMetalNodePoolTimeoutsOutputReference = GkeonpremBareMetalNodePoolTimeoutsOutputReference;
_k = JSII_RTTI_SYMBOL_1;
GkeonpremBareMetalNodePoolTimeoutsOutputReference[_k] = { fqn: "@cdktf/provider-google.gkeonpremBareMetalNodePool.GkeonpremBareMetalNodePoolTimeoutsOutputReference", version: "14.35.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/gkeonprem_bare_metal_node_pool google_gkeonprem_bare_metal_node_pool}
*/
class GkeonpremBareMetalNodePool extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a GkeonpremBareMetalNodePool 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 GkeonpremBareMetalNodePool to import
* @param importFromId The id of the existing GkeonpremBareMetalNodePool that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/gkeonprem_bare_metal_node_pool#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the GkeonpremBareMetalNodePool to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "google_gkeonprem_bare_metal_node_pool", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/gkeonprem_bare_metal_node_pool google_gkeonprem_bare_metal_node_pool} 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 GkeonpremBareMetalNodePoolConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'google_gkeonprem_bare_metal_node_pool',
terraformGeneratorMetadata: {
providerName: 'google',
providerVersion: '6.36.1',
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_annotations - computed: true, optional: false, required: false
this._effectiveAnnotations = new cdktf.StringMap(this, "effective_annotations");
// status - computed: true, optional: false, required: false
this._status = new GkeonpremBareMetalNodePoolStatusList(this, "status", false);
// node_pool_config - computed: false, optional: false, required: true
this._nodePoolConfig = new GkeonpremBareMetalNodePoolNodePoolConfigOutputReference(this, "node_pool_config");
// timeouts - computed: false, optional: true, required: false
this._timeouts = new GkeonpremBareMetalNodePoolTimeoutsOutputReference(this, "timeouts");
this._annotations = config.annotations;
this._bareMetalCluster = config.bareMetalCluster;
this._displayName = config.displayName;
this._id = config.id;
this._location = config.location;
this._name = config.name;
this._project = config.project;
this._nodePoolConfig.internalValue = config.nodePoolConfig;
this._timeouts.internalValue = config.timeouts;
}
get annotations() {
return this.getStringMapAttribute('annotations');
}
set annotations(value) {
this._annotations = value;
}
resetAnnotations() {
this._annotations = undefined;
}
// Temporarily expose input value. Use with caution.
get annotationsInput() {
return this._annotations;
}
get bareMetalCluster() {
return this.getStringAttribute('bare_metal_cluster');
}
set bareMetalCluster(value) {
this._bareMetalCluster = value;
}
// Temporarily expose input value. Use with caution.
get bareMetalClusterInput() {
return this._bareMetalCluster;
}
// create_time - computed: true, optional: false, required: false
get createTime() {
return this.getStringAttribute('create_time');
}
// delete_time - computed: true, optional: false, required: false
get deleteTime() {
return this.getStringAttribute('delete_time');
}
get displayName() {
return this.getStringAttribute('display_name');
}
set displayName(value) {
this._displayName = value;
}
resetDisplayName() {
this._displayName = undefined;
}
// Temporarily expose input value. Use with caution.
get displayNameInput() {
return this._displayName;
}
get effectiveAnnotations() {
return this._effectiveAnnotations;
}
// etag - computed: true, optional: false, required: false
get etag() {
return this.getStringAttribute('etag');
}
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 location() {
return this.getStringAttribute('location');
}
set location(value) {
this._location = value;
}
// Temporarily expose input value. Use with caution.
get locationInput() {
return this._location;
}
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 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;
}
// reconciling - computed: true, optional: false, required: false
get reconciling() {
return this.getBooleanAttribute('reconciling');
}
// state - computed: true, optional: false, required: false
get state() {
return this.getStringAttribute('state');
}
get status() {
return this._status;
}
// uid - computed: true, optional: false, required: false
get uid() {
return this.getStringAttribute('uid');
}
// update_time - computed: true, optional: false, required: false
get updateTime() {
return this.getStringAttribute('update_time');
}
get nodePoolConfig() {
return this._nodePoolConfig;
}
putNodePoolConfig(value) {
this._nodePoolConfig.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get nodePoolConfigInput() {
return this._nodePoolConfig.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;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
annotations: cdktf.hashMapper(cdktf.stringToTerraform)(this._annotations),
bare_metal_cluster: cdktf.stringToTerraform(this._bareMetalCluster),
display_name: cdktf.stringToTerraform(this._displayName),
id: cdktf.stringToTerraform(this._id),
location: cdktf.stringToTerraform(this._location),
name: cdktf.stringToTerraform(this._name),
project: cdktf.stringToTerraform(this._project),
node_pool_config: gkeonpremBareMetalNodePoolNodePoolConfigToTerraform(this._nodePoolConfig.internalValue),
timeouts: gkeonpremBareMetalNodePoolTimeoutsToTerraform(this._timeouts.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
annotations: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._annotations),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
bare_metal_cluster: {
value: cdktf.stringToHclTerraform(this._bareMetalCluster),
isBlock: false,
type: "simple",
storageClassType: "string",
},
display_name: {
value: cdktf.stringToHclTerraform(this._displayName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
location: {
value: cdktf.stringToHclTerraform(this._location),
isBlock: false,
type: "simple",
storageClassType: "string",
},
name: {
value: cdktf.stringToHclTerraform(this._name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
project: {
value: cdktf.stringToHclTerraform(this._project),
isBlock: false,
type: "simple",
storageClassType: "string",
},
node_pool_config: {
value: gkeonpremBareMetalNodePoolNodePoolConfigToHclTerraform(this._nodePoolConfig.internalValue),
isBlock: true,
type: "list",
storageClassType: "GkeonpremBareMetalNodePoolNodePoolConfigList",
},
timeouts: {
value: gkeonpremBareMetalNodePoolTimeoutsToHclTerraform(this._timeouts.internalValue),
isBlock: true,
type: "struct",
storageClassType: "GkeonpremBareMetalNodePoolTimeouts",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.GkeonpremBareMetalNodePool = GkeonpremBareMetalNodePool;
_l = JSII_RTTI_SYMBOL_1;
GkeonpremBareMetalNodePool[_l] = { fqn: "@cdktf/provider-google.gkeonpremBareMetalNodePool.GkeonpremBareMetalNodePool", version: "14.35.1" };
// =================
// STATIC PROPERTIES
// =================
GkeonpremBareMetalNodePool.tfResourceType = "google_gkeonprem_bare_metal_node_pool";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2tlb25wcmVtLWJhcmUtbWV0YWwtbm9kZS1wb29sL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFrRkEsc0hBT0M7QUFHRCw0SEFRQztBQTZFRCxrR0FPQztBQUdELHdHQVFDO0FBcUZELHdJQVNDO0FBR0QsOElBc0JDO0FBNkhELDhIQVVDO0FBR0Qsb0lBNEJDO0FBa0tELGtIQVdDO0FBR0Qsd0hBa0NDO0FBZ0lELHNHQVVDO0FBR0QsNEdBNEJDOztBQWwxQkQsK0JBQStCO0FBeUUvQixTQUFnQixxREFBcUQsQ0FBQyxNQUFtRDtJQUN2SCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPLEVBQ04sQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQix3REFBd0QsQ0FBQyxNQUFtRDtJQUMxSCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyxFQUNiLENBQUM7SUFDRixPQUFP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