import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DataExoscaleSksClusterConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#addons DataExoscaleSksCluster#addons} */ readonly addons?: string[]; /** * The CA certificate (in PEM format) for TLS communications between the control plane and the aggregation layer (e.g. `metrics-server`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#aggregation_ca DataExoscaleSksCluster#aggregation_ca} */ readonly aggregationCa?: string; /** * Enable automatic upgrading of the control plane version. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#auto_upgrade DataExoscaleSksCluster#auto_upgrade} */ readonly autoUpgrade?: boolean | cdktf.IResolvable; /** * The CNI plugin that is to be used. Available options are "calico" or "cilium". Defaults to "calico". Setting empty string will result in a cluster with no CNI. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#cni DataExoscaleSksCluster#cni} */ readonly cni?: string; /** * The CA certificate (in PEM format) for TLS communications between control plane components. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#control_plane_ca DataExoscaleSksCluster#control_plane_ca} */ readonly controlPlaneCa?: string; /** * The cluster creation date. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#created_at DataExoscaleSksCluster#created_at} */ readonly createdAt?: string; /** * A free-form text describing the cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#description DataExoscaleSksCluster#description} */ readonly description?: string; /** * Indicates whether to deploy Karpenter for cluster autoscaling. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#enable_karpenter DataExoscaleSksCluster#enable_karpenter} */ readonly enableKarpenter?: boolean | cdktf.IResolvable; /** * ❗ Indicates whether to deploy the Kubernetes network proxy. (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_cluster#enable_kube_proxy DataExoscaleSksCluster#enable_kube_proxy} */ readonly enableKubeProxy?: boolean | cdktf.IResolvable; /** * The cluster API endpoint. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#endpoint DataExoscaleSksCluster#endpoint} */ readonly endpoint?: string; /** * Deploy the Exoscale [Cloud Controller Manager](https://github.com/exoscale/exoscale-cloud-controller-manager/) in the control plane (boolean; default: `true`; 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_cluster#exoscale_ccm DataExoscaleSksCluster#exoscale_ccm} */ readonly exoscaleCcm?: boolean | cdktf.IResolvable; /** * Deploy the Exoscale [Container Storage Interface](https://github.com/exoscale/exoscale-csi-driver/) on worker nodes (boolean; default: `false`; requires the CCM to be enabled). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#exoscale_csi DataExoscaleSksCluster#exoscale_csi} */ readonly exoscaleCsi?: boolean | cdktf.IResolvable; /** * Feature gates options for the cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#feature_gates DataExoscaleSksCluster#feature_gates} */ readonly featureGates?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#id DataExoscaleSksCluster#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 CA certificate (in PEM format) for TLS communications between kubelets and the control plane. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#kubelet_ca DataExoscaleSksCluster#kubelet_ca} */ readonly kubeletCa?: string; /** * 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_cluster#labels DataExoscaleSksCluster#labels} */ readonly labels?: { [key: string]: string; }; /** * Deploy the [Kubernetes Metrics Server](https://github.com/kubernetes-sigs/metrics-server/) in the control plane (boolean; default: `true`; 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_cluster#metrics_server DataExoscaleSksCluster#metrics_server} */ readonly metricsServer?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#name DataExoscaleSksCluster#name} */ readonly name?: string; /** * The list of [exoscale_sks_nodepool](./sks_nodepool.md) (IDs) attached to the cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#nodepools DataExoscaleSksCluster#nodepools} */ readonly nodepools?: string[]; /** * The service level of the control plane (`pro` or `starter`; default: `pro`; 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_cluster#service_level DataExoscaleSksCluster#service_level} */ readonly serviceLevel?: string; /** * The cluster state. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#state DataExoscaleSksCluster#state} */ readonly state?: string; /** * The version of the control plane (default: latest version available from the API; see `exo compute sks versions` for reference; 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_cluster#version DataExoscaleSksCluster#version} */ readonly version?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#zone DataExoscaleSksCluster#zone} */ readonly zone: string; /** * audit block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#audit DataExoscaleSksCluster#audit} */ readonly audit?: DataExoscaleSksClusterAudit; /** * oidc block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#oidc DataExoscaleSksCluster#oidc} */ readonly oidc?: DataExoscaleSksClusterOidc; } export interface DataExoscaleSksClusterAudit { /** * The optional bearer token to include in the request header * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#bearer_token DataExoscaleSksCluster#bearer_token} */ readonly bearerToken?: string; /** * Whether to run the APIServer with the configured Kubernetes Audit * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#enabled DataExoscaleSksCluster#enabled} */ readonly enabled?: boolean | cdktf.IResolvable; /** * The Endpoint URL for the Webserver responsible of processing Audit events * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#endpoint DataExoscaleSksCluster#endpoint} */ readonly endpoint?: string; /** * The Initial Backoff to wait before sending data to the remote server (default '10s') * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#initial_backoff DataExoscaleSksCluster#initial_backoff} */ readonly initialBackoff?: string; } export declare function dataExoscaleSksClusterAuditToTerraform(struct?: DataExoscaleSksClusterAuditOutputReference | DataExoscaleSksClusterAudit): any; export declare function dataExoscaleSksClusterAuditToHclTerraform(struct?: DataExoscaleSksClusterAuditOutputReference | DataExoscaleSksClusterAudit): any; export declare class DataExoscaleSksClusterAuditOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): DataExoscaleSksClusterAudit | undefined; set internalValue(value: DataExoscaleSksClusterAudit | undefined); private _bearerToken?; get bearerToken(): string; set bearerToken(value: string); resetBearerToken(): void; get bearerTokenInput(): string; private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); resetEnabled(): void; get enabledInput(): any; private _endpoint?; get endpoint(): string; set endpoint(value: string); resetEndpoint(): void; get endpointInput(): string; private _initialBackoff?; get initialBackoff(): string; set initialBackoff(value: string); resetInitialBackoff(): void; get initialBackoffInput(): string; } export interface DataExoscaleSksClusterOidc { /** * The OpenID client ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#client_id DataExoscaleSksCluster#client_id} */ readonly clientId: string; /** * An OpenID JWT claim to use as the user's group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#groups_claim DataExoscaleSksCluster#groups_claim} */ readonly groupsClaim?: string; /** * An OpenID prefix prepended to group claims. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#groups_prefix DataExoscaleSksCluster#groups_prefix} */ readonly groupsPrefix?: string; /** * The OpenID provider URL. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#issuer_url DataExoscaleSksCluster#issuer_url} */ readonly issuerUrl: string; /** * A map of key/value pairs that describes a required claim in the OpenID Token. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#required_claim DataExoscaleSksCluster#required_claim} */ readonly requiredClaim?: { [key: string]: string; }; /** * An OpenID JWT claim to use as the user name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#username_claim DataExoscaleSksCluster#username_claim} */ readonly usernameClaim?: string; /** * An OpenID prefix prepended to username claims. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#username_prefix DataExoscaleSksCluster#username_prefix} */ readonly usernamePrefix?: string; } export declare function dataExoscaleSksClusterOidcToTerraform(struct?: DataExoscaleSksClusterOidcOutputReference | DataExoscaleSksClusterOidc): any; export declare function dataExoscaleSksClusterOidcToHclTerraform(struct?: DataExoscaleSksClusterOidcOutputReference | DataExoscaleSksClusterOidc): any; export declare class DataExoscaleSksClusterOidcOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): DataExoscaleSksClusterOidc | undefined; set internalValue(value: DataExoscaleSksClusterOidc | undefined); private _clientId?; get clientId(): string; set clientId(value: string); get clientIdInput(): string; private _groupsClaim?; get groupsClaim(): string; set groupsClaim(value: string); resetGroupsClaim(): void; get groupsClaimInput(): string; private _groupsPrefix?; get groupsPrefix(): string; set groupsPrefix(value: string); resetGroupsPrefix(): void; get groupsPrefixInput(): string; private _issuerUrl?; get issuerUrl(): string; set issuerUrl(value: string); get issuerUrlInput(): string; private _requiredClaim?; get requiredClaim(): { [key: string]: string; }; set requiredClaim(value: { [key: string]: string; }); resetRequiredClaim(): void; get requiredClaimInput(): { [key: string]: string; }; private _usernameClaim?; get usernameClaim(): string; set usernameClaim(value: string); resetUsernameClaim(): void; get usernameClaimInput(): string; private _usernamePrefix?; get usernamePrefix(): string; set usernamePrefix(value: string); resetUsernamePrefix(): void; get usernamePrefixInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster exoscale_sks_cluster} */ export declare class DataExoscaleSksCluster extends cdktf.TerraformDataSource { static readonly tfResourceType = "exoscale_sks_cluster"; /** * Generates CDKTF code for importing a DataExoscaleSksCluster 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 DataExoscaleSksCluster to import * @param importFromId The id of the existing DataExoscaleSksCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/sks_cluster#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DataExoscaleSksCluster 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_cluster exoscale_sks_cluster} 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 DataExoscaleSksClusterConfig */ constructor(scope: Construct, id: string, config: DataExoscaleSksClusterConfig); private _addons?; get addons(): string[]; set addons(value: string[]); resetAddons(): void; get addonsInput(): string[]; private _aggregationCa?; get aggregationCa(): string; set aggregationCa(value: string); resetAggregationCa(): void; get aggregationCaInput(): string; private _autoUpgrade?; get autoUpgrade(): boolean | cdktf.IResolvable; set autoUpgrade(value: boolean | cdktf.IResolvable); resetAutoUpgrade(): void; get autoUpgradeInput(): any; private _cni?; get cni(): string; set cni(value: string); resetCni(): void; get cniInput(): string; private _controlPlaneCa?; get controlPlaneCa(): string; set controlPlaneCa(value: string); resetControlPlaneCa(): void; get controlPlaneCaInput(): string; private _createdAt?; get createdAt(): string; set createdAt(value: string); resetCreatedAt(): void; get createdAtInput(): string; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _enableKarpenter?; get enableKarpenter(): boolean | cdktf.IResolvable; set enableKarpenter(value: boolean | cdktf.IResolvable); resetEnableKarpenter(): void; get enableKarpenterInput(): any; private _enableKubeProxy?; get enableKubeProxy(): boolean | cdktf.IResolvable; set enableKubeProxy(value: boolean | cdktf.IResolvable); resetEnableKubeProxy(): void; get enableKubeProxyInput(): any; private _endpoint?; get endpoint(): string; set endpoint(value: string); resetEndpoint(): void; get endpointInput(): string; private _exoscaleCcm?; get exoscaleCcm(): boolean | cdktf.IResolvable; set exoscaleCcm(value: boolean | cdktf.IResolvable); resetExoscaleCcm(): void; get exoscaleCcmInput(): any; private _exoscaleCsi?; get exoscaleCsi(): boolean | cdktf.IResolvable; set exoscaleCsi(value: boolean | cdktf.IResolvable); resetExoscaleCsi(): void; get exoscaleCsiInput(): any; private _featureGates?; get featureGates(): string[]; set featureGates(value: string[]); resetFeatureGates(): void; get featureGatesInput(): string[]; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _kubeletCa?; get kubeletCa(): string; set kubeletCa(value: string); resetKubeletCa(): void; get kubeletCaInput(): string; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; }; private _metricsServer?; get metricsServer(): boolean | cdktf.IResolvable; set metricsServer(value: boolean | cdktf.IResolvable); resetMetricsServer(): void; get metricsServerInput(): any; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _nodepools?; get nodepools(): string[]; set nodepools(value: string[]); resetNodepools(): void; get nodepoolsInput(): string[]; private _serviceLevel?; get serviceLevel(): string; set serviceLevel(value: string); resetServiceLevel(): void; get serviceLevelInput(): string; private _state?; get state(): string; set state(value: string); resetState(): void; get stateInput(): 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 _audit; get audit(): DataExoscaleSksClusterAuditOutputReference; putAudit(value: DataExoscaleSksClusterAudit): void; resetAudit(): void; get auditInput(): DataExoscaleSksClusterAudit; private _oidc; get oidc(): DataExoscaleSksClusterOidcOutputReference; putOidc(value: DataExoscaleSksClusterOidc): void; resetOidc(): void; get oidcInput(): DataExoscaleSksClusterOidc; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }