import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ComputeFilesystemConfig extends cdktf.TerraformMetaArguments { /** * Block size used for the filesystem, specified in bytes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem#block_size ComputeFilesystem#block_size} */ readonly blockSize?: number; /** * Description of the filesystem. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem#description ComputeFilesystem#description} */ readonly description?: string; /** * ID of the filesystem to return. * * To get the filesystem ID, make a [FilesystemService.List] request. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem#filesystem_id ComputeFilesystem#filesystem_id} */ readonly filesystemId?: string; /** * ID of the folder that the filesystem belongs to. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem#folder_id ComputeFilesystem#folder_id} */ readonly folderId?: string; /** * ID of the filesystem to return. * * To get the filesystem ID, make a [FilesystemService.List] request. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem#id ComputeFilesystem#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; /** * Filesystem labels as `key:value` pairs. * For details about the concept, see [documentation](/docs/overview/concepts/services#labels). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem#labels ComputeFilesystem#labels} */ readonly labels?: { [key: string]: string; }; /** * Name of the filesystem. The name is unique within the folder. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem#name ComputeFilesystem#name} */ readonly name?: string; /** * Size of the filesystem, specified in bytes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem#size ComputeFilesystem#size} */ readonly size?: number; /** * ID of the filesystem type. * * To get a list of available filesystem types, make a [yandex.cloud.compute.v1.DiskTypeService.List] request. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem#type ComputeFilesystem#type} */ readonly type?: string; /** * ID of the availability zone where the filesystem resides. * * A filesystem can be attached only to instances residing in the same availability zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem#zone ComputeFilesystem#zone} */ readonly zone?: string; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem#timeouts ComputeFilesystem#timeouts} */ readonly timeouts?: ComputeFilesystemTimeouts; } export interface ComputeFilesystemTimeouts { /** * 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). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem#create ComputeFilesystem#create} */ readonly create?: string; /** * 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem#delete ComputeFilesystem#delete} */ readonly delete?: string; /** * 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/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem#read ComputeFilesystem#read} */ readonly read?: string; /** * 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). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem#update ComputeFilesystem#update} */ readonly update?: string; } export declare function computeFilesystemTimeoutsToTerraform(struct?: ComputeFilesystemTimeouts | cdktf.IResolvable): any; export declare function computeFilesystemTimeoutsToHclTerraform(struct?: ComputeFilesystemTimeouts | cdktf.IResolvable): any; export declare class ComputeFilesystemTimeoutsOutputReference 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(): ComputeFilesystemTimeouts | cdktf.IResolvable | undefined; set internalValue(value: ComputeFilesystemTimeouts | 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/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem yandex_compute_filesystem} */ export declare class ComputeFilesystem extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_compute_filesystem"; /** * Generates CDKTF code for importing a ComputeFilesystem 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 ComputeFilesystem to import * @param importFromId The id of the existing ComputeFilesystem that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ComputeFilesystem 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/yandex-cloud/yandex/0.177.0/docs/resources/compute_filesystem yandex_compute_filesystem} 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 ComputeFilesystemConfig = {} */ constructor(scope: Construct, id: string, config?: ComputeFilesystemConfig); private _blockSize?; get blockSize(): number; set blockSize(value: number); resetBlockSize(): void; get blockSizeInput(): number; get createdAt(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _filesystemId?; get filesystemId(): string; set filesystemId(value: string); resetFilesystemId(): void; get filesystemIdInput(): string; private _folderId?; get folderId(): string; set folderId(value: string); resetFolderId(): void; get folderIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; }; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _size?; get size(): number; set size(value: number); resetSize(): void; get sizeInput(): number; get status(): any; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string; private _zone?; get zone(): string; set zone(value: string); resetZone(): void; get zoneInput(): string; private _timeouts; get timeouts(): ComputeFilesystemTimeoutsOutputReference; putTimeouts(value: ComputeFilesystemTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }