aws-sdk-fsx 1.59.0 → 1.60.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1460,6 +1460,12 @@ module Aws::FSx
1460
1460
  # linking a data repository to your file system, see [Linking your file
1461
1461
  # system to an S3 bucket][1].
1462
1462
  #
1463
+ # <note markdown="1"> `CreateDataRepositoryAssociation` isn't supported on Amazon File
1464
+ # Cache resources. To create a DRA on Amazon File Cache, use the
1465
+ # `CreateFileCache` operation.
1466
+ #
1467
+ # </note>
1468
+ #
1463
1469
  #
1464
1470
  #
1465
1471
  # [1]: https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html
@@ -1467,7 +1473,7 @@ module Aws::FSx
1467
1473
  # @option params [required, String] :file_system_id
1468
1474
  # The globally unique ID of the file system, assigned by Amazon FSx.
1469
1475
  #
1470
- # @option params [required, String] :file_system_path
1476
+ # @option params [String] :file_system_path
1471
1477
  # A path on the file system that points to a high-level directory (such
1472
1478
  # as `/ns1/`) or subdirectory (such as `/ns1/subdir/`) that will be
1473
1479
  # mapped 1-1 with `DataRepositoryPath`. The leading forward slash in the
@@ -1482,7 +1488,7 @@ module Aws::FSx
1482
1488
  # directory.
1483
1489
  #
1484
1490
  # <note markdown="1"> If you specify only a forward slash (`/`) as the file system path, you
1485
- # can link only 1 data repository to the file system. You can only
1491
+ # can link only one data repository to the file system. You can only
1486
1492
  # specify "/" as the file system path for the first data repository
1487
1493
  # associated with a file system.
1488
1494
  #
@@ -1537,7 +1543,7 @@ module Aws::FSx
1537
1543
  #
1538
1544
  # resp = client.create_data_repository_association({
1539
1545
  # file_system_id: "FileSystemId", # required
1540
- # file_system_path: "Namespace", # required
1546
+ # file_system_path: "Namespace",
1541
1547
  # data_repository_path: "ArchivePath", # required
1542
1548
  # batch_import_meta_data_on_create: false,
1543
1549
  # imported_file_chunk_size: 1,
@@ -1577,6 +1583,15 @@ module Aws::FSx
1577
1583
  # resp.association.tags[0].key #=> String
1578
1584
  # resp.association.tags[0].value #=> String
1579
1585
  # resp.association.creation_time #=> Time
1586
+ # resp.association.file_cache_id #=> String
1587
+ # resp.association.file_cache_path #=> String
1588
+ # resp.association.data_repository_subdirectories #=> Array
1589
+ # resp.association.data_repository_subdirectories[0] #=> String
1590
+ # resp.association.nfs.version #=> String, one of "NFS3"
1591
+ # resp.association.nfs.dns_ips #=> Array
1592
+ # resp.association.nfs.dns_ips[0] #=> String
1593
+ # resp.association.nfs.auto_export_policy.events #=> Array
1594
+ # resp.association.nfs.auto_export_policy.events[0] #=> String, one of "NEW", "CHANGED", "DELETED"
1580
1595
  #
1581
1596
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateDataRepositoryAssociation AWS API Documentation
1582
1597
  #
@@ -1650,6 +1665,11 @@ module Aws::FSx
1650
1665
  # @option params [Array<Types::Tag>] :tags
1651
1666
  # A list of `Tag` values, with a maximum of 50 elements.
1652
1667
  #
1668
+ # @option params [Integer] :capacity_to_release
1669
+ # Specifies the amount of data to release, in GiB, by an Amazon File
1670
+ # Cache `AUTO_RELEASE_DATA` task that automatically releases files from
1671
+ # the cache.
1672
+ #
1653
1673
  # @return [Types::CreateDataRepositoryTaskResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1654
1674
  #
1655
1675
  # * {Types::CreateDataRepositoryTaskResponse#data_repository_task #data_repository_task} => Types::DataRepositoryTask
@@ -1657,7 +1677,7 @@ module Aws::FSx
1657
1677
  # @example Request syntax with placeholder values
1658
1678
  #
1659
1679
  # resp = client.create_data_repository_task({
1660
- # type: "EXPORT_TO_REPOSITORY", # required, accepts EXPORT_TO_REPOSITORY, IMPORT_METADATA_FROM_REPOSITORY
1680
+ # type: "EXPORT_TO_REPOSITORY", # required, accepts EXPORT_TO_REPOSITORY, IMPORT_METADATA_FROM_REPOSITORY, RELEASE_DATA_FROM_FILESYSTEM, AUTO_RELEASE_DATA
1661
1681
  # paths: ["DataRepositoryTaskPath"],
1662
1682
  # file_system_id: "FileSystemId", # required
1663
1683
  # report: { # required
@@ -1673,13 +1693,14 @@ module Aws::FSx
1673
1693
  # value: "TagValue", # required
1674
1694
  # },
1675
1695
  # ],
1696
+ # capacity_to_release: 1,
1676
1697
  # })
1677
1698
  #
1678
1699
  # @example Response structure
1679
1700
  #
1680
1701
  # resp.data_repository_task.task_id #=> String
1681
1702
  # resp.data_repository_task.lifecycle #=> String, one of "PENDING", "EXECUTING", "FAILED", "SUCCEEDED", "CANCELED", "CANCELING"
1682
- # resp.data_repository_task.type #=> String, one of "EXPORT_TO_REPOSITORY", "IMPORT_METADATA_FROM_REPOSITORY"
1703
+ # resp.data_repository_task.type #=> String, one of "EXPORT_TO_REPOSITORY", "IMPORT_METADATA_FROM_REPOSITORY", "RELEASE_DATA_FROM_FILESYSTEM", "AUTO_RELEASE_DATA"
1683
1704
  # resp.data_repository_task.creation_time #=> Time
1684
1705
  # resp.data_repository_task.start_time #=> Time
1685
1706
  # resp.data_repository_task.end_time #=> Time
@@ -1695,10 +1716,13 @@ module Aws::FSx
1695
1716
  # resp.data_repository_task.status.succeeded_count #=> Integer
1696
1717
  # resp.data_repository_task.status.failed_count #=> Integer
1697
1718
  # resp.data_repository_task.status.last_updated_time #=> Time
1719
+ # resp.data_repository_task.status.released_capacity #=> Integer
1698
1720
  # resp.data_repository_task.report.enabled #=> Boolean
1699
1721
  # resp.data_repository_task.report.path #=> String
1700
1722
  # resp.data_repository_task.report.format #=> String, one of "REPORT_CSV_20191124"
1701
1723
  # resp.data_repository_task.report.scope #=> String, one of "FAILED_FILES_ONLY"
1724
+ # resp.data_repository_task.capacity_to_release #=> Integer
1725
+ # resp.data_repository_task.file_cache_id #=> String
1702
1726
  #
1703
1727
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateDataRepositoryTask AWS API Documentation
1704
1728
  #
@@ -1709,6 +1733,193 @@ module Aws::FSx
1709
1733
  req.send_request(options)
1710
1734
  end
1711
1735
 
1736
+ # Creates a new Amazon File Cache resource.
1737
+ #
1738
+ # You can use this operation with a client request token in the request
1739
+ # that Amazon File Cache uses to ensure idempotent creation. If a cache
1740
+ # with the specified client request token exists and the parameters
1741
+ # match, `CreateFileCache` returns the description of the existing
1742
+ # cache. If a cache with the specified client request token exists and
1743
+ # the parameters don't match, this call returns
1744
+ # `IncompatibleParameterError`. If a file cache with the specified
1745
+ # client request token doesn't exist, `CreateFileCache` does the
1746
+ # following:
1747
+ #
1748
+ # * Creates a new, empty Amazon File Cache resourcewith an assigned ID,
1749
+ # and an initial lifecycle state of `CREATING`.
1750
+ #
1751
+ # * Returns the description of the cache in JSON format.
1752
+ #
1753
+ # <note markdown="1"> The `CreateFileCache` call returns while the cache's lifecycle state
1754
+ # is still `CREATING`. You can check the cache creation status by
1755
+ # calling the [DescribeFileCaches][1] operation, which returns the cache
1756
+ # state along with other information.
1757
+ #
1758
+ # </note>
1759
+ #
1760
+ #
1761
+ #
1762
+ # [1]: https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileCaches.html
1763
+ #
1764
+ # @option params [String] :client_request_token
1765
+ # An idempotency token for resource creation, in a string of up to 64
1766
+ # ASCII characters. This token is automatically filled on your behalf
1767
+ # when you use the Command Line Interface (CLI) or an Amazon Web
1768
+ # Services SDK.
1769
+ #
1770
+ # By using the idempotent operation, you can retry a `CreateFileCache`
1771
+ # operation without the risk of creating an extra cache. This approach
1772
+ # can be useful when an initial call fails in a way that makes it
1773
+ # unclear whether a cache was created. Examples are if a transport level
1774
+ # timeout occurred, or your connection was reset. If you use the same
1775
+ # client request token and the initial call created a cache, the client
1776
+ # receives success as long as the parameters are the same.
1777
+ #
1778
+ # **A suitable default value is auto-generated.** You should normally
1779
+ # not need to pass this option.**
1780
+ #
1781
+ # @option params [required, String] :file_cache_type
1782
+ # The type of cache that you're creating, which must be `LUSTRE`.
1783
+ #
1784
+ # @option params [required, String] :file_cache_type_version
1785
+ # Sets the Lustre version for the cache that you're creating, which
1786
+ # must be `2.12`.
1787
+ #
1788
+ # @option params [required, Integer] :storage_capacity
1789
+ # The storage capacity of the cache in gibibytes (GiB). Valid values are
1790
+ # 1200 GiB, 2400 GiB, and increments of 2400 GiB.
1791
+ #
1792
+ # @option params [required, Array<String>] :subnet_ids
1793
+ # A list of subnet IDs that the cache will be accessible from. You can
1794
+ # specify only one subnet ID in a call to the `CreateFileCache`
1795
+ # operation.
1796
+ #
1797
+ # @option params [Array<String>] :security_group_ids
1798
+ # A list of IDs specifying the security groups to apply to all network
1799
+ # interfaces created for Amazon File Cache access. This list isn't
1800
+ # returned in later requests to describe the cache.
1801
+ #
1802
+ # @option params [Array<Types::Tag>] :tags
1803
+ # A list of `Tag` values, with a maximum of 50 elements.
1804
+ #
1805
+ # @option params [Boolean] :copy_tags_to_data_repository_associations
1806
+ # A boolean flag indicating whether tags for the cache should be copied
1807
+ # to data repository associations. This value defaults to false.
1808
+ #
1809
+ # @option params [String] :kms_key_id
1810
+ # Specifies the ID of the Key Management Service (KMS) key to use for
1811
+ # encrypting data on an Amazon File Cache. If a `KmsKeyId` isn't
1812
+ # specified, the Amazon FSx-managed KMS key for your account is used.
1813
+ # For more information, see [Encrypt][1] in the *Key Management Service
1814
+ # API Reference*.
1815
+ #
1816
+ #
1817
+ #
1818
+ # [1]: https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html
1819
+ #
1820
+ # @option params [Types::CreateFileCacheLustreConfiguration] :lustre_configuration
1821
+ # The configuration for the Amazon File Cache resource being created.
1822
+ #
1823
+ # @option params [Array<Types::FileCacheDataRepositoryAssociation>] :data_repository_associations
1824
+ # A list of up to 8 configurations for data repository associations
1825
+ # (DRAs) to be created during the cache creation. The DRAs link the
1826
+ # cache to either an Amazon S3 data repository or a Network File System
1827
+ # (NFS) data repository that supports the NFSv3 protocol.
1828
+ #
1829
+ # The DRA configurations must meet the following requirements:
1830
+ #
1831
+ # * All configurations on the list must be of the same data repository
1832
+ # type, either all S3 or all NFS. A cache can't link to different
1833
+ # data repository types at the same time.
1834
+ #
1835
+ # * An NFS DRA must link to an NFS file system that supports the NFSv3
1836
+ # protocol.
1837
+ #
1838
+ # DRA automatic import and automatic export is not supported.
1839
+ #
1840
+ # @return [Types::CreateFileCacheResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1841
+ #
1842
+ # * {Types::CreateFileCacheResponse#file_cache #file_cache} => Types::FileCacheCreating
1843
+ #
1844
+ # @example Request syntax with placeholder values
1845
+ #
1846
+ # resp = client.create_file_cache({
1847
+ # client_request_token: "ClientRequestToken",
1848
+ # file_cache_type: "LUSTRE", # required, accepts LUSTRE
1849
+ # file_cache_type_version: "FileSystemTypeVersion", # required
1850
+ # storage_capacity: 1, # required
1851
+ # subnet_ids: ["SubnetId"], # required
1852
+ # security_group_ids: ["SecurityGroupId"],
1853
+ # tags: [
1854
+ # {
1855
+ # key: "TagKey", # required
1856
+ # value: "TagValue", # required
1857
+ # },
1858
+ # ],
1859
+ # copy_tags_to_data_repository_associations: false,
1860
+ # kms_key_id: "KmsKeyId",
1861
+ # lustre_configuration: {
1862
+ # per_unit_storage_throughput: 1, # required
1863
+ # deployment_type: "CACHE_1", # required, accepts CACHE_1
1864
+ # weekly_maintenance_start_time: "WeeklyTime",
1865
+ # metadata_configuration: { # required
1866
+ # storage_capacity: 1, # required
1867
+ # },
1868
+ # },
1869
+ # data_repository_associations: [
1870
+ # {
1871
+ # file_cache_path: "Namespace", # required
1872
+ # data_repository_path: "ArchivePath", # required
1873
+ # data_repository_subdirectories: ["Namespace"],
1874
+ # nfs: {
1875
+ # version: "NFS3", # required, accepts NFS3
1876
+ # dns_ips: ["IpAddress"],
1877
+ # },
1878
+ # },
1879
+ # ],
1880
+ # })
1881
+ #
1882
+ # @example Response structure
1883
+ #
1884
+ # resp.file_cache.owner_id #=> String
1885
+ # resp.file_cache.creation_time #=> Time
1886
+ # resp.file_cache.file_cache_id #=> String
1887
+ # resp.file_cache.file_cache_type #=> String, one of "LUSTRE"
1888
+ # resp.file_cache.file_cache_type_version #=> String
1889
+ # resp.file_cache.lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "UPDATING", "FAILED"
1890
+ # resp.file_cache.failure_details.message #=> String
1891
+ # resp.file_cache.storage_capacity #=> Integer
1892
+ # resp.file_cache.vpc_id #=> String
1893
+ # resp.file_cache.subnet_ids #=> Array
1894
+ # resp.file_cache.subnet_ids[0] #=> String
1895
+ # resp.file_cache.network_interface_ids #=> Array
1896
+ # resp.file_cache.network_interface_ids[0] #=> String
1897
+ # resp.file_cache.dns_name #=> String
1898
+ # resp.file_cache.kms_key_id #=> String
1899
+ # resp.file_cache.resource_arn #=> String
1900
+ # resp.file_cache.tags #=> Array
1901
+ # resp.file_cache.tags[0].key #=> String
1902
+ # resp.file_cache.tags[0].value #=> String
1903
+ # resp.file_cache.copy_tags_to_data_repository_associations #=> Boolean
1904
+ # resp.file_cache.lustre_configuration.per_unit_storage_throughput #=> Integer
1905
+ # resp.file_cache.lustre_configuration.deployment_type #=> String, one of "CACHE_1"
1906
+ # resp.file_cache.lustre_configuration.mount_name #=> String
1907
+ # resp.file_cache.lustre_configuration.weekly_maintenance_start_time #=> String
1908
+ # resp.file_cache.lustre_configuration.metadata_configuration.storage_capacity #=> Integer
1909
+ # resp.file_cache.lustre_configuration.log_configuration.level #=> String, one of "DISABLED", "WARN_ONLY", "ERROR_ONLY", "WARN_ERROR"
1910
+ # resp.file_cache.lustre_configuration.log_configuration.destination #=> String
1911
+ # resp.file_cache.data_repository_association_ids #=> Array
1912
+ # resp.file_cache.data_repository_association_ids[0] #=> String
1913
+ #
1914
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileCache AWS API Documentation
1915
+ #
1916
+ # @overload create_file_cache(params = {})
1917
+ # @param [Hash] params ({})
1918
+ def create_file_cache(params = {}, options = {})
1919
+ req = build_request(:create_file_cache, params)
1920
+ req.send_request(options)
1921
+ end
1922
+
1712
1923
  # Creates a new, empty Amazon FSx file system. You can create the
1713
1924
  # following supported Amazon FSx file systems using the
1714
1925
  # `CreateFileSystem` API operation:
@@ -1746,18 +1957,6 @@ module Aws::FSx
1746
1957
  #
1747
1958
  # * Returns the description of the file system in JSON format.
1748
1959
  #
1749
- # This operation requires a client request token in the request that
1750
- # Amazon FSx uses to ensure idempotent creation. This means that calling
1751
- # the operation multiple times with the same client request token has no
1752
- # effect. By using the idempotent operation, you can retry a
1753
- # `CreateFileSystem` operation without the risk of creating an extra
1754
- # file system. This approach can be useful when an initial call fails in
1755
- # a way that makes it unclear whether a file system was created.
1756
- # Examples are if a transport-level timeout occurred, or your connection
1757
- # was reset. If you use the same client request token and the initial
1758
- # call created a file system, the client receives a success message as
1759
- # long as the parameters are the same.
1760
- #
1761
1960
  # <note markdown="1"> The `CreateFileSystem` call returns while the file system's lifecycle
1762
1961
  # state is still `CREATING`. You can check the file-system creation
1763
1962
  # status by calling the [DescribeFileSystems][1] operation, which
@@ -2453,6 +2652,18 @@ module Aws::FSx
2453
2652
  # @option params [Types::CreateFileSystemOpenZFSConfiguration] :open_zfs_configuration
2454
2653
  # The OpenZFS configuration for the file system that's being created.
2455
2654
  #
2655
+ # @option params [Integer] :storage_capacity
2656
+ # Sets the storage capacity of the OpenZFS file system that you're
2657
+ # creating from a backup, in gibibytes (GiB). Valid values are from 64
2658
+ # GiB up to 524,288 GiB (512 TiB). However, the value that you specify
2659
+ # must be equal to or greater than the backup's storage capacity value.
2660
+ # If you don't use the `StorageCapacity` parameter, the default is the
2661
+ # backup's `StorageCapacity` value.
2662
+ #
2663
+ # If used to create a file system other than OpenZFS, you must provide a
2664
+ # value that matches the backup's `StorageCapacity` value. If you
2665
+ # provide any other value, Amazon FSx responds with a 400 Bad Request.
2666
+ #
2456
2667
  # @return [Types::CreateFileSystemFromBackupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2457
2668
  #
2458
2669
  # * {Types::CreateFileSystemFromBackupResponse#file_system #file_system} => Types::FileSystem
@@ -2611,6 +2822,7 @@ module Aws::FSx
2611
2822
  # read_only: false,
2612
2823
  # },
2613
2824
  # },
2825
+ # storage_capacity: 1,
2614
2826
  # })
2615
2827
  #
2616
2828
  # @example Response structure
@@ -3676,7 +3888,7 @@ module Aws::FSx
3676
3888
  # **A suitable default value is auto-generated.** You should normally
3677
3889
  # not need to pass this option.**
3678
3890
  #
3679
- # @option params [required, Boolean] :delete_data_in_file_system
3891
+ # @option params [Boolean] :delete_data_in_file_system
3680
3892
  # Set to `true` to delete the data in the file system that corresponds
3681
3893
  # to the data repository association.
3682
3894
  #
@@ -3691,7 +3903,7 @@ module Aws::FSx
3691
3903
  # resp = client.delete_data_repository_association({
3692
3904
  # association_id: "DataRepositoryAssociationId", # required
3693
3905
  # client_request_token: "ClientRequestToken",
3694
- # delete_data_in_file_system: false, # required
3906
+ # delete_data_in_file_system: false,
3695
3907
  # })
3696
3908
  #
3697
3909
  # @example Response structure
@@ -3709,6 +3921,60 @@ module Aws::FSx
3709
3921
  req.send_request(options)
3710
3922
  end
3711
3923
 
3924
+ # Deletes an Amazon File Cache resource. After deletion, the cache no
3925
+ # longer exists, and its data is gone.
3926
+ #
3927
+ # The `DeleteFileCache` operation returns while the cache has the
3928
+ # `DELETING` status. You can check the cache deletion status by calling
3929
+ # the [DescribeFileCaches][1] operation, which returns a list of caches
3930
+ # in your account. If you pass the cache ID for a deleted cache, the
3931
+ # `DescribeFileCaches` operation returns a `FileCacheNotFound` error.
3932
+ #
3933
+ # The data in a deleted cache is also deleted and can't be recovered by
3934
+ # any means.
3935
+ #
3936
+ #
3937
+ #
3938
+ # [1]: https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileCaches.html
3939
+ #
3940
+ # @option params [required, String] :file_cache_id
3941
+ # The ID of the cache that's being deleted.
3942
+ #
3943
+ # @option params [String] :client_request_token
3944
+ # (Optional) An idempotency token for resource creation, in a string of
3945
+ # up to 64 ASCII characters. This token is automatically filled on your
3946
+ # behalf when you use the Command Line Interface (CLI) or an Amazon Web
3947
+ # Services SDK.
3948
+ #
3949
+ # **A suitable default value is auto-generated.** You should normally
3950
+ # not need to pass this option.**
3951
+ #
3952
+ # @return [Types::DeleteFileCacheResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3953
+ #
3954
+ # * {Types::DeleteFileCacheResponse#file_cache_id #file_cache_id} => String
3955
+ # * {Types::DeleteFileCacheResponse#lifecycle #lifecycle} => String
3956
+ #
3957
+ # @example Request syntax with placeholder values
3958
+ #
3959
+ # resp = client.delete_file_cache({
3960
+ # file_cache_id: "FileCacheId", # required
3961
+ # client_request_token: "ClientRequestToken",
3962
+ # })
3963
+ #
3964
+ # @example Response structure
3965
+ #
3966
+ # resp.file_cache_id #=> String
3967
+ # resp.lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "UPDATING", "FAILED"
3968
+ #
3969
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteFileCache AWS API Documentation
3970
+ #
3971
+ # @overload delete_file_cache(params = {})
3972
+ # @param [Hash] params ({})
3973
+ def delete_file_cache(params = {}, options = {})
3974
+ req = build_request(:delete_file_cache, params)
3975
+ req.send_request(options)
3976
+ end
3977
+
3712
3978
  # Deletes a file system. After deletion, the file system no longer
3713
3979
  # exists, and its data is gone. Any existing automatic backups and
3714
3980
  # snapshots are also deleted.
@@ -4103,7 +4369,7 @@ module Aws::FSx
4103
4369
  # backup_ids: ["BackupId"],
4104
4370
  # filters: [
4105
4371
  # {
4106
- # name: "file-system-id", # accepts file-system-id, backup-type, file-system-type, volume-id, data-repository-type
4372
+ # name: "file-system-id", # accepts file-system-id, backup-type, file-system-type, volume-id, data-repository-type, file-cache-id, file-cache-type
4107
4373
  # values: ["FilterValue"],
4108
4374
  # },
4109
4375
  # ],
@@ -4445,26 +4711,28 @@ module Aws::FSx
4445
4711
  req.send_request(options)
4446
4712
  end
4447
4713
 
4448
- # Returns the description of specific Amazon FSx for Lustre data
4449
- # repository associations, if one or more `AssociationIds` values are
4450
- # provided in the request, or if filters are used in the request. Data
4451
- # repository associations are supported only for file systems with the
4452
- # `Persistent_2` deployment type.
4714
+ # Returns the description of specific Amazon FSx for Lustre or Amazon
4715
+ # File Cache data repository associations, if one or more
4716
+ # `AssociationIds` values are provided in the request, or if filters are
4717
+ # used in the request. Data repository associations are supported only
4718
+ # for Amazon FSx for Lustre file systems with the `Persistent_2`
4719
+ # deployment type and for Amazon File Cache resources.
4453
4720
  #
4454
4721
  # You can use filters to narrow the response to include just data
4455
4722
  # repository associations for specific file systems (use the
4456
- # `file-system-id` filter with the ID of the file system) or data
4723
+ # `file-system-id` filter with the ID of the file system) or caches (use
4724
+ # the `file-cache-id` filter with the ID of the cache), or data
4457
4725
  # repository associations for a specific repository type (use the
4458
- # `data-repository-type` filter with a value of `S3`). If you don't use
4459
- # filters, the response returns all data repository associations owned
4460
- # by your Amazon Web Services account in the Amazon Web Services Region
4461
- # of the endpoint that you're calling.
4726
+ # `data-repository-type` filter with a value of `S3` or `NFS`). If you
4727
+ # don't use filters, the response returns all data repository
4728
+ # associations owned by your Amazon Web Services account in the Amazon
4729
+ # Web Services Region of the endpoint that you're calling.
4462
4730
  #
4463
4731
  # When retrieving all data repository associations, you can paginate the
4464
4732
  # response by using the optional `MaxResults` parameter to limit the
4465
4733
  # number of data repository associations returned in a response. If more
4466
- # data repository associations remain, Amazon FSx returns a `NextToken`
4467
- # value in the response. In this case, send a later request with the
4734
+ # data repository associations remain, a `NextToken` value is returned
4735
+ # in the response. In this case, send a later request with the
4468
4736
  # `NextToken` request parameter set to the value of `NextToken` from the
4469
4737
  # last response.
4470
4738
  #
@@ -4498,7 +4766,7 @@ module Aws::FSx
4498
4766
  # association_ids: ["DataRepositoryAssociationId"],
4499
4767
  # filters: [
4500
4768
  # {
4501
- # name: "file-system-id", # accepts file-system-id, backup-type, file-system-type, volume-id, data-repository-type
4769
+ # name: "file-system-id", # accepts file-system-id, backup-type, file-system-type, volume-id, data-repository-type, file-cache-id, file-cache-type
4502
4770
  # values: ["FilterValue"],
4503
4771
  # },
4504
4772
  # ],
@@ -4526,6 +4794,15 @@ module Aws::FSx
4526
4794
  # resp.associations[0].tags[0].key #=> String
4527
4795
  # resp.associations[0].tags[0].value #=> String
4528
4796
  # resp.associations[0].creation_time #=> Time
4797
+ # resp.associations[0].file_cache_id #=> String
4798
+ # resp.associations[0].file_cache_path #=> String
4799
+ # resp.associations[0].data_repository_subdirectories #=> Array
4800
+ # resp.associations[0].data_repository_subdirectories[0] #=> String
4801
+ # resp.associations[0].nfs.version #=> String, one of "NFS3"
4802
+ # resp.associations[0].nfs.dns_ips #=> Array
4803
+ # resp.associations[0].nfs.dns_ips[0] #=> String
4804
+ # resp.associations[0].nfs.auto_export_policy.events #=> Array
4805
+ # resp.associations[0].nfs.auto_export_policy.events[0] #=> String, one of "NEW", "CHANGED", "DELETED"
4529
4806
  # resp.next_token #=> String
4530
4807
  #
4531
4808
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeDataRepositoryAssociations AWS API Documentation
@@ -4537,18 +4814,19 @@ module Aws::FSx
4537
4814
  req.send_request(options)
4538
4815
  end
4539
4816
 
4540
- # Returns the description of specific Amazon FSx for Lustre data
4541
- # repository tasks, if one or more `TaskIds` values are provided in the
4542
- # request, or if filters are used in the request. You can use filters to
4543
- # narrow the response to include just tasks for specific file systems,
4544
- # or tasks in a specific lifecycle state. Otherwise, it returns all data
4545
- # repository tasks owned by your Amazon Web Services account in the
4546
- # Amazon Web Services Region of the endpoint that you're calling.
4817
+ # Returns the description of specific Amazon FSx for Lustre or Amazon
4818
+ # File Cache data repository tasks, if one or more `TaskIds` values are
4819
+ # provided in the request, or if filters are used in the request. You
4820
+ # can use filters to narrow the response to include just tasks for
4821
+ # specific file systems or caches, or tasks in a specific lifecycle
4822
+ # state. Otherwise, it returns all data repository tasks owned by your
4823
+ # Amazon Web Services account in the Amazon Web Services Region of the
4824
+ # endpoint that you're calling.
4547
4825
  #
4548
4826
  # When retrieving all tasks, you can paginate the response by using the
4549
4827
  # optional `MaxResults` parameter to limit the number of tasks returned
4550
- # in a response. If more tasks remain, Amazon FSx returns a `NextToken`
4551
- # value in the response. In this case, send a later request with the
4828
+ # in a response. If more tasks remain, a `NextToken` value is returned
4829
+ # in the response. In this case, send a later request with the
4552
4830
  # `NextToken` request parameter set to the value of `NextToken` from the
4553
4831
  # last response.
4554
4832
  #
@@ -4584,7 +4862,7 @@ module Aws::FSx
4584
4862
  # task_ids: ["TaskId"],
4585
4863
  # filters: [
4586
4864
  # {
4587
- # name: "file-system-id", # accepts file-system-id, task-lifecycle, data-repository-association-id
4865
+ # name: "file-system-id", # accepts file-system-id, task-lifecycle, data-repository-association-id, file-cache-id
4588
4866
  # values: ["DataRepositoryTaskFilterValue"],
4589
4867
  # },
4590
4868
  # ],
@@ -4597,7 +4875,7 @@ module Aws::FSx
4597
4875
  # resp.data_repository_tasks #=> Array
4598
4876
  # resp.data_repository_tasks[0].task_id #=> String
4599
4877
  # resp.data_repository_tasks[0].lifecycle #=> String, one of "PENDING", "EXECUTING", "FAILED", "SUCCEEDED", "CANCELED", "CANCELING"
4600
- # resp.data_repository_tasks[0].type #=> String, one of "EXPORT_TO_REPOSITORY", "IMPORT_METADATA_FROM_REPOSITORY"
4878
+ # resp.data_repository_tasks[0].type #=> String, one of "EXPORT_TO_REPOSITORY", "IMPORT_METADATA_FROM_REPOSITORY", "RELEASE_DATA_FROM_FILESYSTEM", "AUTO_RELEASE_DATA"
4601
4879
  # resp.data_repository_tasks[0].creation_time #=> Time
4602
4880
  # resp.data_repository_tasks[0].start_time #=> Time
4603
4881
  # resp.data_repository_tasks[0].end_time #=> Time
@@ -4613,10 +4891,13 @@ module Aws::FSx
4613
4891
  # resp.data_repository_tasks[0].status.succeeded_count #=> Integer
4614
4892
  # resp.data_repository_tasks[0].status.failed_count #=> Integer
4615
4893
  # resp.data_repository_tasks[0].status.last_updated_time #=> Time
4894
+ # resp.data_repository_tasks[0].status.released_capacity #=> Integer
4616
4895
  # resp.data_repository_tasks[0].report.enabled #=> Boolean
4617
4896
  # resp.data_repository_tasks[0].report.path #=> String
4618
4897
  # resp.data_repository_tasks[0].report.format #=> String, one of "REPORT_CSV_20191124"
4619
4898
  # resp.data_repository_tasks[0].report.scope #=> String, one of "FAILED_FILES_ONLY"
4899
+ # resp.data_repository_tasks[0].capacity_to_release #=> Integer
4900
+ # resp.data_repository_tasks[0].file_cache_id #=> String
4620
4901
  # resp.next_token #=> String
4621
4902
  #
4622
4903
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeDataRepositoryTasks AWS API Documentation
@@ -4628,6 +4909,101 @@ module Aws::FSx
4628
4909
  req.send_request(options)
4629
4910
  end
4630
4911
 
4912
+ # Returns the description of a specific Amazon File Cache resource, if a
4913
+ # `FileCacheIds` value is provided for that cache. Otherwise, it returns
4914
+ # descriptions of all caches owned by your Amazon Web Services account
4915
+ # in the Amazon Web Services Region of the endpoint that you're
4916
+ # calling.
4917
+ #
4918
+ # When retrieving all cache descriptions, you can optionally specify the
4919
+ # `MaxResults` parameter to limit the number of descriptions in a
4920
+ # response. If more cache descriptions remain, the operation returns a
4921
+ # `NextToken` value in the response. In this case, send a later request
4922
+ # with the `NextToken` request parameter set to the value of `NextToken`
4923
+ # from the last response.
4924
+ #
4925
+ # This operation is used in an iterative process to retrieve a list of
4926
+ # your cache descriptions. `DescribeFileCaches` is called first without
4927
+ # a `NextToken`value. Then the operation continues to be called with the
4928
+ # `NextToken` parameter set to the value of the last `NextToken` value
4929
+ # until a response has no `NextToken`.
4930
+ #
4931
+ # When using this operation, keep the following in mind:
4932
+ #
4933
+ # * The implementation might return fewer than `MaxResults` cache
4934
+ # descriptions while still including a `NextToken` value.
4935
+ #
4936
+ # * The order of caches returned in the response of one
4937
+ # `DescribeFileCaches` call and the order of caches returned across
4938
+ # the responses of a multicall iteration is unspecified.
4939
+ #
4940
+ # @option params [Array<String>] :file_cache_ids
4941
+ # IDs of the caches whose descriptions you want to retrieve (String).
4942
+ #
4943
+ # @option params [Integer] :max_results
4944
+ # The maximum number of resources to return in the response. This value
4945
+ # must be an integer greater than zero.
4946
+ #
4947
+ # @option params [String] :next_token
4948
+ # (Optional) Opaque pagination token returned from a previous operation
4949
+ # (String). If present, this token indicates from what point you can
4950
+ # continue processing the request, where the previous `NextToken` value
4951
+ # left off.
4952
+ #
4953
+ # @return [Types::DescribeFileCachesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4954
+ #
4955
+ # * {Types::DescribeFileCachesResponse#file_caches #file_caches} => Array&lt;Types::FileCache&gt;
4956
+ # * {Types::DescribeFileCachesResponse#next_token #next_token} => String
4957
+ #
4958
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4959
+ #
4960
+ # @example Request syntax with placeholder values
4961
+ #
4962
+ # resp = client.describe_file_caches({
4963
+ # file_cache_ids: ["FileCacheId"],
4964
+ # max_results: 1,
4965
+ # next_token: "NextToken",
4966
+ # })
4967
+ #
4968
+ # @example Response structure
4969
+ #
4970
+ # resp.file_caches #=> Array
4971
+ # resp.file_caches[0].owner_id #=> String
4972
+ # resp.file_caches[0].creation_time #=> Time
4973
+ # resp.file_caches[0].file_cache_id #=> String
4974
+ # resp.file_caches[0].file_cache_type #=> String, one of "LUSTRE"
4975
+ # resp.file_caches[0].file_cache_type_version #=> String
4976
+ # resp.file_caches[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "UPDATING", "FAILED"
4977
+ # resp.file_caches[0].failure_details.message #=> String
4978
+ # resp.file_caches[0].storage_capacity #=> Integer
4979
+ # resp.file_caches[0].vpc_id #=> String
4980
+ # resp.file_caches[0].subnet_ids #=> Array
4981
+ # resp.file_caches[0].subnet_ids[0] #=> String
4982
+ # resp.file_caches[0].network_interface_ids #=> Array
4983
+ # resp.file_caches[0].network_interface_ids[0] #=> String
4984
+ # resp.file_caches[0].dns_name #=> String
4985
+ # resp.file_caches[0].kms_key_id #=> String
4986
+ # resp.file_caches[0].resource_arn #=> String
4987
+ # resp.file_caches[0].lustre_configuration.per_unit_storage_throughput #=> Integer
4988
+ # resp.file_caches[0].lustre_configuration.deployment_type #=> String, one of "CACHE_1"
4989
+ # resp.file_caches[0].lustre_configuration.mount_name #=> String
4990
+ # resp.file_caches[0].lustre_configuration.weekly_maintenance_start_time #=> String
4991
+ # resp.file_caches[0].lustre_configuration.metadata_configuration.storage_capacity #=> Integer
4992
+ # resp.file_caches[0].lustre_configuration.log_configuration.level #=> String, one of "DISABLED", "WARN_ONLY", "ERROR_ONLY", "WARN_ERROR"
4993
+ # resp.file_caches[0].lustre_configuration.log_configuration.destination #=> String
4994
+ # resp.file_caches[0].data_repository_association_ids #=> Array
4995
+ # resp.file_caches[0].data_repository_association_ids[0] #=> String
4996
+ # resp.next_token #=> String
4997
+ #
4998
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileCaches AWS API Documentation
4999
+ #
5000
+ # @overload describe_file_caches(params = {})
5001
+ # @param [Hash] params ({})
5002
+ def describe_file_caches(params = {}, options = {})
5003
+ req = build_request(:describe_file_caches, params)
5004
+ req.send_request(options)
5005
+ end
5006
+
4631
5007
  # Returns the DNS aliases that are associated with the specified Amazon
4632
5008
  # FSx for Windows File Server file system. A history of all DNS aliases
4633
5009
  # that have been associated with and disassociated from the file system
@@ -6040,6 +6416,15 @@ module Aws::FSx
6040
6416
  # resp.association.tags[0].key #=> String
6041
6417
  # resp.association.tags[0].value #=> String
6042
6418
  # resp.association.creation_time #=> Time
6419
+ # resp.association.file_cache_id #=> String
6420
+ # resp.association.file_cache_path #=> String
6421
+ # resp.association.data_repository_subdirectories #=> Array
6422
+ # resp.association.data_repository_subdirectories[0] #=> String
6423
+ # resp.association.nfs.version #=> String, one of "NFS3"
6424
+ # resp.association.nfs.dns_ips #=> Array
6425
+ # resp.association.nfs.dns_ips[0] #=> String
6426
+ # resp.association.nfs.auto_export_policy.events #=> Array
6427
+ # resp.association.nfs.auto_export_policy.events[0] #=> String, one of "NEW", "CHANGED", "DELETED"
6043
6428
  #
6044
6429
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateDataRepositoryAssociation AWS API Documentation
6045
6430
  #
@@ -6050,6 +6435,75 @@ module Aws::FSx
6050
6435
  req.send_request(options)
6051
6436
  end
6052
6437
 
6438
+ # Updates the configuration of an existing Amazon File Cache resource.
6439
+ # You can update multiple properties in a single request.
6440
+ #
6441
+ # @option params [required, String] :file_cache_id
6442
+ # The ID of the cache that you are updating.
6443
+ #
6444
+ # @option params [String] :client_request_token
6445
+ # (Optional) An idempotency token for resource creation, in a string of
6446
+ # up to 64 ASCII characters. This token is automatically filled on your
6447
+ # behalf when you use the Command Line Interface (CLI) or an Amazon Web
6448
+ # Services SDK.
6449
+ #
6450
+ # **A suitable default value is auto-generated.** You should normally
6451
+ # not need to pass this option.**
6452
+ #
6453
+ # @option params [Types::UpdateFileCacheLustreConfiguration] :lustre_configuration
6454
+ # The configuration updates for an Amazon File Cache resource.
6455
+ #
6456
+ # @return [Types::UpdateFileCacheResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6457
+ #
6458
+ # * {Types::UpdateFileCacheResponse#file_cache #file_cache} => Types::FileCache
6459
+ #
6460
+ # @example Request syntax with placeholder values
6461
+ #
6462
+ # resp = client.update_file_cache({
6463
+ # file_cache_id: "FileCacheId", # required
6464
+ # client_request_token: "ClientRequestToken",
6465
+ # lustre_configuration: {
6466
+ # weekly_maintenance_start_time: "WeeklyTime",
6467
+ # },
6468
+ # })
6469
+ #
6470
+ # @example Response structure
6471
+ #
6472
+ # resp.file_cache.owner_id #=> String
6473
+ # resp.file_cache.creation_time #=> Time
6474
+ # resp.file_cache.file_cache_id #=> String
6475
+ # resp.file_cache.file_cache_type #=> String, one of "LUSTRE"
6476
+ # resp.file_cache.file_cache_type_version #=> String
6477
+ # resp.file_cache.lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "UPDATING", "FAILED"
6478
+ # resp.file_cache.failure_details.message #=> String
6479
+ # resp.file_cache.storage_capacity #=> Integer
6480
+ # resp.file_cache.vpc_id #=> String
6481
+ # resp.file_cache.subnet_ids #=> Array
6482
+ # resp.file_cache.subnet_ids[0] #=> String
6483
+ # resp.file_cache.network_interface_ids #=> Array
6484
+ # resp.file_cache.network_interface_ids[0] #=> String
6485
+ # resp.file_cache.dns_name #=> String
6486
+ # resp.file_cache.kms_key_id #=> String
6487
+ # resp.file_cache.resource_arn #=> String
6488
+ # resp.file_cache.lustre_configuration.per_unit_storage_throughput #=> Integer
6489
+ # resp.file_cache.lustre_configuration.deployment_type #=> String, one of "CACHE_1"
6490
+ # resp.file_cache.lustre_configuration.mount_name #=> String
6491
+ # resp.file_cache.lustre_configuration.weekly_maintenance_start_time #=> String
6492
+ # resp.file_cache.lustre_configuration.metadata_configuration.storage_capacity #=> Integer
6493
+ # resp.file_cache.lustre_configuration.log_configuration.level #=> String, one of "DISABLED", "WARN_ONLY", "ERROR_ONLY", "WARN_ERROR"
6494
+ # resp.file_cache.lustre_configuration.log_configuration.destination #=> String
6495
+ # resp.file_cache.data_repository_association_ids #=> Array
6496
+ # resp.file_cache.data_repository_association_ids[0] #=> String
6497
+ #
6498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileCache AWS API Documentation
6499
+ #
6500
+ # @overload update_file_cache(params = {})
6501
+ # @param [Hash] params ({})
6502
+ def update_file_cache(params = {}, options = {})
6503
+ req = build_request(:update_file_cache, params)
6504
+ req.send_request(options)
6505
+ end
6506
+
6053
6507
  # Use this operation to update the configuration of an existing Amazon
6054
6508
  # FSx file system. You can update multiple properties in a single
6055
6509
  # request.
@@ -6995,7 +7449,7 @@ module Aws::FSx
6995
7449
  params: params,
6996
7450
  config: config)
6997
7451
  context[:gem_name] = 'aws-sdk-fsx'
6998
- context[:gem_version] = '1.59.0'
7452
+ context[:gem_version] = '1.60.0'
6999
7453
  Seahorse::Client::Request.new(handlers, context)
7000
7454
  end
7001
7455