put_draft_app_version_template
async
¶
put_draft_app_version_template(
app_arn: Arn,
app_template_body: AppTemplateBody,
*,
config_overrides: Optional[AsyncresiliencehubClientConfig] = None,
) -> PutDraftAppVersionTemplateResponse
Adds or updates the app template for an Resilience Hub application draft version.
Parameters:
-
app_arn(Arn) –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. -
app_template_body(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 Resilience Hub application.
Type: Array
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 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.
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 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.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 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.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
Don't add the resources that you want to include.
Each
excludedResourcesarray item includes the following fields:-
logicalResourceIdsLogical identifier of the resource.
Type: Object
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 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.
This parameter accepts values in "eks-cluster/namespace" format.
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.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>"}]}]"
-
Raises:
-
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.
-
ConflictException–This exception occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.
-
InternalServerException–This exception occurs when there is an internal failure in the Resilience Hub service.
-
ResourceNotFoundException–This exception occurs when the specified resource could not be found.
-
ThrottlingException–This exception occurs when you have exceeded the limit on the number of requests per second.
-
ValidationException–This exception occurs when a request is not valid.
-
UnknownServiceError–The service returned an error code this client does not model.