aws-sdk-fsx 1.59.0 → 1.61.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:fsx)
@@ -79,8 +79,9 @@ module Aws::FSx
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
84
+ add_plugin(Aws::FSx::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -297,6 +298,19 @@ module Aws::FSx
297
298
  # ** Please note ** When response stubbing is enabled, no HTTP
298
299
  # requests are made, and retries are disabled.
299
300
  #
301
+ # @option options [Aws::TokenProvider] :token_provider
302
+ # A Bearer Token Provider. This can be an instance of any one of the
303
+ # following classes:
304
+ #
305
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
306
+ # tokens.
307
+ #
308
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
309
+ # access token generated from `aws login`.
310
+ #
311
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
312
+ # will be used to search for tokens configured for your profile in shared configuration files.
313
+ #
300
314
  # @option options [Boolean] :use_dualstack_endpoint
301
315
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
302
316
  # will be used if available.
@@ -310,6 +324,9 @@ module Aws::FSx
310
324
  # When `true`, request parameters are validated before
311
325
  # sending the request.
312
326
  #
327
+ # @option options [Aws::FSx::EndpointProvider] :endpoint_provider
328
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::FSx::EndpointParameters`
329
+ #
313
330
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
314
331
  # requests through. Formatted like 'http://proxy.com:123'.
315
332
  #
@@ -1460,6 +1477,12 @@ module Aws::FSx
1460
1477
  # linking a data repository to your file system, see [Linking your file
1461
1478
  # system to an S3 bucket][1].
1462
1479
  #
1480
+ # <note markdown="1"> `CreateDataRepositoryAssociation` isn't supported on Amazon File
1481
+ # Cache resources. To create a DRA on Amazon File Cache, use the
1482
+ # `CreateFileCache` operation.
1483
+ #
1484
+ # </note>
1485
+ #
1463
1486
  #
1464
1487
  #
1465
1488
  # [1]: https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html
@@ -1467,7 +1490,7 @@ module Aws::FSx
1467
1490
  # @option params [required, String] :file_system_id
1468
1491
  # The globally unique ID of the file system, assigned by Amazon FSx.
1469
1492
  #
1470
- # @option params [required, String] :file_system_path
1493
+ # @option params [String] :file_system_path
1471
1494
  # A path on the file system that points to a high-level directory (such
1472
1495
  # as `/ns1/`) or subdirectory (such as `/ns1/subdir/`) that will be
1473
1496
  # mapped 1-1 with `DataRepositoryPath`. The leading forward slash in the
@@ -1482,7 +1505,7 @@ module Aws::FSx
1482
1505
  # directory.
1483
1506
  #
1484
1507
  # <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
1508
+ # can link only one data repository to the file system. You can only
1486
1509
  # specify "/" as the file system path for the first data repository
1487
1510
  # associated with a file system.
1488
1511
  #
@@ -1537,7 +1560,7 @@ module Aws::FSx
1537
1560
  #
1538
1561
  # resp = client.create_data_repository_association({
1539
1562
  # file_system_id: "FileSystemId", # required
1540
- # file_system_path: "Namespace", # required
1563
+ # file_system_path: "Namespace",
1541
1564
  # data_repository_path: "ArchivePath", # required
1542
1565
  # batch_import_meta_data_on_create: false,
1543
1566
  # imported_file_chunk_size: 1,
@@ -1577,6 +1600,15 @@ module Aws::FSx
1577
1600
  # resp.association.tags[0].key #=> String
1578
1601
  # resp.association.tags[0].value #=> String
1579
1602
  # resp.association.creation_time #=> Time
1603
+ # resp.association.file_cache_id #=> String
1604
+ # resp.association.file_cache_path #=> String
1605
+ # resp.association.data_repository_subdirectories #=> Array
1606
+ # resp.association.data_repository_subdirectories[0] #=> String
1607
+ # resp.association.nfs.version #=> String, one of "NFS3"
1608
+ # resp.association.nfs.dns_ips #=> Array
1609
+ # resp.association.nfs.dns_ips[0] #=> String
1610
+ # resp.association.nfs.auto_export_policy.events #=> Array
1611
+ # resp.association.nfs.auto_export_policy.events[0] #=> String, one of "NEW", "CHANGED", "DELETED"
1580
1612
  #
1581
1613
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateDataRepositoryAssociation AWS API Documentation
1582
1614
  #
@@ -1650,6 +1682,11 @@ module Aws::FSx
1650
1682
  # @option params [Array<Types::Tag>] :tags
1651
1683
  # A list of `Tag` values, with a maximum of 50 elements.
1652
1684
  #
1685
+ # @option params [Integer] :capacity_to_release
1686
+ # Specifies the amount of data to release, in GiB, by an Amazon File
1687
+ # Cache `AUTO_RELEASE_DATA` task that automatically releases files from
1688
+ # the cache.
1689
+ #
1653
1690
  # @return [Types::CreateDataRepositoryTaskResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1654
1691
  #
1655
1692
  # * {Types::CreateDataRepositoryTaskResponse#data_repository_task #data_repository_task} => Types::DataRepositoryTask
@@ -1657,7 +1694,7 @@ module Aws::FSx
1657
1694
  # @example Request syntax with placeholder values
1658
1695
  #
1659
1696
  # resp = client.create_data_repository_task({
1660
- # type: "EXPORT_TO_REPOSITORY", # required, accepts EXPORT_TO_REPOSITORY, IMPORT_METADATA_FROM_REPOSITORY
1697
+ # type: "EXPORT_TO_REPOSITORY", # required, accepts EXPORT_TO_REPOSITORY, IMPORT_METADATA_FROM_REPOSITORY, RELEASE_DATA_FROM_FILESYSTEM, AUTO_RELEASE_DATA
1661
1698
  # paths: ["DataRepositoryTaskPath"],
1662
1699
  # file_system_id: "FileSystemId", # required
1663
1700
  # report: { # required
@@ -1673,13 +1710,14 @@ module Aws::FSx
1673
1710
  # value: "TagValue", # required
1674
1711
  # },
1675
1712
  # ],
1713
+ # capacity_to_release: 1,
1676
1714
  # })
1677
1715
  #
1678
1716
  # @example Response structure
1679
1717
  #
1680
1718
  # resp.data_repository_task.task_id #=> String
1681
1719
  # 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"
1720
+ # resp.data_repository_task.type #=> String, one of "EXPORT_TO_REPOSITORY", "IMPORT_METADATA_FROM_REPOSITORY", "RELEASE_DATA_FROM_FILESYSTEM", "AUTO_RELEASE_DATA"
1683
1721
  # resp.data_repository_task.creation_time #=> Time
1684
1722
  # resp.data_repository_task.start_time #=> Time
1685
1723
  # resp.data_repository_task.end_time #=> Time
@@ -1695,10 +1733,13 @@ module Aws::FSx
1695
1733
  # resp.data_repository_task.status.succeeded_count #=> Integer
1696
1734
  # resp.data_repository_task.status.failed_count #=> Integer
1697
1735
  # resp.data_repository_task.status.last_updated_time #=> Time
1736
+ # resp.data_repository_task.status.released_capacity #=> Integer
1698
1737
  # resp.data_repository_task.report.enabled #=> Boolean
1699
1738
  # resp.data_repository_task.report.path #=> String
1700
1739
  # resp.data_repository_task.report.format #=> String, one of "REPORT_CSV_20191124"
1701
1740
  # resp.data_repository_task.report.scope #=> String, one of "FAILED_FILES_ONLY"
1741
+ # resp.data_repository_task.capacity_to_release #=> Integer
1742
+ # resp.data_repository_task.file_cache_id #=> String
1702
1743
  #
1703
1744
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateDataRepositoryTask AWS API Documentation
1704
1745
  #
@@ -1709,6 +1750,193 @@ module Aws::FSx
1709
1750
  req.send_request(options)
1710
1751
  end
1711
1752
 
1753
+ # Creates a new Amazon File Cache resource.
1754
+ #
1755
+ # You can use this operation with a client request token in the request
1756
+ # that Amazon File Cache uses to ensure idempotent creation. If a cache
1757
+ # with the specified client request token exists and the parameters
1758
+ # match, `CreateFileCache` returns the description of the existing
1759
+ # cache. If a cache with the specified client request token exists and
1760
+ # the parameters don't match, this call returns
1761
+ # `IncompatibleParameterError`. If a file cache with the specified
1762
+ # client request token doesn't exist, `CreateFileCache` does the
1763
+ # following:
1764
+ #
1765
+ # * Creates a new, empty Amazon File Cache resourcewith an assigned ID,
1766
+ # and an initial lifecycle state of `CREATING`.
1767
+ #
1768
+ # * Returns the description of the cache in JSON format.
1769
+ #
1770
+ # <note markdown="1"> The `CreateFileCache` call returns while the cache's lifecycle state
1771
+ # is still `CREATING`. You can check the cache creation status by
1772
+ # calling the [DescribeFileCaches][1] operation, which returns the cache
1773
+ # state along with other information.
1774
+ #
1775
+ # </note>
1776
+ #
1777
+ #
1778
+ #
1779
+ # [1]: https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileCaches.html
1780
+ #
1781
+ # @option params [String] :client_request_token
1782
+ # An idempotency token for resource creation, in a string of up to 64
1783
+ # ASCII characters. This token is automatically filled on your behalf
1784
+ # when you use the Command Line Interface (CLI) or an Amazon Web
1785
+ # Services SDK.
1786
+ #
1787
+ # By using the idempotent operation, you can retry a `CreateFileCache`
1788
+ # operation without the risk of creating an extra cache. This approach
1789
+ # can be useful when an initial call fails in a way that makes it
1790
+ # unclear whether a cache was created. Examples are if a transport level
1791
+ # timeout occurred, or your connection was reset. If you use the same
1792
+ # client request token and the initial call created a cache, the client
1793
+ # receives success as long as the parameters are the same.
1794
+ #
1795
+ # **A suitable default value is auto-generated.** You should normally
1796
+ # not need to pass this option.**
1797
+ #
1798
+ # @option params [required, String] :file_cache_type
1799
+ # The type of cache that you're creating, which must be `LUSTRE`.
1800
+ #
1801
+ # @option params [required, String] :file_cache_type_version
1802
+ # Sets the Lustre version for the cache that you're creating, which
1803
+ # must be `2.12`.
1804
+ #
1805
+ # @option params [required, Integer] :storage_capacity
1806
+ # The storage capacity of the cache in gibibytes (GiB). Valid values are
1807
+ # 1200 GiB, 2400 GiB, and increments of 2400 GiB.
1808
+ #
1809
+ # @option params [required, Array<String>] :subnet_ids
1810
+ # A list of subnet IDs that the cache will be accessible from. You can
1811
+ # specify only one subnet ID in a call to the `CreateFileCache`
1812
+ # operation.
1813
+ #
1814
+ # @option params [Array<String>] :security_group_ids
1815
+ # A list of IDs specifying the security groups to apply to all network
1816
+ # interfaces created for Amazon File Cache access. This list isn't
1817
+ # returned in later requests to describe the cache.
1818
+ #
1819
+ # @option params [Array<Types::Tag>] :tags
1820
+ # A list of `Tag` values, with a maximum of 50 elements.
1821
+ #
1822
+ # @option params [Boolean] :copy_tags_to_data_repository_associations
1823
+ # A boolean flag indicating whether tags for the cache should be copied
1824
+ # to data repository associations. This value defaults to false.
1825
+ #
1826
+ # @option params [String] :kms_key_id
1827
+ # Specifies the ID of the Key Management Service (KMS) key to use for
1828
+ # encrypting data on an Amazon File Cache. If a `KmsKeyId` isn't
1829
+ # specified, the Amazon FSx-managed KMS key for your account is used.
1830
+ # For more information, see [Encrypt][1] in the *Key Management Service
1831
+ # API Reference*.
1832
+ #
1833
+ #
1834
+ #
1835
+ # [1]: https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html
1836
+ #
1837
+ # @option params [Types::CreateFileCacheLustreConfiguration] :lustre_configuration
1838
+ # The configuration for the Amazon File Cache resource being created.
1839
+ #
1840
+ # @option params [Array<Types::FileCacheDataRepositoryAssociation>] :data_repository_associations
1841
+ # A list of up to 8 configurations for data repository associations
1842
+ # (DRAs) to be created during the cache creation. The DRAs link the
1843
+ # cache to either an Amazon S3 data repository or a Network File System
1844
+ # (NFS) data repository that supports the NFSv3 protocol.
1845
+ #
1846
+ # The DRA configurations must meet the following requirements:
1847
+ #
1848
+ # * All configurations on the list must be of the same data repository
1849
+ # type, either all S3 or all NFS. A cache can't link to different
1850
+ # data repository types at the same time.
1851
+ #
1852
+ # * An NFS DRA must link to an NFS file system that supports the NFSv3
1853
+ # protocol.
1854
+ #
1855
+ # DRA automatic import and automatic export is not supported.
1856
+ #
1857
+ # @return [Types::CreateFileCacheResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1858
+ #
1859
+ # * {Types::CreateFileCacheResponse#file_cache #file_cache} => Types::FileCacheCreating
1860
+ #
1861
+ # @example Request syntax with placeholder values
1862
+ #
1863
+ # resp = client.create_file_cache({
1864
+ # client_request_token: "ClientRequestToken",
1865
+ # file_cache_type: "LUSTRE", # required, accepts LUSTRE
1866
+ # file_cache_type_version: "FileSystemTypeVersion", # required
1867
+ # storage_capacity: 1, # required
1868
+ # subnet_ids: ["SubnetId"], # required
1869
+ # security_group_ids: ["SecurityGroupId"],
1870
+ # tags: [
1871
+ # {
1872
+ # key: "TagKey", # required
1873
+ # value: "TagValue", # required
1874
+ # },
1875
+ # ],
1876
+ # copy_tags_to_data_repository_associations: false,
1877
+ # kms_key_id: "KmsKeyId",
1878
+ # lustre_configuration: {
1879
+ # per_unit_storage_throughput: 1, # required
1880
+ # deployment_type: "CACHE_1", # required, accepts CACHE_1
1881
+ # weekly_maintenance_start_time: "WeeklyTime",
1882
+ # metadata_configuration: { # required
1883
+ # storage_capacity: 1, # required
1884
+ # },
1885
+ # },
1886
+ # data_repository_associations: [
1887
+ # {
1888
+ # file_cache_path: "Namespace", # required
1889
+ # data_repository_path: "ArchivePath", # required
1890
+ # data_repository_subdirectories: ["Namespace"],
1891
+ # nfs: {
1892
+ # version: "NFS3", # required, accepts NFS3
1893
+ # dns_ips: ["IpAddress"],
1894
+ # },
1895
+ # },
1896
+ # ],
1897
+ # })
1898
+ #
1899
+ # @example Response structure
1900
+ #
1901
+ # resp.file_cache.owner_id #=> String
1902
+ # resp.file_cache.creation_time #=> Time
1903
+ # resp.file_cache.file_cache_id #=> String
1904
+ # resp.file_cache.file_cache_type #=> String, one of "LUSTRE"
1905
+ # resp.file_cache.file_cache_type_version #=> String
1906
+ # resp.file_cache.lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "UPDATING", "FAILED"
1907
+ # resp.file_cache.failure_details.message #=> String
1908
+ # resp.file_cache.storage_capacity #=> Integer
1909
+ # resp.file_cache.vpc_id #=> String
1910
+ # resp.file_cache.subnet_ids #=> Array
1911
+ # resp.file_cache.subnet_ids[0] #=> String
1912
+ # resp.file_cache.network_interface_ids #=> Array
1913
+ # resp.file_cache.network_interface_ids[0] #=> String
1914
+ # resp.file_cache.dns_name #=> String
1915
+ # resp.file_cache.kms_key_id #=> String
1916
+ # resp.file_cache.resource_arn #=> String
1917
+ # resp.file_cache.tags #=> Array
1918
+ # resp.file_cache.tags[0].key #=> String
1919
+ # resp.file_cache.tags[0].value #=> String
1920
+ # resp.file_cache.copy_tags_to_data_repository_associations #=> Boolean
1921
+ # resp.file_cache.lustre_configuration.per_unit_storage_throughput #=> Integer
1922
+ # resp.file_cache.lustre_configuration.deployment_type #=> String, one of "CACHE_1"
1923
+ # resp.file_cache.lustre_configuration.mount_name #=> String
1924
+ # resp.file_cache.lustre_configuration.weekly_maintenance_start_time #=> String
1925
+ # resp.file_cache.lustre_configuration.metadata_configuration.storage_capacity #=> Integer
1926
+ # resp.file_cache.lustre_configuration.log_configuration.level #=> String, one of "DISABLED", "WARN_ONLY", "ERROR_ONLY", "WARN_ERROR"
1927
+ # resp.file_cache.lustre_configuration.log_configuration.destination #=> String
1928
+ # resp.file_cache.data_repository_association_ids #=> Array
1929
+ # resp.file_cache.data_repository_association_ids[0] #=> String
1930
+ #
1931
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileCache AWS API Documentation
1932
+ #
1933
+ # @overload create_file_cache(params = {})
1934
+ # @param [Hash] params ({})
1935
+ def create_file_cache(params = {}, options = {})
1936
+ req = build_request(:create_file_cache, params)
1937
+ req.send_request(options)
1938
+ end
1939
+
1712
1940
  # Creates a new, empty Amazon FSx file system. You can create the
1713
1941
  # following supported Amazon FSx file systems using the
1714
1942
  # `CreateFileSystem` API operation:
@@ -1746,18 +1974,6 @@ module Aws::FSx
1746
1974
  #
1747
1975
  # * Returns the description of the file system in JSON format.
1748
1976
  #
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
1977
  # <note markdown="1"> The `CreateFileSystem` call returns while the file system's lifecycle
1762
1978
  # state is still `CREATING`. You can check the file-system creation
1763
1979
  # status by calling the [DescribeFileSystems][1] operation, which
@@ -2453,6 +2669,18 @@ module Aws::FSx
2453
2669
  # @option params [Types::CreateFileSystemOpenZFSConfiguration] :open_zfs_configuration
2454
2670
  # The OpenZFS configuration for the file system that's being created.
2455
2671
  #
2672
+ # @option params [Integer] :storage_capacity
2673
+ # Sets the storage capacity of the OpenZFS file system that you're
2674
+ # creating from a backup, in gibibytes (GiB). Valid values are from 64
2675
+ # GiB up to 524,288 GiB (512 TiB). However, the value that you specify
2676
+ # must be equal to or greater than the backup's storage capacity value.
2677
+ # If you don't use the `StorageCapacity` parameter, the default is the
2678
+ # backup's `StorageCapacity` value.
2679
+ #
2680
+ # If used to create a file system other than OpenZFS, you must provide a
2681
+ # value that matches the backup's `StorageCapacity` value. If you
2682
+ # provide any other value, Amazon FSx responds with a 400 Bad Request.
2683
+ #
2456
2684
  # @return [Types::CreateFileSystemFromBackupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2457
2685
  #
2458
2686
  # * {Types::CreateFileSystemFromBackupResponse#file_system #file_system} => Types::FileSystem
@@ -2611,6 +2839,7 @@ module Aws::FSx
2611
2839
  # read_only: false,
2612
2840
  # },
2613
2841
  # },
2842
+ # storage_capacity: 1,
2614
2843
  # })
2615
2844
  #
2616
2845
  # @example Response structure
@@ -3676,7 +3905,7 @@ module Aws::FSx
3676
3905
  # **A suitable default value is auto-generated.** You should normally
3677
3906
  # not need to pass this option.**
3678
3907
  #
3679
- # @option params [required, Boolean] :delete_data_in_file_system
3908
+ # @option params [Boolean] :delete_data_in_file_system
3680
3909
  # Set to `true` to delete the data in the file system that corresponds
3681
3910
  # to the data repository association.
3682
3911
  #
@@ -3691,7 +3920,7 @@ module Aws::FSx
3691
3920
  # resp = client.delete_data_repository_association({
3692
3921
  # association_id: "DataRepositoryAssociationId", # required
3693
3922
  # client_request_token: "ClientRequestToken",
3694
- # delete_data_in_file_system: false, # required
3923
+ # delete_data_in_file_system: false,
3695
3924
  # })
3696
3925
  #
3697
3926
  # @example Response structure
@@ -3709,6 +3938,60 @@ module Aws::FSx
3709
3938
  req.send_request(options)
3710
3939
  end
3711
3940
 
3941
+ # Deletes an Amazon File Cache resource. After deletion, the cache no
3942
+ # longer exists, and its data is gone.
3943
+ #
3944
+ # The `DeleteFileCache` operation returns while the cache has the
3945
+ # `DELETING` status. You can check the cache deletion status by calling
3946
+ # the [DescribeFileCaches][1] operation, which returns a list of caches
3947
+ # in your account. If you pass the cache ID for a deleted cache, the
3948
+ # `DescribeFileCaches` operation returns a `FileCacheNotFound` error.
3949
+ #
3950
+ # The data in a deleted cache is also deleted and can't be recovered by
3951
+ # any means.
3952
+ #
3953
+ #
3954
+ #
3955
+ # [1]: https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileCaches.html
3956
+ #
3957
+ # @option params [required, String] :file_cache_id
3958
+ # The ID of the cache that's being deleted.
3959
+ #
3960
+ # @option params [String] :client_request_token
3961
+ # (Optional) An idempotency token for resource creation, in a string of
3962
+ # up to 64 ASCII characters. This token is automatically filled on your
3963
+ # behalf when you use the Command Line Interface (CLI) or an Amazon Web
3964
+ # Services SDK.
3965
+ #
3966
+ # **A suitable default value is auto-generated.** You should normally
3967
+ # not need to pass this option.**
3968
+ #
3969
+ # @return [Types::DeleteFileCacheResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3970
+ #
3971
+ # * {Types::DeleteFileCacheResponse#file_cache_id #file_cache_id} => String
3972
+ # * {Types::DeleteFileCacheResponse#lifecycle #lifecycle} => String
3973
+ #
3974
+ # @example Request syntax with placeholder values
3975
+ #
3976
+ # resp = client.delete_file_cache({
3977
+ # file_cache_id: "FileCacheId", # required
3978
+ # client_request_token: "ClientRequestToken",
3979
+ # })
3980
+ #
3981
+ # @example Response structure
3982
+ #
3983
+ # resp.file_cache_id #=> String
3984
+ # resp.lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "UPDATING", "FAILED"
3985
+ #
3986
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteFileCache AWS API Documentation
3987
+ #
3988
+ # @overload delete_file_cache(params = {})
3989
+ # @param [Hash] params ({})
3990
+ def delete_file_cache(params = {}, options = {})
3991
+ req = build_request(:delete_file_cache, params)
3992
+ req.send_request(options)
3993
+ end
3994
+
3712
3995
  # Deletes a file system. After deletion, the file system no longer
3713
3996
  # exists, and its data is gone. Any existing automatic backups and
3714
3997
  # snapshots are also deleted.
@@ -4103,7 +4386,7 @@ module Aws::FSx
4103
4386
  # backup_ids: ["BackupId"],
4104
4387
  # filters: [
4105
4388
  # {
4106
- # name: "file-system-id", # accepts file-system-id, backup-type, file-system-type, volume-id, data-repository-type
4389
+ # 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
4390
  # values: ["FilterValue"],
4108
4391
  # },
4109
4392
  # ],
@@ -4445,26 +4728,28 @@ module Aws::FSx
4445
4728
  req.send_request(options)
4446
4729
  end
4447
4730
 
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.
4731
+ # Returns the description of specific Amazon FSx for Lustre or Amazon
4732
+ # File Cache data repository associations, if one or more
4733
+ # `AssociationIds` values are provided in the request, or if filters are
4734
+ # used in the request. Data repository associations are supported only
4735
+ # for Amazon FSx for Lustre file systems with the `Persistent_2`
4736
+ # deployment type and for Amazon File Cache resources.
4453
4737
  #
4454
4738
  # You can use filters to narrow the response to include just data
4455
4739
  # repository associations for specific file systems (use the
4456
- # `file-system-id` filter with the ID of the file system) or data
4740
+ # `file-system-id` filter with the ID of the file system) or caches (use
4741
+ # the `file-cache-id` filter with the ID of the cache), or data
4457
4742
  # 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.
4743
+ # `data-repository-type` filter with a value of `S3` or `NFS`). If you
4744
+ # don't use filters, the response returns all data repository
4745
+ # associations owned by your Amazon Web Services account in the Amazon
4746
+ # Web Services Region of the endpoint that you're calling.
4462
4747
  #
4463
4748
  # When retrieving all data repository associations, you can paginate the
4464
4749
  # response by using the optional `MaxResults` parameter to limit the
4465
4750
  # 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
4751
+ # data repository associations remain, a `NextToken` value is returned
4752
+ # in the response. In this case, send a later request with the
4468
4753
  # `NextToken` request parameter set to the value of `NextToken` from the
4469
4754
  # last response.
4470
4755
  #
@@ -4498,7 +4783,7 @@ module Aws::FSx
4498
4783
  # association_ids: ["DataRepositoryAssociationId"],
4499
4784
  # filters: [
4500
4785
  # {
4501
- # name: "file-system-id", # accepts file-system-id, backup-type, file-system-type, volume-id, data-repository-type
4786
+ # 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
4787
  # values: ["FilterValue"],
4503
4788
  # },
4504
4789
  # ],
@@ -4526,6 +4811,15 @@ module Aws::FSx
4526
4811
  # resp.associations[0].tags[0].key #=> String
4527
4812
  # resp.associations[0].tags[0].value #=> String
4528
4813
  # resp.associations[0].creation_time #=> Time
4814
+ # resp.associations[0].file_cache_id #=> String
4815
+ # resp.associations[0].file_cache_path #=> String
4816
+ # resp.associations[0].data_repository_subdirectories #=> Array
4817
+ # resp.associations[0].data_repository_subdirectories[0] #=> String
4818
+ # resp.associations[0].nfs.version #=> String, one of "NFS3"
4819
+ # resp.associations[0].nfs.dns_ips #=> Array
4820
+ # resp.associations[0].nfs.dns_ips[0] #=> String
4821
+ # resp.associations[0].nfs.auto_export_policy.events #=> Array
4822
+ # resp.associations[0].nfs.auto_export_policy.events[0] #=> String, one of "NEW", "CHANGED", "DELETED"
4529
4823
  # resp.next_token #=> String
4530
4824
  #
4531
4825
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeDataRepositoryAssociations AWS API Documentation
@@ -4537,18 +4831,19 @@ module Aws::FSx
4537
4831
  req.send_request(options)
4538
4832
  end
4539
4833
 
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.
4834
+ # Returns the description of specific Amazon FSx for Lustre or Amazon
4835
+ # File Cache data repository tasks, if one or more `TaskIds` values are
4836
+ # provided in the request, or if filters are used in the request. You
4837
+ # can use filters to narrow the response to include just tasks for
4838
+ # specific file systems or caches, or tasks in a specific lifecycle
4839
+ # state. Otherwise, it returns all data repository tasks owned by your
4840
+ # Amazon Web Services account in the Amazon Web Services Region of the
4841
+ # endpoint that you're calling.
4547
4842
  #
4548
4843
  # When retrieving all tasks, you can paginate the response by using the
4549
4844
  # 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
4845
+ # in a response. If more tasks remain, a `NextToken` value is returned
4846
+ # in the response. In this case, send a later request with the
4552
4847
  # `NextToken` request parameter set to the value of `NextToken` from the
4553
4848
  # last response.
4554
4849
  #
@@ -4584,7 +4879,7 @@ module Aws::FSx
4584
4879
  # task_ids: ["TaskId"],
4585
4880
  # filters: [
4586
4881
  # {
4587
- # name: "file-system-id", # accepts file-system-id, task-lifecycle, data-repository-association-id
4882
+ # name: "file-system-id", # accepts file-system-id, task-lifecycle, data-repository-association-id, file-cache-id
4588
4883
  # values: ["DataRepositoryTaskFilterValue"],
4589
4884
  # },
4590
4885
  # ],
@@ -4597,7 +4892,7 @@ module Aws::FSx
4597
4892
  # resp.data_repository_tasks #=> Array
4598
4893
  # resp.data_repository_tasks[0].task_id #=> String
4599
4894
  # 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"
4895
+ # resp.data_repository_tasks[0].type #=> String, one of "EXPORT_TO_REPOSITORY", "IMPORT_METADATA_FROM_REPOSITORY", "RELEASE_DATA_FROM_FILESYSTEM", "AUTO_RELEASE_DATA"
4601
4896
  # resp.data_repository_tasks[0].creation_time #=> Time
4602
4897
  # resp.data_repository_tasks[0].start_time #=> Time
4603
4898
  # resp.data_repository_tasks[0].end_time #=> Time
@@ -4613,10 +4908,13 @@ module Aws::FSx
4613
4908
  # resp.data_repository_tasks[0].status.succeeded_count #=> Integer
4614
4909
  # resp.data_repository_tasks[0].status.failed_count #=> Integer
4615
4910
  # resp.data_repository_tasks[0].status.last_updated_time #=> Time
4911
+ # resp.data_repository_tasks[0].status.released_capacity #=> Integer
4616
4912
  # resp.data_repository_tasks[0].report.enabled #=> Boolean
4617
4913
  # resp.data_repository_tasks[0].report.path #=> String
4618
4914
  # resp.data_repository_tasks[0].report.format #=> String, one of "REPORT_CSV_20191124"
4619
4915
  # resp.data_repository_tasks[0].report.scope #=> String, one of "FAILED_FILES_ONLY"
4916
+ # resp.data_repository_tasks[0].capacity_to_release #=> Integer
4917
+ # resp.data_repository_tasks[0].file_cache_id #=> String
4620
4918
  # resp.next_token #=> String
4621
4919
  #
4622
4920
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeDataRepositoryTasks AWS API Documentation
@@ -4628,6 +4926,101 @@ module Aws::FSx
4628
4926
  req.send_request(options)
4629
4927
  end
4630
4928
 
4929
+ # Returns the description of a specific Amazon File Cache resource, if a
4930
+ # `FileCacheIds` value is provided for that cache. Otherwise, it returns
4931
+ # descriptions of all caches owned by your Amazon Web Services account
4932
+ # in the Amazon Web Services Region of the endpoint that you're
4933
+ # calling.
4934
+ #
4935
+ # When retrieving all cache descriptions, you can optionally specify the
4936
+ # `MaxResults` parameter to limit the number of descriptions in a
4937
+ # response. If more cache descriptions remain, the operation returns a
4938
+ # `NextToken` value in the response. In this case, send a later request
4939
+ # with the `NextToken` request parameter set to the value of `NextToken`
4940
+ # from the last response.
4941
+ #
4942
+ # This operation is used in an iterative process to retrieve a list of
4943
+ # your cache descriptions. `DescribeFileCaches` is called first without
4944
+ # a `NextToken`value. Then the operation continues to be called with the
4945
+ # `NextToken` parameter set to the value of the last `NextToken` value
4946
+ # until a response has no `NextToken`.
4947
+ #
4948
+ # When using this operation, keep the following in mind:
4949
+ #
4950
+ # * The implementation might return fewer than `MaxResults` cache
4951
+ # descriptions while still including a `NextToken` value.
4952
+ #
4953
+ # * The order of caches returned in the response of one
4954
+ # `DescribeFileCaches` call and the order of caches returned across
4955
+ # the responses of a multicall iteration is unspecified.
4956
+ #
4957
+ # @option params [Array<String>] :file_cache_ids
4958
+ # IDs of the caches whose descriptions you want to retrieve (String).
4959
+ #
4960
+ # @option params [Integer] :max_results
4961
+ # The maximum number of resources to return in the response. This value
4962
+ # must be an integer greater than zero.
4963
+ #
4964
+ # @option params [String] :next_token
4965
+ # (Optional) Opaque pagination token returned from a previous operation
4966
+ # (String). If present, this token indicates from what point you can
4967
+ # continue processing the request, where the previous `NextToken` value
4968
+ # left off.
4969
+ #
4970
+ # @return [Types::DescribeFileCachesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4971
+ #
4972
+ # * {Types::DescribeFileCachesResponse#file_caches #file_caches} => Array&lt;Types::FileCache&gt;
4973
+ # * {Types::DescribeFileCachesResponse#next_token #next_token} => String
4974
+ #
4975
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4976
+ #
4977
+ # @example Request syntax with placeholder values
4978
+ #
4979
+ # resp = client.describe_file_caches({
4980
+ # file_cache_ids: ["FileCacheId"],
4981
+ # max_results: 1,
4982
+ # next_token: "NextToken",
4983
+ # })
4984
+ #
4985
+ # @example Response structure
4986
+ #
4987
+ # resp.file_caches #=> Array
4988
+ # resp.file_caches[0].owner_id #=> String
4989
+ # resp.file_caches[0].creation_time #=> Time
4990
+ # resp.file_caches[0].file_cache_id #=> String
4991
+ # resp.file_caches[0].file_cache_type #=> String, one of "LUSTRE"
4992
+ # resp.file_caches[0].file_cache_type_version #=> String
4993
+ # resp.file_caches[0].lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "UPDATING", "FAILED"
4994
+ # resp.file_caches[0].failure_details.message #=> String
4995
+ # resp.file_caches[0].storage_capacity #=> Integer
4996
+ # resp.file_caches[0].vpc_id #=> String
4997
+ # resp.file_caches[0].subnet_ids #=> Array
4998
+ # resp.file_caches[0].subnet_ids[0] #=> String
4999
+ # resp.file_caches[0].network_interface_ids #=> Array
5000
+ # resp.file_caches[0].network_interface_ids[0] #=> String
5001
+ # resp.file_caches[0].dns_name #=> String
5002
+ # resp.file_caches[0].kms_key_id #=> String
5003
+ # resp.file_caches[0].resource_arn #=> String
5004
+ # resp.file_caches[0].lustre_configuration.per_unit_storage_throughput #=> Integer
5005
+ # resp.file_caches[0].lustre_configuration.deployment_type #=> String, one of "CACHE_1"
5006
+ # resp.file_caches[0].lustre_configuration.mount_name #=> String
5007
+ # resp.file_caches[0].lustre_configuration.weekly_maintenance_start_time #=> String
5008
+ # resp.file_caches[0].lustre_configuration.metadata_configuration.storage_capacity #=> Integer
5009
+ # resp.file_caches[0].lustre_configuration.log_configuration.level #=> String, one of "DISABLED", "WARN_ONLY", "ERROR_ONLY", "WARN_ERROR"
5010
+ # resp.file_caches[0].lustre_configuration.log_configuration.destination #=> String
5011
+ # resp.file_caches[0].data_repository_association_ids #=> Array
5012
+ # resp.file_caches[0].data_repository_association_ids[0] #=> String
5013
+ # resp.next_token #=> String
5014
+ #
5015
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileCaches AWS API Documentation
5016
+ #
5017
+ # @overload describe_file_caches(params = {})
5018
+ # @param [Hash] params ({})
5019
+ def describe_file_caches(params = {}, options = {})
5020
+ req = build_request(:describe_file_caches, params)
5021
+ req.send_request(options)
5022
+ end
5023
+
4631
5024
  # Returns the DNS aliases that are associated with the specified Amazon
4632
5025
  # FSx for Windows File Server file system. A history of all DNS aliases
4633
5026
  # that have been associated with and disassociated from the file system
@@ -6040,6 +6433,15 @@ module Aws::FSx
6040
6433
  # resp.association.tags[0].key #=> String
6041
6434
  # resp.association.tags[0].value #=> String
6042
6435
  # resp.association.creation_time #=> Time
6436
+ # resp.association.file_cache_id #=> String
6437
+ # resp.association.file_cache_path #=> String
6438
+ # resp.association.data_repository_subdirectories #=> Array
6439
+ # resp.association.data_repository_subdirectories[0] #=> String
6440
+ # resp.association.nfs.version #=> String, one of "NFS3"
6441
+ # resp.association.nfs.dns_ips #=> Array
6442
+ # resp.association.nfs.dns_ips[0] #=> String
6443
+ # resp.association.nfs.auto_export_policy.events #=> Array
6444
+ # resp.association.nfs.auto_export_policy.events[0] #=> String, one of "NEW", "CHANGED", "DELETED"
6043
6445
  #
6044
6446
  # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateDataRepositoryAssociation AWS API Documentation
6045
6447
  #
@@ -6050,6 +6452,75 @@ module Aws::FSx
6050
6452
  req.send_request(options)
6051
6453
  end
6052
6454
 
6455
+ # Updates the configuration of an existing Amazon File Cache resource.
6456
+ # You can update multiple properties in a single request.
6457
+ #
6458
+ # @option params [required, String] :file_cache_id
6459
+ # The ID of the cache that you are updating.
6460
+ #
6461
+ # @option params [String] :client_request_token
6462
+ # (Optional) An idempotency token for resource creation, in a string of
6463
+ # up to 64 ASCII characters. This token is automatically filled on your
6464
+ # behalf when you use the Command Line Interface (CLI) or an Amazon Web
6465
+ # Services SDK.
6466
+ #
6467
+ # **A suitable default value is auto-generated.** You should normally
6468
+ # not need to pass this option.**
6469
+ #
6470
+ # @option params [Types::UpdateFileCacheLustreConfiguration] :lustre_configuration
6471
+ # The configuration updates for an Amazon File Cache resource.
6472
+ #
6473
+ # @return [Types::UpdateFileCacheResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6474
+ #
6475
+ # * {Types::UpdateFileCacheResponse#file_cache #file_cache} => Types::FileCache
6476
+ #
6477
+ # @example Request syntax with placeholder values
6478
+ #
6479
+ # resp = client.update_file_cache({
6480
+ # file_cache_id: "FileCacheId", # required
6481
+ # client_request_token: "ClientRequestToken",
6482
+ # lustre_configuration: {
6483
+ # weekly_maintenance_start_time: "WeeklyTime",
6484
+ # },
6485
+ # })
6486
+ #
6487
+ # @example Response structure
6488
+ #
6489
+ # resp.file_cache.owner_id #=> String
6490
+ # resp.file_cache.creation_time #=> Time
6491
+ # resp.file_cache.file_cache_id #=> String
6492
+ # resp.file_cache.file_cache_type #=> String, one of "LUSTRE"
6493
+ # resp.file_cache.file_cache_type_version #=> String
6494
+ # resp.file_cache.lifecycle #=> String, one of "AVAILABLE", "CREATING", "DELETING", "UPDATING", "FAILED"
6495
+ # resp.file_cache.failure_details.message #=> String
6496
+ # resp.file_cache.storage_capacity #=> Integer
6497
+ # resp.file_cache.vpc_id #=> String
6498
+ # resp.file_cache.subnet_ids #=> Array
6499
+ # resp.file_cache.subnet_ids[0] #=> String
6500
+ # resp.file_cache.network_interface_ids #=> Array
6501
+ # resp.file_cache.network_interface_ids[0] #=> String
6502
+ # resp.file_cache.dns_name #=> String
6503
+ # resp.file_cache.kms_key_id #=> String
6504
+ # resp.file_cache.resource_arn #=> String
6505
+ # resp.file_cache.lustre_configuration.per_unit_storage_throughput #=> Integer
6506
+ # resp.file_cache.lustre_configuration.deployment_type #=> String, one of "CACHE_1"
6507
+ # resp.file_cache.lustre_configuration.mount_name #=> String
6508
+ # resp.file_cache.lustre_configuration.weekly_maintenance_start_time #=> String
6509
+ # resp.file_cache.lustre_configuration.metadata_configuration.storage_capacity #=> Integer
6510
+ # resp.file_cache.lustre_configuration.log_configuration.level #=> String, one of "DISABLED", "WARN_ONLY", "ERROR_ONLY", "WARN_ERROR"
6511
+ # resp.file_cache.lustre_configuration.log_configuration.destination #=> String
6512
+ # resp.file_cache.data_repository_association_ids #=> Array
6513
+ # resp.file_cache.data_repository_association_ids[0] #=> String
6514
+ #
6515
+ # @see http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileCache AWS API Documentation
6516
+ #
6517
+ # @overload update_file_cache(params = {})
6518
+ # @param [Hash] params ({})
6519
+ def update_file_cache(params = {}, options = {})
6520
+ req = build_request(:update_file_cache, params)
6521
+ req.send_request(options)
6522
+ end
6523
+
6053
6524
  # Use this operation to update the configuration of an existing Amazon
6054
6525
  # FSx file system. You can update multiple properties in a single
6055
6526
  # request.
@@ -6995,7 +7466,7 @@ module Aws::FSx
6995
7466
  params: params,
6996
7467
  config: config)
6997
7468
  context[:gem_name] = 'aws-sdk-fsx'
6998
- context[:gem_version] = '1.59.0'
7469
+ context[:gem_version] = '1.61.0'
6999
7470
  Seahorse::Client::Request.new(handlers, context)
7000
7471
  end
7001
7472