import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface FileShareConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#id FileShare#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 name of the file share. It must be unique within the project and region. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#name FileShare#name} */ readonly name: string; /** * Project ID, only one of project_id or project_name should be set * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#project_id FileShare#project_id} */ readonly projectId?: number; /** * Project name, only one of project_id or project_name should be set * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#project_name FileShare#project_name} */ readonly projectName?: string; /** * The protocol used by the file share. Currently, only 'NFS' is supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#protocol FileShare#protocol} */ readonly protocol: string; /** * Region ID, only one of region_id or region_name should be set * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#region_id FileShare#region_id} */ readonly regionId?: number; /** * Region name, only one of region_id or region_name should be set * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#region_name FileShare#region_name} */ readonly regionName?: string; /** * The size of the file share in GB. It must be a positive integer. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#size FileShare#size} */ readonly size: number; /** * Tags to associate with the file share. Tags are key-value pairs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#tags FileShare#tags} */ readonly tags?: { [key: string]: string; }; /** * The type of the file share. Must be one of 'standard' or 'vast'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#type_name FileShare#type_name} */ readonly typeName: string; /** * access block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#access FileShare#access} */ readonly access?: FileShareAccess[] | cdktf.IResolvable; /** * network block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#network FileShare#network} */ readonly network?: FileShareNetwork; /** * share_settings block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#share_settings FileShare#share_settings} */ readonly shareSettings?: FileShareShareSettings; } export interface FileShareAccess { /** * The access mode of the file share (ro/rw). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#access_mode FileShare#access_mode} */ readonly accessMode: string; /** * The IP address of the file share. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#ip_address FileShare#ip_address} */ readonly ipAddress: string; } export declare function fileShareAccessToTerraform(struct?: FileShareAccess | cdktf.IResolvable): any; export declare function fileShareAccessToHclTerraform(struct?: FileShareAccess | cdktf.IResolvable): any; export declare class FileShareAccessOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @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(): FileShareAccess | cdktf.IResolvable | undefined; set internalValue(value: FileShareAccess | cdktf.IResolvable | undefined); private _accessMode?; get accessMode(): string; set accessMode(value: string); get accessModeInput(): string; private _ipAddress?; get ipAddress(): string; set ipAddress(value: string); get ipAddressInput(): string; } export declare class FileShareAccessList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: FileShareAccess[] | cdktf.IResolvable; /** * @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): FileShareAccessOutputReference; } export interface FileShareNetwork { /** * The ID of the network to which the file share will be connected. This is required for 'standard'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#network_id FileShare#network_id} */ readonly networkId?: string; /** * The ID of the subnet within the network. This is optional and can be used to specify a particular subnet for the file share. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#subnet_id FileShare#subnet_id} */ readonly subnetId?: string; } export declare function fileShareNetworkToTerraform(struct?: FileShareNetworkOutputReference | FileShareNetwork): any; export declare function fileShareNetworkToHclTerraform(struct?: FileShareNetworkOutputReference | FileShareNetwork): any; export declare class FileShareNetworkOutputReference 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(): FileShareNetwork | undefined; set internalValue(value: FileShareNetwork | undefined); private _networkId?; get networkId(): string; set networkId(value: string); resetNetworkId(): void; get networkIdInput(): string; private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; } export interface FileShareShareSettings { /** * Allowed characters in file names. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#allowed_characters FileShare#allowed_characters} */ readonly allowedCharacters?: string; /** * Affects the maximum limit of file path component name length. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#path_length FileShare#path_length} */ readonly pathLength?: string; /** * Indicates if root squash is enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#root_squash FileShare#root_squash} */ readonly rootSquash?: boolean | cdktf.IResolvable; } export declare function fileShareShareSettingsToTerraform(struct?: FileShareShareSettingsOutputReference | FileShareShareSettings): any; export declare function fileShareShareSettingsToHclTerraform(struct?: FileShareShareSettingsOutputReference | FileShareShareSettings): any; export declare class FileShareShareSettingsOutputReference 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(): FileShareShareSettings | undefined; set internalValue(value: FileShareShareSettings | undefined); private _allowedCharacters?; get allowedCharacters(): string; set allowedCharacters(value: string); resetAllowedCharacters(): void; get allowedCharactersInput(): string; private _pathLength?; get pathLength(): string; set pathLength(value: string); resetPathLength(): void; get pathLengthInput(): string; private _rootSquash?; get rootSquash(): boolean | cdktf.IResolvable; set rootSquash(value: boolean | cdktf.IResolvable); resetRootSquash(): void; get rootSquashInput(): any; } /** * Represents a {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share gcore_file_share} */ export declare class FileShare extends cdktf.TerraformResource { static readonly tfResourceType = "gcore_file_share"; /** * Generates CDKTF code for importing a FileShare 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 FileShare to import * @param importFromId The id of the existing FileShare that should be imported. Refer to the {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/file_share#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the FileShare 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/g-core/gcore/0.32.5/docs/resources/file_share gcore_file_share} 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 FileShareConfig */ constructor(scope: Construct, id: string, config: FileShareConfig); get connectionPoint(): any; get createdAt(): any; get creatorTaskId(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; get networkName(): any; private _projectId?; get projectId(): number; set projectId(value: number); resetProjectId(): void; get projectIdInput(): number; private _projectName?; get projectName(): string; set projectName(value: string); resetProjectName(): void; get projectNameInput(): string; private _protocol?; get protocol(): string; set protocol(value: string); get protocolInput(): string; private _regionId?; get regionId(): number; set regionId(value: number); resetRegionId(): void; get regionIdInput(): number; private _regionName?; get regionName(): string; set regionName(value: string); resetRegionName(): void; get regionNameInput(): string; get shareNetworkName(): any; private _size?; get size(): number; set size(value: number); get sizeInput(): number; get status(): any; get subnetName(): any; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _typeName?; get typeName(): string; set typeName(value: string); get typeNameInput(): string; private _access; get access(): FileShareAccessList; putAccess(value: FileShareAccess[] | cdktf.IResolvable): void; resetAccess(): void; get accessInput(): any; private _network; get network(): FileShareNetworkOutputReference; putNetwork(value: FileShareNetwork): void; resetNetwork(): void; get networkInput(): FileShareNetwork; private _shareSettings; get shareSettings(): FileShareShareSettingsOutputReference; putShareSettings(value: FileShareShareSettings): void; resetShareSettings(): void; get shareSettingsInput(): FileShareShareSettings; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }