UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

785 lines (784 loc) 41 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface FilestoreInstanceConfig extends cdktf.TerraformMetaArguments { /** * Indicates whether the instance is protected against deletion. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#deletion_protection_enabled FilestoreInstance#deletion_protection_enabled} */ readonly deletionProtectionEnabled?: boolean | cdktf.IResolvable; /** * The reason for enabling deletion protection. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#deletion_protection_reason FilestoreInstance#deletion_protection_reason} */ readonly deletionProtectionReason?: string; /** * A description of the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#description FilestoreInstance#description} */ readonly description?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#id FilestoreInstance#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; /** * KMS key name used for data encryption. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#kms_key_name FilestoreInstance#kms_key_name} */ readonly kmsKeyName?: string; /** * Resource labels to represent user-provided metadata. * * * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. * Please refer to the field 'effective_labels' for all of the labels present on the resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#labels FilestoreInstance#labels} */ readonly labels?: { [key: string]: string; }; /** * The name of the location of the instance. This can be a region for ENTERPRISE tier instances. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#location FilestoreInstance#location} */ readonly location?: string; /** * The resource name of the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#name FilestoreInstance#name} */ readonly name: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#project FilestoreInstance#project} */ readonly project?: string; /** * Either NFSv3, for using NFS version 3 as file sharing protocol, * or NFSv4.1, for using NFS version 4.1 as file sharing protocol. * NFSv4.1 can be used with HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE. * The default is NFSv3. Default value: "NFS_V3" Possible values: ["NFS_V3", "NFS_V4_1"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#protocol FilestoreInstance#protocol} */ readonly protocol?: string; /** * A map of resource manager tags. Resource manager tag keys * and values have the same definition as resource manager * tags. Keys must be in the format tagKeys/{tag_key_id}, * and values are in the format tagValues/456. The field is * ignored when empty. The field is immutable and causes * resource replacement when mutated. This field is only set * at create time and modifying this field after creation * will trigger recreation. To apply tags to an existing * resource, see the 'google_tags_tag_value' resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#tags FilestoreInstance#tags} */ readonly tags?: { [key: string]: string; }; /** * The service tier of the instance. * Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#tier FilestoreInstance#tier} */ readonly tier: string; /** * The name of the Filestore zone of the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#zone FilestoreInstance#zone} */ readonly zone?: string; /** * file_shares block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#file_shares FilestoreInstance#file_shares} */ readonly fileShares: FilestoreInstanceFileShares; /** * initial_replication block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#initial_replication FilestoreInstance#initial_replication} */ readonly initialReplication?: FilestoreInstanceInitialReplication; /** * networks block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#networks FilestoreInstance#networks} */ readonly networks: FilestoreInstanceNetworks[] | cdktf.IResolvable; /** * performance_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#performance_config FilestoreInstance#performance_config} */ readonly performanceConfig?: FilestoreInstancePerformanceConfig; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#timeouts FilestoreInstance#timeouts} */ readonly timeouts?: FilestoreInstanceTimeouts; } export interface FilestoreInstanceEffectiveReplicationReplicas { } export declare function filestoreInstanceEffectiveReplicationReplicasToTerraform(struct?: FilestoreInstanceEffectiveReplicationReplicas): any; export declare function filestoreInstanceEffectiveReplicationReplicasToHclTerraform(struct?: FilestoreInstanceEffectiveReplicationReplicas): any; export declare class FilestoreInstanceEffectiveReplicationReplicasOutputReference 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(): FilestoreInstanceEffectiveReplicationReplicas | undefined; set internalValue(value: FilestoreInstanceEffectiveReplicationReplicas | undefined); get lastActiveSyncTime(): string; get state(): string; get stateReasons(): string[]; } export declare class FilestoreInstanceEffectiveReplicationReplicasList 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): FilestoreInstanceEffectiveReplicationReplicasOutputReference; } export interface FilestoreInstanceEffectiveReplication { } export declare function filestoreInstanceEffectiveReplicationToTerraform(struct?: FilestoreInstanceEffectiveReplication): any; export declare function filestoreInstanceEffectiveReplicationToHclTerraform(struct?: FilestoreInstanceEffectiveReplication): any; export declare class FilestoreInstanceEffectiveReplicationOutputReference 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(): FilestoreInstanceEffectiveReplication | undefined; set internalValue(value: FilestoreInstanceEffectiveReplication | undefined); private _replicas; get replicas(): FilestoreInstanceEffectiveReplicationReplicasList; } export declare class FilestoreInstanceEffectiveReplicationList 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): FilestoreInstanceEffectiveReplicationOutputReference; } export interface FilestoreInstanceFileSharesNfsExportOptions { /** * Either READ_ONLY, for allowing only read requests on the exported directory, * or READ_WRITE, for allowing both read and write requests. The default is READ_WRITE. Default value: "READ_WRITE" Possible values: ["READ_ONLY", "READ_WRITE"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#access_mode FilestoreInstance#access_mode} */ readonly accessMode?: string; /** * An integer representing the anonymous group id with a default value of 65534. * Anon_gid may only be set with squashMode of ROOT_SQUASH. An error will be returned * if this field is specified for other squashMode settings. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#anon_gid FilestoreInstance#anon_gid} */ readonly anonGid?: number; /** * An integer representing the anonymous user id with a default value of 65534. * Anon_uid may only be set with squashMode of ROOT_SQUASH. An error will be returned * if this field is specified for other squashMode settings. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#anon_uid FilestoreInstance#anon_uid} */ readonly anonUid?: number; /** * List of either IPv4 addresses, or ranges in CIDR notation which may mount the file share. * Overlapping IP ranges are not allowed, both within and across NfsExportOptions. An error will be returned. * The limit is 64 IP ranges/addresses for each FileShareConfig among all NfsExportOptions. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#ip_ranges FilestoreInstance#ip_ranges} */ readonly ipRanges?: string[]; /** * Either NO_ROOT_SQUASH, for allowing root access on the exported directory, or ROOT_SQUASH, * for not allowing root access. The default is NO_ROOT_SQUASH. Default value: "NO_ROOT_SQUASH" Possible values: ["NO_ROOT_SQUASH", "ROOT_SQUASH"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#squash_mode FilestoreInstance#squash_mode} */ readonly squashMode?: string; } export declare function filestoreInstanceFileSharesNfsExportOptionsToTerraform(struct?: FilestoreInstanceFileSharesNfsExportOptions | cdktf.IResolvable): any; export declare function filestoreInstanceFileSharesNfsExportOptionsToHclTerraform(struct?: FilestoreInstanceFileSharesNfsExportOptions | cdktf.IResolvable): any; export declare class FilestoreInstanceFileSharesNfsExportOptionsOutputReference 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(): FilestoreInstanceFileSharesNfsExportOptions | cdktf.IResolvable | undefined; set internalValue(value: FilestoreInstanceFileSharesNfsExportOptions | cdktf.IResolvable | undefined); private _accessMode?; get accessMode(): string; set accessMode(value: string); resetAccessMode(): void; get accessModeInput(): string | undefined; private _anonGid?; get anonGid(): number; set anonGid(value: number); resetAnonGid(): void; get anonGidInput(): number | undefined; private _anonUid?; get anonUid(): number; set anonUid(value: number); resetAnonUid(): void; get anonUidInput(): number | undefined; private _ipRanges?; get ipRanges(): string[]; set ipRanges(value: string[]); resetIpRanges(): void; get ipRangesInput(): string[] | undefined; private _squashMode?; get squashMode(): string; set squashMode(value: string); resetSquashMode(): void; get squashModeInput(): string | undefined; } export declare class FilestoreInstanceFileSharesNfsExportOptionsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: FilestoreInstanceFileSharesNfsExportOptions[] | 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): FilestoreInstanceFileSharesNfsExportOptionsOutputReference; } export interface FilestoreInstanceFileShares { /** * File share capacity in GiB. This must be at least 1024 GiB * for the standard tier, or 2560 GiB for the premium tier. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#capacity_gb FilestoreInstance#capacity_gb} */ readonly capacityGb: number; /** * The name of the fileshare (16 characters or less) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#name FilestoreInstance#name} */ readonly name: string; /** * The resource name of the backup, in the format * projects/{projectId}/locations/{locationId}/backups/{backupId}, * that this file share has been restored from. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#source_backup FilestoreInstance#source_backup} */ readonly sourceBackup?: string; /** * nfs_export_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#nfs_export_options FilestoreInstance#nfs_export_options} */ readonly nfsExportOptions?: FilestoreInstanceFileSharesNfsExportOptions[] | cdktf.IResolvable; } export declare function filestoreInstanceFileSharesToTerraform(struct?: FilestoreInstanceFileSharesOutputReference | FilestoreInstanceFileShares): any; export declare function filestoreInstanceFileSharesToHclTerraform(struct?: FilestoreInstanceFileSharesOutputReference | FilestoreInstanceFileShares): any; export declare class FilestoreInstanceFileSharesOutputReference 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(): FilestoreInstanceFileShares | undefined; set internalValue(value: FilestoreInstanceFileShares | undefined); private _capacityGb?; get capacityGb(): number; set capacityGb(value: number); get capacityGbInput(): number | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _sourceBackup?; get sourceBackup(): string; set sourceBackup(value: string); resetSourceBackup(): void; get sourceBackupInput(): string | undefined; private _nfsExportOptions; get nfsExportOptions(): FilestoreInstanceFileSharesNfsExportOptionsList; putNfsExportOptions(value: FilestoreInstanceFileSharesNfsExportOptions[] | cdktf.IResolvable): void; resetNfsExportOptions(): void; get nfsExportOptionsInput(): cdktf.IResolvable | FilestoreInstanceFileSharesNfsExportOptions[] | undefined; } export interface FilestoreInstanceInitialReplicationReplicas { /** * The peer instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#peer_instance FilestoreInstance#peer_instance} */ readonly peerInstance: string; } export declare function filestoreInstanceInitialReplicationReplicasToTerraform(struct?: FilestoreInstanceInitialReplicationReplicas | cdktf.IResolvable): any; export declare function filestoreInstanceInitialReplicationReplicasToHclTerraform(struct?: FilestoreInstanceInitialReplicationReplicas | cdktf.IResolvable): any; export declare class FilestoreInstanceInitialReplicationReplicasOutputReference 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(): FilestoreInstanceInitialReplicationReplicas | cdktf.IResolvable | undefined; set internalValue(value: FilestoreInstanceInitialReplicationReplicas | cdktf.IResolvable | undefined); private _peerInstance?; get peerInstance(): string; set peerInstance(value: string); get peerInstanceInput(): string | undefined; } export declare class FilestoreInstanceInitialReplicationReplicasList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: FilestoreInstanceInitialReplicationReplicas[] | 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): FilestoreInstanceInitialReplicationReplicasOutputReference; } export interface FilestoreInstanceInitialReplication { /** * The replication role. Default value: "STANDBY" Possible values: ["ROLE_UNSPECIFIED", "ACTIVE", "STANDBY"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#role FilestoreInstance#role} */ readonly role?: string; /** * replicas block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#replicas FilestoreInstance#replicas} */ readonly replicas?: FilestoreInstanceInitialReplicationReplicas[] | cdktf.IResolvable; } export declare function filestoreInstanceInitialReplicationToTerraform(struct?: FilestoreInstanceInitialReplicationOutputReference | FilestoreInstanceInitialReplication): any; export declare function filestoreInstanceInitialReplicationToHclTerraform(struct?: FilestoreInstanceInitialReplicationOutputReference | FilestoreInstanceInitialReplication): any; export declare class FilestoreInstanceInitialReplicationOutputReference 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(): FilestoreInstanceInitialReplication | undefined; set internalValue(value: FilestoreInstanceInitialReplication | undefined); private _role?; get role(): string; set role(value: string); resetRole(): void; get roleInput(): string | undefined; private _replicas; get replicas(): FilestoreInstanceInitialReplicationReplicasList; putReplicas(value: FilestoreInstanceInitialReplicationReplicas[] | cdktf.IResolvable): void; resetReplicas(): void; get replicasInput(): cdktf.IResolvable | FilestoreInstanceInitialReplicationReplicas[] | undefined; } export interface FilestoreInstanceNetworks { /** * The network connect mode of the Filestore instance. * If not provided, the connect mode defaults to * DIRECT_PEERING. Default value: "DIRECT_PEERING" Possible values: ["DIRECT_PEERING", "PRIVATE_SERVICE_ACCESS"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#connect_mode FilestoreInstance#connect_mode} */ readonly connectMode?: string; /** * IP versions for which the instance has * IP addresses assigned. Possible values: ["ADDRESS_MODE_UNSPECIFIED", "MODE_IPV4", "MODE_IPV6"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#modes FilestoreInstance#modes} */ readonly modes: string[]; /** * The name of the GCE VPC network to which the * instance is connected. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#network FilestoreInstance#network} */ readonly network: string; /** * A /29 CIDR block that identifies the range of IP * addresses reserved for this instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#reserved_ip_range FilestoreInstance#reserved_ip_range} */ readonly reservedIpRange?: string; } export declare function filestoreInstanceNetworksToTerraform(struct?: FilestoreInstanceNetworks | cdktf.IResolvable): any; export declare function filestoreInstanceNetworksToHclTerraform(struct?: FilestoreInstanceNetworks | cdktf.IResolvable): any; export declare class FilestoreInstanceNetworksOutputReference 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(): FilestoreInstanceNetworks | cdktf.IResolvable | undefined; set internalValue(value: FilestoreInstanceNetworks | cdktf.IResolvable | undefined); private _connectMode?; get connectMode(): string; set connectMode(value: string); resetConnectMode(): void; get connectModeInput(): string | undefined; get ipAddresses(): string[]; private _modes?; get modes(): string[]; set modes(value: string[]); get modesInput(): string[] | undefined; private _network?; get network(): string; set network(value: string); get networkInput(): string | undefined; private _reservedIpRange?; get reservedIpRange(): string; set reservedIpRange(value: string); resetReservedIpRange(): void; get reservedIpRangeInput(): string | undefined; } export declare class FilestoreInstanceNetworksList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: FilestoreInstanceNetworks[] | 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): FilestoreInstanceNetworksOutputReference; } export interface FilestoreInstancePerformanceConfigFixedIops { /** * The number of IOPS to provision for the instance. * max_iops must be in multiple of 1000. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#max_iops FilestoreInstance#max_iops} */ readonly maxIops?: number; } export declare function filestoreInstancePerformanceConfigFixedIopsToTerraform(struct?: FilestoreInstancePerformanceConfigFixedIopsOutputReference | FilestoreInstancePerformanceConfigFixedIops): any; export declare function filestoreInstancePerformanceConfigFixedIopsToHclTerraform(struct?: FilestoreInstancePerformanceConfigFixedIopsOutputReference | FilestoreInstancePerformanceConfigFixedIops): any; export declare class FilestoreInstancePerformanceConfigFixedIopsOutputReference 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(): FilestoreInstancePerformanceConfigFixedIops | undefined; set internalValue(value: FilestoreInstancePerformanceConfigFixedIops | undefined); private _maxIops?; get maxIops(): number; set maxIops(value: number); resetMaxIops(): void; get maxIopsInput(): number | undefined; } export interface FilestoreInstancePerformanceConfigIopsPerTb { /** * The instance max IOPS will be calculated by multiplying * the capacity of the instance (TB) by max_iops_per_tb, * and rounding to the nearest 1000. The instance max IOPS * will be changed dynamically based on the instance * capacity. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#max_iops_per_tb FilestoreInstance#max_iops_per_tb} */ readonly maxIopsPerTb?: number; } export declare function filestoreInstancePerformanceConfigIopsPerTbToTerraform(struct?: FilestoreInstancePerformanceConfigIopsPerTbOutputReference | FilestoreInstancePerformanceConfigIopsPerTb): any; export declare function filestoreInstancePerformanceConfigIopsPerTbToHclTerraform(struct?: FilestoreInstancePerformanceConfigIopsPerTbOutputReference | FilestoreInstancePerformanceConfigIopsPerTb): any; export declare class FilestoreInstancePerformanceConfigIopsPerTbOutputReference 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(): FilestoreInstancePerformanceConfigIopsPerTb | undefined; set internalValue(value: FilestoreInstancePerformanceConfigIopsPerTb | undefined); private _maxIopsPerTb?; get maxIopsPerTb(): number; set maxIopsPerTb(value: number); resetMaxIopsPerTb(): void; get maxIopsPerTbInput(): number | undefined; } export interface FilestoreInstancePerformanceConfig { /** * fixed_iops block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#fixed_iops FilestoreInstance#fixed_iops} */ readonly fixedIops?: FilestoreInstancePerformanceConfigFixedIops; /** * iops_per_tb block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#iops_per_tb FilestoreInstance#iops_per_tb} */ readonly iopsPerTb?: FilestoreInstancePerformanceConfigIopsPerTb; } export declare function filestoreInstancePerformanceConfigToTerraform(struct?: FilestoreInstancePerformanceConfigOutputReference | FilestoreInstancePerformanceConfig): any; export declare function filestoreInstancePerformanceConfigToHclTerraform(struct?: FilestoreInstancePerformanceConfigOutputReference | FilestoreInstancePerformanceConfig): any; export declare class FilestoreInstancePerformanceConfigOutputReference 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(): FilestoreInstancePerformanceConfig | undefined; set internalValue(value: FilestoreInstancePerformanceConfig | undefined); private _fixedIops; get fixedIops(): FilestoreInstancePerformanceConfigFixedIopsOutputReference; putFixedIops(value: FilestoreInstancePerformanceConfigFixedIops): void; resetFixedIops(): void; get fixedIopsInput(): FilestoreInstancePerformanceConfigFixedIops | undefined; private _iopsPerTb; get iopsPerTb(): FilestoreInstancePerformanceConfigIopsPerTbOutputReference; putIopsPerTb(value: FilestoreInstancePerformanceConfigIopsPerTb): void; resetIopsPerTb(): void; get iopsPerTbInput(): FilestoreInstancePerformanceConfigIopsPerTb | undefined; } export interface FilestoreInstanceTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#create FilestoreInstance#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#delete FilestoreInstance#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#update FilestoreInstance#update} */ readonly update?: string; } export declare function filestoreInstanceTimeoutsToTerraform(struct?: FilestoreInstanceTimeouts | cdktf.IResolvable): any; export declare function filestoreInstanceTimeoutsToHclTerraform(struct?: FilestoreInstanceTimeouts | cdktf.IResolvable): any; export declare class FilestoreInstanceTimeoutsOutputReference 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(): FilestoreInstanceTimeouts | cdktf.IResolvable | undefined; set internalValue(value: FilestoreInstanceTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string | undefined; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string | undefined; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string | undefined; } /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance google_filestore_instance} */ export declare class FilestoreInstance extends cdktf.TerraformResource { static readonly tfResourceType = "google_filestore_instance"; /** * Generates CDKTF code for importing a FilestoreInstance 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 FilestoreInstance to import * @param importFromId The id of the existing FilestoreInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/filestore_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the FilestoreInstance 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/hashicorp/google/6.36.0/docs/resources/filestore_instance google_filestore_instance} 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 FilestoreInstanceConfig */ constructor(scope: Construct, id: string, config: FilestoreInstanceConfig); get createTime(): string; private _deletionProtectionEnabled?; get deletionProtectionEnabled(): boolean | cdktf.IResolvable; set deletionProtectionEnabled(value: boolean | cdktf.IResolvable); resetDeletionProtectionEnabled(): void; get deletionProtectionEnabledInput(): boolean | cdktf.IResolvable | undefined; private _deletionProtectionReason?; get deletionProtectionReason(): string; set deletionProtectionReason(value: string); resetDeletionProtectionReason(): void; get deletionProtectionReasonInput(): string | undefined; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; private _effectiveLabels; get effectiveLabels(): cdktf.StringMap; private _effectiveReplication; get effectiveReplication(): FilestoreInstanceEffectiveReplicationList; get etag(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _kmsKeyName?; get kmsKeyName(): string; set kmsKeyName(value: string); resetKmsKeyName(): void; get kmsKeyNameInput(): string | undefined; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; } | undefined; private _location?; get location(): string; set location(value: string); resetLocation(): void; get locationInput(): string | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; private _protocol?; get protocol(): string; set protocol(value: string); resetProtocol(): void; get protocolInput(): string | undefined; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; } | undefined; private _terraformLabels; get terraformLabels(): cdktf.StringMap; private _tier?; get tier(): string; set tier(value: string); get tierInput(): string | undefined; private _zone?; get zone(): string; set zone(value: string); resetZone(): void; get zoneInput(): string | undefined; private _fileShares; get fileShares(): FilestoreInstanceFileSharesOutputReference; putFileShares(value: FilestoreInstanceFileShares): void; get fileSharesInput(): FilestoreInstanceFileShares | undefined; private _initialReplication; get initialReplication(): FilestoreInstanceInitialReplicationOutputReference; putInitialReplication(value: FilestoreInstanceInitialReplication): void; resetInitialReplication(): void; get initialReplicationInput(): FilestoreInstanceInitialReplication | undefined; private _networks; get networks(): FilestoreInstanceNetworksList; putNetworks(value: FilestoreInstanceNetworks[] | cdktf.IResolvable): void; get networksInput(): cdktf.IResolvable | FilestoreInstanceNetworks[] | undefined; private _performanceConfig; get performanceConfig(): FilestoreInstancePerformanceConfigOutputReference; putPerformanceConfig(value: FilestoreInstancePerformanceConfig): void; resetPerformanceConfig(): void; get performanceConfigInput(): FilestoreInstancePerformanceConfig | undefined; private _timeouts; get timeouts(): FilestoreInstanceTimeoutsOutputReference; putTimeouts(value: FilestoreInstanceTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | FilestoreInstanceTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }