/AWS1/IF_APS=>UPDATESTACK()¶
About UpdateStack¶
Updates the specified fields for the specified stack.
Method Signature¶
METHODS /AWS1/IF_APS~UPDATESTACK
  IMPORTING
    !IV_DISPLAYNAME TYPE /AWS1/APSDISPLAYNAME OPTIONAL
    !IV_DESCRIPTION TYPE /AWS1/APSDESCRIPTION OPTIONAL
    !IV_NAME TYPE /AWS1/APSSTRING OPTIONAL
    !IT_STORAGECONNECTORS TYPE /AWS1/CL_APSSTORAGECONNECTOR=>TT_STORAGECONNECTORLIST OPTIONAL
    !IV_DELETESTORAGECONNECTORS TYPE /AWS1/APSBOOLEAN OPTIONAL
    !IV_REDIRECTURL TYPE /AWS1/APSREDIRECTURL OPTIONAL
    !IV_FEEDBACKURL TYPE /AWS1/APSFEEDBACKURL OPTIONAL
    !IT_ATTRIBUTESTODELETE TYPE /AWS1/CL_APSSTACKATTRIBUTES_W=>TT_STACKATTRIBUTES OPTIONAL
    !IT_USERSETTINGS TYPE /AWS1/CL_APSUSERSETTING=>TT_USERSETTINGLIST OPTIONAL
    !IO_APPLICATIONSETTINGS TYPE REF TO /AWS1/CL_APSAPPLICATIONSTGS OPTIONAL
    !IT_ACCESSENDPOINTS TYPE /AWS1/CL_APSACCESSENDPOINT=>TT_ACCESSENDPOINTLIST OPTIONAL
    !IT_EMBEDHOSTDOMAINS TYPE /AWS1/CL_APSEMBEDHOSTDOMAINS_W=>TT_EMBEDHOSTDOMAINS OPTIONAL
    !IO_STREAMINGEXPERIENCESTGS TYPE REF TO /AWS1/CL_APSSTRMINGEXPERIENC00 OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_apsupdatestackresult
  RAISING
    /AWS1/CX_APSCONCURRENTMODEX
    /AWS1/CX_APSINCOMPATIBLEIMAG00
    /AWS1/CX_APSINVACCTSTATUSEX
    /AWS1/CX_APSINVPRMCOMBINATIO00
    /AWS1/CX_APSINVALIDROLEEX
    /AWS1/CX_APSLIMITEXCEEDEDEX
    /AWS1/CX_APSOPNOTPERMITTEDEX
    /AWS1/CX_APSRESOURCEINUSEEX
    /AWS1/CX_APSRESOURCENOTFOUNDEX
    /AWS1/CX_APSCLIENTEXC
    /AWS1/CX_APSSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_name TYPE /AWS1/APSSTRING /AWS1/APSSTRING¶
The name of the stack.
Optional arguments:¶
iv_displayname TYPE /AWS1/APSDISPLAYNAME /AWS1/APSDISPLAYNAME¶
The stack name to display.
iv_description TYPE /AWS1/APSDESCRIPTION /AWS1/APSDESCRIPTION¶
The description to display.
it_storageconnectors TYPE /AWS1/CL_APSSTORAGECONNECTOR=>TT_STORAGECONNECTORLIST TT_STORAGECONNECTORLIST¶
The storage connectors to enable.
iv_deletestorageconnectors TYPE /AWS1/APSBOOLEAN /AWS1/APSBOOLEAN¶
Deletes the storage connectors currently enabled for the stack.
iv_redirecturl TYPE /AWS1/APSREDIRECTURL /AWS1/APSREDIRECTURL¶
The URL that users are redirected to after their streaming session ends.
iv_feedbackurl TYPE /AWS1/APSFEEDBACKURL /AWS1/APSFEEDBACKURL¶
The URL that users are redirected to after they choose the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.
it_attributestodelete TYPE /AWS1/CL_APSSTACKATTRIBUTES_W=>TT_STACKATTRIBUTES TT_STACKATTRIBUTES¶
The stack attributes to delete.
it_usersettings TYPE /AWS1/CL_APSUSERSETTING=>TT_USERSETTINGLIST TT_USERSETTINGLIST¶
The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.
io_applicationsettings TYPE REF TO /AWS1/CL_APSAPPLICATIONSTGS /AWS1/CL_APSAPPLICATIONSTGS¶
The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.
it_accessendpoints TYPE /AWS1/CL_APSACCESSENDPOINT=>TT_ACCESSENDPOINTLIST TT_ACCESSENDPOINTLIST¶
The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.
it_embedhostdomains TYPE /AWS1/CL_APSEMBEDHOSTDOMAINS_W=>TT_EMBEDHOSTDOMAINS TT_EMBEDHOSTDOMAINS¶
The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.
io_streamingexperiencestgs TYPE REF TO /AWS1/CL_APSSTRMINGEXPERIENC00 /AWS1/CL_APSSTRMINGEXPERIENC00¶
The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_apsupdatestackresult /AWS1/CL_APSUPDATESTACKRESULT¶
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->updatestack(
  io_applicationsettings = new /aws1/cl_apsapplicationstgs(
    iv_enabled = ABAP_TRUE
    iv_settingsgroup = |string|
  )
  io_streamingexperiencestgs = new /aws1/cl_apsstrmingexperienc00( |string| )
  it_accessendpoints = VALUE /aws1/cl_apsaccessendpoint=>tt_accessendpointlist(
    (
      new /aws1/cl_apsaccessendpoint(
        iv_endpointtype = |string|
        iv_vpceid = |string|
      )
    )
  )
  it_attributestodelete = VALUE /aws1/cl_apsstackattributes_w=>tt_stackattributes(
    ( new /aws1/cl_apsstackattributes_w( |string| ) )
  )
  it_embedhostdomains = VALUE /aws1/cl_apsembedhostdomains_w=>tt_embedhostdomains(
    ( new /aws1/cl_apsembedhostdomains_w( |string| ) )
  )
  it_storageconnectors = VALUE /aws1/cl_apsstorageconnector=>tt_storageconnectorlist(
    (
      new /aws1/cl_apsstorageconnector(
        it_domains = VALUE /aws1/cl_apsdomainlist_w=>tt_domainlist(
          ( new /aws1/cl_apsdomainlist_w( |string| ) )
        )
        it_domsrequireadminconsent = VALUE /aws1/cl_apsdomainlist_w=>tt_domainlist(
          ( new /aws1/cl_apsdomainlist_w( |string| ) )
        )
        iv_connectortype = |string|
        iv_resourceidentifier = |string|
      )
    )
  )
  it_usersettings = VALUE /aws1/cl_apsusersetting=>tt_usersettinglist(
    (
      new /aws1/cl_apsusersetting(
        iv_action = |string|
        iv_maximumlength = 123
        iv_permission = |string|
      )
    )
  )
  iv_deletestorageconnectors = ABAP_TRUE
  iv_description = |string|
  iv_displayname = |string|
  iv_feedbackurl = |string|
  iv_name = |string|
  iv_redirecturl = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_stack = lo_result->get_stack( ).
  IF lo_stack IS NOT INITIAL.
    lv_arn = lo_stack->get_arn( ).
    lv_string = lo_stack->get_name( ).
    lv_string = lo_stack->get_description( ).
    lv_string = lo_stack->get_displayname( ).
    lv_timestamp = lo_stack->get_createdtime( ).
    LOOP AT lo_stack->get_storageconnectors( ) into lo_row.
      lo_row_1 = lo_row.
      IF lo_row_1 IS NOT INITIAL.
        lv_storageconnectortype = lo_row_1->get_connectortype( ).
        lv_resourceidentifier = lo_row_1->get_resourceidentifier( ).
        LOOP AT lo_row_1->get_domains( ) into lo_row_2.
          lo_row_3 = lo_row_2.
          IF lo_row_3 IS NOT INITIAL.
            lv_domain = lo_row_3->get_value( ).
          ENDIF.
        ENDLOOP.
        LOOP AT lo_row_1->get_domsrequireadminconsent( ) into lo_row_2.
          lo_row_3 = lo_row_2.
          IF lo_row_3 IS NOT INITIAL.
            lv_domain = lo_row_3->get_value( ).
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDLOOP.
    lv_redirecturl = lo_stack->get_redirecturl( ).
    lv_feedbackurl = lo_stack->get_feedbackurl( ).
    LOOP AT lo_stack->get_stackerrors( ) into lo_row_4.
      lo_row_5 = lo_row_4.
      IF lo_row_5 IS NOT INITIAL.
        lv_stackerrorcode = lo_row_5->get_errorcode( ).
        lv_string = lo_row_5->get_errormessage( ).
      ENDIF.
    ENDLOOP.
    LOOP AT lo_stack->get_usersettings( ) into lo_row_6.
      lo_row_7 = lo_row_6.
      IF lo_row_7 IS NOT INITIAL.
        lv_action = lo_row_7->get_action( ).
        lv_permission = lo_row_7->get_permission( ).
        lv_integer = lo_row_7->get_maximumlength( ).
      ENDIF.
    ENDLOOP.
    lo_applicationsettingsresp = lo_stack->get_applicationsettings( ).
    IF lo_applicationsettingsresp IS NOT INITIAL.
      lv_boolean = lo_applicationsettingsresp->get_enabled( ).
      lv_settingsgroup = lo_applicationsettingsresp->get_settingsgroup( ).
      lv_string = lo_applicationsettingsresp->get_s3bucketname( ).
    ENDIF.
    LOOP AT lo_stack->get_accessendpoints( ) into lo_row_8.
      lo_row_9 = lo_row_8.
      IF lo_row_9 IS NOT INITIAL.
        lv_accessendpointtype = lo_row_9->get_endpointtype( ).
        lv_string = lo_row_9->get_vpceid( ).
      ENDIF.
    ENDLOOP.
    LOOP AT lo_stack->get_embedhostdomains( ) into lo_row_10.
      lo_row_11 = lo_row_10.
      IF lo_row_11 IS NOT INITIAL.
        lv_embedhostdomain = lo_row_11->get_value( ).
      ENDIF.
    ENDLOOP.
    lo_streamingexperiencesett = lo_stack->get_streamingexperiencestgs( ).
    IF lo_streamingexperiencesett IS NOT INITIAL.
      lv_preferredprotocol = lo_streamingexperiencesett->get_preferredprotocol( ).
    ENDIF.
  ENDIF.
ENDIF.