import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DataExoscaleIamApiKeyConfig extends cdktf.TerraformMetaArguments { /** * The IAM API Key to match. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/iam_api_key#key DataExoscaleIamApiKey#key} */ readonly key: string; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/iam_api_key#timeouts DataExoscaleIamApiKey#timeouts} */ readonly timeouts?: DataExoscaleIamApiKeyTimeouts; } export interface DataExoscaleIamApiKeyTimeouts { /** * 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/data-sources/iam_api_key#read DataExoscaleIamApiKey#read} */ readonly read?: string; } export declare function dataExoscaleIamApiKeyTimeoutsToTerraform(struct?: DataExoscaleIamApiKeyTimeouts | cdktf.IResolvable): any; export declare function dataExoscaleIamApiKeyTimeoutsToHclTerraform(struct?: DataExoscaleIamApiKeyTimeouts | cdktf.IResolvable): any; export declare class DataExoscaleIamApiKeyTimeoutsOutputReference 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(): DataExoscaleIamApiKeyTimeouts | cdktf.IResolvable | undefined; set internalValue(value: DataExoscaleIamApiKeyTimeouts | 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/data-sources/iam_api_key exoscale_iam_api_key} */ export declare class DataExoscaleIamApiKey extends cdktf.TerraformDataSource { static readonly tfResourceType = "exoscale_iam_api_key"; /** * Generates CDKTF code for importing a DataExoscaleIamApiKey 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 DataExoscaleIamApiKey to import * @param importFromId The id of the existing DataExoscaleIamApiKey that should be imported. Refer to the {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/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 DataExoscaleIamApiKey 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/iam_api_key exoscale_iam_api_key} 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 DataExoscaleIamApiKeyConfig */ constructor(scope: Construct, id: string, config: DataExoscaleIamApiKeyConfig); get id(): any; private _key?; get key(): string; set key(value: string); get keyInput(): string; get name(): any; get roleId(): any; private _timeouts; get timeouts(): DataExoscaleIamApiKeyTimeoutsOutputReference; putTimeouts(value: DataExoscaleIamApiKeyTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }