/AWS1/IF_APS=>CREATEAPPBLOCK()¶
About CreateAppBlock¶
Creates an app block.
App blocks are an Amazon AppStream 2.0 resource that stores the details about the virtual hard disk in an S3 bucket. It also stores the setup script with details about how to mount the virtual hard disk. The virtual hard disk includes the application binaries and other files necessary to launch your applications. Multiple applications can be assigned to a single app block.
This is only supported for Elastic fleets.
Method Signature¶
METHODS /AWS1/IF_APS~CREATEAPPBLOCK
IMPORTING
!IV_NAME TYPE /AWS1/APSNAME OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/APSDESCRIPTION OPTIONAL
!IV_DISPLAYNAME TYPE /AWS1/APSDISPLAYNAME OPTIONAL
!IO_SOURCES3LOCATION TYPE REF TO /AWS1/CL_APSS3LOCATION OPTIONAL
!IO_SETUPSCRIPTDETAILS TYPE REF TO /AWS1/CL_APSSCRIPTDETAILS OPTIONAL
!IT_TAGS TYPE /AWS1/CL_APSTAGS_W=>TT_TAGS OPTIONAL
!IO_POSTSETUPSCRIPTDETAILS TYPE REF TO /AWS1/CL_APSSCRIPTDETAILS OPTIONAL
!IV_PACKAGINGTYPE TYPE /AWS1/APSPACKAGINGTYPE OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_apscreateappblockrslt
RAISING
/AWS1/CX_APSCONCURRENTMODEX
/AWS1/CX_APSLIMITEXCEEDEDEX
/AWS1/CX_APSOPNOTPERMITTEDEX
/AWS1/CX_APSRESRCALRDYEXISTSEX
/AWS1/CX_APSCLIENTEXC
/AWS1/CX_APSSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_name TYPE /AWS1/APSNAME /AWS1/APSNAME¶
The name of the app block.
io_sources3location TYPE REF TO /AWS1/CL_APSS3LOCATION /AWS1/CL_APSS3LOCATION¶
The source S3 location of the app block.
Optional arguments:¶
iv_description TYPE /AWS1/APSDESCRIPTION /AWS1/APSDESCRIPTION¶
The description of the app block.
iv_displayname TYPE /AWS1/APSDISPLAYNAME /AWS1/APSDISPLAYNAME¶
The display name of the app block. This is not displayed to the user.
io_setupscriptdetails TYPE REF TO /AWS1/CL_APSSCRIPTDETAILS /AWS1/CL_APSSCRIPTDETAILS¶
The setup script details of the app block. This must be provided for the
CUSTOMPackagingType.
it_tags TYPE /AWS1/CL_APSTAGS_W=>TT_TAGS TT_TAGS¶
The tags assigned to the app block.
io_postsetupscriptdetails TYPE REF TO /AWS1/CL_APSSCRIPTDETAILS /AWS1/CL_APSSCRIPTDETAILS¶
The post setup script details of the app block. This can only be provided for the
APPSTREAM2PackagingType.
iv_packagingtype TYPE /AWS1/APSPACKAGINGTYPE /AWS1/APSPACKAGINGTYPE¶
The packaging type of the app block.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_apscreateappblockrslt /AWS1/CL_APSCREATEAPPBLOCKRSLT¶
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->createappblock(
io_postsetupscriptdetails = new /aws1/cl_apsscriptdetails(
io_scripts3location = new /aws1/cl_apss3location(
iv_s3bucket = |string|
iv_s3key = |string|
)
iv_executableparameters = |string|
iv_executablepath = |string|
iv_timeoutinseconds = 123
)
io_setupscriptdetails = new /aws1/cl_apsscriptdetails(
io_scripts3location = new /aws1/cl_apss3location(
iv_s3bucket = |string|
iv_s3key = |string|
)
iv_executableparameters = |string|
iv_executablepath = |string|
iv_timeoutinseconds = 123
)
io_sources3location = new /aws1/cl_apss3location(
iv_s3bucket = |string|
iv_s3key = |string|
)
it_tags = VALUE /aws1/cl_apstags_w=>tt_tags(
(
VALUE /aws1/cl_apstags_w=>ts_tags_maprow(
value = new /aws1/cl_apstags_w( |string| )
key = |string|
)
)
)
iv_description = |string|
iv_displayname = |string|
iv_name = |string|
iv_packagingtype = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_appblock = lo_result->get_appblock( ).
IF lo_appblock IS NOT INITIAL.
lv_string = lo_appblock->get_name( ).
lv_arn = lo_appblock->get_arn( ).
lv_string = lo_appblock->get_description( ).
lv_string = lo_appblock->get_displayname( ).
lo_s3location = lo_appblock->get_sources3location( ).
IF lo_s3location IS NOT INITIAL.
lv_s3bucket = lo_s3location->get_s3bucket( ).
lv_s3key = lo_s3location->get_s3key( ).
ENDIF.
lo_scriptdetails = lo_appblock->get_setupscriptdetails( ).
IF lo_scriptdetails IS NOT INITIAL.
lo_s3location = lo_scriptdetails->get_scripts3location( ).
IF lo_s3location IS NOT INITIAL.
lv_s3bucket = lo_s3location->get_s3bucket( ).
lv_s3key = lo_s3location->get_s3key( ).
ENDIF.
lv_string = lo_scriptdetails->get_executablepath( ).
lv_string = lo_scriptdetails->get_executableparameters( ).
lv_integer = lo_scriptdetails->get_timeoutinseconds( ).
ENDIF.
lv_timestamp = lo_appblock->get_createdtime( ).
lo_scriptdetails = lo_appblock->get_postsetupscriptdetails( ).
IF lo_scriptdetails IS NOT INITIAL.
lo_s3location = lo_scriptdetails->get_scripts3location( ).
IF lo_s3location IS NOT INITIAL.
lv_s3bucket = lo_s3location->get_s3bucket( ).
lv_s3key = lo_s3location->get_s3key( ).
ENDIF.
lv_string = lo_scriptdetails->get_executablepath( ).
lv_string = lo_scriptdetails->get_executableparameters( ).
lv_integer = lo_scriptdetails->get_timeoutinseconds( ).
ENDIF.
lv_packagingtype = lo_appblock->get_packagingtype( ).
lv_appblockstate = lo_appblock->get_state( ).
LOOP AT lo_appblock->get_appblockerrors( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_string = lo_row_1->get_errorcode( ).
lv_string = lo_row_1->get_errormessage( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.