From 1f778937ab8e58907ec400190456ab8d1ae72c04 Mon Sep 17 00:00:00 2001 From: awstools Date: Tue, 19 Nov 2024 20:36:46 +0000 Subject: [PATCH] feat(client-efs): Add support for the new parameters in EFS replication APIs --- .../src/commands/CreateFileSystemCommand.ts | 17 +- .../CreateReplicationConfigurationCommand.ts | 105 +++-------- .../src/commands/DeleteFileSystemCommand.ts | 2 +- .../DeleteReplicationConfigurationCommand.ts | 1 + .../DescribeLifecycleConfigurationCommand.ts | 4 +- ...escribeReplicationConfigurationsCommand.ts | 4 + .../commands/PutFileSystemPolicyCommand.ts | 4 +- .../PutLifecycleConfigurationCommand.ts | 6 +- clients/client-efs/src/models/models_0.ts | 171 ++++++++++++++---- .../client-efs/src/protocols/Aws_restJson1.ts | 12 +- codegen/sdk-codegen/aws-models/efs.json | 109 ++++++++--- 11 files changed, 275 insertions(+), 160 deletions(-) diff --git a/clients/client-efs/src/commands/CreateFileSystemCommand.ts b/clients/client-efs/src/commands/CreateFileSystemCommand.ts index 19e1e32908bf..70087a1164c6 100644 --- a/clients/client-efs/src/commands/CreateFileSystemCommand.ts +++ b/clients/client-efs/src/commands/CreateFileSystemCommand.ts @@ -64,17 +64,16 @@ export interface CreateFileSystemCommandOutput extends FileSystemDescription, __ * system state.

* *

This operation accepts an optional PerformanceMode parameter that you choose - * for your file system. We recommend generalPurpose performance mode for all file - * systems. File systems using the maxIO 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 generalPurpose + * PerformanceMode for all file + * systems. The maxIO mode is a previous generation performance type that is designed for highly parallelized workloads that can tolerate higher latencies + * than the generalPurpose mode. MaxIO mode is not supported for One Zone file systems or * file systems that use Elastic throughput.

- * - *

Due to the higher per-operation latencies with Max I/O, we recommend using General Purpose performance mode for all file systems.

- *
- *

The performance mode can't be changed after - * the file system has been created. For more information, see Amazon EFS performance + *

The PerformanceMode can't be changed after the file system has been + * created. For more information, see Amazon EFS performance * modes.

- *

You can set the throughput mode for the file system using the ThroughputMode parameter.

+ *

You can set the throughput mode for the file system using the ThroughputMode + * parameter.

*

After the file system is fully created, Amazon EFS sets its lifecycle state to * available, at which point you can create one or more mount targets for the file * system in your VPC. For more information, see CreateMountTarget. You mount your Amazon EFS file system on an EC2 instances in diff --git a/clients/client-efs/src/commands/CreateReplicationConfigurationCommand.ts b/clients/client-efs/src/commands/CreateReplicationConfigurationCommand.ts index 2971a287a969..a77b00e3c0ff 100644 --- a/clients/client-efs/src/commands/CreateReplicationConfigurationCommand.ts +++ b/clients/client-efs/src/commands/CreateReplicationConfigurationCommand.ts @@ -33,95 +33,33 @@ export interface CreateReplicationConfigurationCommandOutput __MetadataBearer {} /** - *

Creates a replication configuration that replicates an existing EFS file system - * to a new, read-only file system. For more information, see Amazon EFS replication in the - * Amazon EFS User Guide. The replication configuration - * specifies the following:

+ *

Creates a replication configuration to either a new or existing EFS file system. + * For more information, see Amazon EFS replication in the Amazon EFS User + * Guide. The replication configuration specifies the following:

* - * - *

After the file system is created, you cannot change the KMS key.

- *
- *

For new destination file systems, the following properties are set by default:

- * - * - *

For more information, see Amazon EFS replication in the - * Amazon EFS User Guide.

+ *

This operation requires permissions for the elasticfilesystem:CreateReplicationConfiguration + * action. Additionally, other permissions are required depending on how you are replicating file systems. + * For more information, see Required permissions for replication + * in the Amazon EFS User + * Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -136,6 +74,7 @@ export interface CreateReplicationConfigurationCommandOutput * AvailabilityZoneName: "STRING_VALUE", * KmsKeyId: "STRING_VALUE", * FileSystemId: "STRING_VALUE", + * RoleArn: "STRING_VALUE", * }, * ], * }; @@ -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", * // }; * * ``` diff --git a/clients/client-efs/src/commands/DeleteFileSystemCommand.ts b/clients/client-efs/src/commands/DeleteFileSystemCommand.ts index c2602e20d905..21d60f1d6084 100644 --- a/clients/client-efs/src/commands/DeleteFileSystemCommand.ts +++ b/clients/client-efs/src/commands/DeleteFileSystemCommand.ts @@ -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.

* - *

You cannot delete a file system that is part of an EFS Replication configuration. + *

You cannot delete a file system that is part of an EFS replication configuration. * You need to delete the replication configuration first.

*
*

You can't delete a file system that is in use. That is, if the file system has diff --git a/clients/client-efs/src/commands/DeleteReplicationConfigurationCommand.ts b/clients/client-efs/src/commands/DeleteReplicationConfigurationCommand.ts index f334623bd7b0..5073acbd8cab 100644 --- a/clients/client-efs/src/commands/DeleteReplicationConfigurationCommand.ts +++ b/clients/client-efs/src/commands/DeleteReplicationConfigurationCommand.ts @@ -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); diff --git a/clients/client-efs/src/commands/DescribeLifecycleConfigurationCommand.ts b/clients/client-efs/src/commands/DescribeLifecycleConfigurationCommand.ts index a22aa8550bd8..ae9d3d239325 100644 --- a/clients/client-efs/src/commands/DescribeLifecycleConfigurationCommand.ts +++ b/clients/client-efs/src/commands/DescribeLifecycleConfigurationCommand.ts @@ -34,8 +34,8 @@ export interface DescribeLifecycleConfigurationCommandOutput /** *

Returns the current LifecycleConfiguration object for the specified Amazon - * EFS file system. Lifecycle management uses the LifecycleConfiguration object - * to identify when to move files between storage classes. For a file system without a + * EFS file system. Lifecycle management uses the LifecycleConfiguration object to + * identify when to move files between storage classes. For a file system without a * LifecycleConfiguration object, the call returns an empty array in the * response.

*

This operation requires permissions for the diff --git a/clients/client-efs/src/commands/DescribeReplicationConfigurationsCommand.ts b/clients/client-efs/src/commands/DescribeReplicationConfigurationsCommand.ts index f569ce587ec9..f2913394e1f5 100644 --- a/clients/client-efs/src/commands/DescribeReplicationConfigurationsCommand.ts +++ b/clients/client-efs/src/commands/DescribeReplicationConfigurationsCommand.ts @@ -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", diff --git a/clients/client-efs/src/commands/PutFileSystemPolicyCommand.ts b/clients/client-efs/src/commands/PutFileSystemPolicyCommand.ts index 5cac6184539f..0f63754c78ac 100644 --- a/clients/client-efs/src/commands/PutFileSystemPolicyCommand.ts +++ b/clients/client-efs/src/commands/PutFileSystemPolicyCommand.ts @@ -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 Default EFS - * File System Policy.

+ * about the default file system policy, see + * Default EFS file system policy.

* *

EFS file system policies have a 20,000 character limit.

*
diff --git a/clients/client-efs/src/commands/PutLifecycleConfigurationCommand.ts b/clients/client-efs/src/commands/PutLifecycleConfigurationCommand.ts index b2b0fc9b3bfa..70b28467018c 100644 --- a/clients/client-efs/src/commands/PutLifecycleConfigurationCommand.ts +++ b/clients/client-efs/src/commands/PutLifecycleConfigurationCommand.ts @@ -50,8 +50,8 @@ export interface PutLifecycleConfigurationCommandOutput extends LifecycleConfigu *

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.

* - *

The Archive storage class is available only for file systems that use the Elastic Throughput mode - * and the General Purpose Performance mode.

+ *

The Archive storage class is available only for file systems that use the Elastic throughput mode + * and the General Purpose performance mode.

*
* * @@ -76,7 +76,7 @@ export interface PutLifecycleConfigurationCommandOutput extends LifecycleConfigu *