UNPKG

@cdktf/provider-upcloud

Version:

Prebuilt upcloud Provider for Terraform CDK (cdktf)

1,097 lines 153 kB
"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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