import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DataExoscaleSksNodepoolConfig extends cdktf.TerraformMetaArguments { /** * A list of [exoscale_anti_affinity_group](./anti_affinity_group.md) (IDs) to be attached to the managed instances. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#anti_affinity_group_ids DataExoscaleSksNodepool#anti_affinity_group_ids} */ readonly antiAffinityGroupIds?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#cluster_id DataExoscaleSksNodepool#cluster_id} */ readonly clusterId: string; /** * The pool creation date. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#created_at DataExoscaleSksNodepool#created_at} */ readonly createdAt?: string; /** * A deploy target ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#deploy_target_id DataExoscaleSksNodepool#deploy_target_id} */ readonly deployTargetId?: string; /** * A free-form text describing the pool. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#description DataExoscaleSksNodepool#description} */ readonly description?: string; /** * The managed instances disk size (GiB; default: `50`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#disk_size DataExoscaleSksNodepool#disk_size} */ readonly diskSize?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#id DataExoscaleSksNodepool#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * The underlying [exoscale_instance_pool](./instance_pool.md) ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#instance_pool_id DataExoscaleSksNodepool#instance_pool_id} */ readonly instancePoolId?: string; /** * The string used to prefix the managed instances name (default `pool`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#instance_prefix DataExoscaleSksNodepool#instance_prefix} */ readonly instancePrefix?: string; /** * The managed compute instances type (`.`, e.g. `standard.medium`; use the [Exoscale CLI](https://github.com/exoscale/cli/) - `exo compute instance-type list` - for the list of available types). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#instance_type DataExoscaleSksNodepool#instance_type} */ readonly instanceType?: string; /** * Enable IPV6 for the nodepool nodes * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#ipv6 DataExoscaleSksNodepool#ipv6} */ readonly ipv6?: boolean | cdktf.IResolvable; /** * A map of key/value labels. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#labels DataExoscaleSksNodepool#labels} */ readonly labels?: { [key: string]: string; }; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#name DataExoscaleSksNodepool#name} */ readonly name?: string; /** * A list of [exoscale_private_network](./private_network.md) (IDs) to be attached to the managed instances. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#private_network_ids DataExoscaleSksNodepool#private_network_ids} */ readonly privateNetworkIds?: string[]; /** * A list of [exoscale_security_group](./security_group.md) (IDs) to be attached to the managed instances. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#security_group_ids DataExoscaleSksNodepool#security_group_ids} */ readonly securityGroupIds?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#size DataExoscaleSksNodepool#size} */ readonly size?: number; /** * The current pool state. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#state DataExoscaleSksNodepool#state} */ readonly state?: string; /** * Create nodes with non-standard partitioning for persistent storage (requires min 100G of disk space) (may only be set at creation time). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#storage_lvm DataExoscaleSksNodepool#storage_lvm} */ readonly storageLvm?: boolean | cdktf.IResolvable; /** * A map of key/value Kubernetes [taints](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) ('taints = { = ":" }'). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#taints DataExoscaleSksNodepool#taints} */ readonly taints?: { [key: string]: string; }; /** * The managed instances template ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#template_id DataExoscaleSksNodepool#template_id} */ readonly templateId?: string; /** * The managed instances version. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#version DataExoscaleSksNodepool#version} */ readonly version?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#zone DataExoscaleSksNodepool#zone} */ readonly zone: string; /** * kubelet_image_gc block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#kubelet_image_gc DataExoscaleSksNodepool#kubelet_image_gc} */ readonly kubeletImageGc?: DataExoscaleSksNodepoolKubeletImageGc[] | cdktf.IResolvable; } export interface DataExoscaleSksNodepoolKubeletImageGc { /** * The percent of disk usage after which image garbage collection is always run * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#high_threshold DataExoscaleSksNodepool#high_threshold} */ readonly highThreshold?: number; /** * The percent of disk usage before which image garbage collection is never run * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#low_threshold DataExoscaleSksNodepool#low_threshold} */ readonly lowThreshold?: number; /** * The minimum age for an unused image before it is garbage collected (k8s duration format, eg. 1h) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#min_age DataExoscaleSksNodepool#min_age} */ readonly minAge?: string; } export declare function dataExoscaleSksNodepoolKubeletImageGcToTerraform(struct?: DataExoscaleSksNodepoolKubeletImageGc | cdktf.IResolvable): any; export declare function dataExoscaleSksNodepoolKubeletImageGcToHclTerraform(struct?: DataExoscaleSksNodepoolKubeletImageGc | cdktf.IResolvable): any; export declare class DataExoscaleSksNodepoolKubeletImageGcOutputReference 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(): DataExoscaleSksNodepoolKubeletImageGc | cdktf.IResolvable | undefined; set internalValue(value: DataExoscaleSksNodepoolKubeletImageGc | cdktf.IResolvable | undefined); private _highThreshold?; get highThreshold(): number; set highThreshold(value: number); resetHighThreshold(): void; get highThresholdInput(): number; private _lowThreshold?; get lowThreshold(): number; set lowThreshold(value: number); resetLowThreshold(): void; get lowThresholdInput(): number; private _minAge?; get minAge(): string; set minAge(value: string); resetMinAge(): void; get minAgeInput(): string; } export declare class DataExoscaleSksNodepoolKubeletImageGcList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DataExoscaleSksNodepoolKubeletImageGc[] | 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): DataExoscaleSksNodepoolKubeletImageGcOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool exoscale_sks_nodepool} */ export declare class DataExoscaleSksNodepool extends cdktf.TerraformDataSource { static readonly tfResourceType = "exoscale_sks_nodepool"; /** * Generates CDKTF code for importing a DataExoscaleSksNodepool resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the DataExoscaleSksNodepool to import * @param importFromId The id of the existing DataExoscaleSksNodepool that should be imported. Refer to the {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DataExoscaleSksNodepool to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_nodepool exoscale_sks_nodepool} Data Source * * @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 DataExoscaleSksNodepoolConfig */ constructor(scope: Construct, id: string, config: DataExoscaleSksNodepoolConfig); private _antiAffinityGroupIds?; get antiAffinityGroupIds(): string[]; set antiAffinityGroupIds(value: string[]); resetAntiAffinityGroupIds(): void; get antiAffinityGroupIdsInput(): string[]; private _clusterId?; get clusterId(): string; set clusterId(value: string); get clusterIdInput(): string; private _createdAt?; get createdAt(): string; set createdAt(value: string); resetCreatedAt(): void; get createdAtInput(): string; private _deployTargetId?; get deployTargetId(): string; set deployTargetId(value: string); resetDeployTargetId(): void; get deployTargetIdInput(): string; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _diskSize?; get diskSize(): number; set diskSize(value: number); resetDiskSize(): void; get diskSizeInput(): number; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _instancePoolId?; get instancePoolId(): string; set instancePoolId(value: string); resetInstancePoolId(): void; get instancePoolIdInput(): string; private _instancePrefix?; get instancePrefix(): string; set instancePrefix(value: string); resetInstancePrefix(): void; get instancePrefixInput(): string; private _instanceType?; get instanceType(): string; set instanceType(value: string); resetInstanceType(): void; get instanceTypeInput(): string; private _ipv6?; get ipv6(): boolean | cdktf.IResolvable; set ipv6(value: boolean | cdktf.IResolvable); resetIpv6(): void; get ipv6Input(): any; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; }; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _privateNetworkIds?; get privateNetworkIds(): string[]; set privateNetworkIds(value: string[]); resetPrivateNetworkIds(): void; get privateNetworkIdsInput(): string[]; private _securityGroupIds?; get securityGroupIds(): string[]; set securityGroupIds(value: string[]); resetSecurityGroupIds(): void; get securityGroupIdsInput(): string[]; private _size?; get size(): number; set size(value: number); resetSize(): void; get sizeInput(): number; private _state?; get state(): string; set state(value: string); resetState(): void; get stateInput(): string; private _storageLvm?; get storageLvm(): boolean | cdktf.IResolvable; set storageLvm(value: boolean | cdktf.IResolvable); resetStorageLvm(): void; get storageLvmInput(): any; private _taints?; get taints(): { [key: string]: string; }; set taints(value: { [key: string]: string; }); resetTaints(): void; get taintsInput(): { [key: string]: string; }; private _templateId?; get templateId(): string; set templateId(value: string); resetTemplateId(): void; get templateIdInput(): string; private _version?; get version(): string; set version(value: string); resetVersion(): void; get versionInput(): string; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string; private _kubeletImageGc; get kubeletImageGc(): DataExoscaleSksNodepoolKubeletImageGcList; putKubeletImageGc(value: DataExoscaleSksNodepoolKubeletImageGc[] | cdktf.IResolvable): void; resetKubeletImageGc(): void; get kubeletImageGcInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }