putDraftAppVersionTemplate method
Adds or updates the app template for an Resilience Hub application draft version.
May throw AccessDeniedException.
May throw ConflictException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ThrottlingException.
May throw ValidationException.
Parameter appArn :
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.
Parameter 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:
-
resourcesThe list of logical resources that must be included in the Resilience Hub application.
Type: Array 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 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. Type: String
-
-
typeThe type of resource.
Type: string
-
nameThe name of the resource.
Type: String
-
additionalInfoAdditional configuration parameters for an Resilience Hub application. If you want to implement
additionalInfothrough the Resilience Hub console rather than using an API call, see Configure the application configuration parameters.Key:
"failover-regions"Value:
"[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]"
-
-
appComponentsList of Application Components that this resource belongs to. If an Application Component is not part of the Resilience Hub application, it will be added.
Type: Array
Each
appComponentsarray item includes the following fields:-
nameName of the Application Component.
Type: String
-
typeType of Application Component. For more information about the types of Application Component, see Grouping resources in an AppComponent.
Type: String
-
resourceNamesThe list of included resources that are assigned to the Application Component.
Type: Array of strings
-
additionalInfoAdditional configuration parameters for an Resilience Hub application. If you want to implement
additionalInfothrough the Resilience Hub console rather than using an API call, see Configure the application configuration parameters.Key:
"failover-regions"Value:
"[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]"
-
-
excludedResourcesThe list of logical resource identifiers to be excluded from the application.
Type: Array Each
excludedResourcesarray item includes the following fields:-
logicalResourceIdsLogical identifier of the resource.
Type: Object
-
logicalStackName -
resourceGroupName -
terraformSourceName -
eksSourceName
logicalResourceIdsobject includes the following fields:-
identifierIdentifier of the resource.
Type: String
-
logicalStackNameThe name of the 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. Type: String
-
-
-
versionResilience Hub application version.
-
additionalInfoAdditional configuration parameters for an Resilience Hub application. If you want to implement
additionalInfothrough the Resilience Hub console rather than using an API call, see Configure the application configuration parameters.Key:
"failover-regions"Value:
"[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]"
Implementation
Future<PutDraftAppVersionTemplateResponse> putDraftAppVersionTemplate({
required String appArn,
required String appTemplateBody,
}) async {
final $payload = <String, dynamic>{
'appArn': appArn,
'appTemplateBody': appTemplateBody,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/put-draft-app-version-template',
exceptionFnMap: _exceptionFns,
);
return PutDraftAppVersionTemplateResponse.fromJson(response);
}