@cdktf/provider-upcloud
Version:
Prebuilt upcloud Provider for Terraform CDK (cdktf)
157 lines (156 loc) • 7.65 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface KubernetesClusterConfig extends cdktf.TerraformMetaArguments {
/**
* IP addresses or IP ranges in CIDR format which are allowed to access the cluster control plane. To allow access from any source, use `["0.0.0.0/0"]`. To deny access from all sources, use `[]`. Values set here do not restrict access to node groups or exposed Kubernetes services.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/kubernetes_cluster#control_plane_ip_filter KubernetesCluster#control_plane_ip_filter}
*/
readonly controlPlaneIpFilter: string[];
/**
* User defined key-value pairs to classify the cluster.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/kubernetes_cluster#labels KubernetesCluster#labels}
*/
readonly labels?: {
[key: string]: string;
};
/**
* Cluster name. Needs to be unique within the account.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/kubernetes_cluster#name KubernetesCluster#name}
*/
readonly name: string;
/**
* Network ID for the cluster to run in.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/kubernetes_cluster#network KubernetesCluster#network}
*/
readonly network: string;
/**
* The pricing plan used for the cluster. You can list available plans with `upctl kubernetes plans`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/kubernetes_cluster#plan KubernetesCluster#plan}
*/
readonly plan?: string;
/**
* Enable private node groups. Private node groups requires a network that is routed through NAT gateway.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/kubernetes_cluster#private_node_groups KubernetesCluster#private_node_groups}
*/
readonly privateNodeGroups?: boolean | cdktf.IResolvable;
/**
* Set default storage encryption strategy for all nodes in the cluster. Valid values are `data-at-rest` and `none`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/kubernetes_cluster#storage_encryption KubernetesCluster#storage_encryption}
*/
readonly storageEncryption?: string;
/**
* The upgrade strategy to use when changing the cluster `version`. If not set, `manual` strategy will be used by default. When using `manual` strategy, you must replace the existing node-groups to update them.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/kubernetes_cluster#upgrade_strategy_type KubernetesCluster#upgrade_strategy_type}
*/
readonly upgradeStrategyType?: string;
/**
* Kubernetes version ID, e.g. `1.31`. You can list available version IDs with `upctl kubernetes versions`.
*
* Note that when changing the cluster version, `upgrade_strategy` will be taken into account.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/kubernetes_cluster#version KubernetesCluster#version}
*/
readonly version?: string;
/**
* Zone in which the Kubernetes cluster will be hosted, e.g. `de-fra1`. You can list available zones with `upctl zone list`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/kubernetes_cluster#zone KubernetesCluster#zone}
*/
readonly zone: string;
}
/**
* Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/kubernetes_cluster upcloud_kubernetes_cluster}
*/
export declare class KubernetesCluster extends cdktf.TerraformResource {
static readonly tfResourceType = "upcloud_kubernetes_cluster";
/**
* Generates CDKTF code for importing a KubernetesCluster 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 KubernetesCluster to import
* @param importFromId The id of the existing KubernetesCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/kubernetes_cluster#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the KubernetesCluster 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.32.0/docs/resources/kubernetes_cluster upcloud_kubernetes_cluster} 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 KubernetesClusterConfig
*/
constructor(scope: Construct, id: string, config: KubernetesClusterConfig);
private _controlPlaneIpFilter?;
get controlPlaneIpFilter(): string[];
set controlPlaneIpFilter(value: string[]);
get controlPlaneIpFilterInput(): 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 _network?;
get network(): string;
set network(value: string);
get networkInput(): string | undefined;
get networkCidr(): string;
get nodeGroups(): string[];
private _plan?;
get plan(): string;
set plan(value: string);
resetPlan(): void;
get planInput(): string | undefined;
private _privateNodeGroups?;
get privateNodeGroups(): boolean | cdktf.IResolvable;
set privateNodeGroups(value: boolean | cdktf.IResolvable);
resetPrivateNodeGroups(): void;
get privateNodeGroupsInput(): boolean | cdktf.IResolvable | undefined;
get state(): string;
private _storageEncryption?;
get storageEncryption(): string;
set storageEncryption(value: string);
resetStorageEncryption(): void;
get storageEncryptionInput(): string | undefined;
private _upgradeStrategyType?;
get upgradeStrategyType(): string;
set upgradeStrategyType(value: string);
resetUpgradeStrategyType(): void;
get upgradeStrategyTypeInput(): string | undefined;
private _version?;
get version(): string;
set version(value: string);
resetVersion(): void;
get versionInput(): string | undefined;
private _zone?;
get zone(): string;
set zone(value: string);
get zoneInput(): string | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}