UNPKG

@cdktf/provider-upcloud

Version:

Prebuilt upcloud Provider for Terraform CDK (cdktf)

364 lines (363 loc) 18.2 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface KubernetesNodeGroupConfig extends cdktf.TerraformMetaArguments { /** * If set to true, nodes in this group will be placed on separate compute hosts. Please note that anti-affinity policy is considered 'best effort' and enabling it does not fully guarantee that the nodes will end up on different hardware. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#anti_affinity KubernetesNodeGroup#anti_affinity} */ readonly antiAffinity?: boolean | cdktf.IResolvable; /** * UUID of the cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#cluster KubernetesNodeGroup#cluster} */ readonly cluster: string; /** * User defined key-value pairs to classify the node_group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#labels KubernetesNodeGroup#labels} */ readonly labels?: { [key: string]: string; }; /** * The name of the node group. Needs to be unique within a cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#name KubernetesNodeGroup#name} */ readonly name: string; /** * Amount of nodes to provision in the node group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#node_count KubernetesNodeGroup#node_count} */ readonly nodeCount: number; /** * The server plan used for the node group. You can list available plans with `upctl server plans` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#plan KubernetesNodeGroup#plan} */ readonly plan: string; /** * You can optionally select SSH keys to be added as authorized keys to the nodes in this node group. This allows you to connect to the nodes via SSH once they are running. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#ssh_keys KubernetesNodeGroup#ssh_keys} */ readonly sshKeys?: string[]; /** * The storage encryption strategy to use for the nodes in this group. If not set, the cluster's storage encryption strategy will be used, if applicable. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#storage_encryption KubernetesNodeGroup#storage_encryption} */ readonly storageEncryption?: string; /** * If set to false, nodes in this group will not have access to utility network. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#utility_network_access KubernetesNodeGroup#utility_network_access} */ readonly utilityNetworkAccess?: boolean | cdktf.IResolvable; /** * custom_plan block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#custom_plan KubernetesNodeGroup#custom_plan} */ readonly customPlan?: KubernetesNodeGroupCustomPlan[] | cdktf.IResolvable; /** * kubelet_args block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#kubelet_args KubernetesNodeGroup#kubelet_args} */ readonly kubeletArgs?: KubernetesNodeGroupKubeletArgs[] | cdktf.IResolvable; /** * taint block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#taint KubernetesNodeGroup#taint} */ readonly taint?: KubernetesNodeGroupTaint[] | cdktf.IResolvable; } export interface KubernetesNodeGroupCustomPlan { /** * The number of CPU cores dedicated to individual node group nodes when using custom plan * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#cores KubernetesNodeGroup#cores} */ readonly cores: number; /** * The amount of memory in megabytes to assign to individual node group node when using custom plan. Value needs to be divisible by 1024. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#memory KubernetesNodeGroup#memory} */ readonly memory: number; /** * The size of the storage device in gigabytes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#storage_size KubernetesNodeGroup#storage_size} */ readonly storageSize: number; /** * The storage tier to use. Defaults to maxiops * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#storage_tier KubernetesNodeGroup#storage_tier} */ readonly storageTier?: string; } export declare function kubernetesNodeGroupCustomPlanToTerraform(struct?: KubernetesNodeGroupCustomPlan | cdktf.IResolvable): any; export declare function kubernetesNodeGroupCustomPlanToHclTerraform(struct?: KubernetesNodeGroupCustomPlan | cdktf.IResolvable): any; export declare class KubernetesNodeGroupCustomPlanOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @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: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): KubernetesNodeGroupCustomPlan | cdktf.IResolvable | undefined; set internalValue(value: KubernetesNodeGroupCustomPlan | cdktf.IResolvable | undefined); private _cores?; get cores(): number; set cores(value: number); get coresInput(): number | undefined; private _memory?; get memory(): number; set memory(value: number); get memoryInput(): number | undefined; private _storageSize?; get storageSize(): number; set storageSize(value: number); get storageSizeInput(): number | undefined; private _storageTier?; get storageTier(): string; set storageTier(value: string); resetStorageTier(): void; get storageTierInput(): string | undefined; } export declare class KubernetesNodeGroupCustomPlanList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: KubernetesNodeGroupCustomPlan[] | cdktf.IResolvable; /** * @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: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): KubernetesNodeGroupCustomPlanOutputReference; } export interface KubernetesNodeGroupKubeletArgs { /** * Kubelet argument key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#key KubernetesNodeGroup#key} */ readonly key: string; /** * Kubelet argument value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#value KubernetesNodeGroup#value} */ readonly value: string; } export declare function kubernetesNodeGroupKubeletArgsToTerraform(struct?: KubernetesNodeGroupKubeletArgs | cdktf.IResolvable): any; export declare function kubernetesNodeGroupKubeletArgsToHclTerraform(struct?: KubernetesNodeGroupKubeletArgs | cdktf.IResolvable): any; export declare class KubernetesNodeGroupKubeletArgsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @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: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): KubernetesNodeGroupKubeletArgs | cdktf.IResolvable | undefined; set internalValue(value: KubernetesNodeGroupKubeletArgs | cdktf.IResolvable | undefined); private _key?; get key(): string; set key(value: string); get keyInput(): string | undefined; private _value?; get value(): string; set value(value: string); get valueInput(): string | undefined; } export declare class KubernetesNodeGroupKubeletArgsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: KubernetesNodeGroupKubeletArgs[] | cdktf.IResolvable; /** * @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: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): KubernetesNodeGroupKubeletArgsOutputReference; } export interface KubernetesNodeGroupTaint { /** * Taint effect. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#effect KubernetesNodeGroup#effect} */ readonly effect: string; /** * Taint key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#key KubernetesNodeGroup#key} */ readonly key: string; /** * Taint value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group#value KubernetesNodeGroup#value} */ readonly value: string; } export declare function kubernetesNodeGroupTaintToTerraform(struct?: KubernetesNodeGroupTaint | cdktf.IResolvable): any; export declare function kubernetesNodeGroupTaintToHclTerraform(struct?: KubernetesNodeGroupTaint | cdktf.IResolvable): any; export declare class KubernetesNodeGroupTaintOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @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: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): KubernetesNodeGroupTaint | cdktf.IResolvable | undefined; set internalValue(value: KubernetesNodeGroupTaint | cdktf.IResolvable | undefined); private _effect?; get effect(): string; set effect(value: string); get effectInput(): string | undefined; private _key?; get key(): string; set key(value: string); get keyInput(): string | undefined; private _value?; get value(): string; set value(value: string); get valueInput(): string | undefined; } export declare class KubernetesNodeGroupTaintList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: KubernetesNodeGroupTaint[] | cdktf.IResolvable; /** * @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: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): KubernetesNodeGroupTaintOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/docs/resources/kubernetes_node_group upcloud_kubernetes_node_group} */ export declare class KubernetesNodeGroup extends cdktf.TerraformResource { static readonly tfResourceType = "upcloud_kubernetes_node_group"; /** * 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.23.3/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: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource; /** * Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.23.3/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: Construct, id: string, config: KubernetesNodeGroupConfig); private _antiAffinity?; get antiAffinity(): boolean | cdktf.IResolvable; set antiAffinity(value: boolean | cdktf.IResolvable); resetAntiAffinity(): void; get antiAffinityInput(): boolean | cdktf.IResolvable | undefined; private _cluster?; get cluster(): string; set cluster(value: string); get clusterInput(): string | undefined; get id(): string; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; } | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _nodeCount?; get nodeCount(): number; set nodeCount(value: number); get nodeCountInput(): number | undefined; private _plan?; get plan(): string; set plan(value: string); get planInput(): string | undefined; private _sshKeys?; get sshKeys(): string[]; set sshKeys(value: string[]); resetSshKeys(): void; get sshKeysInput(): string[] | undefined; private _storageEncryption?; get storageEncryption(): string; set storageEncryption(value: string); resetStorageEncryption(): void; get storageEncryptionInput(): string | undefined; private _utilityNetworkAccess?; get utilityNetworkAccess(): boolean | cdktf.IResolvable; set utilityNetworkAccess(value: boolean | cdktf.IResolvable); resetUtilityNetworkAccess(): void; get utilityNetworkAccessInput(): boolean | cdktf.IResolvable | undefined; private _customPlan; get customPlan(): KubernetesNodeGroupCustomPlanList; putCustomPlan(value: KubernetesNodeGroupCustomPlan[] | cdktf.IResolvable): void; resetCustomPlan(): void; get customPlanInput(): cdktf.IResolvable | KubernetesNodeGroupCustomPlan[] | undefined; private _kubeletArgs; get kubeletArgs(): KubernetesNodeGroupKubeletArgsList; putKubeletArgs(value: KubernetesNodeGroupKubeletArgs[] | cdktf.IResolvable): void; resetKubeletArgs(): void; get kubeletArgsInput(): cdktf.IResolvable | KubernetesNodeGroupKubeletArgs[] | undefined; private _taint; get taint(): KubernetesNodeGroupTaintList; putTaint(value: KubernetesNodeGroupTaint[] | cdktf.IResolvable): void; resetTaint(): void; get taintInput(): cdktf.IResolvable | KubernetesNodeGroupTaint[] | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }