import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DataExoscaleBlockStorageVolumeSnapshotConfig extends cdktf.TerraformMetaArguments { /** * Snapshot ID to match. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/block_storage_volume_snapshot#id DataExoscaleBlockStorageVolumeSnapshot#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_snapshot#zone DataExoscaleBlockStorageVolumeSnapshot#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_snapshot#timeouts DataExoscaleBlockStorageVolumeSnapshot#timeouts} */ readonly timeouts?: DataExoscaleBlockStorageVolumeSnapshotTimeouts; } export interface DataExoscaleBlockStorageVolumeSnapshotVolume { } export declare function dataExoscaleBlockStorageVolumeSnapshotVolumeToTerraform(struct?: DataExoscaleBlockStorageVolumeSnapshotVolume): any; export declare function dataExoscaleBlockStorageVolumeSnapshotVolumeToHclTerraform(struct?: DataExoscaleBlockStorageVolumeSnapshotVolume): any; export declare class DataExoscaleBlockStorageVolumeSnapshotVolumeOutputReference 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(): DataExoscaleBlockStorageVolumeSnapshotVolume | undefined; set internalValue(value: DataExoscaleBlockStorageVolumeSnapshotVolume | undefined); get id(): any; } export interface DataExoscaleBlockStorageVolumeSnapshotTimeouts { /** * 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_snapshot#read DataExoscaleBlockStorageVolumeSnapshot#read} */ readonly read?: string; } export declare function dataExoscaleBlockStorageVolumeSnapshotTimeoutsToTerraform(struct?: DataExoscaleBlockStorageVolumeSnapshotTimeouts | cdktf.IResolvable): any; export declare function dataExoscaleBlockStorageVolumeSnapshotTimeoutsToHclTerraform(struct?: DataExoscaleBlockStorageVolumeSnapshotTimeouts | cdktf.IResolvable): any; export declare class DataExoscaleBlockStorageVolumeSnapshotTimeoutsOutputReference 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(): DataExoscaleBlockStorageVolumeSnapshotTimeouts | cdktf.IResolvable | undefined; set internalValue(value: DataExoscaleBlockStorageVolumeSnapshotTimeouts | 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_snapshot exoscale_block_storage_volume_snapshot} */ export declare class DataExoscaleBlockStorageVolumeSnapshot extends cdktf.TerraformDataSource { static readonly tfResourceType = "exoscale_block_storage_volume_snapshot"; /** * Generates CDKTF code for importing a DataExoscaleBlockStorageVolumeSnapshot 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 DataExoscaleBlockStorageVolumeSnapshot to import * @param importFromId The id of the existing DataExoscaleBlockStorageVolumeSnapshot that should be imported. Refer to the {@link https://registry.terraform.io/providers/exoscale/exoscale/0.67.1/docs/data-sources/block_storage_volume_snapshot#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DataExoscaleBlockStorageVolumeSnapshot 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_snapshot exoscale_block_storage_volume_snapshot} 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 DataExoscaleBlockStorageVolumeSnapshotConfig */ constructor(scope: Construct, id: string, config: DataExoscaleBlockStorageVolumeSnapshotConfig); get createdAt(): any; private _id?; get id(): string; set id(value: string); get idInput(): string; private _labels; get labels(): any; get name(): any; get size(): any; get state(): any; private _volume; get volume(): DataExoscaleBlockStorageVolumeSnapshotVolumeOutputReference; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string; private _timeouts; get timeouts(): DataExoscaleBlockStorageVolumeSnapshotTimeoutsOutputReference; putTimeouts(value: DataExoscaleBlockStorageVolumeSnapshotTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }