export interface Tag {
    /** A value that specifies the TagKey, the name of the tag. Tag keys must be unique for the resource to which they are attached. */
    Key: string;
    /** A value that specifies the TagValue, the value assigned to the corresponding tag key. Tag values can be null and don't have to be unique in a tag set. For example, you can have a key-value pair in a t */
    Value: string;
}
export interface OpenZFSFileSystemIdentity {
    /** Specifies the FSx for OpenZFS user identity type, accepts only POSIX. */
    Type: 'POSIX';
    /** Specifies the UID and GIDs of the file system POSIX user. */
    PosixUser?: any;
}
export interface CreateAndAttachS3AccessPointOpenZFSConfiguration {
    /** The ID of the FSx for OpenZFS volume to which you want the S3 access point attached. */
    VolumeId: string;
    /** Specifies the file system user identity to use for authorizing file read and write requests that are made using this S3 access point. */
    FileSystemIdentity: OpenZFSFileSystemIdentity;
}
export interface OntapFileSystemIdentity {
    /** Specifies the FSx for ONTAP user identity type. Valid values are UNIX and WINDOWS. */
    Type: 'UNIX' | 'WINDOWS';
    /** Specifies the UNIX user identity for file system operations. */
    UnixUser?: any;
    /** Specifies the Windows user identity for file system operations. */
    WindowsUser?: any;
}
export interface CreateAndAttachS3AccessPointOntapConfiguration {
    /** The ID of the FSx for ONTAP volume to which you want the S3 access point attached. */
    VolumeId: string;
    /** Specifies the file system user identity to use for authorizing file read and write requests that are made using this S3 access point. */
    FileSystemIdentity: OntapFileSystemIdentity;
}
export interface S3AccessPointVpcConfiguration {
    /** Specifies the virtual private cloud (VPC) for the S3 access point VPC configuration, if one exists. */
    VpcId?: string;
}
export interface CreateAndAttachS3AccessPointS3Configuration {
    /** If included, Amazon S3 restricts access to this S3 access point to requests made from the specified virtual private cloud (VPC). */
    VpcConfiguration?: S3AccessPointVpcConfiguration;
    /** Specifies an access policy to associate with the S3 access point configuration. For more information, see Configuring IAM policies for using access points in the Amazon Simple Storage Service User Gui */
    Policy?: string;
}
export interface AutoImportPolicy {
    /** The AutoImportPolicy can have the following event values: NEW - Amazon FSx automatically imports metadata of files added to the linked S3 bucket that do not currently exist in the FSx file system. CHA */
    Events?: any[];
}
export interface AutoExportPolicy {
    /** The AutoExportPolicy can have the following event values: NEW - New files and directories are automatically exported to the data repository as they are added to the file system. CHANGED - Changes to f */
    Events?: any[];
}
export interface S3DataRepositoryConfiguration {
    /** Specifies the type of updated objects (new, changed, deleted) that will be automatically imported from the linked S3 bucket to your file system. */
    AutoImportPolicy?: AutoImportPolicy;
    /** Specifies the type of updated objects (new, changed, deleted) that will be automatically exported from your file system to the linked S3 bucket. */
    AutoExportPolicy?: AutoExportPolicy;
}
export interface CompletionReport {
    /** Set Enabled to True to generate a CompletionReport when the task completes. If set to true, then you need to provide a report Scope, Path, and Format. Set Enabled to False if you do not want a Complet */
    Enabled: boolean;
    /** Required if Enabled is set to true. Specifies the location of the report on the file system's linked S3 data repository. An absolute path that defines where the completion report will be stored in the */
    Path?: string;
    /** Required if Enabled is set to true. Specifies the format of the CompletionReport. REPORT_CSV_20191124 is the only format currently supported. When Format is set to REPORT_CSV_20191124, the CompletionR */
    Format?: 'REPORT_CSV_20191124';
    /** Required if Enabled is set to true. Specifies the scope of the CompletionReport; FAILED_FILES_ONLY is the only scope currently supported. When Scope is set to FAILED_FILES_ONLY, the CompletionReport o */
    Scope?: 'FAILED_FILES_ONLY';
}
export interface DurationSinceLastAccess {
    /** The unit of time used by the Value parameter to determine if a file can be released, based on when it was last accessed. DAYS is the only supported value. This is a required parameter. */
    Unit?: 'DAYS';
    /** An integer that represents the minimum amount of time (in days) since a file was last accessed in the file system. Only exported files with a MAX(atime, ctime, mtime) timestamp that is more than this  */
    Value?: number;
}
export interface ReleaseConfiguration {
    /** Defines the point-in-time since an exported file was last accessed, in order for that file to be eligible for release. Only files that were last accessed before this point-in-time are eligible to be r */
    DurationSinceLastAccess?: DurationSinceLastAccess;
}
export interface FileCacheLustreMetadataConfiguration {
    /** The storage capacity of the Lustre MDT (Metadata Target) storage volume in gibibytes (GiB). The only supported value is 2400 GiB. */
    StorageCapacity: number;
}
export interface CreateFileCacheLustreConfiguration {
    /** Provisions the amount of read and write throughput for each 1 tebibyte (TiB) of cache storage capacity, in MB/s/TiB. The only supported value is 1000. */
    PerUnitStorageThroughput: number;
    /** Specifies the cache deployment type, which must be CACHE_1. */
    DeploymentType: 'CACHE_1';
    WeeklyMaintenanceStartTime?: string;
    /** The configuration for a Lustre MDT (Metadata Target) storage volume. */
    MetadataConfiguration: FileCacheLustreMetadataConfiguration;
}
export interface FileCacheDataRepositoryAssociation {
    /** A path on the cache that points to a high-level directory (such as /ns1/) or subdirectory (such as /ns1/subdir/) that will be mapped 1-1 with DataRepositoryPath. The leading forward slash in the name  */
    FileCachePath: string;
    /** The path to the S3 or NFS data repository that links to the cache. You must provide one of the following paths: The path can be an NFS data repository that links to the cache. The path can be in one o */
    DataRepositoryPath: string;
    /** A list of NFS Exports that will be linked with this data repository association. The Export paths are in the format /exportpath1. To use this parameter, you must configure DataRepositoryPath as the do */
    DataRepositorySubdirectories?: any[];
    /** The configuration for a data repository association that links an Amazon File Cache resource to an NFS data repository. */
    NFS?: any;
}
export interface SelfManagedActiveDirectoryConfiguration {
    /** The fully qualified domain name of the self-managed AD directory, such as corp.example.com. */
    DomainName: string;
    /** (Optional) The fully qualified distinguished name of the organizational unit within your self-managed AD directory. Amazon FSx only accepts OU as the direct parent of the file system. An example is OU */
    OrganizationalUnitDistinguishedName?: string;
    /** (Optional) The name of the domain group whose members are granted administrative privileges for the file system. Administrative privileges include taking ownership of files and folders, setting audit  */
    FileSystemAdministratorsGroup?: string;
    /** The user name for the service account on your self-managed AD domain that Amazon FSx will use to join to your AD domain. This account must have the permission to join computers to the domain in the or */
    UserName?: string;
    /** The password for the service account on your self-managed AD domain that Amazon FSx will use to join to your AD domain. */
    Password?: string;
    /** A list of up to three IP addresses of DNS servers or domain controllers in the self-managed AD directory. */
    DnsIps: any[];
    /** The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret containing the self-managed Active Directory domain join service account credentials. When provided, Amazon FSx uses th */
    DomainJoinServiceAccountSecret?: string;
}
export interface WindowsAuditLogCreateConfiguration {
    /** Sets which attempt type is logged by Amazon FSx for file and folder accesses. SUCCESS_ONLY - only successful attempts to access files or folders are logged. FAILURE_ONLY - only failed attempts to acce */
    FileAccessAuditLogLevel: 'DISABLED' | 'SUCCESS_ONLY' | 'FAILURE_ONLY' | 'SUCCESS_AND_FAILURE';
    /** Sets which attempt type is logged by Amazon FSx for file share accesses. SUCCESS_ONLY - only successful attempts to access file shares are logged. FAILURE_ONLY - only failed attempts to access file sh */
    FileShareAccessAuditLogLevel: 'DISABLED' | 'SUCCESS_ONLY' | 'FAILURE_ONLY' | 'SUCCESS_AND_FAILURE';
    /** The Amazon Resource Name (ARN) that specifies the destination of the audit logs. The destination can be any Amazon CloudWatch Logs log group ARN or Amazon Kinesis Data Firehose delivery stream ARN, wi */
    AuditLogDestination?: string;
}
export interface DiskIopsConfiguration {
    /** Specifies whether the file system is using the AUTOMATIC setting of SSD IOPS of 3 IOPS per GB of storage capacity, or if it using a USER_PROVISIONED value. */
    Mode?: 'AUTOMATIC' | 'USER_PROVISIONED';
    /** The total number of SSD IOPS provisioned for the file system. The minimum and maximum values for this property depend on the value of HAPairs and StorageCapacity. The minimum value is calculated as St */
    Iops?: number;
}
export interface WindowsFsrmConfiguration {
    /** Specifies whether FSRM is enabled or disabled on the file system. When TRUE, the FSRM service is enabled and monitor file operations according to configured policies. When FALSE or omitted, FSRM is di */
    FsrmServiceEnabled: boolean;
    /** The Amazon Resource Name (ARN) for the destination of the FSRM event logs. The destination can be any Amazon CloudWatch Logs log group ARN or Amazon Kinesis Data Firehose delivery stream ARN. The name */
    EventLogDestination?: string;
}
export interface CreateFileSystemWindowsConfiguration {
    /** The ID for an existing Amazon Web Services Managed Microsoft Active Directory (AD) instance that the file system should join when it's created. */
    ActiveDirectoryId?: string;
    SelfManagedActiveDirectoryConfiguration?: SelfManagedActiveDirectoryConfiguration;
    /** Specifies the file system deployment type, valid values are the following: MULTI_AZ_1 - Deploys a high availability file system that is configured for Multi-AZ redundancy to tolerate temporary Availab */
    DeploymentType?: 'MULTI_AZ_1' | 'SINGLE_AZ_1' | 'SINGLE_AZ_2';
    /** Required when DeploymentType is set to MULTI_AZ_1. This specifies the subnet in which you want the preferred file server to be located. For in-Amazon Web Services applications, we recommend that you l */
    PreferredSubnetId?: string;
    /** Sets the throughput capacity of an Amazon FSx file system, measured in megabytes per second (MB/s), in 2 to the nth increments, between 2^3 (8) and 2^11 (2048). */
    ThroughputCapacity: number;
    /** The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday. */
    WeeklyMaintenanceStartTime?: string;
    /** The preferred time to take daily automatic backups, formatted HH:MM in the UTC time zone. */
    DailyAutomaticBackupStartTime?: string;
    /** The number of days to retain automatic backups. Setting this property to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. The default is 30. */
    AutomaticBackupRetentionDays?: number;
    /** A boolean flag indicating whether tags for the file system should be copied to backups. This value defaults to false. If it's set to true, all tags for the file system are copied to all automatic and  */
    CopyTagsToBackups?: boolean;
    /** An array of one or more DNS alias names that you want to associate with the Amazon FSx file system. Aliases allow you to use existing DNS names to access the data in your Amazon FSx file system. You c */
    Aliases?: string[];
    /** The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system. */
    AuditLogConfiguration?: WindowsAuditLogCreateConfiguration;
    /** The SSD IOPS (input/output operations per second) configuration for an Amazon FSx for Windows file system. By default, Amazon FSx automatically provisions 3 IOPS per GiB of storage capacity. You can p */
    DiskIopsConfiguration?: DiskIopsConfiguration;
    /** The File Server Resource Manager (FSRM) configuration that Amazon FSx for Windows File Server uses for the file system. FSRM is disabled by default. */
    FsrmConfiguration?: WindowsFsrmConfiguration;
}
export interface LustreLogCreateConfiguration {
    /** Sets which data repository events are logged by Amazon FSx. WARN_ONLY - only warning events are logged. ERROR_ONLY - only error events are logged. WARN_ERROR - both warning events and error events are */
    Level: 'DISABLED' | 'WARN_ONLY' | 'ERROR_ONLY' | 'WARN_ERROR';
    /** The Amazon Resource Name (ARN) that specifies the destination of the logs. The destination can be any Amazon CloudWatch Logs log group ARN, with the following requirements: The destination ARN that yo */
    Destination?: string;
}
export interface LustreRootSquashConfiguration {
    /** You enable root squash by setting a user ID (UID) and group ID (GID) for the file system in the format UID:GID (for example, 365534:65534). The UID and GID values can range from 0 to 4294967294: A non */
    RootSquash?: string;
    /** When root squash is enabled, you can optionally specify an array of NIDs of clients for which root squash does not apply. A client NID is a Lustre Network Identifier used to uniquely identify a client */
    NoSquashNids?: any[];
}
export interface CreateFileSystemLustreMetadataConfiguration {
    /** (USER_PROVISIONED mode only) Specifies the number of Metadata IOPS to provision for the file system. This parameter sets the maximum rate of metadata disk IOPS supported by the file system. For SSD fi */
    Iops?: number;
    /** The metadata configuration mode for provisioning Metadata IOPS for an FSx for Lustre file system using a PERSISTENT_2 deployment type. In AUTOMATIC mode (supported only on SSD file systems), FSx for L */
    Mode: 'AUTOMATIC' | 'USER_PROVISIONED';
}
export interface LustreReadCacheConfiguration {
    /** Specifies how the provisioned SSD read cache is sized, as follows: Set to NO_CACHE if you do not want to use an SSD read cache with your Intelligent-Tiering file system. Set to USER_PROVISIONED to spe */
    SizingMode?: 'NO_CACHE' | 'USER_PROVISIONED' | 'PROPORTIONAL_TO_THROUGHPUT_CAPACITY';
    /** Required if SizingMode is set to USER_PROVISIONED. Specifies the size of the file system's SSD read cache, in gibibytes (GiB). The SSD read cache size is distributed across provisioned file servers in */
    SizeGiB?: number;
}
export interface CreateFileSystemLustreConfiguration {
    /** (Optional) The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday */
    WeeklyMaintenanceStartTime?: string;
    /** (Optional) The path to the Amazon S3 bucket (including the optional prefix) that you're using as the data repository for your Amazon FSx for Lustre file system. The root of your FSx for Lustre file sy */
    ImportPath?: string;
    /** (Optional) Specifies the path in the Amazon S3 bucket where the root of your Amazon FSx file system is exported. The path must use the same Amazon S3 bucket as specified in ImportPath. You can provide */
    ExportPath?: string;
    /** (Optional) For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks  */
    ImportedFileChunkSize?: number;
    /** (Optional) Choose SCRATCH_1 and SCRATCH_2 deployment types when you need temporary storage and shorter-term processing of data. The SCRATCH_2 deployment type provides in-transit encryption of data and */
    DeploymentType?: 'SCRATCH_1' | 'SCRATCH_2' | 'PERSISTENT_1' | 'PERSISTENT_2';
    /** (Optional) When you create your file system, your existing S3 objects appear as file and directory listings. Use this parameter to choose how Amazon FSx keeps your file and directory listings up to da */
    AutoImportPolicy?: 'NONE' | 'NEW' | 'NEW_CHANGED' | 'NEW_CHANGED_DELETED';
    /** Required with PERSISTENT_1 and PERSISTENT_2 deployment types using an SSD or HDD storage class, provisions the amount of read and write throughput for each 1 tebibyte (TiB) of file system storage capa */
    PerUnitStorageThroughput?: number;
    DailyAutomaticBackupStartTime?: string;
    /** The number of days to retain automatic backups. Setting this property to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. The default is 0. */
    AutomaticBackupRetentionDays?: number;
    /** (Optional) Not available for use with file systems that are linked to a data repository. A boolean flag indicating whether tags for the file system should be copied to backups. The default value is fa */
    CopyTagsToBackups?: boolean;
    /** The type of drive cache used by PERSISTENT_1 file systems that are provisioned with HDD storage devices. This parameter is required when storage type is HDD. Set this property to READ to improve the p */
    DriveCacheType?: 'NONE' | 'READ';
    /** Sets the data compression configuration for the file system. DataCompressionType can have the following values: NONE - (Default) Data compression is turned off when the file system is created. LZ4 - D */
    DataCompressionType?: 'NONE' | 'LZ4';
    /** (Optional) Specifies whether Elastic Fabric Adapter (EFA) and GPUDirect Storage (GDS) support is enabled for the Amazon FSx for Lustre file system. (Default = false) */
    EfaEnabled?: boolean;
    /** The Lustre logging configuration used when creating an Amazon FSx for Lustre file system. When logging is enabled, Lustre logs error and warning events for data repositories associated with your file  */
    LogConfiguration?: LustreLogCreateConfiguration;
    /** The Lustre root squash configuration used when creating an Amazon FSx for Lustre file system. When enabled, root squash restricts root-level access from clients that try to access your file system as  */
    RootSquashConfiguration?: LustreRootSquashConfiguration;
    /** The Lustre metadata performance configuration for the creation of an FSx for Lustre file system using a PERSISTENT_2 deployment type. */
    MetadataConfiguration?: CreateFileSystemLustreMetadataConfiguration;
    /** Specifies the throughput of an FSx for Lustre file system using the Intelligent-Tiering storage class, measured in megabytes per second (MBps). Valid values are 4000 MBps or multiples of 4000 MBps. Yo */
    ThroughputCapacity?: number;
    /** Specifies the optional provisioned SSD read cache on FSx for Lustre file systems that use the Intelligent-Tiering storage class. Required when StorageType is set to INTELLIGENT_TIERING. */
    DataReadCacheConfiguration?: LustreReadCacheConfiguration;
}
export interface CreateFileSystemOntapConfiguration {
    AutomaticBackupRetentionDays?: number;
    DailyAutomaticBackupStartTime?: string;
    /** Specifies the FSx for ONTAP file system deployment type to use in creating the file system. MULTI_AZ_1 - A high availability file system configured for Multi-AZ redundancy to tolerate temporary Availa */
    DeploymentType: 'MULTI_AZ_1' | 'SINGLE_AZ_1' | 'SINGLE_AZ_2' | 'MULTI_AZ_2';
    /** (Multi-AZ only) Specifies the IPv4 address range in which the endpoints to access your file system will be created. By default in the Amazon FSx API, Amazon FSx selects an unused IP address range for  */
    EndpointIpAddressRange?: string;
    /** The ONTAP administrative password for the fsxadmin user with which you administer your file system using the NetApp ONTAP CLI and REST API. */
    FsxAdminPassword?: string;
    /** The SSD IOPS configuration for the FSx for ONTAP file system. */
    DiskIopsConfiguration?: DiskIopsConfiguration;
    /** Required when DeploymentType is set to MULTI_AZ_1 or MULTI_AZ_2. This specifies the subnet in which you want the preferred file server to be located. */
    PreferredSubnetId?: string;
    /** (Multi-AZ only) Specifies the route tables in which Amazon FSx creates the rules for routing traffic to the correct file server. You should specify all virtual private cloud (VPC) route tables associa */
    RouteTableIds?: string[];
    /** Sets the throughput capacity for the file system that you're creating in megabytes per second (MBps). For more information, see Managing throughput capacity in the FSx for ONTAP User Guide. Amazon FSx */
    ThroughputCapacity?: number;
    WeeklyMaintenanceStartTime?: string;
    /** Specifies how many high-availability (HA) pairs of file servers will power your file system. First-generation file systems are powered by 1 HA pair. Second-generation multi-AZ file systems are powered */
    HAPairs?: number;
    /** Use to choose the throughput capacity per HA pair, rather than the total throughput for the file system. You can define either the ThroughputCapacityPerHAPair or the ThroughputCapacity when creating a */
    ThroughputCapacityPerHAPair?: number;
    /** (Multi-AZ only) Specifies the IPv6 address range in which the endpoints to access your file system will be created. By default in the Amazon FSx API and Amazon FSx console, Amazon FSx selects an avail */
    EndpointIpv6AddressRange?: string;
}
export interface OpenZFSCreateRootVolumeConfiguration {
    /** Specifies the record size of an OpenZFS root volume, in kibibytes (KiB). Valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB. The default is 128 KiB. Most workloads should use the default re */
    RecordSizeKiB?: number;
    /** Specifies the method used to compress the data on the volume. The compression type is NONE by default. NONE - Doesn't compress the data on the volume. NONE is the default. ZSTD - Compresses the data i */
    DataCompressionType?: 'NONE' | 'ZSTD' | 'LZ4';
    /** The configuration object for mounting a file system. */
    NfsExports?: any[];
    /** An object specifying how much storage users or groups can use on the volume. */
    UserAndGroupQuotas?: any[];
    /** A Boolean value indicating whether tags for the volume should be copied to snapshots of the volume. This value defaults to false. If it's set to true, all tags for the volume are copied to snapshots w */
    CopyTagsToSnapshots?: boolean;
    /** A Boolean value indicating whether the volume is read-only. Setting this value to true can be useful after you have completed changes to a volume and no longer want changes to occur. */
    ReadOnly?: boolean;
}
export interface OpenZFSReadCacheConfiguration {
    /** Specifies how the provisioned SSD read cache is sized, as follows: Set to NO_CACHE if you do not want to use an SSD read cache with your Intelligent-Tiering file system. Set to USER_PROVISIONED to spe */
    SizingMode?: 'NO_CACHE' | 'USER_PROVISIONED' | 'PROPORTIONAL_TO_THROUGHPUT_CAPACITY';
    /** Required if SizingMode is set to USER_PROVISIONED. Specifies the size of the file system's SSD read cache, in gibibytes (GiB). */
    SizeGiB?: number;
}
export interface CreateFileSystemOpenZFSConfiguration {
    AutomaticBackupRetentionDays?: number;
    /** A Boolean value indicating whether tags for the file system should be copied to backups. This value defaults to false. If it's set to true, all tags for the file system are copied to all automatic and */
    CopyTagsToBackups?: boolean;
    /** A Boolean value indicating whether tags for the file system should be copied to volumes. This value defaults to false. If it's set to true, all tags for the file system are copied to volumes where the */
    CopyTagsToVolumes?: boolean;
    DailyAutomaticBackupStartTime?: string;
    /** Specifies the file system deployment type. Valid values are the following: MULTI_AZ_1- Creates file systems with high availability and durability by replicating your data and supporting failover acros */
    DeploymentType: 'SINGLE_AZ_1' | 'SINGLE_AZ_2' | 'SINGLE_AZ_HA_1' | 'SINGLE_AZ_HA_2' | 'MULTI_AZ_1';
    /** Specifies the throughput of an Amazon FSx for OpenZFS file system, measured in megabytes per second (MBps). Valid values depend on the DeploymentType that you choose, as follows: For MULTI_AZ_1 and SI */
    ThroughputCapacity: number;
    WeeklyMaintenanceStartTime?: string;
    DiskIopsConfiguration?: DiskIopsConfiguration;
    /** The configuration Amazon FSx uses when creating the root value of the Amazon FSx for OpenZFS file system. All volumes are children of the root volume. */
    RootVolumeConfiguration?: OpenZFSCreateRootVolumeConfiguration;
    /** Required when DeploymentType is set to MULTI_AZ_1. This specifies the subnet in which you want the preferred file server to be located. */
    PreferredSubnetId?: string;
    /** (Multi-AZ only) Specifies the IPv4 address range in which the endpoints to access your file system will be created. By default in the Amazon FSx API and Amazon FSx console, Amazon FSx selects an avail */
    EndpointIpAddressRange?: string;
    /** (Multi-AZ only) Specifies the IPv6 address range in which the endpoints to access your file system will be created. By default in the Amazon FSx API and Amazon FSx console, Amazon FSx selects an avail */
    EndpointIpv6AddressRange?: string;
    /** (Multi-AZ only) Specifies the route tables in which Amazon FSx creates the rules for routing traffic to the correct file server. You should specify all virtual private cloud (VPC) route tables associa */
    RouteTableIds?: string[];
    /** Specifies the optional provisioned SSD read cache on file systems that use the Intelligent-Tiering storage class. */
    ReadCacheConfiguration?: OpenZFSReadCacheConfiguration;
}
export interface CreateSvmActiveDirectoryConfiguration {
    /** The NetBIOS name of the Active Directory computer object that will be created for your SVM. */
    NetBiosName: string;
    SelfManagedActiveDirectoryConfiguration?: SelfManagedActiveDirectoryConfiguration;
}
export interface TieringPolicy {
    /** Specifies the number of days that user data in a volume must remain inactive before it is considered "cold" and moved to the capacity pool. Used with the AUTO and SNAPSHOT_ONLY tiering policies. Enter */
    CoolingPeriod?: number;
    /** Specifies the tiering policy used to transition data. Default value is SNAPSHOT_ONLY. SNAPSHOT_ONLY - moves cold snapshots to the capacity pool storage tier. AUTO - moves cold user data and snapshots  */
    Name?: 'SNAPSHOT_ONLY' | 'AUTO' | 'ALL' | 'NONE';
}
export interface CreateSnaplockConfiguration {
    /** Enables or disables the audit log volume for an FSx for ONTAP SnapLock volume. The default value is false. If you set AuditLogVolume to true, the SnapLock volume is created as an audit log volume. The */
    AuditLogVolume?: boolean;
    /** The configuration object for setting the autocommit period of files in an FSx for ONTAP SnapLock volume. */
    AutocommitPeriod?: any;
    /** Enables, disables, or permanently disables privileged delete on an FSx for ONTAP SnapLock Enterprise volume. Enabling privileged delete allows SnapLock administrators to delete WORM files even if they */
    PrivilegedDelete?: 'DISABLED' | 'ENABLED' | 'PERMANENTLY_DISABLED';
    /** Specifies the retention period of an FSx for ONTAP SnapLock volume. */
    RetentionPeriod?: any;
    /** Specifies the retention mode of an FSx for ONTAP SnapLock volume. After it is set, it can't be changed. You can choose one of the following retention modes: COMPLIANCE: Files transitioned to write onc */
    SnaplockType: 'COMPLIANCE' | 'ENTERPRISE';
    /** Enables or disables volume-append mode on an FSx for ONTAP SnapLock volume. Volume-append mode allows you to create WORM-appendable files and write data to them incrementally. The default value is fal */
    VolumeAppendModeEnabled?: boolean;
}
export interface CreateAggregateConfiguration {
    /** Used to specify the names of aggregates on which the volume will be created. */
    Aggregates?: any[];
    /** Used to explicitly set the number of constituents within the FlexGroup per storage aggregate. This field is optional when creating a FlexGroup volume. If unspecified, the default value will be 8. This */
    ConstituentsPerAggregate?: number;
}
export interface CreateOntapVolumeConfiguration {
    /** Specifies the location in the SVM's namespace where the volume is mounted. This parameter is required. The JunctionPath must have a leading forward slash, such as /vol3. */
    JunctionPath?: string;
    /** Specifies the security style for the volume. If a volume's security style is not specified, it is automatically set to the root volume's security style. The security style determines the type of permi */
    SecurityStyle?: 'UNIX' | 'NTFS' | 'MIXED';
    /** Use SizeInBytes instead. Specifies the size of the volume, in megabytes (MB), that you are creating. */
    SizeInMegabytes?: number;
    /** Set to true to enable deduplication, compression, and compaction storage efficiency features on the volume, or set to false to disable them. StorageEfficiencyEnabled is required when creating a RW vol */
    StorageEfficiencyEnabled?: boolean;
    /** Specifies the ONTAP SVM in which to create the volume. */
    StorageVirtualMachineId: string;
    TieringPolicy?: TieringPolicy;
    /** Specifies the type of volume you are creating. Valid values are the following: RW specifies a read/write volume. RW is the default. DP specifies a data-protection volume. A DP volume is read-only and  */
    OntapVolumeType?: 'RW' | 'DP';
    /** Specifies the snapshot policy for the volume. There are three built-in snapshot policies: default: This is the default policy. A maximum of six hourly snapshots taken five minutes past the hour. A max */
    SnapshotPolicy?: string;
    /** A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to false. If it's set to true, all tags for the volume are copied to all automatic and user-initi */
    CopyTagsToBackups?: boolean;
    /** Specifies the SnapLock configuration for an FSx for ONTAP volume. */
    SnaplockConfiguration?: CreateSnaplockConfiguration;
    /** Use to specify the style of an ONTAP volume. FSx for ONTAP offers two styles of volumes that you can use for different purposes, FlexVol and FlexGroup volumes. For more information, see Volume styles  */
    VolumeStyle?: 'FLEXVOL' | 'FLEXGROUP';
    /** Use to specify configuration options for a volume’s storage aggregate or aggregates. */
    AggregateConfiguration?: CreateAggregateConfiguration;
    /** Specifies the configured size of the volume, in bytes. */
    SizeInBytes?: number;
}
export interface CreateOpenZFSOriginSnapshotConfiguration {
    SnapshotARN: string;
    /** Specifies the strategy used when copying data from the snapshot to the new volume. CLONE - The new volume references the data in the origin snapshot. Cloning a snapshot is faster than copying data fro */
    CopyStrategy: 'CLONE' | 'FULL_COPY' | 'INCREMENTAL_COPY';
}
export interface CreateOpenZFSVolumeConfiguration {
    /** The ID of the volume to use as the parent volume of the volume that you are creating. */
    ParentVolumeId: string;
    /** Specifies the amount of storage in gibibytes (GiB) to reserve from the parent volume. Setting StorageCapacityReservationGiB guarantees that the specified amount of storage space on the parent volume w */
    StorageCapacityReservationGiB?: number;
    /** Sets the maximum storage size in gibibytes (GiB) for the volume. You can specify a quota that is larger than the storage on the parent volume. A volume quota limits the amount of storage that the volu */
    StorageCapacityQuotaGiB?: number;
    /** Specifies the suggested block size for a volume in a ZFS dataset, in kibibytes (KiB). For file systems using the Intelligent-Tiering storage class, valid values are 128, 256, 512, 1024, 2048, or 4096  */
    RecordSizeKiB?: number;
    /** Specifies the method used to compress the data on the volume. The compression type is NONE by default. NONE - Doesn't compress the data on the volume. NONE is the default. ZSTD - Compresses the data i */
    DataCompressionType?: 'NONE' | 'ZSTD' | 'LZ4';
    /** A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults to false. If this value is set to true, and you do not specify any tags, all tags for the orig */
    CopyTagsToSnapshots?: boolean;
    /** The configuration object that specifies the snapshot to use as the origin of the data for the volume. */
    OriginSnapshot?: CreateOpenZFSOriginSnapshotConfiguration;
    /** A Boolean value indicating whether the volume is read-only. */
    ReadOnly?: boolean;
    /** The configuration object for mounting a Network File System (NFS) file system. */
    NfsExports?: any[];
    /** Configures how much storage users and groups can use on the volume. */
    UserAndGroupQuotas?: any[];
}
export interface DeleteFileSystemWindowsConfiguration {
    /** By default, Amazon FSx for Windows takes a final backup on your behalf when the DeleteFileSystem operation is invoked. Doing this helps protect you from data loss, and we highly recommend taking the f */
    SkipFinalBackup?: boolean;
    /** A set of tags for your final backup. */
    FinalBackupTags?: any[];
}
export interface DeleteFileSystemLustreConfiguration {
    /** Set SkipFinalBackup to false if you want to take a final backup of the file system you are deleting. By default, Amazon FSx will not take a final backup on your behalf when the DeleteFileSystem operat */
    SkipFinalBackup?: boolean;
    /** Use if SkipFinalBackup is set to false, and you want to apply an array of tags to the final backup. If you have set the file system property CopyTagsToBackups to true, and you specify one or more Fina */
    FinalBackupTags?: any[];
}
export interface DeleteFileSystemOpenZFSConfiguration {
    /** By default, Amazon FSx for OpenZFS takes a final backup on your behalf when the DeleteFileSystem operation is invoked. Doing this helps protect you from data loss, and we highly recommend taking the f */
    SkipFinalBackup?: boolean;
    /** A list of tags to apply to the file system's final backup. */
    FinalBackupTags?: any[];
    /** To delete a file system if there are child volumes present below the root volume, use the string DELETE_CHILD_VOLUMES_AND_SNAPSHOTS. If your file system has child volumes and you don't use this option */
    Options?: 'DELETE_CHILD_VOLUMES_AND_SNAPSHOTS'[];
}
export interface DeleteVolumeOntapConfiguration {
    /** Set to true if you want to skip taking a final backup of the volume you are deleting. */
    SkipFinalBackup?: boolean;
    FinalBackupTags?: any[];
    /** Setting this to true allows a SnapLock administrator to delete an FSx for ONTAP SnapLock Enterprise volume with unexpired write once, read many (WORM) files. The IAM permission fsx:BypassSnaplockEnter */
    BypassSnaplockEnterpriseRetention?: boolean;
}
export interface DeleteVolumeOpenZFSConfiguration {
    /** To delete the volume's child volumes, snapshots, and clones, use the string DELETE_CHILD_VOLUMES_AND_SNAPSHOTS. */
    Options?: 'DELETE_CHILD_VOLUMES_AND_SNAPSHOTS'[];
}
export interface Filter {
    /** The name for this filter. */
    Name?: 'file-system-id' | 'backup-type' | 'file-system-type' | 'volume-id' | 'data-repository-type' | 'file-cache-id' | 'file-cache-type';
    /** The values of the filter. These are all the values for any of the applied filters. */
    Values?: any[];
}
export interface DataRepositoryTaskFilter {
    /** Name of the task property to use in filtering the tasks returned in the response. Use file-system-id to retrieve data repository tasks for specific file systems. Use task-lifecycle to retrieve data re */
    Name?: 'file-system-id' | 'task-lifecycle' | 'data-repository-association-id' | 'file-cache-id';
    /** Use Values to include the specific file system IDs and task lifecycle states for the filters you are using. */
    Values?: any[];
}
export interface S3AccessPointAttachmentsFilter {
    /** The name of the filter. */
    Name?: 'file-system-id' | 'volume-id' | 'type';
    /** The values of the filter. */
    Values?: any[];
}
export interface SnapshotFilter {
    /** The name of the filter to use. You can filter by the file-system-id or by volume-id. */
    Name?: 'file-system-id' | 'volume-id';
    /** The file-system-id or volume-id that you are filtering for. */
    Values?: any[];
}
export interface StorageVirtualMachineFilter {
    /** The name for this filter. */
    Name?: 'file-system-id';
    /** The values of the filter. These are all the values for any of the applied filters. */
    Values?: any[];
}
export interface VolumeFilter {
    /** The name for this filter. */
    Name?: 'file-system-id' | 'storage-virtual-machine-id';
    /** The values of the filter. These are all the values for any of the applied filters. */
    Values?: any[];
}
export interface UpdateFileCacheLustreConfiguration {
    WeeklyMaintenanceStartTime?: string;
}
export interface SelfManagedActiveDirectoryConfigurationUpdates {
    /** Specifies the updated user name for the service account on your self-managed Active Directory domain. Amazon FSx uses this account to join to your self-managed Active Directory domain. This account mu */
    UserName?: string;
    /** Specifies the updated password for the service account on your self-managed Active Directory domain. Amazon FSx uses this account to join to your self-managed Active Directory domain. */
    Password?: string;
    /** A list of up to three DNS server or domain controller IP addresses in your self-managed Active Directory domain. */
    DnsIps?: any[];
    /** Specifies an updated fully qualified domain name of your self-managed Active Directory configuration. */
    DomainName?: string;
    /** Specifies an updated fully qualified distinguished name of the organization unit within your self-managed Active Directory. */
    OrganizationalUnitDistinguishedName?: string;
    /** For FSx for ONTAP file systems only - Specifies the updated name of the self-managed Active Directory domain group whose members are granted administrative privileges for the Amazon FSx resource. */
    FileSystemAdministratorsGroup?: string;
    /** Specifies the updated Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager secret containing the self-managed Active Directory domain join service account credentials. Amazon FSx uses */
    DomainJoinServiceAccountSecret?: string;
}
export interface UpdateFileSystemWindowsConfiguration {
    /** The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. Where d is the weekday number, from 1 through 7, with 1 = Monday and 7 = Sunday. */
    WeeklyMaintenanceStartTime?: string;
    /** The preferred time to start the daily automatic backup, in the UTC time zone, for example, 02:00 */
    DailyAutomaticBackupStartTime?: string;
    /** The number of days to retain automatic backups. Setting this property to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. The default is 30. For more informatio */
    AutomaticBackupRetentionDays?: number;
    /** Sets the target value for a file system's throughput capacity, in MB/s, that you are updating the file system to. Valid values are 8, 16, 32, 64, 128, 256, 512, 1024, 2048. You cannot make a throughpu */
    ThroughputCapacity?: number;
    /** The configuration Amazon FSx uses to join the Windows File Server instance to the self-managed Microsoft AD directory. You cannot make a self-managed Microsoft AD update request if there is an existin */
    SelfManagedActiveDirectoryConfiguration?: SelfManagedActiveDirectoryConfigurationUpdates;
    /** The configuration that Amazon FSx for Windows File Server uses to audit and log user accesses of files, folders, and file shares on the Amazon FSx for Windows File Server file system.. */
    AuditLogConfiguration?: WindowsAuditLogCreateConfiguration;
    /** The SSD IOPS (input/output operations per second) configuration for an Amazon FSx for Windows file system. By default, Amazon FSx automatically provisions 3 IOPS per GiB of storage capacity. You can p */
    DiskIopsConfiguration?: DiskIopsConfiguration;
    /** The File Server Resource Manager (FSRM) configuration that Amazon FSx for Windows File Server uses for the file system. FSRM is disabled by default. */
    FsrmConfiguration?: WindowsFsrmConfiguration;
}
export interface UpdateFileSystemLustreMetadataConfiguration {
    /** (USER_PROVISIONED mode only) Specifies the number of Metadata IOPS to provision for your file system. For SSD file systems, valid values are 1500, 3000, 6000, 12000, and multiples of 12000 up to a max */
    Iops?: number;
    /** The metadata configuration mode for provisioning Metadata IOPS for an FSx for Lustre file system using a PERSISTENT_2 deployment type. To increase the Metadata IOPS or to switch an SSD file system fro */
    Mode?: 'AUTOMATIC' | 'USER_PROVISIONED';
}
export interface UpdateFileSystemLustreConfiguration {
    /** (Optional) The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday. */
    WeeklyMaintenanceStartTime?: string;
    DailyAutomaticBackupStartTime?: string;
    /** The number of days to retain automatic backups. Setting this property to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. The default is 0. */
    AutomaticBackupRetentionDays?: number;
    /** (Optional) When you create your file system, your existing S3 objects appear as file and directory listings. Use this property to choose how Amazon FSx keeps your file and directory listing up to date */
    AutoImportPolicy?: 'NONE' | 'NEW' | 'NEW_CHANGED' | 'NEW_CHANGED_DELETED';
    /** Sets the data compression configuration for the file system. DataCompressionType can have the following values: NONE - Data compression is turned off for the file system. LZ4 - Data compression is tur */
    DataCompressionType?: 'NONE' | 'LZ4';
    /** The Lustre logging configuration used when updating an Amazon FSx for Lustre file system. When logging is enabled, Lustre logs error and warning events for data repositories associated with your file  */
    LogConfiguration?: LustreLogCreateConfiguration;
    /** The Lustre root squash configuration used when updating an Amazon FSx for Lustre file system. When enabled, root squash restricts root-level access from clients that try to access your file system as  */
    RootSquashConfiguration?: LustreRootSquashConfiguration;
    /** The throughput of an Amazon FSx for Lustre Persistent SSD-based file system, measured in megabytes per second per tebibyte (MB/s/TiB). You can increase or decrease your file system's throughput. Valid */
    PerUnitStorageThroughput?: number;
    /** The Lustre metadata performance configuration for an Amazon FSx for Lustre file system using a PERSISTENT_2 deployment type. When this configuration is enabled, the file system supports increasing met */
    MetadataConfiguration?: UpdateFileSystemLustreMetadataConfiguration;
    /** The throughput of an Amazon FSx for Lustre file system using an Intelligent-Tiering storage class, measured in megabytes per second (MBps). You can only increase your file system's throughput. Valid v */
    ThroughputCapacity?: number;
    /** Specifies the optional provisioned SSD read cache on Amazon FSx for Lustre file systems that use the Intelligent-Tiering storage class. */
    DataReadCacheConfiguration?: LustreReadCacheConfiguration;
}
export interface UpdateFileSystemOntapConfiguration {
    AutomaticBackupRetentionDays?: number;
    DailyAutomaticBackupStartTime?: string;
    /** Update the password for the fsxadmin user by entering a new password. You use the fsxadmin user to access the NetApp ONTAP CLI and REST API to manage your file system resources. For more information,  */
    FsxAdminPassword?: string;
    WeeklyMaintenanceStartTime?: string;
    /** The SSD IOPS (input output operations per second) configuration for an Amazon FSx for NetApp ONTAP file system. The default is 3 IOPS per GB of storage capacity, but you can provision additional IOPS  */
    DiskIopsConfiguration?: DiskIopsConfiguration;
    /** Enter a new value to change the amount of throughput capacity for the file system in megabytes per second (MBps). For more information, see Managing throughput capacity in the FSx for ONTAP User Guide */
    ThroughputCapacity?: number;
    /** (Multi-AZ only) A list of IDs of new virtual private cloud (VPC) route tables to associate (add) with your Amazon FSx for NetApp ONTAP file system. */
    AddRouteTableIds?: string[];
    /** (Multi-AZ only) A list of IDs of existing virtual private cloud (VPC) route tables to disassociate (remove) from your Amazon FSx for NetApp ONTAP file system. You can use the API operation to retrieve */
    RemoveRouteTableIds?: string[];
    /** Use to choose the throughput capacity per HA pair, rather than the total throughput for the file system. This field and ThroughputCapacity cannot be defined in the same API call, but one is required.  */
    ThroughputCapacityPerHAPair?: number;
    /** Use to update the number of high-availability (HA) pairs for a second-generation single-AZ file system. If you increase the number of HA pairs for your file system, you must specify proportional incre */
    HAPairs?: number;
    /** (Multi-AZ only) Specifies the IPv6 address range in which the endpoints to access your file system will be created. By default in the Amazon FSx API and Amazon FSx console, Amazon FSx selects an avail */
    EndpointIpv6AddressRange?: string;
}
export interface UpdateFileSystemOpenZFSConfiguration {
    AutomaticBackupRetentionDays?: number;
    /** A Boolean value indicating whether tags for the file system should be copied to backups. This value defaults to false. If it's set to true, all tags for the file system are copied to all automatic and */
    CopyTagsToBackups?: boolean;
    /** A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults to false. If it's set to true, all tags for the volume are copied to snapshots where the user  */
    CopyTagsToVolumes?: boolean;
    DailyAutomaticBackupStartTime?: string;
    /** The throughput of an Amazon FSx for OpenZFS file system, measured in megabytes per second (MB/s). Valid values depend on the DeploymentType you choose, as follows: For MULTI_AZ_1 and SINGLE_AZ_2, vali */
    ThroughputCapacity?: number;
    WeeklyMaintenanceStartTime?: string;
    DiskIopsConfiguration?: DiskIopsConfiguration;
    /** (Multi-AZ only) A list of IDs of new virtual private cloud (VPC) route tables to associate (add) with your Amazon FSx for OpenZFS file system. */
    AddRouteTableIds?: string[];
    /** (Multi-AZ only) A list of IDs of existing virtual private cloud (VPC) route tables to disassociate (remove) from your Amazon FSx for OpenZFS file system. You can use the API operation to retrieve the  */
    RemoveRouteTableIds?: string[];
    /** The configuration for the optional provisioned SSD read cache on file systems that use the Intelligent-Tiering storage class. */
    ReadCacheConfiguration?: OpenZFSReadCacheConfiguration;
    /** (Multi-AZ only) Specifies the IPv6 address range in which the endpoints to access your file system will be created. By default in the Amazon FSx API and Amazon FSx console, Amazon FSx selects an avail */
    EndpointIpv6AddressRange?: string;
}
export interface UpdateSvmActiveDirectoryConfiguration {
    SelfManagedActiveDirectoryConfiguration?: SelfManagedActiveDirectoryConfigurationUpdates;
    /** Specifies an updated NetBIOS name of the AD computer object NetBiosName to which an SVM is joined. */
    NetBiosName?: string;
}
export interface UpdateSnaplockConfiguration {
    /** Enables or disables the audit log volume for an FSx for ONTAP SnapLock volume. The default value is false. If you set AuditLogVolume to true, the SnapLock volume is created as an audit log volume. The */
    AuditLogVolume?: boolean;
    /** The configuration object for setting the autocommit period of files in an FSx for ONTAP SnapLock volume. */
    AutocommitPeriod?: any;
    /** Enables, disables, or permanently disables privileged delete on an FSx for ONTAP SnapLock Enterprise volume. Enabling privileged delete allows SnapLock administrators to delete write once, read many ( */
    PrivilegedDelete?: 'DISABLED' | 'ENABLED' | 'PERMANENTLY_DISABLED';
    /** Specifies the retention period of an FSx for ONTAP SnapLock volume. */
    RetentionPeriod?: any;
    /** Enables or disables volume-append mode on an FSx for ONTAP SnapLock volume. Volume-append mode allows you to create WORM-appendable files and write data to them incrementally. The default value is fal */
    VolumeAppendModeEnabled?: boolean;
}
export interface UpdateOntapVolumeConfiguration {
    /** Specifies the location in the SVM's namespace where the volume is mounted. The JunctionPath must have a leading forward slash, such as /vol3. */
    JunctionPath?: string;
    /** The security style for the volume, which can be UNIX, NTFS, or MIXED. */
    SecurityStyle?: 'UNIX' | 'NTFS' | 'MIXED';
    /** Specifies the size of the volume in megabytes. */
    SizeInMegabytes?: number;
    /** Default is false. Set to true to enable the deduplication, compression, and compaction storage efficiency features on the volume. */
    StorageEfficiencyEnabled?: boolean;
    /** Update the volume's data tiering policy. */
    TieringPolicy?: TieringPolicy;
    /** Specifies the snapshot policy for the volume. There are three built-in snapshot policies: default: This is the default policy. A maximum of six hourly snapshots taken five minutes past the hour. A max */
    SnapshotPolicy?: string;
    /** A boolean flag indicating whether tags for the volume should be copied to backups. This value defaults to false. If it's set to true, all tags for the volume are copied to all automatic and user-initi */
    CopyTagsToBackups?: boolean;
    /** The configuration object for updating the SnapLock configuration of an FSx for ONTAP SnapLock volume. */
    SnaplockConfiguration?: UpdateSnaplockConfiguration;
    /** The configured size of the volume, in bytes. */
    SizeInBytes?: number;
}
export interface UpdateOpenZFSVolumeConfiguration {
    /** The amount of storage in gibibytes (GiB) to reserve from the parent volume. You can't reserve more storage than the parent volume has reserved. You can specify a value of -1 to unset a volume's storag */
    StorageCapacityReservationGiB?: number;
    /** The maximum amount of storage in gibibytes (GiB) that the volume can use from its parent. You can specify a quota larger than the storage on the parent volume. You can specify a value of -1 to unset a */
    StorageCapacityQuotaGiB?: number;
    /** Specifies the record size of an OpenZFS volume, in kibibytes (KiB). Valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB. The default is 128 KiB. Most workloads should use the default record  */
    RecordSizeKiB?: number;
    /** Specifies the method used to compress the data on the volume. The compression type is NONE by default. NONE - Doesn't compress the data on the volume. NONE is the default. ZSTD - Compresses the data i */
    DataCompressionType?: 'NONE' | 'ZSTD' | 'LZ4';
    /** The configuration object for mounting a Network File System (NFS) file system. */
    NfsExports?: any[];
    /** An object specifying how much storage users or groups can use on the volume. */
    UserAndGroupQuotas?: any[];
    /** A Boolean value indicating whether the volume is read-only. */
    ReadOnly?: boolean;
}
/** The request object specifying one or more DNS alias names to associate with an Amazon FSx for Windows File Server file system. */
export interface AssociateFileSystemAliasesInput {
    /** An array of one or more DNS alias names to associate with the file system. The alias name has to comply with the following formatting requirements: Formatted as a fully-qualified domain name (FQDN), h */
    Aliases: string[];
    /** Specifies the file system with which you want to associate one or more DNS aliases. */
    FileSystemId: string;
    ClientRequestToken?: string;
}
/** Cancels a data repository task. */
export interface CancelDataRepositoryTaskInput {
    /** Specifies the data repository task to cancel. */
    TaskId: string;
}
export interface CopyBackupInput {
    /** The ID of the source backup. Specifies the ID of the backup that's being copied. */
    SourceBackupId: string;
    ClientRequestToken?: string;
    /** A Boolean flag indicating whether tags from the source backup should be copied to the backup copy. This value defaults to false. If you set CopyTags to true and the source backup has existing tags, yo */
    CopyTags?: boolean;
    KmsKeyId?: string;
    /** The source Amazon Web Services Region of the backup. Specifies the Amazon Web Services Region from which the backup is being copied. The source and destination Regions must be in the same Amazon Web S */
    SourceRegion?: string;
    Tags?: Tag[];
}
export interface CopySnapshotAndUpdateVolumeInput {
    SourceSnapshotARN: string;
    /** Specifies the ID of the volume that you are copying the snapshot to. */
    VolumeId: string;
    ClientRequestToken?: string;
    /** Specifies the strategy to use when copying data from a snapshot to the volume. FULL_COPY - Copies all data from the snapshot to the volume. INCREMENTAL_COPY - Copies only the snapshot data that's chan */
    CopyStrategy?: 'CLONE' | 'FULL_COPY' | 'INCREMENTAL_COPY';
    /** Confirms that you want to delete data on the destination volume that wasn’t there during the previous snapshot replication. Your replication will fail if you don’t include an option for a specific typ */
    Options?: 'DELETE_INTERMEDIATE_SNAPSHOTS' | 'DELETE_CLONED_VOLUMES' | 'DELETE_INTERMEDIATE_DATA'[];
}
export interface CreateAndAttachS3AccessPointInput {
    /** The name you want to assign to this S3 access point. */
    Name: string;
    /** The type of S3 access point you want to create. Only OpenZFS is supported. */
    Type: 'OPENZFS' | 'ONTAP';
    ClientRequestToken?: string;
    OntapConfiguration?: CreateAndAttachS3AccessPointOntapConfiguration;
    /** Specifies the configuration to use when creating and attaching an S3 access point to an FSx for OpenZFS volume. */
    OpenZFSConfiguration?: CreateAndAttachS3AccessPointOpenZFSConfiguration;
    /** Specifies the virtual private cloud (VPC) configuration if you're creating an access point that is restricted to a VPC. For more information, see Creating access points restricted to a virtual private */
    S3AccessPoint?: CreateAndAttachS3AccessPointS3Configuration;
}
/** The request object for the CreateBackup operation. */
export interface CreateBackupInput {
    /** (Optional) A string of up to 63 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the Command Line Interface (CLI) or */
    ClientRequestToken?: string;
    /** The ID of the file system to back up. */
    FileSystemId?: string;
    /** (Optional) The tags to apply to the backup at backup creation. The key value of the Name tag appears in the console as the backup name. If you have set CopyTagsToBackups to true, and you specify one o */
    Tags?: Tag[];
    /** (Optional) The ID of the FSx for ONTAP volume to back up. */
    VolumeId?: string;
}
export interface CreateDataRepositoryAssociationInput {
    /** The path to the Amazon S3 data repository that will be linked to the file system. The path can be an S3 bucket or prefix in the format s3://bucket-name/prefix/ (where prefix is optional). This path sp */
    DataRepositoryPath: string;
    FileSystemId: string;
    /** Set to true to run an import data repository task to import metadata from the data repository to the file system after the data repository association is created. Default is false. */
    BatchImportMetaDataOnCreate?: boolean;
    ClientRequestToken?: string;
    /** A path on the file system that points to a high-level directory (such as /ns1/) or subdirectory (such as /ns1/subdir/) that will be mapped 1-1 with DataRepositoryPath. The leading forward slash in the */
    FileSystemPath?: string;
    /** For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a sing */
    ImportedFileChunkSize?: number;
    /** The configuration for an Amazon S3 data repository linked to an Amazon FSx Lustre file system with a data repository association. The configuration defines which file events (new, changed, or deleted  */
    S3?: S3DataRepositoryConfiguration;
    Tags?: Tag[];
}
export interface CreateDataRepositoryTaskInput {
    FileSystemId: string;
    /** Defines whether or not Amazon FSx provides a CompletionReport once the task has completed. A CompletionReport provides a detailed report on the files that Amazon FSx processed that meet the criteria s */
    Report: CompletionReport;
    /** Specifies the type of data repository task to create. EXPORT_TO_REPOSITORY tasks export from your Amazon FSx for Lustre file system to a linked data repository. IMPORT_METADATA_FROM_REPOSITORY tasks i */
    Type: 'EXPORT_TO_REPOSITORY' | 'IMPORT_METADATA_FROM_REPOSITORY' | 'RELEASE_DATA_FROM_FILESYSTEM' | 'AUTO_RELEASE_DATA';
    /** Specifies the amount of data to release, in GiB, by an Amazon File Cache AUTO_RELEASE_DATA task that automatically releases files from the cache. */
    CapacityToRelease?: number;
    ClientRequestToken?: string;
    /** A list of paths for the data repository task to use when the task is processed. If a path that you provide isn't valid, the task fails. If you don't provide paths, the default behavior is to export al */
    Paths?: string[];
    /** The configuration that specifies the last accessed time criteria for files that will be released from an Amazon FSx for Lustre file system. */
    ReleaseConfiguration?: ReleaseConfiguration;
    Tags?: Tag[];
}
export interface CreateFileCacheInput {
    /** The type of cache that you're creating, which must be LUSTRE. */
    FileCacheType: 'LUSTRE';
    /** Sets the Lustre version for the cache that you're creating, which must be 2.12. */
    FileCacheTypeVersion: string;
    /** The storage capacity of the cache in gibibytes (GiB). Valid values are 1200 GiB, 2400 GiB, and increments of 2400 GiB. */
    StorageCapacity: number;
    SubnetIds: string[];
    /** An idempotency token for resource creation, in a string of up to 63 ASCII characters. This token is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web S */
    ClientRequestToken?: string;
    /** A boolean flag indicating whether tags for the cache should be copied to data repository associations. This value defaults to false. */
    CopyTagsToDataRepositoryAssociations?: boolean;
    /** A list of up to 8 configurations for data repository associations (DRAs) to be created during the cache creation. The DRAs link the cache to either an Amazon S3 data repository or a Network File Syste */
    DataRepositoryAssociations?: FileCacheDataRepositoryAssociation[];
    /** Specifies the ID of the Key Management Service (KMS) key to use for encrypting data on an Amazon File Cache. If a KmsKeyId isn't specified, the Amazon FSx-managed KMS key for your account is used. For */
    KmsKeyId?: string;
    /** The configuration for the Amazon File Cache resource being created. */
    LustreConfiguration?: CreateFileCacheLustreConfiguration;
    /** A list of IDs specifying the security groups to apply to all network interfaces created for Amazon File Cache access. This list isn't returned in later requests to describe the cache. */
    SecurityGroupIds?: string[];
    Tags?: Tag[];
}
/** The request object used to create a new Amazon FSx file system. */
export interface CreateFileSystemInput {
    /** The type of Amazon FSx file system to create. Valid values are WINDOWS, LUSTRE, ONTAP, and OPENZFS. */
    FileSystemType: 'WINDOWS' | 'LUSTRE' | 'ONTAP' | 'OPENZFS';
    /** Specifies the IDs of the subnets that the file system will be accessible from. For Windows and ONTAP MULTI_AZ_1 deployment types,provide exactly two subnet IDs, one for the preferred file server and o */
    SubnetIds: string[];
    /** A string of up to 63 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon  */
    ClientRequestToken?: string;
    /** For FSx for Lustre file systems, sets the Lustre version for the file system that you're creating. Valid values are 2.10, 2.12, and 2.15: 2.10 is supported by the Scratch and Persistent_1 Lustre deplo */
    FileSystemTypeVersion?: string;
    KmsKeyId?: string;
    LustreConfiguration?: CreateFileSystemLustreConfiguration;
    /** The network type of the Amazon FSx file system that you are creating. Valid values are IPV4 (which supports IPv4 only) and DUAL (for dual-stack mode, which supports both IPv4 and IPv6). The default is */
    NetworkType?: 'IPV4' | 'DUAL';
    OntapConfiguration?: CreateFileSystemOntapConfiguration;
    /** The OpenZFS configuration for the file system that's being created. */
    OpenZFSConfiguration?: CreateFileSystemOpenZFSConfiguration;
    /** A list of IDs specifying the security groups to apply to all network interfaces created for file system access. This list isn't returned in later requests to describe the file system. You must specify */
    SecurityGroupIds?: string[];
    /** Sets the storage capacity of the file system that you're creating, in gibibytes (GiB). FSx for Lustre file systems - The amount of storage capacity that you can configure depends on the value that you */
    StorageCapacity?: number;
    /** Sets the storage class for the file system that you're creating. Valid values are SSD, HDD, and INTELLIGENT_TIERING. Set to SSD to use solid state drive storage. SSD is supported on all Windows, Lustr */
    StorageType?: 'SSD' | 'HDD' | 'INTELLIGENT_TIERING';
    /** The tags to apply to the file system that's being created. The key value of the Name tag appears in the console as the file system name. */
    Tags?: Tag[];
    /** The Microsoft Windows configuration for the file system that's being created. */
    WindowsConfiguration?: CreateFileSystemWindowsConfiguration;
}
/** The request object for the CreateFileSystemFromBackup operation. */
export interface CreateFileSystemFromBackupInput {
    BackupId: string;
    /** Specifies the IDs of the subnets that the file system will be accessible from. For Windows MULTI_AZ_1 file system deployment types, provide exactly two subnet IDs, one for the preferred file server an */
    SubnetIds: string[];
    /** A string of up to 63 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon  */
    ClientRequestToken?: string;
    /** Sets the version for the Amazon FSx for Lustre file system that you're creating from a backup. Valid values are 2.10, 2.12, and 2.15. You can enter a Lustre version that is newer than the backup's Fil */
    FileSystemTypeVersion?: string;
    KmsKeyId?: string;
    LustreConfiguration?: CreateFileSystemLustreConfiguration;
    /** Sets the network type for the Amazon FSx for OpenZFS file system that you're creating from a backup. */
    NetworkType?: 'IPV4' | 'DUAL';
    /** The OpenZFS configuration for the file system that's being created. */
    OpenZFSConfiguration?: CreateFileSystemOpenZFSConfiguration;
    /** A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups apply to all network interfaces. This value isn't returned in */
    SecurityGroupIds?: string[];
    /** Sets the storage capacity of the OpenZFS file system that you're creating from a backup, in gibibytes (GiB). Valid values are from 64 GiB up to 524,288 GiB (512 TiB). However, the value that you speci */
    StorageCapacity?: number;
    /** Sets the storage type for the Windows, OpenZFS, or Lustre file system that you're creating from a backup. Valid values are SSD, HDD, and INTELLIGENT_TIERING. Set to SSD to use solid state drive storag */
    StorageType?: 'SSD' | 'HDD' | 'INTELLIGENT_TIERING';
    /** The tags to be applied to the file system at file system creation. The key value of the Name tag appears in the console as the file system name. */
    Tags?: Tag[];
    /** The configuration for this Microsoft Windows file system. */
    WindowsConfiguration?: CreateFileSystemWindowsConfiguration;
}
export interface CreateSnapshotInput {
    /** The name of the snapshot. */
    Name: string;
    /** The ID of the volume that you are taking a snapshot of. */
    VolumeId: string;
    ClientRequestToken?: string;
    Tags?: Tag[];
}
export interface CreateStorageVirtualMachineInput {
    FileSystemId: string;
    /** The name of the SVM. */
    Name: string;
    /** Describes the self-managed Microsoft Active Directory to which you want to join the SVM. Joining an Active Directory provides user authentication and access control for SMB clients, including Microsof */
    ActiveDirectoryConfiguration?: CreateSvmActiveDirectoryConfiguration;
    ClientRequestToken?: string;
    /** The security style of the root volume of the SVM. Specify one of the following values: UNIX if the file system is managed by a UNIX administrator, the majority of users are NFS clients, and an applica */
    RootVolumeSecurityStyle?: 'UNIX' | 'NTFS' | 'MIXED';
    /** The password to use when managing the SVM using the NetApp ONTAP CLI or REST API. If you do not specify a password, you can still use the file system's fsxadmin user to manage the SVM. */
    SvmAdminPassword?: string;
    Tags?: Tag[];
}
export interface CreateVolumeInput {
    /** Specifies the name of the volume that you're creating. */
    Name: string;
    /** Specifies the type of volume to create; ONTAP and OPENZFS are the only valid volume types. */
    VolumeType: 'ONTAP' | 'OPENZFS';
    ClientRequestToken?: string;
    /** Specifies the configuration to use when creating the ONTAP volume. */
    OntapConfiguration?: CreateOntapVolumeConfiguration;
    /** Specifies the configuration to use when creating the OpenZFS volume. */
    OpenZFSConfiguration?: CreateOpenZFSVolumeConfiguration;
    Tags?: Tag[];
}
export interface CreateVolumeFromBackupInput {
    BackupId: string;
    /** The name of the new volume you're creating. */
    Name: string;
    ClientRequestToken?: string;
    /** Specifies the configuration of the ONTAP volume that you are creating. */
    OntapConfiguration?: CreateOntapVolumeConfiguration;
    Tags?: Tag[];
}
/** The request object for the DeleteBackup operation. */
export interface DeleteBackupInput {
    /** The ID of the backup that you want to delete. */
    BackupId: string;
    /** A string of up to 63 ASCII characters that Amazon FSx uses to ensure idempotent deletion. This parameter is automatically filled on your behalf when using the CLI or SDK. */
    ClientRequestToken?: string;
}
export interface DeleteDataRepositoryAssociationInput {
    /** The ID of the data repository association that you want to delete. */
    AssociationId: string;
    ClientRequestToken?: string;
    /** Set to true to delete the data in the file system that corresponds to the data repository association. */
    DeleteDataInFileSystem?: boolean;
}
export interface DeleteFileCacheInput {
    /** The ID of the cache that's being deleted. */
    FileCacheId: string;
    ClientRequestToken?: string;
}
/** The request object for DeleteFileSystem operation. */
export interface DeleteFileSystemInput {
    /** The ID of the file system that you want to delete. */
    FileSystemId: string;
    /** A string of up to 63 ASCII characters that Amazon FSx uses to ensure idempotent deletion. This token is automatically filled on your behalf when using the Command Line Interface (CLI) or an Amazon Web */
    ClientRequestToken?: string;
    LustreConfiguration?: DeleteFileSystemLustreConfiguration;
    /** The configuration object for the OpenZFS file system used in the DeleteFileSystem operation. */
    OpenZFSConfiguration?: DeleteFileSystemOpenZFSConfiguration;
    WindowsConfiguration?: DeleteFileSystemWindowsConfiguration;
}
export interface DeleteSnapshotInput {
    /** The ID of the snapshot that you want to delete. */
    SnapshotId: string;
    ClientRequestToken?: string;
}
export interface DeleteStorageVirtualMachineInput {
    /** The ID of the SVM that you want to delete. */
    StorageVirtualMachineId: string;
    ClientRequestToken?: string;
}
export interface DeleteVolumeInput {
    /** The ID of the volume that you are deleting. */
    VolumeId: string;
    ClientRequestToken?: string;
    /** For Amazon FSx for ONTAP volumes, specify whether to take a final backup of the volume and apply tags to the backup. To apply tags to the backup, you must have the fsx:TagResource permission. */
    OntapConfiguration?: DeleteVolumeOntapConfiguration;
    /** For Amazon FSx for OpenZFS volumes, specify whether to delete all child volumes and snapshots. */
    OpenZFSConfiguration?: DeleteVolumeOpenZFSConfiguration;
}
/** The request object for the DescribeBackups operation. */
export interface DescribeBackupsInput {
    /** The IDs of the backups that you want to retrieve. This parameter value overrides any filters. If any IDs aren't found, a BackupNotFound error occurs. */
    BackupIds?: string[];
    /** The filters structure. The supported names are file-system-id, backup-type, file-system-type, and volume-id. */
    Filters?: Filter[];
    /** Maximum number of backups to return in the response. This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter specified in th */
    MaxResults?: number;
    /** An opaque pagination token returned from a previous DescribeBackups operation. If a token is present, the operation continues the list from where the returning call left off. */
    NextToken?: string;
}
export interface DescribeDataRepositoryAssociationsInput {
    /** IDs of the data repository associations whose descriptions you want to retrieve (String). */
    AssociationIds?: string[];
    Filters?: Filter[];
    /** The maximum number of resources to return in the response. This value must be an integer greater than zero. */
    MaxResults?: number;
    NextToken?: string;
}
export interface DescribeDataRepositoryTasksInput {
    /** (Optional) You can use filters to narrow the DescribeDataRepositoryTasks response to include just tasks for specific file systems, or tasks in a specific lifecycle state. */
    Filters?: DataRepositoryTaskFilter[];
    MaxResults?: number;
    NextToken?: string;
    /** (Optional) IDs of the tasks whose descriptions you want to retrieve (String). */
    TaskIds?: string[];
}
export interface DescribeFileCachesInput {
    /** IDs of the caches whose descriptions you want to retrieve (String). */
    FileCacheIds?: string[];
    MaxResults?: number;
    NextToken?: string;
}
/** The request object for DescribeFileSystemAliases operation. */
export interface DescribeFileSystemAliasesInput {
    /** The ID of the file system to return the associated DNS aliases for (String). */
    FileSystemId: string;
    ClientRequestToken?: string;
    /** Maximum number of DNS aliases to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter s */
    MaxResults?: number;
    /** Opaque pagination token returned from a previous DescribeFileSystemAliases operation (String). If a token is included in the request, the action continues the list from where the previous returning ca */
    NextToken?: string;
}
/** The request object for DescribeFileSystems operation. */
export interface DescribeFileSystemsInput {
    /** IDs of the file systems whose descriptions you want to retrieve (String). */
    FileSystemIds?: string[];
    /** Maximum number of file systems to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter  */
    MaxResults?: number;
    /** Opaque pagination token returned from a previous DescribeFileSystems operation (String). If a token present, the operation continues the list from where the returning call left off. */
    NextToken?: string;
}
export interface DescribeS3AccessPointAttachmentsInput {
    /** Enter a filter Name and Values pair to view a select set of S3 access point attachments. */
    Filters?: S3AccessPointAttachmentsFilter[];
    MaxResults?: number;
    /** The names of the S3 access point attachments whose descriptions you want to retrieve. */
    Names?: string[];
    NextToken?: string;
}
export interface DescribeSnapshotsInput {
    /** The filters structure. The supported names are file-system-id or volume-id. */
    Filters?: SnapshotFilter[];
    /** Set to false (default) if you want to only see the snapshots owned by your Amazon Web Services account. Set to true if you want to see the snapshots in your account and the ones shared with you from a */
    IncludeShared?: boolean;
    MaxResults?: number;
    NextToken?: string;
    /** The IDs of the snapshots that you want to retrieve. This parameter value overrides any filters. If any IDs aren't found, a SnapshotNotFound error occurs. */
    SnapshotIds?: string[];
}
export interface DescribeStorageVirtualMachinesInput {
    /** Enter a filter name:value pair to view a select set of SVMs. */
    Filters?: StorageVirtualMachineFilter[];
    MaxResults?: number;
    NextToken?: string;
    /** Enter the ID of one or more SVMs that you want to view. */
    StorageVirtualMachineIds?: string[];
}
export interface DescribeVolumesInput {
    /** Enter a filter Name and Values pair to view a select set of volumes. */
    Filters?: VolumeFilter[];
    MaxResults?: number;
    NextToken?: string;
    /** The IDs of the volumes whose descriptions you want to retrieve. */
    VolumeIds?: string[];
}
export interface DetachAndDeleteS3AccessPointInput {
    /** The name of the S3 access point attachment that you want to delete. */
    Name: string;
    ClientRequestToken?: string;
}
/** The request object of DNS aliases to disassociate from an Amazon FSx for Windows File Server file system. */
export interface DisassociateFileSystemAliasesInput {
    /** An array of one or more DNS alias names to disassociate, or remove, from the file system. */
    Aliases: string[];
    /** Specifies the file system from which to disassociate the DNS aliases. */
    FileSystemId: string;
    ClientRequestToken?: string;
}
/** The request object for ListTagsForResource operation. */
export interface ListTagsForResourceInput {
    /** The ARN of the Amazon FSx resource that will have its tags listed. */
    ResourceARN: string;
    /** Maximum number of tags to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter specifie */
    MaxResults?: number;
    /** Opaque pagination token returned from a previous ListTagsForResource operation (String). If a token present, the action continues the list from where the returning call left off. */
    NextToken?: string;
}
export interface ReleaseFileSystemNfsV3LocksInput {
    FileSystemId: string;
    ClientRequestToken?: string;
}
export interface RestoreVolumeFromSnapshotInput {
    /** The ID of the source snapshot. Specifies the snapshot that you are restoring from. */
    SnapshotId: string;
    /** The ID of the volume that you are restoring. */
    VolumeId: string;
    ClientRequestToken?: string;
    /** The settings used when restoring the specified volume from snapshot. DELETE_INTERMEDIATE_SNAPSHOTS - Deletes snapshots between the current state and the specified snapshot. If there are intermediate s */
    Options?: 'DELETE_INTERMEDIATE_SNAPSHOTS' | 'DELETE_CLONED_VOLUMES'[];
}
export interface StartMisconfiguredStateRecoveryInput {
    FileSystemId: string;
    ClientRequestToken?: string;
}
/** The request object for the TagResource operation. */
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the Amazon FSx resource that you want to tag. */
    ResourceARN: string;
    /** A list of tags for the resource. If a tag with a given key already exists, the value is replaced by the one specified in this parameter. */
    Tags: Tag[];
}
/** The request object for UntagResource action. */
export interface UntagResourceInput {
    /** The ARN of the Amazon FSx resource to untag. */
    ResourceARN: string;
    /** A list of keys of tags on the resource to untag. In case the tag key doesn't exist, the call will still succeed to be idempotent. */
    TagKeys: string[];
}
export interface UpdateDataRepositoryAssociationInput {
    /** The ID of the data repository association that you are updating. */
    AssociationId: string;
    ClientRequestToken?: string;
    /** For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a sing */
    ImportedFileChunkSize?: number;
    /** The configuration for an Amazon S3 data repository linked to an Amazon FSx Lustre file system with a data repository association. The configuration defines which file events (new, changed, or deleted  */
    S3?: S3DataRepositoryConfiguration;
}
export interface UpdateFileCacheInput {
    /** The ID of the cache that you are updating. */
    FileCacheId: string;
    ClientRequestToken?: string;
    /** The configuration updates for an Amazon File Cache resource. */
    LustreConfiguration?: UpdateFileCacheLustreConfiguration;
}
/** The request object for the UpdateFileSystem operation. */
export interface UpdateFileSystemInput {
    /** The ID of the file system that you are updating. */
    FileSystemId: string;
    /** A string of up to 63 ASCII characters that Amazon FSx uses to ensure idempotent updates. This string is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon W */
    ClientRequestToken?: string;
    /** The Lustre version you are updating an FSx for Lustre file system to. Valid values are 2.12 and 2.15. The value you choose must be newer than the file system's current Lustre version. */
    FileSystemTypeVersion?: string;
    LustreConfiguration?: UpdateFileSystemLustreConfiguration;
    /** Changes the network type of an FSx for OpenZFS file system. */
    NetworkType?: 'IPV4' | 'DUAL';
    OntapConfiguration?: UpdateFileSystemOntapConfiguration;
    /** The configuration updates for an FSx for OpenZFS file system. */
    OpenZFSConfiguration?: UpdateFileSystemOpenZFSConfiguration;
    /** Use this parameter to increase the storage capacity of an FSx for Windows File Server, FSx for Lustre, FSx for OpenZFS, or FSx for ONTAP file system. For second-generation FSx for ONTAP file systems,  */
    StorageCapacity?: number;
    StorageType?: 'SSD' | 'HDD' | 'INTELLIGENT_TIERING';
    /** The configuration updates for an Amazon FSx for Windows File Server file system. */
    WindowsConfiguration?: UpdateFileSystemWindowsConfiguration;
}
export interface UpdateSharedVpcConfigurationInput {
    ClientRequestToken?: string;
    /** Specifies whether participant accounts can create FSx for ONTAP Multi-AZ file systems in shared subnets. Set to true to enable or false to disable. */
    EnableFsxRouteTableUpdatesFromParticipantAccounts?: string;
}
export interface UpdateSnapshotInput {
    /** The name of the snapshot to update. */
    Name: string;
    /** The ID of the snapshot that you want to update, in the format fsvolsnap-0123456789abcdef0. */
    SnapshotId: string;
    ClientRequestToken?: string;
}
export interface UpdateStorageVirtualMachineInput {
    /** The ID of the SVM that you want to update, in the format svm-0123456789abcdef0. */
    StorageVirtualMachineId: string;
    /** Specifies updates to an SVM's Microsoft Active Directory (AD) configuration. */
    ActiveDirectoryConfiguration?: UpdateSvmActiveDirectoryConfiguration;
    ClientRequestToken?: string;
    /** Specifies a new SvmAdminPassword. */
    SvmAdminPassword?: string;
}
export interface UpdateVolumeInput {
    /** The ID of the volume that you want to update, in the format fsvol-0123456789abcdef0. */
    VolumeId: string;
    ClientRequestToken?: string;
    /** The name of the OpenZFS volume. OpenZFS root volumes are automatically named FSX. Child volume names must be unique among their parent volume's children. The name of the volume is part of the mount st */
    Name?: string;
    /** The configuration of the ONTAP volume that you are updating. */
    OntapConfiguration?: UpdateOntapVolumeConfiguration;
    /** The configuration of the OpenZFS volume that you are updating. */
    OpenZFSConfiguration?: UpdateOpenZFSVolumeConfiguration;
}
/** FSx service binding for Step Functions SDK integrations. */
export declare class FSx {
    constructor();
    associateFileSystemAliases<T>(params: AssociateFileSystemAliasesInput): Promise<T>;
    cancelDataRepositoryTask<T>(params: CancelDataRepositoryTaskInput): Promise<T>;
    copyBackup<T>(params: CopyBackupInput): Promise<T>;
    copySnapshotAndUpdateVolume<T>(params: CopySnapshotAndUpdateVolumeInput): Promise<T>;
    createAndAttachS3AccessPoint<T>(params: CreateAndAttachS3AccessPointInput): Promise<T>;
    createBackup<T>(params: CreateBackupInput): Promise<T>;
    createDataRepositoryAssociation<T>(params: CreateDataRepositoryAssociationInput): Promise<T>;
    createDataRepositoryTask<T>(params: CreateDataRepositoryTaskInput): Promise<T>;
    createFileCache<T>(params: CreateFileCacheInput): Promise<T>;
    createFileSystem<T>(params: CreateFileSystemInput): Promise<T>;
    createFileSystemFromBackup<T>(params: CreateFileSystemFromBackupInput): Promise<T>;
    createSnapshot<T>(params: CreateSnapshotInput): Promise<T>;
    createStorageVirtualMachine<T>(params: CreateStorageVirtualMachineInput): Promise<T>;
    createVolume<T>(params: CreateVolumeInput): Promise<T>;
    createVolumeFromBackup<T>(params: CreateVolumeFromBackupInput): Promise<T>;
    deleteBackup<T>(params: DeleteBackupInput): Promise<T>;
    deleteDataRepositoryAssociation<T>(params: DeleteDataRepositoryAssociationInput): Promise<T>;
    deleteFileCache<T>(params: DeleteFileCacheInput): Promise<T>;
    deleteFileSystem<T>(params: DeleteFileSystemInput): Promise<T>;
    deleteSnapshot<T>(params: DeleteSnapshotInput): Promise<T>;
    deleteStorageVirtualMachine<T>(params: DeleteStorageVirtualMachineInput): Promise<T>;
    deleteVolume<T>(params: DeleteVolumeInput): Promise<T>;
    describeBackups<T>(params: DescribeBackupsInput): Promise<T>;
    describeDataRepositoryAssociations<T>(params: DescribeDataRepositoryAssociationsInput): Promise<T>;
    describeDataRepositoryTasks<T>(params: DescribeDataRepositoryTasksInput): Promise<T>;
    describeFileCaches<T>(params: DescribeFileCachesInput): Promise<T>;
    describeFileSystemAliases<T>(params: DescribeFileSystemAliasesInput): Promise<T>;
    describeFileSystems<T>(params: DescribeFileSystemsInput): Promise<T>;
    describeS3AccessPointAttachments<T>(params: DescribeS3AccessPointAttachmentsInput): Promise<T>;
    describeSharedVpcConfiguration<T>(params: Record<string, any>): Promise<T>;
    describeSnapshots<T>(params: DescribeSnapshotsInput): Promise<T>;
    describeStorageVirtualMachines<T>(params: DescribeStorageVirtualMachinesInput): Promise<T>;
    describeVolumes<T>(params: DescribeVolumesInput): Promise<T>;
    detachAndDeleteS3AccessPoint<T>(params: DetachAndDeleteS3AccessPointInput): Promise<T>;
    disassociateFileSystemAliases<T>(params: DisassociateFileSystemAliasesInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    releaseFileSystemNfsV3Locks<T>(params: ReleaseFileSystemNfsV3LocksInput): Promise<T>;
    restoreVolumeFromSnapshot<T>(params: RestoreVolumeFromSnapshotInput): Promise<T>;
    startMisconfiguredStateRecovery<T>(params: StartMisconfiguredStateRecoveryInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateDataRepositoryAssociation<T>(params: UpdateDataRepositoryAssociationInput): Promise<T>;
    updateFileCache<T>(params: UpdateFileCacheInput): Promise<T>;
    updateFileSystem<T>(params: UpdateFileSystemInput): Promise<T>;
    updateSharedVpcConfiguration<T>(params: UpdateSharedVpcConfigurationInput): Promise<T>;
    updateSnapshot<T>(params: UpdateSnapshotInput): Promise<T>;
    updateStorageVirtualMachine<T>(params: UpdateStorageVirtualMachineInput): Promise<T>;
    updateVolume<T>(params: UpdateVolumeInput): Promise<T>;
}
//# sourceMappingURL=FSx.d.ts.map