Skip to content

Commit

Permalink
feat(client-efs): Add support for the new parameters in EFS replicati…
Browse files Browse the repository at this point in the history
…on APIs
  • Loading branch information
awstools committed Nov 19, 2024
1 parent da73fe5 commit 1f77893
Show file tree
Hide file tree
Showing 11 changed files with 275 additions and 160 deletions.
17 changes: 8 additions & 9 deletions clients/client-efs/src/commands/CreateFileSystemCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,17 +64,16 @@ export interface CreateFileSystemCommandOutput extends FileSystemDescription, __
* system state.</p>
* </note>
* <p>This operation accepts an optional <code>PerformanceMode</code> parameter that you choose
* for your file system. We recommend <code>generalPurpose</code> performance mode for all file
* systems. File systems using the <code>maxIO</code> mode is a previous generation performance type that is designed for highly parallelized workloads that can tolerate higher latencies
* than the General Purpose mode. Max I/O mode is not supported for One Zone file systems or
* for your file system. We recommend <code>generalPurpose</code>
* <code>PerformanceMode</code> for all file
* systems. The <code>maxIO</code> mode is a previous generation performance type that is designed for highly parallelized workloads that can tolerate higher latencies
* than the <code>generalPurpose</code> mode. <code>MaxIO</code> mode is not supported for One Zone file systems or
* file systems that use Elastic throughput.</p>
* <important>
* <p>Due to the higher per-operation latencies with Max I/O, we recommend using General Purpose performance mode for all file systems.</p>
* </important>
* <p>The performance mode can't be changed after
* the file system has been created. For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/performance.html#performancemodes.html">Amazon EFS performance
* <p>The <code>PerformanceMode</code> can't be changed after the file system has been
* created. For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/performance.html#performancemodes.html">Amazon EFS performance
* modes</a>.</p>
* <p>You can set the throughput mode for the file system using the <code>ThroughputMode</code> parameter.</p>
* <p>You can set the throughput mode for the file system using the <code>ThroughputMode</code>
* parameter.</p>
* <p>After the file system is fully created, Amazon EFS sets its lifecycle state to
* <code>available</code>, at which point you can create one or more mount targets for the file
* system in your VPC. For more information, see <a>CreateMountTarget</a>. You mount your Amazon EFS file system on an EC2 instances in
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,95 +33,33 @@ 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> in the
* <i>Amazon EFS User Guide</i>. The replication configuration
* specifies the following:</p>
* <p>Creates a replication configuration to either a new or existing EFS 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> – The 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> – The EFS file
* system that you want to replicate. </p>
* </li>
* <li>
* <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 in which EFS is available. The
* Region must be enabled. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable">Managing Amazon Web Services Regions</a> in the <i>Amazon Web Services General Reference
* Reference Guide</i>.</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>
* <p>Parameters for the replication configuration include:</p>
* <ul>
* <li>
* <p>
* <b>File system ID</b> – The ID of the destination
* file system for the replication. If no ID is provided, then EFS creates a new file
* system with the default settings. For existing file systems, the file system's
* replication overwrite protection must be disabled. For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/efs-replication#replicate-existing-destination"> Replicating to
* an existing file system</a>.</p>
* </li>
* <li>
* <p>
* <b>Availability Zone</b> – If you want the destination file
* system to use One Zone storage, you must specify the Availability Zone to create the
* file system in. For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html">
* EFS file system types</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 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>
* </ul>
* <note>
* <p>After the file system is created, you cannot change the KMS key.</p>
* </note>
* <p>For new destination file systems, the following properties are set by default:</p>
* <ul>
* <li>
* <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's
* throughput mode matches that of the source file system. After the file system is created,
* you can modify the throughput mode.</p>
* </li>
* </ul>
* <ul>
* <li>
* <p>
* <b>Lifecycle management</b> – Lifecycle management is not enabled
* on the destination file system. After the destination file system is created, you can
* enable lifecycle management.</p>
* </li>
* <li>
* <p>
* <b>Automatic backups</b> – Automatic daily backups are enabled on
* the destination file system. After the file system is created, you can change this
* setting.</p>
* <b>Destination file system</b> – The destination file
* system to which the source file system is replicated. There can only be one destination
* file system in a replication configuration. </p>
* <note>
* <p>A file system can be part of only one replication configuration. </p>
* </note>
* <p>The destination parameters for the replication configuration depend on
* whether you are replicating to a new file system or to an existing file system, and if you
* are replicating across Amazon Web Services accounts. See <a>DestinationToCreate</a> for more information.</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> in the
* <i>Amazon EFS User Guide</i>.</p>
* <p>This operation requires permissions for the <code>elasticfilesystem:CreateReplicationConfiguration</code>
* action. Additionally, other permissions are required depending on how you are replicating file systems.
* For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html#efs-replication-permissions">Required permissions for 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 All @@ -136,6 +74,7 @@ export interface CreateReplicationConfigurationCommandOutput
* AvailabilityZoneName: "STRING_VALUE",
* KmsKeyId: "STRING_VALUE",
* FileSystemId: "STRING_VALUE",
* RoleArn: "STRING_VALUE",
* },
* ],
* };
Expand All @@ -153,8 +92,12 @@ export interface CreateReplicationConfigurationCommandOutput
* // FileSystemId: "STRING_VALUE", // required
* // Region: "STRING_VALUE", // required
* // LastReplicatedTimestamp: new Date("TIMESTAMP"),
* // OwnerId: "STRING_VALUE",
* // StatusMessage: "STRING_VALUE",
* // RoleArn: "STRING_VALUE",
* // },
* // ],
* // SourceFileSystemOwnerId: "STRING_VALUE",
* // };
*
* ```
Expand Down
2 changes: 1 addition & 1 deletion clients/client-efs/src/commands/DeleteFileSystemCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export interface DeleteFileSystemCommandOutput extends __MetadataBearer {}
* 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.
* <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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ export interface DeleteReplicationConfigurationCommandOutput extends __MetadataB
* const client = new EFSClient(config);
* const input = { // DeleteReplicationConfigurationRequest
* SourceFileSystemId: "STRING_VALUE", // required
* DeletionMode: "ALL_CONFIGURATIONS" || "LOCAL_CONFIGURATION_ONLY",
* };
* const command = new DeleteReplicationConfigurationCommand(input);
* const response = await client.send(command);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ export interface DescribeLifecycleConfigurationCommandOutput

/**
* <p>Returns the current <code>LifecycleConfiguration</code> object for the specified Amazon
* EFS file system. Lifecycle management uses the <code>LifecycleConfiguration</code> object
* to identify when to move files between storage classes. For a file system without a
* EFS file system. Lifecycle management uses the <code>LifecycleConfiguration</code> object to
* identify when to move files between storage classes. For a file system without a
* <code>LifecycleConfiguration</code> object, the call returns an empty array in the
* response.</p>
* <p>This operation requires permissions for the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,12 @@ export interface DescribeReplicationConfigurationsCommandOutput
* // FileSystemId: "STRING_VALUE", // required
* // Region: "STRING_VALUE", // required
* // LastReplicatedTimestamp: new Date("TIMESTAMP"),
* // OwnerId: "STRING_VALUE",
* // StatusMessage: "STRING_VALUE",
* // RoleArn: "STRING_VALUE",
* // },
* // ],
* // SourceFileSystemOwnerId: "STRING_VALUE",
* // },
* // ],
* // NextToken: "STRING_VALUE",
Expand Down
4 changes: 2 additions & 2 deletions clients/client-efs/src/commands/PutFileSystemPolicyCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ export interface PutFileSystemPolicyCommandOutput extends FileSystemPolicyDescri
* exactly one file system policy, which can be the default policy or an explicit policy set or
* updated using this API operation. EFS file system policies have a 20,000 character
* limit. When an explicit policy is set, it overrides the default policy. For more information
* about the default file system policy, see <a href="https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html#default-filesystempolicy">Default EFS
* File System Policy</a>. </p>
* about the default file system policy, see <a href="https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html#default-filesystempolicy">
* Default EFS file system policy</a>. </p>
* <note>
* <p>EFS file system policies have a 20,000 character limit.</p>
* </note>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ export interface PutLifecycleConfigurationCommandOutput extends LifecycleConfigu
* <p>File systems cannot transition into Archive storage before transitioning into IA storage. Therefore,
* TransitionToArchive must either not be set or must be later than TransitionToIA.</p>
* <note>
* <p> The Archive storage class is available only for file systems that use the Elastic Throughput mode
* and the General Purpose Performance mode. </p>
* <p> The Archive storage class is available only for file systems that use the Elastic throughput mode
* and the General Purpose performance mode. </p>
* </note>
* </li>
* </ul>
Expand All @@ -76,7 +76,7 @@ export interface PutLifecycleConfigurationCommandOutput extends LifecycleConfigu
* <ul>
* <li>
* <p>The ID for the file system for which you are enabling, disabling, or modifying
* Lifecycle management.</p>
* lifecycle management.</p>
* </li>
* <li>
* <p>A <code>LifecyclePolicies</code> array of <code>LifecyclePolicy</code> objects that
Expand Down
Loading

0 comments on commit 1f77893

Please sign in to comment.