/AWS1/IF_REH=>PUTDRAFTAPPVERSIONTEMPLATE()¶
About PutDraftAppVersionTemplate¶
Adds or updates the app template for an Resilience Hub application draft version.
Method Signature¶
METHODS /AWS1/IF_REH~PUTDRAFTAPPVERSIONTEMPLATE
IMPORTING
!IV_APPARN TYPE /AWS1/REHARN OPTIONAL
!IV_APPTEMPLATEBODY TYPE /AWS1/REHAPPTEMPLATEBODY OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_rehputdraftappvrstm01
RAISING
/AWS1/CX_REHACCESSDENIEDEX
/AWS1/CX_REHCONFLICTEXCEPTION
/AWS1/CX_REHINTERNALSERVEREX
/AWS1/CX_REHRESOURCENOTFOUNDEX
/AWS1/CX_REHTHROTTLINGEX
/AWS1/CX_REHVALIDATIONEX
/AWS1/CX_REHCLIENTEXC
/AWS1/CX_REHSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_apparn TYPE /AWS1/REHARN /AWS1/REHARN¶
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.
iv_apptemplatebody TYPE /AWS1/REHAPPTEMPLATEBODY /AWS1/REHAPPTEMPLATEBODY¶
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
eksSourceNameEach
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>"}]}]"
RETURNING¶
oo_output TYPE REF TO /aws1/cl_rehputdraftappvrstm01 /AWS1/CL_REHPUTDRAFTAPPVRSTM01¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->putdraftappversiontemplate(
iv_apparn = |string|
iv_apptemplatebody = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_arn = lo_result->get_apparn( ).
lv_entityversion = lo_result->get_appversion( ).
ENDIF.