AWS Resilience Hub

2022/05/16 - AWS Resilience Hub - 13 updated api methods

Changes  In this release, we are introducing support for Amazon Elastic Container Service, Amazon Route 53, AWS Elastic Disaster Recovery, AWS Backup in addition to the existing supported Services. This release also supports Terraform file input from S3 and scheduling daily assessments

AddDraftAppVersionResourceMappings (updated) Link ¶
Changes (both)
{'resourceMappings': {'mappingType': {'Terraform'},
                      'terraformSourceName': 'string'}}

Adds the resource mapping for the draft application version.

See also: AWS API Documentation

Request Syntax

client.add_draft_app_version_resource_mappings(
    appArn='string',
    resourceMappings=[
        {
            'appRegistryAppName': 'string',
            'logicalStackName': 'string',
            'mappingType': 'CfnStack'|'Resource'|'AppRegistryApp'|'ResourceGroup'|'Terraform',
            'physicalResourceId': {
                'awsAccountId': 'string',
                'awsRegion': 'string',
                'identifier': 'string',
                'type': 'Arn'|'Native'
            },
            'resourceGroupName': 'string',
            'resourceName': 'string',
            'terraformSourceName': 'string'
        },
    ]
)
type appArn

string

param appArn

[REQUIRED]

The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

type resourceMappings

list

param resourceMappings

[REQUIRED]

Mappings used to map logical resources from the template to physical resources. You can use the mapping type CFN_STACK if the application template uses a logical stack name. Or you can map individual resources by using the mapping type RESOURCE . We recommend using the mapping type CFN_STACK if the application is backed by a CloudFormation stack.

  • (dict) --

    Defines a resource mapping.

    • appRegistryAppName (string) --

      The name of the application this resource is mapped to.

    • logicalStackName (string) --

      The name of the CloudFormation stack this resource is mapped to.

    • mappingType (string) -- [REQUIRED]

      Specifies the type of resource mapping.

      AppRegistryApp

      The resource is mapped to another application. The name of the application is contained in the appRegistryAppName property.

      CfnStack

      The resource is mapped to a CloudFormation stack. The name of the CloudFormation stack is contained in the logicalStackName property.

      Resource

      The resource is mapped to another resource. The name of the resource is contained in the resourceName property.

      ResourceGroup

      The resource is mapped to a resource group. The name of the resource group is contained in the resourceGroupName property.

    • physicalResourceId (dict) -- [REQUIRED]

      The identifier of this resource.

      • awsAccountId (string) --

        The Amazon Web Services account that owns the physical resource.

      • awsRegion (string) --

        The Amazon Web Services Region that the physical resource is located in.

      • identifier (string) -- [REQUIRED]

        The identifier of the physical resource.

      • type (string) -- [REQUIRED]

        Specifies the type of physical resource identifier.

        Arn

        The resource identifier is an Amazon Resource Name (ARN) .

        Native

        The resource identifier is a Resilience Hub-native identifier.

    • resourceGroupName (string) --

      The name of the resource group this resource is mapped to.

    • resourceName (string) --

      The name of the resource this resource is mapped to.

    • terraformSourceName (string) --

      The short name of the Terraform source.

rtype

dict

returns

Response Syntax

{
    'appArn': 'string',
    'appVersion': 'string',
    'resourceMappings': [
        {
            'appRegistryAppName': 'string',
            'logicalStackName': 'string',
            'mappingType': 'CfnStack'|'Resource'|'AppRegistryApp'|'ResourceGroup'|'Terraform',
            'physicalResourceId': {
                'awsAccountId': 'string',
                'awsRegion': 'string',
                'identifier': 'string',
                'type': 'Arn'|'Native'
            },
            'resourceGroupName': 'string',
            'resourceName': 'string',
            'terraformSourceName': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • appArn (string) --

      The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

    • appVersion (string) --

      The version of the application.

    • resourceMappings (list) --

      Mappings used to map logical resources from the template to physical resources. You can use the mapping type CFN_STACK if the application template uses a logical stack name. Or you can map individual resources by using the mapping type RESOURCE . We recommend using the mapping type CFN_STACK if the application is backed by a CloudFormation stack.

      • (dict) --

        Defines a resource mapping.

        • appRegistryAppName (string) --

          The name of the application this resource is mapped to.

        • logicalStackName (string) --

          The name of the CloudFormation stack this resource is mapped to.

        • mappingType (string) --

          Specifies the type of resource mapping.

          AppRegistryApp

          The resource is mapped to another application. The name of the application is contained in the appRegistryAppName property.

          CfnStack

          The resource is mapped to a CloudFormation stack. The name of the CloudFormation stack is contained in the logicalStackName property.

          Resource

          The resource is mapped to another resource. The name of the resource is contained in the resourceName property.

          ResourceGroup

          The resource is mapped to a resource group. The name of the resource group is contained in the resourceGroupName property.

        • physicalResourceId (dict) --

          The identifier of this resource.

          • awsAccountId (string) --

            The Amazon Web Services account that owns the physical resource.

          • awsRegion (string) --

            The Amazon Web Services Region that the physical resource is located in.

          • identifier (string) --

            The identifier of the physical resource.

          • type (string) --

            Specifies the type of physical resource identifier.

            Arn

            The resource identifier is an Amazon Resource Name (ARN) .

            Native

            The resource identifier is a Resilience Hub-native identifier.

        • resourceGroupName (string) --

          The name of the resource group this resource is mapped to.

        • resourceName (string) --

          The name of the resource this resource is mapped to.

        • terraformSourceName (string) --

          The short name of the Terraform source.

CreateApp (updated) Link ¶
Changes (request, response)
Request
{'assessmentSchedule': 'Disabled | Daily'}
Response
{'app': {'assessmentSchedule': 'Disabled | Daily'}}

Creates a Resilience Hub application. A Resilience Hub application is a collection of Amazon Web Services resources structured to prevent and recover Amazon Web Services application disruptions. To describe a Resilience Hub application, you provide an application name, resources from one or more–up to five–CloudFormation stacks, and an appropriate resiliency policy.

<p>After you create a Resilience Hub application, you publish it so that you can run a resiliency assessment on it. You can then use recommendations from the assessment to improve resiliency by running another assessment, comparing results, and then iterating the process until you achieve your goals for recovery time objective (RTO) and recovery point objective (RPO).</p>

See also: AWS API Documentation

Request Syntax

client.create_app(
    assessmentSchedule='Disabled'|'Daily',
    clientToken='string',
    description='string',
    name='string',
    policyArn='string',
    tags={
        'string': 'string'
    }
)
type assessmentSchedule

string

param assessmentSchedule

Assessment execution schedule with 'Daily' or 'Disabled' values.

type clientToken

string

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

This field is autopopulated if not provided.

type description

string

param description

The optional description for an app.

type name

string

param name

[REQUIRED]

The name for the application.

type policyArn

string

param policyArn

The Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn: partition :resiliencehub: region : account :resiliency-policy/ policy-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

type tags

dict

param tags

The tags assigned to the resource. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key/value pair.

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{
    'app': {
        'appArn': 'string',
        'assessmentSchedule': 'Disabled'|'Daily',
        'complianceStatus': 'PolicyBreached'|'PolicyMet'|'NotAssessed'|'ChangesDetected',
        'creationTime': datetime(2015, 1, 1),
        'description': 'string',
        'lastAppComplianceEvaluationTime': datetime(2015, 1, 1),
        'lastResiliencyScoreEvaluationTime': datetime(2015, 1, 1),
        'name': 'string',
        'policyArn': 'string',
        'resiliencyScore': 123.0,
        'status': 'Active'|'Deleting',
        'tags': {
            'string': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • app (dict) --

      The created application returned as an object with details including compliance status, creation time, description, resiliency score, and more.

      • appArn (string) --

        The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

      • assessmentSchedule (string) --

        Assessment execution schedule with 'Daily' or 'Disabled' values.

      • complianceStatus (string) --

        The current status of compliance for the resiliency policy.

      • creationTime (datetime) --

        The timestamp for when the app was created.

      • description (string) --

        The optional description for an app.

      • lastAppComplianceEvaluationTime (datetime) --

        The timestamp for the most recent compliance evaluation.

      • lastResiliencyScoreEvaluationTime (datetime) --

        The timestamp for the most recent resiliency score evaluation.

      • name (string) --

        The name for the application.

      • policyArn (string) --

        The Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn: partition :resiliencehub: region : account :resiliency-policy/ policy-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

      • resiliencyScore (float) --

        The current resiliency score for the application.

      • status (string) --

        The status of the action.

      • tags (dict) --

        The tags assigned to the resource. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key/value pair.

        • (string) --

          • (string) --

DescribeApp (updated) Link ¶
Changes (response)
{'app': {'assessmentSchedule': 'Disabled | Daily'}}

Describes an AWS Resilience Hub application.

See also: AWS API Documentation

Request Syntax

client.describe_app(
    appArn='string'
)
type appArn

string

param appArn

[REQUIRED]

The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

rtype

dict

returns

Response Syntax

{
    'app': {
        'appArn': 'string',
        'assessmentSchedule': 'Disabled'|'Daily',
        'complianceStatus': 'PolicyBreached'|'PolicyMet'|'NotAssessed'|'ChangesDetected',
        'creationTime': datetime(2015, 1, 1),
        'description': 'string',
        'lastAppComplianceEvaluationTime': datetime(2015, 1, 1),
        'lastResiliencyScoreEvaluationTime': datetime(2015, 1, 1),
        'name': 'string',
        'policyArn': 'string',
        'resiliencyScore': 123.0,
        'status': 'Active'|'Deleting',
        'tags': {
            'string': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • app (dict) --

      The specified application, returned as an object with details including compliance status, creation time, description, resiliency score, and more.

      • appArn (string) --

        The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

      • assessmentSchedule (string) --

        Assessment execution schedule with 'Daily' or 'Disabled' values.

      • complianceStatus (string) --

        The current status of compliance for the resiliency policy.

      • creationTime (datetime) --

        The timestamp for when the app was created.

      • description (string) --

        The optional description for an app.

      • lastAppComplianceEvaluationTime (datetime) --

        The timestamp for the most recent compliance evaluation.

      • lastResiliencyScoreEvaluationTime (datetime) --

        The timestamp for the most recent resiliency score evaluation.

      • name (string) --

        The name for the application.

      • policyArn (string) --

        The Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn: partition :resiliencehub: region : account :resiliency-policy/ policy-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

      • resiliencyScore (float) --

        The current resiliency score for the application.

      • status (string) --

        The status of the action.

      • tags (dict) --

        The tags assigned to the resource. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key/value pair.

        • (string) --

          • (string) --

DescribeAppAssessment (updated) Link ¶
Changes (response)
{'assessment': {'resourceErrorsDetails': {'hasMoreErrors': 'boolean',
                                          'resourceErrors': [{'logicalResourceId': 'string',
                                                              'physicalResourceId': 'string',
                                                              'reason': 'string'}]}}}

Describes an assessment for an AWS Resilience Hub application.

See also: AWS API Documentation

Request Syntax

client.describe_app_assessment(
    assessmentArn='string'
)
type assessmentArn

string

param assessmentArn

[REQUIRED]

The Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn: partition :resiliencehub: region : account :app-assessment/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

rtype

dict

returns

Response Syntax

{
    'assessment': {
        'appArn': 'string',
        'appVersion': 'string',
        'assessmentArn': 'string',
        'assessmentName': 'string',
        'assessmentStatus': 'Pending'|'InProgress'|'Failed'|'Success',
        'compliance': {
            'string': {
                'achievableRpoInSecs': 123,
                'achievableRtoInSecs': 123,
                'complianceStatus': 'PolicyBreached'|'PolicyMet',
                'currentRpoInSecs': 123,
                'currentRtoInSecs': 123,
                'message': 'string',
                'rpoDescription': 'string',
                'rpoReferenceId': 'string',
                'rtoDescription': 'string',
                'rtoReferenceId': 'string'
            }
        },
        'complianceStatus': 'PolicyBreached'|'PolicyMet',
        'cost': {
            'amount': 123.0,
            'currency': 'string',
            'frequency': 'Hourly'|'Daily'|'Monthly'|'Yearly'
        },
        'endTime': datetime(2015, 1, 1),
        'invoker': 'User'|'System',
        'message': 'string',
        'policy': {
            'creationTime': datetime(2015, 1, 1),
            'dataLocationConstraint': 'AnyLocation'|'SameContinent'|'SameCountry',
            'estimatedCostTier': 'L1'|'L2'|'L3'|'L4',
            'policy': {
                'string': {
                    'rpoInSecs': 123,
                    'rtoInSecs': 123
                }
            },
            'policyArn': 'string',
            'policyDescription': 'string',
            'policyName': 'string',
            'tags': {
                'string': 'string'
            },
            'tier': 'MissionCritical'|'Critical'|'Important'|'CoreServices'|'NonCritical'
        },
        'resiliencyScore': {
            'disruptionScore': {
                'string': 123.0
            },
            'score': 123.0
        },
        'resourceErrorsDetails': {
            'hasMoreErrors': True|False,
            'resourceErrors': [
                {
                    'logicalResourceId': 'string',
                    'physicalResourceId': 'string',
                    'reason': 'string'
                },
            ]
        },
        'startTime': datetime(2015, 1, 1),
        'tags': {
            'string': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • assessment (dict) --

      The assessment for an AWS Resilience Hub application, returned as an object. This object includes Amazon Resource Names (ARNs), compliance information, compliance status, cost, messages, resiliency scores, and more.

      • appArn (string) --

        The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

      • appVersion (string) --

        The version of the application.

      • assessmentArn (string) --

        The Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn: partition :resiliencehub: region : account :app-assessment/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

      • assessmentName (string) --

        The name of the assessment.

      • assessmentStatus (string) --

        The current status of the assessment for the resiliency policy.

      • compliance (dict) --

        The application compliance against the resiliency policy.

        • (string) --

          • (dict) --

            Defines the compliance against the resiliency policy for a disruption.

            • achievableRpoInSecs (integer) --

              The Recovery Point Objective (RPO) that is achievable, in seconds.

            • achievableRtoInSecs (integer) --

              The Recovery Time Objective (RTO) that is achievable, in seconds

            • complianceStatus (string) --

              The current status of compliance for the resiliency policy.

            • currentRpoInSecs (integer) --

              The current RPO, in seconds.

            • currentRtoInSecs (integer) --

              The current RTO, in seconds.

            • message (string) --

              The disruption compliance message.

            • rpoDescription (string) --

              The RPO description.

            • rpoReferenceId (string) --

              The RPO reference identifier.

            • rtoDescription (string) --

              The RTO description.

            • rtoReferenceId (string) --

              The RTO reference identifier.

      • complianceStatus (string) --

        The current status of the compliance for the resiliency policy.

      • cost (dict) --

        The cost for the application.

        • amount (float) --

          The cost amount.

        • currency (string) --

          The cost currency, for example USD .

        • frequency (string) --

          The cost frequency.

      • endTime (datetime) --

        The end time for the action.

      • invoker (string) --

        The entity that invoked the assessment.

      • message (string) --

        Error or warning message from the assessment execution

      • policy (dict) --

        The resiliency policy.

        • creationTime (datetime) --

          The timestamp for when the resiliency policy was created.

        • dataLocationConstraint (string) --

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

        • estimatedCostTier (string) --

          Specifies the estimated cost tier of the resiliency policy.

        • policy (dict) --

          The resiliency policy.

          • (string) --

            • (dict) --

              Defines a failure policy.

              • rpoInSecs (integer) --

                The Recovery Point Objective (RPO), in seconds.

              • rtoInSecs (integer) --

                The Recovery Time Objective (RTO), in seconds.

        • policyArn (string) --

          The Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn: partition :resiliencehub: region : account :resiliency-policy/ policy-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

        • policyDescription (string) --

          The description for the policy.

        • policyName (string) --

          The name of the policy

        • tags (dict) --

          The tags assigned to the resource. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key/value pair.

          • (string) --

            • (string) --

        • tier (string) --

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

      • resiliencyScore (dict) --

        The current resiliency score for the application.

        • disruptionScore (dict) --

          The disruption score for a valid key.

          • (string) --

            • (float) --

        • score (float) --

          The outage score for a valid key.

      • resourceErrorsDetails (dict) --

        A resource error object containing a list of errors retrieving an application's resources.

        • hasMoreErrors (boolean) --

          This indicates if there are more errors not listed in the resourceErrors list.

        • resourceErrors (list) --

          A list of errors retrieving an application's resources.

          • (dict) --

            Defines application resource errors.

            • logicalResourceId (string) --

              This is the identifier of the resource.

            • physicalResourceId (string) --

              This is the identifier of the physical resource.

            • reason (string) --

              This is the error message.

      • startTime (datetime) --

        The starting time for the action.

      • tags (dict) --

        The tags assigned to the resource. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key/value pair.

        • (string) --

          • (string) --

ImportResourcesToDraftAppVersion (updated) Link ¶
Changes (both)
{'terraformSources': [{'s3StateFileUrl': 'string'}]}

Imports resources from sources such as a CloudFormation stack, resource-groups, or application registry app to a draft application version.

See also: AWS API Documentation

Request Syntax

client.import_resources_to_draft_app_version(
    appArn='string',
    sourceArns=[
        'string',
    ],
    terraformSources=[
        {
            's3StateFileUrl': 'string'
        },
    ]
)
type appArn

string

param appArn

[REQUIRED]

The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

type sourceArns

list

param sourceArns

The Amazon Resource Names (ARNs) for the resources that you want to import.

  • (string) --

type terraformSources

list

param terraformSources

A list of terraform file s3 URLs you need to import.

  • (dict) --

    The Terraform s3 state file you need to import.

    • s3StateFileUrl (string) -- [REQUIRED]

      The Terraform s3 state file you need to import.

rtype

dict

returns

Response Syntax

{
    'appArn': 'string',
    'appVersion': 'string',
    'sourceArns': [
        'string',
    ],
    'status': 'Pending'|'InProgress'|'Failed'|'Success',
    'terraformSources': [
        {
            's3StateFileUrl': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • appArn (string) --

      The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

    • appVersion (string) --

      The version of the application.

    • sourceArns (list) --

      The Amazon Resource Names (ARNs) for the resources that you imported.

      • (string) --

    • status (string) --

      The status of the action.

    • terraformSources (list) --

      A list of terraform file s3 URLs you need to import.

      • (dict) --

        The Terraform s3 state file you need to import.

        • s3StateFileUrl (string) --

          The Terraform s3 state file you need to import.

ListAppVersionResourceMappings (updated) Link ¶
Changes (response)
{'resourceMappings': {'mappingType': {'Terraform'},
                      'terraformSourceName': 'string'}}

Lists how the resources in an application version are mapped/sourced from. Mappings can be physical resource identifiers, CloudFormation stacks, resource-groups, or an application registry app.

See also: AWS API Documentation

Request Syntax

client.list_app_version_resource_mappings(
    appArn='string',
    appVersion='string',
    maxResults=123,
    nextToken='string'
)
type appArn

string

param appArn

[REQUIRED]

The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

type appVersion

string

param appVersion

[REQUIRED]

The version of the application.

type maxResults

integer

param maxResults

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

type nextToken

string

param nextToken

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

rtype

dict

returns

Response Syntax

{
    'nextToken': 'string',
    'resourceMappings': [
        {
            'appRegistryAppName': 'string',
            'logicalStackName': 'string',
            'mappingType': 'CfnStack'|'Resource'|'AppRegistryApp'|'ResourceGroup'|'Terraform',
            'physicalResourceId': {
                'awsAccountId': 'string',
                'awsRegion': 'string',
                'identifier': 'string',
                'type': 'Arn'|'Native'
            },
            'resourceGroupName': 'string',
            'resourceName': 'string',
            'terraformSourceName': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • nextToken (string) --

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

    • resourceMappings (list) --

      Mappings used to map logical resources from the template to physical resources. You can use the mapping type CFN_STACK if the application template uses a logical stack name. Or you can map individual resources by using the mapping type RESOURCE . We recommend using the mapping type CFN_STACK if the application is backed by a CloudFormation stack.

      • (dict) --

        Defines a resource mapping.

        • appRegistryAppName (string) --

          The name of the application this resource is mapped to.

        • logicalStackName (string) --

          The name of the CloudFormation stack this resource is mapped to.

        • mappingType (string) --

          Specifies the type of resource mapping.

          AppRegistryApp

          The resource is mapped to another application. The name of the application is contained in the appRegistryAppName property.

          CfnStack

          The resource is mapped to a CloudFormation stack. The name of the CloudFormation stack is contained in the logicalStackName property.

          Resource

          The resource is mapped to another resource. The name of the resource is contained in the resourceName property.

          ResourceGroup

          The resource is mapped to a resource group. The name of the resource group is contained in the resourceGroupName property.

        • physicalResourceId (dict) --

          The identifier of this resource.

          • awsAccountId (string) --

            The Amazon Web Services account that owns the physical resource.

          • awsRegion (string) --

            The Amazon Web Services Region that the physical resource is located in.

          • identifier (string) --

            The identifier of the physical resource.

          • type (string) --

            Specifies the type of physical resource identifier.

            Arn

            The resource identifier is an Amazon Resource Name (ARN) .

            Native

            The resource identifier is a Resilience Hub-native identifier.

        • resourceGroupName (string) --

          The name of the resource group this resource is mapped to.

        • resourceName (string) --

          The name of the resource this resource is mapped to.

        • terraformSourceName (string) --

          The short name of the Terraform source.

ListAppVersionResources (updated) Link ¶
Changes (response)
{'physicalResources': {'logicalResourceId': {'terraformSourceName': 'string'}}}

Lists all the resources in an application version.

See also: AWS API Documentation

Request Syntax

client.list_app_version_resources(
    appArn='string',
    appVersion='string',
    maxResults=123,
    nextToken='string',
    resolutionId='string'
)
type appArn

string

param appArn

[REQUIRED]

The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

type appVersion

string

param appVersion

[REQUIRED]

The version of the application.

type maxResults

integer

param maxResults

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

type nextToken

string

param nextToken

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

type resolutionId

string

param resolutionId

The identifier for a specific resolution.

rtype

dict

returns

Response Syntax

{
    'nextToken': 'string',
    'physicalResources': [
        {
            'appComponents': [
                {
                    'name': 'string',
                    'type': 'string'
                },
            ],
            'logicalResourceId': {
                'identifier': 'string',
                'logicalStackName': 'string',
                'resourceGroupName': 'string',
                'terraformSourceName': 'string'
            },
            'physicalResourceId': {
                'awsAccountId': 'string',
                'awsRegion': 'string',
                'identifier': 'string',
                'type': 'Arn'|'Native'
            },
            'resourceName': 'string',
            'resourceType': 'string'
        },
    ],
    'resolutionId': 'string'
}

Response Structure

  • (dict) --

    • nextToken (string) --

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

    • physicalResources (list) --

      The physical resources in the application version.

      • (dict) --

        Defines a physical resource. A physical resource is a resource that exists in your account. It can be identified using an Amazon Resource Name (ARN) or a Resilience Hub-native identifier.

        • appComponents (list) --

          The application components that belong to this resource.

          • (dict) --

            Defines an application component.

            • name (string) --

              The name of the application component.

            • type (string) --

              The type of application component.

        • logicalResourceId (dict) --

          The logical identifier of the resource.

          • identifier (string) --

            The identifier of the resource.

          • logicalStackName (string) --

            The name of the CloudFormation stack this resource belongs to.

          • resourceGroupName (string) --

            The name of the resource group that this resource belongs to.

          • terraformSourceName (string) --

            The name of the Terraform S3 state file this resource belongs to.

        • physicalResourceId (dict) --

          The physical identifier of the resource.

          • awsAccountId (string) --

            The Amazon Web Services account that owns the physical resource.

          • awsRegion (string) --

            The Amazon Web Services Region that the physical resource is located in.

          • identifier (string) --

            The identifier of the physical resource.

          • type (string) --

            Specifies the type of physical resource identifier.

            Arn

            The resource identifier is an Amazon Resource Name (ARN) .

            Native

            The resource identifier is a Resilience Hub-native identifier.

        • resourceName (string) --

          The name of the resource.

        • resourceType (string) --

          The type of resource.

    • resolutionId (string) --

      The identifier for a specific resolution.

ListApps (updated) Link ¶
Changes (response)
{'appSummaries': {'assessmentSchedule': 'Disabled | Daily'}}

Lists your Resilience Hub applications.

See also: AWS API Documentation

Request Syntax

client.list_apps(
    appArn='string',
    maxResults=123,
    name='string',
    nextToken='string'
)
type appArn

string

param appArn

The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

type maxResults

integer

param maxResults

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

type name

string

param name

The name for the one of the listed applications.

type nextToken

string

param nextToken

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

rtype

dict

returns

Response Syntax

{
    'appSummaries': [
        {
            'appArn': 'string',
            'assessmentSchedule': 'Disabled'|'Daily',
            'complianceStatus': 'PolicyBreached'|'PolicyMet'|'NotAssessed'|'ChangesDetected',
            'creationTime': datetime(2015, 1, 1),
            'description': 'string',
            'name': 'string',
            'resiliencyScore': 123.0
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • appSummaries (list) --

      Summaries for the Resilience Hub application.

      • (dict) --

        Defines an application summary.

        • appArn (string) --

          The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

        • assessmentSchedule (string) --

          Assessment execution schedule with 'Daily' or 'Disabled' values.

        • complianceStatus (string) --

          The current status of compliance for the resiliency policy.

        • creationTime (datetime) --

          The timestamp for when the app was created.

        • description (string) --

          The optional description for an app.

        • name (string) --

          The name of the application.

        • resiliencyScore (float) --

          The current resiliency score for the application.

    • nextToken (string) --

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

ListTestRecommendations (updated) Link ¶
Changes (response)
{'testRecommendations': {'dependsOnAlarms': ['string']}}

Lists the test recommendations for the Resilience Hub application.

See also: AWS API Documentation

Request Syntax

client.list_test_recommendations(
    assessmentArn='string',
    maxResults=123,
    nextToken='string'
)
type assessmentArn

string

param assessmentArn

[REQUIRED]

The Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn: partition :resiliencehub: region : account :app-assessment/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

type maxResults

integer

param maxResults

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

type nextToken

string

param nextToken

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

rtype

dict

returns

Response Syntax

{
    'nextToken': 'string',
    'testRecommendations': [
        {
            'appComponentName': 'string',
            'dependsOnAlarms': [
                'string',
            ],
            'description': 'string',
            'intent': 'string',
            'items': [
                {
                    'alreadyImplemented': True|False,
                    'resourceId': 'string',
                    'targetAccountId': 'string',
                    'targetRegion': 'string'
                },
            ],
            'name': 'string',
            'prerequisite': 'string',
            'recommendationId': 'string',
            'referenceId': 'string',
            'risk': 'Small'|'Medium'|'High',
            'type': 'Software'|'Hardware'|'AZ'|'Region'
        },
    ]
}

Response Structure

  • (dict) --

    • nextToken (string) --

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

    • testRecommendations (list) --

      The test recommendations for the Resilience Hub application.

      • (dict) --

        Defines a test recommendation.

        • appComponentName (string) --

          The name of the application component.

        • dependsOnAlarms (list) --

          A list of recommended alarms that are used in the test and must be exported before or with the test.

          • (string) --

        • description (string) --

          The description for the test recommendation.

        • intent (string) --

          The intent of the test recommendation.

        • items (list) --

          The test recommendation items.

          • (dict) --

            Defines a recommendation.

            • alreadyImplemented (boolean) --

              Specifies if the recommendation has already been implemented.

            • resourceId (string) --

              The resource identifier.

            • targetAccountId (string) --

              The target account identifier.

            • targetRegion (string) --

              The target region.

        • name (string) --

          The name of the test recommendation.

        • prerequisite (string) --

          The prerequisite of the test recommendation.

        • recommendationId (string) --

          Identifier for the test recommendation.

        • referenceId (string) --

          The reference identifier for the test recommendation.

        • risk (string) --

          The level of risk for this test recommendation.

        • type (string) --

          The type of test recommendation.

ListUnsupportedAppVersionResources (updated) Link ¶
Changes (response)
{'unsupportedResources': {'logicalResourceId': {'terraformSourceName': 'string'}}}

Lists the resources that are not currently supported in AWS Resilience Hub. An unsupported resource is a resource that exists in the object that was used to create an app, but is not supported by Resilience Hub.

See also: AWS API Documentation

Request Syntax

client.list_unsupported_app_version_resources(
    appArn='string',
    appVersion='string',
    maxResults=123,
    nextToken='string',
    resolutionId='string'
)
type appArn

string

param appArn

[REQUIRED]

The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

type appVersion

string

param appVersion

[REQUIRED]

The version of the application.

type maxResults

integer

param maxResults

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

type nextToken

string

param nextToken

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

type resolutionId

string

param resolutionId

The identifier for a specific resolution.

rtype

dict

returns

Response Syntax

{
    'nextToken': 'string',
    'resolutionId': 'string',
    'unsupportedResources': [
        {
            'logicalResourceId': {
                'identifier': 'string',
                'logicalStackName': 'string',
                'resourceGroupName': 'string',
                'terraformSourceName': 'string'
            },
            'physicalResourceId': {
                'awsAccountId': 'string',
                'awsRegion': 'string',
                'identifier': 'string',
                'type': 'Arn'|'Native'
            },
            'resourceType': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • nextToken (string) --

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

    • resolutionId (string) --

      The identifier for a specific resolution.

    • unsupportedResources (list) --

      The unsupported resources for the application.

      • (dict) --

        Defines a resource that is not supported by Resilience Hub.

        • logicalResourceId (dict) --

          The logical resource identifier for the unsupported resource.

          • identifier (string) --

            The identifier of the resource.

          • logicalStackName (string) --

            The name of the CloudFormation stack this resource belongs to.

          • resourceGroupName (string) --

            The name of the resource group that this resource belongs to.

          • terraformSourceName (string) --

            The name of the Terraform S3 state file this resource belongs to.

        • physicalResourceId (dict) --

          The physical resource identifier for the unsupported resource.

          • awsAccountId (string) --

            The Amazon Web Services account that owns the physical resource.

          • awsRegion (string) --

            The Amazon Web Services Region that the physical resource is located in.

          • identifier (string) --

            The identifier of the physical resource.

          • type (string) --

            Specifies the type of physical resource identifier.

            Arn

            The resource identifier is an Amazon Resource Name (ARN) .

            Native

            The resource identifier is a Resilience Hub-native identifier.

        • resourceType (string) --

          The type of resource.

RemoveDraftAppVersionResourceMappings (updated) Link ¶
Changes (request)
{'terraformSourceNames': ['string']}

Removes resource mappings from a draft application version.

See also: AWS API Documentation

Request Syntax

client.remove_draft_app_version_resource_mappings(
    appArn='string',
    appRegistryAppNames=[
        'string',
    ],
    logicalStackNames=[
        'string',
    ],
    resourceGroupNames=[
        'string',
    ],
    resourceNames=[
        'string',
    ],
    terraformSourceNames=[
        'string',
    ]
)
type appArn

string

param appArn

[REQUIRED]

The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

type appRegistryAppNames

list

param appRegistryAppNames

The names of the registered applications to remove from the resource mappings.

  • (string) --

type logicalStackNames

list

param logicalStackNames

The names of the CloudFormation stacks to remove from the resource mappings.

  • (string) --

type resourceGroupNames

list

param resourceGroupNames

The names of the resource groups to remove from the resource mappings.

  • (string) --

type resourceNames

list

param resourceNames

The names of the resources to remove from the resource mappings.

  • (string) --

type terraformSourceNames

list

param terraformSourceNames

</p>

  • (string) --

rtype

dict

returns

Response Syntax

{
    'appArn': 'string',
    'appVersion': 'string'
}

Response Structure

  • (dict) --

    • appArn (string) --

      The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

    • appVersion (string) --

      The version of the application.

StartAppAssessment (updated) Link ¶
Changes (response)
{'assessment': {'resourceErrorsDetails': {'hasMoreErrors': 'boolean',
                                          'resourceErrors': [{'logicalResourceId': 'string',
                                                              'physicalResourceId': 'string',
                                                              'reason': 'string'}]}}}

Creates a new application assessment for an application.

See also: AWS API Documentation

Request Syntax

client.start_app_assessment(
    appArn='string',
    appVersion='string',
    assessmentName='string',
    clientToken='string',
    tags={
        'string': 'string'
    }
)
type appArn

string

param appArn

[REQUIRED]

The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

type appVersion

string

param appVersion

[REQUIRED]

The version of the application.

type assessmentName

string

param assessmentName

[REQUIRED]

The name for the assessment.

type clientToken

string

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

This field is autopopulated if not provided.

type tags

dict

param tags

The tags assigned to the resource. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key/value pair.

  • (string) --

    • (string) --

rtype

dict

returns

Response Syntax

{
    'assessment': {
        'appArn': 'string',
        'appVersion': 'string',
        'assessmentArn': 'string',
        'assessmentName': 'string',
        'assessmentStatus': 'Pending'|'InProgress'|'Failed'|'Success',
        'compliance': {
            'string': {
                'achievableRpoInSecs': 123,
                'achievableRtoInSecs': 123,
                'complianceStatus': 'PolicyBreached'|'PolicyMet',
                'currentRpoInSecs': 123,
                'currentRtoInSecs': 123,
                'message': 'string',
                'rpoDescription': 'string',
                'rpoReferenceId': 'string',
                'rtoDescription': 'string',
                'rtoReferenceId': 'string'
            }
        },
        'complianceStatus': 'PolicyBreached'|'PolicyMet',
        'cost': {
            'amount': 123.0,
            'currency': 'string',
            'frequency': 'Hourly'|'Daily'|'Monthly'|'Yearly'
        },
        'endTime': datetime(2015, 1, 1),
        'invoker': 'User'|'System',
        'message': 'string',
        'policy': {
            'creationTime': datetime(2015, 1, 1),
            'dataLocationConstraint': 'AnyLocation'|'SameContinent'|'SameCountry',
            'estimatedCostTier': 'L1'|'L2'|'L3'|'L4',
            'policy': {
                'string': {
                    'rpoInSecs': 123,
                    'rtoInSecs': 123
                }
            },
            'policyArn': 'string',
            'policyDescription': 'string',
            'policyName': 'string',
            'tags': {
                'string': 'string'
            },
            'tier': 'MissionCritical'|'Critical'|'Important'|'CoreServices'|'NonCritical'
        },
        'resiliencyScore': {
            'disruptionScore': {
                'string': 123.0
            },
            'score': 123.0
        },
        'resourceErrorsDetails': {
            'hasMoreErrors': True|False,
            'resourceErrors': [
                {
                    'logicalResourceId': 'string',
                    'physicalResourceId': 'string',
                    'reason': 'string'
                },
            ]
        },
        'startTime': datetime(2015, 1, 1),
        'tags': {
            'string': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • assessment (dict) --

      The assessment created.

      • appArn (string) --

        The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

      • appVersion (string) --

        The version of the application.

      • assessmentArn (string) --

        The Amazon Resource Name (ARN) of the assessment. The format for this ARN is: arn: partition :resiliencehub: region : account :app-assessment/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

      • assessmentName (string) --

        The name of the assessment.

      • assessmentStatus (string) --

        The current status of the assessment for the resiliency policy.

      • compliance (dict) --

        The application compliance against the resiliency policy.

        • (string) --

          • (dict) --

            Defines the compliance against the resiliency policy for a disruption.

            • achievableRpoInSecs (integer) --

              The Recovery Point Objective (RPO) that is achievable, in seconds.

            • achievableRtoInSecs (integer) --

              The Recovery Time Objective (RTO) that is achievable, in seconds

            • complianceStatus (string) --

              The current status of compliance for the resiliency policy.

            • currentRpoInSecs (integer) --

              The current RPO, in seconds.

            • currentRtoInSecs (integer) --

              The current RTO, in seconds.

            • message (string) --

              The disruption compliance message.

            • rpoDescription (string) --

              The RPO description.

            • rpoReferenceId (string) --

              The RPO reference identifier.

            • rtoDescription (string) --

              The RTO description.

            • rtoReferenceId (string) --

              The RTO reference identifier.

      • complianceStatus (string) --

        The current status of the compliance for the resiliency policy.

      • cost (dict) --

        The cost for the application.

        • amount (float) --

          The cost amount.

        • currency (string) --

          The cost currency, for example USD .

        • frequency (string) --

          The cost frequency.

      • endTime (datetime) --

        The end time for the action.

      • invoker (string) --

        The entity that invoked the assessment.

      • message (string) --

        Error or warning message from the assessment execution

      • policy (dict) --

        The resiliency policy.

        • creationTime (datetime) --

          The timestamp for when the resiliency policy was created.

        • dataLocationConstraint (string) --

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

        • estimatedCostTier (string) --

          Specifies the estimated cost tier of the resiliency policy.

        • policy (dict) --

          The resiliency policy.

          • (string) --

            • (dict) --

              Defines a failure policy.

              • rpoInSecs (integer) --

                The Recovery Point Objective (RPO), in seconds.

              • rtoInSecs (integer) --

                The Recovery Time Objective (RTO), in seconds.

        • policyArn (string) --

          The Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn: partition :resiliencehub: region : account :resiliency-policy/ policy-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

        • policyDescription (string) --

          The description for the policy.

        • policyName (string) --

          The name of the policy

        • tags (dict) --

          The tags assigned to the resource. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key/value pair.

          • (string) --

            • (string) --

        • tier (string) --

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

      • resiliencyScore (dict) --

        The current resiliency score for the application.

        • disruptionScore (dict) --

          The disruption score for a valid key.

          • (string) --

            • (float) --

        • score (float) --

          The outage score for a valid key.

      • resourceErrorsDetails (dict) --

        A resource error object containing a list of errors retrieving an application's resources.

        • hasMoreErrors (boolean) --

          This indicates if there are more errors not listed in the resourceErrors list.

        • resourceErrors (list) --

          A list of errors retrieving an application's resources.

          • (dict) --

            Defines application resource errors.

            • logicalResourceId (string) --

              This is the identifier of the resource.

            • physicalResourceId (string) --

              This is the identifier of the physical resource.

            • reason (string) --

              This is the error message.

      • startTime (datetime) --

        The starting time for the action.

      • tags (dict) --

        The tags assigned to the resource. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key/value pair.

        • (string) --

          • (string) --

UpdateApp (updated) Link ¶
Changes (request, response)
Request
{'assessmentSchedule': 'Disabled | Daily'}
Response
{'app': {'assessmentSchedule': 'Disabled | Daily'}}

Updates an application.

See also: AWS API Documentation

Request Syntax

client.update_app(
    appArn='string',
    assessmentSchedule='Disabled'|'Daily',
    clearResiliencyPolicyArn=True|False,
    description='string',
    policyArn='string'
)
type appArn

string

param appArn

[REQUIRED]

The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

type assessmentSchedule

string

param assessmentSchedule

Assessment execution schedule with 'Daily' or 'Disabled' values.

type clearResiliencyPolicyArn

boolean

param clearResiliencyPolicyArn

Specifies if the resiliency policy ARN should be cleared.

type description

string

param description

The optional description for an app.

type policyArn

string

param policyArn

The Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn: partition :resiliencehub: region : account :resiliency-policy/ policy-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

rtype

dict

returns

Response Syntax

{
    'app': {
        'appArn': 'string',
        'assessmentSchedule': 'Disabled'|'Daily',
        'complianceStatus': 'PolicyBreached'|'PolicyMet'|'NotAssessed'|'ChangesDetected',
        'creationTime': datetime(2015, 1, 1),
        'description': 'string',
        'lastAppComplianceEvaluationTime': datetime(2015, 1, 1),
        'lastResiliencyScoreEvaluationTime': datetime(2015, 1, 1),
        'name': 'string',
        'policyArn': 'string',
        'resiliencyScore': 123.0,
        'status': 'Active'|'Deleting',
        'tags': {
            'string': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • app (dict) --

      The specified application, returned as an object with details including compliance status, creation time, description, resiliency score, and more.

      • appArn (string) --

        The Amazon Resource Name (ARN) of the application. The format for this ARN is: arn: partition :resiliencehub: region : account :app/ app-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

      • assessmentSchedule (string) --

        Assessment execution schedule with 'Daily' or 'Disabled' values.

      • complianceStatus (string) --

        The current status of compliance for the resiliency policy.

      • creationTime (datetime) --

        The timestamp for when the app was created.

      • description (string) --

        The optional description for an app.

      • lastAppComplianceEvaluationTime (datetime) --

        The timestamp for the most recent compliance evaluation.

      • lastResiliencyScoreEvaluationTime (datetime) --

        The timestamp for the most recent resiliency score evaluation.

      • name (string) --

        The name for the application.

      • policyArn (string) --

        The Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn: partition :resiliencehub: region : account :resiliency-policy/ policy-id . For more information about ARNs, see Amazon Resource Names (ARNs) in the AWS General Reference .

      • resiliencyScore (float) --

        The current resiliency score for the application.

      • status (string) --

        The status of the action.

      • tags (dict) --

        The tags assigned to the resource. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key/value pair.

        • (string) --

          • (string) --