/AWS1/IF_LMV=>UPDATEMICROVMIMAGE()¶
About UpdateMicrovmImage¶
Updates the configuration of a MicroVM image and triggers a new version build. This operation uses PUT semantics — all required fields (codeArtifact, baseImageArn, buildRoleArn) must be provided with every request.
Method Signature¶
METHODS /AWS1/IF_LMV~UPDATEMICROVMIMAGE
IMPORTING
!IV_BASEIMAGEARN TYPE /AWS1/LMVNONBLANKSTRING OPTIONAL
!IV_BASEIMAGEVERSION TYPE /AWS1/LMVVERSION OPTIONAL
!IV_BUILDROLEARN TYPE /AWS1/LMVROLEARN OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/LMVSTRING OPTIONAL
!IO_CODEARTIFACT TYPE REF TO /AWS1/CL_LMVCODEARTIFACT OPTIONAL
!IO_LOGGING TYPE REF TO /AWS1/CL_LMVLOGGING OPTIONAL
!IT_EGRESSNETWORKCONNECTORS TYPE /AWS1/CL_LMVNETWORKCNCTRLIST_W=>TT_NETWORKCONNECTORLIST OPTIONAL
!IT_CPUCONFIGURATIONS TYPE /AWS1/CL_LMVCPUCONFIGURATION=>TT_CPUCONFIGURATIONLIST OPTIONAL
!IT_RESOURCES TYPE /AWS1/CL_LMVRESOURCES=>TT_RESOURCESLIST OPTIONAL
!IT_ADDITIONALOSCAPABILITIES TYPE /AWS1/CL_LMVCAPABILITYLIST_W=>TT_CAPABILITYLIST OPTIONAL
!IO_HOOKS TYPE REF TO /AWS1/CL_LMVHOOKS OPTIONAL
!IT_ENVIRONMENTVARIABLES TYPE /AWS1/CL_LMVENVVARIABLEMAP_W=>TT_ENVIRONMENTVARIABLEMAP OPTIONAL
!IV_IMAGEIDENTIFIER TYPE /AWS1/LMVMICROVMIMAGEID OPTIONAL
!IV_CLIENTTOKEN TYPE /AWS1/LMVSTRING OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_lmvupdatemvmimagersp
RAISING
/AWS1/CX_LMVACCESSDENIEDEX
/AWS1/CX_LMVCONFLICTEXCEPTION
/AWS1/CX_LMVINTERNALSERVEREX
/AWS1/CX_LMVRESOURCENOTFOUNDEX
/AWS1/CX_LMVSERVICEQUOTAEXCDEX
/AWS1/CX_LMVTHROTTLINGEX
/AWS1/CX_LMVVLDTNEXCEPTION
/AWS1/CX_LMVCLIENTEXC
/AWS1/CX_LMVSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_baseimagearn TYPE /AWS1/LMVNONBLANKSTRING /AWS1/LMVNONBLANKSTRING¶
The ARN of the base MicroVM image.
iv_buildrolearn TYPE /AWS1/LMVROLEARN /AWS1/LMVROLEARN¶
The ARN of the IAM build role.
io_codeartifact TYPE REF TO /AWS1/CL_LMVCODEARTIFACT /AWS1/CL_LMVCODEARTIFACT¶
The code artifact containing the application code and metadata for the MicroVM image.
iv_imageidentifier TYPE /AWS1/LMVMICROVMIMAGEID /AWS1/LMVMICROVMIMAGEID¶
The unique identifier (ARN or ID) of the MicroVM image to update.
Optional arguments:¶
iv_baseimageversion TYPE /AWS1/LMVVERSION /AWS1/LMVVERSION¶
The specific version of the base MicroVM image to use.
iv_description TYPE /AWS1/LMVSTRING /AWS1/LMVSTRING¶
The description of the MicroVM image.
io_logging TYPE REF TO /AWS1/CL_LMVLOGGING /AWS1/CL_LMVLOGGING¶
The logging configuration for build-time and runtime logs. Specify {"cloudWatch": {"logGroup": "..."}} to stream logs to a custom CloudWatch log group, or {"disabled": {}} to turn off logging.
it_egressnetworkconnectors TYPE /AWS1/CL_LMVNETWORKCNCTRLIST_W=>TT_NETWORKCONNECTORLIST TT_NETWORKCONNECTORLIST¶
The list of egress network connectors available to the MicroVM at runtime.
it_cpuconfigurations TYPE /AWS1/CL_LMVCPUCONFIGURATION=>TT_CPUCONFIGURATIONLIST TT_CPUCONFIGURATIONLIST¶
The list of supported CPU configurations for the MicroVM.
it_resources TYPE /AWS1/CL_LMVRESOURCES=>TT_RESOURCESLIST TT_RESOURCESLIST¶
The resource requirements for the MicroVM.
it_additionaloscapabilities TYPE /AWS1/CL_LMVCAPABILITYLIST_W=>TT_CAPABILITYLIST TT_CAPABILITYLIST¶
Additional OS capabilities granted to the MicroVM runtime environment.
io_hooks TYPE REF TO /AWS1/CL_LMVHOOKS /AWS1/CL_LMVHOOKS¶
Lifecycle hook configuration for MicroVMs and MicroVM images.
it_environmentvariables TYPE /AWS1/CL_LMVENVVARIABLEMAP_W=>TT_ENVIRONMENTVARIABLEMAP TT_ENVIRONMENTVARIABLEMAP¶
Environment variables set in the MicroVM runtime environment.
iv_clienttoken TYPE /AWS1/LMVSTRING /AWS1/LMVSTRING¶
A unique, case-sensitive identifier you provide to ensure the idempotency of the request.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_lmvupdatemvmimagersp /AWS1/CL_LMVUPDATEMVMIMAGERSP¶
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->updatemicrovmimage(
io_codeartifact = new /aws1/cl_lmvcodeartifact( |string| )
io_hooks = new /aws1/cl_lmvhooks(
io_microvmhooks = new /aws1/cl_lmvmicrovmhooks(
iv_resume = |string|
iv_resumetimeoutinseconds = 123
iv_run = |string|
iv_runtimeoutinseconds = 123
iv_suspend = |string|
iv_suspendtimeoutinseconds = 123
iv_terminate = |string|
iv_terminatetimeoutinseconds = 123
)
io_microvmimagehooks = new /aws1/cl_lmvmicrovmimagehooks(
iv_ready = |string|
iv_readytimeoutinseconds = 123
iv_validate = |string|
iv_validatetimeoutinseconds = 123
)
iv_port = 123
)
io_logging = new /aws1/cl_lmvlogging(
io_cloudwatch = new /aws1/cl_lmvcloudwatchlogging(
iv_loggroup = |string|
iv_logstream = |string|
)
io_disabled = new /aws1/cl_lmvloggingdisabled( )
)
it_additionaloscapabilities = VALUE /aws1/cl_lmvcapabilitylist_w=>tt_capabilitylist(
( new /aws1/cl_lmvcapabilitylist_w( |string| ) )
)
it_cpuconfigurations = VALUE /aws1/cl_lmvcpuconfiguration=>tt_cpuconfigurationlist(
( new /aws1/cl_lmvcpuconfiguration( |string| ) )
)
it_egressnetworkconnectors = VALUE /aws1/cl_lmvnetworkcnctrlist_w=>tt_networkconnectorlist(
( new /aws1/cl_lmvnetworkcnctrlist_w( |string| ) )
)
it_environmentvariables = VALUE /aws1/cl_lmvenvvariablemap_w=>tt_environmentvariablemap(
(
VALUE /aws1/cl_lmvenvvariablemap_w=>ts_envvariablemap_maprow(
key = |string|
value = new /aws1/cl_lmvenvvariablemap_w( |string| )
)
)
)
it_resources = VALUE /aws1/cl_lmvresources=>tt_resourceslist(
( new /aws1/cl_lmvresources( 123 ) )
)
iv_baseimagearn = |string|
iv_baseimageversion = |string|
iv_buildrolearn = |string|
iv_clienttoken = |string|
iv_description = |string|
iv_imageidentifier = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_nonblankstring = lo_result->get_imagearn( ).
lv_imagename = lo_result->get_name( ).
lv_microvmimagestate = lo_result->get_state( ).
lv_nonblankstring = lo_result->get_latestactiveimageversion( ).
lv_nonblankstring = lo_result->get_latestfailedimageversion( ).
lv_timestamp = lo_result->get_createdat( ).
lv_nonblankstring = lo_result->get_baseimagearn( ).
lv_version = lo_result->get_baseimageversion( ).
lv_rolearn = lo_result->get_buildrolearn( ).
lv_string = lo_result->get_description( ).
lo_codeartifact = lo_result->get_codeartifact( ).
IF lo_codeartifact IS NOT INITIAL.
lv_nonblankstring = lo_codeartifact->get_uri( ).
ENDIF.
lo_logging = lo_result->get_logging( ).
IF lo_logging IS NOT INITIAL.
lo_loggingdisabled = lo_logging->get_disabled( ).
IF lo_loggingdisabled IS NOT INITIAL.
ENDIF.
lo_cloudwatchlogging = lo_logging->get_cloudwatch( ).
IF lo_cloudwatchlogging IS NOT INITIAL.
lv_string_1 = lo_cloudwatchlogging->get_loggroup( ).
lv_string_1 = lo_cloudwatchlogging->get_logstream( ).
ENDIF.
ENDIF.
LOOP AT lo_result->get_egressnetworkconnectors( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_networkconnector = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_cpuconfigurations( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_architecture = lo_row_3->get_architecture( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_resources( ) into lo_row_4.
lo_row_5 = lo_row_4.
IF lo_row_5 IS NOT INITIAL.
lv_integer = lo_row_5->get_minimummemoryinmib( ).
ENDIF.
ENDLOOP.
LOOP AT lo_result->get_additionaloscapabilities( ) into lo_row_6.
lo_row_7 = lo_row_6.
IF lo_row_7 IS NOT INITIAL.
lv_capability = lo_row_7->get_value( ).
ENDIF.
ENDLOOP.
lo_hooks = lo_result->get_hooks( ).
IF lo_hooks IS NOT INITIAL.
lv_integer = lo_hooks->get_port( ).
lo_microvmhooks = lo_hooks->get_microvmhooks( ).
IF lo_microvmhooks IS NOT INITIAL.
lv_hookstate = lo_microvmhooks->get_run( ).
lv_integer = lo_microvmhooks->get_runtimeoutinseconds( ).
lv_hookstate = lo_microvmhooks->get_resume( ).
lv_integer = lo_microvmhooks->get_resumetimeoutinseconds( ).
lv_hookstate = lo_microvmhooks->get_suspend( ).
lv_integer = lo_microvmhooks->get_suspendtimeoutinseconds( ).
lv_hookstate = lo_microvmhooks->get_terminate( ).
lv_integer = lo_microvmhooks->get_termtimeoutinseconds( ).
ENDIF.
lo_microvmimagehooks = lo_hooks->get_microvmimagehooks( ).
IF lo_microvmimagehooks IS NOT INITIAL.
lv_hookstate = lo_microvmimagehooks->get_ready( ).
lv_integer = lo_microvmimagehooks->get_readytimeoutinseconds( ).
lv_hookstate = lo_microvmimagehooks->get_validate( ).
lv_integer = lo_microvmimagehooks->get_validatetimeoutinseconds( ).
ENDIF.
ENDIF.
LOOP AT lo_result->get_environmentvariables( ) into ls_row_8.
lv_key = ls_row_8-key.
lo_value = ls_row_8-value.
IF lo_value IS NOT INITIAL.
lv_environmentvariablevalu = lo_value->get_value( ).
ENDIF.
ENDLOOP.
lv_timestamp = lo_result->get_updatedat( ).
lv_nonblankstring = lo_result->get_imageversion( ).
ENDIF.