Skip to content

Commit 1f77893

Browse files
author
awstools
committed
feat(client-efs): Add support for the new parameters in EFS replication APIs
1 parent da73fe5 commit 1f77893

11 files changed

+275
-160
lines changed

clients/client-efs/src/commands/CreateFileSystemCommand.ts

+8-9
Original file line numberDiff line numberDiff line change
@@ -64,17 +64,16 @@ export interface CreateFileSystemCommandOutput extends FileSystemDescription, __
6464
* system state.</p>
6565
* </note>
6666
* <p>This operation accepts an optional <code>PerformanceMode</code> parameter that you choose
67-
* for your file system. We recommend <code>generalPurpose</code> performance mode for all file
68-
* 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
69-
* than the General Purpose mode. Max I/O mode is not supported for One Zone file systems or
67+
* for your file system. We recommend <code>generalPurpose</code>
68+
* <code>PerformanceMode</code> for all file
69+
* systems. The <code>maxIO</code> mode is a previous generation performance type that is designed for highly parallelized workloads that can tolerate higher latencies
70+
* than the <code>generalPurpose</code> mode. <code>MaxIO</code> mode is not supported for One Zone file systems or
7071
* file systems that use Elastic throughput.</p>
71-
* <important>
72-
* <p>Due to the higher per-operation latencies with Max I/O, we recommend using General Purpose performance mode for all file systems.</p>
73-
* </important>
74-
* <p>The performance mode can't be changed after
75-
* 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
72+
* <p>The <code>PerformanceMode</code> can't be changed after the file system has been
73+
* created. For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/performance.html#performancemodes.html">Amazon EFS performance
7674
* modes</a>.</p>
77-
* <p>You can set the throughput mode for the file system using the <code>ThroughputMode</code> parameter.</p>
75+
* <p>You can set the throughput mode for the file system using the <code>ThroughputMode</code>
76+
* parameter.</p>
7877
* <p>After the file system is fully created, Amazon EFS sets its lifecycle state to
7978
* <code>available</code>, at which point you can create one or more mount targets for the file
8079
* system in your VPC. For more information, see <a>CreateMountTarget</a>. You mount your Amazon EFS file system on an EC2 instances in

clients/client-efs/src/commands/CreateReplicationConfigurationCommand.ts

+24-81
Original file line numberDiff line numberDiff line change
@@ -33,95 +33,33 @@ export interface CreateReplicationConfigurationCommandOutput
3333
__MetadataBearer {}
3434

3535
/**
36-
* <p>Creates a replication configuration that replicates an existing EFS file system
37-
* 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
38-
* <i>Amazon EFS User Guide</i>. The replication configuration
39-
* specifies the following:</p>
36+
* <p>Creates a replication configuration to either a new or existing EFS file system.
37+
* 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
38+
* Guide</i>. The replication configuration specifies the following:</p>
4039
* <ul>
4140
* <li>
4241
* <p>
43-
* <b>Source file system</b> – The EFS file system that
44-
* you want replicated. The source file system cannot be a destination file system in an
45-
* existing replication configuration.</p>
42+
* <b>Source file system</b> – The EFS file
43+
* system that you want to replicate. </p>
4644
* </li>
4745
* <li>
4846
* <p>
49-
* <b>Amazon Web Services Region</b> – The Amazon Web Services Region in which the destination file system is created. Amazon EFS
50-
* replication is available in all Amazon Web Services Regions in which EFS is available. The
51-
* 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
52-
* Reference Guide</i>.</p>
53-
* </li>
54-
* <li>
55-
* <p>
56-
* <b>Destination file system configuration</b> – The
57-
* configuration of the destination file system to which the source file system will be
58-
* replicated. There can only be one destination file system in a replication configuration. </p>
59-
* <p>Parameters for the replication configuration include:</p>
60-
* <ul>
61-
* <li>
62-
* <p>
63-
* <b>File system ID</b> – The ID of the destination
64-
* file system for the replication. If no ID is provided, then EFS creates a new file
65-
* system with the default settings. For existing file systems, the file system's
66-
* 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
67-
* an existing file system</a>.</p>
68-
* </li>
69-
* <li>
70-
* <p>
71-
* <b>Availability Zone</b> – If you want the destination file
72-
* system to use One Zone storage, you must specify the Availability Zone to create the
73-
* file system in. For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html">
74-
* EFS file system types</a> in the <i>Amazon EFS User
75-
* Guide</i>.</p>
76-
* </li>
77-
* <li>
78-
* <p>
79-
* <b>Encryption</b> – All destination file systems are created
80-
* 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
81-
* specify a KMS key, your service-managed KMS key for
82-
* Amazon EFS is used. </p>
83-
* <note>
84-
* <p>After the file system is created, you cannot change the KMS key.</p>
85-
* </note>
86-
* </li>
87-
* </ul>
88-
* </li>
89-
* </ul>
90-
* <note>
91-
* <p>After the file system is created, you cannot change the KMS key.</p>
92-
* </note>
93-
* <p>For new destination file systems, the following properties are set by default:</p>
94-
* <ul>
95-
* <li>
96-
* <p>
97-
* <b>Performance mode</b> - The destination file system's
98-
* performance mode matches that of the source file system, unless the destination file
99-
* system uses EFS One Zone storage. In that case, the General Purpose performance mode is
100-
* used. The performance mode cannot be changed.</p>
101-
* </li>
102-
* <li>
103-
* <p>
104-
* <b>Throughput mode</b> - The destination file system's
105-
* throughput mode matches that of the source file system. After the file system is created,
106-
* you can modify the throughput mode.</p>
107-
* </li>
108-
* </ul>
109-
* <ul>
110-
* <li>
111-
* <p>
112-
* <b>Lifecycle management</b> – Lifecycle management is not enabled
113-
* on the destination file system. After the destination file system is created, you can
114-
* enable lifecycle management.</p>
115-
* </li>
116-
* <li>
117-
* <p>
118-
* <b>Automatic backups</b> – Automatic daily backups are enabled on
119-
* the destination file system. After the file system is created, you can change this
120-
* setting.</p>
47+
* <b>Destination file system</b> – The destination file
48+
* system to which the source file system is replicated. There can only be one destination
49+
* file system in a replication configuration. </p>
50+
* <note>
51+
* <p>A file system can be part of only one replication configuration. </p>
52+
* </note>
53+
* <p>The destination parameters for the replication configuration depend on
54+
* whether you are replicating to a new file system or to an existing file system, and if you
55+
* are replicating across Amazon Web Services accounts. See <a>DestinationToCreate</a> for more information.</p>
12156
* </li>
12257
* </ul>
123-
* <p>For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html">Amazon EFS replication</a> in the
124-
* <i>Amazon EFS User Guide</i>.</p>
58+
* <p>This operation requires permissions for the <code>elasticfilesystem:CreateReplicationConfiguration</code>
59+
* action. Additionally, other permissions are required depending on how you are replicating file systems.
60+
* 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>
61+
* in the <i>Amazon EFS User
62+
* Guide</i>.</p>
12563
* @example
12664
* Use a bare-bones client and the command you need to make an API call.
12765
* ```javascript
@@ -136,6 +74,7 @@ export interface CreateReplicationConfigurationCommandOutput
13674
* AvailabilityZoneName: "STRING_VALUE",
13775
* KmsKeyId: "STRING_VALUE",
13876
* FileSystemId: "STRING_VALUE",
77+
* RoleArn: "STRING_VALUE",
13978
* },
14079
* ],
14180
* };
@@ -153,8 +92,12 @@ export interface CreateReplicationConfigurationCommandOutput
15392
* // FileSystemId: "STRING_VALUE", // required
15493
* // Region: "STRING_VALUE", // required
15594
* // LastReplicatedTimestamp: new Date("TIMESTAMP"),
95+
* // OwnerId: "STRING_VALUE",
96+
* // StatusMessage: "STRING_VALUE",
97+
* // RoleArn: "STRING_VALUE",
15698
* // },
15799
* // ],
100+
* // SourceFileSystemOwnerId: "STRING_VALUE",
158101
* // };
159102
*
160103
* ```

clients/client-efs/src/commands/DeleteFileSystemCommand.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export interface DeleteFileSystemCommandOutput extends __MetadataBearer {}
3535
* an EFS file system. This step is performed for you when you use the Amazon Web Services console
3636
* to delete a file system.</p>
3737
* <note>
38-
* <p>You cannot delete a file system that is part of an EFS Replication configuration.
38+
* <p>You cannot delete a file system that is part of an EFS replication configuration.
3939
* You need to delete the replication configuration first.</p>
4040
* </note>
4141
* <p> You can't delete a file system that is in use. That is, if the file system has

clients/client-efs/src/commands/DeleteReplicationConfigurationCommand.ts

+1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ export interface DeleteReplicationConfigurationCommandOutput extends __MetadataB
4545
* const client = new EFSClient(config);
4646
* const input = { // DeleteReplicationConfigurationRequest
4747
* SourceFileSystemId: "STRING_VALUE", // required
48+
* DeletionMode: "ALL_CONFIGURATIONS" || "LOCAL_CONFIGURATION_ONLY",
4849
* };
4950
* const command = new DeleteReplicationConfigurationCommand(input);
5051
* const response = await client.send(command);

clients/client-efs/src/commands/DescribeLifecycleConfigurationCommand.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ export interface DescribeLifecycleConfigurationCommandOutput
3434

3535
/**
3636
* <p>Returns the current <code>LifecycleConfiguration</code> object for the specified Amazon
37-
* EFS file system. Lifecycle management uses the <code>LifecycleConfiguration</code> object
38-
* to identify when to move files between storage classes. For a file system without a
37+
* EFS file system. Lifecycle management uses the <code>LifecycleConfiguration</code> object to
38+
* identify when to move files between storage classes. For a file system without a
3939
* <code>LifecycleConfiguration</code> object, the call returns an empty array in the
4040
* response.</p>
4141
* <p>This operation requires permissions for the

clients/client-efs/src/commands/DescribeReplicationConfigurationsCommand.ts

+4
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,12 @@ export interface DescribeReplicationConfigurationsCommandOutput
6666
* // FileSystemId: "STRING_VALUE", // required
6767
* // Region: "STRING_VALUE", // required
6868
* // LastReplicatedTimestamp: new Date("TIMESTAMP"),
69+
* // OwnerId: "STRING_VALUE",
70+
* // StatusMessage: "STRING_VALUE",
71+
* // RoleArn: "STRING_VALUE",
6972
* // },
7073
* // ],
74+
* // SourceFileSystemOwnerId: "STRING_VALUE",
7175
* // },
7276
* // ],
7377
* // NextToken: "STRING_VALUE",

clients/client-efs/src/commands/PutFileSystemPolicyCommand.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ export interface PutFileSystemPolicyCommandOutput extends FileSystemPolicyDescri
3434
* exactly one file system policy, which can be the default policy or an explicit policy set or
3535
* updated using this API operation. EFS file system policies have a 20,000 character
3636
* limit. When an explicit policy is set, it overrides the default policy. For more information
37-
* 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
38-
* File System Policy</a>. </p>
37+
* 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">
38+
* Default EFS file system policy</a>. </p>
3939
* <note>
4040
* <p>EFS file system policies have a 20,000 character limit.</p>
4141
* </note>

clients/client-efs/src/commands/PutLifecycleConfigurationCommand.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ export interface PutLifecycleConfigurationCommandOutput extends LifecycleConfigu
5050
* <p>File systems cannot transition into Archive storage before transitioning into IA storage. Therefore,
5151
* TransitionToArchive must either not be set or must be later than TransitionToIA.</p>
5252
* <note>
53-
* <p> The Archive storage class is available only for file systems that use the Elastic Throughput mode
54-
* and the General Purpose Performance mode. </p>
53+
* <p> The Archive storage class is available only for file systems that use the Elastic throughput mode
54+
* and the General Purpose performance mode. </p>
5555
* </note>
5656
* </li>
5757
* </ul>
@@ -76,7 +76,7 @@ export interface PutLifecycleConfigurationCommandOutput extends LifecycleConfigu
7676
* <ul>
7777
* <li>
7878
* <p>The ID for the file system for which you are enabling, disabling, or modifying
79-
* Lifecycle management.</p>
79+
* lifecycle management.</p>
8080
* </li>
8181
* <li>
8282
* <p>A <code>LifecyclePolicies</code> array of <code>LifecyclePolicy</code> objects that

0 commit comments

Comments
 (0)