@cdktf/provider-upcloud
Version:
Prebuilt upcloud Provider for Terraform CDK (cdktf)
1,097 lines • 153 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
Object.defineProperty(exports, "__esModule", { value: true });
exports.KubernetesNodeGroup = exports.KubernetesNodeGroupTaintList = exports.KubernetesNodeGroupTaintOutputReference = exports.KubernetesNodeGroupKubeletArgsList = exports.KubernetesNodeGroupKubeletArgsOutputReference = exports.KubernetesNodeGroupGpuPlanList = exports.KubernetesNodeGroupGpuPlanOutputReference = exports.KubernetesNodeGroupCustomPlanList = exports.KubernetesNodeGroupCustomPlanOutputReference = exports.KubernetesNodeGroupCloudNativePlanList = exports.KubernetesNodeGroupCloudNativePlanOutputReference = void 0;
exports.kubernetesNodeGroupCloudNativePlanToTerraform = kubernetesNodeGroupCloudNativePlanToTerraform;
exports.kubernetesNodeGroupCloudNativePlanToHclTerraform = kubernetesNodeGroupCloudNativePlanToHclTerraform;
exports.kubernetesNodeGroupCustomPlanToTerraform = kubernetesNodeGroupCustomPlanToTerraform;
exports.kubernetesNodeGroupCustomPlanToHclTerraform = kubernetesNodeGroupCustomPlanToHclTerraform;
exports.kubernetesNodeGroupGpuPlanToTerraform = kubernetesNodeGroupGpuPlanToTerraform;
exports.kubernetesNodeGroupGpuPlanToHclTerraform = kubernetesNodeGroupGpuPlanToHclTerraform;
exports.kubernetesNodeGroupKubeletArgsToTerraform = kubernetesNodeGroupKubeletArgsToTerraform;
exports.kubernetesNodeGroupKubeletArgsToHclTerraform = kubernetesNodeGroupKubeletArgsToHclTerraform;
exports.kubernetesNodeGroupTaintToTerraform = kubernetesNodeGroupTaintToTerraform;
exports.kubernetesNodeGroupTaintToHclTerraform = kubernetesNodeGroupTaintToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function kubernetesNodeGroupCloudNativePlanToTerraform(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 {
storage_size: cdktf.numberToTerraform(struct.storageSize),
storage_tier: cdktf.stringToTerraform(struct.storageTier),
};
}
function kubernetesNodeGroupCloudNativePlanToHclTerraform(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 = {
storage_size: {
value: cdktf.numberToHclTerraform(struct.storageSize),
isBlock: false,
type: "simple",
storageClassType: "number",
},
storage_tier: {
value: cdktf.stringToHclTerraform(struct.storageTier),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class KubernetesNodeGroupCloudNativePlanOutputReference 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._storageSize !== undefined) {
hasAnyValues = true;
internalValueResult.storageSize = this._storageSize;
}
if (this._storageTier !== undefined) {
hasAnyValues = true;
internalValueResult.storageTier = this._storageTier;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._storageSize = undefined;
this._storageTier = 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._storageSize = value.storageSize;
this._storageTier = value.storageTier;
}
}
get storageSize() {
return this.getNumberAttribute('storage_size');
}
set storageSize(value) {
this._storageSize = value;
}
resetStorageSize() {
this._storageSize = undefined;
}
// Temporarily expose input value. Use with caution.
get storageSizeInput() {
return this._storageSize;
}
get storageTier() {
return this.getStringAttribute('storage_tier');
}
set storageTier(value) {
this._storageTier = value;
}
resetStorageTier() {
this._storageTier = undefined;
}
// Temporarily expose input value. Use with caution.
get storageTierInput() {
return this._storageTier;
}
}
exports.KubernetesNodeGroupCloudNativePlanOutputReference = KubernetesNodeGroupCloudNativePlanOutputReference;
_a = JSII_RTTI_SYMBOL_1;
KubernetesNodeGroupCloudNativePlanOutputReference[_a] = { fqn: "@cdktf/provider-upcloud.kubernetesNodeGroup.KubernetesNodeGroupCloudNativePlanOutputReference", version: "15.9.1" };
class KubernetesNodeGroupCloudNativePlanList 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 KubernetesNodeGroupCloudNativePlanOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.KubernetesNodeGroupCloudNativePlanList = KubernetesNodeGroupCloudNativePlanList;
_b = JSII_RTTI_SYMBOL_1;
KubernetesNodeGroupCloudNativePlanList[_b] = { fqn: "@cdktf/provider-upcloud.kubernetesNodeGroup.KubernetesNodeGroupCloudNativePlanList", version: "15.9.1" };
function kubernetesNodeGroupCustomPlanToTerraform(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 {
cores: cdktf.numberToTerraform(struct.cores),
memory: cdktf.numberToTerraform(struct.memory),
storage_size: cdktf.numberToTerraform(struct.storageSize),
storage_tier: cdktf.stringToTerraform(struct.storageTier),
};
}
function kubernetesNodeGroupCustomPlanToHclTerraform(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 = {
cores: {
value: cdktf.numberToHclTerraform(struct.cores),
isBlock: false,
type: "simple",
storageClassType: "number",
},
memory: {
value: cdktf.numberToHclTerraform(struct.memory),
isBlock: false,
type: "simple",
storageClassType: "number",
},
storage_size: {
value: cdktf.numberToHclTerraform(struct.storageSize),
isBlock: false,
type: "simple",
storageClassType: "number",
},
storage_tier: {
value: cdktf.stringToHclTerraform(struct.storageTier),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class KubernetesNodeGroupCustomPlanOutputReference 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._cores !== undefined) {
hasAnyValues = true;
internalValueResult.cores = this._cores;
}
if (this._memory !== undefined) {
hasAnyValues = true;
internalValueResult.memory = this._memory;
}
if (this._storageSize !== undefined) {
hasAnyValues = true;
internalValueResult.storageSize = this._storageSize;
}
if (this._storageTier !== undefined) {
hasAnyValues = true;
internalValueResult.storageTier = this._storageTier;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._cores = undefined;
this._memory = undefined;
this._storageSize = undefined;
this._storageTier = 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._cores = value.cores;
this._memory = value.memory;
this._storageSize = value.storageSize;
this._storageTier = value.storageTier;
}
}
get cores() {
return this.getNumberAttribute('cores');
}
set cores(value) {
this._cores = value;
}
// Temporarily expose input value. Use with caution.
get coresInput() {
return this._cores;
}
get memory() {
return this.getNumberAttribute('memory');
}
set memory(value) {
this._memory = value;
}
// Temporarily expose input value. Use with caution.
get memoryInput() {
return this._memory;
}
get storageSize() {
return this.getNumberAttribute('storage_size');
}
set storageSize(value) {
this._storageSize = value;
}
// Temporarily expose input value. Use with caution.
get storageSizeInput() {
return this._storageSize;
}
get storageTier() {
return this.getStringAttribute('storage_tier');
}
set storageTier(value) {
this._storageTier = value;
}
resetStorageTier() {
this._storageTier = undefined;
}
// Temporarily expose input value. Use with caution.
get storageTierInput() {
return this._storageTier;
}
}
exports.KubernetesNodeGroupCustomPlanOutputReference = KubernetesNodeGroupCustomPlanOutputReference;
_c = JSII_RTTI_SYMBOL_1;
KubernetesNodeGroupCustomPlanOutputReference[_c] = { fqn: "@cdktf/provider-upcloud.kubernetesNodeGroup.KubernetesNodeGroupCustomPlanOutputReference", version: "15.9.1" };
class KubernetesNodeGroupCustomPlanList 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 KubernetesNodeGroupCustomPlanOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.KubernetesNodeGroupCustomPlanList = KubernetesNodeGroupCustomPlanList;
_d = JSII_RTTI_SYMBOL_1;
KubernetesNodeGroupCustomPlanList[_d] = { fqn: "@cdktf/provider-upcloud.kubernetesNodeGroup.KubernetesNodeGroupCustomPlanList", version: "15.9.1" };
function kubernetesNodeGroupGpuPlanToTerraform(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 {
storage_size: cdktf.numberToTerraform(struct.storageSize),
storage_tier: cdktf.stringToTerraform(struct.storageTier),
};
}
function kubernetesNodeGroupGpuPlanToHclTerraform(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 = {
storage_size: {
value: cdktf.numberToHclTerraform(struct.storageSize),
isBlock: false,
type: "simple",
storageClassType: "number",
},
storage_tier: {
value: cdktf.stringToHclTerraform(struct.storageTier),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class KubernetesNodeGroupGpuPlanOutputReference 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._storageSize !== undefined) {
hasAnyValues = true;
internalValueResult.storageSize = this._storageSize;
}
if (this._storageTier !== undefined) {
hasAnyValues = true;
internalValueResult.storageTier = this._storageTier;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._storageSize = undefined;
this._storageTier = 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._storageSize = value.storageSize;
this._storageTier = value.storageTier;
}
}
get storageSize() {
return this.getNumberAttribute('storage_size');
}
set storageSize(value) {
this._storageSize = value;
}
resetStorageSize() {
this._storageSize = undefined;
}
// Temporarily expose input value. Use with caution.
get storageSizeInput() {
return this._storageSize;
}
get storageTier() {
return this.getStringAttribute('storage_tier');
}
set storageTier(value) {
this._storageTier = value;
}
resetStorageTier() {
this._storageTier = undefined;
}
// Temporarily expose input value. Use with caution.
get storageTierInput() {
return this._storageTier;
}
}
exports.KubernetesNodeGroupGpuPlanOutputReference = KubernetesNodeGroupGpuPlanOutputReference;
_e = JSII_RTTI_SYMBOL_1;
KubernetesNodeGroupGpuPlanOutputReference[_e] = { fqn: "@cdktf/provider-upcloud.kubernetesNodeGroup.KubernetesNodeGroupGpuPlanOutputReference", version: "15.9.1" };
class KubernetesNodeGroupGpuPlanList 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 KubernetesNodeGroupGpuPlanOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.KubernetesNodeGroupGpuPlanList = KubernetesNodeGroupGpuPlanList;
_f = JSII_RTTI_SYMBOL_1;
KubernetesNodeGroupGpuPlanList[_f] = { fqn: "@cdktf/provider-upcloud.kubernetesNodeGroup.KubernetesNodeGroupGpuPlanList", version: "15.9.1" };
function kubernetesNodeGroupKubeletArgsToTerraform(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 {
key: cdktf.stringToTerraform(struct.key),
value: cdktf.stringToTerraform(struct.value),
};
}
function kubernetesNodeGroupKubeletArgsToHclTerraform(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 = {
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 KubernetesNodeGroupKubeletArgsOutputReference 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._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._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._key = value.key;
this._value = value.value;
}
}
get key() {
return this.getStringAttribute('key');
}
set key(value) {
this._key = value;
}
// Temporarily expose input value. Use with caution.
get keyInput() {
return this._key;
}
get value() {
return this.getStringAttribute('value');
}
set value(value) {
this._value = value;
}
// Temporarily expose input value. Use with caution.
get valueInput() {
return this._value;
}
}
exports.KubernetesNodeGroupKubeletArgsOutputReference = KubernetesNodeGroupKubeletArgsOutputReference;
_g = JSII_RTTI_SYMBOL_1;
KubernetesNodeGroupKubeletArgsOutputReference[_g] = { fqn: "@cdktf/provider-upcloud.kubernetesNodeGroup.KubernetesNodeGroupKubeletArgsOutputReference", version: "15.9.1" };
class KubernetesNodeGroupKubeletArgsList 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 KubernetesNodeGroupKubeletArgsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.KubernetesNodeGroupKubeletArgsList = KubernetesNodeGroupKubeletArgsList;
_h = JSII_RTTI_SYMBOL_1;
KubernetesNodeGroupKubeletArgsList[_h] = { fqn: "@cdktf/provider-upcloud.kubernetesNodeGroup.KubernetesNodeGroupKubeletArgsList", version: "15.9.1" };
function kubernetesNodeGroupTaintToTerraform(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 kubernetesNodeGroupTaintToHclTerraform(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 KubernetesNodeGroupTaintOutputReference 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;
}
// Temporarily expose input value. Use with caution.
get effectInput() {
return this._effect;
}
get key() {
return this.getStringAttribute('key');
}
set key(value) {
this._key = value;
}
// Temporarily expose input value. Use with caution.
get keyInput() {
return this._key;
}
get value() {
return this.getStringAttribute('value');
}
set value(value) {
this._value = value;
}
// Temporarily expose input value. Use with caution.
get valueInput() {
return this._value;
}
}
exports.KubernetesNodeGroupTaintOutputReference = KubernetesNodeGroupTaintOutputReference;
_j = JSII_RTTI_SYMBOL_1;
KubernetesNodeGroupTaintOutputReference[_j] = { fqn: "@cdktf/provider-upcloud.kubernetesNodeGroup.KubernetesNodeGroupTaintOutputReference", version: "15.9.1" };
class KubernetesNodeGroupTaintList 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 KubernetesNodeGroupTaintOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.KubernetesNodeGroupTaintList = KubernetesNodeGroupTaintList;
_k = JSII_RTTI_SYMBOL_1;
KubernetesNodeGroupTaintList[_k] = { fqn: "@cdktf/provider-upcloud.kubernetesNodeGroup.KubernetesNodeGroupTaintList", version: "15.9.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/kubernetes_node_group upcloud_kubernetes_node_group}
*/
class KubernetesNodeGroup extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a KubernetesNodeGroup 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 KubernetesNodeGroup to import
* @param importFromId The id of the existing KubernetesNodeGroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/kubernetes_node_group#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the KubernetesNodeGroup to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "upcloud_kubernetes_node_group", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/kubernetes_node_group upcloud_kubernetes_node_group} 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 KubernetesNodeGroupConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'upcloud_kubernetes_node_group',
terraformGeneratorMetadata: {
providerName: 'upcloud',
providerVersion: '5.32.0',
providerVersionConstraint: '~> 5.0'
},
provider: config.provider,
dependsOn: config.dependsOn,
count: config.count,
lifecycle: config.lifecycle,
provisioners: config.provisioners,
connection: config.connection,
forEach: config.forEach
});
// cloud_native_plan - computed: false, optional: true, required: false
this._cloudNativePlan = new KubernetesNodeGroupCloudNativePlanList(this, "cloud_native_plan", false);
// custom_plan - computed: false, optional: true, required: false
this._customPlan = new KubernetesNodeGroupCustomPlanList(this, "custom_plan", false);
// gpu_plan - computed: false, optional: true, required: false
this._gpuPlan = new KubernetesNodeGroupGpuPlanList(this, "gpu_plan", false);
// kubelet_args - computed: false, optional: true, required: false
this._kubeletArgs = new KubernetesNodeGroupKubeletArgsList(this, "kubelet_args", true);
// taint - computed: false, optional: true, required: false
this._taint = new KubernetesNodeGroupTaintList(this, "taint", true);
this._antiAffinity = config.antiAffinity;
this._cluster = config.cluster;
this._labels = config.labels;
this._name = config.name;
this._nodeCount = config.nodeCount;
this._plan = config.plan;
this._sshKeys = config.sshKeys;
this._storageEncryption = config.storageEncryption;
this._utilityNetworkAccess = config.utilityNetworkAccess;
this._cloudNativePlan.internalValue = config.cloudNativePlan;
this._customPlan.internalValue = config.customPlan;
this._gpuPlan.internalValue = config.gpuPlan;
this._kubeletArgs.internalValue = config.kubeletArgs;
this._taint.internalValue = config.taint;
}
get antiAffinity() {
return this.getBooleanAttribute('anti_affinity');
}
set antiAffinity(value) {
this._antiAffinity = value;
}
resetAntiAffinity() {
this._antiAffinity = undefined;
}
// Temporarily expose input value. Use with caution.
get antiAffinityInput() {
return this._antiAffinity;
}
get cluster() {
return this.getStringAttribute('cluster');
}
set cluster(value) {
this._cluster = value;
}
// Temporarily expose input value. Use with caution.
get clusterInput() {
return this._cluster;
}
// id - computed: true, optional: false, required: false
get id() {
return this.getStringAttribute('id');
}
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 name() {
return this.getStringAttribute('name');
}
set name(value) {
this._name = value;
}
// Temporarily expose input value. Use with caution.
get nameInput() {
return this._name;
}
get nodeCount() {
return this.getNumberAttribute('node_count');
}
set nodeCount(value) {
this._nodeCount = value;
}
// Temporarily expose input value. Use with caution.
get nodeCountInput() {
return this._nodeCount;
}
get plan() {
return this.getStringAttribute('plan');
}
set plan(value) {
this._plan = value;
}
// Temporarily expose input value. Use with caution.
get planInput() {
return this._plan;
}
get sshKeys() {
return cdktf.Fn.tolist(this.getListAttribute('ssh_keys'));
}
set sshKeys(value) {
this._sshKeys = value;
}
resetSshKeys() {
this._sshKeys = undefined;
}
// Temporarily expose input value. Use with caution.
get sshKeysInput() {
return this._sshKeys;
}
get storageEncryption() {
return this.getStringAttribute('storage_encryption');
}
set storageEncryption(value) {
this._storageEncryption = value;
}
resetStorageEncryption() {
this._storageEncryption = undefined;
}
// Temporarily expose input value. Use with caution.
get storageEncryptionInput() {
return this._storageEncryption;
}
get utilityNetworkAccess() {
return this.getBooleanAttribute('utility_network_access');
}
set utilityNetworkAccess(value) {
this._utilityNetworkAccess = value;
}
resetUtilityNetworkAccess() {
this._utilityNetworkAccess = undefined;
}
// Temporarily expose input value. Use with caution.
get utilityNetworkAccessInput() {
return this._utilityNetworkAccess;
}
get cloudNativePlan() {
return this._cloudNativePlan;
}
putCloudNativePlan(value) {
this._cloudNativePlan.internalValue = value;
}
resetCloudNativePlan() {
this._cloudNativePlan.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get cloudNativePlanInput() {
return this._cloudNativePlan.internalValue;
}
get customPlan() {
return this._customPlan;
}
putCustomPlan(value) {
this._customPlan.internalValue = value;
}
resetCustomPlan() {
this._customPlan.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get customPlanInput() {
return this._customPlan.internalValue;
}
get gpuPlan() {
return this._gpuPlan;
}
putGpuPlan(value) {
this._gpuPlan.internalValue = value;
}
resetGpuPlan() {
this._gpuPlan.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get gpuPlanInput() {
return this._gpuPlan.internalValue;
}
get kubeletArgs() {
return this._kubeletArgs;
}
putKubeletArgs(value) {
this._kubeletArgs.internalValue = value;
}
resetKubeletArgs() {
this._kubeletArgs.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get kubeletArgsInput() {
return this._kubeletArgs.internalValue;
}
get taint() {
return this._taint;
}
putTaint(value) {
this._taint.internalValue = value;
}
resetTaint() {
this._taint.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get taintInput() {
return this._taint.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
anti_affinity: cdktf.booleanToTerraform(this._antiAffinity),
cluster: cdktf.stringToTerraform(this._cluster),
labels: cdktf.hashMapper(cdktf.stringToTerraform)(this._labels),
name: cdktf.stringToTerraform(this._name),
node_count: cdktf.numberToTerraform(this._nodeCount),
plan: cdktf.stringToTerraform(this._plan),
ssh_keys: cdktf.listMapper(cdktf.stringToTerraform, false)(this._sshKeys),
storage_encryption: cdktf.stringToTerraform(this._storageEncryption),
utility_network_access: cdktf.booleanToTerraform(this._utilityNetworkAccess),
cloud_native_plan: cdktf.listMapper(kubernetesNodeGroupCloudNativePlanToTerraform, true)(this._cloudNativePlan.internalValue),
custom_plan: cdktf.listMapper(kubernetesNodeGroupCustomPlanToTerraform, true)(this._customPlan.internalValue),
gpu_plan: cdktf.listMapper(kubernetesNodeGroupGpuPlanToTerraform, true)(this._gpuPlan.internalValue),
kubelet_args: cdktf.listMapper(kubernetesNodeGroupKubeletArgsToTerraform, true)(this._kubeletArgs.internalValue),
taint: cdktf.listMapper(kubernetesNodeGroupTaintToTerraform, true)(this._taint.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
anti_affinity: {
value: cdktf.booleanToHclTerraform(this._antiAffinity),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
cluster: {
value: cdktf.stringToHclTerraform(this._cluster),
isBlock: false,
type: "simple",
storageClassType: "string",
},
labels: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._labels),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
name: {
value: cdktf.stringToHclTerraform(this._name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
node_count: {
value: cdktf.numberToHclTerraform(this._nodeCount),
isBlock: false,
type: "simple",
storageClassType: "number",
},
plan: {
value: cdktf.stringToHclTerraform(this._plan),
isBlock: false,
type: "simple",
storageClassType: "string",
},
ssh_keys: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._sshKeys),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
storage_encryption: {
value: cdktf.stringToHclTerraform(this._storageEncryption),
isBlock: false,
type: "simple",
storageClassType: "string",
},
utility_network_access: {
value: cdktf.booleanToHclTerraform(this._utilityNetworkAccess),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
cloud_native_plan: {
value: cdktf.listMapperHcl(kubernetesNodeGroupCloudNativePlanToHclTerraform, true)(this._cloudNativePlan.internalValue),
isBlock: true,
type: "list",
storageClassType: "KubernetesNodeGroupCloudNativePlanList",
},
custom_plan: {
value: cdktf.listMapperHcl(kubernetesNodeGroupCustomPlanToHclTerraform, true)(this._customPlan.internalValue),
isBlock: true,
type: "list",
storageClassType: "KubernetesNodeGroupCustomPlanList",
},
gpu_plan: {
value: cdktf.listMapperHcl(kubernetesNodeGroupGpuPlanToHclTerraform, true)(this._gpuPlan.internalValue),
isBlock: true,
type: "list",
storageClassType: "KubernetesNodeGroupGpuPlanList",
},
kubelet_args: {
value: cdktf.listMapperHcl(kubernetesNodeGroupKubeletArgsToHclTerraform, true)(this._kubeletArgs.internalValue),
isBlock: true,
type: "set",
storageClassType: "KubernetesNodeGroupKubeletArgsList",
},
taint: {
value: cdktf.listMapperHcl(kubernetesNodeGroupTaintToHclTerraform, true)(this._taint.internalValue),
isBlock: true,
type: "set",
storageClassType: "KubernetesNodeGroupTaintList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.KubernetesNodeGroup = KubernetesNodeGroup;
_l = JSII_RTTI_SYMBOL_1;
KubernetesNodeGroup[_l] = { fqn: "@cdktf/provider-upcloud.kubernetesNodeGroup.KubernetesNodeGroup", version: "15.9.1" };
// =================
// STATIC PROPERTIES
// =================
KubernetesNodeGroup.tfResourceType = "upcloud_kubernetes_node_group";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva3ViZXJuZXRlcy1ub2RlLWdyb3VwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFrSEEsc0dBU0M7QUFHRCw0R0FzQkM7QUFtSUQsNEZBV0M7QUFHRCxrR0FrQ0M7QUEwSkQsc0ZBU0M7QUFHRCw0RkFzQkM7QUF1SEQsOEZBU0M7QUFHRCxvR0FzQkM7QUF1SEQsa0ZBVUM7QUFHRCx3RkE0QkM7O0FBbnpCRCwrQkFBK0I7QUF5Ry9CLFNBQWdCLDZDQUE2QyxDQUFDLE1BQStEO0lBQzNILElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU87UUFDTCxZQUFZLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxXQUFXLENBQUM7UUFDMUQsWUFBWSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsV0FBVyxDQUFDO0tBQzNELENBQUE7QUFDSCxDQUFDO0FBR0QsU0FBZ0IsZ0RBQWdELENBQUMsTUFBK0Q7SUFDOUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1B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