/AWS1/IF_EMS=>CREATEAPPLICATION()
¶
About CreateApplication¶
Creates an application.
Method Signature¶
METHODS /AWS1/IF_EMS~CREATEAPPLICATION
IMPORTING
!IV_NAME TYPE /AWS1/EMSAPPLICATIONNAME OPTIONAL
!IV_RELEASELABEL TYPE /AWS1/EMSRELEASELABEL OPTIONAL
!IV_TYPE TYPE /AWS1/EMSENGINETYPE OPTIONAL
!IV_CLIENTTOKEN TYPE /AWS1/EMSCLIENTTOKEN OPTIONAL
!IT_INITIALCAPACITY TYPE /AWS1/CL_EMSINITIALCAPCONFIG=>TT_INITIALCAPACITYCONFIGMAP OPTIONAL
!IO_MAXIMUMCAPACITY TYPE REF TO /AWS1/CL_EMSMAXALLOWEDRESRCS OPTIONAL
!IT_TAGS TYPE /AWS1/CL_EMSTAGMAP_W=>TT_TAGMAP OPTIONAL
!IO_AUTOSTARTCONFIGURATION TYPE REF TO /AWS1/CL_EMSAUTOSTARTCONFIG OPTIONAL
!IO_AUTOSTOPCONFIGURATION TYPE REF TO /AWS1/CL_EMSAUTOSTOPCONFIG OPTIONAL
!IO_NETWORKCONFIGURATION TYPE REF TO /AWS1/CL_EMSNETWORKCONF OPTIONAL
!IV_ARCHITECTURE TYPE /AWS1/EMSARCHITECTURE OPTIONAL
!IO_IMAGECONFIGURATION TYPE REF TO /AWS1/CL_EMSIMAGECONFINPUT OPTIONAL
!IT_WORKERTYPESPECIFICATIONS TYPE /AWS1/CL_EMSWORKERTYPESPECINP=>TT_WORKERTYPESPECINPUTMAP OPTIONAL
!IT_RUNTIMECONFIGURATION TYPE /AWS1/CL_EMSCONFIGURATION=>TT_CONFIGURATIONLIST OPTIONAL
!IO_MONITORINGCONFIGURATION TYPE REF TO /AWS1/CL_EMSMONITORINGCONF OPTIONAL
!IO_INTERACTIVECONFIGURATION TYPE REF TO /AWS1/CL_EMSINTERACTIVECONF OPTIONAL
!IO_SCHEDULERCONFIGURATION TYPE REF TO /AWS1/CL_EMSSCHEDULERCONF OPTIONAL
!IO_IDENTITYCENTERCONF TYPE REF TO /AWS1/CL_EMSIDCENTERCONFINPUT OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_emscreapplicationrsp
RAISING
/AWS1/CX_EMSCONFLICTEXCEPTION
/AWS1/CX_EMSINTERNALSERVEREX
/AWS1/CX_EMSRESOURCENOTFOUNDEX
/AWS1/CX_EMSVALIDATIONEX
/AWS1/CX_EMSCLIENTEXC
/AWS1/CX_EMSSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_releaselabel
TYPE /AWS1/EMSRELEASELABEL
/AWS1/EMSRELEASELABEL
¶
The Amazon EMR release associated with the application.
iv_type
TYPE /AWS1/EMSENGINETYPE
/AWS1/EMSENGINETYPE
¶
The type of application you want to start, such as Spark or Hive.
iv_clienttoken
TYPE /AWS1/EMSCLIENTTOKEN
/AWS1/EMSCLIENTTOKEN
¶
The client idempotency token of the application to create. Its value must be unique for each request.
Optional arguments:¶
iv_name
TYPE /AWS1/EMSAPPLICATIONNAME
/AWS1/EMSAPPLICATIONNAME
¶
The name of the application.
it_initialcapacity
TYPE /AWS1/CL_EMSINITIALCAPCONFIG=>TT_INITIALCAPACITYCONFIGMAP
TT_INITIALCAPACITYCONFIGMAP
¶
The capacity to initialize when the application is created.
io_maximumcapacity
TYPE REF TO /AWS1/CL_EMSMAXALLOWEDRESRCS
/AWS1/CL_EMSMAXALLOWEDRESRCS
¶
The maximum capacity to allocate when the application is created. This is cumulative across all workers at any given point in time, not just when an application is created. No new resources will be created once any one of the defined limits is hit.
it_tags
TYPE /AWS1/CL_EMSTAGMAP_W=>TT_TAGMAP
TT_TAGMAP
¶
The tags assigned to the application.
io_autostartconfiguration
TYPE REF TO /AWS1/CL_EMSAUTOSTARTCONFIG
/AWS1/CL_EMSAUTOSTARTCONFIG
¶
The configuration for an application to automatically start on job submission.
io_autostopconfiguration
TYPE REF TO /AWS1/CL_EMSAUTOSTOPCONFIG
/AWS1/CL_EMSAUTOSTOPCONFIG
¶
The configuration for an application to automatically stop after a certain amount of time being idle.
io_networkconfiguration
TYPE REF TO /AWS1/CL_EMSNETWORKCONF
/AWS1/CL_EMSNETWORKCONF
¶
The network configuration for customer VPC connectivity.
iv_architecture
TYPE /AWS1/EMSARCHITECTURE
/AWS1/EMSARCHITECTURE
¶
The CPU architecture of an application.
io_imageconfiguration
TYPE REF TO /AWS1/CL_EMSIMAGECONFINPUT
/AWS1/CL_EMSIMAGECONFINPUT
¶
The image configuration for all worker types. You can either set this parameter or
imageConfiguration
for each worker type inworkerTypeSpecifications
.
it_workertypespecifications
TYPE /AWS1/CL_EMSWORKERTYPESPECINP=>TT_WORKERTYPESPECINPUTMAP
TT_WORKERTYPESPECINPUTMAP
¶
The key-value pairs that specify worker type to
WorkerTypeSpecificationInput
. This parameter must contain all valid worker types for a Spark or Hive application. Valid worker types includeDriver
andExecutor
for Spark applications andHiveDriver
andTezTask
for Hive applications. You can either set image details in this parameter for each worker type, or inimageConfiguration
for all worker types.
it_runtimeconfiguration
TYPE /AWS1/CL_EMSCONFIGURATION=>TT_CONFIGURATIONLIST
TT_CONFIGURATIONLIST
¶
The Configuration specifications to use when creating an application. Each configuration consists of a classification and properties. This configuration is applied to all the job runs submitted under the application.
io_monitoringconfiguration
TYPE REF TO /AWS1/CL_EMSMONITORINGCONF
/AWS1/CL_EMSMONITORINGCONF
¶
The configuration setting for monitoring.
io_interactiveconfiguration
TYPE REF TO /AWS1/CL_EMSINTERACTIVECONF
/AWS1/CL_EMSINTERACTIVECONF
¶
The interactive configuration object that enables the interactive use cases to use when running an application.
io_schedulerconfiguration
TYPE REF TO /AWS1/CL_EMSSCHEDULERCONF
/AWS1/CL_EMSSCHEDULERCONF
¶
The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.
io_identitycenterconf
TYPE REF TO /AWS1/CL_EMSIDCENTERCONFINPUT
/AWS1/CL_EMSIDCENTERCONFINPUT
¶
The IAM Identity Center Configuration accepts the Identity Center instance parameter required to enable trusted identity propagation. This configuration allows identity propagation between integrated services and the Identity Center instance.
RETURNING¶
oo_output
TYPE REF TO /aws1/cl_emscreapplicationrsp
/AWS1/CL_EMSCREAPPLICATIONRSP
¶
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->createapplication(
io_autostartconfiguration = new /aws1/cl_emsautostartconfig( ABAP_TRUE )
io_autostopconfiguration = new /aws1/cl_emsautostopconfig(
iv_enabled = ABAP_TRUE
iv_idletimeoutminutes = 123
)
io_identitycenterconf = new /aws1/cl_emsidcenterconfinput( |string| )
io_imageconfiguration = new /aws1/cl_emsimageconfinput( |string| )
io_interactiveconfiguration = new /aws1/cl_emsinteractiveconf(
iv_livyendpointenabled = ABAP_TRUE
iv_studioenabled = ABAP_TRUE
)
io_maximumcapacity = new /aws1/cl_emsmaxallowedresrcs(
iv_cpu = |string|
iv_disk = |string|
iv_memory = |string|
)
io_monitoringconfiguration = new /aws1/cl_emsmonitoringconf(
io_cloudwatchloggingconf = new /aws1/cl_emscloudwatchlogconf(
it_logtypes = VALUE /aws1/cl_emslogtypelist_w=>tt_logtypemap(
(
VALUE /aws1/cl_emslogtypelist_w=>ts_logtypemap_maprow(
value = VALUE /aws1/cl_emslogtypelist_w=>tt_logtypelist(
( new /aws1/cl_emslogtypelist_w( |string| ) )
)
key = |string|
)
)
)
iv_enabled = ABAP_TRUE
iv_encryptionkeyarn = |string|
iv_loggroupname = |string|
iv_logstreamnameprefix = |string|
)
io_managedpersistencemonconf = new /aws1/cl_emsmanagedpersisten00(
iv_enabled = ABAP_TRUE
iv_encryptionkeyarn = |string|
)
io_prometheusmonitoringconf = new /aws1/cl_emsprometheusmonconf( |string| )
io_s3monitoringconfiguration = new /aws1/cl_emss3monitoringconf(
iv_encryptionkeyarn = |string|
iv_loguri = |string|
)
)
io_networkconfiguration = new /aws1/cl_emsnetworkconf(
it_securitygroupids = VALUE /aws1/cl_emssecuritygroupids_w=>tt_securitygroupids(
( new /aws1/cl_emssecuritygroupids_w( |string| ) )
)
it_subnetids = VALUE /aws1/cl_emssubnetids_w=>tt_subnetids(
( new /aws1/cl_emssubnetids_w( |string| ) )
)
)
io_schedulerconfiguration = new /aws1/cl_emsschedulerconf(
iv_maxconcurrentruns = 123
iv_queuetimeoutminutes = 123
)
it_initialcapacity = VALUE /aws1/cl_emsinitialcapconfig=>tt_initialcapacityconfigmap(
(
VALUE /aws1/cl_emsinitialcapconfig=>ts_initialcapconfigmap_maprow(
key = |string|
value = new /aws1/cl_emsinitialcapconfig(
io_workerconfiguration = new /aws1/cl_emsworkerresourcecfg(
iv_cpu = |string|
iv_disk = |string|
iv_disktype = |string|
iv_memory = |string|
)
iv_workercount = 123
)
)
)
)
it_runtimeconfiguration = VALUE /aws1/cl_emsconfiguration=>tt_configurationlist(
(
new /aws1/cl_emsconfiguration(
it_configurations = VALUE /aws1/cl_emsconfiguration=>tt_configurationlist(
)
it_properties = VALUE /aws1/cl_emssensitiveprpsmap_w=>tt_sensitivepropertiesmap(
(
VALUE /aws1/cl_emssensitiveprpsmap_w=>ts_sensitiveprpsmap_maprow(
key = |string|
value = new /aws1/cl_emssensitiveprpsmap_w( |string| )
)
)
)
iv_classification = |string|
)
)
)
it_tags = VALUE /aws1/cl_emstagmap_w=>tt_tagmap(
(
VALUE /aws1/cl_emstagmap_w=>ts_tagmap_maprow(
value = new /aws1/cl_emstagmap_w( |string| )
key = |string|
)
)
)
it_workertypespecifications = VALUE /aws1/cl_emsworkertypespecinp=>tt_workertypespecinputmap(
(
VALUE /aws1/cl_emsworkertypespecinp=>ts_workertypespecinpmap_maprow(
key = |string|
value = new /aws1/cl_emsworkertypespecinp( new /aws1/cl_emsimageconfinput( |string| ) )
)
)
)
iv_architecture = |string|
iv_clienttoken = |string|
iv_name = |string|
iv_releaselabel = |string|
iv_type = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_applicationid = lo_result->get_applicationid( ).
lv_applicationname = lo_result->get_name( ).
lv_applicationarn = lo_result->get_arn( ).
ENDIF.