import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface SksKubeconfigConfig extends cdktf.TerraformMetaArguments { /** * ❗ The parent [exoscale_sks_cluster](./sks_cluster.md) ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/sks_kubeconfig#cluster_id SksKubeconfig#cluster_id} */ readonly clusterId: string; /** * If set, the resource will consider the Kubeconfig to have expired the given number of seconds before its actual CA certificate or client certificate expiry time. This can be useful to deploy an updated Kubeconfig in advance of the expiration of its internal current certificate. Note however that the old certificate remains valid until its true expiration time since this resource does not (and cannot) support revocation. Also note this advance update can only take place if the Terraform configuration is applied during the early renewal period (seconds; default: 0). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/sks_kubeconfig#early_renewal_seconds SksKubeconfig#early_renewal_seconds} */ readonly earlyRenewalSeconds?: number; /** * ❗ Group names in the generated Kubeconfig. The certificate present in the Kubeconfig will have these roles set in the Organization field. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/sks_kubeconfig#groups SksKubeconfig#groups} */ readonly groups: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/sks_kubeconfig#id SksKubeconfig#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 Time-to-Live of the Kubeconfig, after which it will expire / become invalid (seconds; default: 2592000 = 30 days). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/sks_kubeconfig#ttl_seconds SksKubeconfig#ttl_seconds} */ readonly ttlSeconds?: number; /** * ❗ User name in the generated Kubeconfig. The certificate present in the Kubeconfig will also have this name set for the CN field. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/sks_kubeconfig#user SksKubeconfig#user} */ readonly user: string; /** * ❗ The Exoscale [Zone](https://www.exoscale.com/datacenters/) name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/sks_kubeconfig#zone SksKubeconfig#zone} */ readonly zone: string; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/sks_kubeconfig#timeouts SksKubeconfig#timeouts} */ readonly timeouts?: SksKubeconfigTimeouts; } export interface SksKubeconfigTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/sks_kubeconfig#create SksKubeconfig#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/sks_kubeconfig#delete SksKubeconfig#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/sks_kubeconfig#read SksKubeconfig#read} */ readonly read?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/sks_kubeconfig#update SksKubeconfig#update} */ readonly update?: string; } export declare function sksKubeconfigTimeoutsToTerraform(struct?: SksKubeconfigTimeouts | cdktf.IResolvable): any; export declare function sksKubeconfigTimeoutsToHclTerraform(struct?: SksKubeconfigTimeouts | cdktf.IResolvable): any; export declare class SksKubeconfigTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @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(): SksKubeconfigTimeouts | cdktf.IResolvable | undefined; set internalValue(value: SksKubeconfigTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string; private _read?; get read(): string; set read(value: string); resetRead(): void; get readInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/sks_kubeconfig exoscale_sks_kubeconfig} */ export declare class SksKubeconfig extends cdktf.TerraformResource { static readonly tfResourceType = "exoscale_sks_kubeconfig"; /** * Generates CDKTF code for importing a SksKubeconfig 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 SksKubeconfig to import * @param importFromId The id of the existing SksKubeconfig that should be imported. Refer to the {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/sks_kubeconfig#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the SksKubeconfig 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/resources/sks_kubeconfig exoscale_sks_kubeconfig} 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 SksKubeconfigConfig */ constructor(scope: Construct, id: string, config: SksKubeconfigConfig); private _clusterId?; get clusterId(): string; set clusterId(value: string); get clusterIdInput(): string; private _earlyRenewalSeconds?; get earlyRenewalSeconds(): number; set earlyRenewalSeconds(value: number); resetEarlyRenewalSeconds(): void; get earlyRenewalSecondsInput(): number; private _groups?; get groups(): string[]; set groups(value: string[]); get groupsInput(): string[]; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; get kubeconfig(): any; get readyForRenewal(): any; private _ttlSeconds?; get ttlSeconds(): number; set ttlSeconds(value: number); resetTtlSeconds(): void; get ttlSecondsInput(): number; private _user?; get user(): string; set user(value: string); get userInput(): string; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string; private _timeouts; get timeouts(): SksKubeconfigTimeoutsOutputReference; putTimeouts(value: SksKubeconfigTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }