CreateResiliencyPolicy - AWS Resilience Hub

CreateResiliencyPolicy

Creates a resiliency policy for an application.

Note

AWS 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.

Request Syntax

POST /create-resiliency-policy HTTP/1.1 Content-type: application/json { "clientToken": "string", "dataLocationConstraint": "string", "policy": { "string" : { "rpoInSecs": number, "rtoInSecs": number } }, "policyDescription": "string", "policyName": "string", "tags": { "string" : "string" }, "tier": "string" }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

clientToken

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.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 63.

Pattern: ^[A-za-z0-9_.-]{0,63}$

Required: No

dataLocationConstraint

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

Type: String

Valid Values: AnyLocation | SameContinent | SameCountry

Required: No

policy

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

Type: String to FailurePolicy object map

Valid Keys: Software | Hardware | AZ | Region

Required: Yes

policyDescription

Description of the resiliency policy.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 500.

Required: No

policyName

Name of the resiliency policy.

Type: String

Pattern: ^[A-Za-z0-9][A-Za-z0-9_\-]{1,59}$

Required: Yes

tags

Tags assigned to the resource. A tag is a label that you assign to an AWS resource. Each tag consists of a key/value pair.

Type: String to string map

Map Entries: Maximum number of 50 items.

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Key Pattern: ^[^\x00-\x1f\x22]+$

Value Length Constraints: Minimum length of 0. Maximum length of 256.

Value Pattern: ^[^\x00-\x1f\x22]*$

Required: No

tier

The tier for this resiliency policy, ranging from the highest severity (MissionCritical) to lowest (NonCritical).

Type: String

Valid Values: MissionCritical | Critical | Important | CoreServices | NonCritical | NotApplicable

Required: Yes

Response Syntax

HTTP/1.1 200 Content-type: application/json { "policy": { "creationTime": number, "dataLocationConstraint": "string", "estimatedCostTier": "string", "policy": { "string" : { "rpoInSecs": number, "rtoInSecs": number } }, "policyArn": "string", "policyDescription": "string", "policyName": "string", "tags": { "string" : "string" }, "tier": "string" } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

policy

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

Type: ResiliencyPolicy object

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

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.

HTTP Status Code: 403

ConflictException

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.

HTTP Status Code: 409

InternalServerException

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

HTTP Status Code: 500

ServiceQuotaExceededException

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.

HTTP Status Code: 402

ThrottlingException

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

HTTP Status Code: 429

ValidationException

This exception occurs when a request is not valid.

HTTP Status Code: 400

Examples

Sample ResilienceHub ResiliencyPolicy

This example illustrates one usage of CreateResiliencyPolicy.

AWSTemplateFormatVersion: 2010-09-09 Resources: ResiliencyPolicyCFNCanaryStack: Type: AWS::ResilienceHub::ResiliencyPolicy Properties: PolicyName: "ResiliencyPolicyCFNCanaryExample" PolicyDescription: 'ResilienceHub TestResiliencyPolicy for CFN' Tier: 'MissionCritical' Tags: TagKey: "" Policy: Software: RtoInSecs: 10 RpoInSecs: 10 Hardware: RtoInSecs: 10 RpoInSecs: 10 AZ: RtoInSecs: 10 RpoInSecs: 10 Region: RtoInSecs: 10 RpoInSecs: 10

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: