import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface IamApiKeyConfig extends cdktf.TerraformMetaArguments { /** * ❗ IAM API Key name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/iam_api_key#name IamApiKey#name} */ readonly name: string; /** * ❗ IAM API role ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/iam_api_key#role_id IamApiKey#role_id} */ readonly roleId: string; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/iam_api_key#timeouts IamApiKey#timeouts} */ readonly timeouts?: IamApiKeyTimeouts; } export interface IamApiKeyTimeouts { /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/iam_api_key#read IamApiKey#read} */ readonly read?: string; } export declare function iamApiKeyTimeoutsToTerraform(struct?: IamApiKeyTimeouts | cdktf.IResolvable): any; export declare function iamApiKeyTimeoutsToHclTerraform(struct?: IamApiKeyTimeouts | cdktf.IResolvable): any; export declare class IamApiKeyTimeoutsOutputReference 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(): IamApiKeyTimeouts | cdktf.IResolvable | undefined; set internalValue(value: IamApiKeyTimeouts | cdktf.IResolvable | undefined); private _read?; get read(): string; set read(value: string); resetRead(): void; get readInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/iam_api_key exoscale_iam_api_key} */ export declare class IamApiKey extends cdktf.TerraformResource { static readonly tfResourceType = "exoscale_iam_api_key"; /** * Generates CDKTF code for importing a IamApiKey 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 IamApiKey to import * @param importFromId The id of the existing IamApiKey that should be imported. Refer to the {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/resources/iam_api_key#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the IamApiKey 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/iam_api_key exoscale_iam_api_key} 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 IamApiKeyConfig */ constructor(scope: Construct, id: string, config: IamApiKeyConfig); get id(): any; get key(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _roleId?; get roleId(): string; set roleId(value: string); get roleIdInput(): string; get secret(): any; private _timeouts; get timeouts(): IamApiKeyTimeoutsOutputReference; putTimeouts(value: IamApiKeyTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }