Skip to content

Commit 5fb127b

Browse files
author
awstools
committed
feat(client-trustedadvisor): This release adds the BatchUpdateRecommendationResourceExclusion API to support batch updates of Recommendation Resource exclusion statuses and introduces a new exclusion status filter to the ListRecommendationResources and ListOrganizationRecommendationResources APIs.
1 parent 4f7a643 commit 5fb127b

11 files changed

+763
-222
lines changed

clients/client-trustedadvisor/README.md

+8
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,14 @@ see LICENSE for more information.
203203

204204
## Client Commands (Operations List)
205205

206+
<details>
207+
<summary>
208+
BatchUpdateRecommendationResourceExclusion
209+
</summary>
210+
211+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/trustedadvisor/command/BatchUpdateRecommendationResourceExclusionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-trustedadvisor/Interface/BatchUpdateRecommendationResourceExclusionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-trustedadvisor/Interface/BatchUpdateRecommendationResourceExclusionCommandOutput/)
212+
213+
</details>
206214
<details>
207215
<summary>
208216
GetOrganizationRecommendation

clients/client-trustedadvisor/src/TrustedAdvisor.ts

+23
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
import { createAggregatedClient } from "@smithy/smithy-client";
33
import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";
44

5+
import {
6+
BatchUpdateRecommendationResourceExclusionCommand,
7+
BatchUpdateRecommendationResourceExclusionCommandInput,
8+
BatchUpdateRecommendationResourceExclusionCommandOutput,
9+
} from "./commands/BatchUpdateRecommendationResourceExclusionCommand";
510
import {
611
GetOrganizationRecommendationCommand,
712
GetOrganizationRecommendationCommandInput,
@@ -51,6 +56,7 @@ import {
5156
import { TrustedAdvisorClient, TrustedAdvisorClientConfig } from "./TrustedAdvisorClient";
5257

5358
const commands = {
59+
BatchUpdateRecommendationResourceExclusionCommand,
5460
GetOrganizationRecommendationCommand,
5561
GetRecommendationCommand,
5662
ListChecksCommand,
@@ -64,6 +70,23 @@ const commands = {
6470
};
6571

6672
export interface TrustedAdvisor {
73+
/**
74+
* @see {@link BatchUpdateRecommendationResourceExclusionCommand}
75+
*/
76+
batchUpdateRecommendationResourceExclusion(
77+
args: BatchUpdateRecommendationResourceExclusionCommandInput,
78+
options?: __HttpHandlerOptions
79+
): Promise<BatchUpdateRecommendationResourceExclusionCommandOutput>;
80+
batchUpdateRecommendationResourceExclusion(
81+
args: BatchUpdateRecommendationResourceExclusionCommandInput,
82+
cb: (err: any, data?: BatchUpdateRecommendationResourceExclusionCommandOutput) => void
83+
): void;
84+
batchUpdateRecommendationResourceExclusion(
85+
args: BatchUpdateRecommendationResourceExclusionCommandInput,
86+
options: __HttpHandlerOptions,
87+
cb: (err: any, data?: BatchUpdateRecommendationResourceExclusionCommandOutput) => void
88+
): void;
89+
6790
/**
6891
* @see {@link GetOrganizationRecommendationCommand}
6992
*/

clients/client-trustedadvisor/src/TrustedAdvisorClient.ts

+6
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ import {
5353
HttpAuthSchemeResolvedConfig,
5454
resolveHttpAuthSchemeConfig,
5555
} from "./auth/httpAuthSchemeProvider";
56+
import {
57+
BatchUpdateRecommendationResourceExclusionCommandInput,
58+
BatchUpdateRecommendationResourceExclusionCommandOutput,
59+
} from "./commands/BatchUpdateRecommendationResourceExclusionCommand";
5660
import {
5761
GetOrganizationRecommendationCommandInput,
5862
GetOrganizationRecommendationCommandOutput,
@@ -102,6 +106,7 @@ export { __Client };
102106
* @public
103107
*/
104108
export type ServiceInputTypes =
109+
| BatchUpdateRecommendationResourceExclusionCommandInput
105110
| GetOrganizationRecommendationCommandInput
106111
| GetRecommendationCommandInput
107112
| ListChecksCommandInput
@@ -117,6 +122,7 @@ export type ServiceInputTypes =
117122
* @public
118123
*/
119124
export type ServiceOutputTypes =
125+
| BatchUpdateRecommendationResourceExclusionCommandOutput
120126
| GetOrganizationRecommendationCommandOutput
121127
| GetRecommendationCommandOutput
122128
| ListChecksCommandOutput
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
// smithy-typescript generated code
2+
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
3+
import { getSerdePlugin } from "@smithy/middleware-serde";
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 {
9+
BatchUpdateRecommendationResourceExclusionRequest,
10+
BatchUpdateRecommendationResourceExclusionResponse,
11+
} from "../models/models_0";
12+
import {
13+
de_BatchUpdateRecommendationResourceExclusionCommand,
14+
se_BatchUpdateRecommendationResourceExclusionCommand,
15+
} from "../protocols/Aws_restJson1";
16+
import { ServiceInputTypes, ServiceOutputTypes, TrustedAdvisorClientResolvedConfig } from "../TrustedAdvisorClient";
17+
18+
/**
19+
* @public
20+
*/
21+
export { __MetadataBearer, $Command };
22+
/**
23+
* @public
24+
*
25+
* The input for {@link BatchUpdateRecommendationResourceExclusionCommand}.
26+
*/
27+
export interface BatchUpdateRecommendationResourceExclusionCommandInput
28+
extends BatchUpdateRecommendationResourceExclusionRequest {}
29+
/**
30+
* @public
31+
*
32+
* The output of {@link BatchUpdateRecommendationResourceExclusionCommand}.
33+
*/
34+
export interface BatchUpdateRecommendationResourceExclusionCommandOutput
35+
extends BatchUpdateRecommendationResourceExclusionResponse,
36+
__MetadataBearer {}
37+
38+
/**
39+
* <p>Update one or more exclusion status for a list of recommendation resources</p>
40+
* @example
41+
* Use a bare-bones client and the command you need to make an API call.
42+
* ```javascript
43+
* import { TrustedAdvisorClient, BatchUpdateRecommendationResourceExclusionCommand } from "@aws-sdk/client-trustedadvisor"; // ES Modules import
44+
* // const { TrustedAdvisorClient, BatchUpdateRecommendationResourceExclusionCommand } = require("@aws-sdk/client-trustedadvisor"); // CommonJS import
45+
* const client = new TrustedAdvisorClient(config);
46+
* const input = { // BatchUpdateRecommendationResourceExclusionRequest
47+
* recommendationResourceExclusions: [ // RecommendationResourceExclusionList // required
48+
* { // RecommendationResourceExclusion
49+
* arn: "STRING_VALUE", // required
50+
* isExcluded: true || false, // required
51+
* },
52+
* ],
53+
* };
54+
* const command = new BatchUpdateRecommendationResourceExclusionCommand(input);
55+
* const response = await client.send(command);
56+
* // { // BatchUpdateRecommendationResourceExclusionResponse
57+
* // batchUpdateRecommendationResourceExclusionErrors: [ // UpdateRecommendationResourceExclusionErrorList // required
58+
* // { // UpdateRecommendationResourceExclusionError
59+
* // arn: "STRING_VALUE",
60+
* // errorCode: "STRING_VALUE",
61+
* // errorMessage: "STRING_VALUE",
62+
* // },
63+
* // ],
64+
* // };
65+
*
66+
* ```
67+
*
68+
* @param BatchUpdateRecommendationResourceExclusionCommandInput - {@link BatchUpdateRecommendationResourceExclusionCommandInput}
69+
* @returns {@link BatchUpdateRecommendationResourceExclusionCommandOutput}
70+
* @see {@link BatchUpdateRecommendationResourceExclusionCommandInput} for command's `input` shape.
71+
* @see {@link BatchUpdateRecommendationResourceExclusionCommandOutput} for command's `response` shape.
72+
* @see {@link TrustedAdvisorClientResolvedConfig | config} for TrustedAdvisorClient's `config` shape.
73+
*
74+
* @throws {@link AccessDeniedException} (client fault)
75+
* <p>Exception that access has been denied due to insufficient access</p>
76+
*
77+
* @throws {@link ConflictException} (client fault)
78+
* <p>Exception that the request was denied due to conflictions in state</p>
79+
*
80+
* @throws {@link InternalServerException} (server fault)
81+
* <p>Exception to notify that an unexpected internal error occurred during processing of the request</p>
82+
*
83+
* @throws {@link ThrottlingException} (client fault)
84+
* <p>Exception to notify that requests are being throttled</p>
85+
*
86+
* @throws {@link ValidationException} (client fault)
87+
* <p>Exception that the request failed to satisfy service constraints</p>
88+
*
89+
* @throws {@link TrustedAdvisorServiceException}
90+
* <p>Base exception class for all service exceptions from TrustedAdvisor service.</p>
91+
*
92+
* @public
93+
*/
94+
export class BatchUpdateRecommendationResourceExclusionCommand extends $Command
95+
.classBuilder<
96+
BatchUpdateRecommendationResourceExclusionCommandInput,
97+
BatchUpdateRecommendationResourceExclusionCommandOutput,
98+
TrustedAdvisorClientResolvedConfig,
99+
ServiceInputTypes,
100+
ServiceOutputTypes
101+
>()
102+
.ep({
103+
...commonParams,
104+
})
105+
.m(function (this: any, Command: any, cs: any, config: TrustedAdvisorClientResolvedConfig, o: any) {
106+
return [
107+
getSerdePlugin(config, this.serialize, this.deserialize),
108+
getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
109+
];
110+
})
111+
.s("TrustedAdvisor", "BatchUpdateRecommendationResourceExclusion", {})
112+
.n("TrustedAdvisorClient", "BatchUpdateRecommendationResourceExclusionCommand")
113+
.f(void 0, void 0)
114+
.ser(se_BatchUpdateRecommendationResourceExclusionCommand)
115+
.de(de_BatchUpdateRecommendationResourceExclusionCommand)
116+
.build() {}

clients/client-trustedadvisor/src/commands/ListOrganizationRecommendationResourcesCommand.ts

+2
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export interface ListOrganizationRecommendationResourcesCommandOutput
4949
* nextToken: "STRING_VALUE",
5050
* maxResults: Number("int"),
5151
* status: "ok" || "warning" || "error",
52+
* exclusionStatus: "excluded" || "included",
5253
* regionCode: "STRING_VALUE",
5354
* organizationRecommendationIdentifier: "STRING_VALUE", // required
5455
* affectedAccountId: "STRING_VALUE",
@@ -68,6 +69,7 @@ export interface ListOrganizationRecommendationResourcesCommandOutput
6869
* // "<keys>": "STRING_VALUE",
6970
* // },
7071
* // lastUpdatedAt: new Date("TIMESTAMP"), // required
72+
* // exclusionStatus: "excluded" || "included",
7173
* // accountId: "STRING_VALUE",
7274
* // recommendationArn: "STRING_VALUE", // required
7375
* // },

clients/client-trustedadvisor/src/commands/ListRecommendationResourcesCommand.ts

+2
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ export interface ListRecommendationResourcesCommandOutput
4343
* nextToken: "STRING_VALUE",
4444
* maxResults: Number("int"),
4545
* status: "ok" || "warning" || "error",
46+
* exclusionStatus: "excluded" || "included",
4647
* regionCode: "STRING_VALUE",
4748
* recommendationIdentifier: "STRING_VALUE", // required
4849
* };
@@ -61,6 +62,7 @@ export interface ListRecommendationResourcesCommandOutput
6162
* // "<keys>": "STRING_VALUE",
6263
* // },
6364
* // lastUpdatedAt: new Date("TIMESTAMP"), // required
65+
* // exclusionStatus: "excluded" || "included",
6466
* // recommendationArn: "STRING_VALUE", // required
6567
* // },
6668
* // ],

clients/client-trustedadvisor/src/commands/UpdateOrganizationRecommendationLifecycleCommand.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export interface UpdateOrganizationRecommendationLifecycleCommandInput
3434
export interface UpdateOrganizationRecommendationLifecycleCommandOutput extends __MetadataBearer {}
3535

3636
/**
37-
* <p>Update the lifecyle of a Recommendation within an Organization. This API only supports prioritized
37+
* <p>Update the lifecycle of a Recommendation within an Organization. This API only supports prioritized
3838
* recommendations.
3939
* </p>
4040
* @example

clients/client-trustedadvisor/src/commands/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// smithy-typescript generated code
2+
export * from "./BatchUpdateRecommendationResourceExclusionCommand";
23
export * from "./GetOrganizationRecommendationCommand";
34
export * from "./GetRecommendationCommand";
45
export * from "./ListChecksCommand";

0 commit comments

Comments
 (0)