UNPKG

@cdktf/provider-upcloud

Version:

Prebuilt upcloud Provider for Terraform CDK (cdktf)

310 lines (309 loc) 14.3 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface FileStorageConfig extends cdktf.TerraformMetaArguments { /** * The service configured status indicates the service's current intended status. Managed by the customer. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage#configured_status FileStorage#configured_status} */ readonly configuredStatus: string; /** * User defined key-value pairs to classify the file storage. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage#labels FileStorage#labels} */ readonly labels?: { [key: string]: string; }; /** * Name of the file storage service. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage#name FileStorage#name} */ readonly name: string; /** * Size of the file storage in GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage#size FileStorage#size} */ readonly size: number; /** * Zone in which the service will be hosted, e.g. `fi-hel1`. You can list available zones with `upctl zone list`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage#zone FileStorage#zone} */ readonly zone: string; /** * network block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage#network FileStorage#network} */ readonly network?: FileStorageNetwork[] | cdktf.IResolvable; /** * share block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage#share FileStorage#share} */ readonly share?: FileStorageShare[] | cdktf.IResolvable; } export interface FileStorageNetwork { /** * IP family, e.g. IPv4. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage#family FileStorage#family} */ readonly family: string; /** * IP address to assign (optional, auto-assign otherwise). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage#ip_address FileStorage#ip_address} */ readonly ipAddress?: string; /** * Attachment name (unique per this service). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage#name FileStorage#name} */ readonly name: string; /** * UUID of an existing private network to attach. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage#uuid FileStorage#uuid} */ readonly uuid: string; } export declare function fileStorageNetworkToTerraform(struct?: FileStorageNetwork | cdktf.IResolvable): any; export declare function fileStorageNetworkToHclTerraform(struct?: FileStorageNetwork | cdktf.IResolvable): any; export declare class FileStorageNetworkOutputReference 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(): FileStorageNetwork | cdktf.IResolvable | undefined; set internalValue(value: FileStorageNetwork | cdktf.IResolvable | undefined); private _family?; get family(): string; set family(value: string); get familyInput(): string | undefined; private _ipAddress?; get ipAddress(): string; set ipAddress(value: string); resetIpAddress(): void; get ipAddressInput(): string | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _uuid?; get uuid(): string; set uuid(value: string); get uuidInput(): string | undefined; } export declare class FileStorageNetworkList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: FileStorageNetwork[] | 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): FileStorageNetworkOutputReference; } export interface FileStorageShareAcl { /** * Access level: 'ro' or 'rw'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage#permission FileStorage#permission} */ readonly permission: string; /** * Target IP/CIDR or '*'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage#target FileStorage#target} */ readonly target: string; } export declare function fileStorageShareAclToTerraform(struct?: FileStorageShareAcl | cdktf.IResolvable): any; export declare function fileStorageShareAclToHclTerraform(struct?: FileStorageShareAcl | cdktf.IResolvable): any; export declare class FileStorageShareAclOutputReference 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(): FileStorageShareAcl | cdktf.IResolvable | undefined; set internalValue(value: FileStorageShareAcl | cdktf.IResolvable | undefined); private _permission?; get permission(): string; set permission(value: string); get permissionInput(): string | undefined; private _target?; get target(): string; set target(value: string); get targetInput(): string | undefined; } export declare class FileStorageShareAclList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: FileStorageShareAcl[] | 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): FileStorageShareAclOutputReference; } export interface FileStorageShare { /** * Unique name of the share (1–64 chars). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage#name FileStorage#name} */ readonly name: string; /** * Absolute path exported by the share (e.g. `/public`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage#path FileStorage#path} */ readonly path: string; /** * acl block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage#acl FileStorage#acl} */ readonly acl?: FileStorageShareAcl[] | cdktf.IResolvable; } export declare function fileStorageShareToTerraform(struct?: FileStorageShare | cdktf.IResolvable): any; export declare function fileStorageShareToHclTerraform(struct?: FileStorageShare | cdktf.IResolvable): any; export declare class FileStorageShareOutputReference 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(): FileStorageShare | cdktf.IResolvable | undefined; set internalValue(value: FileStorageShare | cdktf.IResolvable | undefined); private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _path?; get path(): string; set path(value: string); get pathInput(): string | undefined; private _acl; get acl(): FileStorageShareAclList; putAcl(value: FileStorageShareAcl[] | cdktf.IResolvable): void; resetAcl(): void; get aclInput(): cdktf.IResolvable | FileStorageShareAcl[] | undefined; } export declare class FileStorageShareList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: FileStorageShare[] | 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): FileStorageShareOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage upcloud_file_storage} */ export declare class FileStorage extends cdktf.TerraformResource { static readonly tfResourceType = "upcloud_file_storage"; /** * Generates CDKTF code for importing a FileStorage resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the FileStorage to import * @param importFromId The id of the existing FileStorage that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the FileStorage to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource; /** * Create a new {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.32.0/docs/resources/file_storage upcloud_file_storage} 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 FileStorageConfig */ constructor(scope: Construct, id: string, config: FileStorageConfig); private _configuredStatus?; get configuredStatus(): string; set configuredStatus(value: string); get configuredStatusInput(): string | undefined; get id(): string; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; } | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _size?; get size(): number; set size(value: number); get sizeInput(): number | undefined; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string | undefined; private _network; get network(): FileStorageNetworkList; putNetwork(value: FileStorageNetwork[] | cdktf.IResolvable): void; resetNetwork(): void; get networkInput(): cdktf.IResolvable | FileStorageNetwork[] | undefined; private _share; get share(): FileStorageShareList; putShare(value: FileStorageShare[] | cdktf.IResolvable): void; resetShare(): void; get shareInput(): cdktf.IResolvable | FileStorageShare[] | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }