import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DataExoscaleBlockStorageVolumeConfig extends cdktf.TerraformMetaArguments { /** * Volume ID to match. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/block_storage_volume#id DataExoscaleBlockStorageVolume#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 Exoscale [Zone](https://www.exoscale.com/datacenters/) name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/block_storage_volume#zone DataExoscaleBlockStorageVolume#zone} */ readonly zone: string; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/block_storage_volume#timeouts DataExoscaleBlockStorageVolume#timeouts} */ readonly timeouts?: DataExoscaleBlockStorageVolumeTimeouts; } export interface DataExoscaleBlockStorageVolumeInstance { } export declare function dataExoscaleBlockStorageVolumeInstanceToTerraform(struct?: DataExoscaleBlockStorageVolumeInstance): any; export declare function dataExoscaleBlockStorageVolumeInstanceToHclTerraform(struct?: DataExoscaleBlockStorageVolumeInstance): any; export declare class DataExoscaleBlockStorageVolumeInstanceOutputReference 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(): DataExoscaleBlockStorageVolumeInstance | undefined; set internalValue(value: DataExoscaleBlockStorageVolumeInstance | undefined); get id(): any; } export interface DataExoscaleBlockStorageVolumeSnapshots { } export declare function dataExoscaleBlockStorageVolumeSnapshotsToTerraform(struct?: DataExoscaleBlockStorageVolumeSnapshots): any; export declare function dataExoscaleBlockStorageVolumeSnapshotsToHclTerraform(struct?: DataExoscaleBlockStorageVolumeSnapshots): any; export declare class DataExoscaleBlockStorageVolumeSnapshotsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): DataExoscaleBlockStorageVolumeSnapshots | undefined; set internalValue(value: DataExoscaleBlockStorageVolumeSnapshots | undefined); get id(): any; } export declare class DataExoscaleBlockStorageVolumeSnapshotsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): DataExoscaleBlockStorageVolumeSnapshotsOutputReference; } export interface DataExoscaleBlockStorageVolumeTimeouts { /** * 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/block_storage_volume#read DataExoscaleBlockStorageVolume#read} */ readonly read?: string; } export declare function dataExoscaleBlockStorageVolumeTimeoutsToTerraform(struct?: DataExoscaleBlockStorageVolumeTimeouts | cdktf.IResolvable): any; export declare function dataExoscaleBlockStorageVolumeTimeoutsToHclTerraform(struct?: DataExoscaleBlockStorageVolumeTimeouts | cdktf.IResolvable): any; export declare class DataExoscaleBlockStorageVolumeTimeoutsOutputReference 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(): DataExoscaleBlockStorageVolumeTimeouts | cdktf.IResolvable | undefined; set internalValue(value: DataExoscaleBlockStorageVolumeTimeouts | 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/block_storage_volume exoscale_block_storage_volume} */ export declare class DataExoscaleBlockStorageVolume extends cdktf.TerraformDataSource { static readonly tfResourceType = "exoscale_block_storage_volume"; /** * Generates CDKTF code for importing a DataExoscaleBlockStorageVolume 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 DataExoscaleBlockStorageVolume to import * @param importFromId The id of the existing DataExoscaleBlockStorageVolume that should be imported. Refer to the {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/block_storage_volume#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DataExoscaleBlockStorageVolume 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/block_storage_volume exoscale_block_storage_volume} 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 DataExoscaleBlockStorageVolumeConfig */ constructor(scope: Construct, id: string, config: DataExoscaleBlockStorageVolumeConfig); get blocksize(): any; get createdAt(): any; private _id?; get id(): string; set id(value: string); get idInput(): string; private _instance; get instance(): DataExoscaleBlockStorageVolumeInstanceOutputReference; private _labels; get labels(): any; get name(): any; get size(): any; private _snapshots; get snapshots(): DataExoscaleBlockStorageVolumeSnapshotsList; get state(): any; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string; private _timeouts; get timeouts(): DataExoscaleBlockStorageVolumeTimeoutsOutputReference; putTimeouts(value: DataExoscaleBlockStorageVolumeTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }