@aws-sdk/client-arc-zonal-shift 3.839.0 → 3.840.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 (37) hide show
  1. package/README.md +17 -34
  2. package/dist-cjs/index.js +116 -8
  3. package/dist-es/ARCZonalShift.js +4 -0
  4. package/dist-es/commands/CancelPracticeRunCommand.js +22 -0
  5. package/dist-es/commands/StartPracticeRunCommand.js +22 -0
  6. package/dist-es/commands/index.js +2 -0
  7. package/dist-es/models/models_0.js +11 -5
  8. package/dist-es/protocols/Aws_restJson1.js +64 -0
  9. package/dist-types/ARCZonalShift.d.ts +15 -34
  10. package/dist-types/ARCZonalShiftClient.d.ts +5 -36
  11. package/dist-types/commands/CancelPracticeRunCommand.d.ts +96 -0
  12. package/dist-types/commands/CancelZonalShiftCommand.d.ts +1 -4
  13. package/dist-types/commands/CreatePracticeRunConfigurationCommand.d.ts +1 -11
  14. package/dist-types/commands/DeletePracticeRunConfigurationCommand.d.ts +1 -3
  15. package/dist-types/commands/GetAutoshiftObserverNotificationStatusCommand.d.ts +1 -2
  16. package/dist-types/commands/GetManagedResourceCommand.d.ts +2 -3
  17. package/dist-types/commands/ListAutoshiftsCommand.d.ts +1 -4
  18. package/dist-types/commands/ListManagedResourcesCommand.d.ts +2 -5
  19. package/dist-types/commands/ListZonalShiftsCommand.d.ts +2 -2
  20. package/dist-types/commands/StartPracticeRunCommand.d.ts +98 -0
  21. package/dist-types/commands/StartZonalShiftCommand.d.ts +1 -11
  22. package/dist-types/commands/UpdateAutoshiftObserverNotificationStatusCommand.d.ts +1 -11
  23. package/dist-types/commands/UpdatePracticeRunConfigurationCommand.d.ts +1 -3
  24. package/dist-types/commands/UpdateZonalAutoshiftConfigurationCommand.d.ts +1 -8
  25. package/dist-types/commands/UpdateZonalShiftCommand.d.ts +1 -2
  26. package/dist-types/commands/index.d.ts +2 -0
  27. package/dist-types/index.d.ts +1 -34
  28. package/dist-types/models/models_0.d.ts +204 -417
  29. package/dist-types/protocols/Aws_restJson1.d.ts +18 -0
  30. package/dist-types/ts3.4/ARCZonalShift.d.ts +34 -0
  31. package/dist-types/ts3.4/ARCZonalShiftClient.d.ts +12 -0
  32. package/dist-types/ts3.4/commands/CancelPracticeRunCommand.d.ts +51 -0
  33. package/dist-types/ts3.4/commands/StartPracticeRunCommand.d.ts +50 -0
  34. package/dist-types/ts3.4/commands/index.d.ts +2 -0
  35. package/dist-types/ts3.4/models/models_0.d.ts +40 -8
  36. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +24 -0
  37. package/package.json +12 -12
package/README.md CHANGED
@@ -6,40 +6,7 @@
6
6
 
7
7
  AWS SDK for JavaScript ARCZonalShift Client for Node.js, Browser and React Native.
8
8
 
9
- <p>Welcome to the API Reference Guide for zonal shift and zonal autoshift in Amazon Route 53 Application Recovery Controller (ARC).</p>
10
- <p>You can start a zonal shift to move traffic for a load balancer resource away from an Availability Zone to
11
- help your application recover quickly from an impairment in an Availability Zone. For example,
12
- you can recover your application from a developer's bad code deployment or from an
13
- Amazon Web Services infrastructure failure in a single Availability Zone.</p>
14
- <p>You can also configure zonal autoshift for supported load balancer resources. Zonal autoshift
15
- is a capability in 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
20
- also configure practice runs when you enable zonal autoshift for a resource. Practice runs start
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
24
- when traffic for a resource is shifted away from one Availability Zone.</p>
25
- <important>
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>
35
- </important>
36
- <p>Be aware that 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>
40
- <p>For more information about using zonal shift and zonal autoshift, see the
41
- <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html">Amazon Route 53 Application Recovery Controller
42
- Developer Guide</a>.</p>
9
+ <p>Welcome to the API Reference Guide for zonal shift and zonal autoshift in Amazon Application Recovery Controller (ARC).</p> <p>You can start a zonal shift to move traffic for a load balancer resource away from an Availability Zone to help your application recover quickly from an impairment in an Availability Zone. For example, you can recover your application from a developer's bad code deployment or from an Amazon Web Services infrastructure failure in a single Availability Zone.</p> <p>You can also configure zonal autoshift for supported load balancer resources. Zonal autoshift is a capability in ARC where you authorize Amazon Web Services to shift away application resource traffic from an Availability Zone during events, on your behalf, to help reduce your time to recovery. Amazon Web Services starts an autoshift when internal telemetry indicates that there is an Availability Zone impairment that could potentially impact customers.</p> <p>For more information about using zonal shift and zonal autoshift, see the <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html">Amazon Application Recovery Controller Developer Guide</a>.</p>
43
10
 
44
11
  ## Installing
45
12
 
@@ -236,6 +203,14 @@ see LICENSE for more information.
236
203
 
237
204
  ## Client Commands (Operations List)
238
205
 
206
+ <details>
207
+ <summary>
208
+ CancelPracticeRun
209
+ </summary>
210
+
211
+ [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/arc-zonal-shift/command/CancelPracticeRunCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/CancelPracticeRunCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/CancelPracticeRunCommandOutput/)
212
+
213
+ </details>
239
214
  <details>
240
215
  <summary>
241
216
  CancelZonalShift
@@ -299,6 +274,14 @@ ListZonalShifts
299
274
 
300
275
  [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/arc-zonal-shift/command/ListZonalShiftsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/ListZonalShiftsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/ListZonalShiftsCommandOutput/)
301
276
 
277
+ </details>
278
+ <details>
279
+ <summary>
280
+ StartPracticeRun
281
+ </summary>
282
+
283
+ [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/arc-zonal-shift/command/StartPracticeRunCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/StartPracticeRunCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/StartPracticeRunCommandOutput/)
284
+
302
285
  </details>
303
286
  <details>
304
287
  <summary>
package/dist-cjs/index.js CHANGED
@@ -29,6 +29,7 @@ __export(index_exports, {
29
29
  AutoshiftAppliedStatus: () => AutoshiftAppliedStatus,
30
30
  AutoshiftExecutionStatus: () => AutoshiftExecutionStatus,
31
31
  AutoshiftObserverNotificationStatus: () => AutoshiftObserverNotificationStatus,
32
+ CancelPracticeRunCommand: () => CancelPracticeRunCommand,
32
33
  CancelZonalShiftCommand: () => CancelZonalShiftCommand,
33
34
  ConflictException: () => ConflictException,
34
35
  ConflictExceptionReason: () => ConflictExceptionReason,
@@ -44,6 +45,7 @@ __export(index_exports, {
44
45
  PracticeRunOutcome: () => PracticeRunOutcome,
45
46
  ResourceNotFoundException: () => ResourceNotFoundException,
46
47
  ShiftType: () => ShiftType,
48
+ StartPracticeRunCommand: () => StartPracticeRunCommand,
47
49
  StartZonalShiftCommand: () => StartZonalShiftCommand,
48
50
  ThrottlingException: () => ThrottlingException,
49
51
  UpdateAutoshiftObserverNotificationStatusCommand: () => UpdateAutoshiftObserverNotificationStatusCommand,
@@ -205,7 +207,7 @@ var ARCZonalShiftClient = class extends import_smithy_client.Client {
205
207
  // src/ARCZonalShift.ts
206
208
 
207
209
 
208
- // src/commands/CancelZonalShiftCommand.ts
210
+ // src/commands/CancelPracticeRunCommand.ts
209
211
 
210
212
  var import_middleware_serde = require("@smithy/middleware-serde");
211
213
 
@@ -305,7 +307,8 @@ var ValidationExceptionReason = {
305
307
  INVALID_STATUS: "InvalidStatus",
306
308
  INVALID_TOKEN: "InvalidToken",
307
309
  MISSING_VALUE: "MissingValue",
308
- UNSUPPORTED_AZ: "UnsupportedAz"
310
+ UNSUPPORTED_AZ: "UnsupportedAz",
311
+ UNSUPPORTED_PRACTICE_CANCEL_SHIFT_TYPE: "UnsupportedPracticeCancelShiftType"
309
312
  };
310
313
  var ValidationException = class _ValidationException extends ARCZonalShiftServiceException {
311
314
  static {
@@ -339,10 +342,19 @@ var AutoshiftObserverNotificationStatus = {
339
342
  DISABLED: "DISABLED",
340
343
  ENABLED: "ENABLED"
341
344
  };
345
+ var ZonalShiftStatus = {
346
+ ACTIVE: "ACTIVE",
347
+ CANCELED: "CANCELED",
348
+ EXPIRED: "EXPIRED"
349
+ };
342
350
  var ConflictExceptionReason = {
343
351
  AUTOSHIFT_ENABLED: "AutoShiftEnabled",
352
+ PRACTICE_BLOCKING_ALARMS_RED: "PracticeBlockingAlarmsRed",
344
353
  PRACTICE_CONFIGURATION_ALREADY_EXISTS: "PracticeConfigurationAlreadyExists",
345
354
  PRACTICE_CONFIGURATION_DOES_NOT_EXIST: "PracticeConfigurationDoesNotExist",
355
+ PRACTICE_IN_BLOCKED_DATES: "PracticeInBlockedDates",
356
+ PRACTICE_IN_BLOCKED_WINDOWS: "PracticeInBlockedWindows",
357
+ PRACTICE_OUTCOME_ALARMS_RED: "PracticeOutcomeAlarmsRed",
346
358
  SIMULTANEOUS_ZONAL_SHIFTS_CONFLICT: "SimultaneousZonalShiftsConflict",
347
359
  ZONAL_AUTOSHIFT_ACTIVE: "ZonalAutoshiftActive",
348
360
  ZONAL_SHIFT_ALREADY_EXISTS: "ZonalShiftAlreadyExists",
@@ -396,11 +408,6 @@ var ResourceNotFoundException = class _ResourceNotFoundException extends ARCZona
396
408
  Object.setPrototypeOf(this, _ResourceNotFoundException.prototype);
397
409
  }
398
410
  };
399
- var ZonalShiftStatus = {
400
- ACTIVE: "ACTIVE",
401
- CANCELED: "CANCELED",
402
- EXPIRED: "EXPIRED"
403
- };
404
411
  var ControlConditionType = {
405
412
  CLOUDWATCH: "CLOUDWATCH"
406
413
  };
@@ -409,6 +416,7 @@ var ZonalAutoshiftStatus = {
409
416
  ENABLED: "ENABLED"
410
417
  };
411
418
  var PracticeRunOutcome = {
419
+ CAPACITY_CHECK_FAILED: "CAPACITY_CHECK_FAILED",
412
420
  FAILED: "FAILED",
413
421
  INTERRUPTED: "INTERRUPTED",
414
422
  PENDING: "PENDING",
@@ -422,6 +430,15 @@ var ShiftType = {
422
430
  };
423
431
 
424
432
  // src/protocols/Aws_restJson1.ts
433
+ var se_CancelPracticeRunCommand = /* @__PURE__ */ __name(async (input, context) => {
434
+ const b = (0, import_core.requestBuilder)(input, context);
435
+ const headers = {};
436
+ b.bp("/practiceruns/{zonalShiftId}");
437
+ b.p("zonalShiftId", () => input.zonalShiftId, "{zonalShiftId}", false);
438
+ let body;
439
+ b.m("DELETE").h(headers).b(body);
440
+ return b.build();
441
+ }, "se_CancelPracticeRunCommand");
425
442
  var se_CancelZonalShiftCommand = /* @__PURE__ */ __name(async (input, context) => {
426
443
  const b = (0, import_core.requestBuilder)(input, context);
427
444
  const headers = {};
@@ -515,6 +532,23 @@ var se_ListZonalShiftsCommand = /* @__PURE__ */ __name(async (input, context) =>
515
532
  b.m("GET").h(headers).q(query).b(body);
516
533
  return b.build();
517
534
  }, "se_ListZonalShiftsCommand");
535
+ var se_StartPracticeRunCommand = /* @__PURE__ */ __name(async (input, context) => {
536
+ const b = (0, import_core.requestBuilder)(input, context);
537
+ const headers = {
538
+ "content-type": "application/json"
539
+ };
540
+ b.bp("/practiceruns");
541
+ let body;
542
+ body = JSON.stringify(
543
+ (0, import_smithy_client.take)(input, {
544
+ awayFrom: [],
545
+ comment: [],
546
+ resourceIdentifier: []
547
+ })
548
+ );
549
+ b.m("POST").h(headers).b(body);
550
+ return b.build();
551
+ }, "se_StartPracticeRunCommand");
518
552
  var se_StartZonalShiftCommand = /* @__PURE__ */ __name(async (input, context) => {
519
553
  const b = (0, import_core.requestBuilder)(input, context);
520
554
  const headers = {
@@ -600,6 +634,26 @@ var se_UpdateZonalShiftCommand = /* @__PURE__ */ __name(async (input, context) =
600
634
  b.m("PATCH").h(headers).b(body);
601
635
  return b.build();
602
636
  }, "se_UpdateZonalShiftCommand");
637
+ var de_CancelPracticeRunCommand = /* @__PURE__ */ __name(async (output, context) => {
638
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
639
+ return de_CommandError(output, context);
640
+ }
641
+ const contents = (0, import_smithy_client.map)({
642
+ $metadata: deserializeMetadata(output)
643
+ });
644
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
645
+ const doc = (0, import_smithy_client.take)(data, {
646
+ awayFrom: import_smithy_client.expectString,
647
+ comment: import_smithy_client.expectString,
648
+ expiryTime: /* @__PURE__ */ __name((_) => (0, import_smithy_client.expectNonNull)((0, import_smithy_client.parseEpochTimestamp)((0, import_smithy_client.expectNumber)(_))), "expiryTime"),
649
+ resourceIdentifier: import_smithy_client.expectString,
650
+ startTime: /* @__PURE__ */ __name((_) => (0, import_smithy_client.expectNonNull)((0, import_smithy_client.parseEpochTimestamp)((0, import_smithy_client.expectNumber)(_))), "startTime"),
651
+ status: import_smithy_client.expectString,
652
+ zonalShiftId: import_smithy_client.expectString
653
+ });
654
+ Object.assign(contents, doc);
655
+ return contents;
656
+ }, "de_CancelPracticeRunCommand");
603
657
  var de_CancelZonalShiftCommand = /* @__PURE__ */ __name(async (output, context) => {
604
658
  if (output.statusCode !== 200 && output.statusCode >= 300) {
605
659
  return de_CommandError(output, context);
@@ -732,6 +786,26 @@ var de_ListZonalShiftsCommand = /* @__PURE__ */ __name(async (output, context) =
732
786
  Object.assign(contents, doc);
733
787
  return contents;
734
788
  }, "de_ListZonalShiftsCommand");
789
+ var de_StartPracticeRunCommand = /* @__PURE__ */ __name(async (output, context) => {
790
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
791
+ return de_CommandError(output, context);
792
+ }
793
+ const contents = (0, import_smithy_client.map)({
794
+ $metadata: deserializeMetadata(output)
795
+ });
796
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
797
+ const doc = (0, import_smithy_client.take)(data, {
798
+ awayFrom: import_smithy_client.expectString,
799
+ comment: import_smithy_client.expectString,
800
+ expiryTime: /* @__PURE__ */ __name((_) => (0, import_smithy_client.expectNonNull)((0, import_smithy_client.parseEpochTimestamp)((0, import_smithy_client.expectNumber)(_))), "expiryTime"),
801
+ resourceIdentifier: import_smithy_client.expectString,
802
+ startTime: /* @__PURE__ */ __name((_) => (0, import_smithy_client.expectNonNull)((0, import_smithy_client.parseEpochTimestamp)((0, import_smithy_client.expectNumber)(_))), "startTime"),
803
+ status: import_smithy_client.expectString,
804
+ zonalShiftId: import_smithy_client.expectString
805
+ });
806
+ Object.assign(contents, doc);
807
+ return contents;
808
+ }, "de_StartPracticeRunCommand");
735
809
  var de_StartZonalShiftCommand = /* @__PURE__ */ __name(async (output, context) => {
736
810
  if (output.statusCode !== 201 && output.statusCode >= 300) {
737
811
  return de_CommandError(output, context);
@@ -1037,7 +1111,22 @@ var _nT = "nextToken";
1037
1111
  var _rI = "resourceIdentifier";
1038
1112
  var _s = "status";
1039
1113
 
1114
+ // src/commands/CancelPracticeRunCommand.ts
1115
+ var CancelPracticeRunCommand = class extends import_smithy_client.Command.classBuilder().ep(commonParams).m(function(Command, cs, config, o) {
1116
+ return [
1117
+ (0, import_middleware_serde.getSerdePlugin)(config, this.serialize, this.deserialize),
1118
+ (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions())
1119
+ ];
1120
+ }).s("PercDataPlane", "CancelPracticeRun", {}).n("ARCZonalShiftClient", "CancelPracticeRunCommand").f(void 0, void 0).ser(se_CancelPracticeRunCommand).de(de_CancelPracticeRunCommand).build() {
1121
+ static {
1122
+ __name(this, "CancelPracticeRunCommand");
1123
+ }
1124
+ };
1125
+
1040
1126
  // src/commands/CancelZonalShiftCommand.ts
1127
+
1128
+
1129
+
1041
1130
  var CancelZonalShiftCommand = class extends import_smithy_client.Command.classBuilder().ep(commonParams).m(function(Command, cs, config, o) {
1042
1131
  return [
1043
1132
  (0, import_middleware_serde.getSerdePlugin)(config, this.serialize, this.deserialize),
@@ -1154,6 +1243,21 @@ var ListZonalShiftsCommand = class extends import_smithy_client.Command.classBui
1154
1243
  }
1155
1244
  };
1156
1245
 
1246
+ // src/commands/StartPracticeRunCommand.ts
1247
+
1248
+
1249
+
1250
+ var StartPracticeRunCommand = class extends import_smithy_client.Command.classBuilder().ep(commonParams).m(function(Command, cs, config, o) {
1251
+ return [
1252
+ (0, import_middleware_serde.getSerdePlugin)(config, this.serialize, this.deserialize),
1253
+ (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions())
1254
+ ];
1255
+ }).s("PercDataPlane", "StartPracticeRun", {}).n("ARCZonalShiftClient", "StartPracticeRunCommand").f(void 0, void 0).ser(se_StartPracticeRunCommand).de(de_StartPracticeRunCommand).build() {
1256
+ static {
1257
+ __name(this, "StartPracticeRunCommand");
1258
+ }
1259
+ };
1260
+
1157
1261
  // src/commands/StartZonalShiftCommand.ts
1158
1262
 
1159
1263
 
@@ -1231,6 +1335,7 @@ var UpdateZonalShiftCommand = class extends import_smithy_client.Command.classBu
1231
1335
 
1232
1336
  // src/ARCZonalShift.ts
1233
1337
  var commands = {
1338
+ CancelPracticeRunCommand,
1234
1339
  CancelZonalShiftCommand,
1235
1340
  CreatePracticeRunConfigurationCommand,
1236
1341
  DeletePracticeRunConfigurationCommand,
@@ -1239,6 +1344,7 @@ var commands = {
1239
1344
  ListAutoshiftsCommand,
1240
1345
  ListManagedResourcesCommand,
1241
1346
  ListZonalShiftsCommand,
1347
+ StartPracticeRunCommand,
1242
1348
  StartZonalShiftCommand,
1243
1349
  UpdateAutoshiftObserverNotificationStatusCommand,
1244
1350
  UpdatePracticeRunConfigurationCommand,
@@ -1271,6 +1377,7 @@ var paginateListZonalShifts = (0, import_core.createPaginator)(ARCZonalShiftClie
1271
1377
  ARCZonalShiftClient,
1272
1378
  ARCZonalShift,
1273
1379
  $Command,
1380
+ CancelPracticeRunCommand,
1274
1381
  CancelZonalShiftCommand,
1275
1382
  CreatePracticeRunConfigurationCommand,
1276
1383
  DeletePracticeRunConfigurationCommand,
@@ -1279,6 +1386,7 @@ var paginateListZonalShifts = (0, import_core.createPaginator)(ARCZonalShiftClie
1279
1386
  ListAutoshiftsCommand,
1280
1387
  ListManagedResourcesCommand,
1281
1388
  ListZonalShiftsCommand,
1389
+ StartPracticeRunCommand,
1282
1390
  StartZonalShiftCommand,
1283
1391
  UpdateAutoshiftObserverNotificationStatusCommand,
1284
1392
  UpdatePracticeRunConfigurationCommand,
@@ -1296,10 +1404,10 @@ var paginateListZonalShifts = (0, import_core.createPaginator)(ARCZonalShiftClie
1296
1404
  ValidationException,
1297
1405
  AutoshiftAppliedStatus,
1298
1406
  AutoshiftObserverNotificationStatus,
1407
+ ZonalShiftStatus,
1299
1408
  ConflictExceptionReason,
1300
1409
  ConflictException,
1301
1410
  ResourceNotFoundException,
1302
- ZonalShiftStatus,
1303
1411
  ControlConditionType,
1304
1412
  ZonalAutoshiftStatus,
1305
1413
  PracticeRunOutcome,
@@ -1,5 +1,6 @@
1
1
  import { createAggregatedClient } from "@smithy/smithy-client";
2
2
  import { ARCZonalShiftClient } from "./ARCZonalShiftClient";
3
+ import { CancelPracticeRunCommand, } from "./commands/CancelPracticeRunCommand";
3
4
  import { CancelZonalShiftCommand, } from "./commands/CancelZonalShiftCommand";
4
5
  import { CreatePracticeRunConfigurationCommand, } from "./commands/CreatePracticeRunConfigurationCommand";
5
6
  import { DeletePracticeRunConfigurationCommand, } from "./commands/DeletePracticeRunConfigurationCommand";
@@ -8,12 +9,14 @@ import { GetManagedResourceCommand, } from "./commands/GetManagedResourceCommand
8
9
  import { ListAutoshiftsCommand, } from "./commands/ListAutoshiftsCommand";
9
10
  import { ListManagedResourcesCommand, } from "./commands/ListManagedResourcesCommand";
10
11
  import { ListZonalShiftsCommand, } from "./commands/ListZonalShiftsCommand";
12
+ import { StartPracticeRunCommand, } from "./commands/StartPracticeRunCommand";
11
13
  import { StartZonalShiftCommand, } from "./commands/StartZonalShiftCommand";
12
14
  import { UpdateAutoshiftObserverNotificationStatusCommand, } from "./commands/UpdateAutoshiftObserverNotificationStatusCommand";
13
15
  import { UpdatePracticeRunConfigurationCommand, } from "./commands/UpdatePracticeRunConfigurationCommand";
14
16
  import { UpdateZonalAutoshiftConfigurationCommand, } from "./commands/UpdateZonalAutoshiftConfigurationCommand";
15
17
  import { UpdateZonalShiftCommand, } from "./commands/UpdateZonalShiftCommand";
16
18
  const commands = {
19
+ CancelPracticeRunCommand,
17
20
  CancelZonalShiftCommand,
18
21
  CreatePracticeRunConfigurationCommand,
19
22
  DeletePracticeRunConfigurationCommand,
@@ -22,6 +25,7 @@ const commands = {
22
25
  ListAutoshiftsCommand,
23
26
  ListManagedResourcesCommand,
24
27
  ListZonalShiftsCommand,
28
+ StartPracticeRunCommand,
25
29
  StartZonalShiftCommand,
26
30
  UpdateAutoshiftObserverNotificationStatusCommand,
27
31
  UpdatePracticeRunConfigurationCommand,
@@ -0,0 +1,22 @@
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_CancelPracticeRunCommand, se_CancelPracticeRunCommand } from "../protocols/Aws_restJson1";
6
+ export { $Command };
7
+ export class CancelPracticeRunCommand extends $Command
8
+ .classBuilder()
9
+ .ep(commonParams)
10
+ .m(function (Command, cs, config, o) {
11
+ return [
12
+ getSerdePlugin(config, this.serialize, this.deserialize),
13
+ getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
14
+ ];
15
+ })
16
+ .s("PercDataPlane", "CancelPracticeRun", {})
17
+ .n("ARCZonalShiftClient", "CancelPracticeRunCommand")
18
+ .f(void 0, void 0)
19
+ .ser(se_CancelPracticeRunCommand)
20
+ .de(de_CancelPracticeRunCommand)
21
+ .build() {
22
+ }
@@ -0,0 +1,22 @@
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_StartPracticeRunCommand, se_StartPracticeRunCommand } from "../protocols/Aws_restJson1";
6
+ export { $Command };
7
+ export class StartPracticeRunCommand extends $Command
8
+ .classBuilder()
9
+ .ep(commonParams)
10
+ .m(function (Command, cs, config, o) {
11
+ return [
12
+ getSerdePlugin(config, this.serialize, this.deserialize),
13
+ getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
14
+ ];
15
+ })
16
+ .s("PercDataPlane", "StartPracticeRun", {})
17
+ .n("ARCZonalShiftClient", "StartPracticeRunCommand")
18
+ .f(void 0, void 0)
19
+ .ser(se_StartPracticeRunCommand)
20
+ .de(de_StartPracticeRunCommand)
21
+ .build() {
22
+ }
@@ -1,3 +1,4 @@
1
+ export * from "./CancelPracticeRunCommand";
1
2
  export * from "./CancelZonalShiftCommand";
2
3
  export * from "./CreatePracticeRunConfigurationCommand";
3
4
  export * from "./DeletePracticeRunConfigurationCommand";
@@ -6,6 +7,7 @@ export * from "./GetManagedResourceCommand";
6
7
  export * from "./ListAutoshiftsCommand";
7
8
  export * from "./ListManagedResourcesCommand";
8
9
  export * from "./ListZonalShiftsCommand";
10
+ export * from "./StartPracticeRunCommand";
9
11
  export * from "./StartZonalShiftCommand";
10
12
  export * from "./UpdateAutoshiftObserverNotificationStatusCommand";
11
13
  export * from "./UpdatePracticeRunConfigurationCommand";
@@ -56,6 +56,7 @@ export const ValidationExceptionReason = {
56
56
  INVALID_TOKEN: "InvalidToken",
57
57
  MISSING_VALUE: "MissingValue",
58
58
  UNSUPPORTED_AZ: "UnsupportedAz",
59
+ UNSUPPORTED_PRACTICE_CANCEL_SHIFT_TYPE: "UnsupportedPracticeCancelShiftType",
59
60
  };
60
61
  export class ValidationException extends __BaseException {
61
62
  name = "ValidationException";
@@ -79,10 +80,19 @@ export const AutoshiftObserverNotificationStatus = {
79
80
  DISABLED: "DISABLED",
80
81
  ENABLED: "ENABLED",
81
82
  };
83
+ export const ZonalShiftStatus = {
84
+ ACTIVE: "ACTIVE",
85
+ CANCELED: "CANCELED",
86
+ EXPIRED: "EXPIRED",
87
+ };
82
88
  export const ConflictExceptionReason = {
83
89
  AUTOSHIFT_ENABLED: "AutoShiftEnabled",
90
+ PRACTICE_BLOCKING_ALARMS_RED: "PracticeBlockingAlarmsRed",
84
91
  PRACTICE_CONFIGURATION_ALREADY_EXISTS: "PracticeConfigurationAlreadyExists",
85
92
  PRACTICE_CONFIGURATION_DOES_NOT_EXIST: "PracticeConfigurationDoesNotExist",
93
+ PRACTICE_IN_BLOCKED_DATES: "PracticeInBlockedDates",
94
+ PRACTICE_IN_BLOCKED_WINDOWS: "PracticeInBlockedWindows",
95
+ PRACTICE_OUTCOME_ALARMS_RED: "PracticeOutcomeAlarmsRed",
86
96
  SIMULTANEOUS_ZONAL_SHIFTS_CONFLICT: "SimultaneousZonalShiftsConflict",
87
97
  ZONAL_AUTOSHIFT_ACTIVE: "ZonalAutoshiftActive",
88
98
  ZONAL_SHIFT_ALREADY_EXISTS: "ZonalShiftAlreadyExists",
@@ -116,11 +126,6 @@ export class ResourceNotFoundException extends __BaseException {
116
126
  Object.setPrototypeOf(this, ResourceNotFoundException.prototype);
117
127
  }
118
128
  }
119
- export const ZonalShiftStatus = {
120
- ACTIVE: "ACTIVE",
121
- CANCELED: "CANCELED",
122
- EXPIRED: "EXPIRED",
123
- };
124
129
  export const ControlConditionType = {
125
130
  CLOUDWATCH: "CLOUDWATCH",
126
131
  };
@@ -129,6 +134,7 @@ export const ZonalAutoshiftStatus = {
129
134
  ENABLED: "ENABLED",
130
135
  };
131
136
  export const PracticeRunOutcome = {
137
+ CAPACITY_CHECK_FAILED: "CAPACITY_CHECK_FAILED",
132
138
  FAILED: "FAILED",
133
139
  INTERRUPTED: "INTERRUPTED",
134
140
  PENDING: "PENDING",
@@ -3,6 +3,15 @@ import { requestBuilder as rb } from "@smithy/core";
3
3
  import { _json, collectBody, decorateServiceException as __decorateServiceException, expectNonNull as __expectNonNull, expectNumber as __expectNumber, expectObject as __expectObject, expectString as __expectString, limitedParseFloat32 as __limitedParseFloat32, map, parseEpochTimestamp as __parseEpochTimestamp, take, withBaseException, } from "@smithy/smithy-client";
4
4
  import { ARCZonalShiftServiceException as __BaseException } from "../models/ARCZonalShiftServiceException";
5
5
  import { AccessDeniedException, ConflictException, InternalServerException, ResourceNotFoundException, ThrottlingException, ValidationException, } from "../models/models_0";
6
+ export const se_CancelPracticeRunCommand = async (input, context) => {
7
+ const b = rb(input, context);
8
+ const headers = {};
9
+ b.bp("/practiceruns/{zonalShiftId}");
10
+ b.p("zonalShiftId", () => input.zonalShiftId, "{zonalShiftId}", false);
11
+ let body;
12
+ b.m("DELETE").h(headers).b(body);
13
+ return b.build();
14
+ };
6
15
  export const se_CancelZonalShiftCommand = async (input, context) => {
7
16
  const b = rb(input, context);
8
17
  const headers = {};
@@ -94,6 +103,21 @@ export const se_ListZonalShiftsCommand = async (input, context) => {
94
103
  b.m("GET").h(headers).q(query).b(body);
95
104
  return b.build();
96
105
  };
106
+ export const se_StartPracticeRunCommand = async (input, context) => {
107
+ const b = rb(input, context);
108
+ const headers = {
109
+ "content-type": "application/json",
110
+ };
111
+ b.bp("/practiceruns");
112
+ let body;
113
+ body = JSON.stringify(take(input, {
114
+ awayFrom: [],
115
+ comment: [],
116
+ resourceIdentifier: [],
117
+ }));
118
+ b.m("POST").h(headers).b(body);
119
+ return b.build();
120
+ };
97
121
  export const se_StartZonalShiftCommand = async (input, context) => {
98
122
  const b = rb(input, context);
99
123
  const headers = {
@@ -169,6 +193,26 @@ export const se_UpdateZonalShiftCommand = async (input, context) => {
169
193
  b.m("PATCH").h(headers).b(body);
170
194
  return b.build();
171
195
  };
196
+ export const de_CancelPracticeRunCommand = async (output, context) => {
197
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
198
+ return de_CommandError(output, context);
199
+ }
200
+ const contents = map({
201
+ $metadata: deserializeMetadata(output),
202
+ });
203
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
204
+ const doc = take(data, {
205
+ awayFrom: __expectString,
206
+ comment: __expectString,
207
+ expiryTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
208
+ resourceIdentifier: __expectString,
209
+ startTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
210
+ status: __expectString,
211
+ zonalShiftId: __expectString,
212
+ });
213
+ Object.assign(contents, doc);
214
+ return contents;
215
+ };
172
216
  export const de_CancelZonalShiftCommand = async (output, context) => {
173
217
  if (output.statusCode !== 200 && output.statusCode >= 300) {
174
218
  return de_CommandError(output, context);
@@ -301,6 +345,26 @@ export const de_ListZonalShiftsCommand = async (output, context) => {
301
345
  Object.assign(contents, doc);
302
346
  return contents;
303
347
  };
348
+ export const de_StartPracticeRunCommand = async (output, context) => {
349
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
350
+ return de_CommandError(output, context);
351
+ }
352
+ const contents = map({
353
+ $metadata: deserializeMetadata(output),
354
+ });
355
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
356
+ const doc = take(data, {
357
+ awayFrom: __expectString,
358
+ comment: __expectString,
359
+ expiryTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
360
+ resourceIdentifier: __expectString,
361
+ startTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
362
+ status: __expectString,
363
+ zonalShiftId: __expectString,
364
+ });
365
+ Object.assign(contents, doc);
366
+ return contents;
367
+ };
304
368
  export const de_StartZonalShiftCommand = async (output, context) => {
305
369
  if (output.statusCode !== 201 && output.statusCode >= 300) {
306
370
  return de_CommandError(output, context);
@@ -1,5 +1,6 @@
1
1
  import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";
2
2
  import { ARCZonalShiftClient } from "./ARCZonalShiftClient";
3
+ import { CancelPracticeRunCommandInput, CancelPracticeRunCommandOutput } from "./commands/CancelPracticeRunCommand";
3
4
  import { CancelZonalShiftCommandInput, CancelZonalShiftCommandOutput } from "./commands/CancelZonalShiftCommand";
4
5
  import { CreatePracticeRunConfigurationCommandInput, CreatePracticeRunConfigurationCommandOutput } from "./commands/CreatePracticeRunConfigurationCommand";
5
6
  import { DeletePracticeRunConfigurationCommandInput, DeletePracticeRunConfigurationCommandOutput } from "./commands/DeletePracticeRunConfigurationCommand";
@@ -8,12 +9,19 @@ import { GetManagedResourceCommandInput, GetManagedResourceCommandOutput } from
8
9
  import { ListAutoshiftsCommandInput, ListAutoshiftsCommandOutput } from "./commands/ListAutoshiftsCommand";
9
10
  import { ListManagedResourcesCommandInput, ListManagedResourcesCommandOutput } from "./commands/ListManagedResourcesCommand";
10
11
  import { ListZonalShiftsCommandInput, ListZonalShiftsCommandOutput } from "./commands/ListZonalShiftsCommand";
12
+ import { StartPracticeRunCommandInput, StartPracticeRunCommandOutput } from "./commands/StartPracticeRunCommand";
11
13
  import { StartZonalShiftCommandInput, StartZonalShiftCommandOutput } from "./commands/StartZonalShiftCommand";
12
14
  import { UpdateAutoshiftObserverNotificationStatusCommandInput, UpdateAutoshiftObserverNotificationStatusCommandOutput } from "./commands/UpdateAutoshiftObserverNotificationStatusCommand";
13
15
  import { UpdatePracticeRunConfigurationCommandInput, UpdatePracticeRunConfigurationCommandOutput } from "./commands/UpdatePracticeRunConfigurationCommand";
14
16
  import { UpdateZonalAutoshiftConfigurationCommandInput, UpdateZonalAutoshiftConfigurationCommandOutput } from "./commands/UpdateZonalAutoshiftConfigurationCommand";
15
17
  import { UpdateZonalShiftCommandInput, UpdateZonalShiftCommandOutput } from "./commands/UpdateZonalShiftCommand";
16
18
  export interface ARCZonalShift {
19
+ /**
20
+ * @see {@link CancelPracticeRunCommand}
21
+ */
22
+ cancelPracticeRun(args: CancelPracticeRunCommandInput, options?: __HttpHandlerOptions): Promise<CancelPracticeRunCommandOutput>;
23
+ cancelPracticeRun(args: CancelPracticeRunCommandInput, cb: (err: any, data?: CancelPracticeRunCommandOutput) => void): void;
24
+ cancelPracticeRun(args: CancelPracticeRunCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CancelPracticeRunCommandOutput) => void): void;
17
25
  /**
18
26
  * @see {@link CancelZonalShiftCommand}
19
27
  */
@@ -66,6 +74,12 @@ export interface ARCZonalShift {
66
74
  listZonalShifts(args: ListZonalShiftsCommandInput, options?: __HttpHandlerOptions): Promise<ListZonalShiftsCommandOutput>;
67
75
  listZonalShifts(args: ListZonalShiftsCommandInput, cb: (err: any, data?: ListZonalShiftsCommandOutput) => void): void;
68
76
  listZonalShifts(args: ListZonalShiftsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListZonalShiftsCommandOutput) => void): void;
77
+ /**
78
+ * @see {@link StartPracticeRunCommand}
79
+ */
80
+ startPracticeRun(args: StartPracticeRunCommandInput, options?: __HttpHandlerOptions): Promise<StartPracticeRunCommandOutput>;
81
+ startPracticeRun(args: StartPracticeRunCommandInput, cb: (err: any, data?: StartPracticeRunCommandOutput) => void): void;
82
+ startPracticeRun(args: StartPracticeRunCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: StartPracticeRunCommandOutput) => void): void;
69
83
  /**
70
84
  * @see {@link StartZonalShiftCommand}
71
85
  */
@@ -98,40 +112,7 @@ export interface ARCZonalShift {
98
112
  updateZonalShift(args: UpdateZonalShiftCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateZonalShiftCommandOutput) => void): void;
99
113
  }
100
114
  /**
101
- * <p>Welcome to the API Reference Guide for zonal shift and zonal autoshift in Amazon Route 53 Application Recovery Controller (ARC).</p>
102
- * <p>You can start a zonal shift to move traffic for a load balancer resource away from an Availability Zone to
103
- * help your application recover quickly from an impairment in an Availability Zone. For example,
104
- * you can recover your application from a developer's bad code deployment or from an
105
- * Amazon Web Services infrastructure failure in a single Availability Zone.</p>
106
- * <p>You can also configure zonal autoshift for supported load balancer resources. Zonal autoshift
107
- * is a capability in 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
112
- * also configure practice runs when you enable zonal autoshift for a resource. Practice runs start
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
116
- * when traffic for a resource is shifted away from one Availability Zone.</p>
117
- * <important>
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>
127
- * </important>
128
- * <p>Be aware that 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>
132
- * <p>For more information about using zonal shift and zonal autoshift, see the
133
- * <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html">Amazon Route 53 Application Recovery Controller
134
- * Developer Guide</a>.</p>
115
+ * <p>Welcome to the API Reference Guide for zonal shift and zonal autoshift in Amazon Application Recovery Controller (ARC).</p> <p>You can start a zonal shift to move traffic for a load balancer resource away from an Availability Zone to help your application recover quickly from an impairment in an Availability Zone. For example, you can recover your application from a developer's bad code deployment or from an Amazon Web Services infrastructure failure in a single Availability Zone.</p> <p>You can also configure zonal autoshift for supported load balancer resources. Zonal autoshift is a capability in ARC where you authorize Amazon Web Services to shift away application resource traffic from an Availability Zone during events, on your behalf, to help reduce your time to recovery. Amazon Web Services starts an autoshift when internal telemetry indicates that there is an Availability Zone impairment that could potentially impact customers.</p> <p>For more information about using zonal shift and zonal autoshift, see the <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html">Amazon Application Recovery Controller Developer Guide</a>.</p>
135
116
  * @public
136
117
  */
137
118
  export declare class ARCZonalShift extends ARCZonalShiftClient implements ARCZonalShift {