/AWS1/IF_GMZ=>UPDATESTREAMGROUP()¶
About UpdateStreamGroup¶
Updates the configuration settings for an Amazon GameLift Streams stream group resource. To update a stream group, it must be in ACTIVE status. You can change the description, the set of locations, and the requested capacity of a stream group per location. If you want to change the stream class, create a new stream group.
Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity, always-on and on-demand:
-
Always-on: The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 (2 for high stream classes) when creating a stream group or adding a location.
-
On-demand: The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes). Default is 0 when creating a stream group or adding a location.
Values for capacity must be whole number multiples of the tenancy value of the stream group's stream class.
To update a stream group, specify the stream group's Amazon Resource Name (ARN) and provide the new values. If the request is successful, Amazon GameLift Streams returns the complete updated metadata for the stream group. Expired stream groups cannot be updated.
Method Signature¶
METHODS /AWS1/IF_GMZ~UPDATESTREAMGROUP
IMPORTING
!IV_IDENTIFIER TYPE /AWS1/GMZIDENTIFIER OPTIONAL
!IT_LOCATIONCONFIGURATIONS TYPE /AWS1/CL_GMZLOCATIONCONF=>TT_LOCATIONCONFIGURATIONS OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/GMZDESCRIPTION OPTIONAL
!IV_DEFAULTAPPLICATIONID TYPE /AWS1/GMZIDENTIFIER OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_gmzupdstreamgroupout
RAISING
/AWS1/CX_GMZACCESSDENIEDEX
/AWS1/CX_GMZCONFLICTEXCEPTION
/AWS1/CX_GMZINTERNALSERVEREX
/AWS1/CX_GMZRESOURCENOTFOUNDEX
/AWS1/CX_GMZSERVICEQUOTAEXCDEX
/AWS1/CX_GMZTHROTTLINGEX
/AWS1/CX_GMZVALIDATIONEX
/AWS1/CX_GMZCLIENTEXC
/AWS1/CX_GMZSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_identifier TYPE /AWS1/GMZIDENTIFIER /AWS1/GMZIDENTIFIER¶
An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN:
arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID:sg-1AB2C3De4.
Optional arguments:¶
it_locationconfigurations TYPE /AWS1/CL_GMZLOCATIONCONF=>TT_LOCATIONCONFIGURATIONS TT_LOCATIONCONFIGURATIONS¶
A set of one or more locations and the streaming capacity for each location.
iv_description TYPE /AWS1/GMZDESCRIPTION /AWS1/GMZDESCRIPTION¶
A descriptive label for the stream group.
iv_defaultapplicationid TYPE /AWS1/GMZIDENTIFIER /AWS1/GMZIDENTIFIER¶
The unique identifier of the Amazon GameLift Streams application that you want to set as the default application in a stream group. The application that you specify must be in
READYstatus. The default application is pre-cached on always-on compute resources, reducing stream startup times. Other applications are automatically cached as needed.Note that this parameter only sets the default application in a stream group. To associate a new application to an existing stream group, you must use AssociateApplications.
When you switch default applications in a stream group, it can take up to a few hours for the new default application to be pre-cached.
This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Example ARN:
arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID:a-9ZY8X7Wv6.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_gmzupdstreamgroupout /AWS1/CL_GMZUPDSTREAMGROUPOUT¶
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->updatestreamgroup(
it_locationconfigurations = VALUE /aws1/cl_gmzlocationconf=>tt_locationconfigurations(
(
new /aws1/cl_gmzlocationconf(
iv_alwaysoncapacity = 123
iv_locationname = |string|
iv_ondemandcapacity = 123
)
)
)
iv_defaultapplicationid = |string|
iv_description = |string|
iv_identifier = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_identifier = lo_result->get_arn( ).
lv_description = lo_result->get_description( ).
lo_defaultapplication = lo_result->get_defaultapplication( ).
IF lo_defaultapplication IS NOT INITIAL.
lv_id = lo_defaultapplication->get_id( ).
lv_arn = lo_defaultapplication->get_arn( ).
ENDIF.
LOOP AT lo_result->get_locationstates( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_locationname = lo_row_1->get_locationname( ).
lv_streamgrouplocationstat = lo_row_1->get_status( ).
lv_alwaysoncapacity = lo_row_1->get_alwaysoncapacity( ).
lv_ondemandcapacity = lo_row_1->get_ondemandcapacity( ).
lv_capacityvalue = lo_row_1->get_requestedcapacity( ).
lv_capacityvalue = lo_row_1->get_allocatedcapacity( ).
lv_capacityvalue = lo_row_1->get_idlecapacity( ).
ENDIF.
ENDLOOP.
lv_streamclass = lo_result->get_streamclass( ).
lv_id = lo_result->get_id( ).
lv_streamgroupstatus = lo_result->get_status( ).
lv_streamgroupstatusreason = lo_result->get_statusreason( ).
lv_timestamp = lo_result->get_lastupdatedat( ).
lv_timestamp = lo_result->get_createdat( ).
lv_timestamp = lo_result->get_expiresat( ).
LOOP AT lo_result->get_associatedapplications( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_arn = lo_row_3->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.