Skip to content

/AWS1/CL_APR=>UPDATESERVICE()

About UpdateService

Update an App Runner service. You can update the source configuration and instance configuration of the service. You can also update the ARN of the auto scaling configuration resource that's associated with the service. However, you can't change the name or the encryption configuration of the service. These can be set only when you create the service.

To update the tags applied to your service, use the separate actions TagResource and UntagResource.

This is an asynchronous operation. On a successful call, you can use the returned OperationId and the ListOperations call to track the operation's progress.

Method Signature

IMPORTING

Required arguments:

iv_servicearn TYPE /AWS1/APRAPPRUNNERRESOURCEARN /AWS1/APRAPPRUNNERRESOURCEARN

The Amazon Resource Name (ARN) of the App Runner service that you want to update.

Optional arguments:

io_sourceconfiguration TYPE REF TO /AWS1/CL_APRSOURCECONF /AWS1/CL_APRSOURCECONF

The source configuration to apply to the App Runner service.

You can change the configuration of the code or image repository that the service uses. However, you can't switch from code to image or the other way around. This means that you must provide the same structure member of SourceConfiguration that you originally included when you created the service. Specifically, you can include either CodeRepository or ImageRepository. To update the source configuration, set the values to members of the structure that you include.

io_instanceconfiguration TYPE REF TO /AWS1/CL_APRINSTANCECONF /AWS1/CL_APRINSTANCECONF

The runtime configuration to apply to instances (scaling units) of your service.

iv_autoscalingconfarn TYPE /AWS1/APRAPPRUNNERRESOURCEARN /AWS1/APRAPPRUNNERRESOURCEARN

The Amazon Resource Name (ARN) of an App Runner automatic scaling configuration resource that you want to associate with the App Runner service.

io_healthcheckconfiguration TYPE REF TO /AWS1/CL_APRHEALTHCHECKCONF /AWS1/CL_APRHEALTHCHECKCONF

The settings for the health check that App Runner performs to monitor the health of the App Runner service.

io_networkconfiguration TYPE REF TO /AWS1/CL_APRNETWORKCONF /AWS1/CL_APRNETWORKCONF

Configuration settings related to network traffic of the web application that the App Runner service runs.

io_observabilityconf TYPE REF TO /AWS1/CL_APRSVCOBSERVABILITY00 /AWS1/CL_APRSVCOBSERVABILITY00

The observability configuration of your service.

RETURNING

oo_output TYPE REF TO /aws1/cl_aprupdateservicersp /AWS1/CL_APRUPDATESERVICERSP

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->/aws1/if_apr~updateservice(
  io_healthcheckconfiguration = new /aws1/cl_aprhealthcheckconf(
    iv_healthythreshold = 123
    iv_interval = 123
    iv_path = |string|
    iv_protocol = |string|
    iv_timeout = 123
    iv_unhealthythreshold = 123
  )
  io_instanceconfiguration = new /aws1/cl_aprinstanceconf(
    iv_cpu = |string|
    iv_instancerolearn = |string|
    iv_memory = |string|
  )
  io_networkconfiguration = new /aws1/cl_aprnetworkconf(
    io_egressconfiguration = new /aws1/cl_apregressconf(
      iv_egresstype = |string|
      iv_vpcconnectorarn = |string|
    )
    io_ingressconfiguration = new /aws1/cl_apringressconf( ABAP_TRUE )
    iv_ipaddresstype = |string|
  )
  io_observabilityconf = new /aws1/cl_aprsvcobservability00(
    iv_observabilityconfarn = |string|
    iv_observabilityenabled = ABAP_TRUE
  )
  io_sourceconfiguration = new /aws1/cl_aprsourceconf(
    io_authntctnconfiguration = new /aws1/cl_aprauthntctnconf(
      iv_accessrolearn = |string|
      iv_connectionarn = |string|
    )
    io_coderepository = new /aws1/cl_aprcoderepository(
      io_codeconfiguration = new /aws1/cl_aprcodeconfiguration(
        io_codeconfigurationvalues = new /aws1/cl_aprcodeconfvalues(
          it_runtimeenvironmentsecrets = VALUE /aws1/cl_aprruntimeenvironme01=>tt_runtimeenvironmentsecrets(
            (
              VALUE /aws1/cl_aprruntimeenvironme01=>ts_runtimeenvironment01_maprow(
                key = |string|
                value = new /aws1/cl_aprruntimeenvironme01( |string| )
              )
            )
          )
          it_runtimeenvironmentvaria00 = VALUE /aws1/cl_aprruntimeenvironme00=>tt_runtimeenvironmentvariables(
            (
              VALUE /aws1/cl_aprruntimeenvironme00=>ts_runtimeenvironment00_maprow(
                value = new /aws1/cl_aprruntimeenvironme00( |string| )
                key = |string|
              )
            )
          )
          iv_buildcommand = |string|
          iv_port = |string|
          iv_runtime = |string|
          iv_startcommand = |string|
        )
        iv_configurationsource = |string|
      )
      io_sourcecodeversion = new /aws1/cl_aprsourcecodeversion(
        iv_type = |string|
        iv_value = |string|
      )
      iv_repositoryurl = |string|
      iv_sourcedirectory = |string|
    )
    io_imagerepository = new /aws1/cl_aprimagerepository(
      io_imageconfiguration = new /aws1/cl_aprimageconfiguration(
        it_runtimeenvironmentsecrets = VALUE /aws1/cl_aprruntimeenvironme01=>tt_runtimeenvironmentsecrets(
          (
            VALUE /aws1/cl_aprruntimeenvironme01=>ts_runtimeenvironment01_maprow(
              key = |string|
              value = new /aws1/cl_aprruntimeenvironme01( |string| )
            )
          )
        )
        it_runtimeenvironmentvaria00 = VALUE /aws1/cl_aprruntimeenvironme00=>tt_runtimeenvironmentvariables(
          (
            VALUE /aws1/cl_aprruntimeenvironme00=>ts_runtimeenvironment00_maprow(
              value = new /aws1/cl_aprruntimeenvironme00( |string| )
              key = |string|
            )
          )
        )
        iv_port = |string|
        iv_startcommand = |string|
      )
      iv_imageidentifier = |string|
      iv_imagerepositorytype = |string|
    )
    iv_autodeploymentsenabled = ABAP_TRUE
  )
  iv_autoscalingconfarn = |string|
  iv_servicearn = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_service = lo_result->get_service( ).
  IF lo_service IS NOT INITIAL.
    lv_servicename = lo_service->get_servicename( ).
    lv_serviceid = lo_service->get_serviceid( ).
    lv_apprunnerresourcearn = lo_service->get_servicearn( ).
    lv_string = lo_service->get_serviceurl( ).
    lv_timestamp = lo_service->get_createdat( ).
    lv_timestamp = lo_service->get_updatedat( ).
    lv_timestamp = lo_service->get_deletedat( ).
    lv_servicestatus = lo_service->get_status( ).
    lo_sourceconfiguration = lo_service->get_sourceconfiguration( ).
    IF lo_sourceconfiguration IS NOT INITIAL.
      lo_coderepository = lo_sourceconfiguration->get_coderepository( ).
      IF lo_coderepository IS NOT INITIAL.
        lv_string = lo_coderepository->get_repositoryurl( ).
        lo_sourcecodeversion = lo_coderepository->get_sourcecodeversion( ).
        IF lo_sourcecodeversion IS NOT INITIAL.
          lv_sourcecodeversiontype = lo_sourcecodeversion->get_type( ).
          lv_string = lo_sourcecodeversion->get_value( ).
        ENDIF.
        lo_codeconfiguration = lo_coderepository->get_codeconfiguration( ).
        IF lo_codeconfiguration IS NOT INITIAL.
          lv_configurationsource = lo_codeconfiguration->get_configurationsource( ).
          lo_codeconfigurationvalues = lo_codeconfiguration->get_codeconfigurationvalues( ).
          IF lo_codeconfigurationvalues IS NOT INITIAL.
            lv_runtime = lo_codeconfigurationvalues->get_runtime( ).
            lv_buildcommand = lo_codeconfigurationvalues->get_buildcommand( ).
            lv_startcommand = lo_codeconfigurationvalues->get_startcommand( ).
            lv_string = lo_codeconfigurationvalues->get_port( ).
            LOOP AT lo_codeconfigurationvalues->get_runtimeenvironmentvari00( ) into ls_row.
              lv_key = ls_row-key.
              lo_value = ls_row-value.
              IF lo_value IS NOT INITIAL.
                lv_runtimeenvironmentvaria = lo_value->get_value( ).
              ENDIF.
            ENDLOOP.
            LOOP AT lo_codeconfigurationvalues->get_runtimeenvironmentsecr00( ) into ls_row_1.
              lv_key_1 = ls_row_1-key.
              lo_value_1 = ls_row_1-value.
              IF lo_value_1 IS NOT INITIAL.
                lv_runtimeenvironmentsecre = lo_value_1->get_value( ).
              ENDIF.
            ENDLOOP.
          ENDIF.
        ENDIF.
        lv_sourcedirectory = lo_coderepository->get_sourcedirectory( ).
      ENDIF.
      lo_imagerepository = lo_sourceconfiguration->get_imagerepository( ).
      IF lo_imagerepository IS NOT INITIAL.
        lv_imageidentifier = lo_imagerepository->get_imageidentifier( ).
        lo_imageconfiguration = lo_imagerepository->get_imageconfiguration( ).
        IF lo_imageconfiguration IS NOT INITIAL.
          LOOP AT lo_imageconfiguration->get_runtimeenvironmentvari00( ) into ls_row.
            lv_key = ls_row-key.
            lo_value = ls_row-value.
            IF lo_value IS NOT INITIAL.
              lv_runtimeenvironmentvaria = lo_value->get_value( ).
            ENDIF.
          ENDLOOP.
          lv_startcommand = lo_imageconfiguration->get_startcommand( ).
          lv_string = lo_imageconfiguration->get_port( ).
          LOOP AT lo_imageconfiguration->get_runtimeenvironmentsecr00( ) into ls_row_1.
            lv_key_1 = ls_row_1-key.
            lo_value_1 = ls_row_1-value.
            IF lo_value_1 IS NOT INITIAL.
              lv_runtimeenvironmentsecre = lo_value_1->get_value( ).
            ENDIF.
          ENDLOOP.
        ENDIF.
        lv_imagerepositorytype = lo_imagerepository->get_imagerepositorytype( ).
      ENDIF.
      lv_nullableboolean = lo_sourceconfiguration->get_autodeploymentsenabled( ).
      lo_authenticationconfigura = lo_sourceconfiguration->get_authntctnconfiguration( ).
      IF lo_authenticationconfigura IS NOT INITIAL.
        lv_apprunnerresourcearn = lo_authenticationconfigura->get_connectionarn( ).
        lv_rolearn = lo_authenticationconfigura->get_accessrolearn( ).
      ENDIF.
    ENDIF.
    lo_instanceconfiguration = lo_service->get_instanceconfiguration( ).
    IF lo_instanceconfiguration IS NOT INITIAL.
      lv_cpu = lo_instanceconfiguration->get_cpu( ).
      lv_memory = lo_instanceconfiguration->get_memory( ).
      lv_rolearn = lo_instanceconfiguration->get_instancerolearn( ).
    ENDIF.
    lo_encryptionconfiguration = lo_service->get_encryptionconfiguration( ).
    IF lo_encryptionconfiguration IS NOT INITIAL.
      lv_kmskeyarn = lo_encryptionconfiguration->get_kmskey( ).
    ENDIF.
    lo_healthcheckconfiguratio = lo_service->get_healthcheckconfiguration( ).
    IF lo_healthcheckconfiguratio IS NOT INITIAL.
      lv_healthcheckprotocol = lo_healthcheckconfiguratio->get_protocol( ).
      lv_healthcheckpath = lo_healthcheckconfiguratio->get_path( ).
      lv_healthcheckinterval = lo_healthcheckconfiguratio->get_interval( ).
      lv_healthchecktimeout = lo_healthcheckconfiguratio->get_timeout( ).
      lv_healthcheckhealthythres = lo_healthcheckconfiguratio->get_healthythreshold( ).
      lv_healthcheckunhealthythr = lo_healthcheckconfiguratio->get_unhealthythreshold( ).
    ENDIF.
    lo_autoscalingconfiguratio = lo_service->get_autoscalingconfsummary( ).
    IF lo_autoscalingconfiguratio IS NOT INITIAL.
      lv_apprunnerresourcearn = lo_autoscalingconfiguratio->get_autoscalingconfarn( ).
      lv_autoscalingconfiguratio_1 = lo_autoscalingconfiguratio->get_autoscalingconfname( ).
      lv_integer = lo_autoscalingconfiguratio->get_autoscalingconfrevision( ).
      lv_autoscalingconfiguratio_2 = lo_autoscalingconfiguratio->get_status( ).
      lv_timestamp = lo_autoscalingconfiguratio->get_createdat( ).
      lv_hasassociatedservice = lo_autoscalingconfiguratio->get_hasassociatedservice( ).
      lv_isdefault = lo_autoscalingconfiguratio->get_isdefault( ).
    ENDIF.
    lo_networkconfiguration = lo_service->get_networkconfiguration( ).
    IF lo_networkconfiguration IS NOT INITIAL.
      lo_egressconfiguration = lo_networkconfiguration->get_egressconfiguration( ).
      IF lo_egressconfiguration IS NOT INITIAL.
        lv_egresstype = lo_egressconfiguration->get_egresstype( ).
        lv_apprunnerresourcearn = lo_egressconfiguration->get_vpcconnectorarn( ).
      ENDIF.
      lo_ingressconfiguration = lo_networkconfiguration->get_ingressconfiguration( ).
      IF lo_ingressconfiguration IS NOT INITIAL.
        lv_boolean = lo_ingressconfiguration->get_ispubliclyaccessible( ).
      ENDIF.
      lv_ipaddresstype = lo_networkconfiguration->get_ipaddresstype( ).
    ENDIF.
    lo_serviceobservabilitycon = lo_service->get_observabilityconf( ).
    IF lo_serviceobservabilitycon IS NOT INITIAL.
      lv_boolean = lo_serviceobservabilitycon->get_observabilityenabled( ).
      lv_apprunnerresourcearn = lo_serviceobservabilitycon->get_observabilityconfarn( ).
    ENDIF.
  ENDIF.
  lv_uuid = lo_result->get_operationid( ).
ENDIF.