Skip to content

Commit dbe0a58

Browse files
author
awstools
committed
feat(client-route-53): Adds support for new route53 feature: accelerated recovery.
1 parent 7d70b06 commit dbe0a58

File tree

14 files changed

+466
-10
lines changed

14 files changed

+466
-10
lines changed

clients/client-route-53/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -762,6 +762,14 @@ UpdateHostedZoneComment
762762

763763
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/route-53/command/UpdateHostedZoneCommentCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-route-53/Interface/UpdateHostedZoneCommentCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-route-53/Interface/UpdateHostedZoneCommentCommandOutput/)
764764

765+
</details>
766+
<details>
767+
<summary>
768+
UpdateHostedZoneFeatures
769+
</summary>
770+
771+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/route-53/command/UpdateHostedZoneFeaturesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-route-53/Interface/UpdateHostedZoneFeaturesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-route-53/Interface/UpdateHostedZoneFeaturesCommandOutput/)
772+
765773
</details>
766774
<details>
767775
<summary>

clients/client-route-53/src/Route53.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,11 @@ import {
334334
UpdateHostedZoneCommentCommandInput,
335335
UpdateHostedZoneCommentCommandOutput,
336336
} from "./commands/UpdateHostedZoneCommentCommand";
337+
import {
338+
UpdateHostedZoneFeaturesCommand,
339+
UpdateHostedZoneFeaturesCommandInput,
340+
UpdateHostedZoneFeaturesCommandOutput,
341+
} from "./commands/UpdateHostedZoneFeaturesCommand";
337342
import {
338343
UpdateTrafficPolicyCommentCommand,
339344
UpdateTrafficPolicyCommentCommandInput,
@@ -415,6 +420,7 @@ const commands = {
415420
TestDNSAnswerCommand,
416421
UpdateHealthCheckCommand,
417422
UpdateHostedZoneCommentCommand,
423+
UpdateHostedZoneFeaturesCommand,
418424
UpdateTrafficPolicyCommentCommand,
419425
UpdateTrafficPolicyInstanceCommand,
420426
};
@@ -1551,6 +1557,23 @@ export interface Route53 {
15511557
cb: (err: any, data?: UpdateHostedZoneCommentCommandOutput) => void
15521558
): void;
15531559

1560+
/**
1561+
* @see {@link UpdateHostedZoneFeaturesCommand}
1562+
*/
1563+
updateHostedZoneFeatures(
1564+
args: UpdateHostedZoneFeaturesCommandInput,
1565+
options?: __HttpHandlerOptions
1566+
): Promise<UpdateHostedZoneFeaturesCommandOutput>;
1567+
updateHostedZoneFeatures(
1568+
args: UpdateHostedZoneFeaturesCommandInput,
1569+
cb: (err: any, data?: UpdateHostedZoneFeaturesCommandOutput) => void
1570+
): void;
1571+
updateHostedZoneFeatures(
1572+
args: UpdateHostedZoneFeaturesCommandInput,
1573+
options: __HttpHandlerOptions,
1574+
cb: (err: any, data?: UpdateHostedZoneFeaturesCommandOutput) => void
1575+
): void;
1576+
15541577
/**
15551578
* @see {@link UpdateTrafficPolicyCommentCommand}
15561579
*/

clients/client-route-53/src/Route53Client.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,10 @@ import {
266266
UpdateHostedZoneCommentCommandInput,
267267
UpdateHostedZoneCommentCommandOutput,
268268
} from "./commands/UpdateHostedZoneCommentCommand";
269+
import {
270+
UpdateHostedZoneFeaturesCommandInput,
271+
UpdateHostedZoneFeaturesCommandOutput,
272+
} from "./commands/UpdateHostedZoneFeaturesCommand";
269273
import {
270274
UpdateTrafficPolicyCommentCommandInput,
271275
UpdateTrafficPolicyCommentCommandOutput,
@@ -357,6 +361,7 @@ export type ServiceInputTypes =
357361
| TestDNSAnswerCommandInput
358362
| UpdateHealthCheckCommandInput
359363
| UpdateHostedZoneCommentCommandInput
364+
| UpdateHostedZoneFeaturesCommandInput
360365
| UpdateTrafficPolicyCommentCommandInput
361366
| UpdateTrafficPolicyInstanceCommandInput;
362367

@@ -432,6 +437,7 @@ export type ServiceOutputTypes =
432437
| TestDNSAnswerCommandOutput
433438
| UpdateHealthCheckCommandOutput
434439
| UpdateHostedZoneCommentCommandOutput
440+
| UpdateHostedZoneFeaturesCommandOutput
435441
| UpdateTrafficPolicyCommentCommandOutput
436442
| UpdateTrafficPolicyInstanceCommandOutput;
437443

clients/client-route-53/src/commands/CreateHostedZoneCommand.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,12 @@ export interface CreateHostedZoneCommandOutput extends CreateHostedZoneResponse,
128128
* // ServicePrincipal: "STRING_VALUE",
129129
* // Description: "STRING_VALUE",
130130
* // },
131+
* // Features: { // HostedZoneFeatures
132+
* // AcceleratedRecoveryStatus: "ENABLING" || "ENABLE_FAILED" || "ENABLING_HOSTED_ZONE_LOCKED" || "ENABLED" || "DISABLING" || "DISABLE_FAILED" || "DISABLED" || "DISABLING_HOSTED_ZONE_LOCKED",
133+
* // FailureReasons: { // HostedZoneFailureReasons
134+
* // AcceleratedRecovery: "STRING_VALUE",
135+
* // },
136+
* // },
131137
* // },
132138
* // ChangeInfo: { // ChangeInfo
133139
* // Id: "STRING_VALUE", // required

clients/client-route-53/src/commands/GetHostedZoneCommand.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,12 @@ export interface GetHostedZoneCommandOutput extends GetHostedZoneResponse, __Met
6060
* // ServicePrincipal: "STRING_VALUE",
6161
* // Description: "STRING_VALUE",
6262
* // },
63+
* // Features: { // HostedZoneFeatures
64+
* // AcceleratedRecoveryStatus: "ENABLING" || "ENABLE_FAILED" || "ENABLING_HOSTED_ZONE_LOCKED" || "ENABLED" || "DISABLING" || "DISABLE_FAILED" || "DISABLED" || "DISABLING_HOSTED_ZONE_LOCKED",
65+
* // FailureReasons: { // HostedZoneFailureReasons
66+
* // AcceleratedRecovery: "STRING_VALUE",
67+
* // },
68+
* // },
6369
* // },
6470
* // DelegationSet: { // DelegationSet
6571
* // Id: "STRING_VALUE",

clients/client-route-53/src/commands/ListHostedZonesByNameCommand.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,12 @@ export interface ListHostedZonesByNameCommandOutput extends ListHostedZonesByNam
114114
* // ServicePrincipal: "STRING_VALUE",
115115
* // Description: "STRING_VALUE",
116116
* // },
117+
* // Features: { // HostedZoneFeatures
118+
* // AcceleratedRecoveryStatus: "ENABLING" || "ENABLE_FAILED" || "ENABLING_HOSTED_ZONE_LOCKED" || "ENABLED" || "DISABLING" || "DISABLE_FAILED" || "DISABLED" || "DISABLING_HOSTED_ZONE_LOCKED",
119+
* // FailureReasons: { // HostedZoneFailureReasons
120+
* // AcceleratedRecovery: "STRING_VALUE",
121+
* // },
122+
* // },
117123
* // },
118124
* // ],
119125
* // DNSName: "STRING_VALUE",

clients/client-route-53/src/commands/ListHostedZonesCommand.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,12 @@ export interface ListHostedZonesCommandOutput extends ListHostedZonesResponse, _
6565
* // ServicePrincipal: "STRING_VALUE",
6666
* // Description: "STRING_VALUE",
6767
* // },
68+
* // Features: { // HostedZoneFeatures
69+
* // AcceleratedRecoveryStatus: "ENABLING" || "ENABLE_FAILED" || "ENABLING_HOSTED_ZONE_LOCKED" || "ENABLED" || "DISABLING" || "DISABLE_FAILED" || "DISABLED" || "DISABLING_HOSTED_ZONE_LOCKED",
70+
* // FailureReasons: { // HostedZoneFailureReasons
71+
* // AcceleratedRecovery: "STRING_VALUE",
72+
* // },
73+
* // },
6874
* // },
6975
* // ],
7076
* // Marker: "STRING_VALUE", // required

clients/client-route-53/src/commands/UpdateHostedZoneCommentCommand.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,12 @@ export interface UpdateHostedZoneCommentCommandOutput extends UpdateHostedZoneCo
5757
* // ServicePrincipal: "STRING_VALUE",
5858
* // Description: "STRING_VALUE",
5959
* // },
60+
* // Features: { // HostedZoneFeatures
61+
* // AcceleratedRecoveryStatus: "ENABLING" || "ENABLE_FAILED" || "ENABLING_HOSTED_ZONE_LOCKED" || "ENABLED" || "DISABLING" || "DISABLE_FAILED" || "DISABLED" || "DISABLING_HOSTED_ZONE_LOCKED",
62+
* // FailureReasons: { // HostedZoneFailureReasons
63+
* // AcceleratedRecovery: "STRING_VALUE",
64+
* // },
65+
* // },
6066
* // },
6167
* // };
6268
*
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
// smithy-typescript generated code
2+
import { getIdNormalizerPlugin } from "@aws-sdk/middleware-sdk-route53";
3+
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
4+
import { Command as $Command } from "@smithy/smithy-client";
5+
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
6+
7+
import { commonParams } from "../endpoint/EndpointParameters";
8+
import { UpdateHostedZoneFeaturesRequest, UpdateHostedZoneFeaturesResponse } from "../models/models_0";
9+
import { Route53ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../Route53Client";
10+
import { UpdateHostedZoneFeatures } from "../schemas/schemas_0";
11+
12+
/**
13+
* @public
14+
*/
15+
export type { __MetadataBearer };
16+
export { $Command };
17+
/**
18+
* @public
19+
*
20+
* The input for {@link UpdateHostedZoneFeaturesCommand}.
21+
*/
22+
export interface UpdateHostedZoneFeaturesCommandInput extends UpdateHostedZoneFeaturesRequest {}
23+
/**
24+
* @public
25+
*
26+
* The output of {@link UpdateHostedZoneFeaturesCommand}.
27+
*/
28+
export interface UpdateHostedZoneFeaturesCommandOutput extends UpdateHostedZoneFeaturesResponse, __MetadataBearer {}
29+
30+
/**
31+
* <p>Updates the features configuration for a hosted zone. This operation allows you to enable or disable specific features for your hosted zone, such as accelerated recovery.</p>
32+
* <p>Accelerated recovery enables you to update DNS records in your public hosted zone even when the us-east-1 region is unavailable.</p>
33+
* @example
34+
* Use a bare-bones client and the command you need to make an API call.
35+
* ```javascript
36+
* import { Route53Client, UpdateHostedZoneFeaturesCommand } from "@aws-sdk/client-route-53"; // ES Modules import
37+
* // const { Route53Client, UpdateHostedZoneFeaturesCommand } = require("@aws-sdk/client-route-53"); // CommonJS import
38+
* // import type { Route53ClientConfig } from "@aws-sdk/client-route-53";
39+
* const config = {}; // type is Route53ClientConfig
40+
* const client = new Route53Client(config);
41+
* const input = { // UpdateHostedZoneFeaturesRequest
42+
* HostedZoneId: "STRING_VALUE", // required
43+
* EnableAcceleratedRecovery: true || false,
44+
* };
45+
* const command = new UpdateHostedZoneFeaturesCommand(input);
46+
* const response = await client.send(command);
47+
* // {};
48+
*
49+
* ```
50+
*
51+
* @param UpdateHostedZoneFeaturesCommandInput - {@link UpdateHostedZoneFeaturesCommandInput}
52+
* @returns {@link UpdateHostedZoneFeaturesCommandOutput}
53+
* @see {@link UpdateHostedZoneFeaturesCommandInput} for command's `input` shape.
54+
* @see {@link UpdateHostedZoneFeaturesCommandOutput} for command's `response` shape.
55+
* @see {@link Route53ClientResolvedConfig | config} for Route53Client's `config` shape.
56+
*
57+
* @throws {@link InvalidInput} (client fault)
58+
* <p>The input is not valid.</p>
59+
*
60+
* @throws {@link LimitsExceeded} (client fault)
61+
* <p>This operation can't be completed because the current account has reached the
62+
* limit on the resource you are trying to create. To request a higher limit, <a href="http://aws.amazon.com/route53-request">create a case</a> with the Amazon Web Services Support
63+
* Center.</p>
64+
*
65+
* @throws {@link NoSuchHostedZone} (client fault)
66+
* <p>No hosted zone exists with the ID that you specified.</p>
67+
*
68+
* @throws {@link PriorRequestNotComplete} (client fault)
69+
* <p>If Amazon Route 53 can't process a request before the next request arrives, it will
70+
* reject subsequent requests for the same hosted zone and return an <code>HTTP 400
71+
* error</code> (<code>Bad request</code>). If Route 53 returns this error repeatedly
72+
* for the same request, we recommend that you wait, in intervals of increasing duration,
73+
* before you try the request again.</p>
74+
*
75+
* @throws {@link Route53ServiceException}
76+
* <p>Base exception class for all service exceptions from Route53 service.</p>
77+
*
78+
*
79+
* @public
80+
*/
81+
export class UpdateHostedZoneFeaturesCommand extends $Command
82+
.classBuilder<
83+
UpdateHostedZoneFeaturesCommandInput,
84+
UpdateHostedZoneFeaturesCommandOutput,
85+
Route53ClientResolvedConfig,
86+
ServiceInputTypes,
87+
ServiceOutputTypes
88+
>()
89+
.ep(commonParams)
90+
.m(function (this: any, Command: any, cs: any, config: Route53ClientResolvedConfig, o: any) {
91+
return [getEndpointPlugin(config, Command.getEndpointParameterInstructions()), getIdNormalizerPlugin(config)];
92+
})
93+
.s("AWSDnsV20130401", "UpdateHostedZoneFeatures", {})
94+
.n("Route53Client", "UpdateHostedZoneFeaturesCommand")
95+
.sc(UpdateHostedZoneFeatures)
96+
.build() {
97+
/** @internal type navigation helper, not in runtime. */
98+
protected declare static __types: {
99+
api: {
100+
input: UpdateHostedZoneFeaturesRequest;
101+
output: {};
102+
};
103+
sdk: {
104+
input: UpdateHostedZoneFeaturesCommandInput;
105+
output: UpdateHostedZoneFeaturesCommandOutput;
106+
};
107+
};
108+
}

clients/client-route-53/src/commands/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,5 +67,6 @@ export * from "./ListVPCAssociationAuthorizationsCommand";
6767
export * from "./TestDNSAnswerCommand";
6868
export * from "./UpdateHealthCheckCommand";
6969
export * from "./UpdateHostedZoneCommentCommand";
70+
export * from "./UpdateHostedZoneFeaturesCommand";
7071
export * from "./UpdateTrafficPolicyCommentCommand";
7172
export * from "./UpdateTrafficPolicyInstanceCommand";

0 commit comments

Comments
 (0)