Skip to content

Commit

Permalink
feat(client-efs): Amazon EFS adds support for a ThrottlingException w…
Browse files Browse the repository at this point in the history
…hen using the CreateAccessPoint API if the account is nearing the AccessPoint limit(120).
  • Loading branch information
awstools committed Apr 12, 2022
1 parent 3dc7bfe commit 848941d
Show file tree
Hide file tree
Showing 17 changed files with 421 additions and 259 deletions.
8 changes: 4 additions & 4 deletions clients/client-efs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ AWS SDK for JavaScript EFS Client for Node.js, Browser and React Native.

<fullname>Amazon Elastic File System</fullname>

<p>Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for use
with Amazon EC2 Linux and Mac instances in the Amazon Web Services Cloud. With Amazon EFS, storage capacity is elastic,
growing and shrinking automatically as you add and remove files, so your applications have the
storage they need, when they need it. For more information, see the <a href="https://docs.aws.amazon.com/efs/latest/ug/api-reference.html">Amazon Elastic File System API Reference</a> and the <a href="https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html">Amazon Elastic File System User Guide</a>.</p>
<p>Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for
use with Amazon EC2 Linux and Mac instances in the Amazon Web Services Cloud. With Amazon EFS, storage capacity is elastic, growing and shrinking automatically as you add and
remove files, so that your applications have the storage they need, when they need it. For
more information, see the <a href="https://docs.aws.amazon.com/efs/latest/ug/api-reference.html">Amazon Elastic File System API Reference</a> and the <a href="https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html">Amazon Elastic File System User Guide</a>.</p>

## Installing

Expand Down
178 changes: 106 additions & 72 deletions clients/client-efs/src/EFS.ts

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions clients/client-efs/src/EFSClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -353,10 +353,10 @@ export interface EFSClientResolvedConfig extends EFSClientResolvedConfigType {}

/**
* <fullname>Amazon Elastic File System</fullname>
* <p>Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for use
* with Amazon EC2 Linux and Mac instances in the Amazon Web Services Cloud. With Amazon EFS, storage capacity is elastic,
* growing and shrinking automatically as you add and remove files, so your applications have the
* storage they need, when they need it. For more information, see the <a href="https://docs.aws.amazon.com/efs/latest/ug/api-reference.html">Amazon Elastic File System API Reference</a> and the <a href="https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html">Amazon Elastic File System User Guide</a>.</p>
* <p>Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for
* use with Amazon EC2 Linux and Mac instances in the Amazon Web Services Cloud. With Amazon EFS, storage capacity is elastic, growing and shrinking automatically as you add and
* remove files, so that your applications have the storage they need, when they need it. For
* more information, see the <a href="https://docs.aws.amazon.com/efs/latest/ug/api-reference.html">Amazon Elastic File System API Reference</a> and the <a href="https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html">Amazon Elastic File System User Guide</a>.</p>
*/
export class EFSClient extends __Client<
__HttpHandlerOptions,
Expand Down
4 changes: 2 additions & 2 deletions clients/client-efs/src/commands/CreateAccessPointCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ export interface CreateAccessPointCommandOutput extends AccessPointDescription,
* file system that applies an operating system user and group, and a file system path, to any
* file system request made through the access point. The operating system user and group
* override any identity information provided by the NFS client. The file system path is exposed
* as the access point's root directory. Applications using the access point can only access data
* in its own directory and below. To learn more, see <a href="https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html">Mounting a file system using EFS access
* as the access point's root directory. Applications using the access point can only access data in
* the application's own directory and any subdirectories. To learn more, see <a href="https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html">Mounting a file system using EFS access
* points</a>.</p>
* <p>This operation requires permissions for the <code>elasticfilesystem:CreateAccessPoint</code> action.</p>
* @example
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,44 +24,50 @@ export interface CreateReplicationConfigurationCommandOutput
__MetadataBearer {}

/**
* <p>Creates a replication configuration that replicates an existing EFS file
* system to a new, read-only file system. For more information, see
* <a href="https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html">Amazon EFS replication</a>.
* The replication configuration specifies the following:</p>
* <p>Creates a replication configuration that replicates an existing EFS file system to a new,
* read-only file system. For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html">Amazon EFS replication</a> in the
* <i>Amazon EFS User Guide</i>. The replication configuration
* specifies the following:</p>
* <ul>
* <li>
* <p>
* <b>Source file system</b> - an existing
* EFS file system that you want replicated. The source file system cannot be a destination file system
* in an existing replication configuration.</p>
* <b>Source file system</b> - An existing EFS file system that you
* want replicated. The source file system cannot be a destination file system in an existing
* replication configuration.</p>
* </li>
* <li>
* <p>
* <b>Destination file system configuration</b>
* - the configuration of the destination file system to which the source file system
* will be replicated. There can only be one destination file system in a replication
* configuration.</p>
* <b>Destination file system configuration</b> - The configuration of
* the destination file system to which the source file system will be replicated. There can
* only be one destination file system in a replication configuration. The destination file
* system configuration consists of the following properties:</p>
* <ul>
* <li>
* <p>
* <b>Amazon Web Services Region</b> - The Amazon Web Services Region in which the destination
* file system is created. EFS Replication is available in all Amazon Web Services Region that Amazon EFS is available in, except the following regions:
* Asia Pacific (Hong Kong) Europe (Milan), Middle East (Bahrain), Africa (Cape Town), and Asia Pacific (Jakarta).</p>
* <b>Amazon Web Services Region</b> - The Amazon Web Services Region in
* which the destination file system is created. Amazon EFS replication is
* available in all Amazon Web Services Regions that Amazon EFS is available in,
* except Africa (Cape Town), Asia Pacific (Hong Kong), Asia Pacific (Jakarta), Europe
* (Milan), and Middle East (Bahrain).</p>
* </li>
* <li>
* <p>
* <b>Availability zone</b> - If you want the destination file system to use
* One Zone availability and durability, you must specify the Availability Zone to create the file system in.
* For more information about EFS storage classes, see <a href="https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html">
* Amazon EFS storage classes</a> in the <i>Amazon EFS User Guide</i>.</p>
* <b>Availability Zone</b> - If you want the destination file system
* to use EFS One Zone availability and durability, you must specify the Availability
* Zone to create the file system in. For more information about EFS storage classes, see
* <a href="https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html">
* Amazon EFS storage classes</a> in the <i>Amazon EFS User
* Guide</i>.</p>
* </li>
* <li>
* <p>
* <b>Encryption</b> - All destination file systems are
* created with encryption at rest enabled. You can specify the
* KMS key that is used to encrypt the destination file system.
* Your service-managed KMS key for Amazon EFS is used if you don't specify a KMS key.
* You cannot change this after the file system is created.</p>
* <b>Encryption</b> - All destination file systems are created with
* encryption at rest enabled. You can specify the Key Management Service (KMS) key that is used to encrypt the destination file system. If you don't
* specify a KMS key, your service-managed KMS key for
* Amazon EFS is used. </p>
* <note>
* <p>After the file system is created, you cannot change the KMS key.</p>
* </note>
* </li>
* </ul>
* </li>
Expand All @@ -71,35 +77,38 @@ export interface CreateReplicationConfigurationCommandOutput
* <ul>
* <li>
* <p>
* <b>Performance mode</b> - The destination file system's
* performance mode will match that of the source file system, unless the destination file
* system uses One Zone storage. In that case, the <i>General Purpose</i>
* performance mode is used. The Performance mode cannot be changed.</p>
* <b>Performance mode</b> - The destination file system's performance
* mode matches that of the source file system, unless the destination file system uses EFS
* One Zone storage. In that case, the General Purpose performance mode is used. The
* performance mode cannot be changed.</p>
* </li>
* <li>
* <p>
* <b>Throughput mode</b> - The destination file system
* use the Bursting throughput mode by default. You can modify the throughput mode once the file system
* is created.</p>
* <b>Throughput mode</b> - The destination file system uses the
* Bursting Throughput mode by default. After the file system is created, you can modify the
* throughput mode.</p>
* </li>
* </ul>
*
* <p>The following properties are turned off by default:</p>
* <ul>
* <li>
* <p>
* <b>Lifecycle management</b> - EFS lifecycle
* management and intelligent tiering are not enabled on the destination file system. You can enable
* EFS lifecycle management and intelligent tiering after the destination file system is created.</p>
* <b>Lifecycle management</b> - EFS lifecycle management and EFS
* Intelligent-Tiering are not enabled on the destination file system. After the destination
* file system is created, you can enable EFS lifecycle management and EFS
* Intelligent-Tiering.</p>
* </li>
* <li>
* <p>
* <b>Automatic backups</b> - Automatic daily backups
* not enabled on the destination file system. You can change this setting after the file system is created.</p>
* <b>Automatic backups</b> - Automatic daily backups not enabled on
* the destination file system. After the file system is created, you can change this
* setting.</p>
* </li>
* </ul>
*
* <p>For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html">Amazon EFS replication</a>.</p>
* <p>For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html">Amazon EFS replication</a> in the
* <i>Amazon EFS User Guide</i>.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
4 changes: 2 additions & 2 deletions clients/client-efs/src/commands/CreateTagsCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ export interface CreateTagsCommandOutput extends __MetadataBearer {}
* @deprecated
*
* <note>
* <p>DEPRECATED - CreateTags is deprecated and not maintained. Please use the
* API action to create tags for EFS resources.</p>
* <p>DEPRECATED - <code>CreateTags</code> is deprecated and not maintained. To create tags for EFS
* resources, use the API action.</p>
* </note>
* <p>Creates or overwrites tags associated with a file system. Each tag is a key-value pair. If
* a tag key specified in the request already exists on the file system, this operation
Expand Down
7 changes: 7 additions & 0 deletions clients/client-efs/src/commands/DeleteFileSystemCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,13 @@ export interface DeleteFileSystemCommandOutput extends __MetadataBearer {}
* <p>Deletes a file system, permanently severing access to its contents. Upon return, the
* file system no longer exists and you can't access any contents of the deleted file
* system.</p>
* <p>You need to manually delete mount targets attached to a file system before you can delete
* an EFS file system. This step is performed for you when you use the Amazon Web Services console
* to delete a file system.</p>
* <note>
* <p>You cannot delete a file system that is part of an EFS Replication configuration.
* You need to delete the replication configuration first.</p>
* </note>
* <p> You can't delete a file system that is in use. That is, if the file system has
* any mount targets, you must first delete them. For more information, see <a>DescribeMountTargets</a> and <a>DeleteMountTarget</a>. </p>
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,12 @@ export interface DeleteReplicationConfigurationCommandInput extends DeleteReplic
export interface DeleteReplicationConfigurationCommandOutput extends __MetadataBearer {}

/**
* <p>Deletes an existing replication configuration. To delete a replication
* configuration, you must make the request from the Amazon Web Services Region
* in which the destination file system is located. Deleting a replication
* configuration ends the replication process. You can write to the destination file
* system once it's status becomes <code>Writeable</code>.</p>
* <p>Deletes an existing replication configuration. To delete a replication configuration, you
* must make the request from the Amazon Web Services Region in which the destination file system
* is located. Deleting a replication configuration ends the replication process. After a
* replication configuration is deleted, the destination file system is no longer read-only. You
* can write to the destination file system after its status becomes
* <code>Writeable</code>.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
4 changes: 2 additions & 2 deletions clients/client-efs/src/commands/DeleteTagsCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ export interface DeleteTagsCommandOutput extends __MetadataBearer {}
* @deprecated
*
* <note>
* <p>DEPRECATED - DeleteTags is deprecated and not maintained. Please use the
* API action to remove tags from EFS resources.</p>
* <p>DEPRECATED - <code>DeleteTags</code> is deprecated and not maintained. To remove tags from EFS
* resources, use the API action.</p>
* </note>
* <p>Deletes the specified tags from a file system. If the <code>DeleteTags</code> request
* includes a tag key that doesn't exist, Amazon EFS ignores it and doesn't cause an
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ export interface DescribeLifecycleConfigurationCommandOutput
* to identify which files to move to the EFS Infrequent Access (IA) storage class. For a file system
* without a <code>LifecycleConfiguration</code> object, the call returns an empty array in the
* response.</p>
* <p>When EFS Intelligent Tiering is enabled, <code>TransitionToPrimaryStorageClass</code> has a value of <code>AFTER_1_ACCESS</code>.</p>
* <p>When EFS Intelligent-Tiering is enabled, <code>TransitionToPrimaryStorageClass</code> has
* a value of <code>AFTER_1_ACCESS</code>.</p>
* <p>This operation requires permissions for the
* <code>elasticfilesystem:DescribeLifecycleConfiguration</code> operation.</p>
* @example
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,9 @@ export interface DescribeReplicationConfigurationsCommandOutput
__MetadataBearer {}

/**
* <p>Retrieves the replication configurations for either a specific file system, or all configurations for the
* Amazon Web Services account in an Amazon Web Services Region if a file system is not specified.</p>
* <p>Retrieves the replication configuration for a specific file system. If a file system is
* not specified, all of the replication configurations for the Amazon Web Services account in an
* Amazon Web Services Region are retrieved.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
5 changes: 3 additions & 2 deletions clients/client-efs/src/commands/DescribeTagsCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,9 @@ export interface DescribeTagsCommandOutput extends DescribeTagsResponse, __Metad
* @deprecated
*
* <note>
* <p>DEPRECATED - The DeleteTags action is deprecated and not maintained. Please use the
* API action to remove tags from EFS resources.</p>
* <p>DEPRECATED - The <code>DescribeTags</code> action is deprecated and not maintained. To view
* tags associated with EFS resources, use the <code>ListTagsForResource</code> API
* action.</p>
* </note>
* <p>Returns the tags associated with a file system. The order of tags returned in the
* response of one <code>DescribeTags</code> call and the order of tags returned across the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@ export interface PutAccountPreferencesCommandOutput extends PutAccountPreference
* opt-in period as EFS transitions to long resource IDs. For more information,
* see <a href="https://docs.aws.amazon.com/efs/latest/ug/manage-efs-resource-ids.html">Managing Amazon EFS resource IDs</a>.</p>
* <note>
* <p>Starting in October, 2021, you will receive an error if you try to set the account preference to use the short 8 character format resource ID.
* Contact Amazon Web Services support if you receive an error and need to use short IDs for file system and mount target resources.</p>
* <p>Starting in October, 2021, you will receive an error if you try to set the account preference
* to use the short 8 character format resource ID. Contact Amazon Web Services support if you
* receive an error and must use short IDs for file system and mount target resources.</p>
* </note>
* @example
* Use a bare-bones client and the command you need to make an API call.
Expand Down
Loading

0 comments on commit 848941d

Please sign in to comment.