Skip to content

Commit 2152324

Browse files
author
awstools
committed
feat(client-arc-zonal-shift): This release adds a new capability, zonal autoshift. You can configure zonal autoshift so that AWS shifts traffic for a resource away from an Availability Zone, on your behalf, when AWS determines that there is an issue that could potentially affect customers in the Availability Zone.
1 parent fd0d898 commit 2152324

21 files changed

+3722
-251
lines changed

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

Lines changed: 74 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,33 @@
66

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

9-
<p>This is the API Reference Guide for the zonal shift feature of Amazon Route 53 Application Recovery Controller. This guide is for developers who need detailed information about
10-
zonal shift API actions, data types, and errors.</p>
11-
<p>Zonal shift is in preview release for Amazon Route 53 Application Recovery Controller and is subject to change.</p>
12-
<p>Zonal shift in Route 53 ARC enables you to move traffic for a load balancer resource away from an Availability Zone. Starting
13-
a zonal shift helps your application recover immediately, for example, from a developer's bad code deployment
14-
or from an AWS infrastructure failure in a single Availability Zone, reducing the impact and time lost from an issue
15-
in one zone. </p>
16-
<p>Supported AWS resources are automatically registered with Route 53 ARC. Resources that are registered for zonal shifts
17-
in Route 53 ARC are managed resources in Route 53 ARC. You can start a zonal shift for any managed resource in your account in a Region.
18-
At this time, you can only start a zonal shift for Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.</p>
19-
<p>Zonal shifts are temporary. You must specify an expiration when you start a zonal shift, of up to three days initially.
20-
If you want to still keep traffic away from an Availability Zone, you can update the zonal shift and set a new expiration.
21-
You can also cancel a zonal shift, before it expires, for example, if you're ready to restore traffic to the Availability Zone.</p>
22-
<p>For more information about using zonal shift, see the
23-
<a href="https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html">Amazon Route 53 Application Recovery Controller Developer Guide</a>.</p>
9+
<p>Welcome to the Zonal Shift API Reference Guide for Amazon Route 53 Application Recovery Controller (Route 53 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 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
21+
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
26+
when traffic for a resource is shifted away from one Availability Zone.</p>
27+
<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>
32+
</important>
33+
<p>For more information about using zonal shift and zonal autoshift, see the
34+
<a href="https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html">Amazon Route 53 Application Recovery Controller
35+
Developer Guide</a>.</p>
2436

2537
## Installing
2638

@@ -37,16 +49,16 @@ using your favorite package manager:
3749

3850
The AWS SDK is modulized by clients and commands.
3951
To send a request, you only need to import the `ARCZonalShiftClient` and
40-
the commands you need, for example `ListZonalShiftsCommand`:
52+
the commands you need, for example `ListAutoshiftsCommand`:
4153

4254
```js
4355
// ES5 example
44-
const { ARCZonalShiftClient, ListZonalShiftsCommand } = require("@aws-sdk/client-arc-zonal-shift");
56+
const { ARCZonalShiftClient, ListAutoshiftsCommand } = require("@aws-sdk/client-arc-zonal-shift");
4557
```
4658

4759
```ts
4860
// ES6+ example
49-
import { ARCZonalShiftClient, ListZonalShiftsCommand } from "@aws-sdk/client-arc-zonal-shift";
61+
import { ARCZonalShiftClient, ListAutoshiftsCommand } from "@aws-sdk/client-arc-zonal-shift";
5062
```
5163

5264
### Usage
@@ -65,7 +77,7 @@ const client = new ARCZonalShiftClient({ region: "REGION" });
6577
const params = {
6678
/** input parameters */
6779
};
68-
const command = new ListZonalShiftsCommand(params);
80+
const command = new ListAutoshiftsCommand(params);
6981
```
7082

7183
#### Async/await
@@ -144,15 +156,15 @@ const client = new AWS.ARCZonalShift({ region: "REGION" });
144156

145157
// async/await.
146158
try {
147-
const data = await client.listZonalShifts(params);
159+
const data = await client.listAutoshifts(params);
148160
// process data.
149161
} catch (error) {
150162
// error handling.
151163
}
152164

153165
// Promises.
154166
client
155-
.listZonalShifts(params)
167+
.listAutoshifts(params)
156168
.then((data) => {
157169
// process data.
158170
})
@@ -161,7 +173,7 @@ client
161173
});
162174

163175
// callbacks.
164-
client.listZonalShifts(params, (err, data) => {
176+
client.listAutoshifts(params, (err, data) => {
165177
// process err and data.
166178
});
167179
```
@@ -224,6 +236,22 @@ CancelZonalShift
224236

225237
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/arc-zonal-shift/command/CancelZonalShiftCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/CancelZonalShiftCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/CancelZonalShiftCommandOutput/)
226238

239+
</details>
240+
<details>
241+
<summary>
242+
CreatePracticeRunConfiguration
243+
</summary>
244+
245+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/arc-zonal-shift/command/CreatePracticeRunConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/CreatePracticeRunConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/CreatePracticeRunConfigurationCommandOutput/)
246+
247+
</details>
248+
<details>
249+
<summary>
250+
DeletePracticeRunConfiguration
251+
</summary>
252+
253+
[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+
227255
</details>
228256
<details>
229257
<summary>
@@ -232,6 +260,14 @@ GetManagedResource
232260

233261
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/arc-zonal-shift/command/GetManagedResourceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/GetManagedResourceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/GetManagedResourceCommandOutput/)
234262

263+
</details>
264+
<details>
265+
<summary>
266+
ListAutoshifts
267+
</summary>
268+
269+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/arc-zonal-shift/command/ListAutoshiftsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/ListAutoshiftsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/ListAutoshiftsCommandOutput/)
270+
235271
</details>
236272
<details>
237273
<summary>
@@ -256,6 +292,22 @@ StartZonalShift
256292

257293
[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/)
258294

295+
</details>
296+
<details>
297+
<summary>
298+
UpdatePracticeRunConfiguration
299+
</summary>
300+
301+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/arc-zonal-shift/command/UpdatePracticeRunConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/UpdatePracticeRunConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/UpdatePracticeRunConfigurationCommandOutput/)
302+
303+
</details>
304+
<details>
305+
<summary>
306+
UpdateZonalAutoshiftConfiguration
307+
</summary>
308+
309+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/arc-zonal-shift/command/UpdateZonalAutoshiftConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/UpdateZonalAutoshiftConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-arc-zonal-shift/Interface/UpdateZonalAutoshiftConfigurationCommandOutput/)
310+
259311
</details>
260312
<details>
261313
<summary>

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

Lines changed: 139 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,26 @@ import {
88
CancelZonalShiftCommandInput,
99
CancelZonalShiftCommandOutput,
1010
} from "./commands/CancelZonalShiftCommand";
11+
import {
12+
CreatePracticeRunConfigurationCommand,
13+
CreatePracticeRunConfigurationCommandInput,
14+
CreatePracticeRunConfigurationCommandOutput,
15+
} from "./commands/CreatePracticeRunConfigurationCommand";
16+
import {
17+
DeletePracticeRunConfigurationCommand,
18+
DeletePracticeRunConfigurationCommandInput,
19+
DeletePracticeRunConfigurationCommandOutput,
20+
} from "./commands/DeletePracticeRunConfigurationCommand";
1121
import {
1222
GetManagedResourceCommand,
1323
GetManagedResourceCommandInput,
1424
GetManagedResourceCommandOutput,
1525
} from "./commands/GetManagedResourceCommand";
26+
import {
27+
ListAutoshiftsCommand,
28+
ListAutoshiftsCommandInput,
29+
ListAutoshiftsCommandOutput,
30+
} from "./commands/ListAutoshiftsCommand";
1631
import {
1732
ListManagedResourcesCommand,
1833
ListManagedResourcesCommandInput,
@@ -28,6 +43,16 @@ import {
2843
StartZonalShiftCommandInput,
2944
StartZonalShiftCommandOutput,
3045
} from "./commands/StartZonalShiftCommand";
46+
import {
47+
UpdatePracticeRunConfigurationCommand,
48+
UpdatePracticeRunConfigurationCommandInput,
49+
UpdatePracticeRunConfigurationCommandOutput,
50+
} from "./commands/UpdatePracticeRunConfigurationCommand";
51+
import {
52+
UpdateZonalAutoshiftConfigurationCommand,
53+
UpdateZonalAutoshiftConfigurationCommandInput,
54+
UpdateZonalAutoshiftConfigurationCommandOutput,
55+
} from "./commands/UpdateZonalAutoshiftConfigurationCommand";
3156
import {
3257
UpdateZonalShiftCommand,
3358
UpdateZonalShiftCommandInput,
@@ -36,10 +61,15 @@ import {
3661

3762
const commands = {
3863
CancelZonalShiftCommand,
64+
CreatePracticeRunConfigurationCommand,
65+
DeletePracticeRunConfigurationCommand,
3966
GetManagedResourceCommand,
67+
ListAutoshiftsCommand,
4068
ListManagedResourcesCommand,
4169
ListZonalShiftsCommand,
4270
StartZonalShiftCommand,
71+
UpdatePracticeRunConfigurationCommand,
72+
UpdateZonalAutoshiftConfigurationCommand,
4373
UpdateZonalShiftCommand,
4474
};
4575

@@ -61,6 +91,40 @@ export interface ARCZonalShift {
6191
cb: (err: any, data?: CancelZonalShiftCommandOutput) => void
6292
): void;
6393

94+
/**
95+
* @see {@link CreatePracticeRunConfigurationCommand}
96+
*/
97+
createPracticeRunConfiguration(
98+
args: CreatePracticeRunConfigurationCommandInput,
99+
options?: __HttpHandlerOptions
100+
): Promise<CreatePracticeRunConfigurationCommandOutput>;
101+
createPracticeRunConfiguration(
102+
args: CreatePracticeRunConfigurationCommandInput,
103+
cb: (err: any, data?: CreatePracticeRunConfigurationCommandOutput) => void
104+
): void;
105+
createPracticeRunConfiguration(
106+
args: CreatePracticeRunConfigurationCommandInput,
107+
options: __HttpHandlerOptions,
108+
cb: (err: any, data?: CreatePracticeRunConfigurationCommandOutput) => void
109+
): void;
110+
111+
/**
112+
* @see {@link DeletePracticeRunConfigurationCommand}
113+
*/
114+
deletePracticeRunConfiguration(
115+
args: DeletePracticeRunConfigurationCommandInput,
116+
options?: __HttpHandlerOptions
117+
): Promise<DeletePracticeRunConfigurationCommandOutput>;
118+
deletePracticeRunConfiguration(
119+
args: DeletePracticeRunConfigurationCommandInput,
120+
cb: (err: any, data?: DeletePracticeRunConfigurationCommandOutput) => void
121+
): void;
122+
deletePracticeRunConfiguration(
123+
args: DeletePracticeRunConfigurationCommandInput,
124+
options: __HttpHandlerOptions,
125+
cb: (err: any, data?: DeletePracticeRunConfigurationCommandOutput) => void
126+
): void;
127+
64128
/**
65129
* @see {@link GetManagedResourceCommand}
66130
*/
@@ -78,6 +142,20 @@ export interface ARCZonalShift {
78142
cb: (err: any, data?: GetManagedResourceCommandOutput) => void
79143
): void;
80144

145+
/**
146+
* @see {@link ListAutoshiftsCommand}
147+
*/
148+
listAutoshifts(
149+
args: ListAutoshiftsCommandInput,
150+
options?: __HttpHandlerOptions
151+
): Promise<ListAutoshiftsCommandOutput>;
152+
listAutoshifts(args: ListAutoshiftsCommandInput, cb: (err: any, data?: ListAutoshiftsCommandOutput) => void): void;
153+
listAutoshifts(
154+
args: ListAutoshiftsCommandInput,
155+
options: __HttpHandlerOptions,
156+
cb: (err: any, data?: ListAutoshiftsCommandOutput) => void
157+
): void;
158+
81159
/**
82160
* @see {@link ListManagedResourcesCommand}
83161
*/
@@ -123,6 +201,40 @@ export interface ARCZonalShift {
123201
cb: (err: any, data?: StartZonalShiftCommandOutput) => void
124202
): void;
125203

204+
/**
205+
* @see {@link UpdatePracticeRunConfigurationCommand}
206+
*/
207+
updatePracticeRunConfiguration(
208+
args: UpdatePracticeRunConfigurationCommandInput,
209+
options?: __HttpHandlerOptions
210+
): Promise<UpdatePracticeRunConfigurationCommandOutput>;
211+
updatePracticeRunConfiguration(
212+
args: UpdatePracticeRunConfigurationCommandInput,
213+
cb: (err: any, data?: UpdatePracticeRunConfigurationCommandOutput) => void
214+
): void;
215+
updatePracticeRunConfiguration(
216+
args: UpdatePracticeRunConfigurationCommandInput,
217+
options: __HttpHandlerOptions,
218+
cb: (err: any, data?: UpdatePracticeRunConfigurationCommandOutput) => void
219+
): void;
220+
221+
/**
222+
* @see {@link UpdateZonalAutoshiftConfigurationCommand}
223+
*/
224+
updateZonalAutoshiftConfiguration(
225+
args: UpdateZonalAutoshiftConfigurationCommandInput,
226+
options?: __HttpHandlerOptions
227+
): Promise<UpdateZonalAutoshiftConfigurationCommandOutput>;
228+
updateZonalAutoshiftConfiguration(
229+
args: UpdateZonalAutoshiftConfigurationCommandInput,
230+
cb: (err: any, data?: UpdateZonalAutoshiftConfigurationCommandOutput) => void
231+
): void;
232+
updateZonalAutoshiftConfiguration(
233+
args: UpdateZonalAutoshiftConfigurationCommandInput,
234+
options: __HttpHandlerOptions,
235+
cb: (err: any, data?: UpdateZonalAutoshiftConfigurationCommandOutput) => void
236+
): void;
237+
126238
/**
127239
* @see {@link UpdateZonalShiftCommand}
128240
*/
@@ -143,21 +255,33 @@ export interface ARCZonalShift {
143255

144256
/**
145257
* @public
146-
* <p>This is the API Reference Guide for the zonal shift feature of Amazon Route 53 Application Recovery Controller. This guide is for developers who need detailed information about
147-
* zonal shift API actions, data types, and errors.</p>
148-
* <p>Zonal shift is in preview release for Amazon Route 53 Application Recovery Controller and is subject to change.</p>
149-
* <p>Zonal shift in Route 53 ARC enables you to move traffic for a load balancer resource away from an Availability Zone. Starting
150-
* a zonal shift helps your application recover immediately, for example, from a developer's bad code deployment
151-
* or from an AWS infrastructure failure in a single Availability Zone, reducing the impact and time lost from an issue
152-
* in one zone. </p>
153-
* <p>Supported AWS resources are automatically registered with Route 53 ARC. Resources that are registered for zonal shifts
154-
* in Route 53 ARC are managed resources in Route 53 ARC. You can start a zonal shift for any managed resource in your account in a Region.
155-
* At this time, you can only start a zonal shift for Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.</p>
156-
* <p>Zonal shifts are temporary. You must specify an expiration when you start a zonal shift, of up to three days initially.
157-
* If you want to still keep traffic away from an Availability Zone, you can update the zonal shift and set a new expiration.
158-
* You can also cancel a zonal shift, before it expires, for example, if you're ready to restore traffic to the Availability Zone.</p>
159-
* <p>For more information about using zonal shift, see the
160-
* <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html">Amazon Route 53 Application Recovery Controller Developer Guide</a>.</p>
258+
* <p>Welcome to the Zonal Shift API Reference Guide for Amazon Route 53 Application Recovery Controller (Route 53 ARC).</p>
259+
* <p>You can start a zonal shift to move traffic for a load balancer resource away from an Availability Zone to
260+
* help your application recover quickly from an impairment in an Availability Zone. For example,
261+
* you can recover your application from a developer's bad code deployment or from an
262+
* Amazon Web Services infrastructure failure in a single Availability Zone.</p>
263+
* <p>You can also configure zonal autoshift for a load balancer resource. Zonal autoshift
264+
* is a capability in Route 53 ARC where Amazon Web Services shifts away application resource
265+
* traffic from an Availability Zone, on your behalf, to help reduce your time to recovery during events.
266+
* Amazon Web Services shifts away traffic for resources that are enabled for zonal autoshift whenever Amazon Web Services
267+
* determines that there's an issue in the Availability Zone that could potentially affect
268+
* customers.</p>
269+
* <p>To ensure that zonal autoshift is safe for your application, you must
270+
* also configure practice runs when you enable zonal autoshift for a resource. Practice runs start
271+
* weekly zonal shifts for a resource, to shift
272+
* traffic for the resource out of an Availability Zone. Practice runs make sure, on a regular basis,
273+
* that you have enough capacity in all the Availability Zones in an Amazon Web Services Region
274+
* for your application to continue to operate normally
275+
* when traffic for a resource is shifted away from one Availability Zone.</p>
276+
* <important>
277+
* <p>You must prescale resource capacity in all Availability Zones in the Region
278+
* where your application is deployed, before you configure practice runs or enable zonal autoshift
279+
* for a resource. You should not rely on scaling on demand when an autoshift or practice run
280+
* starts. </p>
281+
* </important>
282+
* <p>For more information about using zonal shift and zonal autoshift, see the
283+
* <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html">Amazon Route 53 Application Recovery Controller
284+
* Developer Guide</a>.</p>
161285
*/
162286
export class ARCZonalShift extends ARCZonalShiftClient implements ARCZonalShift {}
163287
createAggregatedClient(commands, ARCZonalShift);

0 commit comments

Comments
 (0)