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
appTemplateBody
template, see the sample template provided in the Examples section.The
appTemplateBody
JSON string has the following structure:-
resources
The 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
resources
array item includes the following fields:-
logicalResourceId
Logical identifier of the resource.
Type: Object
Each
logicalResourceId
object includes the following fields:-
identifier
Identifier of the resource.
Type: String
-
logicalStackName
The name of the AWS CloudFormation stack this resource belongs to.
Type: String
-
resourceGroupName
The name of the resource group this resource belongs to.
Type: String
-
terraformSourceName
The name of the Terraform S3 state file this resource belongs to.
Type: String
-
eksSourceName
Name 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
-
-
type
The type of resource.
Type: string
-
name
The name of the resource.
Type: String
-
additionalInfo
Additional configuration parameters for an AWS Resilience Hub application. If you want to implement
additionalInfo
through 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>"}]}]"
-
-
appComponents
List of Application Components that this resource belongs to. If an Application Component is not part of the AWS Resilience Hub application, it will be added.
Type: Array
Each
appComponents
array item includes the following fields:-
name
Name of the Application Component.
Type: String
-
type
Type of Application Component. For more information about the types of Application Component, see Grouping resources in an AppComponent.
Type: String
-
resourceNames
The list of included resources that are assigned to the Application Component.
Type: Array of strings
-
additionalInfo
Additional configuration parameters for an AWS Resilience Hub application. If you want to implement
additionalInfo
through 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>"}]}]"
-
-
excludedResources
The 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
excludedResources
array item includes the following fields:-
logicalResourceIds
Logical identifier of the resource.
Type: Object
Note
You can configure only one of the following fields:
-
logicalStackName
-
resourceGroupName
-
terraformSourceName
-
eksSourceName
Each
logicalResourceIds
object includes the following fields:-
identifier
Identifier of the resource.
Type: String
-
logicalStackName
The name of the AWS CloudFormation stack this resource belongs to.
Type: String
-
resourceGroupName
The name of the resource group this resource belongs to.
Type: String
-
terraformSourceName
The name of the Terraform S3 state file this resource belongs to.
Type: String
-
eksSourceName
Name 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
-
-
-
version
AWS Resilience Hub application version.
-
additionalInfo
Additional configuration parameters for an AWS Resilience Hub application. If you want to implement
additionalInfo
through 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.
HTTP Status Code: 404
- ThrottlingException
-
This exception occurs when you have exceeded the limit on the number of requests per second.
HTTP Status Code: 429
- ValidationException
-
This exception occurs when a request is not valid.
HTTP Status Code: 400
Examples
Sample 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: