diff --git a/clients/client-resiliencehub/README.md b/clients/client-resiliencehub/README.md index c5cb02ffd48d..6a6a1ce340f3 100644 --- a/clients/client-resiliencehub/README.md +++ b/clients/client-resiliencehub/README.md @@ -390,6 +390,14 @@ DescribeDraftAppVersionResourcesImportStatus [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/resiliencehub/command/DescribeDraftAppVersionResourcesImportStatusCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-resiliencehub/Interface/DescribeDraftAppVersionResourcesImportStatusCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-resiliencehub/Interface/DescribeDraftAppVersionResourcesImportStatusCommandOutput/) + +
+ +DescribeMetricsExport + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/resiliencehub/command/DescribeMetricsExportCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-resiliencehub/Interface/DescribeMetricsExportCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-resiliencehub/Interface/DescribeMetricsExportCommandOutput/) +
@@ -510,6 +518,14 @@ ListAppVersions [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/resiliencehub/command/ListAppVersionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-resiliencehub/Interface/ListAppVersionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-resiliencehub/Interface/ListAppVersionsCommandOutput/) +
+
+ +ListMetrics + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/resiliencehub/command/ListMetricsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-resiliencehub/Interface/ListMetricsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-resiliencehub/Interface/ListMetricsCommandOutput/) +
@@ -622,6 +638,14 @@ StartAppAssessment [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/resiliencehub/command/StartAppAssessmentCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-resiliencehub/Interface/StartAppAssessmentCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-resiliencehub/Interface/StartAppAssessmentCommandOutput/) +
+
+ +StartMetricsExport + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/resiliencehub/command/StartMetricsExportCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-resiliencehub/Interface/StartMetricsExportCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-resiliencehub/Interface/StartMetricsExportCommandOutput/) +
diff --git a/clients/client-resiliencehub/src/Resiliencehub.ts b/clients/client-resiliencehub/src/Resiliencehub.ts index bad16564fecb..3fb3e8803645 100644 --- a/clients/client-resiliencehub/src/Resiliencehub.ts +++ b/clients/client-resiliencehub/src/Resiliencehub.ts @@ -105,6 +105,11 @@ import { DescribeDraftAppVersionResourcesImportStatusCommandInput, DescribeDraftAppVersionResourcesImportStatusCommandOutput, } from "./commands/DescribeDraftAppVersionResourcesImportStatusCommand"; +import { + DescribeMetricsExportCommand, + DescribeMetricsExportCommandInput, + DescribeMetricsExportCommandOutput, +} from "./commands/DescribeMetricsExportCommand"; import { DescribeResiliencyPolicyCommand, DescribeResiliencyPolicyCommandInput, @@ -176,6 +181,7 @@ import { ListAppVersionsCommandInput, ListAppVersionsCommandOutput, } from "./commands/ListAppVersionsCommand"; +import { ListMetricsCommand, ListMetricsCommandInput, ListMetricsCommandOutput } from "./commands/ListMetricsCommand"; import { ListRecommendationTemplatesCommand, ListRecommendationTemplatesCommandInput, @@ -246,6 +252,11 @@ import { StartAppAssessmentCommandInput, StartAppAssessmentCommandOutput, } from "./commands/StartAppAssessmentCommand"; +import { + StartMetricsExportCommand, + StartMetricsExportCommandInput, + StartMetricsExportCommandOutput, +} from "./commands/StartMetricsExportCommand"; import { StartResourceGroupingRecommendationTaskCommand, StartResourceGroupingRecommendationTaskCommandInput, @@ -304,6 +315,7 @@ const commands = { DescribeAppVersionResourcesResolutionStatusCommand, DescribeAppVersionTemplateCommand, DescribeDraftAppVersionResourcesImportStatusCommand, + DescribeMetricsExportCommand, DescribeResiliencyPolicyCommand, DescribeResourceGroupingRecommendationTaskCommand, ImportResourcesToDraftAppVersionCommand, @@ -319,6 +331,7 @@ const commands = { ListAppVersionResourceMappingsCommand, ListAppVersionResourcesCommand, ListAppVersionsCommand, + ListMetricsCommand, ListRecommendationTemplatesCommand, ListResiliencyPoliciesCommand, ListResourceGroupingRecommendationsCommand, @@ -333,6 +346,7 @@ const commands = { RemoveDraftAppVersionResourceMappingsCommand, ResolveAppVersionResourcesCommand, StartAppAssessmentCommand, + StartMetricsExportCommand, StartResourceGroupingRecommendationTaskCommand, TagResourceCommand, UntagResourceCommand, @@ -717,6 +731,23 @@ export interface Resiliencehub { cb: (err: any, data?: DescribeDraftAppVersionResourcesImportStatusCommandOutput) => void ): void; + /** + * @see {@link DescribeMetricsExportCommand} + */ + describeMetricsExport( + args: DescribeMetricsExportCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeMetricsExport( + args: DescribeMetricsExportCommandInput, + cb: (err: any, data?: DescribeMetricsExportCommandOutput) => void + ): void; + describeMetricsExport( + args: DescribeMetricsExportCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeMetricsExportCommandOutput) => void + ): void; + /** * @see {@link DescribeResiliencyPolicyCommand} */ @@ -965,6 +996,18 @@ export interface Resiliencehub { cb: (err: any, data?: ListAppVersionsCommandOutput) => void ): void; + /** + * @see {@link ListMetricsCommand} + */ + listMetrics(): Promise; + listMetrics(args: ListMetricsCommandInput, options?: __HttpHandlerOptions): Promise; + listMetrics(args: ListMetricsCommandInput, cb: (err: any, data?: ListMetricsCommandOutput) => void): void; + listMetrics( + args: ListMetricsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListMetricsCommandOutput) => void + ): void; + /** * @see {@link ListRecommendationTemplatesCommand} */ @@ -1207,6 +1250,24 @@ export interface Resiliencehub { cb: (err: any, data?: StartAppAssessmentCommandOutput) => void ): void; + /** + * @see {@link StartMetricsExportCommand} + */ + startMetricsExport(): Promise; + startMetricsExport( + args: StartMetricsExportCommandInput, + options?: __HttpHandlerOptions + ): Promise; + startMetricsExport( + args: StartMetricsExportCommandInput, + cb: (err: any, data?: StartMetricsExportCommandOutput) => void + ): void; + startMetricsExport( + args: StartMetricsExportCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartMetricsExportCommandOutput) => void + ): void; + /** * @see {@link StartResourceGroupingRecommendationTaskCommand} */ diff --git a/clients/client-resiliencehub/src/ResiliencehubClient.ts b/clients/client-resiliencehub/src/ResiliencehubClient.ts index 3353369414cc..08a87391e2b5 100644 --- a/clients/client-resiliencehub/src/ResiliencehubClient.ts +++ b/clients/client-resiliencehub/src/ResiliencehubClient.ts @@ -133,6 +133,10 @@ import { DescribeDraftAppVersionResourcesImportStatusCommandInput, DescribeDraftAppVersionResourcesImportStatusCommandOutput, } from "./commands/DescribeDraftAppVersionResourcesImportStatusCommand"; +import { + DescribeMetricsExportCommandInput, + DescribeMetricsExportCommandOutput, +} from "./commands/DescribeMetricsExportCommand"; import { DescribeResiliencyPolicyCommandInput, DescribeResiliencyPolicyCommandOutput, @@ -184,6 +188,7 @@ import { ListAppVersionResourcesCommandOutput, } from "./commands/ListAppVersionResourcesCommand"; import { ListAppVersionsCommandInput, ListAppVersionsCommandOutput } from "./commands/ListAppVersionsCommand"; +import { ListMetricsCommandInput, ListMetricsCommandOutput } from "./commands/ListMetricsCommand"; import { ListRecommendationTemplatesCommandInput, ListRecommendationTemplatesCommandOutput, @@ -234,6 +239,7 @@ import { ResolveAppVersionResourcesCommandOutput, } from "./commands/ResolveAppVersionResourcesCommand"; import { StartAppAssessmentCommandInput, StartAppAssessmentCommandOutput } from "./commands/StartAppAssessmentCommand"; +import { StartMetricsExportCommandInput, StartMetricsExportCommandOutput } from "./commands/StartMetricsExportCommand"; import { StartResourceGroupingRecommendationTaskCommandInput, StartResourceGroupingRecommendationTaskCommandOutput, @@ -292,6 +298,7 @@ export type ServiceInputTypes = | DescribeAppVersionResourcesResolutionStatusCommandInput | DescribeAppVersionTemplateCommandInput | DescribeDraftAppVersionResourcesImportStatusCommandInput + | DescribeMetricsExportCommandInput | DescribeResiliencyPolicyCommandInput | DescribeResourceGroupingRecommendationTaskCommandInput | ImportResourcesToDraftAppVersionCommandInput @@ -307,6 +314,7 @@ export type ServiceInputTypes = | ListAppVersionResourcesCommandInput | ListAppVersionsCommandInput | ListAppsCommandInput + | ListMetricsCommandInput | ListRecommendationTemplatesCommandInput | ListResiliencyPoliciesCommandInput | ListResourceGroupingRecommendationsCommandInput @@ -321,6 +329,7 @@ export type ServiceInputTypes = | RemoveDraftAppVersionResourceMappingsCommandInput | ResolveAppVersionResourcesCommandInput | StartAppAssessmentCommandInput + | StartMetricsExportCommandInput | StartResourceGroupingRecommendationTaskCommandInput | TagResourceCommandInput | UntagResourceCommandInput @@ -357,6 +366,7 @@ export type ServiceOutputTypes = | DescribeAppVersionResourcesResolutionStatusCommandOutput | DescribeAppVersionTemplateCommandOutput | DescribeDraftAppVersionResourcesImportStatusCommandOutput + | DescribeMetricsExportCommandOutput | DescribeResiliencyPolicyCommandOutput | DescribeResourceGroupingRecommendationTaskCommandOutput | ImportResourcesToDraftAppVersionCommandOutput @@ -372,6 +382,7 @@ export type ServiceOutputTypes = | ListAppVersionResourcesCommandOutput | ListAppVersionsCommandOutput | ListAppsCommandOutput + | ListMetricsCommandOutput | ListRecommendationTemplatesCommandOutput | ListResiliencyPoliciesCommandOutput | ListResourceGroupingRecommendationsCommandOutput @@ -386,6 +397,7 @@ export type ServiceOutputTypes = | RemoveDraftAppVersionResourceMappingsCommandOutput | ResolveAppVersionResourcesCommandOutput | StartAppAssessmentCommandOutput + | StartMetricsExportCommandOutput | StartResourceGroupingRecommendationTaskCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput diff --git a/clients/client-resiliencehub/src/commands/DescribeMetricsExportCommand.ts b/clients/client-resiliencehub/src/commands/DescribeMetricsExportCommand.ts new file mode 100644 index 000000000000..6a9f48c57515 --- /dev/null +++ b/clients/client-resiliencehub/src/commands/DescribeMetricsExportCommand.ts @@ -0,0 +1,116 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { DescribeMetricsExportRequest, DescribeMetricsExportResponse } from "../models/models_0"; +import { de_DescribeMetricsExportCommand, se_DescribeMetricsExportCommand } from "../protocols/Aws_restJson1"; +import { ResiliencehubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ResiliencehubClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DescribeMetricsExportCommand}. + */ +export interface DescribeMetricsExportCommandInput extends DescribeMetricsExportRequest {} +/** + * @public + * + * The output of {@link DescribeMetricsExportCommand}. + */ +export interface DescribeMetricsExportCommandOutput extends DescribeMetricsExportResponse, __MetadataBearer {} + +/** + *

Describes the metrics of the application configuration being exported.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ResiliencehubClient, DescribeMetricsExportCommand } from "@aws-sdk/client-resiliencehub"; // ES Modules import + * // const { ResiliencehubClient, DescribeMetricsExportCommand } = require("@aws-sdk/client-resiliencehub"); // CommonJS import + * const client = new ResiliencehubClient(config); + * const input = { // DescribeMetricsExportRequest + * metricsExportId: "STRING_VALUE", // required + * }; + * const command = new DescribeMetricsExportCommand(input); + * const response = await client.send(command); + * // { // DescribeMetricsExportResponse + * // metricsExportId: "STRING_VALUE", // required + * // status: "Pending" || "InProgress" || "Failed" || "Success", // required + * // exportLocation: { // S3Location + * // bucket: "STRING_VALUE", + * // prefix: "STRING_VALUE", + * // }, + * // errorMessage: "STRING_VALUE", + * // }; + * + * ``` + * + * @param DescribeMetricsExportCommandInput - {@link DescribeMetricsExportCommandInput} + * @returns {@link DescribeMetricsExportCommandOutput} + * @see {@link DescribeMetricsExportCommandInput} for command's `input` shape. + * @see {@link DescribeMetricsExportCommandOutput} for command's `response` shape. + * @see {@link ResiliencehubClientResolvedConfig | config} for ResiliencehubClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You don't have permissions to perform the requested operation. The user or role that is + * making the request must have at least one IAM permissions policy attached that grants the + * required permissions.

+ * + * @throws {@link InternalServerException} (server fault) + *

This exception occurs when there is an internal failure in the Resilience Hub + * service.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

This exception occurs when the specified resource could not be found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

This exception occurs when you have exceeded the limit on the number of requests per second.

+ * + * @throws {@link ValidationException} (client fault) + *

This exception occurs when a request is not valid.

+ * + * @throws {@link ResiliencehubServiceException} + *

Base exception class for all service exceptions from Resiliencehub service.

+ * + * @public + */ +export class DescribeMetricsExportCommand extends $Command + .classBuilder< + DescribeMetricsExportCommandInput, + DescribeMetricsExportCommandOutput, + ResiliencehubClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: ResiliencehubClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AwsResilienceHub", "DescribeMetricsExport", {}) + .n("ResiliencehubClient", "DescribeMetricsExportCommand") + .f(void 0, void 0) + .ser(se_DescribeMetricsExportCommand) + .de(de_DescribeMetricsExportCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DescribeMetricsExportRequest; + output: DescribeMetricsExportResponse; + }; + sdk: { + input: DescribeMetricsExportCommandInput; + output: DescribeMetricsExportCommandOutput; + }; + }; +} diff --git a/clients/client-resiliencehub/src/commands/ListAppAssessmentComplianceDriftsCommand.ts b/clients/client-resiliencehub/src/commands/ListAppAssessmentComplianceDriftsCommand.ts index 461dce4f58bf..d5b99f01f1f2 100644 --- a/clients/client-resiliencehub/src/commands/ListAppAssessmentComplianceDriftsCommand.ts +++ b/clients/client-resiliencehub/src/commands/ListAppAssessmentComplianceDriftsCommand.ts @@ -36,7 +36,7 @@ export interface ListAppAssessmentComplianceDriftsCommandOutput __MetadataBearer {} /** - *

Indicates the list of compliance drifts that were detected while running an + *

List of compliance drifts that were detected while running an * assessment.

* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-resiliencehub/src/commands/ListAppAssessmentResourceDriftsCommand.ts b/clients/client-resiliencehub/src/commands/ListAppAssessmentResourceDriftsCommand.ts index 7ccf34970a43..76aa4023087c 100644 --- a/clients/client-resiliencehub/src/commands/ListAppAssessmentResourceDriftsCommand.ts +++ b/clients/client-resiliencehub/src/commands/ListAppAssessmentResourceDriftsCommand.ts @@ -33,7 +33,7 @@ export interface ListAppAssessmentResourceDriftsCommandOutput __MetadataBearer {} /** - *

Indicates the list of resource drifts that were detected while running an + *

List of resource drifts that were detected while running an * assessment.

* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-resiliencehub/src/commands/ListMetricsCommand.ts b/clients/client-resiliencehub/src/commands/ListMetricsCommand.ts new file mode 100644 index 000000000000..84d373eee576 --- /dev/null +++ b/clients/client-resiliencehub/src/commands/ListMetricsCommand.ts @@ -0,0 +1,133 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListMetricsRequest, ListMetricsResponse } from "../models/models_0"; +import { de_ListMetricsCommand, se_ListMetricsCommand } from "../protocols/Aws_restJson1"; +import { ResiliencehubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ResiliencehubClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListMetricsCommand}. + */ +export interface ListMetricsCommandInput extends ListMetricsRequest {} +/** + * @public + * + * The output of {@link ListMetricsCommand}. + */ +export interface ListMetricsCommandOutput extends ListMetricsResponse, __MetadataBearer {} + +/** + *

Lists the metrics that can be exported.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ResiliencehubClient, ListMetricsCommand } from "@aws-sdk/client-resiliencehub"; // ES Modules import + * // const { ResiliencehubClient, ListMetricsCommand } = require("@aws-sdk/client-resiliencehub"); // CommonJS import + * const client = new ResiliencehubClient(config); + * const input = { // ListMetricsRequest + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * fields: [ // FieldList + * { // Field + * name: "STRING_VALUE", // required + * aggregation: "Min" || "Max" || "Sum" || "Avg" || "Count", + * }, + * ], + * dataSource: "STRING_VALUE", + * conditions: [ // ConditionList + * { // Condition + * field: "STRING_VALUE", // required + * operator: "Equals" || "NotEquals" || "GreaterThen" || "GreaterOrEquals" || "LessThen" || "LessOrEquals", // required + * value: "STRING_VALUE", + * }, + * ], + * sorts: [ // SortList + * { // Sort + * field: "STRING_VALUE", // required + * ascending: true || false, + * }, + * ], + * }; + * const command = new ListMetricsCommand(input); + * const response = await client.send(command); + * // { // ListMetricsResponse + * // rows: [ // RowList // required + * // [ // Row + * // "STRING_VALUE", + * // ], + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListMetricsCommandInput - {@link ListMetricsCommandInput} + * @returns {@link ListMetricsCommandOutput} + * @see {@link ListMetricsCommandInput} for command's `input` shape. + * @see {@link ListMetricsCommandOutput} for command's `response` shape. + * @see {@link ResiliencehubClientResolvedConfig | config} for ResiliencehubClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You don't have permissions to perform the requested operation. The user or role that is + * making the request must have at least one IAM permissions policy attached that grants the + * required permissions.

+ * + * @throws {@link InternalServerException} (server fault) + *

This exception occurs when there is an internal failure in the Resilience Hub + * service.

+ * + * @throws {@link ThrottlingException} (client fault) + *

This exception occurs when you have exceeded the limit on the number of requests per second.

+ * + * @throws {@link ValidationException} (client fault) + *

This exception occurs when a request is not valid.

+ * + * @throws {@link ResiliencehubServiceException} + *

Base exception class for all service exceptions from Resiliencehub service.

+ * + * @public + */ +export class ListMetricsCommand extends $Command + .classBuilder< + ListMetricsCommandInput, + ListMetricsCommandOutput, + ResiliencehubClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: ResiliencehubClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AwsResilienceHub", "ListMetrics", {}) + .n("ResiliencehubClient", "ListMetricsCommand") + .f(void 0, void 0) + .ser(se_ListMetricsCommand) + .de(de_ListMetricsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListMetricsRequest; + output: ListMetricsResponse; + }; + sdk: { + input: ListMetricsCommandInput; + output: ListMetricsCommandOutput; + }; + }; +} diff --git a/clients/client-resiliencehub/src/commands/StartMetricsExportCommand.ts b/clients/client-resiliencehub/src/commands/StartMetricsExportCommand.ts new file mode 100644 index 000000000000..a854d034b4b3 --- /dev/null +++ b/clients/client-resiliencehub/src/commands/StartMetricsExportCommand.ts @@ -0,0 +1,119 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { StartMetricsExportRequest, StartMetricsExportResponse } from "../models/models_0"; +import { de_StartMetricsExportCommand, se_StartMetricsExportCommand } from "../protocols/Aws_restJson1"; +import { ResiliencehubClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ResiliencehubClient"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link StartMetricsExportCommand}. + */ +export interface StartMetricsExportCommandInput extends StartMetricsExportRequest {} +/** + * @public + * + * The output of {@link StartMetricsExportCommand}. + */ +export interface StartMetricsExportCommandOutput extends StartMetricsExportResponse, __MetadataBearer {} + +/** + *

Initiates the export task of metrics.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ResiliencehubClient, StartMetricsExportCommand } from "@aws-sdk/client-resiliencehub"; // ES Modules import + * // const { ResiliencehubClient, StartMetricsExportCommand } = require("@aws-sdk/client-resiliencehub"); // CommonJS import + * const client = new ResiliencehubClient(config); + * const input = { // StartMetricsExportRequest + * bucketName: "STRING_VALUE", + * clientToken: "STRING_VALUE", + * }; + * const command = new StartMetricsExportCommand(input); + * const response = await client.send(command); + * // { // StartMetricsExportResponse + * // metricsExportId: "STRING_VALUE", // required + * // status: "Pending" || "InProgress" || "Failed" || "Success", // required + * // }; + * + * ``` + * + * @param StartMetricsExportCommandInput - {@link StartMetricsExportCommandInput} + * @returns {@link StartMetricsExportCommandOutput} + * @see {@link StartMetricsExportCommandInput} for command's `input` shape. + * @see {@link StartMetricsExportCommandOutput} for command's `response` shape. + * @see {@link ResiliencehubClientResolvedConfig | config} for ResiliencehubClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You don't have permissions to perform the requested operation. The user or role that is + * making the request must have at least one IAM permissions policy attached that grants the + * required permissions.

+ * + * @throws {@link ConflictException} (client fault) + *

This exception occurs when a conflict with a previous successful write is detected. This generally occurs + * when the previous write did not have time to propagate to the host serving the current + * request. A retry (with appropriate backoff logic) is the recommended response to this + * exception.

+ * + * @throws {@link InternalServerException} (server fault) + *

This exception occurs when there is an internal failure in the Resilience Hub + * service.

+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *

This exception occurs when you have exceeded your service quota. To perform the requested action, remove some of the + * relevant resources, or use Service Quotas to request a service quota increase.

+ * + * @throws {@link ThrottlingException} (client fault) + *

This exception occurs when you have exceeded the limit on the number of requests per second.

+ * + * @throws {@link ValidationException} (client fault) + *

This exception occurs when a request is not valid.

+ * + * @throws {@link ResiliencehubServiceException} + *

Base exception class for all service exceptions from Resiliencehub service.

+ * + * @public + */ +export class StartMetricsExportCommand extends $Command + .classBuilder< + StartMetricsExportCommandInput, + StartMetricsExportCommandOutput, + ResiliencehubClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: ResiliencehubClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AwsResilienceHub", "StartMetricsExport", {}) + .n("ResiliencehubClient", "StartMetricsExportCommand") + .f(void 0, void 0) + .ser(se_StartMetricsExportCommand) + .de(de_StartMetricsExportCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: StartMetricsExportRequest; + output: StartMetricsExportResponse; + }; + sdk: { + input: StartMetricsExportCommandInput; + output: StartMetricsExportCommandOutput; + }; + }; +} diff --git a/clients/client-resiliencehub/src/commands/index.ts b/clients/client-resiliencehub/src/commands/index.ts index 27bc2a751331..0471a9070003 100644 --- a/clients/client-resiliencehub/src/commands/index.ts +++ b/clients/client-resiliencehub/src/commands/index.ts @@ -22,6 +22,7 @@ export * from "./DescribeAppVersionResourceCommand"; export * from "./DescribeAppVersionResourcesResolutionStatusCommand"; export * from "./DescribeAppVersionTemplateCommand"; export * from "./DescribeDraftAppVersionResourcesImportStatusCommand"; +export * from "./DescribeMetricsExportCommand"; export * from "./DescribeResiliencyPolicyCommand"; export * from "./DescribeResourceGroupingRecommendationTaskCommand"; export * from "./ImportResourcesToDraftAppVersionCommand"; @@ -37,6 +38,7 @@ export * from "./ListAppVersionResourceMappingsCommand"; export * from "./ListAppVersionResourcesCommand"; export * from "./ListAppVersionsCommand"; export * from "./ListAppsCommand"; +export * from "./ListMetricsCommand"; export * from "./ListRecommendationTemplatesCommand"; export * from "./ListResiliencyPoliciesCommand"; export * from "./ListResourceGroupingRecommendationsCommand"; @@ -51,6 +53,7 @@ export * from "./RejectResourceGroupingRecommendationsCommand"; export * from "./RemoveDraftAppVersionResourceMappingsCommand"; export * from "./ResolveAppVersionResourcesCommand"; export * from "./StartAppAssessmentCommand"; +export * from "./StartMetricsExportCommand"; export * from "./StartResourceGroupingRecommendationTaskCommand"; export * from "./TagResourceCommand"; export * from "./UntagResourceCommand"; diff --git a/clients/client-resiliencehub/src/models/models_0.ts b/clients/client-resiliencehub/src/models/models_0.ts index 1ad9cd28c522..fa2972448b8b 100644 --- a/clients/client-resiliencehub/src/models/models_0.ts +++ b/clients/client-resiliencehub/src/models/models_0.ts @@ -30,7 +30,7 @@ export interface AcceptResourceGroupingRecommendationsRequest { appArn: string | undefined; /** - *

Indicates the list of resource grouping recommendations you want to include in your application.

+ *

List of resource grouping recommendations you want to include in your application.

* @public */ entries: AcceptGroupingRecommendationEntry[] | undefined; @@ -69,7 +69,7 @@ export interface AcceptResourceGroupingRecommendationsResponse { appArn: string | undefined; /** - *

Indicates the list of resource grouping recommendations that could not be included in your application.

+ *

List of resource grouping recommendations that could not be included in your application.

* @public */ failedEntries: FailedGroupingRecommendationEntry[] | undefined; @@ -944,7 +944,7 @@ export interface App { policyArn?: string | undefined; /** - *

Date and time when the app was created.

+ *

Date and time when the application was created.

* @public */ creationTime: Date | undefined; @@ -1324,7 +1324,7 @@ export interface ResiliencyPolicy { policyName?: string | undefined; /** - *

The description for the policy.

+ *

Description of the resiliency policy.

* @public */ policyDescription?: string | undefined; @@ -2922,13 +2922,13 @@ export interface CreateRecommendationTemplateResponse { */ export interface CreateResiliencyPolicyRequest { /** - *

The name of the policy

+ *

Name of the resiliency policy.

* @public */ policyName: string | undefined; /** - *

The description for the policy.

+ *

Description of the resiliency policy.

* @public */ policyDescription?: string | undefined; @@ -4056,6 +4056,62 @@ export interface DescribeDraftAppVersionResourcesImportStatusResponse { errorDetails?: ErrorDetail[] | undefined; } +/** + * @public + */ +export interface DescribeMetricsExportRequest { + /** + *

Identifier of the metrics export task.

+ * @public + */ + metricsExportId: string | undefined; +} + +/** + * @public + * @enum + */ +export const MetricsExportStatusType = { + FAILED: "Failed", + IN_PROGRESS: "InProgress", + PENDING: "Pending", + SUCCESS: "Success", +} as const; + +/** + * @public + */ +export type MetricsExportStatusType = (typeof MetricsExportStatusType)[keyof typeof MetricsExportStatusType]; + +/** + * @public + */ +export interface DescribeMetricsExportResponse { + /** + *

Identifier for the metrics export task.

+ * @public + */ + metricsExportId: string | undefined; + + /** + *

Indicates the status of the metrics export task.

+ * @public + */ + status: MetricsExportStatusType | undefined; + + /** + *

Specifies the name of the Amazon S3 bucket where the exported metrics is stored.

+ * @public + */ + exportLocation?: S3Location | undefined; + + /** + *

Explains the error that occurred while exporting the metrics.

+ * @public + */ + errorMessage?: string | undefined; +} + /** * @public */ @@ -4099,7 +4155,7 @@ export interface DescribeResourceGroupingRecommendationTaskRequest { appArn: string | undefined; /** - *

Indicates the identifier of the grouping recommendation task.

+ *

Identifier of the grouping recommendation task.

* @public */ groupingId?: string | undefined; @@ -4127,7 +4183,7 @@ export type ResourcesGroupingRecGenStatusType = */ export interface DescribeResourceGroupingRecommendationTaskResponse { /** - *

Indicates the identifier of the grouping recommendation task.

+ *

Identifier of the grouping recommendation task.

* @public */ groupingId: string | undefined; @@ -4139,7 +4195,7 @@ export interface DescribeResourceGroupingRecommendationTaskResponse { status: ResourcesGroupingRecGenStatusType | undefined; /** - *

Indicates the error that occurred while generating a grouping recommendation.

+ *

Error that occurred while generating a grouping recommendation.

* @public */ errorMessage?: string | undefined; @@ -4334,7 +4390,7 @@ export interface ListAppAssessmentComplianceDriftsRequest { nextToken?: string | undefined; /** - *

Indicates the maximum number of compliance drifts requested.

+ *

Maximum number of compliance drifts requested.

* @public */ maxResults?: number | undefined; @@ -4480,7 +4536,7 @@ export interface ListAppAssessmentResourceDriftsRequest { nextToken?: string | undefined; /** - *

Indicates the maximum number of drift results to include in the response. If more results + *

Maximum number of drift results to include in the response. If more results * exist than the specified MaxResults value, a token is included in the response so * that the remaining results can be retrieved.

* @public @@ -4948,8 +5004,7 @@ export interface ListAppInputSourcesRequest { nextToken?: string | undefined; /** - *

Maximum number of input sources to be displayed per Resilience Hub - * application.

+ *

Maximum number of input sources to be displayed per Resilience Hub application.

* @public */ maxResults?: number | undefined; @@ -5006,14 +5061,14 @@ export interface ListAppsRequest { appArn?: string | undefined; /** - *

Indicates the lower limit of the range that is used to filter applications based on their + *

Lower limit of the range that is used to filter applications based on their * last assessment times.

* @public */ fromLastAssessmentTime?: Date | undefined; /** - *

Indicates the upper limit of the range that is used to filter the applications based on + *

Upper limit of the range that is used to filter the applications based on * their last assessment times.

* @public */ @@ -5296,6 +5351,160 @@ export interface ListAppVersionsResponse { nextToken?: string | undefined; } +/** + * @public + * @enum + */ +export const ConditionOperatorType = { + EQUALS: "Equals", + GREATER_OR_EQUALS: "GreaterOrEquals", + GREATER_THEN: "GreaterThen", + LESS_OR_EQUALS: "LessOrEquals", + LESS_THEN: "LessThen", + NOT_EQUALS: "NotEquals", +} as const; + +/** + * @public + */ +export type ConditionOperatorType = (typeof ConditionOperatorType)[keyof typeof ConditionOperatorType]; + +/** + *

Indicates the condition based on which you want to filter the metrics.

+ * @public + */ +export interface Condition { + /** + *

Indicates the field in the metric.

+ * @public + */ + field: string | undefined; + + /** + *

Indicates the type of operator or comparison to be used when evaluating a condition against the specified field.

+ * @public + */ + operator: ConditionOperatorType | undefined; + + /** + *

Indicates the value or data against which a condition is evaluated.

+ * @public + */ + value?: string | undefined; +} + +/** + * @public + * @enum + */ +export const FieldAggregationType = { + AVG: "Avg", + COUNT: "Count", + MAX: "Max", + MIN: "Min", + SUM: "Sum", +} as const; + +/** + * @public + */ +export type FieldAggregationType = (typeof FieldAggregationType)[keyof typeof FieldAggregationType]; + +/** + *

Indicates the field or attribute of a resource or data structure on which a condition is being applied or evaluated.

+ * @public + */ +export interface Field { + /** + *

Name of the field.

+ * @public + */ + name: string | undefined; + + /** + *

(Optional) Indicates the type of aggregation or summary operation (such as Sum, Average, and so on) to be performed on a particular field or set of data.

+ * @public + */ + aggregation?: FieldAggregationType | undefined; +} + +/** + *

Indicates the sorting order of the fields in the metrics.

+ * @public + */ +export interface Sort { + /** + *

Indicates the order in which you want to sort the metrics. By default, the list is sorted in ascending order. To sort the list in descending order, set this field to False.

+ * @public + */ + field: string | undefined; + + /** + *

Indicates the name or identifier of the field or attribute that should be used as the basis for sorting the metrics.

+ * @public + */ + ascending?: boolean | undefined; +} + +/** + * @public + */ +export interface ListMetricsRequest { + /** + *

Null, or the token from a previous call to get the next set of results.

+ * @public + */ + nextToken?: string | undefined; + + /** + *

Maximum number of results to include in the response. If more results exist than the specified + * MaxResults value, a token is included in the response so that the remaining results can be retrieved.

+ * @public + */ + maxResults?: number | undefined; + + /** + *

Indicates the list of fields in the data source.

+ * @public + */ + fields?: Field[] | undefined; + + /** + *

Indicates the data source of the metrics.

+ * @public + */ + dataSource?: string | undefined; + + /** + *

Indicates the list of all the conditions that were applied on the metrics.

+ * @public + */ + conditions?: Condition[] | undefined; + + /** + *

(Optional) Indicates the order in which you want to sort the fields in the metrics. By default, the fields are sorted in the ascending order.

+ * @public + */ + sorts?: Sort[] | undefined; +} + +/** + * @public + */ +export interface ListMetricsResponse { + /** + *

Specifies all the list of metric values for each row of metrics.

+ * @public + */ + rows: string[][] | undefined; + + /** + *

Token for the next set of results, or null if there are no more results.

+ * @public + */ + nextToken?: string | undefined; +} + /** * @public */ @@ -5371,7 +5580,7 @@ export interface ListRecommendationTemplatesResponse { */ export interface ListResiliencyPoliciesRequest { /** - *

The name of the policy

+ *

Name of the resiliency policy.

* @public */ policyName?: string | undefined; @@ -6433,7 +6642,7 @@ export interface RejectResourceGroupingRecommendationsRequest { appArn: string | undefined; /** - *

Indicates the list of resource grouping recommendations you have selected to exclude from your application.

+ *

List of resource grouping recommendations you have selected to exclude from your application.

* @public */ entries: RejectGroupingRecommendationEntry[] | undefined; @@ -6454,7 +6663,7 @@ export interface RejectResourceGroupingRecommendationsResponse { appArn: string | undefined; /** - *

Indicates the list of resource grouping recommendations that failed to get excluded in your application.

+ *

List of resource grouping recommendations that failed to get excluded in your application.

* @public */ failedEntries: FailedGroupingRecommendationEntry[] | undefined; @@ -6643,6 +6852,41 @@ export interface StartAppAssessmentResponse { assessment: AppAssessment | undefined; } +/** + * @public + */ +export interface StartMetricsExportRequest { + /** + *

(Optional) Specifies the name of the Amazon Simple Storage Service bucket where the exported metrics will be stored.

+ * @public + */ + bucketName?: string | undefined; + + /** + *

Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. + * You should not reuse the same client token for other API requests.

+ * @public + */ + clientToken?: string | undefined; +} + +/** + * @public + */ +export interface StartMetricsExportResponse { + /** + *

Identifier of the metrics export task.

+ * @public + */ + metricsExportId: string | undefined; + + /** + *

Indicates the status of the metrics export task.

+ * @public + */ + status: MetricsExportStatusType | undefined; +} + /** * @public */ @@ -6673,7 +6917,7 @@ export interface StartResourceGroupingRecommendationTaskResponse { appArn: string | undefined; /** - *

Indicates the identifier of the grouping recommendation task.

+ *

Identifier of the grouping recommendation task.

* @public */ groupingId: string | undefined; @@ -6685,7 +6929,7 @@ export interface StartResourceGroupingRecommendationTaskResponse { status: ResourcesGroupingRecGenStatusType | undefined; /** - *

Indicates the error that occurred while executing a grouping recommendation task.

+ *

Error that occurred while executing a grouping recommendation task.

* @public */ errorMessage?: string | undefined; @@ -7045,20 +7289,19 @@ export interface UpdateResiliencyPolicyRequest { policyArn: string | undefined; /** - *

The name of the policy

+ *

Name of the resiliency policy.

* @public */ policyName?: string | undefined; /** - *

The description for the policy.

+ *

Description of the resiliency policy.

* @public */ policyDescription?: string | undefined; /** - *

Specifies a high-level geographical location constraint for where your resilience policy - * data can be stored.

+ *

Specifies a high-level geographical location constraint for where your resilience policy data can be stored.

* @public */ dataLocationConstraint?: DataLocationConstraint | undefined; @@ -7071,8 +7314,7 @@ export interface UpdateResiliencyPolicyRequest { tier?: ResiliencyPolicyTier | undefined; /** - *

The type of resiliency policy to be created, including the recovery time objective (RTO) - * and recovery point objective (RPO) in seconds.

+ *

Resiliency policy to be created, including the recovery time objective (RTO) and recovery point objective (RPO) in seconds.

* @public */ policy?: Partial> | undefined; @@ -7083,7 +7325,7 @@ export interface UpdateResiliencyPolicyRequest { */ export interface UpdateResiliencyPolicyResponse { /** - *

The type of resiliency policy that was updated, including the recovery time objective + *

The resiliency policy that was updated, including the recovery time objective * (RTO) and recovery point objective (RPO) in seconds.

* @public */ diff --git a/clients/client-resiliencehub/src/pagination/ListMetricsPaginator.ts b/clients/client-resiliencehub/src/pagination/ListMetricsPaginator.ts new file mode 100644 index 000000000000..162a284aaca5 --- /dev/null +++ b/clients/client-resiliencehub/src/pagination/ListMetricsPaginator.ts @@ -0,0 +1,20 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { ListMetricsCommand, ListMetricsCommandInput, ListMetricsCommandOutput } from "../commands/ListMetricsCommand"; +import { ResiliencehubClient } from "../ResiliencehubClient"; +import { ResiliencehubPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListMetrics: ( + config: ResiliencehubPaginationConfiguration, + input: ListMetricsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + ResiliencehubPaginationConfiguration, + ListMetricsCommandInput, + ListMetricsCommandOutput +>(ResiliencehubClient, ListMetricsCommand, "nextToken", "nextToken", "maxResults"); diff --git a/clients/client-resiliencehub/src/pagination/index.ts b/clients/client-resiliencehub/src/pagination/index.ts index 26badd62dad8..ddde1eb1d2c4 100644 --- a/clients/client-resiliencehub/src/pagination/index.ts +++ b/clients/client-resiliencehub/src/pagination/index.ts @@ -12,6 +12,7 @@ export * from "./ListAppVersionResourceMappingsPaginator"; export * from "./ListAppVersionResourcesPaginator"; export * from "./ListAppVersionsPaginator"; export * from "./ListAppsPaginator"; +export * from "./ListMetricsPaginator"; export * from "./ListRecommendationTemplatesPaginator"; export * from "./ListResiliencyPoliciesPaginator"; export * from "./ListResourceGroupingRecommendationsPaginator"; diff --git a/clients/client-resiliencehub/src/protocols/Aws_restJson1.ts b/clients/client-resiliencehub/src/protocols/Aws_restJson1.ts index 5e5243a916e9..30db0135fc8c 100644 --- a/clients/client-resiliencehub/src/protocols/Aws_restJson1.ts +++ b/clients/client-resiliencehub/src/protocols/Aws_restJson1.ts @@ -109,6 +109,10 @@ import { DescribeDraftAppVersionResourcesImportStatusCommandInput, DescribeDraftAppVersionResourcesImportStatusCommandOutput, } from "../commands/DescribeDraftAppVersionResourcesImportStatusCommand"; +import { + DescribeMetricsExportCommandInput, + DescribeMetricsExportCommandOutput, +} from "../commands/DescribeMetricsExportCommand"; import { DescribeResiliencyPolicyCommandInput, DescribeResiliencyPolicyCommandOutput, @@ -160,6 +164,7 @@ import { ListAppVersionResourcesCommandOutput, } from "../commands/ListAppVersionResourcesCommand"; import { ListAppVersionsCommandInput, ListAppVersionsCommandOutput } from "../commands/ListAppVersionsCommand"; +import { ListMetricsCommandInput, ListMetricsCommandOutput } from "../commands/ListMetricsCommand"; import { ListRecommendationTemplatesCommandInput, ListRecommendationTemplatesCommandOutput, @@ -210,6 +215,7 @@ import { ResolveAppVersionResourcesCommandOutput, } from "../commands/ResolveAppVersionResourcesCommand"; import { StartAppAssessmentCommandInput, StartAppAssessmentCommandOutput } from "../commands/StartAppAssessmentCommand"; +import { StartMetricsExportCommandInput, StartMetricsExportCommandOutput } from "../commands/StartMetricsExportCommand"; import { StartResourceGroupingRecommendationTaskCommandInput, StartResourceGroupingRecommendationTaskCommandOutput, @@ -240,6 +246,7 @@ import { AppSummary, AppVersionSummary, ComponentRecommendation, + Condition, ConfigRecommendation, ConflictException, Cost, @@ -248,6 +255,7 @@ import { EksSourceClusterNamespace, EventSubscription, FailurePolicy, + Field, GroupingRecommendation, InternalServerException, LogicalResourceId, @@ -263,6 +271,7 @@ import { ResourceNotFoundException, ScoringComponentResiliencyScore, ServiceQuotaExceededException, + Sort, TerraformSource, ThrottlingException, UpdateRecommendationStatusItem, @@ -844,6 +853,28 @@ export const se_DescribeDraftAppVersionResourcesImportStatusCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DescribeMetricsExportCommand + */ +export const se_DescribeMetricsExportCommand = async ( + input: DescribeMetricsExportCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/describe-metrics-export"); + let body: any; + body = JSON.stringify( + take(input, { + metricsExportId: [], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DescribeResiliencyPolicyCommand */ @@ -1212,6 +1243,33 @@ export const se_ListAppVersionsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListMetricsCommand + */ +export const se_ListMetricsCommand = async ( + input: ListMetricsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/list-metrics"); + let body: any; + body = JSON.stringify( + take(input, { + conditions: (_) => _json(_), + dataSource: [], + fields: (_) => _json(_), + maxResults: [], + nextToken: [], + sorts: (_) => _json(_), + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1ListRecommendationTemplatesCommand */ @@ -1531,6 +1589,29 @@ export const se_StartAppAssessmentCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1StartMetricsExportCommand + */ +export const se_StartMetricsExportCommand = async ( + input: StartMetricsExportCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/start-metrics-export"); + let body: any; + body = JSON.stringify( + take(input, { + bucketName: [], + clientToken: [true, (_) => _ ?? generateIdempotencyToken()], + }) + ); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1StartResourceGroupingRecommendationTaskCommand */ @@ -2246,6 +2327,30 @@ export const de_DescribeDraftAppVersionResourcesImportStatusCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DescribeMetricsExportCommand + */ +export const de_DescribeMetricsExportCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + errorMessage: __expectString, + exportLocation: _json, + metricsExportId: __expectString, + status: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1DescribeResiliencyPolicyCommand */ @@ -2583,6 +2688,28 @@ export const de_ListAppVersionsCommand = async ( return contents; }; +/** + * deserializeAws_restJson1ListMetricsCommand + */ +export const de_ListMetricsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + nextToken: __expectString, + rows: _json, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1ListRecommendationTemplatesCommand */ @@ -2894,6 +3021,28 @@ export const de_StartAppAssessmentCommand = async ( return contents; }; +/** + * deserializeAws_restJson1StartMetricsExportCommand + */ +export const de_StartMetricsExportCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + metricsExportId: __expectString, + status: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1StartResourceGroupingRecommendationTaskCommand */ @@ -3253,6 +3402,10 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont // se_ArnList omitted. +// se_Condition omitted. + +// se_ConditionList omitted. + // se_DisruptionPolicy omitted. // se_EksNamespaceList omitted. @@ -3271,6 +3424,10 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont // se_FailurePolicy omitted. +// se_Field omitted. + +// se_FieldList omitted. + // se_IamRoleArnList omitted. // se_LogicalResourceId omitted. @@ -3291,6 +3448,10 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont // se_ResourceMappingList omitted. +// se_Sort omitted. + +// se_SortList omitted. + // se_String255List omitted. // se_TagMap omitted. @@ -3773,6 +3934,10 @@ const de_ResiliencyScore = (output: any, context: __SerdeContext): ResiliencySco // de_ResourceMappingList omitted. +// de_Row omitted. + +// de_RowList omitted. + // de_S3Location omitted. /** diff --git a/codegen/sdk-codegen/aws-models/resiliencehub.json b/codegen/sdk-codegen/aws-models/resiliencehub.json index 2fbaaa7562b0..6b937f01b5ab 100644 --- a/codegen/sdk-codegen/aws-models/resiliencehub.json +++ b/codegen/sdk-codegen/aws-models/resiliencehub.json @@ -75,7 +75,7 @@ "entries": { "target": "com.amazonaws.resiliencehub#AcceptGroupingRecommendationEntries", "traits": { - "smithy.api#documentation": "

Indicates the list of resource grouping recommendations you want to include in your application.

", + "smithy.api#documentation": "

List of resource grouping recommendations you want to include in your application.

", "smithy.api#required": {} } } @@ -97,7 +97,7 @@ "failedEntries": { "target": "com.amazonaws.resiliencehub#FailedGroupingRecommendationEntries", "traits": { - "smithy.api#documentation": "

Indicates the list of resource grouping recommendations that could not be included in your application.

", + "smithy.api#documentation": "

List of resource grouping recommendations that could not be included in your application.

", "smithy.api#required": {} } } @@ -385,7 +385,7 @@ "creationTime": { "target": "com.amazonaws.resiliencehub#TimeStamp", "traits": { - "smithy.api#documentation": "

Date and time when the app was created.

", + "smithy.api#documentation": "

Date and time when the application was created.

", "smithy.api#required": {} } }, @@ -1300,6 +1300,9 @@ { "target": "com.amazonaws.resiliencehub#DescribeDraftAppVersionResourcesImportStatus" }, + { + "target": "com.amazonaws.resiliencehub#DescribeMetricsExport" + }, { "target": "com.amazonaws.resiliencehub#DescribeResiliencyPolicy" }, @@ -1345,6 +1348,9 @@ { "target": "com.amazonaws.resiliencehub#ListAppVersions" }, + { + "target": "com.amazonaws.resiliencehub#ListMetrics" + }, { "target": "com.amazonaws.resiliencehub#ListRecommendationTemplates" }, @@ -1387,6 +1393,9 @@ { "target": "com.amazonaws.resiliencehub#StartAppAssessment" }, + { + "target": "com.amazonaws.resiliencehub#StartMetricsExport" + }, { "target": "com.amazonaws.resiliencehub#StartResourceGroupingRecommendationTask" }, @@ -2477,7 +2486,7 @@ "min": 1, "max": 63 }, - "smithy.api#pattern": "^[A-za-z0-9_.-]{0,63}$" + "smithy.api#pattern": "^[A-Za-z0-9_.-]{0,63}$" } }, "com.amazonaws.resiliencehub#ComplianceDrift": { @@ -2624,6 +2633,87 @@ "target": "com.amazonaws.resiliencehub#ComponentRecommendation" } }, + "com.amazonaws.resiliencehub#Condition": { + "type": "structure", + "members": { + "field": { + "target": "com.amazonaws.resiliencehub#String255", + "traits": { + "smithy.api#documentation": "

Indicates the field in the metric.

", + "smithy.api#required": {} + } + }, + "operator": { + "target": "com.amazonaws.resiliencehub#ConditionOperatorType", + "traits": { + "smithy.api#documentation": "

Indicates the type of operator or comparison to be used when evaluating a condition against the specified field.

", + "smithy.api#required": {} + } + }, + "value": { + "target": "com.amazonaws.resiliencehub#String255", + "traits": { + "smithy.api#documentation": "

Indicates the value or data against which a condition is evaluated.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Indicates the condition based on which you want to filter the metrics.

" + } + }, + "com.amazonaws.resiliencehub#ConditionList": { + "type": "list", + "member": { + "target": "com.amazonaws.resiliencehub#Condition" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, + "com.amazonaws.resiliencehub#ConditionOperatorType": { + "type": "enum", + "members": { + "EQUALS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Equals" + } + }, + "NOT_EQUALS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NotEquals" + } + }, + "GREATER_THEN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GreaterThen" + } + }, + "GREATER_OR_EQUALS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GreaterOrEquals" + } + }, + "LESS_THEN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LessThen" + } + }, + "LESS_OR_EQUALS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LessOrEquals" + } + } + } + }, "com.amazonaws.resiliencehub#ConfigRecommendation": { "type": "structure", "members": { @@ -3335,14 +3425,14 @@ "policyName": { "target": "com.amazonaws.resiliencehub#EntityName", "traits": { - "smithy.api#documentation": "

The name of the policy

", + "smithy.api#documentation": "

Name of the resiliency policy.

", "smithy.api#required": {} } }, "policyDescription": { "target": "com.amazonaws.resiliencehub#EntityDescription", "traits": { - "smithy.api#documentation": "

The description for the policy.

" + "smithy.api#documentation": "

Description of the resiliency policy.

" } }, "dataLocationConstraint": { @@ -4667,6 +4757,89 @@ } } }, + "com.amazonaws.resiliencehub#DescribeMetricsExport": { + "type": "operation", + "input": { + "target": "com.amazonaws.resiliencehub#DescribeMetricsExportRequest" + }, + "output": { + "target": "com.amazonaws.resiliencehub#DescribeMetricsExportResponse" + }, + "errors": [ + { + "target": "com.amazonaws.resiliencehub#AccessDeniedException" + }, + { + "target": "com.amazonaws.resiliencehub#InternalServerException" + }, + { + "target": "com.amazonaws.resiliencehub#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.resiliencehub#ThrottlingException" + }, + { + "target": "com.amazonaws.resiliencehub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Describes the metrics of the application configuration being exported.

", + "smithy.api#http": { + "method": "POST", + "uri": "/describe-metrics-export", + "code": 200 + } + } + }, + "com.amazonaws.resiliencehub#DescribeMetricsExportRequest": { + "type": "structure", + "members": { + "metricsExportId": { + "target": "com.amazonaws.resiliencehub#String255", + "traits": { + "smithy.api#documentation": "

Identifier of the metrics export task.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.resiliencehub#DescribeMetricsExportResponse": { + "type": "structure", + "members": { + "metricsExportId": { + "target": "com.amazonaws.resiliencehub#String255", + "traits": { + "smithy.api#documentation": "

Identifier for the metrics export task.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.resiliencehub#MetricsExportStatusType", + "traits": { + "smithy.api#documentation": "

Indicates the status of the metrics export task.

", + "smithy.api#required": {} + } + }, + "exportLocation": { + "target": "com.amazonaws.resiliencehub#S3Location", + "traits": { + "smithy.api#documentation": "

Specifies the name of the Amazon S3 bucket where the exported metrics is stored.

" + } + }, + "errorMessage": { + "target": "com.amazonaws.resiliencehub#String500", + "traits": { + "smithy.api#documentation": "

Explains the error that occurred while exporting the metrics.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.resiliencehub#DescribeResiliencyPolicy": { "type": "operation", "input": { @@ -4772,7 +4945,7 @@ "groupingId": { "target": "com.amazonaws.resiliencehub#String255", "traits": { - "smithy.api#documentation": "

Indicates the identifier of the grouping recommendation task.

" + "smithy.api#documentation": "

Identifier of the grouping recommendation task.

" } } }, @@ -4786,7 +4959,7 @@ "groupingId": { "target": "com.amazonaws.resiliencehub#String255", "traits": { - "smithy.api#documentation": "

Indicates the identifier of the grouping recommendation task.

", + "smithy.api#documentation": "

Identifier of the grouping recommendation task.

", "smithy.api#required": {} } }, @@ -4800,7 +4973,7 @@ "errorMessage": { "target": "com.amazonaws.resiliencehub#String500", "traits": { - "smithy.api#documentation": "

Indicates the error that occurred while generating a grouping recommendation.

" + "smithy.api#documentation": "

Error that occurred while generating a grouping recommendation.

" } } }, @@ -5301,6 +5474,74 @@ "smithy.api#documentation": "

Defines a failure policy.

" } }, + "com.amazonaws.resiliencehub#Field": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.resiliencehub#String255", + "traits": { + "smithy.api#documentation": "

Name of the field.

", + "smithy.api#required": {} + } + }, + "aggregation": { + "target": "com.amazonaws.resiliencehub#FieldAggregationType", + "traits": { + "smithy.api#documentation": "

(Optional) Indicates the type of aggregation or summary operation (such as Sum, Average, and so on) to be performed on a particular field or set of data.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Indicates the field or attribute of a resource or data structure on which a condition is being applied or evaluated.

" + } + }, + "com.amazonaws.resiliencehub#FieldAggregationType": { + "type": "enum", + "members": { + "MIN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Min" + } + }, + "MAX": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Max" + } + }, + "SUM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Sum" + } + }, + "AVG": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Avg" + } + }, + "COUNT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Count" + } + } + } + }, + "com.amazonaws.resiliencehub#FieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.resiliencehub#Field" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, "com.amazonaws.resiliencehub#GroupingAppComponent": { "type": "structure", "members": { @@ -5830,7 +6071,7 @@ } ], "traits": { - "smithy.api#documentation": "

Indicates the list of compliance drifts that were detected while running an\n assessment.

", + "smithy.api#documentation": "

List of compliance drifts that were detected while running an\n assessment.

", "smithy.api#http": { "method": "POST", "uri": "/list-app-assessment-compliance-drifts", @@ -5862,7 +6103,7 @@ "maxResults": { "target": "com.amazonaws.resiliencehub#MaxResults", "traits": { - "smithy.api#documentation": "

Indicates the maximum number of compliance drifts requested.

" + "smithy.api#documentation": "

Maximum number of compliance drifts requested.

" } } }, @@ -5914,7 +6155,7 @@ } ], "traits": { - "smithy.api#documentation": "

Indicates the list of resource drifts that were detected while running an\n assessment.

", + "smithy.api#documentation": "

List of resource drifts that were detected while running an\n assessment.

", "smithy.api#http": { "method": "POST", "uri": "/list-app-assessment-resource-drifts", @@ -5947,7 +6188,7 @@ "maxResults": { "target": "com.amazonaws.resiliencehub#MaxResults", "traits": { - "smithy.api#documentation": "

Indicates the maximum number of drift results to include in the response. If more results\n exist than the specified MaxResults value, a token is included in the response so\n that the remaining results can be retrieved.

" + "smithy.api#documentation": "

Maximum number of drift results to include in the response. If more results\n exist than the specified MaxResults value, a token is included in the response so\n that the remaining results can be retrieved.

" } } }, @@ -6322,7 +6563,7 @@ "maxResults": { "target": "com.amazonaws.resiliencehub#MaxResults", "traits": { - "smithy.api#documentation": "

Maximum number of input sources to be displayed per Resilience Hub\n application.

" + "smithy.api#documentation": "

Maximum number of input sources to be displayed per Resilience Hub application.

" } } } @@ -6802,14 +7043,14 @@ "fromLastAssessmentTime": { "target": "com.amazonaws.resiliencehub#TimeStamp", "traits": { - "smithy.api#documentation": "

Indicates the lower limit of the range that is used to filter applications based on their\n last assessment times.

", + "smithy.api#documentation": "

Lower limit of the range that is used to filter applications based on their\n last assessment times.

", "smithy.api#httpQuery": "fromLastAssessmentTime" } }, "toLastAssessmentTime": { "target": "com.amazonaws.resiliencehub#TimeStamp", "traits": { - "smithy.api#documentation": "

Indicates the upper limit of the range that is used to filter the applications based on\n their last assessment times.

", + "smithy.api#documentation": "

Upper limit of the range that is used to filter the applications based on\n their last assessment times.

", "smithy.api#httpQuery": "toLastAssessmentTime" } }, @@ -6847,6 +7088,109 @@ } } }, + "com.amazonaws.resiliencehub#ListMetrics": { + "type": "operation", + "input": { + "target": "com.amazonaws.resiliencehub#ListMetricsRequest" + }, + "output": { + "target": "com.amazonaws.resiliencehub#ListMetricsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.resiliencehub#AccessDeniedException" + }, + { + "target": "com.amazonaws.resiliencehub#InternalServerException" + }, + { + "target": "com.amazonaws.resiliencehub#ThrottlingException" + }, + { + "target": "com.amazonaws.resiliencehub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the metrics that can be exported.

", + "smithy.api#http": { + "method": "POST", + "uri": "/list-metrics", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "rows" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.resiliencehub#ListMetricsRequest": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.resiliencehub#NextToken", + "traits": { + "smithy.api#documentation": "

Null, or the token from a previous call to get the next set of results.

" + } + }, + "maxResults": { + "target": "com.amazonaws.resiliencehub#MaxResults", + "traits": { + "smithy.api#documentation": "

Maximum number of results to include in the response. If more results exist than the specified \nMaxResults value, a token is included in the response so that the remaining results can be retrieved.

" + } + }, + "fields": { + "target": "com.amazonaws.resiliencehub#FieldList", + "traits": { + "smithy.api#documentation": "

Indicates the list of fields in the data source.

" + } + }, + "dataSource": { + "target": "com.amazonaws.resiliencehub#String255", + "traits": { + "smithy.api#documentation": "

Indicates the data source of the metrics.

" + } + }, + "conditions": { + "target": "com.amazonaws.resiliencehub#ConditionList", + "traits": { + "smithy.api#documentation": "

Indicates the list of all the conditions that were applied on the metrics.

" + } + }, + "sorts": { + "target": "com.amazonaws.resiliencehub#SortList", + "traits": { + "smithy.api#documentation": "

(Optional) Indicates the order in which you want to sort the fields in the metrics. By default, the fields are sorted in the ascending order.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.resiliencehub#ListMetricsResponse": { + "type": "structure", + "members": { + "rows": { + "target": "com.amazonaws.resiliencehub#RowList", + "traits": { + "smithy.api#documentation": "

Specifies all the list of metric values for each row of metrics.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.resiliencehub#NextToken", + "traits": { + "smithy.api#documentation": "

Token for the next set of results, or null if there are no more results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.resiliencehub#ListRecommendationTemplates": { "type": "operation", "input": { @@ -7001,7 +7345,7 @@ "policyName": { "target": "com.amazonaws.resiliencehub#EntityName", "traits": { - "smithy.api#documentation": "

The name of the policy

", + "smithy.api#documentation": "

Name of the resiliency policy.

", "smithy.api#httpQuery": "policyName" } }, @@ -7595,6 +7939,35 @@ } } }, + "com.amazonaws.resiliencehub#MetricsExportStatusType": { + "type": "enum", + "members": { + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Pending" + } + }, + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InProgress" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Failed" + } + }, + "SUCCESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Success" + } + } + } + }, "com.amazonaws.resiliencehub#NextToken": { "type": "string", "traits": { @@ -8320,7 +8693,7 @@ "entries": { "target": "com.amazonaws.resiliencehub#RejectGroupingRecommendationEntries", "traits": { - "smithy.api#documentation": "

Indicates the list of resource grouping recommendations you have selected to exclude from your application.

", + "smithy.api#documentation": "

List of resource grouping recommendations you have selected to exclude from your application.

", "smithy.api#required": {} } } @@ -8342,7 +8715,7 @@ "failedEntries": { "target": "com.amazonaws.resiliencehub#FailedGroupingRecommendationEntries", "traits": { - "smithy.api#documentation": "

Indicates the list of resource grouping recommendations that failed to get excluded in your application.

", + "smithy.api#documentation": "

List of resource grouping recommendations that failed to get excluded in your application.

", "smithy.api#required": {} } } @@ -8512,7 +8885,7 @@ "policyDescription": { "target": "com.amazonaws.resiliencehub#EntityDescription", "traits": { - "smithy.api#documentation": "

The description for the policy.

" + "smithy.api#documentation": "

Description of the resiliency policy.

" } }, "dataLocationConstraint": { @@ -9126,6 +9499,18 @@ "com.amazonaws.resiliencehub#RetryAfterSeconds": { "type": "integer" }, + "com.amazonaws.resiliencehub#Row": { + "type": "list", + "member": { + "target": "com.amazonaws.resiliencehub#String255" + } + }, + "com.amazonaws.resiliencehub#RowList": { + "type": "list", + "member": { + "target": "com.amazonaws.resiliencehub#Row" + } + }, "com.amazonaws.resiliencehub#S3Location": { "type": "structure", "members": { @@ -9304,6 +9689,39 @@ } } }, + "com.amazonaws.resiliencehub#Sort": { + "type": "structure", + "members": { + "field": { + "target": "com.amazonaws.resiliencehub#String255", + "traits": { + "smithy.api#documentation": "

Indicates the order in which you want to sort the metrics. By default, the list is sorted in ascending order. To sort the list in descending order, set this field to False.

", + "smithy.api#required": {} + } + }, + "ascending": { + "target": "com.amazonaws.resiliencehub#BooleanOptional", + "traits": { + "smithy.api#documentation": "

Indicates the name or identifier of the field or attribute that should be used as the basis for sorting the metrics.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Indicates the sorting order of the fields in the metrics.

" + } + }, + "com.amazonaws.resiliencehub#SortList": { + "type": "list", + "member": { + "target": "com.amazonaws.resiliencehub#Sort" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, "com.amazonaws.resiliencehub#SpecReferenceId": { "type": "string", "traits": { @@ -9404,6 +9822,86 @@ } } }, + "com.amazonaws.resiliencehub#StartMetricsExport": { + "type": "operation", + "input": { + "target": "com.amazonaws.resiliencehub#StartMetricsExportRequest" + }, + "output": { + "target": "com.amazonaws.resiliencehub#StartMetricsExportResponse" + }, + "errors": [ + { + "target": "com.amazonaws.resiliencehub#AccessDeniedException" + }, + { + "target": "com.amazonaws.resiliencehub#ConflictException" + }, + { + "target": "com.amazonaws.resiliencehub#InternalServerException" + }, + { + "target": "com.amazonaws.resiliencehub#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.resiliencehub#ThrottlingException" + }, + { + "target": "com.amazonaws.resiliencehub#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Initiates the export task of metrics.

", + "smithy.api#http": { + "method": "POST", + "uri": "/start-metrics-export", + "code": 200 + } + } + }, + "com.amazonaws.resiliencehub#StartMetricsExportRequest": { + "type": "structure", + "members": { + "bucketName": { + "target": "com.amazonaws.resiliencehub#EntityName", + "traits": { + "smithy.api#documentation": "

(Optional) Specifies the name of the Amazon Simple Storage Service bucket where the exported metrics will be stored.

" + } + }, + "clientToken": { + "target": "com.amazonaws.resiliencehub#ClientToken", + "traits": { + "smithy.api#documentation": "

Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. \nYou should not reuse the same client token for other API requests.

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.resiliencehub#StartMetricsExportResponse": { + "type": "structure", + "members": { + "metricsExportId": { + "target": "com.amazonaws.resiliencehub#String255", + "traits": { + "smithy.api#documentation": "

Identifier of the metrics export task.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.resiliencehub#MetricsExportStatusType", + "traits": { + "smithy.api#documentation": "

Indicates the status of the metrics export task.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.resiliencehub#StartResourceGroupingRecommendationTask": { "type": "operation", "input": { @@ -9469,7 +9967,7 @@ "groupingId": { "target": "com.amazonaws.resiliencehub#String255", "traits": { - "smithy.api#documentation": "

Indicates the identifier of the grouping recommendation task.

", + "smithy.api#documentation": "

Identifier of the grouping recommendation task.

", "smithy.api#required": {} } }, @@ -9483,7 +9981,7 @@ "errorMessage": { "target": "com.amazonaws.resiliencehub#String500", "traits": { - "smithy.api#documentation": "

Indicates the error that occurred while executing a grouping recommendation task.

" + "smithy.api#documentation": "

Error that occurred while executing a grouping recommendation task.

" } } }, @@ -10487,19 +10985,19 @@ "policyName": { "target": "com.amazonaws.resiliencehub#EntityName", "traits": { - "smithy.api#documentation": "

The name of the policy

" + "smithy.api#documentation": "

Name of the resiliency policy.

" } }, "policyDescription": { "target": "com.amazonaws.resiliencehub#EntityDescription", "traits": { - "smithy.api#documentation": "

The description for the policy.

" + "smithy.api#documentation": "

Description of the resiliency policy.

" } }, "dataLocationConstraint": { "target": "com.amazonaws.resiliencehub#DataLocationConstraint", "traits": { - "smithy.api#documentation": "

Specifies a high-level geographical location constraint for where your resilience policy\n data can be stored.

" + "smithy.api#documentation": "

Specifies a high-level geographical location constraint for where your resilience policy data can be stored.

" } }, "tier": { @@ -10511,7 +11009,7 @@ "policy": { "target": "com.amazonaws.resiliencehub#DisruptionPolicy", "traits": { - "smithy.api#documentation": "

The type of resiliency policy to be created, including the recovery time objective (RTO)\n and recovery point objective (RPO) in seconds.

" + "smithy.api#documentation": "

Resiliency policy to be created, including the recovery time objective (RTO) and recovery point objective (RPO) in seconds.

" } } } @@ -10522,7 +11020,7 @@ "policy": { "target": "com.amazonaws.resiliencehub#ResiliencyPolicy", "traits": { - "smithy.api#documentation": "

The type of resiliency policy that was updated, including the recovery time objective\n (RTO) and recovery point objective (RPO) in seconds.

", + "smithy.api#documentation": "

The resiliency policy that was updated, including the recovery time objective\n (RTO) and recovery point objective (RPO) in seconds.

", "smithy.api#required": {} } }