AWS Resilience Hub

2023/11/08 - AWS Resilience Hub - 6 updated api methods

Changes  AWS Resilience Hub enhances Resiliency Score, providing actionable recommendations to improve application resilience. Amazon Elastic Kubernetes Service (EKS) operational recommendations have been added to help improve the resilience posture of your applications.

DescribeAppAssessment (updated) Link ¶
Changes (response)
{'assessment': {'resiliencyScore': {'componentScore': {'Compliance | Test | Alarm | Sop': {'excludedCount': 'long',
                                                                                           'outstandingCount': 'long',
                                                                                           'possibleScore': 'double',
                                                                                           'score': 'double'}}}}}

Describes an assessment for an Resilience Hub application.

See also: AWS API Documentation

Request Syntax

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

string

param assessmentArn

[REQUIRED]

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 Amazon Web Services General Reference guide.

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'
        },
        'driftStatus': 'NotChecked'|'NotDetected'|'Detected',
        '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'|'NotApplicable'
        },
        'resiliencyScore': {
            'componentScore': {
                'string': {
                    'excludedCount': 123,
                    'outstandingCount': 123,
                    'possibleScore': 123.0,
                    'score': 123.0
                }
            },
            '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'
        },
        'versionName': 'string'
    }
}

Response Structure

  • (dict) --

    • assessment (dict) --

      The assessment for an 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) --

        Amazon Resource Name (ARN) of the Resilience Hub 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 Amazon Web Services General Reference guide.

      • appVersion (string) --

        Version of an application.

      • assessmentArn (string) --

        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 Amazon Web Services General Reference guide.

      • assessmentName (string) --

        Name of the assessment.

      • assessmentStatus (string) --

        Current status of the assessment for the resiliency policy.

      • compliance (dict) --

        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) --

              Reference identifier of the RPO .

            • rtoDescription (string) --

              The RTO description.

            • rtoReferenceId (string) --

              Reference identifier of the RTO.

      • complianceStatus (string) --

        Current status of the compliance for the resiliency policy.

      • cost (dict) --

        Cost for the application.

        • amount (float) --

          The cost amount.

        • currency (string) --

          The cost currency, for example USD .

        • frequency (string) --

          The cost frequency.

      • driftStatus (string) --

        Indicates if compliance drifts (deviations) were detected while running an assessment for your application.

      • endTime (datetime) --

        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) --

        Resiliency policy of an application.

        • creationTime (datetime) --

          Date and time 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) --

                Recovery Point Objective (RPO) in seconds.

              • rtoInSecs (integer) --

                Recovery Time Objective (RTO) in seconds.

        • policyArn (string) --

          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 Amazon Web Services General Reference guide.

        • policyDescription (string) --

          The description for the policy.

        • policyName (string) --

          The name of the policy

        • tags (dict) --

          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) --

        Current resiliency score for an application.

        • componentScore (dict) --

          The score generated by Resilience Hub for the scoring component after running an assessment.

          For example, if the score is 25 points, it indicates the overall score of your application generated by Resilience Hub after running an assessment.

          • (string) --

            • (dict) --

              Resiliency score of each scoring component. For more information about scoring component, see Calculating resiliency score.

              • excludedCount (integer) --

                Number of recommendations that were excluded from the assessment.

                For example, if the Excluded count for Resilience Hub recommended Amazon CloudWatch alarms is 7, it indicates that 7 Amazon CloudWatch alarms are excluded from the assessment.

              • outstandingCount (integer) --

                Number of issues that must be resolved to obtain the maximum possible score for the scoring component. For SOPs, alarms, and FIS experiments, these are the number of recommendations that must be implemented. For compliance, it is the number of Application Components that has breached the resiliency policy.

                For example, if the Outstanding count for Resilience Hub recommended Amazon CloudWatch alarms is 5, it indicates that 5 Amazon CloudWatch alarms must be fixed to achieve the maximum possible score.

              • possibleScore (float) --

                Maximum possible score that can be obtained for the scoring component. If the Possible score is 20 points, it indicates the maximum possible score you can achieve for your application when you run a new assessment after implementing all the Resilience Hub recommendations.

              • score (float) --

                Resiliency score of your 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) --

              Identifier of the logical resource.

            • physicalResourceId (string) --

              Identifier of the physical resource.

            • reason (string) --

              This is the error message.

      • startTime (datetime) --

        Starting time for the action.

      • tags (dict) --

        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) --

      • versionName (string) --

        Version name of the published application.

ListAlarmRecommendations (updated) Link ¶
Changes (response)
{'alarmRecommendations': {'recommendationStatus': 'Implemented | Inactive | '
                                                  'NotImplemented | Excluded'}}

Lists the alarm recommendations for an Resilience Hub application.

See also: AWS API Documentation

Request Syntax

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

string

param assessmentArn

[REQUIRED]

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 Amazon Web Services General Reference guide.

type maxResults

integer

param maxResults

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

{
    'alarmRecommendations': [
        {
            'appComponentName': 'string',
            'appComponentNames': [
                'string',
            ],
            'description': 'string',
            'items': [
                {
                    'alreadyImplemented': True|False,
                    'excludeReason': 'AlreadyImplemented'|'NotRelevant'|'ComplexityOfImplementation',
                    'excluded': True|False,
                    'resourceId': 'string',
                    'targetAccountId': 'string',
                    'targetRegion': 'string'
                },
            ],
            'name': 'string',
            'prerequisite': 'string',
            'recommendationId': 'string',
            'recommendationStatus': 'Implemented'|'Inactive'|'NotImplemented'|'Excluded',
            'referenceId': 'string',
            'type': 'Metric'|'Composite'|'Canary'|'Logs'|'Event'
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • alarmRecommendations (list) --

      The alarm recommendations for an Resilience Hub application, returned as an object. This object includes Application Component names, descriptions, information about whether a recommendation has already been implemented or not, prerequisites, and more.

      • (dict) --

        Defines a recommendation for a CloudWatch alarm.

        • appComponentName (string) --

          Application Component name for the CloudWatch alarm recommendation. This name is saved as the first item in the appComponentNames list.

        • appComponentNames (list) --

          List of Application Component names for the CloudWatch alarm recommendation.

          • (string) --

        • description (string) --

          Description of the alarm recommendation.

        • items (list) --

          List of CloudWatch alarm recommendations.

          • (dict) --

            Defines a recommendation.

            • alreadyImplemented (boolean) --

              Specifies if the recommendation has already been implemented.

            • excludeReason (string) --

              Indicates the reason for excluding an operational recommendation.

            • excluded (boolean) --

              Indicates if an operational recommendation item is excluded.

            • resourceId (string) --

              Identifier of the resource.

            • targetAccountId (string) --

              Identifier of the target account.

            • targetRegion (string) --

              The target region.

        • name (string) --

          Name of the alarm recommendation.

        • prerequisite (string) --

          The prerequisite for the alarm recommendation.

        • recommendationId (string) --

          Identifier of the alarm recommendation.

        • recommendationStatus (string) --

          Status of the recommended Amazon CloudWatch alarm.

        • referenceId (string) --

          Reference identifier of the alarm recommendation.

        • type (string) --

          Type of alarm recommendation.

    • nextToken (string) --

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

ListAppComponentCompliances (updated) Link ¶
Changes (response)
{'componentCompliances': {'resiliencyScore': {'componentScore': {'Compliance | Test | Alarm | Sop': {'excludedCount': 'long',
                                                                                                     'outstandingCount': 'long',
                                                                                                     'possibleScore': 'double',
                                                                                                     'score': 'double'}}}}}

Lists the compliances for an Resilience Hub Application Component.

See also: AWS API Documentation

Request Syntax

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

string

param assessmentArn

[REQUIRED]

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 Amazon Web Services General Reference guide.

type maxResults

integer

param maxResults

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

{
    'componentCompliances': [
        {
            'appComponentName': 'string',
            'compliance': {
                'string': {
                    'achievableRpoInSecs': 123,
                    'achievableRtoInSecs': 123,
                    'complianceStatus': 'PolicyBreached'|'PolicyMet',
                    'currentRpoInSecs': 123,
                    'currentRtoInSecs': 123,
                    'message': 'string',
                    'rpoDescription': 'string',
                    'rpoReferenceId': 'string',
                    'rtoDescription': 'string',
                    'rtoReferenceId': 'string'
                }
            },
            'cost': {
                'amount': 123.0,
                'currency': 'string',
                'frequency': 'Hourly'|'Daily'|'Monthly'|'Yearly'
            },
            'message': 'string',
            'resiliencyScore': {
                'componentScore': {
                    'string': {
                        'excludedCount': 123,
                        'outstandingCount': 123,
                        'possibleScore': 123.0,
                        'score': 123.0
                    }
                },
                'disruptionScore': {
                    'string': 123.0
                },
                'score': 123.0
            },
            'status': 'PolicyBreached'|'PolicyMet'
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • componentCompliances (list) --

      The compliances for an Resilience Hub Application Component, returned as an object. This object contains the names of the Application Components, compliances, costs, resiliency scores, outage scores, and more.

      • (dict) --

        Defines the compliance of an Application Component against the resiliency policy.

        • appComponentName (string) --

          Name of the Application Component.

        • compliance (dict) --

          The compliance of the Application Component 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) --

                Reference identifier of the RPO .

              • rtoDescription (string) --

                The RTO description.

              • rtoReferenceId (string) --

                Reference identifier of the RTO.

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

        • message (string) --

          The compliance message.

        • resiliencyScore (dict) --

          The current resiliency score for the application.

          • componentScore (dict) --

            The score generated by Resilience Hub for the scoring component after running an assessment.

            For example, if the score is 25 points, it indicates the overall score of your application generated by Resilience Hub after running an assessment.

            • (string) --

              • (dict) --

                Resiliency score of each scoring component. For more information about scoring component, see Calculating resiliency score.

                • excludedCount (integer) --

                  Number of recommendations that were excluded from the assessment.

                  For example, if the Excluded count for Resilience Hub recommended Amazon CloudWatch alarms is 7, it indicates that 7 Amazon CloudWatch alarms are excluded from the assessment.

                • outstandingCount (integer) --

                  Number of issues that must be resolved to obtain the maximum possible score for the scoring component. For SOPs, alarms, and FIS experiments, these are the number of recommendations that must be implemented. For compliance, it is the number of Application Components that has breached the resiliency policy.

                  For example, if the Outstanding count for Resilience Hub recommended Amazon CloudWatch alarms is 5, it indicates that 5 Amazon CloudWatch alarms must be fixed to achieve the maximum possible score.

                • possibleScore (float) --

                  Maximum possible score that can be obtained for the scoring component. If the Possible score is 20 points, it indicates the maximum possible score you can achieve for your application when you run a new assessment after implementing all the Resilience Hub recommendations.

                • score (float) --

                  Resiliency score of your application.

          • disruptionScore (dict) --

            The disruption score for a valid key.

            • (string) --

              • (float) --

          • score (float) --

            The outage score for a valid key.

        • status (string) --

          Status of the action.

    • nextToken (string) --

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

ListSopRecommendations (updated) Link ¶
Changes (response)
{'sopRecommendations': {'recommendationStatus': 'Implemented | Inactive | '
                                                'NotImplemented | Excluded'}}

Lists the standard operating procedure (SOP) recommendations for the Resilience Hub applications.

See also: AWS API Documentation

Request Syntax

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

string

param assessmentArn

[REQUIRED]

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 Amazon Web Services General Reference guide.

type maxResults

integer

param maxResults

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',
    'sopRecommendations': [
        {
            'appComponentName': 'string',
            'description': 'string',
            'items': [
                {
                    'alreadyImplemented': True|False,
                    'excludeReason': 'AlreadyImplemented'|'NotRelevant'|'ComplexityOfImplementation',
                    'excluded': True|False,
                    'resourceId': 'string',
                    'targetAccountId': 'string',
                    'targetRegion': 'string'
                },
            ],
            'name': 'string',
            'prerequisite': 'string',
            'recommendationId': 'string',
            'recommendationStatus': 'Implemented'|'Inactive'|'NotImplemented'|'Excluded',
            'referenceId': 'string',
            'serviceType': 'SSM'
        },
    ]
}

Response Structure

  • (dict) --

    • nextToken (string) --

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

    • sopRecommendations (list) --

      The standard operating procedure (SOP) recommendations for the Resilience Hub applications.

      • (dict) --

        Defines a standard operating procedure (SOP) recommendation.

        • appComponentName (string) --

          Name of the Application Component.

        • description (string) --

          Description of the SOP recommendation.

        • items (list) --

          The recommendation items.

          • (dict) --

            Defines a recommendation.

            • alreadyImplemented (boolean) --

              Specifies if the recommendation has already been implemented.

            • excludeReason (string) --

              Indicates the reason for excluding an operational recommendation.

            • excluded (boolean) --

              Indicates if an operational recommendation item is excluded.

            • resourceId (string) --

              Identifier of the resource.

            • targetAccountId (string) --

              Identifier of the target account.

            • targetRegion (string) --

              The target region.

        • name (string) --

          Name of the SOP recommendation.

        • prerequisite (string) --

          Prerequisite for the SOP recommendation.

        • recommendationId (string) --

          Identifier for the SOP recommendation.

        • recommendationStatus (string) --

          Status of the recommended standard operating procedure.

        • referenceId (string) --

          Reference identifier for the SOP recommendation.

        • serviceType (string) --

          The service type.

ListTestRecommendations (updated) Link ¶
Changes (response)
{'testRecommendations': {'recommendationStatus': 'Implemented | Inactive | '
                                                 'NotImplemented | Excluded'}}

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]

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 Amazon Web Services General Reference guide.

type maxResults

integer

param maxResults

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,
                    'excludeReason': 'AlreadyImplemented'|'NotRelevant'|'ComplexityOfImplementation',
                    'excluded': True|False,
                    'resourceId': 'string',
                    'targetAccountId': 'string',
                    'targetRegion': 'string'
                },
            ],
            'name': 'string',
            'prerequisite': 'string',
            'recommendationId': 'string',
            'recommendationStatus': 'Implemented'|'Inactive'|'NotImplemented'|'Excluded',
            'referenceId': 'string',
            'risk': 'Small'|'Medium'|'High',
            'type': 'Software'|'Hardware'|'AZ'|'Region'
        },
    ]
}

Response Structure

  • (dict) --

    • nextToken (string) --

      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) --

          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) --

          Description for the test recommendation.

        • intent (string) --

          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.

            • excludeReason (string) --

              Indicates the reason for excluding an operational recommendation.

            • excluded (boolean) --

              Indicates if an operational recommendation item is excluded.

            • resourceId (string) --

              Identifier of the resource.

            • targetAccountId (string) --

              Identifier of the target account.

            • targetRegion (string) --

              The target region.

        • name (string) --

          Name of the test recommendation.

        • prerequisite (string) --

          Prerequisite of the test recommendation.

        • recommendationId (string) --

          Identifier for the test recommendation.

        • recommendationStatus (string) --

          Status of the recommended test.

        • referenceId (string) --

          Reference identifier for the test recommendation.

        • risk (string) --

          Level of risk for this test recommendation.

        • type (string) --

          Type of test recommendation.

StartAppAssessment (updated) Link ¶
Changes (response)
{'assessment': {'resiliencyScore': {'componentScore': {'Compliance | Test | Alarm | Sop': {'excludedCount': 'long',
                                                                                           'outstandingCount': 'long',
                                                                                           'possibleScore': 'double',
                                                                                           'score': 'double'}}}}}

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]

Amazon Resource Name (ARN) of the Resilience Hub 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 Amazon Web Services General Reference guide.

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

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'
        },
        'driftStatus': 'NotChecked'|'NotDetected'|'Detected',
        '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'|'NotApplicable'
        },
        'resiliencyScore': {
            'componentScore': {
                'string': {
                    'excludedCount': 123,
                    'outstandingCount': 123,
                    'possibleScore': 123.0,
                    'score': 123.0
                }
            },
            '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'
        },
        'versionName': 'string'
    }
}

Response Structure

  • (dict) --

    • assessment (dict) --

      The assessment created.

      • appArn (string) --

        Amazon Resource Name (ARN) of the Resilience Hub 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 Amazon Web Services General Reference guide.

      • appVersion (string) --

        Version of an application.

      • assessmentArn (string) --

        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 Amazon Web Services General Reference guide.

      • assessmentName (string) --

        Name of the assessment.

      • assessmentStatus (string) --

        Current status of the assessment for the resiliency policy.

      • compliance (dict) --

        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) --

              Reference identifier of the RPO .

            • rtoDescription (string) --

              The RTO description.

            • rtoReferenceId (string) --

              Reference identifier of the RTO.

      • complianceStatus (string) --

        Current status of the compliance for the resiliency policy.

      • cost (dict) --

        Cost for the application.

        • amount (float) --

          The cost amount.

        • currency (string) --

          The cost currency, for example USD .

        • frequency (string) --

          The cost frequency.

      • driftStatus (string) --

        Indicates if compliance drifts (deviations) were detected while running an assessment for your application.

      • endTime (datetime) --

        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) --

        Resiliency policy of an application.

        • creationTime (datetime) --

          Date and time 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) --

                Recovery Point Objective (RPO) in seconds.

              • rtoInSecs (integer) --

                Recovery Time Objective (RTO) in seconds.

        • policyArn (string) --

          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 Amazon Web Services General Reference guide.

        • policyDescription (string) --

          The description for the policy.

        • policyName (string) --

          The name of the policy

        • tags (dict) --

          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) --

        Current resiliency score for an application.

        • componentScore (dict) --

          The score generated by Resilience Hub for the scoring component after running an assessment.

          For example, if the score is 25 points, it indicates the overall score of your application generated by Resilience Hub after running an assessment.

          • (string) --

            • (dict) --

              Resiliency score of each scoring component. For more information about scoring component, see Calculating resiliency score.

              • excludedCount (integer) --

                Number of recommendations that were excluded from the assessment.

                For example, if the Excluded count for Resilience Hub recommended Amazon CloudWatch alarms is 7, it indicates that 7 Amazon CloudWatch alarms are excluded from the assessment.

              • outstandingCount (integer) --

                Number of issues that must be resolved to obtain the maximum possible score for the scoring component. For SOPs, alarms, and FIS experiments, these are the number of recommendations that must be implemented. For compliance, it is the number of Application Components that has breached the resiliency policy.

                For example, if the Outstanding count for Resilience Hub recommended Amazon CloudWatch alarms is 5, it indicates that 5 Amazon CloudWatch alarms must be fixed to achieve the maximum possible score.

              • possibleScore (float) --

                Maximum possible score that can be obtained for the scoring component. If the Possible score is 20 points, it indicates the maximum possible score you can achieve for your application when you run a new assessment after implementing all the Resilience Hub recommendations.

              • score (float) --

                Resiliency score of your 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) --

              Identifier of the logical resource.

            • physicalResourceId (string) --

              Identifier of the physical resource.

            • reason (string) --

              This is the error message.

      • startTime (datetime) --

        Starting time for the action.

      • tags (dict) --

        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) --

      • versionName (string) --

        Version name of the published application.