DescribeAppVersionTemplate
Describes details about an AWS Resilience Hub application.
Request Syntax
POST /describe-app-version-template HTTP/1.1
Content-type: application/json
{
"appArn": "string",
"appVersion": "string"
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- appArn
-
Amazon Resource Name (ARN) of the AWS 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 AWS General Reference guide.Type: String
Pattern:
arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+.-]{0,1023}Required: Yes
- appVersion
-
The version of the application.
Type: String
Pattern:
\S{1,50}Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"appArn": "string",
"appTemplateBody": "string",
"appVersion": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- appArn
-
Amazon Resource Name (ARN) of the AWS 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 AWS General Reference guide.Type: String
Pattern:
arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+.-]{0,1023} - appTemplateBody
-
A JSON string that provides information about your application structure. To learn more about the
appTemplateBodytemplate, see the sample template provided in the Examples section.The
appTemplateBodyJSON string has the following structure:-
resourcesThe list of logical resources that must be included in the AWS Resilience Hub application.
Type: Array
Note
Don't add the resources that you want to exclude.
Each
resourcesarray item includes the following fields:-
logicalResourceIdLogical identifier of the resource.
Type: Object
Each
logicalResourceIdobject includes the following fields:-
identifierIdentifier of the resource.
Type: String
-
logicalStackNameThe name of the AWS CloudFormation stack this resource belongs to.
Type: String
-
resourceGroupNameThe name of the resource group this resource belongs to.
Type: String
-
terraformSourceNameThe name of the Terraform S3 state file this resource belongs to.
Type: String
-
eksSourceNameName of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.
Note
This parameter accepts values in "eks-cluster/namespace" format.
Type: String
-
-
typeThe type of resource.
Type: string
-
nameThe name of the resource.
Type: String
-
additionalInfoAdditional configuration parameters for an AWS Resilience Hub application. If you want to implement
additionalInfothrough the AWS Resilience Hub console rather than using an API call, see Configure the application configuration parameters.Note
Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.
Key:
"failover-regions"Value:
"[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]"
-
-
appComponentsList of AppComponents that this resource belongs to. If an AppComponent is not part of the AWS Resilience Hub application, it will be added.
Type: Array
Each
appComponentsarray item includes the following fields:-
nameName of the AppComponent.
Type: String
-
typeType of AppComponent. For more information about the types of AppComponent, see Grouping resources in an AppComponent.
Type: String
-
resourceNamesThe list of included resources that are assigned to the AppComponent.
Type: Array of strings
-
additionalInfoAdditional configuration parameters for an AWS Resilience Hub application. If you want to implement
additionalInfothrough the AWS Resilience Hub console rather than using an API call, see Configure the application configuration parameters.Note
Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.
Key:
"failover-regions"Value:
"[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]"
-
-
excludedResourcesThe list of logical resource identifiers to be excluded from the application.
Type: Array
Note
Don't add the resources that you want to include.
Each
excludedResourcesarray item includes the following fields:-
logicalResourceIdsLogical identifier of the resource.
Type: Object
Note
You can configure only one of the following fields:
-
logicalStackName -
resourceGroupName -
terraformSourceName -
eksSourceName
Each
logicalResourceIdsobject includes the following fields:-
identifierIdentifier of the resource.
Type: String
-
logicalStackNameThe name of the AWS CloudFormation stack this resource belongs to.
Type: String
-
resourceGroupNameThe name of the resource group this resource belongs to.
Type: String
-
terraformSourceNameThe name of the Terraform S3 state file this resource belongs to.
Type: String
-
eksSourceNameName of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.
Note
This parameter accepts values in "eks-cluster/namespace" format.
Type: String
-
-
-
versionAWS Resilience Hub application version.
-
additionalInfoAdditional configuration parameters for an AWS Resilience Hub application. If you want to implement
additionalInfothrough the AWS Resilience Hub console rather than using an API call, see Configure the application configuration parameters.Note
Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.
Key:
"failover-regions"Value:
"[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]"
Type: String
Length Constraints: Minimum length of 0. Maximum length of 409600.
Pattern:
[\w\s:,-\.'\/{}\[\]:"\\]+ -
- appVersion
-
The version of the application.
Type: String
Pattern:
\S{1,50}
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
You don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions.
HTTP Status Code: 403
- InternalServerException
-
This exception occurs when there is an internal failure in the AWS Resilience Hub service.
HTTP Status Code: 500
- ResourceNotFoundException
-
This exception occurs when the specified resource could not be found.
- resourceId
-
The identifier of the resource that the exception applies to.
- resourceType
-
The type of the resource that the exception applies to.
HTTP Status Code: 404
- ThrottlingException
-
This exception occurs when you have exceeded the limit on the number of requests per second.
- retryAfterSeconds
-
The number of seconds to wait before retrying the operation.
HTTP Status Code: 429
- ValidationException
-
This exception occurs when a request is not valid.
HTTP Status Code: 400
Examples
Sample appTemplateBody template
This example illustrates one usage of DescribeAppVersionTemplate.
{ "resources": [{ "logicalResourceId": { "identifier": "testResourceID1", "logicalStackName": "testResourceStack1", "resourceGroupName": null }, "type": "AWS::RDS::DBInstance", "name": "testResourceName" }], "appComponents": [{ "name": "testappcomponent-test", "type": "AWS::ResilienceHub::AppComponent", "resourceNames": [ "testResourceName" ] }, { "name": "testappcommon", "type": "AWS::ResilienceHub::AppComponent", "resourceNames": "[testResourceName]" } ], "excludedResources": { "logicalResourceIds": [{ "identifier": "testResourceID2", "logicalStackName": "testResourceStack2", "resourceGroupName": "" }] }, "version": 2.0 }
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: