Skip to content

Commit

Permalink
feat(client-efs): Adding support for EFS Archive lifecycle configurat…
Browse files Browse the repository at this point in the history
…ion.
  • Loading branch information
awstools committed Nov 27, 2023
1 parent 229ea23 commit 4183714
Show file tree
Hide file tree
Showing 21 changed files with 534 additions and 222 deletions.
15 changes: 8 additions & 7 deletions clients/client-efs/src/commands/CreateAccessPointCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,14 @@ export interface CreateAccessPointCommandOutput extends AccessPointDescription,

/**
* @public
* <p>Creates an EFS access point. An access point is an application-specific view into an EFS
* 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
* 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>Creates an EFS access point. An access point is an application-specific view
* into an EFS 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 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>
* <note>
* <p>If multiple requests to create access points on the same file system are sent in quick
* succession, and the file system is near the limit of 1,000 access points, you may experience
Expand Down
17 changes: 11 additions & 6 deletions clients/client-efs/src/commands/CreateFileSystemCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ export interface CreateFileSystemCommandOutput extends FileSystemDescription, __
* <p>For basic use cases, you can use a randomly generated UUID for the creation
* token.</p>
* </note>
* <p> The idempotent operation allows you to retry a <code>CreateFileSystem</code> call without
* <p>The idempotent operation allows you to retry a <code>CreateFileSystem</code> call without
* risk of creating an extra file system. This can happen when an initial call fails in a way
* that leaves it uncertain whether or not a file system was actually created. An example might
* be that a transport level timeout occurred or your connection was reset. As long as you use
Expand All @@ -72,11 +72,15 @@ export interface CreateFileSystemCommandOutput extends FileSystemDescription, __
* calling the <a>DescribeFileSystems</a> operation, which among other things returns the file
* 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
* most file systems. File systems using the <code>maxIO</code> performance mode can scale to
* higher levels of aggregate throughput and operations per second with a tradeoff of slightly
* higher latencies for most file operations. The performance mode can't be changed after
* <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
* 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
* modes</a>.</p>
* <p>You can set the throughput mode for the file system using the <code>ThroughputMode</code> parameter.</p>
Expand Down Expand Up @@ -129,6 +133,7 @@ export interface CreateFileSystemCommandOutput extends FileSystemDescription, __
* // Timestamp: new Date("TIMESTAMP"),
* // ValueInIA: Number("long"),
* // ValueInStandard: Number("long"),
* // ValueInArchive: Number("long"),
* // },
* // PerformanceMode: "generalPurpose" || "maxIO", // required
* // Encrypted: true || false,
Expand Down
12 changes: 6 additions & 6 deletions clients/client-efs/src/commands/CreateMountTargetCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,12 @@ export interface CreateMountTargetCommandOutput extends MountTargetDescription,
* file system. If you have multiple subnets in an Availability Zone, you create a mount target
* in one of the subnets. EC2 instances do not need to be in the same subnet as the mount target
* in order to access their file system.</p>
* <p>You can create only one mount target for an EFS file system using One Zone storage
* classes. You must create that mount target in the same Availability Zone in which the file
* system is located. Use the <code>AvailabilityZoneName</code> and
* <code>AvailabiltyZoneId</code> properties in the <a>DescribeFileSystems</a>
* response object to get this information. Use the <code>subnetId</code> associated with the
* file system's Availability Zone when creating the mount target.</p>
* <p>You can create only one mount target for a One Zone file system.
* You must create that mount target in the same Availability Zone in which the file system is
* located. Use the <code>AvailabilityZoneName</code> and <code>AvailabiltyZoneId</code>
* properties in the <a>DescribeFileSystems</a> response object to get this
* information. Use the <code>subnetId</code> associated with the file system's Availability Zone
* when creating the mount target.</p>
* <p>For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/how-it-works.html">Amazon EFS: How it Works</a>. </p>
* <p>To create a mount target for a file system, the file system's lifecycle state must be
* <code>available</code>. For more information, see <a>DescribeFileSystems</a>.</p>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ export interface CreateReplicationConfigurationCommandOutput

/**
* @public
* <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
* <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>
Expand Down Expand Up @@ -71,9 +71,8 @@ export interface CreateReplicationConfigurationCommandOutput
* <li>
* <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">
* to use EFS One Zone availability, 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>
Expand Down Expand Up @@ -110,14 +109,13 @@ export interface CreateReplicationConfigurationCommandOutput
* <ul>
* <li>
* <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>
* <b>Lifecycle management</b> – Lifecycle management is not enabled
* on the destination file system. After the destination file system is created, you can
* enable it.</p>
* </li>
* <li>
* <p>
* <b>Automatic backups</b> - Automatic daily backups are enabled on
* <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>
* </li>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,11 @@ export interface DescribeAccessPointsCommandOutput extends DescribeAccessPointsR

/**
* @public
* <p>Returns the description of a specific Amazon EFS access point if the <code>AccessPointId</code> is provided.
* If you provide an EFS <code>FileSystemId</code>, it returns descriptions of all access points for that file system.
* You can provide either an <code>AccessPointId</code> or a <code>FileSystemId</code> in the request, but not both. </p>
* <p>Returns the description of a specific Amazon EFS access point if the
* <code>AccessPointId</code> is provided. If you provide an EFS
* <code>FileSystemId</code>, it returns descriptions of all access points for that file
* system. You can provide either an <code>AccessPointId</code> or a <code>FileSystemId</code> in
* the request, but not both. </p>
* <p>This operation requires permissions for the <code>elasticfilesystem:DescribeAccessPoints</code> action.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ export interface DescribeFileSystemPolicyCommandOutput extends FileSystemPolicyD

/**
* @public
* <p>Returns the <code>FileSystemPolicy</code> for the specified EFS file system.</p>
* <p>Returns the <code>FileSystemPolicy</code> for the specified EFS file
* system.</p>
* <p>This operation requires permissions for the <code>elasticfilesystem:DescribeFileSystemPolicy</code> action.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ export interface DescribeFileSystemsCommandOutput extends DescribeFileSystemsRes
* // Timestamp: new Date("TIMESTAMP"),
* // ValueInIA: Number("long"),
* // ValueInStandard: Number("long"),
* // ValueInArchive: Number("long"),
* // },
* // PerformanceMode: "generalPurpose" || "maxIO", // required
* // Encrypted: true || false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,10 @@ export interface DescribeLifecycleConfigurationCommandOutput
/**
* @public
* <p>Returns the current <code>LifecycleConfiguration</code> object for the specified Amazon
* EFS file system. EFS lifecycle management uses the <code>LifecycleConfiguration</code> object
* 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
* EFS file system. Llifecycle 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>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 All @@ -65,8 +63,9 @@ export interface DescribeLifecycleConfigurationCommandOutput
* // { // LifecycleConfigurationDescription
* // LifecyclePolicies: [ // LifecyclePolicies
* // { // LifecyclePolicy
* // TransitionToIA: "AFTER_7_DAYS" || "AFTER_14_DAYS" || "AFTER_30_DAYS" || "AFTER_60_DAYS" || "AFTER_90_DAYS" || "AFTER_1_DAY",
* // TransitionToIA: "AFTER_7_DAYS" || "AFTER_14_DAYS" || "AFTER_30_DAYS" || "AFTER_60_DAYS" || "AFTER_90_DAYS" || "AFTER_1_DAY" || "AFTER_180_DAYS" || "AFTER_270_DAYS" || "AFTER_365_DAYS",
* // TransitionToPrimaryStorageClass: "AFTER_1_ACCESS",
* // TransitionToArchive: "AFTER_1_DAY" || "AFTER_7_DAYS" || "AFTER_14_DAYS" || "AFTER_30_DAYS" || "AFTER_60_DAYS" || "AFTER_90_DAYS" || "AFTER_180_DAYS" || "AFTER_270_DAYS" || "AFTER_365_DAYS",
* // },
* // ],
* // };
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ export interface ListTagsForResourceCommandOutput extends ListTagsForResourceRes

/**
* @public
* <p>Lists all tags for a top-level EFS resource. You must provide the ID of the resource that you want to retrieve the tags for.</p>
* <p>Lists all tags for a top-level EFS resource. You must provide the ID of the
* resource that you want to retrieve the tags for.</p>
* <p>This operation requires permissions for the <code>elasticfilesystem:DescribeAccessPoints</code> action.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,10 @@ export interface PutAccountPreferencesCommandOutput extends PutAccountPreference
/**
* @public
* <p>Use this operation to set the account preference in the current Amazon Web Services Region
* to use long 17 character (63 bit) or short 8 character (32 bit) resource IDs for
* new EFS file system and mount target resources. All existing resource IDs are not affected
* by any changes you make. You can set the ID preference during the
* 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>
* to use long 17 character (63 bit) or short 8 character (32 bit) resource IDs for new
* EFS file system and mount target resources. All existing resource IDs are not
* affected by any changes you make. You can set the ID preference during the 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
Expand Down
16 changes: 8 additions & 8 deletions clients/client-efs/src/commands/PutFileSystemPolicyCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@ export interface PutFileSystemPolicyCommandOutput extends FileSystemPolicyDescri

/**
* @public
* <p>Applies an Amazon EFS <code>FileSystemPolicy</code> to an Amazon EFS file system.
* A file system policy is an IAM resource-based policy and can contain multiple policy statements.
* A file system always has 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>
* <p>Applies an Amazon EFS
* <code>FileSystemPolicy</code> to an Amazon EFS file system. A file system policy is an
* IAM resource-based policy and can contain multiple policy statements. A file system always has
* 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>
* <note>
* <p>EFS file system policies have a 20,000 character limit.</p>
* </note>
Expand Down
Loading

0 comments on commit 4183714

Please sign in to comment.