@aws-sdk/client-efs 3.458.0 → 3.459.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/README.md +8 -0
  2. package/dist-cjs/EFS.js +2 -0
  3. package/dist-cjs/commands/UpdateFileSystemProtectionCommand.js +51 -0
  4. package/dist-cjs/commands/index.js +1 -0
  5. package/dist-cjs/models/models_0.js +36 -1
  6. package/dist-cjs/protocols/Aws_restJson1.js +114 -2
  7. package/dist-es/EFS.js +2 -0
  8. package/dist-es/commands/UpdateFileSystemProtectionCommand.js +47 -0
  9. package/dist-es/commands/index.js +1 -0
  10. package/dist-es/models/models_0.js +33 -0
  11. package/dist-es/protocols/Aws_restJson1.js +111 -1
  12. package/dist-types/EFS.d.ts +7 -0
  13. package/dist-types/EFSClient.d.ts +3 -2
  14. package/dist-types/commands/CreateFileSystemCommand.d.ts +3 -0
  15. package/dist-types/commands/CreateReplicationConfigurationCommand.d.ts +42 -29
  16. package/dist-types/commands/DeleteReplicationConfigurationCommand.d.ts +6 -4
  17. package/dist-types/commands/DescribeFileSystemsCommand.d.ts +3 -0
  18. package/dist-types/commands/DescribeLifecycleConfigurationCommand.d.ts +2 -2
  19. package/dist-types/commands/PutLifecycleConfigurationCommand.d.ts +7 -6
  20. package/dist-types/commands/UpdateFileSystemCommand.d.ts +3 -0
  21. package/dist-types/commands/UpdateFileSystemProtectionCommand.d.ts +108 -0
  22. package/dist-types/commands/index.d.ts +1 -0
  23. package/dist-types/models/models_0.d.ts +154 -4
  24. package/dist-types/protocols/Aws_restJson1.d.ts +9 -0
  25. package/dist-types/ts3.4/EFS.d.ts +17 -0
  26. package/dist-types/ts3.4/EFSClient.d.ts +8 -2
  27. package/dist-types/ts3.4/commands/UpdateFileSystemProtectionCommand.d.ts +42 -0
  28. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  29. package/dist-types/ts3.4/models/models_0.d.ts +32 -0
  30. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +12 -0
  31. package/package.json +1 -1
@@ -38,17 +38,18 @@ import { PutLifecycleConfigurationCommandInput, PutLifecycleConfigurationCommand
38
38
  import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
39
39
  import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
40
40
  import { UpdateFileSystemCommandInput, UpdateFileSystemCommandOutput } from "./commands/UpdateFileSystemCommand";
41
+ import { UpdateFileSystemProtectionCommandInput, UpdateFileSystemProtectionCommandOutput } from "./commands/UpdateFileSystemProtectionCommand";
41
42
  import { ClientInputEndpointParameters, ClientResolvedEndpointParameters, EndpointParameters } from "./endpoint/EndpointParameters";
42
43
  import { RuntimeExtension, RuntimeExtensionsConfig } from "./runtimeExtensions";
43
44
  export { __Client };
44
45
  /**
45
46
  * @public
46
47
  */
47
- export type ServiceInputTypes = CreateAccessPointCommandInput | CreateFileSystemCommandInput | CreateMountTargetCommandInput | CreateReplicationConfigurationCommandInput | CreateTagsCommandInput | DeleteAccessPointCommandInput | DeleteFileSystemCommandInput | DeleteFileSystemPolicyCommandInput | DeleteMountTargetCommandInput | DeleteReplicationConfigurationCommandInput | DeleteTagsCommandInput | DescribeAccessPointsCommandInput | DescribeAccountPreferencesCommandInput | DescribeBackupPolicyCommandInput | DescribeFileSystemPolicyCommandInput | DescribeFileSystemsCommandInput | DescribeLifecycleConfigurationCommandInput | DescribeMountTargetSecurityGroupsCommandInput | DescribeMountTargetsCommandInput | DescribeReplicationConfigurationsCommandInput | DescribeTagsCommandInput | ListTagsForResourceCommandInput | ModifyMountTargetSecurityGroupsCommandInput | PutAccountPreferencesCommandInput | PutBackupPolicyCommandInput | PutFileSystemPolicyCommandInput | PutLifecycleConfigurationCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateFileSystemCommandInput;
48
+ export type ServiceInputTypes = CreateAccessPointCommandInput | CreateFileSystemCommandInput | CreateMountTargetCommandInput | CreateReplicationConfigurationCommandInput | CreateTagsCommandInput | DeleteAccessPointCommandInput | DeleteFileSystemCommandInput | DeleteFileSystemPolicyCommandInput | DeleteMountTargetCommandInput | DeleteReplicationConfigurationCommandInput | DeleteTagsCommandInput | DescribeAccessPointsCommandInput | DescribeAccountPreferencesCommandInput | DescribeBackupPolicyCommandInput | DescribeFileSystemPolicyCommandInput | DescribeFileSystemsCommandInput | DescribeLifecycleConfigurationCommandInput | DescribeMountTargetSecurityGroupsCommandInput | DescribeMountTargetsCommandInput | DescribeReplicationConfigurationsCommandInput | DescribeTagsCommandInput | ListTagsForResourceCommandInput | ModifyMountTargetSecurityGroupsCommandInput | PutAccountPreferencesCommandInput | PutBackupPolicyCommandInput | PutFileSystemPolicyCommandInput | PutLifecycleConfigurationCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateFileSystemCommandInput | UpdateFileSystemProtectionCommandInput;
48
49
  /**
49
50
  * @public
50
51
  */
51
- export type ServiceOutputTypes = CreateAccessPointCommandOutput | CreateFileSystemCommandOutput | CreateMountTargetCommandOutput | CreateReplicationConfigurationCommandOutput | CreateTagsCommandOutput | DeleteAccessPointCommandOutput | DeleteFileSystemCommandOutput | DeleteFileSystemPolicyCommandOutput | DeleteMountTargetCommandOutput | DeleteReplicationConfigurationCommandOutput | DeleteTagsCommandOutput | DescribeAccessPointsCommandOutput | DescribeAccountPreferencesCommandOutput | DescribeBackupPolicyCommandOutput | DescribeFileSystemPolicyCommandOutput | DescribeFileSystemsCommandOutput | DescribeLifecycleConfigurationCommandOutput | DescribeMountTargetSecurityGroupsCommandOutput | DescribeMountTargetsCommandOutput | DescribeReplicationConfigurationsCommandOutput | DescribeTagsCommandOutput | ListTagsForResourceCommandOutput | ModifyMountTargetSecurityGroupsCommandOutput | PutAccountPreferencesCommandOutput | PutBackupPolicyCommandOutput | PutFileSystemPolicyCommandOutput | PutLifecycleConfigurationCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateFileSystemCommandOutput;
52
+ export type ServiceOutputTypes = CreateAccessPointCommandOutput | CreateFileSystemCommandOutput | CreateMountTargetCommandOutput | CreateReplicationConfigurationCommandOutput | CreateTagsCommandOutput | DeleteAccessPointCommandOutput | DeleteFileSystemCommandOutput | DeleteFileSystemPolicyCommandOutput | DeleteMountTargetCommandOutput | DeleteReplicationConfigurationCommandOutput | DeleteTagsCommandOutput | DescribeAccessPointsCommandOutput | DescribeAccountPreferencesCommandOutput | DescribeBackupPolicyCommandOutput | DescribeFileSystemPolicyCommandOutput | DescribeFileSystemsCommandOutput | DescribeLifecycleConfigurationCommandOutput | DescribeMountTargetSecurityGroupsCommandOutput | DescribeMountTargetsCommandOutput | DescribeReplicationConfigurationsCommandOutput | DescribeTagsCommandOutput | ListTagsForResourceCommandOutput | ModifyMountTargetSecurityGroupsCommandOutput | PutAccountPreferencesCommandOutput | PutBackupPolicyCommandOutput | PutFileSystemPolicyCommandOutput | PutLifecycleConfigurationCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateFileSystemCommandOutput | UpdateFileSystemProtectionCommandOutput;
52
53
  /**
53
54
  * @public
54
55
  */
@@ -134,6 +134,9 @@ export interface CreateFileSystemCommandOutput extends FileSystemDescription, __
134
134
  * // Value: "STRING_VALUE", // required
135
135
  * // },
136
136
  * // ],
137
+ * // FileSystemProtection: { // FileSystemProtectionDescription
138
+ * // ReplicationOverwriteProtection: "ENABLED" || "DISABLED" || "REPLICATING",
139
+ * // },
137
140
  * // };
138
141
  *
139
142
  * ```
@@ -30,39 +30,46 @@ export interface CreateReplicationConfigurationCommandOutput extends Replication
30
30
  * <ul>
31
31
  * <li>
32
32
  * <p>
33
- * <b>Source file system</b> - An existing EFS file system that you
34
- * want replicated. The source file system cannot be a destination file system in an existing
35
- * replication configuration.</p>
33
+ * <b>Source file system</b> The EFS file system that
34
+ * you want replicated. The source file system cannot be a destination file system in an
35
+ * existing replication configuration.</p>
36
36
  * </li>
37
37
  * <li>
38
38
  * <p>
39
- * <b>Destination file system configuration</b> - The configuration of
40
- * the destination file system to which the source file system will be replicated. There can
41
- * only be one destination file system in a replication configuration. The destination file
42
- * system configuration consists of the following properties:</p>
39
+ * <b>Amazon Web Services Region</b> The Amazon Web Services Region in which the destination file system is created. Amazon EFS
40
+ * replication is available in all Amazon Web Services Regions in which EFS is available. The
41
+ * 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
42
+ * Reference Guide</i>.</p>
43
+ * </li>
44
+ * <li>
45
+ * <p>
46
+ * <b>Destination file system configuration</b> – The
47
+ * configuration of the destination file system to which the source file system will be
48
+ * replicated. There can only be one destination file system in a replication configuration. </p>
49
+ * <p>Parameters for the replication configuration include:</p>
43
50
  * <ul>
44
51
  * <li>
45
52
  * <p>
46
- * <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
47
- * available. To use EFS replication in a Region that is disabled by default, you must
48
- * first opt in to the Region. 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
49
- * Reference Guide</i>
50
- * </p>
53
+ * <b>File system ID</b> The ID of the destination
54
+ * file system for the replication. If no ID is provided, then EFS creates a new file
55
+ * system with the default settings. For existing file systems, the file system's
56
+ * 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
57
+ * an existing file system</a>.</p>
51
58
  * </li>
52
59
  * <li>
53
60
  * <p>
54
- * <b>Availability Zone</b> - If you want the destination file system
55
- * to use EFS One Zone availability, you must specify the Availability Zone to create the
56
- * file system in. For more information about EFS storage classes, see <a href="https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html">
57
- * Amazon EFS storage classes</a> in the <i>Amazon EFS User
61
+ * <b>Availability Zone</b> If you want the destination file
62
+ * system to use One Zone storage, you must specify the Availability Zone to create the
63
+ * file system in. For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html">
64
+ * EFS file system types</a> in the <i>Amazon EFS User
58
65
  * Guide</i>.</p>
59
66
  * </li>
60
67
  * <li>
61
68
  * <p>
62
- * <b>Encryption</b> - All destination file systems are created with
63
- * 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
69
+ * <b>Encryption</b> All destination file systems are created
70
+ * 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
64
71
  * specify a KMS key, your service-managed KMS key for
65
- * Amazon EFS is used. </p>
72
+ * Amazon EFS is used. </p>
66
73
  * <note>
67
74
  * <p>After the file system is created, you cannot change the KMS key.</p>
68
75
  * </note>
@@ -70,29 +77,31 @@ export interface CreateReplicationConfigurationCommandOutput extends Replication
70
77
  * </ul>
71
78
  * </li>
72
79
  * </ul>
73
- * <p>The following properties are set by default:</p>
80
+ * <note>
81
+ * <p>After the file system is created, you cannot change the KMS key.</p>
82
+ * </note>
83
+ * <p>For new destination file systems, the following properties are set by default:</p>
74
84
  * <ul>
75
85
  * <li>
76
86
  * <p>
77
- * <b>Performance mode</b> - The destination file system's performance
78
- * mode matches that of the source file system, unless the destination file system uses EFS
79
- * One Zone storage. In that case, the General Purpose performance mode is used. The
80
- * performance mode cannot be changed.</p>
87
+ * <b>Performance mode</b> - The destination file system's
88
+ * performance mode matches that of the source file system, unless the destination file
89
+ * system uses EFS One Zone storage. In that case, the General Purpose performance mode is
90
+ * used. The performance mode cannot be changed.</p>
81
91
  * </li>
82
92
  * <li>
83
93
  * <p>
84
- * <b>Throughput mode</b> - The destination file system's throughput
85
- * mode matches that of the source file system. After the file system is created, you can modify the
86
- * throughput mode.</p>
94
+ * <b>Throughput mode</b> - The destination file system's
95
+ * throughput mode matches that of the source file system. After the file system is created,
96
+ * you can modify the throughput mode.</p>
87
97
  * </li>
88
98
  * </ul>
89
- * <p>The following properties are turned off by default:</p>
90
99
  * <ul>
91
100
  * <li>
92
101
  * <p>
93
102
  * <b>Lifecycle management</b> – Lifecycle management is not enabled
94
103
  * on the destination file system. After the destination file system is created, you can
95
- * enable it.</p>
104
+ * enable lifecycle management.</p>
96
105
  * </li>
97
106
  * <li>
98
107
  * <p>
@@ -116,6 +125,7 @@ export interface CreateReplicationConfigurationCommandOutput extends Replication
116
125
  * Region: "STRING_VALUE",
117
126
  * AvailabilityZoneName: "STRING_VALUE",
118
127
  * KmsKeyId: "STRING_VALUE",
128
+ * FileSystemId: "STRING_VALUE",
119
129
  * },
120
130
  * ],
121
131
  * };
@@ -149,6 +159,9 @@ export interface CreateReplicationConfigurationCommandOutput extends Replication
149
159
  * <p>Returned if the request is malformed or contains an error such as an invalid
150
160
  * parameter value or a missing required parameter.</p>
151
161
  *
162
+ * @throws {@link ConflictException} (client fault)
163
+ * <p>Returned if the source file system in a replication is encrypted but the destination file system is unencrypted.</p>
164
+ *
152
165
  * @throws {@link FileSystemLimitExceeded} (client fault)
153
166
  * <p>Returned if the Amazon Web Services account has already created the maximum number of file systems
154
167
  * allowed per account.</p>
@@ -23,10 +23,12 @@ export interface DeleteReplicationConfigurationCommandOutput extends __MetadataB
23
23
  }
24
24
  /**
25
25
  * @public
26
- * <p>Deletes an existing replication configuration. Deleting a replication configuration ends the replication process. After a
27
- * replication configuration is deleted, the destination file system is no longer read-only. You
28
- * can write to the destination file system after its status becomes
29
- * <code>Writeable</code>.</p>
26
+ * <p>Deletes a replication configuration. Deleting a replication configuration ends the
27
+ * replication process. After a replication configuration is deleted, the destination file system
28
+ * becomes <code>Writeable</code> and its replication overwrite protection is re-enabled. For
29
+ * more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/delete-replications.html">Delete a replication configuration</a>.</p>
30
+ * <p>This operation requires permissions for the
31
+ * <code>elasticfilesystem:DeleteReplicationConfiguration</code> action. </p>
30
32
  * @example
31
33
  * Use a bare-bones client and the command you need to make an API call.
32
34
  * ```javascript
@@ -89,6 +89,9 @@ export interface DescribeFileSystemsCommandOutput extends DescribeFileSystemsRes
89
89
  * // Value: "STRING_VALUE", // required
90
90
  * // },
91
91
  * // ],
92
+ * // FileSystemProtection: { // FileSystemProtectionDescription
93
+ * // ReplicationOverwriteProtection: "ENABLED" || "DISABLED" || "REPLICATING",
94
+ * // },
92
95
  * // },
93
96
  * // ],
94
97
  * // NextMarker: "STRING_VALUE",
@@ -24,8 +24,8 @@ export interface DescribeLifecycleConfigurationCommandOutput extends LifecycleCo
24
24
  /**
25
25
  * @public
26
26
  * <p>Returns the current <code>LifecycleConfiguration</code> object for the specified Amazon
27
- * EFS file system. Llifecycle management uses the <code>LifecycleConfiguration</code> object to
28
- * identify when to move files between storage classes. For a file system without a
27
+ * EFS file system. Lifecycle management uses the <code>LifecycleConfiguration</code> object
28
+ * to identify when to move files between storage classes. For a file system without a
29
29
  * <code>LifecycleConfiguration</code> object, the call returns an empty array in the
30
30
  * response.</p>
31
31
  * <p>This operation requires permissions for the
@@ -23,7 +23,7 @@ export interface PutLifecycleConfigurationCommandOutput extends LifecycleConfigu
23
23
  }
24
24
  /**
25
25
  * @public
26
- * <p>Use this action to manage storage of your file system. A
26
+ * <p>Use this action to manage storage for your file system. A
27
27
  * <code>LifecycleConfiguration</code> consists of one or more <code>LifecyclePolicy</code>
28
28
  * objects that define the following:</p>
29
29
  * <ul>
@@ -49,24 +49,25 @@ export interface PutLifecycleConfigurationCommandOutput extends LifecycleConfigu
49
49
  * and the General Purpose Performance mode. </p>
50
50
  * </note>
51
51
  * </li>
52
+ * </ul>
53
+ * <ul>
52
54
  * <li>
53
55
  * <p>
54
56
  * <b>
55
57
  * <code>TransitionToPrimaryStorageClass</code>
56
58
  * </b> –
57
- * Whether to move files in the file system back to primary storage (Standard storage class) after they are accessed in IA
59
+ * Whether to move files in the file system back to primary storage (Standard storage class) after they are accessed in IA
58
60
  * or Archive storage.</p>
59
61
  * </li>
60
62
  * </ul>
61
- * <p>For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html">
62
- * Managing file system storage</a>.</p>
63
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html"> Managing file system
64
+ * storage</a>.</p>
63
65
  * <p>Each Amazon EFS file system supports one lifecycle configuration, which applies to
64
66
  * all files in the file system. If a <code>LifecycleConfiguration</code> object already exists
65
67
  * for the specified file system, a <code>PutLifecycleConfiguration</code> call modifies the
66
68
  * existing configuration. A <code>PutLifecycleConfiguration</code> call with an empty
67
69
  * <code>LifecyclePolicies</code> array in the request body deletes any existing
68
- * <code>LifecycleConfiguration</code> for the file system.</p>
69
- * <p>In the request, specify the following: </p>
70
+ * <code>LifecycleConfiguration</code>. In the request, specify the following: </p>
70
71
  * <ul>
71
72
  * <li>
72
73
  * <p>The ID for the file system for which you are enabling, disabling, or modifying
@@ -67,6 +67,9 @@ export interface UpdateFileSystemCommandOutput extends FileSystemDescription, __
67
67
  * // Value: "STRING_VALUE", // required
68
68
  * // },
69
69
  * // ],
70
+ * // FileSystemProtection: { // FileSystemProtectionDescription
71
+ * // ReplicationOverwriteProtection: "ENABLED" || "DISABLED" || "REPLICATING",
72
+ * // },
70
73
  * // };
71
74
  *
72
75
  * ```
@@ -0,0 +1,108 @@
1
+ import { EndpointParameterInstructions } from "@smithy/middleware-endpoint";
2
+ import { Command as $Command } from "@smithy/smithy-client";
3
+ import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@smithy/types";
4
+ import { EFSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EFSClient";
5
+ import { FileSystemProtectionDescription, UpdateFileSystemProtectionRequest } from "../models/models_0";
6
+ /**
7
+ * @public
8
+ */
9
+ export { __MetadataBearer, $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link UpdateFileSystemProtectionCommand}.
14
+ */
15
+ export interface UpdateFileSystemProtectionCommandInput extends UpdateFileSystemProtectionRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link UpdateFileSystemProtectionCommand}.
21
+ */
22
+ export interface UpdateFileSystemProtectionCommandOutput extends FileSystemProtectionDescription, __MetadataBearer {
23
+ }
24
+ /**
25
+ * @public
26
+ * <p>Updates protection on the file system.</p>
27
+ * <p>This operation requires permissions for the
28
+ * <code>elasticfilesystem:UpdateFileSystemProtection</code> action. </p>
29
+ * @example
30
+ * Use a bare-bones client and the command you need to make an API call.
31
+ * ```javascript
32
+ * import { EFSClient, UpdateFileSystemProtectionCommand } from "@aws-sdk/client-efs"; // ES Modules import
33
+ * // const { EFSClient, UpdateFileSystemProtectionCommand } = require("@aws-sdk/client-efs"); // CommonJS import
34
+ * const client = new EFSClient(config);
35
+ * const input = { // UpdateFileSystemProtectionRequest
36
+ * FileSystemId: "STRING_VALUE", // required
37
+ * ReplicationOverwriteProtection: "ENABLED" || "DISABLED" || "REPLICATING",
38
+ * };
39
+ * const command = new UpdateFileSystemProtectionCommand(input);
40
+ * const response = await client.send(command);
41
+ * // { // FileSystemProtectionDescription
42
+ * // ReplicationOverwriteProtection: "ENABLED" || "DISABLED" || "REPLICATING",
43
+ * // };
44
+ *
45
+ * ```
46
+ *
47
+ * @param UpdateFileSystemProtectionCommandInput - {@link UpdateFileSystemProtectionCommandInput}
48
+ * @returns {@link UpdateFileSystemProtectionCommandOutput}
49
+ * @see {@link UpdateFileSystemProtectionCommandInput} for command's `input` shape.
50
+ * @see {@link UpdateFileSystemProtectionCommandOutput} for command's `response` shape.
51
+ * @see {@link EFSClientResolvedConfig | config} for EFSClient's `config` shape.
52
+ *
53
+ * @throws {@link BadRequest} (client fault)
54
+ * <p>Returned if the request is malformed or contains an error such as an invalid
55
+ * parameter value or a missing required parameter.</p>
56
+ *
57
+ * @throws {@link FileSystemNotFound} (client fault)
58
+ * <p>Returned if the specified <code>FileSystemId</code> value doesn't exist in the
59
+ * requester's Amazon Web Services account.</p>
60
+ *
61
+ * @throws {@link IncorrectFileSystemLifeCycleState} (client fault)
62
+ * <p>Returned if the file system's lifecycle state is not "available".</p>
63
+ *
64
+ * @throws {@link InsufficientThroughputCapacity} (server fault)
65
+ * <p>Returned if there's not enough capacity to provision additional throughput. This value
66
+ * might be returned when you try to create a file system in provisioned throughput mode,
67
+ * when you attempt to increase the provisioned throughput of an existing file system, or
68
+ * when you attempt to change an existing file system from Bursting Throughput to
69
+ * Provisioned Throughput mode. Try again later.</p>
70
+ *
71
+ * @throws {@link InternalServerError} (server fault)
72
+ * <p>Returned if an error occurred on the server side.</p>
73
+ *
74
+ * @throws {@link ReplicationAlreadyExists} (client fault)
75
+ * <p>Returned if the file system is already included in a replication configuration.></p>
76
+ *
77
+ * @throws {@link ThroughputLimitExceeded} (client fault)
78
+ * <p>Returned if the throughput mode or amount of provisioned throughput can't be changed
79
+ * because the throughput limit of 1024 MiB/s has been reached.</p>
80
+ *
81
+ * @throws {@link TooManyRequests} (client fault)
82
+ * <p>Returned if you don’t wait at least 24 hours before either changing the throughput mode, or
83
+ * decreasing the Provisioned Throughput value.</p>
84
+ *
85
+ * @throws {@link EFSServiceException}
86
+ * <p>Base exception class for all service exceptions from EFS service.</p>
87
+ *
88
+ */
89
+ export declare class UpdateFileSystemProtectionCommand extends $Command<UpdateFileSystemProtectionCommandInput, UpdateFileSystemProtectionCommandOutput, EFSClientResolvedConfig> {
90
+ readonly input: UpdateFileSystemProtectionCommandInput;
91
+ static getEndpointParameterInstructions(): EndpointParameterInstructions;
92
+ /**
93
+ * @public
94
+ */
95
+ constructor(input: UpdateFileSystemProtectionCommandInput);
96
+ /**
97
+ * @internal
98
+ */
99
+ resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: EFSClientResolvedConfig, options?: __HttpHandlerOptions): Handler<UpdateFileSystemProtectionCommandInput, UpdateFileSystemProtectionCommandOutput>;
100
+ /**
101
+ * @internal
102
+ */
103
+ private serialize;
104
+ /**
105
+ * @internal
106
+ */
107
+ private deserialize;
108
+ }
@@ -28,3 +28,4 @@ export * from "./PutLifecycleConfigurationCommand";
28
28
  export * from "./TagResourceCommand";
29
29
  export * from "./UntagResourceCommand";
30
30
  export * from "./UpdateFileSystemCommand";
31
+ export * from "./UpdateFileSystemProtectionCommand";
@@ -384,6 +384,33 @@ export declare class BadRequest extends __BaseException {
384
384
  */
385
385
  constructor(opts: __ExceptionOptionType<BadRequest, __BaseException>);
386
386
  }
387
+ /**
388
+ * @public
389
+ * <p>Returned if the source file system in a replication is encrypted but the destination file system is unencrypted.</p>
390
+ */
391
+ export declare class ConflictException extends __BaseException {
392
+ readonly name: "ConflictException";
393
+ readonly $fault: "client";
394
+ /**
395
+ * @public
396
+ * <p>The error code is a string that uniquely identifies an error condition.
397
+ * It is meant to be read and understood by programs that detect and handle errors by type. </p>
398
+ */
399
+ ErrorCode?: string;
400
+ /**
401
+ * @public
402
+ * <p>The error message contains a generic description of the error
403
+ * condition in English. It is intended for a human audience. Simple programs display the message directly
404
+ * to the end user if they encounter an error condition they don't know how or don't care to handle.
405
+ * Sophisticated programs with more exhaustive error handling and proper internationalization are
406
+ * more likely to ignore the error message.</p>
407
+ */
408
+ Message?: string;
409
+ /**
410
+ * @internal
411
+ */
412
+ constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>);
413
+ }
387
414
  /**
388
415
  * @public
389
416
  */
@@ -714,6 +741,52 @@ export declare class FileSystemAlreadyExists extends __BaseException {
714
741
  */
715
742
  constructor(opts: __ExceptionOptionType<FileSystemAlreadyExists, __BaseException>);
716
743
  }
744
+ /**
745
+ * @public
746
+ * @enum
747
+ */
748
+ export declare const ReplicationOverwriteProtection: {
749
+ readonly DISABLED: "DISABLED";
750
+ readonly ENABLED: "ENABLED";
751
+ readonly REPLICATING: "REPLICATING";
752
+ };
753
+ /**
754
+ * @public
755
+ */
756
+ export type ReplicationOverwriteProtection = (typeof ReplicationOverwriteProtection)[keyof typeof ReplicationOverwriteProtection];
757
+ /**
758
+ * @public
759
+ * <p>Describes the protection on a file system. </p>
760
+ */
761
+ export interface FileSystemProtectionDescription {
762
+ /**
763
+ * @public
764
+ * <p>The status of the file system's replication overwrite protection.</p>
765
+ * <ul>
766
+ * <li>
767
+ * <p>
768
+ * <code>ENABLED</code> – The file system cannot be used as the destination file
769
+ * system in a replication configuration. The file system is writeable. Replication overwrite
770
+ * protection is <code>ENABLED</code> by default. </p>
771
+ * </li>
772
+ * <li>
773
+ * <p>
774
+ * <code>DISABLED</code> – The file system can be used as the destination file
775
+ * system in a replication configuration. The file system is read-only and can only be
776
+ * modified by EFS replication.</p>
777
+ * </li>
778
+ * <li>
779
+ * <p>
780
+ * <code>REPLICATING</code> – The file system is being used as the destination
781
+ * file system in a replication configuration. The file system is read-only and is only
782
+ * modified only by EFS replication.</p>
783
+ * </li>
784
+ * </ul>
785
+ * <p>If the replication configuration is deleted, the file system's replication overwrite
786
+ * protection is re-enabled, the file system becomes writeable.</p>
787
+ */
788
+ ReplicationOverwriteProtection?: ReplicationOverwriteProtection;
789
+ }
717
790
  /**
718
791
  * @public
719
792
  * <p>The latest known metered size (in bytes) of data stored in the file system, in its
@@ -871,6 +944,11 @@ export interface FileSystemDescription {
871
944
  * objects.</p>
872
945
  */
873
946
  Tags: Tag[] | undefined;
947
+ /**
948
+ * @public
949
+ * <p>Describes the protection on the file system. </p>
950
+ */
951
+ FileSystemProtection?: FileSystemProtectionDescription;
874
952
  }
875
953
  /**
876
954
  * @public
@@ -1276,7 +1354,8 @@ export declare class SubnetNotFound extends __BaseException {
1276
1354
  }
1277
1355
  /**
1278
1356
  * @public
1279
- * <p>Describes the destination file system to create in the replication configuration.</p>
1357
+ * <p>Describes the new or existing destination file system for the replication
1358
+ * configuration.</p>
1280
1359
  */
1281
1360
  export interface DestinationToCreate {
1282
1361
  /**
@@ -1292,7 +1371,7 @@ export interface DestinationToCreate {
1292
1371
  AvailabilityZoneName?: string;
1293
1372
  /**
1294
1373
  * @public
1295
- * <p>Specifies the Key Management Service (KMS) key that you want to use to
1374
+ * <p>Specify the Key Management Service (KMS) key that you want to use to
1296
1375
  * encrypt the destination file system. If you do not specify a KMS key, Amazon EFS uses your default KMS key for Amazon EFS,
1297
1376
  * <code>/aws/elasticfilesystem</code>. This ID can be in one of the following formats:</p>
1298
1377
  * <ul>
@@ -1315,6 +1394,13 @@ export interface DestinationToCreate {
1315
1394
  * </ul>
1316
1395
  */
1317
1396
  KmsKeyId?: string;
1397
+ /**
1398
+ * @public
1399
+ * <p>The ID of the file system to use for the destination. The file system's replication
1400
+ * overwrite replication must be disabled. If you do not provide an ID, then EFS creates a new
1401
+ * file system for the replication destination.</p>
1402
+ */
1403
+ FileSystemId?: string;
1318
1404
  }
1319
1405
  /**
1320
1406
  * @public
@@ -1961,8 +2047,8 @@ export type TransitionToPrimaryStorageClassRules = (typeof TransitionToPrimarySt
1961
2047
  /**
1962
2048
  * @public
1963
2049
  * <p>Describes a policy used by Lifecycle management that specifies when to transition files
1964
- * into and out of the Infrequent Access (IA) and Archive storage
1965
- * classes. For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html">Managing file system storage</a>.</p>
2050
+ * into and out of storage classes. For more information, see <a href="https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html">Managing file system
2051
+ * storage</a>.</p>
1966
2052
  * <note>
1967
2053
  * <p>When using the <code>put-lifecycle-configuration</code> CLI command or the
1968
2054
  * <code>PutLifecycleConfiguration</code> API action, Amazon EFS requires that each
@@ -2508,3 +2594,67 @@ export interface UpdateFileSystemRequest {
2508
2594
  */
2509
2595
  ProvisionedThroughputInMibps?: number;
2510
2596
  }
2597
+ /**
2598
+ * @public
2599
+ * <p>Returned if the file system is already included in a replication configuration.></p>
2600
+ */
2601
+ export declare class ReplicationAlreadyExists extends __BaseException {
2602
+ readonly name: "ReplicationAlreadyExists";
2603
+ readonly $fault: "client";
2604
+ /**
2605
+ * @public
2606
+ * <p>The error code is a string that uniquely identifies an error condition.
2607
+ * It is meant to be read and understood by programs that detect and handle errors by type. </p>
2608
+ */
2609
+ ErrorCode?: string;
2610
+ /**
2611
+ * @public
2612
+ * <p>The error message contains a generic description of the error
2613
+ * condition in English. It is intended for a human audience. Simple programs display the message directly
2614
+ * to the end user if they encounter an error condition they don't know how or don't care to handle.
2615
+ * Sophisticated programs with more exhaustive error handling and proper internationalization are
2616
+ * more likely to ignore the error message.</p>
2617
+ */
2618
+ Message?: string;
2619
+ /**
2620
+ * @internal
2621
+ */
2622
+ constructor(opts: __ExceptionOptionType<ReplicationAlreadyExists, __BaseException>);
2623
+ }
2624
+ /**
2625
+ * @public
2626
+ */
2627
+ export interface UpdateFileSystemProtectionRequest {
2628
+ /**
2629
+ * @public
2630
+ * <p>The ID of the file system to update. </p>
2631
+ */
2632
+ FileSystemId: string | undefined;
2633
+ /**
2634
+ * @public
2635
+ * <p>The status of the file system's replication overwrite protection.</p>
2636
+ * <ul>
2637
+ * <li>
2638
+ * <p>
2639
+ * <code>ENABLED</code> – The file system cannot be used as the destination file
2640
+ * system in a replication configuration. The file system is writeable. Replication overwrite
2641
+ * protection is <code>ENABLED</code> by default. </p>
2642
+ * </li>
2643
+ * <li>
2644
+ * <p>
2645
+ * <code>DISABLED</code> – The file system can be used as the destination file
2646
+ * system in a replication configuration. The file system is read-only and can only be
2647
+ * modified by EFS replication.</p>
2648
+ * </li>
2649
+ * <li>
2650
+ * <p>
2651
+ * <code>REPLICATING</code> – The file system is being used as the destination file
2652
+ * system in a replication configuration. The file system is read-only and is only modified
2653
+ * only by EFS replication.</p>
2654
+ * </li>
2655
+ * </ul>
2656
+ * <p>If the replication configuration is deleted, the file system's replication overwrite
2657
+ * protection is re-enabled, the file system becomes writeable.</p>
2658
+ */
2659
+ ReplicationOverwriteProtection?: ReplicationOverwriteProtection;
2660
+ }
@@ -30,6 +30,7 @@ import { PutLifecycleConfigurationCommandInput, PutLifecycleConfigurationCommand
30
30
  import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand";
31
31
  import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand";
32
32
  import { UpdateFileSystemCommandInput, UpdateFileSystemCommandOutput } from "../commands/UpdateFileSystemCommand";
33
+ import { UpdateFileSystemProtectionCommandInput, UpdateFileSystemProtectionCommandOutput } from "../commands/UpdateFileSystemProtectionCommand";
33
34
  /**
34
35
  * serializeAws_restJson1CreateAccessPointCommand
35
36
  */
@@ -150,6 +151,10 @@ export declare const se_UntagResourceCommand: (input: UntagResourceCommandInput,
150
151
  * serializeAws_restJson1UpdateFileSystemCommand
151
152
  */
152
153
  export declare const se_UpdateFileSystemCommand: (input: UpdateFileSystemCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
154
+ /**
155
+ * serializeAws_restJson1UpdateFileSystemProtectionCommand
156
+ */
157
+ export declare const se_UpdateFileSystemProtectionCommand: (input: UpdateFileSystemProtectionCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
153
158
  /**
154
159
  * deserializeAws_restJson1CreateAccessPointCommand
155
160
  */
@@ -270,3 +275,7 @@ export declare const de_UntagResourceCommand: (output: __HttpResponse, context:
270
275
  * deserializeAws_restJson1UpdateFileSystemCommand
271
276
  */
272
277
  export declare const de_UpdateFileSystemCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<UpdateFileSystemCommandOutput>;
278
+ /**
279
+ * deserializeAws_restJson1UpdateFileSystemProtectionCommand
280
+ */
281
+ export declare const de_UpdateFileSystemProtectionCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<UpdateFileSystemProtectionCommandOutput>;
@@ -119,6 +119,10 @@ import {
119
119
  UpdateFileSystemCommandInput,
120
120
  UpdateFileSystemCommandOutput,
121
121
  } from "./commands/UpdateFileSystemCommand";
122
+ import {
123
+ UpdateFileSystemProtectionCommandInput,
124
+ UpdateFileSystemProtectionCommandOutput,
125
+ } from "./commands/UpdateFileSystemProtectionCommand";
122
126
  import { EFSClient } from "./EFSClient";
123
127
  export interface EFS {
124
128
  createAccessPoint(
@@ -523,5 +527,18 @@ export interface EFS {
523
527
  options: __HttpHandlerOptions,
524
528
  cb: (err: any, data?: UpdateFileSystemCommandOutput) => void
525
529
  ): void;
530
+ updateFileSystemProtection(
531
+ args: UpdateFileSystemProtectionCommandInput,
532
+ options?: __HttpHandlerOptions
533
+ ): Promise<UpdateFileSystemProtectionCommandOutput>;
534
+ updateFileSystemProtection(
535
+ args: UpdateFileSystemProtectionCommandInput,
536
+ cb: (err: any, data?: UpdateFileSystemProtectionCommandOutput) => void
537
+ ): void;
538
+ updateFileSystemProtection(
539
+ args: UpdateFileSystemProtectionCommandInput,
540
+ options: __HttpHandlerOptions,
541
+ cb: (err: any, data?: UpdateFileSystemProtectionCommandOutput) => void
542
+ ): void;
526
543
  }
527
544
  export declare class EFS extends EFSClient implements EFS {}