Skip to content

Commit 95ccc93

Browse files
author
awstools
committed
feat(client-arc-zonal-shift): Added support for on-demand practice runs and balanced capacity checks in ARC autoshift practice.
1 parent 80c8e5f commit 95ccc93

23 files changed

+1021
-713
lines changed

clients/client-arc-zonal-shift/README.md

Lines changed: 17 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -6,40 +6,7 @@
66

77
AWS SDK for JavaScript ARCZonalShift Client for Node.js, Browser and React Native.
88

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>
4310

4411
## Installing
4512

@@ -236,6 +203,14 @@ see LICENSE for more information.
236203

237204
## Client Commands (Operations List)
238205

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>
239214
<details>
240215
<summary>
241216
CancelZonalShift
@@ -299,6 +274,14 @@ ListZonalShifts
299274

300275
[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/)
301276

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+
302285
</details>
303286
<details>
304287
<summary>

clients/client-arc-zonal-shift/src/ARCZonalShift.ts

Lines changed: 47 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@ import { createAggregatedClient } from "@smithy/smithy-client";
33
import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";
44

55
import { ARCZonalShiftClient, ARCZonalShiftClientConfig } from "./ARCZonalShiftClient";
6+
import {
7+
CancelPracticeRunCommand,
8+
CancelPracticeRunCommandInput,
9+
CancelPracticeRunCommandOutput,
10+
} from "./commands/CancelPracticeRunCommand";
611
import {
712
CancelZonalShiftCommand,
813
CancelZonalShiftCommandInput,
@@ -43,6 +48,11 @@ import {
4348
ListZonalShiftsCommandInput,
4449
ListZonalShiftsCommandOutput,
4550
} from "./commands/ListZonalShiftsCommand";
51+
import {
52+
StartPracticeRunCommand,
53+
StartPracticeRunCommandInput,
54+
StartPracticeRunCommandOutput,
55+
} from "./commands/StartPracticeRunCommand";
4656
import {
4757
StartZonalShiftCommand,
4858
StartZonalShiftCommandInput,
@@ -70,6 +80,7 @@ import {
7080
} from "./commands/UpdateZonalShiftCommand";
7181

7282
const commands = {
83+
CancelPracticeRunCommand,
7384
CancelZonalShiftCommand,
7485
CreatePracticeRunConfigurationCommand,
7586
DeletePracticeRunConfigurationCommand,
@@ -78,6 +89,7 @@ const commands = {
7889
ListAutoshiftsCommand,
7990
ListManagedResourcesCommand,
8091
ListZonalShiftsCommand,
92+
StartPracticeRunCommand,
8193
StartZonalShiftCommand,
8294
UpdateAutoshiftObserverNotificationStatusCommand,
8395
UpdatePracticeRunConfigurationCommand,
@@ -86,6 +98,23 @@ const commands = {
8698
};
8799

88100
export interface ARCZonalShift {
101+
/**
102+
* @see {@link CancelPracticeRunCommand}
103+
*/
104+
cancelPracticeRun(
105+
args: CancelPracticeRunCommandInput,
106+
options?: __HttpHandlerOptions
107+
): Promise<CancelPracticeRunCommandOutput>;
108+
cancelPracticeRun(
109+
args: CancelPracticeRunCommandInput,
110+
cb: (err: any, data?: CancelPracticeRunCommandOutput) => void
111+
): void;
112+
cancelPracticeRun(
113+
args: CancelPracticeRunCommandInput,
114+
options: __HttpHandlerOptions,
115+
cb: (err: any, data?: CancelPracticeRunCommandOutput) => void
116+
): void;
117+
89118
/**
90119
* @see {@link CancelZonalShiftCommand}
91120
*/
@@ -220,6 +249,23 @@ export interface ARCZonalShift {
220249
cb: (err: any, data?: ListZonalShiftsCommandOutput) => void
221250
): void;
222251

252+
/**
253+
* @see {@link StartPracticeRunCommand}
254+
*/
255+
startPracticeRun(
256+
args: StartPracticeRunCommandInput,
257+
options?: __HttpHandlerOptions
258+
): Promise<StartPracticeRunCommandOutput>;
259+
startPracticeRun(
260+
args: StartPracticeRunCommandInput,
261+
cb: (err: any, data?: StartPracticeRunCommandOutput) => void
262+
): void;
263+
startPracticeRun(
264+
args: StartPracticeRunCommandInput,
265+
options: __HttpHandlerOptions,
266+
cb: (err: any, data?: StartPracticeRunCommandOutput) => void
267+
): void;
268+
223269
/**
224270
* @see {@link StartZonalShiftCommand}
225271
*/
@@ -304,40 +350,7 @@ export interface ARCZonalShift {
304350
}
305351

306352
/**
307-
* <p>Welcome to the API Reference Guide for zonal shift and zonal autoshift in Amazon Route 53 Application Recovery Controller (ARC).</p>
308-
* <p>You can start a zonal shift to move traffic for a load balancer resource away from an Availability Zone to
309-
* help your application recover quickly from an impairment in an Availability Zone. For example,
310-
* you can recover your application from a developer's bad code deployment or from an
311-
* Amazon Web Services infrastructure failure in a single Availability Zone.</p>
312-
* <p>You can also configure zonal autoshift for supported load balancer resources. Zonal autoshift
313-
* is a capability in ARC where you authorize Amazon Web Services to shift away application resource
314-
* traffic from an Availability Zone during events, on your behalf, to help reduce your time to recovery.
315-
* Amazon Web Services starts an autoshift when internal telemetry indicates that there is an Availability
316-
* Zone impairment that could potentially impact customers.</p>
317-
* <p>To help make sure that zonal autoshift is safe for your application, you must
318-
* also configure practice runs when you enable zonal autoshift for a resource. Practice runs start
319-
* weekly zonal shifts for a resource, to shift traffic for the resource away from an Availability Zone.
320-
* Practice runs help you to make sure, on a regular basis, that you have enough capacity in all the
321-
* Availability Zones in an Amazon Web Services Region for your application to continue to operate normally
322-
* when traffic for a resource is shifted away from one Availability Zone.</p>
323-
* <important>
324-
* <p>Before you configure practice runs or enable zonal autoshift, we strongly recommend
325-
* that you prescale your application resource capacity in all Availability Zones in the Region where
326-
* your application resources are deployed. You should not rely on scaling on demand when an
327-
* autoshift or practice run starts. Zonal autoshift, including practice runs, works independently,
328-
* and does not wait for auto scaling actions to complete. Relying on auto scaling, instead of
329-
* pre-scaling, can result in loss of availability.</p>
330-
* <p>If you use auto scaling to handle regular cycles of traffic, we strongly recommend that you configure
331-
* the minimum capacity of your auto scaling to continue operating normally with the loss of an
332-
* Availability Zone. </p>
333-
* </important>
334-
* <p>Be aware that ARC does not inspect the health of individual resources. Amazon Web Services only starts an
335-
* autoshift when Amazon Web Services telemetry detects that there is an Availability Zone impairment that could
336-
* potentially impact customers. In some cases, resources might be shifted away that are not experiencing
337-
* impact.</p>
338-
* <p>For more information about using zonal shift and zonal autoshift, see the
339-
* <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html">Amazon Route 53 Application Recovery Controller
340-
* Developer Guide</a>.</p>
353+
* <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>
341354
* @public
342355
*/
343356
export class ARCZonalShift extends ARCZonalShiftClient implements ARCZonalShift {}

clients/client-arc-zonal-shift/src/ARCZonalShiftClient.ts

Lines changed: 7 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ import {
5353
HttpAuthSchemeResolvedConfig,
5454
resolveHttpAuthSchemeConfig,
5555
} from "./auth/httpAuthSchemeProvider";
56+
import { CancelPracticeRunCommandInput, CancelPracticeRunCommandOutput } from "./commands/CancelPracticeRunCommand";
5657
import { CancelZonalShiftCommandInput, CancelZonalShiftCommandOutput } from "./commands/CancelZonalShiftCommand";
5758
import {
5859
CreatePracticeRunConfigurationCommandInput,
@@ -73,6 +74,7 @@ import {
7374
ListManagedResourcesCommandOutput,
7475
} from "./commands/ListManagedResourcesCommand";
7576
import { ListZonalShiftsCommandInput, ListZonalShiftsCommandOutput } from "./commands/ListZonalShiftsCommand";
77+
import { StartPracticeRunCommandInput, StartPracticeRunCommandOutput } from "./commands/StartPracticeRunCommand";
7678
import { StartZonalShiftCommandInput, StartZonalShiftCommandOutput } from "./commands/StartZonalShiftCommand";
7779
import {
7880
UpdateAutoshiftObserverNotificationStatusCommandInput,
@@ -102,6 +104,7 @@ export { __Client };
102104
* @public
103105
*/
104106
export type ServiceInputTypes =
107+
| CancelPracticeRunCommandInput
105108
| CancelZonalShiftCommandInput
106109
| CreatePracticeRunConfigurationCommandInput
107110
| DeletePracticeRunConfigurationCommandInput
@@ -110,6 +113,7 @@ export type ServiceInputTypes =
110113
| ListAutoshiftsCommandInput
111114
| ListManagedResourcesCommandInput
112115
| ListZonalShiftsCommandInput
116+
| StartPracticeRunCommandInput
113117
| StartZonalShiftCommandInput
114118
| UpdateAutoshiftObserverNotificationStatusCommandInput
115119
| UpdatePracticeRunConfigurationCommandInput
@@ -120,6 +124,7 @@ export type ServiceInputTypes =
120124
* @public
121125
*/
122126
export type ServiceOutputTypes =
127+
| CancelPracticeRunCommandOutput
123128
| CancelZonalShiftCommandOutput
124129
| CreatePracticeRunConfigurationCommandOutput
125130
| DeletePracticeRunConfigurationCommandOutput
@@ -128,6 +133,7 @@ export type ServiceOutputTypes =
128133
| ListAutoshiftsCommandOutput
129134
| ListManagedResourcesCommandOutput
130135
| ListZonalShiftsCommandOutput
136+
| StartPracticeRunCommandOutput
131137
| StartZonalShiftCommandOutput
132138
| UpdateAutoshiftObserverNotificationStatusCommandOutput
133139
| UpdatePracticeRunConfigurationCommandOutput
@@ -325,40 +331,7 @@ export type ARCZonalShiftClientResolvedConfigType = __SmithyResolvedConfiguratio
325331
export interface ARCZonalShiftClientResolvedConfig extends ARCZonalShiftClientResolvedConfigType {}
326332

327333
/**
328-
* <p>Welcome to the API Reference Guide for zonal shift and zonal autoshift in Amazon Route 53 Application Recovery Controller (ARC).</p>
329-
* <p>You can start a zonal shift to move traffic for a load balancer resource away from an Availability Zone to
330-
* help your application recover quickly from an impairment in an Availability Zone. For example,
331-
* you can recover your application from a developer's bad code deployment or from an
332-
* Amazon Web Services infrastructure failure in a single Availability Zone.</p>
333-
* <p>You can also configure zonal autoshift for supported load balancer resources. Zonal autoshift
334-
* is a capability in ARC where you authorize Amazon Web Services to shift away application resource
335-
* traffic from an Availability Zone during events, on your behalf, to help reduce your time to recovery.
336-
* Amazon Web Services starts an autoshift when internal telemetry indicates that there is an Availability
337-
* Zone impairment that could potentially impact customers.</p>
338-
* <p>To help make sure that zonal autoshift is safe for your application, you must
339-
* also configure practice runs when you enable zonal autoshift for a resource. Practice runs start
340-
* weekly zonal shifts for a resource, to shift traffic for the resource away from an Availability Zone.
341-
* Practice runs help you to make sure, on a regular basis, that you have enough capacity in all the
342-
* Availability Zones in an Amazon Web Services Region for your application to continue to operate normally
343-
* when traffic for a resource is shifted away from one Availability Zone.</p>
344-
* <important>
345-
* <p>Before you configure practice runs or enable zonal autoshift, we strongly recommend
346-
* that you prescale your application resource capacity in all Availability Zones in the Region where
347-
* your application resources are deployed. You should not rely on scaling on demand when an
348-
* autoshift or practice run starts. Zonal autoshift, including practice runs, works independently,
349-
* and does not wait for auto scaling actions to complete. Relying on auto scaling, instead of
350-
* pre-scaling, can result in loss of availability.</p>
351-
* <p>If you use auto scaling to handle regular cycles of traffic, we strongly recommend that you configure
352-
* the minimum capacity of your auto scaling to continue operating normally with the loss of an
353-
* Availability Zone. </p>
354-
* </important>
355-
* <p>Be aware that ARC does not inspect the health of individual resources. Amazon Web Services only starts an
356-
* autoshift when Amazon Web Services telemetry detects that there is an Availability Zone impairment that could
357-
* potentially impact customers. In some cases, resources might be shifted away that are not experiencing
358-
* impact.</p>
359-
* <p>For more information about using zonal shift and zonal autoshift, see the
360-
* <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html">Amazon Route 53 Application Recovery Controller
361-
* Developer Guide</a>.</p>
334+
* <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>
362335
* @public
363336
*/
364337
export class ARCZonalShiftClient extends __Client<

0 commit comments

Comments
 (0)