@aws-sdk/client-arc-zonal-shift 3.613.0 → 3.615.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 (28) hide show
  1. package/README.md +39 -16
  2. package/dist-cjs/index.js +95 -0
  3. package/dist-es/ARCZonalShift.js +4 -0
  4. package/dist-es/commands/GetAutoshiftObserverNotificationStatusCommand.js +24 -0
  5. package/dist-es/commands/UpdateAutoshiftObserverNotificationStatusCommand.js +24 -0
  6. package/dist-es/commands/index.js +2 -0
  7. package/dist-es/models/models_0.js +4 -0
  8. package/dist-es/protocols/Aws_restJson1.js +49 -0
  9. package/dist-types/ARCZonalShift.d.ts +38 -16
  10. package/dist-types/ARCZonalShiftClient.d.ts +27 -18
  11. package/dist-types/commands/CreatePracticeRunConfigurationCommand.d.ts +3 -0
  12. package/dist-types/commands/GetAutoshiftObserverNotificationStatusCommand.d.ts +77 -0
  13. package/dist-types/commands/ListAutoshiftsCommand.d.ts +4 -1
  14. package/dist-types/commands/ListZonalShiftsCommand.d.ts +1 -1
  15. package/dist-types/commands/UpdateAutoshiftObserverNotificationStatusCommand.d.ts +82 -0
  16. package/dist-types/commands/UpdateZonalAutoshiftConfigurationCommand.d.ts +8 -4
  17. package/dist-types/commands/index.d.ts +2 -0
  18. package/dist-types/index.d.ts +23 -16
  19. package/dist-types/models/models_0.d.ts +100 -39
  20. package/dist-types/protocols/Aws_restJson1.d.ts +18 -0
  21. package/dist-types/ts3.4/ARCZonalShift.d.ts +47 -0
  22. package/dist-types/ts3.4/ARCZonalShiftClient.d.ts +12 -0
  23. package/dist-types/ts3.4/commands/GetAutoshiftObserverNotificationStatusCommand.d.ts +40 -0
  24. package/dist-types/ts3.4/commands/UpdateAutoshiftObserverNotificationStatusCommand.d.ts +40 -0
  25. package/dist-types/ts3.4/commands/index.d.ts +2 -0
  26. package/dist-types/ts3.4/models/models_0.d.ts +16 -0
  27. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +24 -0
  28. package/package.json +20 -20
package/README.md CHANGED
@@ -6,30 +6,37 @@
6
6
 
7
7
  AWS SDK for JavaScript ARCZonalShift Client for Node.js, Browser and React Native.
8
8
 
9
- <p>Welcome to the Zonal Shift API Reference Guide for Amazon Route 53 Application Recovery Controller (Route 53 ARC).</p>
9
+ <p>Welcome to the API Reference Guide for zonal shift and zonal autoshift in Amazon Route 53 Application Recovery Controller (Route 53 ARC).</p>
10
10
  <p>You can start a zonal shift to move traffic for a load balancer resource away from an Availability Zone to
11
11
  help your application recover quickly from an impairment in an Availability Zone. For example,
12
12
  you can recover your application from a developer's bad code deployment or from an
13
13
  Amazon Web Services infrastructure failure in a single Availability Zone.</p>
14
- <p>You can also configure zonal autoshift for a load balancer resource. Zonal autoshift
15
- is a capability in Route 53 ARC where Amazon Web Services shifts away application resource
16
- traffic from an Availability Zone, on your behalf, to help reduce your time to recovery during events.
17
- Amazon Web Services shifts away traffic for resources that are enabled for zonal autoshift whenever Amazon Web Services
18
- determines that there's an issue in the Availability Zone that could potentially affect
19
- customers.</p>
20
- <p>To ensure that zonal autoshift is safe for your application, you must
14
+ <p>You can also configure zonal autoshift for supported load balancer resources. Zonal autoshift
15
+ is a capability in Route 53 ARC where you authorize Amazon Web Services to shift away application resource
16
+ traffic from an Availability Zone during events, on your behalf, to help reduce your time to recovery.
17
+ Amazon Web Services starts an autoshift when internal telemetry indicates that there is an Availability
18
+ Zone impairment that could potentially impact customers.</p>
19
+ <p>To help make sure that zonal autoshift is safe for your application, you must
21
20
  also configure practice runs when you enable zonal autoshift for a resource. Practice runs start
22
- weekly zonal shifts for a resource, to shift
23
- traffic for the resource out of an Availability Zone. Practice runs make sure, on a regular basis,
24
- that you have enough capacity in all the Availability Zones in an Amazon Web Services Region
25
- for your application to continue to operate normally
21
+ weekly zonal shifts for a resource, to shift traffic for the resource away from an Availability Zone.
22
+ Practice runs help you to make sure, on a regular basis, that you have enough capacity in all the
23
+ Availability Zones in an Amazon Web Services Region for your application to continue to operate normally
26
24
  when traffic for a resource is shifted away from one Availability Zone.</p>
27
25
  <important>
28
- <p>You must prescale resource capacity in all Availability Zones in the Region
29
- where your application is deployed, before you configure practice runs or enable zonal autoshift
30
- for a resource. You should not rely on scaling on demand when an autoshift or practice run
31
- starts. </p>
26
+ <p>Before you configure practice runs or enable zonal autoshift, we strongly recommend
27
+ that you prescale your application resource capacity in all Availability Zones in the Region where
28
+ your application resources are deployed. You should not rely on scaling on demand when an
29
+ autoshift or practice run starts. Zonal autoshift, including practice runs, works independently,
30
+ and does not wait for auto scaling actions to complete. Relying on auto scaling, instead of
31
+ pre-scaling, can result in loss of availability.</p>
32
+ <p>If you use auto scaling to handle regular cycles of traffic, we strongly recommend that you configure
33
+ the minimum capacity of your auto scaling to continue operating normally with the loss of an
34
+ Availability Zone. </p>
32
35
  </important>
36
+ <p>Be aware that Route 53 ARC does not inspect the health of individual resources. Amazon Web Services only starts an
37
+ autoshift when Amazon Web Services telemetry detects that there is an Availability Zone impairment that could
38
+ potentially impact customers. In some cases, resources might be shifted away that are not experiencing
39
+ impact.</p>
33
40
  <p>For more information about using zonal shift and zonal autoshift, see the
34
41
  <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html">Amazon Route 53 Application Recovery Controller
35
42
  Developer Guide</a>.</p>
@@ -252,6 +259,14 @@ DeletePracticeRunConfiguration
252
259
 
253
260
  [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/arc-zonal-shift/command/DeletePracticeRunConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/DeletePracticeRunConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/DeletePracticeRunConfigurationCommandOutput/)
254
261
 
262
+ </details>
263
+ <details>
264
+ <summary>
265
+ GetAutoshiftObserverNotificationStatus
266
+ </summary>
267
+
268
+ [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/arc-zonal-shift/command/GetAutoshiftObserverNotificationStatusCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/GetAutoshiftObserverNotificationStatusCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/GetAutoshiftObserverNotificationStatusCommandOutput/)
269
+
255
270
  </details>
256
271
  <details>
257
272
  <summary>
@@ -292,6 +307,14 @@ StartZonalShift
292
307
 
293
308
  [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/arc-zonal-shift/command/StartZonalShiftCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/StartZonalShiftCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/StartZonalShiftCommandOutput/)
294
309
 
310
+ </details>
311
+ <details>
312
+ <summary>
313
+ UpdateAutoshiftObserverNotificationStatus
314
+ </summary>
315
+
316
+ [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/arc-zonal-shift/command/UpdateAutoshiftObserverNotificationStatusCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/UpdateAutoshiftObserverNotificationStatusCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/UpdateAutoshiftObserverNotificationStatusCommandOutput/)
317
+
295
318
  </details>
296
319
  <details>
297
320
  <summary>
package/dist-cjs/index.js CHANGED
@@ -28,12 +28,14 @@ __export(src_exports, {
28
28
  AppliedStatus: () => AppliedStatus,
29
29
  AutoshiftAppliedStatus: () => AutoshiftAppliedStatus,
30
30
  AutoshiftExecutionStatus: () => AutoshiftExecutionStatus,
31
+ AutoshiftObserverNotificationStatus: () => AutoshiftObserverNotificationStatus,
31
32
  CancelZonalShiftCommand: () => CancelZonalShiftCommand,
32
33
  ConflictException: () => ConflictException,
33
34
  ConflictExceptionReason: () => ConflictExceptionReason,
34
35
  ControlConditionType: () => ControlConditionType,
35
36
  CreatePracticeRunConfigurationCommand: () => CreatePracticeRunConfigurationCommand,
36
37
  DeletePracticeRunConfigurationCommand: () => DeletePracticeRunConfigurationCommand,
38
+ GetAutoshiftObserverNotificationStatusCommand: () => GetAutoshiftObserverNotificationStatusCommand,
37
39
  GetManagedResourceCommand: () => GetManagedResourceCommand,
38
40
  InternalServerException: () => InternalServerException,
39
41
  ListAutoshiftsCommand: () => ListAutoshiftsCommand,
@@ -43,6 +45,7 @@ __export(src_exports, {
43
45
  ResourceNotFoundException: () => ResourceNotFoundException,
44
46
  StartZonalShiftCommand: () => StartZonalShiftCommand,
45
47
  ThrottlingException: () => ThrottlingException,
48
+ UpdateAutoshiftObserverNotificationStatusCommand: () => UpdateAutoshiftObserverNotificationStatusCommand,
46
49
  UpdatePracticeRunConfigurationCommand: () => UpdatePracticeRunConfigurationCommand,
47
50
  UpdateZonalAutoshiftConfigurationCommand: () => UpdateZonalAutoshiftConfigurationCommand,
48
51
  UpdateZonalShiftCommand: () => UpdateZonalShiftCommand,
@@ -321,6 +324,10 @@ var AutoshiftAppliedStatus = {
321
324
  APPLIED: "APPLIED",
322
325
  NOT_APPLIED: "NOT_APPLIED"
323
326
  };
327
+ var AutoshiftObserverNotificationStatus = {
328
+ DISABLED: "DISABLED",
329
+ ENABLED: "ENABLED"
330
+ };
324
331
  var ConflictExceptionReason = {
325
332
  AUTOSHIFT_ENABLED: "AutoShiftEnabled",
326
333
  PRACTICE_CONFIGURATION_ALREADY_EXISTS: "PracticeConfigurationAlreadyExists",
@@ -422,6 +429,14 @@ var se_DeletePracticeRunConfigurationCommand = /* @__PURE__ */ __name(async (inp
422
429
  b.m("DELETE").h(headers).b(body);
423
430
  return b.build();
424
431
  }, "se_DeletePracticeRunConfigurationCommand");
432
+ var se_GetAutoshiftObserverNotificationStatusCommand = /* @__PURE__ */ __name(async (input, context) => {
433
+ const b = (0, import_core.requestBuilder)(input, context);
434
+ const headers = {};
435
+ b.bp("/autoshift-observer-notification");
436
+ let body;
437
+ b.m("GET").h(headers).b(body);
438
+ return b.build();
439
+ }, "se_GetAutoshiftObserverNotificationStatusCommand");
425
440
  var se_GetManagedResourceCommand = /* @__PURE__ */ __name(async (input, context) => {
426
441
  const b = (0, import_core.requestBuilder)(input, context);
427
442
  const headers = {};
@@ -488,6 +503,21 @@ var se_StartZonalShiftCommand = /* @__PURE__ */ __name(async (input, context) =>
488
503
  b.m("POST").h(headers).b(body);
489
504
  return b.build();
490
505
  }, "se_StartZonalShiftCommand");
506
+ var se_UpdateAutoshiftObserverNotificationStatusCommand = /* @__PURE__ */ __name(async (input, context) => {
507
+ const b = (0, import_core.requestBuilder)(input, context);
508
+ const headers = {
509
+ "content-type": "application/json"
510
+ };
511
+ b.bp("/autoshift-observer-notification");
512
+ let body;
513
+ body = JSON.stringify(
514
+ (0, import_smithy_client.take)(input, {
515
+ status: []
516
+ })
517
+ );
518
+ b.m("PUT").h(headers).b(body);
519
+ return b.build();
520
+ }, "se_UpdateAutoshiftObserverNotificationStatusCommand");
491
521
  var se_UpdatePracticeRunConfigurationCommand = /* @__PURE__ */ __name(async (input, context) => {
492
522
  const b = (0, import_core.requestBuilder)(input, context);
493
523
  const headers = {
@@ -593,6 +623,20 @@ var de_DeletePracticeRunConfigurationCommand = /* @__PURE__ */ __name(async (out
593
623
  Object.assign(contents, doc);
594
624
  return contents;
595
625
  }, "de_DeletePracticeRunConfigurationCommand");
626
+ var de_GetAutoshiftObserverNotificationStatusCommand = /* @__PURE__ */ __name(async (output, context) => {
627
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
628
+ return de_CommandError(output, context);
629
+ }
630
+ const contents = (0, import_smithy_client.map)({
631
+ $metadata: deserializeMetadata(output)
632
+ });
633
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
634
+ const doc = (0, import_smithy_client.take)(data, {
635
+ status: import_smithy_client.expectString
636
+ });
637
+ Object.assign(contents, doc);
638
+ return contents;
639
+ }, "de_GetAutoshiftObserverNotificationStatusCommand");
596
640
  var de_GetManagedResourceCommand = /* @__PURE__ */ __name(async (output, context) => {
597
641
  if (output.statusCode !== 200 && output.statusCode >= 300) {
598
642
  return de_CommandError(output, context);
@@ -678,6 +722,20 @@ var de_StartZonalShiftCommand = /* @__PURE__ */ __name(async (output, context) =
678
722
  Object.assign(contents, doc);
679
723
  return contents;
680
724
  }, "de_StartZonalShiftCommand");
725
+ var de_UpdateAutoshiftObserverNotificationStatusCommand = /* @__PURE__ */ __name(async (output, context) => {
726
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
727
+ return de_CommandError(output, context);
728
+ }
729
+ const contents = (0, import_smithy_client.map)({
730
+ $metadata: deserializeMetadata(output)
731
+ });
732
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
733
+ const doc = (0, import_smithy_client.take)(data, {
734
+ status: import_smithy_client.expectString
735
+ });
736
+ Object.assign(contents, doc);
737
+ return contents;
738
+ }, "de_UpdateAutoshiftObserverNotificationStatusCommand");
681
739
  var de_UpdatePracticeRunConfigurationCommand = /* @__PURE__ */ __name(async (output, context) => {
682
740
  if (output.statusCode !== 200 && output.statusCode >= 300) {
683
741
  return de_CommandError(output, context);
@@ -992,6 +1050,22 @@ var _DeletePracticeRunConfigurationCommand = class _DeletePracticeRunConfigurati
992
1050
  __name(_DeletePracticeRunConfigurationCommand, "DeletePracticeRunConfigurationCommand");
993
1051
  var DeletePracticeRunConfigurationCommand = _DeletePracticeRunConfigurationCommand;
994
1052
 
1053
+ // src/commands/GetAutoshiftObserverNotificationStatusCommand.ts
1054
+
1055
+
1056
+
1057
+ var _GetAutoshiftObserverNotificationStatusCommand = class _GetAutoshiftObserverNotificationStatusCommand extends import_smithy_client.Command.classBuilder().ep({
1058
+ ...commonParams
1059
+ }).m(function(Command, cs, config, o) {
1060
+ return [
1061
+ (0, import_middleware_serde.getSerdePlugin)(config, this.serialize, this.deserialize),
1062
+ (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions())
1063
+ ];
1064
+ }).s("PercDataPlane", "GetAutoshiftObserverNotificationStatus", {}).n("ARCZonalShiftClient", "GetAutoshiftObserverNotificationStatusCommand").f(void 0, void 0).ser(se_GetAutoshiftObserverNotificationStatusCommand).de(de_GetAutoshiftObserverNotificationStatusCommand).build() {
1065
+ };
1066
+ __name(_GetAutoshiftObserverNotificationStatusCommand, "GetAutoshiftObserverNotificationStatusCommand");
1067
+ var GetAutoshiftObserverNotificationStatusCommand = _GetAutoshiftObserverNotificationStatusCommand;
1068
+
995
1069
  // src/commands/GetManagedResourceCommand.ts
996
1070
 
997
1071
 
@@ -1072,6 +1146,22 @@ var _StartZonalShiftCommand = class _StartZonalShiftCommand extends import_smith
1072
1146
  __name(_StartZonalShiftCommand, "StartZonalShiftCommand");
1073
1147
  var StartZonalShiftCommand = _StartZonalShiftCommand;
1074
1148
 
1149
+ // src/commands/UpdateAutoshiftObserverNotificationStatusCommand.ts
1150
+
1151
+
1152
+
1153
+ var _UpdateAutoshiftObserverNotificationStatusCommand = class _UpdateAutoshiftObserverNotificationStatusCommand extends import_smithy_client.Command.classBuilder().ep({
1154
+ ...commonParams
1155
+ }).m(function(Command, cs, config, o) {
1156
+ return [
1157
+ (0, import_middleware_serde.getSerdePlugin)(config, this.serialize, this.deserialize),
1158
+ (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions())
1159
+ ];
1160
+ }).s("PercDataPlane", "UpdateAutoshiftObserverNotificationStatus", {}).n("ARCZonalShiftClient", "UpdateAutoshiftObserverNotificationStatusCommand").f(void 0, void 0).ser(se_UpdateAutoshiftObserverNotificationStatusCommand).de(de_UpdateAutoshiftObserverNotificationStatusCommand).build() {
1161
+ };
1162
+ __name(_UpdateAutoshiftObserverNotificationStatusCommand, "UpdateAutoshiftObserverNotificationStatusCommand");
1163
+ var UpdateAutoshiftObserverNotificationStatusCommand = _UpdateAutoshiftObserverNotificationStatusCommand;
1164
+
1075
1165
  // src/commands/UpdatePracticeRunConfigurationCommand.ts
1076
1166
 
1077
1167
 
@@ -1125,11 +1215,13 @@ var commands = {
1125
1215
  CancelZonalShiftCommand,
1126
1216
  CreatePracticeRunConfigurationCommand,
1127
1217
  DeletePracticeRunConfigurationCommand,
1218
+ GetAutoshiftObserverNotificationStatusCommand,
1128
1219
  GetManagedResourceCommand,
1129
1220
  ListAutoshiftsCommand,
1130
1221
  ListManagedResourcesCommand,
1131
1222
  ListZonalShiftsCommand,
1132
1223
  StartZonalShiftCommand,
1224
+ UpdateAutoshiftObserverNotificationStatusCommand,
1133
1225
  UpdatePracticeRunConfigurationCommand,
1134
1226
  UpdateZonalAutoshiftConfigurationCommand,
1135
1227
  UpdateZonalShiftCommand
@@ -1162,11 +1254,13 @@ var paginateListZonalShifts = (0, import_core.createPaginator)(ARCZonalShiftClie
1162
1254
  CancelZonalShiftCommand,
1163
1255
  CreatePracticeRunConfigurationCommand,
1164
1256
  DeletePracticeRunConfigurationCommand,
1257
+ GetAutoshiftObserverNotificationStatusCommand,
1165
1258
  GetManagedResourceCommand,
1166
1259
  ListAutoshiftsCommand,
1167
1260
  ListManagedResourcesCommand,
1168
1261
  ListZonalShiftsCommand,
1169
1262
  StartZonalShiftCommand,
1263
+ UpdateAutoshiftObserverNotificationStatusCommand,
1170
1264
  UpdatePracticeRunConfigurationCommand,
1171
1265
  UpdateZonalAutoshiftConfigurationCommand,
1172
1266
  UpdateZonalShiftCommand,
@@ -1181,6 +1275,7 @@ var paginateListZonalShifts = (0, import_core.createPaginator)(ARCZonalShiftClie
1181
1275
  ValidationExceptionReason,
1182
1276
  ValidationException,
1183
1277
  AutoshiftAppliedStatus,
1278
+ AutoshiftObserverNotificationStatus,
1184
1279
  ConflictExceptionReason,
1185
1280
  ConflictException,
1186
1281
  ResourceNotFoundException,
@@ -3,11 +3,13 @@ import { ARCZonalShiftClient } from "./ARCZonalShiftClient";
3
3
  import { CancelZonalShiftCommand, } from "./commands/CancelZonalShiftCommand";
4
4
  import { CreatePracticeRunConfigurationCommand, } from "./commands/CreatePracticeRunConfigurationCommand";
5
5
  import { DeletePracticeRunConfigurationCommand, } from "./commands/DeletePracticeRunConfigurationCommand";
6
+ import { GetAutoshiftObserverNotificationStatusCommand, } from "./commands/GetAutoshiftObserverNotificationStatusCommand";
6
7
  import { GetManagedResourceCommand, } from "./commands/GetManagedResourceCommand";
7
8
  import { ListAutoshiftsCommand, } from "./commands/ListAutoshiftsCommand";
8
9
  import { ListManagedResourcesCommand, } from "./commands/ListManagedResourcesCommand";
9
10
  import { ListZonalShiftsCommand, } from "./commands/ListZonalShiftsCommand";
10
11
  import { StartZonalShiftCommand, } from "./commands/StartZonalShiftCommand";
12
+ import { UpdateAutoshiftObserverNotificationStatusCommand, } from "./commands/UpdateAutoshiftObserverNotificationStatusCommand";
11
13
  import { UpdatePracticeRunConfigurationCommand, } from "./commands/UpdatePracticeRunConfigurationCommand";
12
14
  import { UpdateZonalAutoshiftConfigurationCommand, } from "./commands/UpdateZonalAutoshiftConfigurationCommand";
13
15
  import { UpdateZonalShiftCommand, } from "./commands/UpdateZonalShiftCommand";
@@ -15,11 +17,13 @@ const commands = {
15
17
  CancelZonalShiftCommand,
16
18
  CreatePracticeRunConfigurationCommand,
17
19
  DeletePracticeRunConfigurationCommand,
20
+ GetAutoshiftObserverNotificationStatusCommand,
18
21
  GetManagedResourceCommand,
19
22
  ListAutoshiftsCommand,
20
23
  ListManagedResourcesCommand,
21
24
  ListZonalShiftsCommand,
22
25
  StartZonalShiftCommand,
26
+ UpdateAutoshiftObserverNotificationStatusCommand,
23
27
  UpdatePracticeRunConfigurationCommand,
24
28
  UpdateZonalAutoshiftConfigurationCommand,
25
29
  UpdateZonalShiftCommand,
@@ -0,0 +1,24 @@
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 { commonParams } from "../endpoint/EndpointParameters";
5
+ import { de_GetAutoshiftObserverNotificationStatusCommand, se_GetAutoshiftObserverNotificationStatusCommand, } from "../protocols/Aws_restJson1";
6
+ export { $Command };
7
+ export class GetAutoshiftObserverNotificationStatusCommand extends $Command
8
+ .classBuilder()
9
+ .ep({
10
+ ...commonParams,
11
+ })
12
+ .m(function (Command, cs, config, o) {
13
+ return [
14
+ getSerdePlugin(config, this.serialize, this.deserialize),
15
+ getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
16
+ ];
17
+ })
18
+ .s("PercDataPlane", "GetAutoshiftObserverNotificationStatus", {})
19
+ .n("ARCZonalShiftClient", "GetAutoshiftObserverNotificationStatusCommand")
20
+ .f(void 0, void 0)
21
+ .ser(se_GetAutoshiftObserverNotificationStatusCommand)
22
+ .de(de_GetAutoshiftObserverNotificationStatusCommand)
23
+ .build() {
24
+ }
@@ -0,0 +1,24 @@
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 { commonParams } from "../endpoint/EndpointParameters";
5
+ import { de_UpdateAutoshiftObserverNotificationStatusCommand, se_UpdateAutoshiftObserverNotificationStatusCommand, } from "../protocols/Aws_restJson1";
6
+ export { $Command };
7
+ export class UpdateAutoshiftObserverNotificationStatusCommand extends $Command
8
+ .classBuilder()
9
+ .ep({
10
+ ...commonParams,
11
+ })
12
+ .m(function (Command, cs, config, o) {
13
+ return [
14
+ getSerdePlugin(config, this.serialize, this.deserialize),
15
+ getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
16
+ ];
17
+ })
18
+ .s("PercDataPlane", "UpdateAutoshiftObserverNotificationStatus", {})
19
+ .n("ARCZonalShiftClient", "UpdateAutoshiftObserverNotificationStatusCommand")
20
+ .f(void 0, void 0)
21
+ .ser(se_UpdateAutoshiftObserverNotificationStatusCommand)
22
+ .de(de_UpdateAutoshiftObserverNotificationStatusCommand)
23
+ .build() {
24
+ }
@@ -1,11 +1,13 @@
1
1
  export * from "./CancelZonalShiftCommand";
2
2
  export * from "./CreatePracticeRunConfigurationCommand";
3
3
  export * from "./DeletePracticeRunConfigurationCommand";
4
+ export * from "./GetAutoshiftObserverNotificationStatusCommand";
4
5
  export * from "./GetManagedResourceCommand";
5
6
  export * from "./ListAutoshiftsCommand";
6
7
  export * from "./ListManagedResourcesCommand";
7
8
  export * from "./ListZonalShiftsCommand";
8
9
  export * from "./StartZonalShiftCommand";
10
+ export * from "./UpdateAutoshiftObserverNotificationStatusCommand";
9
11
  export * from "./UpdatePracticeRunConfigurationCommand";
10
12
  export * from "./UpdateZonalAutoshiftConfigurationCommand";
11
13
  export * from "./UpdateZonalShiftCommand";
@@ -72,6 +72,10 @@ export const AutoshiftAppliedStatus = {
72
72
  APPLIED: "APPLIED",
73
73
  NOT_APPLIED: "NOT_APPLIED",
74
74
  };
75
+ export const AutoshiftObserverNotificationStatus = {
76
+ DISABLED: "DISABLED",
77
+ ENABLED: "ENABLED",
78
+ };
75
79
  export const ConflictExceptionReason = {
76
80
  AUTOSHIFT_ENABLED: "AutoShiftEnabled",
77
81
  PRACTICE_CONFIGURATION_ALREADY_EXISTS: "PracticeConfigurationAlreadyExists",
@@ -38,6 +38,14 @@ export const se_DeletePracticeRunConfigurationCommand = async (input, context) =
38
38
  b.m("DELETE").h(headers).b(body);
39
39
  return b.build();
40
40
  };
41
+ export const se_GetAutoshiftObserverNotificationStatusCommand = async (input, context) => {
42
+ const b = rb(input, context);
43
+ const headers = {};
44
+ b.bp("/autoshift-observer-notification");
45
+ let body;
46
+ b.m("GET").h(headers).b(body);
47
+ return b.build();
48
+ };
41
49
  export const se_GetManagedResourceCommand = async (input, context) => {
42
50
  const b = rb(input, context);
43
51
  const headers = {};
@@ -102,6 +110,19 @@ export const se_StartZonalShiftCommand = async (input, context) => {
102
110
  b.m("POST").h(headers).b(body);
103
111
  return b.build();
104
112
  };
113
+ export const se_UpdateAutoshiftObserverNotificationStatusCommand = async (input, context) => {
114
+ const b = rb(input, context);
115
+ const headers = {
116
+ "content-type": "application/json",
117
+ };
118
+ b.bp("/autoshift-observer-notification");
119
+ let body;
120
+ body = JSON.stringify(take(input, {
121
+ status: [],
122
+ }));
123
+ b.m("PUT").h(headers).b(body);
124
+ return b.build();
125
+ };
105
126
  export const se_UpdatePracticeRunConfigurationCommand = async (input, context) => {
106
127
  const b = rb(input, context);
107
128
  const headers = {
@@ -201,6 +222,20 @@ export const de_DeletePracticeRunConfigurationCommand = async (output, context)
201
222
  Object.assign(contents, doc);
202
223
  return contents;
203
224
  };
225
+ export const de_GetAutoshiftObserverNotificationStatusCommand = async (output, context) => {
226
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
227
+ return de_CommandError(output, context);
228
+ }
229
+ const contents = map({
230
+ $metadata: deserializeMetadata(output),
231
+ });
232
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
233
+ const doc = take(data, {
234
+ status: __expectString,
235
+ });
236
+ Object.assign(contents, doc);
237
+ return contents;
238
+ };
204
239
  export const de_GetManagedResourceCommand = async (output, context) => {
205
240
  if (output.statusCode !== 200 && output.statusCode >= 300) {
206
241
  return de_CommandError(output, context);
@@ -286,6 +321,20 @@ export const de_StartZonalShiftCommand = async (output, context) => {
286
321
  Object.assign(contents, doc);
287
322
  return contents;
288
323
  };
324
+ export const de_UpdateAutoshiftObserverNotificationStatusCommand = async (output, context) => {
325
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
326
+ return de_CommandError(output, context);
327
+ }
328
+ const contents = map({
329
+ $metadata: deserializeMetadata(output),
330
+ });
331
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
332
+ const doc = take(data, {
333
+ status: __expectString,
334
+ });
335
+ Object.assign(contents, doc);
336
+ return contents;
337
+ };
289
338
  export const de_UpdatePracticeRunConfigurationCommand = async (output, context) => {
290
339
  if (output.statusCode !== 200 && output.statusCode >= 300) {
291
340
  return de_CommandError(output, context);
@@ -3,11 +3,13 @@ import { ARCZonalShiftClient } from "./ARCZonalShiftClient";
3
3
  import { CancelZonalShiftCommandInput, CancelZonalShiftCommandOutput } from "./commands/CancelZonalShiftCommand";
4
4
  import { CreatePracticeRunConfigurationCommandInput, CreatePracticeRunConfigurationCommandOutput } from "./commands/CreatePracticeRunConfigurationCommand";
5
5
  import { DeletePracticeRunConfigurationCommandInput, DeletePracticeRunConfigurationCommandOutput } from "./commands/DeletePracticeRunConfigurationCommand";
6
+ import { GetAutoshiftObserverNotificationStatusCommandInput, GetAutoshiftObserverNotificationStatusCommandOutput } from "./commands/GetAutoshiftObserverNotificationStatusCommand";
6
7
  import { GetManagedResourceCommandInput, GetManagedResourceCommandOutput } from "./commands/GetManagedResourceCommand";
7
8
  import { ListAutoshiftsCommandInput, ListAutoshiftsCommandOutput } from "./commands/ListAutoshiftsCommand";
8
9
  import { ListManagedResourcesCommandInput, ListManagedResourcesCommandOutput } from "./commands/ListManagedResourcesCommand";
9
10
  import { ListZonalShiftsCommandInput, ListZonalShiftsCommandOutput } from "./commands/ListZonalShiftsCommand";
10
11
  import { StartZonalShiftCommandInput, StartZonalShiftCommandOutput } from "./commands/StartZonalShiftCommand";
12
+ import { UpdateAutoshiftObserverNotificationStatusCommandInput, UpdateAutoshiftObserverNotificationStatusCommandOutput } from "./commands/UpdateAutoshiftObserverNotificationStatusCommand";
11
13
  import { UpdatePracticeRunConfigurationCommandInput, UpdatePracticeRunConfigurationCommandOutput } from "./commands/UpdatePracticeRunConfigurationCommand";
12
14
  import { UpdateZonalAutoshiftConfigurationCommandInput, UpdateZonalAutoshiftConfigurationCommandOutput } from "./commands/UpdateZonalAutoshiftConfigurationCommand";
13
15
  import { UpdateZonalShiftCommandInput, UpdateZonalShiftCommandOutput } from "./commands/UpdateZonalShiftCommand";
@@ -30,6 +32,13 @@ export interface ARCZonalShift {
30
32
  deletePracticeRunConfiguration(args: DeletePracticeRunConfigurationCommandInput, options?: __HttpHandlerOptions): Promise<DeletePracticeRunConfigurationCommandOutput>;
31
33
  deletePracticeRunConfiguration(args: DeletePracticeRunConfigurationCommandInput, cb: (err: any, data?: DeletePracticeRunConfigurationCommandOutput) => void): void;
32
34
  deletePracticeRunConfiguration(args: DeletePracticeRunConfigurationCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeletePracticeRunConfigurationCommandOutput) => void): void;
35
+ /**
36
+ * @see {@link GetAutoshiftObserverNotificationStatusCommand}
37
+ */
38
+ getAutoshiftObserverNotificationStatus(): Promise<GetAutoshiftObserverNotificationStatusCommandOutput>;
39
+ getAutoshiftObserverNotificationStatus(args: GetAutoshiftObserverNotificationStatusCommandInput, options?: __HttpHandlerOptions): Promise<GetAutoshiftObserverNotificationStatusCommandOutput>;
40
+ getAutoshiftObserverNotificationStatus(args: GetAutoshiftObserverNotificationStatusCommandInput, cb: (err: any, data?: GetAutoshiftObserverNotificationStatusCommandOutput) => void): void;
41
+ getAutoshiftObserverNotificationStatus(args: GetAutoshiftObserverNotificationStatusCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetAutoshiftObserverNotificationStatusCommandOutput) => void): void;
33
42
  /**
34
43
  * @see {@link GetManagedResourceCommand}
35
44
  */
@@ -63,6 +72,12 @@ export interface ARCZonalShift {
63
72
  startZonalShift(args: StartZonalShiftCommandInput, options?: __HttpHandlerOptions): Promise<StartZonalShiftCommandOutput>;
64
73
  startZonalShift(args: StartZonalShiftCommandInput, cb: (err: any, data?: StartZonalShiftCommandOutput) => void): void;
65
74
  startZonalShift(args: StartZonalShiftCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: StartZonalShiftCommandOutput) => void): void;
75
+ /**
76
+ * @see {@link UpdateAutoshiftObserverNotificationStatusCommand}
77
+ */
78
+ updateAutoshiftObserverNotificationStatus(args: UpdateAutoshiftObserverNotificationStatusCommandInput, options?: __HttpHandlerOptions): Promise<UpdateAutoshiftObserverNotificationStatusCommandOutput>;
79
+ updateAutoshiftObserverNotificationStatus(args: UpdateAutoshiftObserverNotificationStatusCommandInput, cb: (err: any, data?: UpdateAutoshiftObserverNotificationStatusCommandOutput) => void): void;
80
+ updateAutoshiftObserverNotificationStatus(args: UpdateAutoshiftObserverNotificationStatusCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateAutoshiftObserverNotificationStatusCommandOutput) => void): void;
66
81
  /**
67
82
  * @see {@link UpdatePracticeRunConfigurationCommand}
68
83
  */
@@ -83,30 +98,37 @@ export interface ARCZonalShift {
83
98
  updateZonalShift(args: UpdateZonalShiftCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateZonalShiftCommandOutput) => void): void;
84
99
  }
85
100
  /**
86
- * <p>Welcome to the Zonal Shift API Reference Guide for Amazon Route 53 Application Recovery Controller (Route 53 ARC).</p>
101
+ * <p>Welcome to the API Reference Guide for zonal shift and zonal autoshift in Amazon Route 53 Application Recovery Controller (Route 53 ARC).</p>
87
102
  * <p>You can start a zonal shift to move traffic for a load balancer resource away from an Availability Zone to
88
103
  * help your application recover quickly from an impairment in an Availability Zone. For example,
89
104
  * you can recover your application from a developer's bad code deployment or from an
90
105
  * Amazon Web Services infrastructure failure in a single Availability Zone.</p>
91
- * <p>You can also configure zonal autoshift for a load balancer resource. Zonal autoshift
92
- * is a capability in Route 53 ARC where Amazon Web Services shifts away application resource
93
- * traffic from an Availability Zone, on your behalf, to help reduce your time to recovery during events.
94
- * Amazon Web Services shifts away traffic for resources that are enabled for zonal autoshift whenever Amazon Web Services
95
- * determines that there's an issue in the Availability Zone that could potentially affect
96
- * customers.</p>
97
- * <p>To ensure that zonal autoshift is safe for your application, you must
106
+ * <p>You can also configure zonal autoshift for supported load balancer resources. Zonal autoshift
107
+ * is a capability in Route 53 ARC where you authorize Amazon Web Services to shift away application resource
108
+ * traffic from an Availability Zone during events, on your behalf, to help reduce your time to recovery.
109
+ * Amazon Web Services starts an autoshift when internal telemetry indicates that there is an Availability
110
+ * Zone impairment that could potentially impact customers.</p>
111
+ * <p>To help make sure that zonal autoshift is safe for your application, you must
98
112
  * also configure practice runs when you enable zonal autoshift for a resource. Practice runs start
99
- * weekly zonal shifts for a resource, to shift
100
- * traffic for the resource out of an Availability Zone. Practice runs make sure, on a regular basis,
101
- * that you have enough capacity in all the Availability Zones in an Amazon Web Services Region
102
- * for your application to continue to operate normally
113
+ * weekly zonal shifts for a resource, to shift traffic for the resource away from an Availability Zone.
114
+ * Practice runs help you to make sure, on a regular basis, that you have enough capacity in all the
115
+ * Availability Zones in an Amazon Web Services Region for your application to continue to operate normally
103
116
  * when traffic for a resource is shifted away from one Availability Zone.</p>
104
117
  * <important>
105
- * <p>You must prescale resource capacity in all Availability Zones in the Region
106
- * where your application is deployed, before you configure practice runs or enable zonal autoshift
107
- * for a resource. You should not rely on scaling on demand when an autoshift or practice run
108
- * starts. </p>
118
+ * <p>Before you configure practice runs or enable zonal autoshift, we strongly recommend
119
+ * that you prescale your application resource capacity in all Availability Zones in the Region where
120
+ * your application resources are deployed. You should not rely on scaling on demand when an
121
+ * autoshift or practice run starts. Zonal autoshift, including practice runs, works independently,
122
+ * and does not wait for auto scaling actions to complete. Relying on auto scaling, instead of
123
+ * pre-scaling, can result in loss of availability.</p>
124
+ * <p>If you use auto scaling to handle regular cycles of traffic, we strongly recommend that you configure
125
+ * the minimum capacity of your auto scaling to continue operating normally with the loss of an
126
+ * Availability Zone. </p>
109
127
  * </important>
128
+ * <p>Be aware that Route 53 ARC does not inspect the health of individual resources. Amazon Web Services only starts an
129
+ * autoshift when Amazon Web Services telemetry detects that there is an Availability Zone impairment that could
130
+ * potentially impact customers. In some cases, resources might be shifted away that are not experiencing
131
+ * impact.</p>
110
132
  * <p>For more information about using zonal shift and zonal autoshift, see the
111
133
  * <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html">Amazon Route 53 Application Recovery Controller
112
134
  * Developer Guide</a>.</p>