import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateResiliencyPolicyRequest, CreateResiliencyPolicyResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreateResiliencyPolicyCommand}. */ export interface CreateResiliencyPolicyCommandInput extends CreateResiliencyPolicyRequest { } /** * @public * * The output of {@link CreateResiliencyPolicyCommand}. */ export interface CreateResiliencyPolicyCommandOutput extends CreateResiliencyPolicyResponse, __MetadataBearer { } declare const CreateResiliencyPolicyCommand_base: { new (input: CreateResiliencyPolicyCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateResiliencyPolicyCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Creates a resiliency policy for an application.

* *

Resilience Hub allows you to provide a value of zero for rtoInSecs * and rpoInSecs of your resiliency policy. But, while assessing your application, * the lowest possible assessment result is near zero. Hence, if you provide value zero for * rtoInSecs and rpoInSecs, the estimated workload RTO and * estimated workload RPO result will be near zero and the Compliance * status for your application will be set to Policy * breached.

*
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { ResiliencehubClient, CreateResiliencyPolicyCommand } from "@aws-sdk/client-resiliencehub"; // ES Modules import * // const { ResiliencehubClient, CreateResiliencyPolicyCommand } = require("@aws-sdk/client-resiliencehub"); // CommonJS import * // import type { ResiliencehubClientConfig } from "@aws-sdk/client-resiliencehub"; * const config = {}; // type is ResiliencehubClientConfig * const client = new ResiliencehubClient(config); * const input = { // CreateResiliencyPolicyRequest * policyName: "STRING_VALUE", // required * policyDescription: "STRING_VALUE", * dataLocationConstraint: "AnyLocation" || "SameContinent" || "SameCountry", * tier: "MissionCritical" || "Critical" || "Important" || "CoreServices" || "NonCritical" || "NotApplicable", // required * policy: { // DisruptionPolicy // required * "": { // FailurePolicy * rtoInSecs: Number("int"), // required * rpoInSecs: Number("int"), // required * }, * }, * clientToken: "STRING_VALUE", * tags: { // TagMap * "": "STRING_VALUE", * }, * }; * const command = new CreateResiliencyPolicyCommand(input); * const response = await client.send(command); * // { // CreateResiliencyPolicyResponse * // policy: { // ResiliencyPolicy * // policyArn: "STRING_VALUE", * // policyName: "STRING_VALUE", * // policyDescription: "STRING_VALUE", * // dataLocationConstraint: "AnyLocation" || "SameContinent" || "SameCountry", * // tier: "MissionCritical" || "Critical" || "Important" || "CoreServices" || "NonCritical" || "NotApplicable", * // estimatedCostTier: "L1" || "L2" || "L3" || "L4", * // policy: { // DisruptionPolicy * // "": { // FailurePolicy * // rtoInSecs: Number("int"), // required * // rpoInSecs: Number("int"), // required * // }, * // }, * // creationTime: new Date("TIMESTAMP"), * // tags: { // TagMap * // "": "STRING_VALUE", * // }, * // }, * // }; * * ``` * * @param CreateResiliencyPolicyCommandInput - {@link CreateResiliencyPolicyCommandInput} * @returns {@link CreateResiliencyPolicyCommandOutput} * @see {@link CreateResiliencyPolicyCommandInput} for command's `input` shape. * @see {@link CreateResiliencyPolicyCommandOutput} 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 declare class CreateResiliencyPolicyCommand extends CreateResiliencyPolicyCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateResiliencyPolicyRequest; output: CreateResiliencyPolicyResponse; }; sdk: { input: CreateResiliencyPolicyCommandInput; output: CreateResiliencyPolicyCommandOutput; }; }; }