@aws-sdk/client-arc-zonal-shift 3.461.0 → 3.464.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 (55) hide show
  1. package/README.md +74 -22
  2. package/dist-cjs/ARCZonalShift.js +10 -0
  3. package/dist-cjs/commands/CreatePracticeRunConfigurationCommand.js +51 -0
  4. package/dist-cjs/commands/DeletePracticeRunConfigurationCommand.js +51 -0
  5. package/dist-cjs/commands/ListAutoshiftsCommand.js +51 -0
  6. package/dist-cjs/commands/UpdatePracticeRunConfigurationCommand.js +51 -0
  7. package/dist-cjs/commands/UpdateZonalAutoshiftConfigurationCommand.js +51 -0
  8. package/dist-cjs/commands/index.js +5 -0
  9. package/dist-cjs/models/models_0.js +61 -34
  10. package/dist-cjs/pagination/ListAutoshiftsPaginator.js +29 -0
  11. package/dist-cjs/pagination/index.js +1 -0
  12. package/dist-cjs/protocols/Aws_restJson1.js +419 -2
  13. package/dist-es/ARCZonalShift.js +10 -0
  14. package/dist-es/commands/CreatePracticeRunConfigurationCommand.js +47 -0
  15. package/dist-es/commands/DeletePracticeRunConfigurationCommand.js +47 -0
  16. package/dist-es/commands/ListAutoshiftsCommand.js +47 -0
  17. package/dist-es/commands/UpdatePracticeRunConfigurationCommand.js +47 -0
  18. package/dist-es/commands/UpdateZonalAutoshiftConfigurationCommand.js +47 -0
  19. package/dist-es/commands/index.js +5 -0
  20. package/dist-es/models/models_0.js +58 -31
  21. package/dist-es/pagination/ListAutoshiftsPaginator.js +25 -0
  22. package/dist-es/pagination/index.js +1 -0
  23. package/dist-es/protocols/Aws_restJson1.js +408 -1
  24. package/dist-types/ARCZonalShift.d.ts +62 -15
  25. package/dist-types/ARCZonalShiftClient.d.ts +34 -17
  26. package/dist-types/commands/CancelZonalShiftCommand.d.ts +5 -2
  27. package/dist-types/commands/CreatePracticeRunConfigurationCommand.d.ts +138 -0
  28. package/dist-types/commands/DeletePracticeRunConfigurationCommand.d.ts +95 -0
  29. package/dist-types/commands/GetManagedResourceCommand.d.ts +33 -4
  30. package/dist-types/commands/ListAutoshiftsCommand.d.ts +95 -0
  31. package/dist-types/commands/ListManagedResourcesCommand.d.ts +28 -3
  32. package/dist-types/commands/ListZonalShiftsCommand.d.ts +8 -2
  33. package/dist-types/commands/StartZonalShiftCommand.d.ts +8 -7
  34. package/dist-types/commands/UpdatePracticeRunConfigurationCommand.d.ts +133 -0
  35. package/dist-types/commands/UpdateZonalAutoshiftConfigurationCommand.d.ts +96 -0
  36. package/dist-types/commands/UpdateZonalShiftCommand.d.ts +2 -2
  37. package/dist-types/commands/index.d.ts +5 -0
  38. package/dist-types/index.d.ts +27 -15
  39. package/dist-types/models/models_0.d.ts +698 -95
  40. package/dist-types/pagination/ListAutoshiftsPaginator.d.ts +7 -0
  41. package/dist-types/pagination/index.d.ts +1 -0
  42. package/dist-types/protocols/Aws_restJson1.d.ts +45 -0
  43. package/dist-types/ts3.4/ARCZonalShift.d.ts +91 -0
  44. package/dist-types/ts3.4/ARCZonalShiftClient.d.ts +30 -0
  45. package/dist-types/ts3.4/commands/CreatePracticeRunConfigurationCommand.d.ts +42 -0
  46. package/dist-types/ts3.4/commands/DeletePracticeRunConfigurationCommand.d.ts +42 -0
  47. package/dist-types/ts3.4/commands/ListAutoshiftsCommand.d.ts +38 -0
  48. package/dist-types/ts3.4/commands/UpdatePracticeRunConfigurationCommand.d.ts +42 -0
  49. package/dist-types/ts3.4/commands/UpdateZonalAutoshiftConfigurationCommand.d.ts +42 -0
  50. package/dist-types/ts3.4/commands/index.d.ts +5 -0
  51. package/dist-types/ts3.4/models/models_0.d.ts +143 -23
  52. package/dist-types/ts3.4/pagination/ListAutoshiftsPaginator.d.ts +11 -0
  53. package/dist-types/ts3.4/pagination/index.d.ts +1 -0
  54. package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +60 -0
  55. package/package.json +2 -2
@@ -26,72 +26,102 @@ export declare const AppliedStatus: {
26
26
  export type AppliedStatus = (typeof AppliedStatus)[keyof typeof AppliedStatus];
27
27
  /**
28
28
  * @public
29
+ * <p>There was an internal server error.</p>
29
30
  */
30
- export interface CancelZonalShiftRequest {
31
+ export declare class InternalServerException extends __BaseException {
32
+ readonly name: "InternalServerException";
33
+ readonly $fault: "server";
31
34
  /**
32
- * @public
33
- * <p>The internally-generated identifier of a zonal shift.</p>
35
+ * @internal
34
36
  */
35
- zonalShiftId: string | undefined;
37
+ constructor(opts: __ExceptionOptionType<InternalServerException, __BaseException>);
36
38
  }
37
39
  /**
38
40
  * @public
39
41
  * @enum
40
42
  */
41
- export declare const ConflictExceptionReason: {
42
- readonly SIMULTANEOUS_ZONAL_SHIFTS_CONFLICT: "SimultaneousZonalShiftsConflict";
43
- readonly ZONAL_SHIFT_ALREADY_EXISTS: "ZonalShiftAlreadyExists";
44
- readonly ZONAL_SHIFT_STATUS_NOT_ACTIVE: "ZonalShiftStatusNotActive";
43
+ export declare const AutoshiftExecutionStatus: {
44
+ readonly ACTIVE: "ACTIVE";
45
+ readonly COMPLETED: "COMPLETED";
45
46
  };
46
47
  /**
47
48
  * @public
48
49
  */
49
- export type ConflictExceptionReason = (typeof ConflictExceptionReason)[keyof typeof ConflictExceptionReason];
50
+ export type AutoshiftExecutionStatus = (typeof AutoshiftExecutionStatus)[keyof typeof AutoshiftExecutionStatus];
50
51
  /**
51
52
  * @public
52
- * <p>The request could not be processed because of conflict in the current state of the resource.</p>
53
53
  */
54
- export declare class ConflictException extends __BaseException {
55
- readonly name: "ConflictException";
56
- readonly $fault: "client";
54
+ export interface ListAutoshiftsRequest {
57
55
  /**
58
56
  * @public
59
- * <p>The reason for the conflict exception.</p>
57
+ * <p>Specifies that you want to receive the next page of results. Valid only if you received a <code>NextToken</code> response in the
58
+ * previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous
59
+ * call's <code>NextToken</code> response to request the next page of results.</p>
60
60
  */
61
- reason: ConflictExceptionReason | undefined;
61
+ nextToken?: string;
62
62
  /**
63
63
  * @public
64
- * <p>The zonal shift ID associated with the conflict exception.</p>
64
+ * <p>The status of the autoshift.</p>
65
65
  */
66
- zonalShiftId?: string;
66
+ status?: AutoshiftExecutionStatus;
67
67
  /**
68
- * @internal
68
+ * @public
69
+ * <p>The number of objects that you want to return with this call.</p>
69
70
  */
70
- constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>);
71
+ maxResults?: number;
71
72
  }
72
73
  /**
73
74
  * @public
74
- * <p>There was an internal server error.</p>
75
+ * <p>Information about an autoshift. Amazon Web Services starts an autoshift to temporarily move traffic for a resource
76
+ * away from an Availability Zone in an Amazon Web Services Region
77
+ * when Amazon Web Services determines that there's an issue in the Availability Zone that could potentially affect customers.
78
+ * You can configure zonal autoshift in Route 53 ARC for managed resources in your Amazon Web Services account in a Region.
79
+ * Supported Amazon Web Services resources are automatically registered with Route 53 ARC.</p>
80
+ * <p>Autoshifts are temporary. When the Availability Zone recovers, Amazon Web Services ends the autoshift, and
81
+ * traffic for the resource is no longer directed to the other Availability Zones in the Region.</p>
82
+ * <p>You can stop an autoshift for a resource by disabling zonal autoshift.</p>
75
83
  */
76
- export declare class InternalServerException extends __BaseException {
77
- readonly name: "InternalServerException";
78
- readonly $fault: "server";
84
+ export interface AutoshiftSummary {
79
85
  /**
80
- * @internal
86
+ * @public
87
+ * <p>The Availability Zone that traffic is shifted away from for a resource when Amazon Web Services starts an autoshift.
88
+ * Until the autoshift ends, traffic for the resource is instead directed to other Availability Zones in the Amazon Web Services Region.
89
+ * An autoshift can end for a resource, for example, when Amazon Web Services ends the autoshift for the Availability Zone or when
90
+ * you disable zonal autoshift for the resource.</p>
81
91
  */
82
- constructor(opts: __ExceptionOptionType<InternalServerException, __BaseException>);
92
+ awayFrom: string | undefined;
93
+ /**
94
+ * @public
95
+ * <p>The time (in UTC) when the autoshift ended.</p>
96
+ */
97
+ endTime: Date | undefined;
98
+ /**
99
+ * @public
100
+ * <p>The time (in UTC) when the autoshift started.</p>
101
+ */
102
+ startTime: Date | undefined;
103
+ /**
104
+ * @public
105
+ * <p>The status for an autoshift. </p>
106
+ */
107
+ status: AutoshiftExecutionStatus | undefined;
83
108
  }
84
109
  /**
85
110
  * @public
86
- * <p>The input requested a resource that was not found.</p>
87
111
  */
88
- export declare class ResourceNotFoundException extends __BaseException {
89
- readonly name: "ResourceNotFoundException";
90
- readonly $fault: "client";
112
+ export interface ListAutoshiftsResponse {
91
113
  /**
92
- * @internal
114
+ * @public
115
+ * <p>The items in the response list.</p>
93
116
  */
94
- constructor(opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>);
117
+ items?: AutoshiftSummary[];
118
+ /**
119
+ * @public
120
+ * <p>Specifies that you want to receive the next page of results. Valid only if you received a <code>NextToken</code> response in the
121
+ * previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous
122
+ * call's <code>NextToken</code> response to request the next page of results.</p>
123
+ */
124
+ nextToken?: string;
95
125
  }
96
126
  /**
97
127
  * @public
@@ -110,8 +140,11 @@ export declare class ThrottlingException extends __BaseException {
110
140
  * @enum
111
141
  */
112
142
  export declare const ValidationExceptionReason: {
143
+ readonly INVALID_ALARM_CONDITION: "InvalidAlarmCondition";
113
144
  readonly INVALID_AZ: "InvalidAz";
145
+ readonly INVALID_CONDITION_TYPE: "InvalidConditionType";
114
146
  readonly INVALID_EXPIRES_IN: "InvalidExpiresIn";
147
+ readonly INVALID_PRACTICE_BLOCKER: "InvalidPracticeBlocker";
115
148
  readonly INVALID_RESOURCE_IDENTIFIER: "InvalidResourceIdentifier";
116
149
  readonly INVALID_STATUS: "InvalidStatus";
117
150
  readonly INVALID_TOKEN: "InvalidToken";
@@ -124,7 +157,7 @@ export declare const ValidationExceptionReason: {
124
157
  export type ValidationExceptionReason = (typeof ValidationExceptionReason)[keyof typeof ValidationExceptionReason];
125
158
  /**
126
159
  * @public
127
- * <p>The input fails to satisfy the constraints specified by an AWS service.</p>
160
+ * <p>The input fails to satisfy the constraints specified by an Amazon Web Services service.</p>
128
161
  */
129
162
  export declare class ValidationException extends __BaseException {
130
163
  readonly name: "ValidationException";
@@ -139,6 +172,116 @@ export declare class ValidationException extends __BaseException {
139
172
  */
140
173
  constructor(opts: __ExceptionOptionType<ValidationException, __BaseException>);
141
174
  }
175
+ /**
176
+ * @public
177
+ * @enum
178
+ */
179
+ export declare const AutoshiftAppliedStatus: {
180
+ readonly APPLIED: "APPLIED";
181
+ readonly NOT_APPLIED: "NOT_APPLIED";
182
+ };
183
+ /**
184
+ * @public
185
+ */
186
+ export type AutoshiftAppliedStatus = (typeof AutoshiftAppliedStatus)[keyof typeof AutoshiftAppliedStatus];
187
+ /**
188
+ * @public
189
+ * <p>A complex structure that lists an autoshift that is currently active for a managed resource and information about
190
+ * the autoshift.</p>
191
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-autoshift.how-it-works.html">How zonal autoshift
192
+ * and practice runs work</a> in the Amazon Route 53 Application Recovery Controller Developer Guide.</p>
193
+ */
194
+ export interface AutoshiftInResource {
195
+ /**
196
+ * @public
197
+ * <p>The <code>appliedStatus</code> field specifies which application traffic shift is in effect for a
198
+ * resource when there is more than one traffic shift active. There can be more than one application traffic
199
+ * shift in progress at the same time - that is, practice run zonal shifts, customer-started zonal shifts,
200
+ * or an autoshift. The <code>appliedStatus</code> field for an autoshift for a resource can have one of two
201
+ * values: <code>APPLIED</code> or <code>NOT_APPLIED</code>. The zonal shift or autoshift
202
+ * that is currently in effect for the resource has an applied status set to <code>APPLIED</code>.</p>
203
+ * <p>The overall principle for precedence is that zonal shifts that you start as a customer take precedence
204
+ * autoshifts, which take precedence over practice runs. That is, customer-started zonal shifts &gt; autoshifts &gt; practice run
205
+ * zonal shifts.</p>
206
+ * <p>For more information, see
207
+ * <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-autoshift.how-it-works.html">How zonal autoshift
208
+ * and practice runs work</a> in the Amazon Route 53 Application Recovery Controller Developer Guide.</p>
209
+ */
210
+ appliedStatus: AutoshiftAppliedStatus | undefined;
211
+ /**
212
+ * @public
213
+ * <p>The Availability Zone that traffic is shifted away from for a resource, when Amazon Web Services starts an autoshift.
214
+ * Until the autoshift ends, traffic for the resource is instead directed to other Availability Zones in the Amazon Web Services Region.
215
+ * An autoshift can end for a resource, for example, when Amazon Web Services ends the autoshift for the Availability Zone or when
216
+ * you disable zonal autoshift for the resource.</p>
217
+ */
218
+ awayFrom: string | undefined;
219
+ /**
220
+ * @public
221
+ * <p>The time (UTC) when the autoshift started.</p>
222
+ */
223
+ startTime: Date | undefined;
224
+ }
225
+ /**
226
+ * @public
227
+ */
228
+ export interface CancelZonalShiftRequest {
229
+ /**
230
+ * @public
231
+ * <p>The internally-generated identifier of a zonal shift.</p>
232
+ */
233
+ zonalShiftId: string | undefined;
234
+ }
235
+ /**
236
+ * @public
237
+ * @enum
238
+ */
239
+ export declare const ConflictExceptionReason: {
240
+ readonly AUTOSHIFT_ENABLED: "AutoShiftEnabled";
241
+ readonly PRACTICE_CONFIGURATION_ALREADY_EXISTS: "PracticeConfigurationAlreadyExists";
242
+ readonly PRACTICE_CONFIGURATION_DOES_NOT_EXIST: "PracticeConfigurationDoesNotExist";
243
+ readonly SIMULTANEOUS_ZONAL_SHIFTS_CONFLICT: "SimultaneousZonalShiftsConflict";
244
+ readonly ZONAL_SHIFT_ALREADY_EXISTS: "ZonalShiftAlreadyExists";
245
+ readonly ZONAL_SHIFT_STATUS_NOT_ACTIVE: "ZonalShiftStatusNotActive";
246
+ };
247
+ /**
248
+ * @public
249
+ */
250
+ export type ConflictExceptionReason = (typeof ConflictExceptionReason)[keyof typeof ConflictExceptionReason];
251
+ /**
252
+ * @public
253
+ * <p>The request could not be processed because of conflict in the current state of the resource.</p>
254
+ */
255
+ export declare class ConflictException extends __BaseException {
256
+ readonly name: "ConflictException";
257
+ readonly $fault: "client";
258
+ /**
259
+ * @public
260
+ * <p>The reason for the conflict exception.</p>
261
+ */
262
+ reason: ConflictExceptionReason | undefined;
263
+ /**
264
+ * @public
265
+ * <p>The zonal shift ID associated with the conflict exception.</p>
266
+ */
267
+ zonalShiftId?: string;
268
+ /**
269
+ * @internal
270
+ */
271
+ constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>);
272
+ }
273
+ /**
274
+ * @public
275
+ * <p>The input requested a resource that was not found.</p>
276
+ */
277
+ export declare class ResourceNotFoundException extends __BaseException {
278
+ readonly name: "ResourceNotFoundException";
279
+ readonly $fault: "client";
280
+ /**
281
+ * @internal
282
+ */
283
+ constructor(opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>);
284
+ }
142
285
  /**
143
286
  * @public
144
287
  * @enum
@@ -163,39 +306,39 @@ export interface ZonalShift {
163
306
  zonalShiftId: string | undefined;
164
307
  /**
165
308
  * @public
166
- * <p>The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.</p>
167
- * <p>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>
309
+ * <p>The identifier for the resource to shift away traffic for. The identifier is the Amazon Resource Name (ARN) for the resource.</p>
310
+ * <p>At this time, supported resources are Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.</p>
168
311
  */
169
312
  resourceIdentifier: string | undefined;
170
313
  /**
171
314
  * @public
172
315
  * <p>The Availability Zone that traffic is moved away from for a resource when you start a zonal shift.
173
- * Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the AWS Region.</p>
316
+ * Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the Amazon Web Services Region.</p>
174
317
  */
175
318
  awayFrom: string | undefined;
176
319
  /**
177
320
  * @public
178
- * <p>The expiry time (expiration time) for the zonal shift. A zonal shift is temporary and must be set to expire when you start the zonal shift.
321
+ * <p>The expiry time (expiration time) for a customer-started zonal shift. A zonal shift is temporary and must be set to expire when you start the zonal shift.
179
322
  * You can initially set a zonal shift to expire in a maximum of three days (72 hours). However, you can update a zonal shift
180
323
  * to set a new expiration at any time. </p>
181
- * <p>When you start a zonal shift, you specify how long you want it to be active, which Route 53 ARC converts
182
- * to an expiry time (expiration time). You can cancel a zonal shift, for example, if you're ready to restore traffic to the Availability Zone. Or you
183
- * can update the zonal shift to specify another length of time to expire in.</p>
324
+ * <p>When you start a zonal shift, you specify how long you want it to be active, which Route 53 ARC converts
325
+ * to an expiry time (expiration time). You can cancel a zonal shift when you're ready to restore traffic to the Availability Zone, or
326
+ * just wait for it to expire. Or you can update the zonal shift to specify another length of time to expire in.</p>
184
327
  */
185
328
  expiryTime: Date | undefined;
186
329
  /**
187
330
  * @public
188
- * <p>The time (UTC) when the zonal shift is started.</p>
331
+ * <p>The time (UTC) when the zonal shift starts.</p>
189
332
  */
190
333
  startTime: Date | undefined;
191
334
  /**
192
335
  * @public
193
336
  * <p>A status for a zonal shift.</p>
194
- * <p>The <code>Status</code> for a zonal shift can have one of the following values:</p>
195
- * <ul>
337
+ * <p>The <code>Status</code> for a zonal shift can have one of the following values:</p>
338
+ * <ul>
196
339
  * <li>
197
340
  * <p>
198
- * <b>ACTIVE:</b> The zonal shift is started and active.</p>
341
+ * <b>ACTIVE:</b> The zonal shift has been started and active.</p>
199
342
  * </li>
200
343
  * <li>
201
344
  * <p>
@@ -215,17 +358,238 @@ export interface ZonalShift {
215
358
  */
216
359
  comment: string | undefined;
217
360
  }
361
+ /**
362
+ * @public
363
+ * @enum
364
+ */
365
+ export declare const ControlConditionType: {
366
+ readonly CLOUDWATCH: "CLOUDWATCH";
367
+ };
368
+ /**
369
+ * @public
370
+ */
371
+ export type ControlConditionType = (typeof ControlConditionType)[keyof typeof ControlConditionType];
372
+ /**
373
+ * @public
374
+ * <p>A control condition is an alarm that you specify for a practice run. When you configure practice runs
375
+ * with zonal autoshift for a resource, you specify Amazon CloudWatch alarms, which you create in CloudWatch
376
+ * to use with the practice run. The alarms that you specify are an
377
+ * <i>outcome alarm</i>, to monitor application health during practice runs and,
378
+ * optionally, a <i>blocking alarm</i>, to block practice runs from starting.</p>
379
+ * <p>Control condition alarms do not apply for autoshifts.</p>
380
+ * <p>For more information, see
381
+ * <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-autoshift.considerations.html">
382
+ * Considerations when you configure zonal autoshift</a> in the Amazon Route 53 Application Recovery Controller Developer Guide.</p>
383
+ */
384
+ export interface ControlCondition {
385
+ /**
386
+ * @public
387
+ * <p>The type of alarm specified for a practice run. The only valid value is <code>CLOUDWATCH</code>.</p>
388
+ */
389
+ type: ControlConditionType | undefined;
390
+ /**
391
+ * @public
392
+ * <p>The Amazon Resource Name (ARN) for the Amazon CloudWatch alarm that you specify as a control condition for a practice run.</p>
393
+ */
394
+ alarmIdentifier: string | undefined;
395
+ }
396
+ /**
397
+ * @public
398
+ */
399
+ export interface CreatePracticeRunConfigurationRequest {
400
+ /**
401
+ * @public
402
+ * <p>The identifier of the resource to shift away traffic for when a practice
403
+ * run starts a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.</p>
404
+ * <p>At this time, supported resources are Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.</p>
405
+ */
406
+ resourceIdentifier: string | undefined;
407
+ /**
408
+ * @public
409
+ * <p>Optionally, you can block Route 53 ARC from starting practice runs for specific windows of
410
+ * days and times. </p>
411
+ * <p>The format for blocked windows is: DAY:HH:SS-DAY:HH:SS. Keep in mind, when you specify dates,
412
+ * that dates and times for practice runs are in UTC. Also, be aware of potential time adjustments
413
+ * that might be required for daylight saving time differences. Separate multiple blocked windows
414
+ * with spaces.</p>
415
+ * <p>For example, say you run business report summaries three days a week. For
416
+ * this scenario, you might set the following recurring days and times as blocked windows,
417
+ * for example: <code>MON-20:30-21:30 WED-20:30-21:30
418
+ * FRI-20:30-21:30</code>.</p>
419
+ */
420
+ blockedWindows?: string[];
421
+ /**
422
+ * @public
423
+ * <p>Optionally, you can block Route 53 ARC from starting practice runs for a resource
424
+ * on specific calendar dates.</p>
425
+ * <p>The format for blocked dates is: YYYY-MM-DD. Keep in mind, when you specify dates,
426
+ * that dates and times for practice runs are in UTC. Separate multiple blocked
427
+ * dates with spaces.</p>
428
+ * <p>For example, if you have an application update scheduled to launch on May 1, 2024, and
429
+ * you don't want practice runs to shift traffic away at that time, you could set a blocked date
430
+ * for <code>2024-05-01</code>.</p>
431
+ */
432
+ blockedDates?: string[];
433
+ /**
434
+ * @public
435
+ * <p>An Amazon CloudWatch alarm that you can specify for zonal autoshift
436
+ * practice runs. This alarm blocks Route 53 ARC from starting practice run zonal
437
+ * shifts, and ends a practice run that's in progress, when the alarm is in
438
+ * an <code>ALARM</code> state. </p>
439
+ */
440
+ blockingAlarms?: ControlCondition[];
441
+ /**
442
+ * @public
443
+ * <p>The <i>outcome alarm</i> for practice runs is a required
444
+ * Amazon CloudWatch alarm that you specify that ends a practice run when the
445
+ * alarm is in an <code>ALARM</code> state.</p>
446
+ * <p>Configure the alarm to monitor the health of your application
447
+ * when traffic is shifted away from an Availability Zone during each weekly
448
+ * practice run. You should configure the alarm to go into an <code>ALARM</code> state
449
+ * if your application is impacted by the zonal shift, and you want to stop the
450
+ * zonal shift, to let traffic for the resource return to the Availability Zone.</p>
451
+ */
452
+ outcomeAlarms: ControlCondition[] | undefined;
453
+ }
454
+ /**
455
+ * @public
456
+ * <p>A practice run configuration for a resource includes the Amazon CloudWatch alarms that you've specified for a practice
457
+ * run, as well as any blocked dates or blocked windows for the practice run.</p>
458
+ * <p>You can update or delete a practice run configuration. Before you delete a practice run configuration, you
459
+ * must disable zonal autoshift for the resource. A practice run configuration is required when zonal autoshift is enabled.</p>
460
+ */
461
+ export interface PracticeRunConfiguration {
462
+ /**
463
+ * @public
464
+ * <p>The <i>blocking alarm</i> for practice runs is an optional alarm that you can
465
+ * specify that blocks practice runs when the alarm is in an <code>ALARM</code> state.</p>
466
+ */
467
+ blockingAlarms?: ControlCondition[];
468
+ /**
469
+ * @public
470
+ * <p>The <i>outcome alarm</i> for practice runs is an alarm that you specify that
471
+ * ends a practice run when the alarm is in an <code>ALARM</code> state.</p>
472
+ */
473
+ outcomeAlarms: ControlCondition[] | undefined;
474
+ /**
475
+ * @public
476
+ * <p>An array of one or more windows of days and times that you can block Route 53 ARC
477
+ * from starting practice runs for a resource.</p>
478
+ * <p>Specify the blocked windows in UTC, using the format <code>DAY:HH:MM-DAY:HH:MM</code>, separated by
479
+ * spaces. For example, <code>MON:18:30-MON:19:30 TUE:18:30-TUE:19:30</code>.</p>
480
+ */
481
+ blockedWindows?: string[];
482
+ /**
483
+ * @public
484
+ * <p>An array of one or more dates that you can specify when Amazon Web Services does not start practice runs for a resource.</p>
485
+ * <p>Specify blocked dates, in UTC, in the format <code>YYYY-MM-DD</code>, separated by spaces. </p>
486
+ */
487
+ blockedDates?: string[];
488
+ }
489
+ /**
490
+ * @public
491
+ * @enum
492
+ */
493
+ export declare const ZonalAutoshiftStatus: {
494
+ readonly DISABLED: "DISABLED";
495
+ readonly ENABLED: "ENABLED";
496
+ };
497
+ /**
498
+ * @public
499
+ */
500
+ export type ZonalAutoshiftStatus = (typeof ZonalAutoshiftStatus)[keyof typeof ZonalAutoshiftStatus];
501
+ /**
502
+ * @public
503
+ */
504
+ export interface CreatePracticeRunConfigurationResponse {
505
+ /**
506
+ * @public
507
+ * <p>The Amazon Resource Name (ARN) of the resource that you configured the practice
508
+ * run for.</p>
509
+ */
510
+ arn: string | undefined;
511
+ /**
512
+ * @public
513
+ * <p>The name of the resource that you configured the practice run for. </p>
514
+ */
515
+ name: string | undefined;
516
+ /**
517
+ * @public
518
+ * <p>The status for zonal autoshift for a resource. When you specify the
519
+ * autoshift status as <code>ENABLED</code>, Amazon Web Services shifts traffic
520
+ * away from shifts away application resource traffic from an Availability Zone,
521
+ * on your behalf, when Amazon Web Services determines that there's an issue in
522
+ * the Availability Zone that could potentially affect customers.</p>
523
+ * <p>When you enable zonal autoshift, you must also configure practice runs for
524
+ * the resource.</p>
525
+ */
526
+ zonalAutoshiftStatus: ZonalAutoshiftStatus | undefined;
527
+ /**
528
+ * @public
529
+ * <p>A practice run configuration for a resource. Configurations include the
530
+ * outcome alarm that you specify for practice runs, and, optionally, a
531
+ * blocking alarm and blocking dates and windows.</p>
532
+ */
533
+ practiceRunConfiguration: PracticeRunConfiguration | undefined;
534
+ }
535
+ /**
536
+ * @public
537
+ */
538
+ export interface DeletePracticeRunConfigurationRequest {
539
+ /**
540
+ * @public
541
+ * <p>The identifier for the resource that you want to delete the practice
542
+ * run configuration for. The identifier is the Amazon Resource Name (ARN) for the resource.</p>
543
+ */
544
+ resourceIdentifier: string | undefined;
545
+ }
546
+ /**
547
+ * @public
548
+ */
549
+ export interface DeletePracticeRunConfigurationResponse {
550
+ /**
551
+ * @public
552
+ * <p>The Amazon Resource Name (ARN) of the resource that you deleted the practice
553
+ * run for.</p>
554
+ */
555
+ arn: string | undefined;
556
+ /**
557
+ * @public
558
+ * <p>The name of the resource that you deleted the practice
559
+ * run for. </p>
560
+ */
561
+ name: string | undefined;
562
+ /**
563
+ * @public
564
+ * <p>The status of zonal autoshift for the resource.</p>
565
+ */
566
+ zonalAutoshiftStatus: ZonalAutoshiftStatus | undefined;
567
+ }
218
568
  /**
219
569
  * @public
220
570
  */
221
571
  export interface GetManagedResourceRequest {
222
572
  /**
223
573
  * @public
224
- * <p>The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.</p>
225
- * <p>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>
574
+ * <p>The identifier for the resource to shift away traffic for. The identifier is the Amazon Resource Name (ARN) for the resource.</p>
575
+ * <p>At this time, supported resources are Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.</p>
226
576
  */
227
577
  resourceIdentifier: string | undefined;
228
578
  }
579
+ /**
580
+ * @public
581
+ * @enum
582
+ */
583
+ export declare const PracticeRunOutcome: {
584
+ readonly FAILED: "FAILED";
585
+ readonly INTERRUPTED: "INTERRUPTED";
586
+ readonly PENDING: "PENDING";
587
+ readonly SUCCEEDED: "SUCCEEDED";
588
+ };
589
+ /**
590
+ * @public
591
+ */
592
+ export type PracticeRunOutcome = (typeof PracticeRunOutcome)[keyof typeof PracticeRunOutcome];
229
593
  /**
230
594
  * @public
231
595
  * <p>A complex structure that lists the zonal shifts for a managed resource and their statuses for the resource.</p>
@@ -233,8 +597,18 @@ export interface GetManagedResourceRequest {
233
597
  export interface ZonalShiftInResource {
234
598
  /**
235
599
  * @public
236
- * <p>An <code>appliedStatus</code> for a zonal shift for a resource can have one of two values: <code>APPLIED</code>
237
- * or <code>NOT_APPLIED</code>. </p>
600
+ * <p>The <code>appliedStatus</code> field specifies which application traffic shift is in effect for a
601
+ * resource when there is more than one traffic shift active. There can be more than one application traffic
602
+ * shift in progress at the same time - that is, practice run zonal shifts, customer-started zonal shifts,
603
+ * or an autoshift. The <code>appliedStatus</code> field for an autoshift for a resource can have one of two
604
+ * values: <code>APPLIED</code> or <code>NOT_APPLIED</code>. The zonal shift or autoshift
605
+ * that is currently in effect for the resource has an applied status set to <code>APPLIED</code>.</p>
606
+ * <p>The overall principle for precedence is that zonal shifts that you start as a customer take precedence
607
+ * autoshifts, which take precedence over practice runs. That is, customer-started zonal shifts &gt; autoshifts &gt; practice run
608
+ * zonal shifts.</p>
609
+ * <p>For more information, see
610
+ * <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-autoshift.how-it-works.html">How zonal autoshift
611
+ * and practice runs work</a> in the Amazon Route 53 Application Recovery Controller Developer Guide.</p>
238
612
  */
239
613
  appliedStatus: AppliedStatus | undefined;
240
614
  /**
@@ -245,28 +619,28 @@ export interface ZonalShiftInResource {
245
619
  /**
246
620
  * @public
247
621
  * <p>The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.</p>
248
- * <p>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>
622
+ * <p>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>
249
623
  */
250
624
  resourceIdentifier: string | undefined;
251
625
  /**
252
626
  * @public
253
627
  * <p>The Availability Zone that traffic is moved away from for a resource when you start a zonal shift.
254
- * Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the AWS Region.</p>
628
+ * Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the Amazon Web Services Region.</p>
255
629
  */
256
630
  awayFrom: string | undefined;
257
631
  /**
258
632
  * @public
259
- * <p>The expiry time (expiration time) for the zonal shift. A zonal shift is temporary and must be set to expire when you start the zonal shift.
633
+ * <p>The expiry time (expiration time) for a customer-started zonal shift. A zonal shift is temporary and must be set to expire when you start the zonal shift.
260
634
  * You can initially set a zonal shift to expire in a maximum of three days (72 hours). However, you can update a zonal shift
261
635
  * to set a new expiration at any time. </p>
262
- * <p>When you start a zonal shift, you specify how long you want it to be active, which Route 53 ARC converts
263
- * to an expiry time (expiration time). You can cancel a zonal shift, for example, if you're ready to restore traffic to the Availability Zone. Or you
264
- * can update the zonal shift to specify another length of time to expire in.</p>
636
+ * <p>When you start a zonal shift, you specify how long you want it to be active, which Route 53 ARC converts
637
+ * to an expiry time (expiration time). You can cancel a zonal shift when you're ready to restore traffic to the Availability Zone, or
638
+ * just wait for it to expire. Or you can update the zonal shift to specify another length of time to expire in.</p>
265
639
  */
266
640
  expiryTime: Date | undefined;
267
641
  /**
268
642
  * @public
269
- * <p>The time (UTC) when the zonal shift is started.</p>
643
+ * <p>The time (UTC) when the zonal shift starts.</p>
270
644
  */
271
645
  startTime: Date | undefined;
272
646
  /**
@@ -275,6 +649,37 @@ export interface ZonalShiftInResource {
275
649
  * history is maintained. That is, a new comment overwrites any existing comment string.</p>
276
650
  */
277
651
  comment: string | undefined;
652
+ /**
653
+ * @public
654
+ * <p>The outcome, or end state, returned for a practice run. The following values can be returned:</p>
655
+ * <ul>
656
+ * <li>
657
+ * <p>
658
+ * <b>PENDING:</b> Outcome value when a practice run is in progress.</p>
659
+ * </li>
660
+ * <li>
661
+ * <p>
662
+ * <b>SUCCEEDED:</b> Outcome value when the outcome alarm specified for
663
+ * the practice run configuration does not go into an <code>ALARM</code> state during the practice run, and the practice run
664
+ * was not interrupted before it completed the expected 30 minute zonal shift.</p>
665
+ * </li>
666
+ * <li>
667
+ * <p>
668
+ * <b>INTERRUPTED:</b> Outcome value when the practice run was stopped before the
669
+ * expected 30 minute zonal shift duration, or there was another problem with the practice run that created an inconclusive outcome.</p>
670
+ * </li>
671
+ * <li>
672
+ * <p>
673
+ * <b>FAILED:</b> Outcome value when the outcome alarm specified for
674
+ * the practice run configuration goes into an <code>ALARM</code> state during the practice run, and the practice run
675
+ * was not interrupted before it completed.</p>
676
+ * </li>
677
+ * </ul>
678
+ * <p>For more information about practice run outcomes, see
679
+ * <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-autoshift.configure.html">
680
+ * Considerations when you configure zonal autoshift</a> in the Amazon Route 53 Application Recovery Controller Developer Guide.</p>
681
+ */
682
+ practiceRunOutcome?: PracticeRunOutcome;
278
683
  }
279
684
  /**
280
685
  * @public
@@ -301,6 +706,26 @@ export interface GetManagedResourceResponse {
301
706
  * <p>The zonal shifts that are currently active for a resource. </p>
302
707
  */
303
708
  zonalShifts: ZonalShiftInResource[] | undefined;
709
+ /**
710
+ * @public
711
+ * <p>An array of the autoshifts that are active for the resource.</p>
712
+ */
713
+ autoshifts?: AutoshiftInResource[];
714
+ /**
715
+ * @public
716
+ * <p>The practice run configuration for zonal autoshift that's associated with
717
+ * the resource.</p>
718
+ */
719
+ practiceRunConfiguration?: PracticeRunConfiguration;
720
+ /**
721
+ * @public
722
+ * <p>The status for zonal autoshift for a resource. When the
723
+ * autoshift status is <code>ENABLED</code>, Amazon Web Services shifts traffic
724
+ * for a resource away from an Availability Zone, on your behalf, when
725
+ * Amazon Web Services determines that there's an issue in
726
+ * the Availability Zone that could potentially affect customers.</p>
727
+ */
728
+ zonalAutoshiftStatus?: ZonalAutoshiftStatus;
304
729
  }
305
730
  /**
306
731
  * @public
@@ -321,11 +746,14 @@ export interface ListManagedResourcesRequest {
321
746
  }
322
747
  /**
323
748
  * @public
324
- * <p>A complex structure for a managed resource in an account.</p>
325
- * <p>A managed resource is a Network Load Balancer or Application Load Balancer that has been registered with Route 53 ARC by Elastic Load Balancing. You can start a
326
- * zonal shift in Route 53 ARC for a managed resource to temporarily move traffic for the resource away from an Availability Zone in an AWS Region.</p>
327
- * <note>
328
- * <p>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>
749
+ * <p>A complex structure for a managed resource in an Amazon Web Services account with information about zonal shifts
750
+ * and autoshifts.</p>
751
+ * <p>A managed resource is a load balancer that has been registered
752
+ * with Route 53 ARC by Elastic Load Balancing. You can start a zonal shift in Route 53 ARC for a managed resource to
753
+ * temporarily move traffic for the resource away from an Availability Zone in an Amazon Web Services Region.
754
+ * You can also configure zonal autoshift for a managed resource.</p>
755
+ * <note>
756
+ * <p>At this time, managed resources are Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.</p>
329
757
  * </note>
330
758
  */
331
759
  export interface ManagedResourceSummary {
@@ -344,6 +772,38 @@ export interface ManagedResourceSummary {
344
772
  * <p>The Availability Zones that a resource is deployed in.</p>
345
773
  */
346
774
  availabilityZones: string[] | undefined;
775
+ /**
776
+ * @public
777
+ * <p>A collection of key-value pairs that indicate whether resources are active in Availability Zones or not.
778
+ * The key name is the Availability Zone where the resource is deployed. The value is 1 or 0.</p>
779
+ */
780
+ appliedWeights?: Record<string, number>;
781
+ /**
782
+ * @public
783
+ * <p>An array of the zonal shifts for a resource.</p>
784
+ */
785
+ zonalShifts?: ZonalShiftInResource[];
786
+ /**
787
+ * @public
788
+ * <p>An array of the autoshifts that have been completed for a resource.</p>
789
+ */
790
+ autoshifts?: AutoshiftInResource[];
791
+ /**
792
+ * @public
793
+ * <p>The status of autoshift for a resource. When you configure zonal autoshift for a
794
+ * resource, you can set the value of the status to <code>ENABLED</code> or <code>DISABLED</code>.</p>
795
+ */
796
+ zonalAutoshiftStatus?: ZonalAutoshiftStatus;
797
+ /**
798
+ * @public
799
+ * <p>This status tracks whether a practice run configuration exists for a resource. When you configure
800
+ * a practice run for a resource so that a practice run configuration exists, Route 53 ARC sets this value to
801
+ * <code>ENABLED</code>. If a you have not configured a practice run for the resource, or delete a practice
802
+ * run configuration, Route 53 ARC sets the value to <code>DISABLED</code>.</p>
803
+ * <p>Route 53 ARC updates this status; you can't set a practice run status to <code>ENABLED</code> or
804
+ * <code>DISABLED</code>.</p>
805
+ */
806
+ practiceRunStatus?: ZonalAutoshiftStatus;
347
807
  }
348
808
  /**
349
809
  * @public
@@ -376,11 +836,11 @@ export interface ListZonalShiftsRequest {
376
836
  /**
377
837
  * @public
378
838
  * <p>A status for a zonal shift.</p>
379
- * <p>The <code>Status</code> for a zonal shift can have one of the following values:</p>
380
- * <ul>
839
+ * <p>The <code>Status</code> for a zonal shift can have one of the following values:</p>
840
+ * <ul>
381
841
  * <li>
382
842
  * <p>
383
- * <b>ACTIVE</b>: The zonal shift is started and active.</p>
843
+ * <b>ACTIVE</b>: The zonal shift has been started and active.</p>
384
844
  * </li>
385
845
  * <li>
386
846
  * <p>
@@ -398,17 +858,20 @@ export interface ListZonalShiftsRequest {
398
858
  * <p>The number of objects that you want to return with this call.</p>
399
859
  */
400
860
  maxResults?: number;
861
+ /**
862
+ * @public
863
+ * <p>The identifier for the resource that you want to list zonal shifts for.
864
+ * The identifier is the Amazon Resource Name (ARN) for the resource.</p>
865
+ */
866
+ resourceIdentifier?: string;
401
867
  }
402
868
  /**
403
869
  * @public
404
- * <p>You start a zonal shift to temporarily move load balancer traffic away from an Availability Zone in a AWS Region.
405
- * A zonal shift helps your application recover immediately, for example, from a developer's bad code deployment or from an AWS
406
- * infrastructure failure in a single Availability Zone. You can start a zonal shift in Route 53 ARC only for managed
407
- * resources in your account in an AWS Region. Supported AWS resources are automatically registered with Route 53 ARC.</p>
408
- * <p>Zonal shifts are temporary. A zonal shift can be active for up to three days (72 hours).</p>
409
- * <p>When you start a zonal shift, you specify how long you want it to be active, which Amazon Route 53 Application Recovery Controller converts
410
- * to an expiry time (expiration time). You can cancel a zonal shift, for example, if you're ready to restore traffic to the Availability Zone. Or you
411
- * can extend the zonal shift by updating the expiration so the zonal shift is active longer.</p>
870
+ * <p>Lists information about zonal shifts in Amazon Route 53 Application Recovery Controller, including zonal shifts that you start yourself and zonal shifts that Route 53 ARC starts
871
+ * on your behalf for practice runs with zonal autoshift.</p>
872
+ * <p>Zonal shifts are temporary, including customer-started zonal shifts and the zonal autoshift practice run zonal shifts that
873
+ * Route 53 ARC starts weekly, on your behalf. A zonal shift that a customer starts can be active for up to three days (72 hours). A
874
+ * practice run zonal shift has a 30 minute duration.</p>
412
875
  */
413
876
  export interface ZonalShiftSummary {
414
877
  /**
@@ -419,38 +882,38 @@ export interface ZonalShiftSummary {
419
882
  /**
420
883
  * @public
421
884
  * <p>The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.</p>
422
- * <p>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>
885
+ * <p>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>
423
886
  */
424
887
  resourceIdentifier: string | undefined;
425
888
  /**
426
889
  * @public
427
890
  * <p>The Availability Zone that traffic is moved away from for a resource when you start a zonal shift.
428
- * Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the AWS Region.</p>
891
+ * Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the Amazon Web Services Region.</p>
429
892
  */
430
893
  awayFrom: string | undefined;
431
894
  /**
432
895
  * @public
433
- * <p>The expiry time (expiration time) for the zonal shift. A zonal shift is temporary and must be set to expire when you start the zonal shift.
896
+ * <p>The expiry time (expiration time) for a customer-started zonal shift. A zonal shift is temporary and must be set to expire when you start the zonal shift.
434
897
  * You can initially set a zonal shift to expire in a maximum of three days (72 hours). However, you can update a zonal shift
435
898
  * to set a new expiration at any time. </p>
436
- * <p>When you start a zonal shift, you specify how long you want it to be active, which Route 53 ARC converts
437
- * to an expiry time (expiration time). You can cancel a zonal shift, for example, if you're ready to restore traffic to the Availability Zone. Or you
438
- * can update the zonal shift to specify another length of time to expire in.</p>
899
+ * <p>When you start a zonal shift, you specify how long you want it to be active, which Route 53 ARC converts
900
+ * to an expiry time (expiration time). You can cancel a zonal shift when you're ready to restore traffic to the Availability Zone, or
901
+ * just wait for it to expire. Or you can update the zonal shift to specify another length of time to expire in.</p>
439
902
  */
440
903
  expiryTime: Date | undefined;
441
904
  /**
442
905
  * @public
443
- * <p>The time (UTC) when the zonal shift is started.</p>
906
+ * <p>The time (UTC) when the zonal shift starts.</p>
444
907
  */
445
908
  startTime: Date | undefined;
446
909
  /**
447
910
  * @public
448
911
  * <p>A status for a zonal shift.</p>
449
- * <p>The <code>Status</code> for a zonal shift can have one of the following values:</p>
450
- * <ul>
912
+ * <p>The <code>Status</code> for a zonal shift can have one of the following values:</p>
913
+ * <ul>
451
914
  * <li>
452
915
  * <p>
453
- * <b>ACTIVE:</b> The zonal shift is started and active.</p>
916
+ * <b>ACTIVE:</b> The zonal shift has been started and active.</p>
454
917
  * </li>
455
918
  * <li>
456
919
  * <p>
@@ -469,6 +932,37 @@ export interface ZonalShiftSummary {
469
932
  * history is maintained. That is, a new comment overwrites any existing comment string.</p>
470
933
  */
471
934
  comment: string | undefined;
935
+ /**
936
+ * @public
937
+ * <p>The outcome, or end state, of a practice run. The following values can be returned:</p>
938
+ * <ul>
939
+ * <li>
940
+ * <p>
941
+ * <b>PENDING:</b> Outcome value when the practice run is in progress.</p>
942
+ * </li>
943
+ * <li>
944
+ * <p>
945
+ * <b>SUCCEEDED:</b> Outcome value when the outcome alarm specified for
946
+ * the practice run configuration does not go into an <code>ALARM</code> state during the practice run, and the practice run
947
+ * was not interrupted before it completed.</p>
948
+ * </li>
949
+ * <li>
950
+ * <p>
951
+ * <b>INTERRUPTED:</b> Outcome value when the practice run did not run for the
952
+ * expected 30 minutes or there was another problem with the practice run that created an inconclusive outcome.</p>
953
+ * </li>
954
+ * <li>
955
+ * <p>
956
+ * <b>FAILED:</b> Outcome value when the outcome alarm specified for
957
+ * the practice run configuration goes into an <code>ALARM</code> state during the practice run, and the practice run
958
+ * was not interrupted before it completed.</p>
959
+ * </li>
960
+ * </ul>
961
+ * <p>For more information about practice run outcomes, see
962
+ * <a href="https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-autoshift.configure.html">
963
+ * Considerations when you configure zonal autoshift</a> in the Amazon Route 53 Application Recovery Controller Developer Guide.</p>
964
+ */
965
+ practiceRunOutcome?: PracticeRunOutcome;
472
966
  }
473
967
  /**
474
968
  * @public
@@ -487,6 +981,116 @@ export interface ListZonalShiftsResponse {
487
981
  */
488
982
  nextToken?: string;
489
983
  }
984
+ /**
985
+ * @public
986
+ */
987
+ export interface UpdateZonalAutoshiftConfigurationRequest {
988
+ /**
989
+ * @public
990
+ * <p>The identifier for the resource that you want to update the zonal autoshift
991
+ * configuration for. The identifier is the Amazon Resource Name (ARN) for the resource.</p>
992
+ */
993
+ resourceIdentifier: string | undefined;
994
+ /**
995
+ * @public
996
+ * <p>The zonal autoshift status for the resource that you want to update the zonal
997
+ * autoshift configuration for.</p>
998
+ */
999
+ zonalAutoshiftStatus: ZonalAutoshiftStatus | undefined;
1000
+ }
1001
+ /**
1002
+ * @public
1003
+ */
1004
+ export interface UpdateZonalAutoshiftConfigurationResponse {
1005
+ /**
1006
+ * @public
1007
+ * <p>The identifier for the resource that you updated the zonal autoshift
1008
+ * configuration for. The identifier is the Amazon Resource Name (ARN) for the resource.</p>
1009
+ */
1010
+ resourceIdentifier: string | undefined;
1011
+ /**
1012
+ * @public
1013
+ * <p>The zonal autoshift status for the resource that you updated the zonal
1014
+ * autoshift configuration for.</p>
1015
+ */
1016
+ zonalAutoshiftStatus: ZonalAutoshiftStatus | undefined;
1017
+ }
1018
+ /**
1019
+ * @public
1020
+ */
1021
+ export interface UpdatePracticeRunConfigurationRequest {
1022
+ /**
1023
+ * @public
1024
+ * <p>The identifier for the resource that you want to update the practice
1025
+ * run configuration for. The identifier is the Amazon Resource Name (ARN) for the resource.</p>
1026
+ */
1027
+ resourceIdentifier: string | undefined;
1028
+ /**
1029
+ * @public
1030
+ * <p>Add, change, or remove windows of days and times for when you can, optionally,
1031
+ * block Route 53 ARC from starting a practice run for a resource.</p>
1032
+ * <p>The format for blocked windows is: DAY:HH:SS-DAY:HH:SS. Keep in mind, when you specify dates,
1033
+ * that dates and times for practice runs are in UTC. Also, be aware of potential time adjustments
1034
+ * that might be required for daylight saving time differences. Separate multiple blocked windows
1035
+ * with spaces.</p>
1036
+ * <p>For example, say you run business report summaries three days a week. For
1037
+ * this scenario, you might set the following recurring days and times as blocked windows,
1038
+ * for example: <code>MON-20:30-21:30 WED-20:30-21:30
1039
+ * FRI-20:30-21:30</code>.</p>
1040
+ */
1041
+ blockedWindows?: string[];
1042
+ /**
1043
+ * @public
1044
+ * <p>Add, change, or remove blocked dates for a practice run in zonal autoshift.</p>
1045
+ * <p>Optionally, you can block practice runs for specific calendar dates.
1046
+ * The format for blocked dates is: YYYY-MM-DD. Keep in mind, when you specify dates,
1047
+ * that dates and times for practice runs are in UTC. Separate multiple blocked
1048
+ * dates with spaces.</p>
1049
+ * <p>For example, if you have an application update scheduled to launch on May 1, 2024, and
1050
+ * you don't want practice runs to shift traffic away at that time, you could set a blocked date
1051
+ * for <code>2024-05-01</code>.</p>
1052
+ */
1053
+ blockedDates?: string[];
1054
+ /**
1055
+ * @public
1056
+ * <p>Add, change, or remove the Amazon CloudWatch alarm that you optionally
1057
+ * specify as the blocking alarm for practice runs.</p>
1058
+ */
1059
+ blockingAlarms?: ControlCondition[];
1060
+ /**
1061
+ * @public
1062
+ * <p>Specify a new the Amazon CloudWatch alarm as the outcome alarm for practice runs.</p>
1063
+ */
1064
+ outcomeAlarms?: ControlCondition[];
1065
+ }
1066
+ /**
1067
+ * @public
1068
+ */
1069
+ export interface UpdatePracticeRunConfigurationResponse {
1070
+ /**
1071
+ * @public
1072
+ * <p>The Amazon Resource Name (ARN) of the resource that you updated the practice
1073
+ * run for.</p>
1074
+ */
1075
+ arn: string | undefined;
1076
+ /**
1077
+ * @public
1078
+ * <p>The name of the resource that you updated the practice
1079
+ * run for. </p>
1080
+ */
1081
+ name: string | undefined;
1082
+ /**
1083
+ * @public
1084
+ * <p>The zonal autoshift status for the resource that you updated the practice
1085
+ * run for.</p>
1086
+ */
1087
+ zonalAutoshiftStatus: ZonalAutoshiftStatus | undefined;
1088
+ /**
1089
+ * @public
1090
+ * <p>The practice run configuration that was updated.</p>
1091
+ */
1092
+ practiceRunConfiguration: PracticeRunConfiguration | undefined;
1093
+ }
490
1094
  /**
491
1095
  * @public
492
1096
  */
@@ -506,11 +1110,11 @@ export interface UpdateZonalShiftRequest {
506
1110
  * @public
507
1111
  * <p>The length of time that you want a zonal shift to be active, which Route 53 ARC converts to an expiry time (expiration time).
508
1112
  * Zonal shifts are temporary. You can set a zonal shift to be active initially for up to three days (72 hours).</p>
509
- * <p>If you want to still keep traffic away from an Availability Zone, you can update the
1113
+ * <p>If you want to still keep traffic away from an Availability Zone, you can update the
510
1114
  * zonal shift and set a new expiration. You can also cancel a zonal shift, before it expires, for example, if you're ready to
511
1115
  * restore traffic to the Availability Zone.</p>
512
- * <p>To set a length of time for a zonal shift to be active, specify a whole number, and then one of the following, with no space:</p>
513
- * <ul>
1116
+ * <p>To set a length of time for a zonal shift to be active, specify a whole number, and then one of the following, with no space:</p>
1117
+ * <ul>
514
1118
  * <li>
515
1119
  * <p>
516
1120
  * <b>A lowercase letter m:</b> To specify that the value is in minutes.</p>
@@ -520,7 +1124,7 @@ export interface UpdateZonalShiftRequest {
520
1124
  * <b>A lowercase letter h:</b> To specify that the value is in hours.</p>
521
1125
  * </li>
522
1126
  * </ul>
523
- * <p>For example: <code>20h</code> means the zonal shift expires in 20 hours. <code>120m</code> means the zonal shift expires in 120 minutes (2 hours).</p>
1127
+ * <p>For example: <code>20h</code> means the zonal shift expires in 20 hours. <code>120m</code> means the zonal shift expires in 120 minutes (2 hours).</p>
524
1128
  */
525
1129
  expiresIn?: string;
526
1130
  }
@@ -530,26 +1134,25 @@ export interface UpdateZonalShiftRequest {
530
1134
  export interface StartZonalShiftRequest {
531
1135
  /**
532
1136
  * @public
533
- * <p>The identifier for the resource to include in a zonal shift. The identifier is the Amazon Resource Name (ARN) for the resource.</p>
534
- * <p>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>
1137
+ * <p>The identifier for the resource to shift away traffic for. The identifier is the Amazon Resource Name (ARN) for the resource.</p>
1138
+ * <p>At this time, supported resources are Network Load Balancers and Application Load Balancers with cross-zone load balancing turned off.</p>
535
1139
  */
536
1140
  resourceIdentifier: string | undefined;
537
1141
  /**
538
1142
  * @public
539
1143
  * <p>The Availability Zone that traffic is moved away from for a resource when you start a zonal shift.
540
- * Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the AWS Region.</p>
1144
+ * Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the Amazon Web Services Region.</p>
541
1145
  */
542
1146
  awayFrom: string | undefined;
543
1147
  /**
544
1148
  * @public
545
1149
  * <p>The length of time that you want a zonal shift to be active, which Route 53 ARC converts to an expiry time (expiration time).
546
- * Zonal shifts are temporary. You can set a zonal shift to be active initially for up to three days (72 hours).</p>
547
- * <p>If you want to still keep traffic away from an Availability Zone, you can update the
548
- * zonal shift and set a new expiration. You can also cancel a zonal shift, before it expires, for example, if you're ready to
549
- * restore traffic to the Availability Zone.</p>
550
- * <p>To set a length of time for a zonal shift to be active, specify a whole number, and then one of the following, with no space:</p>
551
- *
552
- * <ul>
1150
+ * Zonal shifts are temporary. You can set a zonal shift to be active initially for up to three days (72 hours).</p>
1151
+ * <p>If you want to still keep traffic away from an Availability Zone, you can update the
1152
+ * zonal shift and set a new expiration. You can also cancel a zonal shift, before it expires, for example, if you're ready to
1153
+ * restore traffic to the Availability Zone.</p>
1154
+ * <p>To set a length of time for a zonal shift to be active, specify a whole number, and then one of the following, with no space:</p>
1155
+ * <ul>
553
1156
  * <li>
554
1157
  * <p>
555
1158
  * <b>A lowercase letter m:</b> To specify that the value is in minutes.</p>
@@ -559,7 +1162,7 @@ export interface StartZonalShiftRequest {
559
1162
  * <b>A lowercase letter h:</b> To specify that the value is in hours.</p>
560
1163
  * </li>
561
1164
  * </ul>
562
- * <p>For example: <code>20h</code> means the zonal shift expires in 20 hours. <code>120m</code> means the zonal shift expires in 120 minutes (2 hours).</p>
1165
+ * <p>For example: <code>20h</code> means the zonal shift expires in 20 hours. <code>120m</code> means the zonal shift expires in 120 minutes (2 hours).</p>
563
1166
  */
564
1167
  expiresIn: string | undefined;
565
1168
  /**