UNPKG

@cdktf/provider-upcloud

Version:

Prebuilt upcloud Provider for Terraform CDK (cdktf)

157 lines (156 loc) 7.65 kB
/** * 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; }; }