2023/10/30 - AWS Resilience Hub - 4 updated api methods
Changes Introduced the ability to filter applications by their last assessment date and time and have included metrics for the application's estimated workload Recovery Time Objective (RTO) and estimated workload Recovery Point Objective (RPO).
{'app': {'rpoInSecs': 'integer', 'rtoInSecs': 'integer'}}
Creates an Resilience Hub application. An 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 CloudFormation stacks, Resource Groups, Terraform state files, AppRegistry applications, and an appropriate resiliency policy. In addition, you can also add resources that are located on Amazon Elastic Kubernetes Service (Amazon EKS) clusters as optional resources. For more information about the number of resources supported per application, see Service quotas.
After you create an 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).
See also: AWS API Documentation
Request Syntax
client.create_app( assessmentSchedule='Disabled'|'Daily', clientToken='string', description='string', eventSubscriptions=[ { 'eventType': 'ScheduledAssessmentFailure'|'DriftDetected', 'name': 'string', 'snsTopicArn': 'string' }, ], name='string', permissionModel={ 'crossAccountRoleArns': [ 'string', ], 'invokerRoleName': 'string', 'type': 'LegacyIAMUser'|'RoleBased' }, policyArn='string', tags={ 'string': 'string' } )
string
Assessment execution schedule with 'Daily' or 'Disabled' values.
string
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.
string
The optional description for an app.
list
The list of events you would like to subscribe and get notification for. Currently, Resilience Hub supports only Drift detected and Scheduled assessment failure events notification.
(dict) --
Indicates an event you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected and Scheduled assessment failure events.
eventType (string) -- [REQUIRED]
The type of event you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected ( DriftDetected) and Scheduled assessment failure ( ScheduledAssessmentFailure) events.
name (string) -- [REQUIRED]
Unique name to identify an event subscription.
snsTopicArn (string) --
Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic. The format for this ARN is: arn:partition:sns:region:account:topic-name. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.
string
[REQUIRED]
Name of the application.
dict
Defines the roles and credentials that Resilience Hub would use while creating the application, importing its resources, and running an assessment.
crossAccountRoleArns (list) --
Defines a list of role Amazon Resource Names (ARNs) to be used in other accounts. These ARNs are used for querying purposes while importing resources and assessing your application.
(string) --
invokerRoleName (string) --
Existing Amazon Web Services IAM role name in the primary Amazon Web Services account that will be assumed by Resilience Hub Service Principle to obtain a read-only access to your application resources while running an assessment.
type (string) -- [REQUIRED]
Defines how Resilience Hub scans your resources. It can scan for the resources by using a pre-existing role in your Amazon Web Services account, or by using the credentials of the current IAM user.
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.
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) --
dict
Response Syntax
{ 'app': { 'appArn': 'string', 'assessmentSchedule': 'Disabled'|'Daily', 'complianceStatus': 'PolicyBreached'|'PolicyMet'|'NotAssessed'|'ChangesDetected', 'creationTime': datetime(2015, 1, 1), 'description': 'string', 'driftStatus': 'NotChecked'|'NotDetected'|'Detected', 'eventSubscriptions': [ { 'eventType': 'ScheduledAssessmentFailure'|'DriftDetected', 'name': 'string', 'snsTopicArn': 'string' }, ], 'lastAppComplianceEvaluationTime': datetime(2015, 1, 1), 'lastDriftEvaluationTime': datetime(2015, 1, 1), 'lastResiliencyScoreEvaluationTime': datetime(2015, 1, 1), 'name': 'string', 'permissionModel': { 'crossAccountRoleArns': [ 'string', ], 'invokerRoleName': 'string', 'type': 'LegacyIAMUser'|'RoleBased' }, 'policyArn': 'string', 'resiliencyScore': 123.0, 'rpoInSecs': 123, 'rtoInSecs': 123, '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) --
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.
assessmentSchedule (string) --
Assessment execution schedule with 'Daily' or 'Disabled' values.
complianceStatus (string) --
Current status of compliance for the resiliency policy.
creationTime (datetime) --
Date and time when the app was created.
description (string) --
Optional description for an application.
driftStatus (string) --
Indicates if compliance drifts (deviations) were detected while running an assessment for your application.
eventSubscriptions (list) --
The list of events you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected and Scheduled assessment failure events.
(dict) --
Indicates an event you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected and Scheduled assessment failure events.
eventType (string) --
The type of event you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected ( DriftDetected) and Scheduled assessment failure ( ScheduledAssessmentFailure) events.
name (string) --
Unique name to identify an event subscription.
snsTopicArn (string) --
Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic. The format for this ARN is: arn:partition:sns:region:account:topic-name. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.
lastAppComplianceEvaluationTime (datetime) --
Date and time the most recent compliance evaluation.
lastDriftEvaluationTime (datetime) --
Indicates the last time that a drift was evaluated.
lastResiliencyScoreEvaluationTime (datetime) --
Date and time the most recent resiliency score evaluation.
name (string) --
Name for the application.
permissionModel (dict) --
Defines the roles and credentials that Resilience Hub would use while creating the application, importing its resources, and running an assessment.
crossAccountRoleArns (list) --
Defines a list of role Amazon Resource Names (ARNs) to be used in other accounts. These ARNs are used for querying purposes while importing resources and assessing your application.
(string) --
invokerRoleName (string) --
Existing Amazon Web Services IAM role name in the primary Amazon Web Services account that will be assumed by Resilience Hub Service Principle to obtain a read-only access to your application resources while running an assessment.
type (string) --
Defines how Resilience Hub scans your resources. It can scan for the resources by using a pre-existing role in your Amazon Web Services account, or by using the credentials of the current IAM user.
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.
resiliencyScore (float) --
Current resiliency score for the application.
rpoInSecs (integer) --
Recovery Point Objective (RPO) in seconds.
rtoInSecs (integer) --
Recovery Time Objective (RTO) in seconds.
status (string) --
Status of the application.
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) --
{'app': {'rpoInSecs': 'integer', 'rtoInSecs': 'integer'}}
Describes an Resilience Hub application.
See also: AWS API Documentation
Request Syntax
client.describe_app( appArn='string' )
string
[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.
dict
Response Syntax
{ 'app': { 'appArn': 'string', 'assessmentSchedule': 'Disabled'|'Daily', 'complianceStatus': 'PolicyBreached'|'PolicyMet'|'NotAssessed'|'ChangesDetected', 'creationTime': datetime(2015, 1, 1), 'description': 'string', 'driftStatus': 'NotChecked'|'NotDetected'|'Detected', 'eventSubscriptions': [ { 'eventType': 'ScheduledAssessmentFailure'|'DriftDetected', 'name': 'string', 'snsTopicArn': 'string' }, ], 'lastAppComplianceEvaluationTime': datetime(2015, 1, 1), 'lastDriftEvaluationTime': datetime(2015, 1, 1), 'lastResiliencyScoreEvaluationTime': datetime(2015, 1, 1), 'name': 'string', 'permissionModel': { 'crossAccountRoleArns': [ 'string', ], 'invokerRoleName': 'string', 'type': 'LegacyIAMUser'|'RoleBased' }, 'policyArn': 'string', 'resiliencyScore': 123.0, 'rpoInSecs': 123, 'rtoInSecs': 123, '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) --
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.
assessmentSchedule (string) --
Assessment execution schedule with 'Daily' or 'Disabled' values.
complianceStatus (string) --
Current status of compliance for the resiliency policy.
creationTime (datetime) --
Date and time when the app was created.
description (string) --
Optional description for an application.
driftStatus (string) --
Indicates if compliance drifts (deviations) were detected while running an assessment for your application.
eventSubscriptions (list) --
The list of events you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected and Scheduled assessment failure events.
(dict) --
Indicates an event you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected and Scheduled assessment failure events.
eventType (string) --
The type of event you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected ( DriftDetected) and Scheduled assessment failure ( ScheduledAssessmentFailure) events.
name (string) --
Unique name to identify an event subscription.
snsTopicArn (string) --
Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic. The format for this ARN is: arn:partition:sns:region:account:topic-name. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.
lastAppComplianceEvaluationTime (datetime) --
Date and time the most recent compliance evaluation.
lastDriftEvaluationTime (datetime) --
Indicates the last time that a drift was evaluated.
lastResiliencyScoreEvaluationTime (datetime) --
Date and time the most recent resiliency score evaluation.
name (string) --
Name for the application.
permissionModel (dict) --
Defines the roles and credentials that Resilience Hub would use while creating the application, importing its resources, and running an assessment.
crossAccountRoleArns (list) --
Defines a list of role Amazon Resource Names (ARNs) to be used in other accounts. These ARNs are used for querying purposes while importing resources and assessing your application.
(string) --
invokerRoleName (string) --
Existing Amazon Web Services IAM role name in the primary Amazon Web Services account that will be assumed by Resilience Hub Service Principle to obtain a read-only access to your application resources while running an assessment.
type (string) --
Defines how Resilience Hub scans your resources. It can scan for the resources by using a pre-existing role in your Amazon Web Services account, or by using the credentials of the current IAM user.
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.
resiliencyScore (float) --
Current resiliency score for the application.
rpoInSecs (integer) --
Recovery Point Objective (RPO) in seconds.
rtoInSecs (integer) --
Recovery Time Objective (RTO) in seconds.
status (string) --
Status of the application.
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) --
{'fromLastAssessmentTime': 'timestamp', 'reverseOrder': 'boolean', 'toLastAssessmentTime': 'timestamp'}Response
{'appSummaries': {'lastAppComplianceEvaluationTime': 'timestamp', 'rpoInSecs': 'integer', 'rtoInSecs': 'integer'}}
Lists your Resilience Hub applications.
See also: AWS API Documentation
Request Syntax
client.list_apps( appArn='string', fromLastAssessmentTime=datetime(2015, 1, 1), maxResults=123, name='string', nextToken='string', reverseOrder=True|False, toLastAssessmentTime=datetime(2015, 1, 1) )
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.
datetime
Indicates the lower limit of the range that is used to filter applications based on their last assessment times.
integer
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.
string
The name for the one of the listed applications.
string
Null, or the token from a previous call to get the next set of results.
boolean
The application list is sorted based on the values of lastAppComplianceEvaluationTime field. By default, application list is sorted in ascending order. To sort the appliation list in descending order, set this field to True.
datetime
Indicates the upper limit of the range that is used to filter the applications based on their last assessment times.
dict
Response Syntax
{ 'appSummaries': [ { 'appArn': 'string', 'assessmentSchedule': 'Disabled'|'Daily', 'complianceStatus': 'PolicyBreached'|'PolicyMet'|'NotAssessed'|'ChangesDetected', 'creationTime': datetime(2015, 1, 1), 'description': 'string', 'driftStatus': 'NotChecked'|'NotDetected'|'Detected', 'lastAppComplianceEvaluationTime': datetime(2015, 1, 1), 'name': 'string', 'resiliencyScore': 123.0, 'rpoInSecs': 123, 'rtoInSecs': 123, 'status': 'Active'|'Deleting' }, ], 'nextToken': 'string' }
Response Structure
(dict) --
appSummaries (list) --
Summaries for the Resilience Hub application.
(dict) --
Defines an application summary.
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.
assessmentSchedule (string) --
Assessment execution schedule with 'Daily' or 'Disabled' values.
complianceStatus (string) --
The current status of compliance for the resiliency policy.
creationTime (datetime) --
Date and time when the app was created.
description (string) --
The optional description for an app.
driftStatus (string) --
Indicates if compliance drifts (deviations) were detected while running an assessment for your application.
lastAppComplianceEvaluationTime (datetime) --
Date and time of the most recent compliance evaluation.
name (string) --
The name of the application.
resiliencyScore (float) --
The current resiliency score for the application.
rpoInSecs (integer) --
Recovery Point Objective (RPO) in seconds.
rtoInSecs (integer) --
Recovery Time Objective (RTO) in seconds.
status (string) --
Status of the application.
nextToken (string) --
Token for the next set of results, or null if there are no more results.
{'app': {'rpoInSecs': 'integer', 'rtoInSecs': 'integer'}}
Updates an application.
See also: AWS API Documentation
Request Syntax
client.update_app( appArn='string', assessmentSchedule='Disabled'|'Daily', clearResiliencyPolicyArn=True|False, description='string', eventSubscriptions=[ { 'eventType': 'ScheduledAssessmentFailure'|'DriftDetected', 'name': 'string', 'snsTopicArn': 'string' }, ], permissionModel={ 'crossAccountRoleArns': [ 'string', ], 'invokerRoleName': 'string', 'type': 'LegacyIAMUser'|'RoleBased' }, policyArn='string' )
string
[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.
string
Assessment execution schedule with 'Daily' or 'Disabled' values.
boolean
Specifies if the resiliency policy ARN should be cleared.
string
The optional description for an app.
list
The list of events you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected and Scheduled assessment failure events.
(dict) --
Indicates an event you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected and Scheduled assessment failure events.
eventType (string) -- [REQUIRED]
The type of event you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected ( DriftDetected) and Scheduled assessment failure ( ScheduledAssessmentFailure) events.
name (string) -- [REQUIRED]
Unique name to identify an event subscription.
snsTopicArn (string) --
Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic. The format for this ARN is: arn:partition:sns:region:account:topic-name. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.
dict
Defines the roles and credentials that Resilience Hub would use while creating an application, importing its resources, and running an assessment.
crossAccountRoleArns (list) --
Defines a list of role Amazon Resource Names (ARNs) to be used in other accounts. These ARNs are used for querying purposes while importing resources and assessing your application.
(string) --
invokerRoleName (string) --
Existing Amazon Web Services IAM role name in the primary Amazon Web Services account that will be assumed by Resilience Hub Service Principle to obtain a read-only access to your application resources while running an assessment.
type (string) -- [REQUIRED]
Defines how Resilience Hub scans your resources. It can scan for the resources by using a pre-existing role in your Amazon Web Services account, or by using the credentials of the current IAM user.
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.
dict
Response Syntax
{ 'app': { 'appArn': 'string', 'assessmentSchedule': 'Disabled'|'Daily', 'complianceStatus': 'PolicyBreached'|'PolicyMet'|'NotAssessed'|'ChangesDetected', 'creationTime': datetime(2015, 1, 1), 'description': 'string', 'driftStatus': 'NotChecked'|'NotDetected'|'Detected', 'eventSubscriptions': [ { 'eventType': 'ScheduledAssessmentFailure'|'DriftDetected', 'name': 'string', 'snsTopicArn': 'string' }, ], 'lastAppComplianceEvaluationTime': datetime(2015, 1, 1), 'lastDriftEvaluationTime': datetime(2015, 1, 1), 'lastResiliencyScoreEvaluationTime': datetime(2015, 1, 1), 'name': 'string', 'permissionModel': { 'crossAccountRoleArns': [ 'string', ], 'invokerRoleName': 'string', 'type': 'LegacyIAMUser'|'RoleBased' }, 'policyArn': 'string', 'resiliencyScore': 123.0, 'rpoInSecs': 123, 'rtoInSecs': 123, '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) --
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.
assessmentSchedule (string) --
Assessment execution schedule with 'Daily' or 'Disabled' values.
complianceStatus (string) --
Current status of compliance for the resiliency policy.
creationTime (datetime) --
Date and time when the app was created.
description (string) --
Optional description for an application.
driftStatus (string) --
Indicates if compliance drifts (deviations) were detected while running an assessment for your application.
eventSubscriptions (list) --
The list of events you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected and Scheduled assessment failure events.
(dict) --
Indicates an event you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected and Scheduled assessment failure events.
eventType (string) --
The type of event you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected ( DriftDetected) and Scheduled assessment failure ( ScheduledAssessmentFailure) events.
name (string) --
Unique name to identify an event subscription.
snsTopicArn (string) --
Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic. The format for this ARN is: arn:partition:sns:region:account:topic-name. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.
lastAppComplianceEvaluationTime (datetime) --
Date and time the most recent compliance evaluation.
lastDriftEvaluationTime (datetime) --
Indicates the last time that a drift was evaluated.
lastResiliencyScoreEvaluationTime (datetime) --
Date and time the most recent resiliency score evaluation.
name (string) --
Name for the application.
permissionModel (dict) --
Defines the roles and credentials that Resilience Hub would use while creating the application, importing its resources, and running an assessment.
crossAccountRoleArns (list) --
Defines a list of role Amazon Resource Names (ARNs) to be used in other accounts. These ARNs are used for querying purposes while importing resources and assessing your application.
(string) --
invokerRoleName (string) --
Existing Amazon Web Services IAM role name in the primary Amazon Web Services account that will be assumed by Resilience Hub Service Principle to obtain a read-only access to your application resources while running an assessment.
type (string) --
Defines how Resilience Hub scans your resources. It can scan for the resources by using a pre-existing role in your Amazon Web Services account, or by using the credentials of the current IAM user.
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.
resiliencyScore (float) --
Current resiliency score for the application.
rpoInSecs (integer) --
Recovery Point Objective (RPO) in seconds.
rtoInSecs (integer) --
Recovery Time Objective (RTO) in seconds.
status (string) --
Status of the application.
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) --