@aws-sdk/client-efs 3.458.0 → 3.460.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 +12 -12
package/README.md CHANGED
@@ -448,3 +448,11 @@ UpdateFileSystem
448
448
  [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/efs/command/UpdateFileSystemCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-efs/Interface/UpdateFileSystemCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-efs/Interface/UpdateFileSystemCommandOutput/)
449
449
 
450
450
  </details>
451
+ <details>
452
+ <summary>
453
+ UpdateFileSystemProtection
454
+ </summary>
455
+
456
+ [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/efs/command/UpdateFileSystemProtectionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-efs/Interface/UpdateFileSystemProtectionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-efs/Interface/UpdateFileSystemProtectionCommandOutput/)
457
+
458
+ </details>
package/dist-cjs/EFS.js CHANGED
@@ -32,6 +32,7 @@ const PutLifecycleConfigurationCommand_1 = require("./commands/PutLifecycleConfi
32
32
  const TagResourceCommand_1 = require("./commands/TagResourceCommand");
33
33
  const UntagResourceCommand_1 = require("./commands/UntagResourceCommand");
34
34
  const UpdateFileSystemCommand_1 = require("./commands/UpdateFileSystemCommand");
35
+ const UpdateFileSystemProtectionCommand_1 = require("./commands/UpdateFileSystemProtectionCommand");
35
36
  const EFSClient_1 = require("./EFSClient");
36
37
  const commands = {
37
38
  CreateAccessPointCommand: CreateAccessPointCommand_1.CreateAccessPointCommand,
@@ -64,6 +65,7 @@ const commands = {
64
65
  TagResourceCommand: TagResourceCommand_1.TagResourceCommand,
65
66
  UntagResourceCommand: UntagResourceCommand_1.UntagResourceCommand,
66
67
  UpdateFileSystemCommand: UpdateFileSystemCommand_1.UpdateFileSystemCommand,
68
+ UpdateFileSystemProtectionCommand: UpdateFileSystemProtectionCommand_1.UpdateFileSystemProtectionCommand,
67
69
  };
68
70
  class EFS extends EFSClient_1.EFSClient {
69
71
  }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateFileSystemProtectionCommand = exports.$Command = void 0;
4
+ const middleware_endpoint_1 = require("@smithy/middleware-endpoint");
5
+ const middleware_serde_1 = require("@smithy/middleware-serde");
6
+ const smithy_client_1 = require("@smithy/smithy-client");
7
+ Object.defineProperty(exports, "$Command", { enumerable: true, get: function () { return smithy_client_1.Command; } });
8
+ const types_1 = require("@smithy/types");
9
+ const Aws_restJson1_1 = require("../protocols/Aws_restJson1");
10
+ class UpdateFileSystemProtectionCommand extends smithy_client_1.Command {
11
+ static getEndpointParameterInstructions() {
12
+ return {
13
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
14
+ Endpoint: { type: "builtInParams", name: "endpoint" },
15
+ Region: { type: "builtInParams", name: "region" },
16
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
17
+ };
18
+ }
19
+ constructor(input) {
20
+ super();
21
+ this.input = input;
22
+ }
23
+ resolveMiddleware(clientStack, configuration, options) {
24
+ this.middlewareStack.use((0, middleware_serde_1.getSerdePlugin)(configuration, this.serialize, this.deserialize));
25
+ this.middlewareStack.use((0, middleware_endpoint_1.getEndpointPlugin)(configuration, UpdateFileSystemProtectionCommand.getEndpointParameterInstructions()));
26
+ const stack = clientStack.concat(this.middlewareStack);
27
+ const { logger } = configuration;
28
+ const clientName = "EFSClient";
29
+ const commandName = "UpdateFileSystemProtectionCommand";
30
+ const handlerExecutionContext = {
31
+ logger,
32
+ clientName,
33
+ commandName,
34
+ inputFilterSensitiveLog: (_) => _,
35
+ outputFilterSensitiveLog: (_) => _,
36
+ [types_1.SMITHY_CONTEXT_KEY]: {
37
+ service: "MagnolioAPIService_v20150201",
38
+ operation: "UpdateFileSystemProtection",
39
+ },
40
+ };
41
+ const { requestHandler } = configuration;
42
+ return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
43
+ }
44
+ serialize(input, context) {
45
+ return (0, Aws_restJson1_1.se_UpdateFileSystemProtectionCommand)(input, context);
46
+ }
47
+ deserialize(output, context) {
48
+ return (0, Aws_restJson1_1.de_UpdateFileSystemProtectionCommand)(output, context);
49
+ }
50
+ }
51
+ exports.UpdateFileSystemProtectionCommand = UpdateFileSystemProtectionCommand;
@@ -31,3 +31,4 @@ tslib_1.__exportStar(require("./PutLifecycleConfigurationCommand"), exports);
31
31
  tslib_1.__exportStar(require("./TagResourceCommand"), exports);
32
32
  tslib_1.__exportStar(require("./UntagResourceCommand"), exports);
33
33
  tslib_1.__exportStar(require("./UpdateFileSystemCommand"), exports);
34
+ tslib_1.__exportStar(require("./UpdateFileSystemProtectionCommand"), exports);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TooManyRequests = exports.InvalidPolicyException = exports.IncorrectMountTargetState = exports.TransitionToPrimaryStorageClassRules = exports.TransitionToIARules = exports.TransitionToArchiveRules = exports.PolicyNotFound = exports.Resource = exports.ResourceIdType = exports.MountTargetNotFound = exports.DependencyTimeout = exports.FileSystemInUse = exports.ValidationException = exports.ReplicationNotFound = exports.ReplicationStatus = exports.SubnetNotFound = exports.SecurityGroupNotFound = exports.SecurityGroupLimitExceeded = exports.NoFreeAddressesInSubnet = exports.NetworkInterfaceLimitExceeded = exports.MountTargetConflict = exports.IpAddressInUse = exports.UnsupportedAvailabilityZone = exports.ThroughputLimitExceeded = exports.InsufficientThroughputCapacity = exports.FileSystemLimitExceeded = exports.FileSystemAlreadyExists = exports.ThroughputMode = exports.PerformanceMode = exports.ThrottlingException = exports.InternalServerError = exports.IncorrectFileSystemLifeCycleState = exports.FileSystemNotFound = exports.BadRequest = exports.Status = exports.AvailabilityZonesMismatch = exports.AccessPointNotFound = exports.AccessPointLimitExceeded = exports.LifeCycleState = exports.AccessPointAlreadyExists = void 0;
3
+ exports.ReplicationAlreadyExists = exports.TooManyRequests = exports.InvalidPolicyException = exports.IncorrectMountTargetState = exports.TransitionToPrimaryStorageClassRules = exports.TransitionToIARules = exports.TransitionToArchiveRules = exports.PolicyNotFound = exports.Resource = exports.ResourceIdType = exports.MountTargetNotFound = exports.DependencyTimeout = exports.FileSystemInUse = exports.ValidationException = exports.ReplicationNotFound = exports.ReplicationStatus = exports.SubnetNotFound = exports.SecurityGroupNotFound = exports.SecurityGroupLimitExceeded = exports.NoFreeAddressesInSubnet = exports.NetworkInterfaceLimitExceeded = exports.MountTargetConflict = exports.IpAddressInUse = exports.UnsupportedAvailabilityZone = exports.ThroughputLimitExceeded = exports.InsufficientThroughputCapacity = exports.FileSystemLimitExceeded = exports.ReplicationOverwriteProtection = exports.FileSystemAlreadyExists = exports.ThroughputMode = exports.PerformanceMode = exports.ThrottlingException = exports.InternalServerError = exports.IncorrectFileSystemLifeCycleState = exports.FileSystemNotFound = exports.ConflictException = exports.BadRequest = exports.Status = exports.AvailabilityZonesMismatch = exports.AccessPointNotFound = exports.AccessPointLimitExceeded = exports.LifeCycleState = exports.AccessPointAlreadyExists = void 0;
4
4
  const EFSServiceException_1 = require("./EFSServiceException");
5
5
  class AccessPointAlreadyExists extends EFSServiceException_1.EFSServiceException {
6
6
  constructor(opts) {
@@ -92,6 +92,21 @@ class BadRequest extends EFSServiceException_1.EFSServiceException {
92
92
  }
93
93
  }
94
94
  exports.BadRequest = BadRequest;
95
+ class ConflictException extends EFSServiceException_1.EFSServiceException {
96
+ constructor(opts) {
97
+ super({
98
+ name: "ConflictException",
99
+ $fault: "client",
100
+ ...opts,
101
+ });
102
+ this.name = "ConflictException";
103
+ this.$fault = "client";
104
+ Object.setPrototypeOf(this, ConflictException.prototype);
105
+ this.ErrorCode = opts.ErrorCode;
106
+ this.Message = opts.Message;
107
+ }
108
+ }
109
+ exports.ConflictException = ConflictException;
95
110
  class FileSystemNotFound extends EFSServiceException_1.EFSServiceException {
96
111
  constructor(opts) {
97
112
  super({
@@ -177,6 +192,11 @@ class FileSystemAlreadyExists extends EFSServiceException_1.EFSServiceException
177
192
  }
178
193
  }
179
194
  exports.FileSystemAlreadyExists = FileSystemAlreadyExists;
195
+ exports.ReplicationOverwriteProtection = {
196
+ DISABLED: "DISABLED",
197
+ ENABLED: "ENABLED",
198
+ REPLICATING: "REPLICATING",
199
+ };
180
200
  class FileSystemLimitExceeded extends EFSServiceException_1.EFSServiceException {
181
201
  constructor(opts) {
182
202
  super({
@@ -518,3 +538,18 @@ class TooManyRequests extends EFSServiceException_1.EFSServiceException {
518
538
  }
519
539
  }
520
540
  exports.TooManyRequests = TooManyRequests;
541
+ class ReplicationAlreadyExists extends EFSServiceException_1.EFSServiceException {
542
+ constructor(opts) {
543
+ super({
544
+ name: "ReplicationAlreadyExists",
545
+ $fault: "client",
546
+ ...opts,
547
+ });
548
+ this.name = "ReplicationAlreadyExists";
549
+ this.$fault = "client";
550
+ Object.setPrototypeOf(this, ReplicationAlreadyExists.prototype);
551
+ this.ErrorCode = opts.ErrorCode;
552
+ this.Message = opts.Message;
553
+ }
554
+ }
555
+ exports.ReplicationAlreadyExists = ReplicationAlreadyExists;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.de_DescribeReplicationConfigurationsCommand = exports.de_DescribeMountTargetSecurityGroupsCommand = exports.de_DescribeMountTargetsCommand = exports.de_DescribeLifecycleConfigurationCommand = exports.de_DescribeFileSystemsCommand = exports.de_DescribeFileSystemPolicyCommand = exports.de_DescribeBackupPolicyCommand = exports.de_DescribeAccountPreferencesCommand = exports.de_DescribeAccessPointsCommand = exports.de_DeleteTagsCommand = exports.de_DeleteReplicationConfigurationCommand = exports.de_DeleteMountTargetCommand = exports.de_DeleteFileSystemPolicyCommand = exports.de_DeleteFileSystemCommand = exports.de_DeleteAccessPointCommand = exports.de_CreateTagsCommand = exports.de_CreateReplicationConfigurationCommand = exports.de_CreateMountTargetCommand = exports.de_CreateFileSystemCommand = exports.de_CreateAccessPointCommand = exports.se_UpdateFileSystemCommand = exports.se_UntagResourceCommand = exports.se_TagResourceCommand = exports.se_PutLifecycleConfigurationCommand = exports.se_PutFileSystemPolicyCommand = exports.se_PutBackupPolicyCommand = exports.se_PutAccountPreferencesCommand = exports.se_ModifyMountTargetSecurityGroupsCommand = exports.se_ListTagsForResourceCommand = exports.se_DescribeTagsCommand = exports.se_DescribeReplicationConfigurationsCommand = exports.se_DescribeMountTargetSecurityGroupsCommand = exports.se_DescribeMountTargetsCommand = exports.se_DescribeLifecycleConfigurationCommand = exports.se_DescribeFileSystemsCommand = exports.se_DescribeFileSystemPolicyCommand = exports.se_DescribeBackupPolicyCommand = exports.se_DescribeAccountPreferencesCommand = exports.se_DescribeAccessPointsCommand = exports.se_DeleteTagsCommand = exports.se_DeleteReplicationConfigurationCommand = exports.se_DeleteMountTargetCommand = exports.se_DeleteFileSystemPolicyCommand = exports.se_DeleteFileSystemCommand = exports.se_DeleteAccessPointCommand = exports.se_CreateTagsCommand = exports.se_CreateReplicationConfigurationCommand = exports.se_CreateMountTargetCommand = exports.se_CreateFileSystemCommand = exports.se_CreateAccessPointCommand = void 0;
4
- exports.de_UpdateFileSystemCommand = exports.de_UntagResourceCommand = exports.de_TagResourceCommand = exports.de_PutLifecycleConfigurationCommand = exports.de_PutFileSystemPolicyCommand = exports.de_PutBackupPolicyCommand = exports.de_PutAccountPreferencesCommand = exports.de_ModifyMountTargetSecurityGroupsCommand = exports.de_ListTagsForResourceCommand = exports.de_DescribeTagsCommand = void 0;
3
+ exports.de_DescribeMountTargetSecurityGroupsCommand = exports.de_DescribeMountTargetsCommand = exports.de_DescribeLifecycleConfigurationCommand = exports.de_DescribeFileSystemsCommand = exports.de_DescribeFileSystemPolicyCommand = exports.de_DescribeBackupPolicyCommand = exports.de_DescribeAccountPreferencesCommand = exports.de_DescribeAccessPointsCommand = exports.de_DeleteTagsCommand = exports.de_DeleteReplicationConfigurationCommand = exports.de_DeleteMountTargetCommand = exports.de_DeleteFileSystemPolicyCommand = exports.de_DeleteFileSystemCommand = exports.de_DeleteAccessPointCommand = exports.de_CreateTagsCommand = exports.de_CreateReplicationConfigurationCommand = exports.de_CreateMountTargetCommand = exports.de_CreateFileSystemCommand = exports.de_CreateAccessPointCommand = exports.se_UpdateFileSystemProtectionCommand = exports.se_UpdateFileSystemCommand = exports.se_UntagResourceCommand = exports.se_TagResourceCommand = exports.se_PutLifecycleConfigurationCommand = exports.se_PutFileSystemPolicyCommand = exports.se_PutBackupPolicyCommand = exports.se_PutAccountPreferencesCommand = exports.se_ModifyMountTargetSecurityGroupsCommand = exports.se_ListTagsForResourceCommand = exports.se_DescribeTagsCommand = exports.se_DescribeReplicationConfigurationsCommand = exports.se_DescribeMountTargetSecurityGroupsCommand = exports.se_DescribeMountTargetsCommand = exports.se_DescribeLifecycleConfigurationCommand = exports.se_DescribeFileSystemsCommand = exports.se_DescribeFileSystemPolicyCommand = exports.se_DescribeBackupPolicyCommand = exports.se_DescribeAccountPreferencesCommand = exports.se_DescribeAccessPointsCommand = exports.se_DeleteTagsCommand = exports.se_DeleteReplicationConfigurationCommand = exports.se_DeleteMountTargetCommand = exports.se_DeleteFileSystemPolicyCommand = exports.se_DeleteFileSystemCommand = exports.se_DeleteAccessPointCommand = exports.se_CreateTagsCommand = exports.se_CreateReplicationConfigurationCommand = exports.se_CreateMountTargetCommand = exports.se_CreateFileSystemCommand = exports.se_CreateAccessPointCommand = void 0;
4
+ exports.de_UpdateFileSystemProtectionCommand = exports.de_UpdateFileSystemCommand = exports.de_UntagResourceCommand = exports.de_TagResourceCommand = exports.de_PutLifecycleConfigurationCommand = exports.de_PutFileSystemPolicyCommand = exports.de_PutBackupPolicyCommand = exports.de_PutAccountPreferencesCommand = exports.de_ModifyMountTargetSecurityGroupsCommand = exports.de_ListTagsForResourceCommand = exports.de_DescribeTagsCommand = exports.de_DescribeReplicationConfigurationsCommand = void 0;
5
5
  const protocol_http_1 = require("@smithy/protocol-http");
6
6
  const smithy_client_1 = require("@smithy/smithy-client");
7
7
  const uuid_1 = require("uuid");
@@ -653,6 +653,29 @@ const se_UpdateFileSystemCommand = async (input, context) => {
653
653
  });
654
654
  };
655
655
  exports.se_UpdateFileSystemCommand = se_UpdateFileSystemCommand;
656
+ const se_UpdateFileSystemProtectionCommand = async (input, context) => {
657
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
658
+ const headers = {
659
+ "content-type": "application/json",
660
+ };
661
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
662
+ "/2015-02-01/file-systems/{FileSystemId}/protection";
663
+ resolvedPath = (0, smithy_client_1.resolvedPath)(resolvedPath, input, "FileSystemId", () => input.FileSystemId, "{FileSystemId}", false);
664
+ let body;
665
+ body = JSON.stringify((0, smithy_client_1.take)(input, {
666
+ ReplicationOverwriteProtection: [],
667
+ }));
668
+ return new protocol_http_1.HttpRequest({
669
+ protocol,
670
+ hostname,
671
+ port,
672
+ method: "PUT",
673
+ headers,
674
+ path: resolvedPath,
675
+ body,
676
+ });
677
+ };
678
+ exports.se_UpdateFileSystemProtectionCommand = se_UpdateFileSystemProtectionCommand;
656
679
  const de_CreateAccessPointCommand = async (output, context) => {
657
680
  if (output.statusCode !== 200 && output.statusCode >= 300) {
658
681
  return de_CreateAccessPointCommandError(output, context);
@@ -730,6 +753,7 @@ const de_CreateFileSystemCommand = async (output, context) => {
730
753
  Encrypted: smithy_client_1.expectBoolean,
731
754
  FileSystemArn: smithy_client_1.expectString,
732
755
  FileSystemId: smithy_client_1.expectString,
756
+ FileSystemProtection: smithy_client_1._json,
733
757
  KmsKeyId: smithy_client_1.expectString,
734
758
  LifeCycleState: smithy_client_1.expectString,
735
759
  Name: smithy_client_1.expectString,
@@ -891,6 +915,9 @@ const de_CreateReplicationConfigurationCommandError = async (output, context) =>
891
915
  case "BadRequest":
892
916
  case "com.amazonaws.efs#BadRequest":
893
917
  throw await de_BadRequestRes(parsedOutput, context);
918
+ case "ConflictException":
919
+ case "com.amazonaws.efs#ConflictException":
920
+ throw await de_ConflictExceptionRes(parsedOutput, context);
894
921
  case "FileSystemLimitExceeded":
895
922
  case "com.amazonaws.efs#FileSystemLimitExceeded":
896
923
  throw await de_FileSystemLimitExceededRes(parsedOutput, context);
@@ -1978,6 +2005,7 @@ const de_UpdateFileSystemCommand = async (output, context) => {
1978
2005
  Encrypted: smithy_client_1.expectBoolean,
1979
2006
  FileSystemArn: smithy_client_1.expectString,
1980
2007
  FileSystemId: smithy_client_1.expectString,
2008
+ FileSystemProtection: smithy_client_1._json,
1981
2009
  KmsKeyId: smithy_client_1.expectString,
1982
2010
  LifeCycleState: smithy_client_1.expectString,
1983
2011
  Name: smithy_client_1.expectString,
@@ -2030,6 +2058,61 @@ const de_UpdateFileSystemCommandError = async (output, context) => {
2030
2058
  });
2031
2059
  }
2032
2060
  };
2061
+ const de_UpdateFileSystemProtectionCommand = async (output, context) => {
2062
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
2063
+ return de_UpdateFileSystemProtectionCommandError(output, context);
2064
+ }
2065
+ const contents = (0, smithy_client_1.map)({
2066
+ $metadata: deserializeMetadata(output),
2067
+ });
2068
+ const data = (0, smithy_client_1.expectNonNull)((0, smithy_client_1.expectObject)(await parseBody(output.body, context)), "body");
2069
+ const doc = (0, smithy_client_1.take)(data, {
2070
+ ReplicationOverwriteProtection: smithy_client_1.expectString,
2071
+ });
2072
+ Object.assign(contents, doc);
2073
+ return contents;
2074
+ };
2075
+ exports.de_UpdateFileSystemProtectionCommand = de_UpdateFileSystemProtectionCommand;
2076
+ const de_UpdateFileSystemProtectionCommandError = async (output, context) => {
2077
+ const parsedOutput = {
2078
+ ...output,
2079
+ body: await parseErrorBody(output.body, context),
2080
+ };
2081
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2082
+ switch (errorCode) {
2083
+ case "BadRequest":
2084
+ case "com.amazonaws.efs#BadRequest":
2085
+ throw await de_BadRequestRes(parsedOutput, context);
2086
+ case "FileSystemNotFound":
2087
+ case "com.amazonaws.efs#FileSystemNotFound":
2088
+ throw await de_FileSystemNotFoundRes(parsedOutput, context);
2089
+ case "IncorrectFileSystemLifeCycleState":
2090
+ case "com.amazonaws.efs#IncorrectFileSystemLifeCycleState":
2091
+ throw await de_IncorrectFileSystemLifeCycleStateRes(parsedOutput, context);
2092
+ case "InsufficientThroughputCapacity":
2093
+ case "com.amazonaws.efs#InsufficientThroughputCapacity":
2094
+ throw await de_InsufficientThroughputCapacityRes(parsedOutput, context);
2095
+ case "InternalServerError":
2096
+ case "com.amazonaws.efs#InternalServerError":
2097
+ throw await de_InternalServerErrorRes(parsedOutput, context);
2098
+ case "ReplicationAlreadyExists":
2099
+ case "com.amazonaws.efs#ReplicationAlreadyExists":
2100
+ throw await de_ReplicationAlreadyExistsRes(parsedOutput, context);
2101
+ case "ThroughputLimitExceeded":
2102
+ case "com.amazonaws.efs#ThroughputLimitExceeded":
2103
+ throw await de_ThroughputLimitExceededRes(parsedOutput, context);
2104
+ case "TooManyRequests":
2105
+ case "com.amazonaws.efs#TooManyRequests":
2106
+ throw await de_TooManyRequestsRes(parsedOutput, context);
2107
+ default:
2108
+ const parsedBody = parsedOutput.body;
2109
+ return throwDefaultError({
2110
+ output,
2111
+ parsedBody,
2112
+ errorCode,
2113
+ });
2114
+ }
2115
+ };
2033
2116
  const throwDefaultError = (0, smithy_client_1.withBaseException)(EFSServiceException_1.EFSServiceException);
2034
2117
  const de_AccessPointAlreadyExistsRes = async (parsedOutput, context) => {
2035
2118
  const contents = (0, smithy_client_1.map)({});
@@ -2102,6 +2185,20 @@ const de_BadRequestRes = async (parsedOutput, context) => {
2102
2185
  });
2103
2186
  return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);
2104
2187
  };
2188
+ const de_ConflictExceptionRes = async (parsedOutput, context) => {
2189
+ const contents = (0, smithy_client_1.map)({});
2190
+ const data = parsedOutput.body;
2191
+ const doc = (0, smithy_client_1.take)(data, {
2192
+ ErrorCode: smithy_client_1.expectString,
2193
+ Message: smithy_client_1.expectString,
2194
+ });
2195
+ Object.assign(contents, doc);
2196
+ const exception = new models_0_1.ConflictException({
2197
+ $metadata: deserializeMetadata(parsedOutput),
2198
+ ...contents,
2199
+ });
2200
+ return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);
2201
+ };
2105
2202
  const de_DependencyTimeoutRes = async (parsedOutput, context) => {
2106
2203
  const contents = (0, smithy_client_1.map)({});
2107
2204
  const data = parsedOutput.body;
@@ -2327,6 +2424,20 @@ const de_PolicyNotFoundRes = async (parsedOutput, context) => {
2327
2424
  });
2328
2425
  return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);
2329
2426
  };
2427
+ const de_ReplicationAlreadyExistsRes = async (parsedOutput, context) => {
2428
+ const contents = (0, smithy_client_1.map)({});
2429
+ const data = parsedOutput.body;
2430
+ const doc = (0, smithy_client_1.take)(data, {
2431
+ ErrorCode: smithy_client_1.expectString,
2432
+ Message: smithy_client_1.expectString,
2433
+ });
2434
+ Object.assign(contents, doc);
2435
+ const exception = new models_0_1.ReplicationAlreadyExists({
2436
+ $metadata: deserializeMetadata(parsedOutput),
2437
+ ...contents,
2438
+ });
2439
+ return (0, smithy_client_1.decorateServiceException)(exception, parsedOutput.body);
2440
+ };
2330
2441
  const de_ReplicationNotFoundRes = async (parsedOutput, context) => {
2331
2442
  const contents = (0, smithy_client_1.map)({});
2332
2443
  const data = parsedOutput.body;
@@ -2478,6 +2589,7 @@ const de_FileSystemDescription = (output, context) => {
2478
2589
  Encrypted: smithy_client_1.expectBoolean,
2479
2590
  FileSystemArn: smithy_client_1.expectString,
2480
2591
  FileSystemId: smithy_client_1.expectString,
2592
+ FileSystemProtection: smithy_client_1._json,
2481
2593
  KmsKeyId: smithy_client_1.expectString,
2482
2594
  LifeCycleState: smithy_client_1.expectString,
2483
2595
  Name: smithy_client_1.expectString,
package/dist-es/EFS.js CHANGED
@@ -29,6 +29,7 @@ import { PutLifecycleConfigurationCommand, } from "./commands/PutLifecycleConfig
29
29
  import { TagResourceCommand } from "./commands/TagResourceCommand";
30
30
  import { UntagResourceCommand, } from "./commands/UntagResourceCommand";
31
31
  import { UpdateFileSystemCommand, } from "./commands/UpdateFileSystemCommand";
32
+ import { UpdateFileSystemProtectionCommand, } from "./commands/UpdateFileSystemProtectionCommand";
32
33
  import { EFSClient } from "./EFSClient";
33
34
  const commands = {
34
35
  CreateAccessPointCommand,
@@ -61,6 +62,7 @@ const commands = {
61
62
  TagResourceCommand,
62
63
  UntagResourceCommand,
63
64
  UpdateFileSystemCommand,
65
+ UpdateFileSystemProtectionCommand,
64
66
  };
65
67
  export class EFS extends EFSClient {
66
68
  }
@@ -0,0 +1,47 @@
1
+ import { getEndpointPlugin } from "@smithy/middleware-endpoint";
2
+ import { getSerdePlugin } from "@smithy/middleware-serde";
3
+ import { Command as $Command } from "@smithy/smithy-client";
4
+ import { SMITHY_CONTEXT_KEY, } from "@smithy/types";
5
+ import { de_UpdateFileSystemProtectionCommand, se_UpdateFileSystemProtectionCommand } from "../protocols/Aws_restJson1";
6
+ export { $Command };
7
+ export class UpdateFileSystemProtectionCommand extends $Command {
8
+ static getEndpointParameterInstructions() {
9
+ return {
10
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
11
+ Endpoint: { type: "builtInParams", name: "endpoint" },
12
+ Region: { type: "builtInParams", name: "region" },
13
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
14
+ };
15
+ }
16
+ constructor(input) {
17
+ super();
18
+ this.input = input;
19
+ }
20
+ resolveMiddleware(clientStack, configuration, options) {
21
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
22
+ this.middlewareStack.use(getEndpointPlugin(configuration, UpdateFileSystemProtectionCommand.getEndpointParameterInstructions()));
23
+ const stack = clientStack.concat(this.middlewareStack);
24
+ const { logger } = configuration;
25
+ const clientName = "EFSClient";
26
+ const commandName = "UpdateFileSystemProtectionCommand";
27
+ const handlerExecutionContext = {
28
+ logger,
29
+ clientName,
30
+ commandName,
31
+ inputFilterSensitiveLog: (_) => _,
32
+ outputFilterSensitiveLog: (_) => _,
33
+ [SMITHY_CONTEXT_KEY]: {
34
+ service: "MagnolioAPIService_v20150201",
35
+ operation: "UpdateFileSystemProtection",
36
+ },
37
+ };
38
+ const { requestHandler } = configuration;
39
+ return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
40
+ }
41
+ serialize(input, context) {
42
+ return se_UpdateFileSystemProtectionCommand(input, context);
43
+ }
44
+ deserialize(output, context) {
45
+ return de_UpdateFileSystemProtectionCommand(output, context);
46
+ }
47
+ }
@@ -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";
@@ -84,6 +84,20 @@ export class BadRequest extends __BaseException {
84
84
  this.Message = opts.Message;
85
85
  }
86
86
  }
87
+ export class ConflictException extends __BaseException {
88
+ constructor(opts) {
89
+ super({
90
+ name: "ConflictException",
91
+ $fault: "client",
92
+ ...opts,
93
+ });
94
+ this.name = "ConflictException";
95
+ this.$fault = "client";
96
+ Object.setPrototypeOf(this, ConflictException.prototype);
97
+ this.ErrorCode = opts.ErrorCode;
98
+ this.Message = opts.Message;
99
+ }
100
+ }
87
101
  export class FileSystemNotFound extends __BaseException {
88
102
  constructor(opts) {
89
103
  super({
@@ -164,6 +178,11 @@ export class FileSystemAlreadyExists extends __BaseException {
164
178
  this.FileSystemId = opts.FileSystemId;
165
179
  }
166
180
  }
181
+ export const ReplicationOverwriteProtection = {
182
+ DISABLED: "DISABLED",
183
+ ENABLED: "ENABLED",
184
+ REPLICATING: "REPLICATING",
185
+ };
167
186
  export class FileSystemLimitExceeded extends __BaseException {
168
187
  constructor(opts) {
169
188
  super({
@@ -485,3 +504,17 @@ export class TooManyRequests extends __BaseException {
485
504
  this.Message = opts.Message;
486
505
  }
487
506
  }
507
+ export class ReplicationAlreadyExists extends __BaseException {
508
+ constructor(opts) {
509
+ super({
510
+ name: "ReplicationAlreadyExists",
511
+ $fault: "client",
512
+ ...opts,
513
+ });
514
+ this.name = "ReplicationAlreadyExists";
515
+ this.$fault = "client";
516
+ Object.setPrototypeOf(this, ReplicationAlreadyExists.prototype);
517
+ this.ErrorCode = opts.ErrorCode;
518
+ this.Message = opts.Message;
519
+ }
520
+ }
@@ -2,7 +2,7 @@ import { HttpRequest as __HttpRequest } from "@smithy/protocol-http";
2
2
  import { _json, collectBody, decorateServiceException as __decorateServiceException, expectBoolean as __expectBoolean, expectInt32 as __expectInt32, expectLong as __expectLong, expectNonNull as __expectNonNull, expectNumber as __expectNumber, expectObject as __expectObject, expectString as __expectString, limitedParseDouble as __limitedParseDouble, map, parseEpochTimestamp as __parseEpochTimestamp, resolvedPath as __resolvedPath, serializeFloat as __serializeFloat, take, withBaseException, } from "@smithy/smithy-client";
3
3
  import { v4 as generateIdempotencyToken } from "uuid";
4
4
  import { EFSServiceException as __BaseException } from "../models/EFSServiceException";
5
- import { AccessPointAlreadyExists, AccessPointLimitExceeded, AccessPointNotFound, AvailabilityZonesMismatch, BadRequest, DependencyTimeout, FileSystemAlreadyExists, FileSystemInUse, FileSystemLimitExceeded, FileSystemNotFound, IncorrectFileSystemLifeCycleState, IncorrectMountTargetState, InsufficientThroughputCapacity, InternalServerError, InvalidPolicyException, IpAddressInUse, MountTargetConflict, MountTargetNotFound, NetworkInterfaceLimitExceeded, NoFreeAddressesInSubnet, PolicyNotFound, ReplicationNotFound, SecurityGroupLimitExceeded, SecurityGroupNotFound, SubnetNotFound, ThrottlingException, ThroughputLimitExceeded, TooManyRequests, UnsupportedAvailabilityZone, ValidationException, } from "../models/models_0";
5
+ import { AccessPointAlreadyExists, AccessPointLimitExceeded, AccessPointNotFound, AvailabilityZonesMismatch, BadRequest, ConflictException, DependencyTimeout, FileSystemAlreadyExists, FileSystemInUse, FileSystemLimitExceeded, FileSystemNotFound, IncorrectFileSystemLifeCycleState, IncorrectMountTargetState, InsufficientThroughputCapacity, InternalServerError, InvalidPolicyException, IpAddressInUse, MountTargetConflict, MountTargetNotFound, NetworkInterfaceLimitExceeded, NoFreeAddressesInSubnet, PolicyNotFound, ReplicationAlreadyExists, ReplicationNotFound, SecurityGroupLimitExceeded, SecurityGroupNotFound, SubnetNotFound, ThrottlingException, ThroughputLimitExceeded, TooManyRequests, UnsupportedAvailabilityZone, ValidationException, } from "../models/models_0";
6
6
  export const se_CreateAccessPointCommand = async (input, context) => {
7
7
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
8
8
  const headers = {
@@ -619,6 +619,28 @@ export const se_UpdateFileSystemCommand = async (input, context) => {
619
619
  body,
620
620
  });
621
621
  };
622
+ export const se_UpdateFileSystemProtectionCommand = async (input, context) => {
623
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
624
+ const headers = {
625
+ "content-type": "application/json",
626
+ };
627
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
628
+ "/2015-02-01/file-systems/{FileSystemId}/protection";
629
+ resolvedPath = __resolvedPath(resolvedPath, input, "FileSystemId", () => input.FileSystemId, "{FileSystemId}", false);
630
+ let body;
631
+ body = JSON.stringify(take(input, {
632
+ ReplicationOverwriteProtection: [],
633
+ }));
634
+ return new __HttpRequest({
635
+ protocol,
636
+ hostname,
637
+ port,
638
+ method: "PUT",
639
+ headers,
640
+ path: resolvedPath,
641
+ body,
642
+ });
643
+ };
622
644
  export const de_CreateAccessPointCommand = async (output, context) => {
623
645
  if (output.statusCode !== 200 && output.statusCode >= 300) {
624
646
  return de_CreateAccessPointCommandError(output, context);
@@ -695,6 +717,7 @@ export const de_CreateFileSystemCommand = async (output, context) => {
695
717
  Encrypted: __expectBoolean,
696
718
  FileSystemArn: __expectString,
697
719
  FileSystemId: __expectString,
720
+ FileSystemProtection: _json,
698
721
  KmsKeyId: __expectString,
699
722
  LifeCycleState: __expectString,
700
723
  Name: __expectString,
@@ -853,6 +876,9 @@ const de_CreateReplicationConfigurationCommandError = async (output, context) =>
853
876
  case "BadRequest":
854
877
  case "com.amazonaws.efs#BadRequest":
855
878
  throw await de_BadRequestRes(parsedOutput, context);
879
+ case "ConflictException":
880
+ case "com.amazonaws.efs#ConflictException":
881
+ throw await de_ConflictExceptionRes(parsedOutput, context);
856
882
  case "FileSystemLimitExceeded":
857
883
  case "com.amazonaws.efs#FileSystemLimitExceeded":
858
884
  throw await de_FileSystemLimitExceededRes(parsedOutput, context);
@@ -1915,6 +1941,7 @@ export const de_UpdateFileSystemCommand = async (output, context) => {
1915
1941
  Encrypted: __expectBoolean,
1916
1942
  FileSystemArn: __expectString,
1917
1943
  FileSystemId: __expectString,
1944
+ FileSystemProtection: _json,
1918
1945
  KmsKeyId: __expectString,
1919
1946
  LifeCycleState: __expectString,
1920
1947
  Name: __expectString,
@@ -1966,6 +1993,60 @@ const de_UpdateFileSystemCommandError = async (output, context) => {
1966
1993
  });
1967
1994
  }
1968
1995
  };
1996
+ export const de_UpdateFileSystemProtectionCommand = async (output, context) => {
1997
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
1998
+ return de_UpdateFileSystemProtectionCommandError(output, context);
1999
+ }
2000
+ const contents = map({
2001
+ $metadata: deserializeMetadata(output),
2002
+ });
2003
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
2004
+ const doc = take(data, {
2005
+ ReplicationOverwriteProtection: __expectString,
2006
+ });
2007
+ Object.assign(contents, doc);
2008
+ return contents;
2009
+ };
2010
+ const de_UpdateFileSystemProtectionCommandError = async (output, context) => {
2011
+ const parsedOutput = {
2012
+ ...output,
2013
+ body: await parseErrorBody(output.body, context),
2014
+ };
2015
+ const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
2016
+ switch (errorCode) {
2017
+ case "BadRequest":
2018
+ case "com.amazonaws.efs#BadRequest":
2019
+ throw await de_BadRequestRes(parsedOutput, context);
2020
+ case "FileSystemNotFound":
2021
+ case "com.amazonaws.efs#FileSystemNotFound":
2022
+ throw await de_FileSystemNotFoundRes(parsedOutput, context);
2023
+ case "IncorrectFileSystemLifeCycleState":
2024
+ case "com.amazonaws.efs#IncorrectFileSystemLifeCycleState":
2025
+ throw await de_IncorrectFileSystemLifeCycleStateRes(parsedOutput, context);
2026
+ case "InsufficientThroughputCapacity":
2027
+ case "com.amazonaws.efs#InsufficientThroughputCapacity":
2028
+ throw await de_InsufficientThroughputCapacityRes(parsedOutput, context);
2029
+ case "InternalServerError":
2030
+ case "com.amazonaws.efs#InternalServerError":
2031
+ throw await de_InternalServerErrorRes(parsedOutput, context);
2032
+ case "ReplicationAlreadyExists":
2033
+ case "com.amazonaws.efs#ReplicationAlreadyExists":
2034
+ throw await de_ReplicationAlreadyExistsRes(parsedOutput, context);
2035
+ case "ThroughputLimitExceeded":
2036
+ case "com.amazonaws.efs#ThroughputLimitExceeded":
2037
+ throw await de_ThroughputLimitExceededRes(parsedOutput, context);
2038
+ case "TooManyRequests":
2039
+ case "com.amazonaws.efs#TooManyRequests":
2040
+ throw await de_TooManyRequestsRes(parsedOutput, context);
2041
+ default:
2042
+ const parsedBody = parsedOutput.body;
2043
+ return throwDefaultError({
2044
+ output,
2045
+ parsedBody,
2046
+ errorCode,
2047
+ });
2048
+ }
2049
+ };
1969
2050
  const throwDefaultError = withBaseException(__BaseException);
1970
2051
  const de_AccessPointAlreadyExistsRes = async (parsedOutput, context) => {
1971
2052
  const contents = map({});
@@ -2038,6 +2119,20 @@ const de_BadRequestRes = async (parsedOutput, context) => {
2038
2119
  });
2039
2120
  return __decorateServiceException(exception, parsedOutput.body);
2040
2121
  };
2122
+ const de_ConflictExceptionRes = async (parsedOutput, context) => {
2123
+ const contents = map({});
2124
+ const data = parsedOutput.body;
2125
+ const doc = take(data, {
2126
+ ErrorCode: __expectString,
2127
+ Message: __expectString,
2128
+ });
2129
+ Object.assign(contents, doc);
2130
+ const exception = new ConflictException({
2131
+ $metadata: deserializeMetadata(parsedOutput),
2132
+ ...contents,
2133
+ });
2134
+ return __decorateServiceException(exception, parsedOutput.body);
2135
+ };
2041
2136
  const de_DependencyTimeoutRes = async (parsedOutput, context) => {
2042
2137
  const contents = map({});
2043
2138
  const data = parsedOutput.body;
@@ -2263,6 +2358,20 @@ const de_PolicyNotFoundRes = async (parsedOutput, context) => {
2263
2358
  });
2264
2359
  return __decorateServiceException(exception, parsedOutput.body);
2265
2360
  };
2361
+ const de_ReplicationAlreadyExistsRes = async (parsedOutput, context) => {
2362
+ const contents = map({});
2363
+ const data = parsedOutput.body;
2364
+ const doc = take(data, {
2365
+ ErrorCode: __expectString,
2366
+ Message: __expectString,
2367
+ });
2368
+ Object.assign(contents, doc);
2369
+ const exception = new ReplicationAlreadyExists({
2370
+ $metadata: deserializeMetadata(parsedOutput),
2371
+ ...contents,
2372
+ });
2373
+ return __decorateServiceException(exception, parsedOutput.body);
2374
+ };
2266
2375
  const de_ReplicationNotFoundRes = async (parsedOutput, context) => {
2267
2376
  const contents = map({});
2268
2377
  const data = parsedOutput.body;
@@ -2414,6 +2523,7 @@ const de_FileSystemDescription = (output, context) => {
2414
2523
  Encrypted: __expectBoolean,
2415
2524
  FileSystemArn: __expectString,
2416
2525
  FileSystemId: __expectString,
2526
+ FileSystemProtection: _json,
2417
2527
  KmsKeyId: __expectString,
2418
2528
  LifeCycleState: __expectString,
2419
2529
  Name: __expectString,
@@ -29,6 +29,7 @@ import { PutLifecycleConfigurationCommandInput, PutLifecycleConfigurationCommand
29
29
  import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
30
30
  import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
31
31
  import { UpdateFileSystemCommandInput, UpdateFileSystemCommandOutput } from "./commands/UpdateFileSystemCommand";
32
+ import { UpdateFileSystemProtectionCommandInput, UpdateFileSystemProtectionCommandOutput } from "./commands/UpdateFileSystemProtectionCommand";
32
33
  import { EFSClient } from "./EFSClient";
33
34
  export interface EFS {
34
35
  /**
@@ -211,6 +212,12 @@ export interface EFS {
211
212
  updateFileSystem(args: UpdateFileSystemCommandInput, options?: __HttpHandlerOptions): Promise<UpdateFileSystemCommandOutput>;
212
213
  updateFileSystem(args: UpdateFileSystemCommandInput, cb: (err: any, data?: UpdateFileSystemCommandOutput) => void): void;
213
214
  updateFileSystem(args: UpdateFileSystemCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateFileSystemCommandOutput) => void): void;
215
+ /**
216
+ * @see {@link UpdateFileSystemProtectionCommand}
217
+ */
218
+ updateFileSystemProtection(args: UpdateFileSystemProtectionCommandInput, options?: __HttpHandlerOptions): Promise<UpdateFileSystemProtectionCommandOutput>;
219
+ updateFileSystemProtection(args: UpdateFileSystemProtectionCommandInput, cb: (err: any, data?: UpdateFileSystemProtectionCommandOutput) => void): void;
220
+ updateFileSystemProtection(args: UpdateFileSystemProtectionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateFileSystemProtectionCommandOutput) => void): void;
214
221
  }
215
222
  /**
216
223
  * @public