/AWS1/IF_ESS=>CREATEELASTICSEARCHDOMAIN()¶
About CreateElasticsearchDomain¶
Creates a new Elasticsearch domain. For more information, see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide.
Method Signature¶
METHODS /AWS1/IF_ESS~CREATEELASTICSEARCHDOMAIN
IMPORTING
!IV_DOMAINNAME TYPE /AWS1/ESSDOMAINNAME OPTIONAL
!IV_ELASTICSEARCHVERSION TYPE /AWS1/ESSELASTICSRCHVRSSTRING OPTIONAL
!IO_ELASTICSEARCHCLUSTCONFIG TYPE REF TO /AWS1/CL_ESSELASTICSRCHCLSTCFG OPTIONAL
!IO_EBSOPTIONS TYPE REF TO /AWS1/CL_ESSEBSOPTIONS OPTIONAL
!IV_ACCESSPOLICIES TYPE /AWS1/ESSPOLICYDOCUMENT OPTIONAL
!IO_SNAPSHOTOPTIONS TYPE REF TO /AWS1/CL_ESSSNAPSHOTOPTIONS OPTIONAL
!IO_VPCOPTIONS TYPE REF TO /AWS1/CL_ESSVPCOPTIONS OPTIONAL
!IO_COGNITOOPTIONS TYPE REF TO /AWS1/CL_ESSCOGNITOOPTIONS OPTIONAL
!IO_ENCRYPTIONATRESTOPTIONS TYPE REF TO /AWS1/CL_ESSENCATRESTOPTIONS OPTIONAL
!IO_NODETONODEENCOPTIONS TYPE REF TO /AWS1/CL_ESSNODETONODEENCOPTS OPTIONAL
!IT_ADVANCEDOPTIONS TYPE /AWS1/CL_ESSADVANCEDOPTIONS_W=>TT_ADVANCEDOPTIONS OPTIONAL
!IT_LOGPUBLISHINGOPTIONS TYPE /AWS1/CL_ESSLOGPUBINGOPTION=>TT_LOGPUBLISHINGOPTIONS OPTIONAL
!IO_DOMAINENDPOINTOPTIONS TYPE REF TO /AWS1/CL_ESSDOMAINENDPTOPTIONS OPTIONAL
!IO_ADVANCEDSECURITYOPTIONS TYPE REF TO /AWS1/CL_ESSADVANCEDSECOPTSINP OPTIONAL
!IO_AUTOTUNEOPTIONS TYPE REF TO /AWS1/CL_ESSAUTOTUNEOPTSINPUT OPTIONAL
!IT_TAGLIST TYPE /AWS1/CL_ESSTAG=>TT_TAGLIST OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_esscreelasticsrchdo01
RAISING
/AWS1/CX_ESSBASEEXCEPTION
/AWS1/CX_ESSDISABLEDOPEX
/AWS1/CX_ESSINTERNALEXCEPTION
/AWS1/CX_ESSINVALIDTYPEEX
/AWS1/CX_ESSLIMITEXCEEDEDEX
/AWS1/CX_ESSRESRCALRDYEXISTSEX
/AWS1/CX_ESSVALIDATIONEX
/AWS1/CX_ESSCLIENTEXC
/AWS1/CX_ESSSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_domainname TYPE /AWS1/ESSDOMAINNAME /AWS1/ESSDOMAINNAME¶
The name of the Elasticsearch domain that you are creating. Domain names are unique across the domains owned by an account within an AWS region. Domain names must start with a lowercase letter and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).
Optional arguments:¶
iv_elasticsearchversion TYPE /AWS1/ESSELASTICSRCHVRSSTRING /AWS1/ESSELASTICSRCHVRSSTRING¶
String of format X.Y to specify version for the Elasticsearch domain eg. "1.5" or "2.3". For more information, see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide.
io_elasticsearchclustconfig TYPE REF TO /AWS1/CL_ESSELASTICSRCHCLSTCFG /AWS1/CL_ESSELASTICSRCHCLSTCFG¶
Configuration options for an Elasticsearch domain. Specifies the instance type and number of instances in the domain cluster.
io_ebsoptions TYPE REF TO /AWS1/CL_ESSEBSOPTIONS /AWS1/CL_ESSEBSOPTIONS¶
Options to enable, disable and specify the type and size of EBS storage volumes.
iv_accesspolicies TYPE /AWS1/ESSPOLICYDOCUMENT /AWS1/ESSPOLICYDOCUMENT¶
IAM access policy as a JSON-formatted string.
io_snapshotoptions TYPE REF TO /AWS1/CL_ESSSNAPSHOTOPTIONS /AWS1/CL_ESSSNAPSHOTOPTIONS¶
Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours.
io_vpcoptions TYPE REF TO /AWS1/CL_ESSVPCOPTIONS /AWS1/CL_ESSVPCOPTIONS¶
Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains
io_cognitooptions TYPE REF TO /AWS1/CL_ESSCOGNITOOPTIONS /AWS1/CL_ESSCOGNITOOPTIONS¶
Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana.
io_encryptionatrestoptions TYPE REF TO /AWS1/CL_ESSENCATRESTOPTIONS /AWS1/CL_ESSENCATRESTOPTIONS¶
Specifies the Encryption At Rest Options.
io_nodetonodeencoptions TYPE REF TO /AWS1/CL_ESSNODETONODEENCOPTS /AWS1/CL_ESSNODETONODEENCOPTS¶
Specifies the NodeToNodeEncryptionOptions.
it_advancedoptions TYPE /AWS1/CL_ESSADVANCEDOPTIONS_W=>TT_ADVANCEDOPTIONS TT_ADVANCEDOPTIONS¶
Option to allow references to indices in an HTTP request body. Must be
falsewhen configuring access to individual sub-resources. By default, the value istrue. See Configuration Advanced Options for more information.
it_logpublishingoptions TYPE /AWS1/CL_ESSLOGPUBINGOPTION=>TT_LOGPUBLISHINGOPTIONS TT_LOGPUBLISHINGOPTIONS¶
Map of
LogTypeandLogPublishingOption, each containing options to publish a given type of Elasticsearch log.
io_domainendpointoptions TYPE REF TO /AWS1/CL_ESSDOMAINENDPTOPTIONS /AWS1/CL_ESSDOMAINENDPTOPTIONS¶
Options to specify configuration that will be applied to the domain endpoint.
io_advancedsecurityoptions TYPE REF TO /AWS1/CL_ESSADVANCEDSECOPTSINP /AWS1/CL_ESSADVANCEDSECOPTSINP¶
Specifies advanced security options.
io_autotuneoptions TYPE REF TO /AWS1/CL_ESSAUTOTUNEOPTSINPUT /AWS1/CL_ESSAUTOTUNEOPTSINPUT¶
Specifies Auto-Tune options.
it_taglist TYPE /AWS1/CL_ESSTAG=>TT_TAGLIST TT_TAGLIST¶
A list of
Tagadded during domain creation.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_esscreelasticsrchdo01 /AWS1/CL_ESSCREELASTICSRCHDO01¶
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->createelasticsearchdomain(
io_advancedsecurityoptions = new /aws1/cl_essadvancedsecoptsinp(
io_masteruseroptions = new /aws1/cl_essmasteruseroptions(
iv_masteruserarn = |string|
iv_masterusername = |string|
iv_masteruserpassword = |string|
)
io_samloptions = new /aws1/cl_esssamloptionsinput(
io_idp = new /aws1/cl_esssamlidp(
iv_entityid = |string|
iv_metadatacontent = |string|
)
iv_enabled = ABAP_TRUE
iv_masterbackendrole = |string|
iv_masterusername = |string|
iv_roleskey = |string|
iv_sessiontimeoutminutes = 123
iv_subjectkey = |string|
)
iv_anonymousauthenabled = ABAP_TRUE
iv_enabled = ABAP_TRUE
iv_internaluserdatabaseenbd = ABAP_TRUE
)
io_autotuneoptions = new /aws1/cl_essautotuneoptsinput(
it_maintenanceschedules = VALUE /aws1/cl_essautotunemaintena00=>tt_autotunemaintenanceschdlist(
(
new /aws1/cl_essautotunemaintena00(
io_duration = new /aws1/cl_essduration(
iv_unit = |string|
iv_value = 123
)
iv_cronxprsnforrecurrence = |string|
iv_startat = '20150101000000.0000000'
)
)
)
iv_desiredstate = |string|
)
io_cognitooptions = new /aws1/cl_esscognitooptions(
iv_enabled = ABAP_TRUE
iv_identitypoolid = |string|
iv_rolearn = |string|
iv_userpoolid = |string|
)
io_domainendpointoptions = new /aws1/cl_essdomainendptoptions(
iv_customendpoint = |string|
iv_customendpointcertarn = |string|
iv_customendpointenabled = ABAP_TRUE
iv_enforcehttps = ABAP_TRUE
iv_tlssecuritypolicy = |string|
)
io_ebsoptions = new /aws1/cl_essebsoptions(
iv_ebsenabled = ABAP_TRUE
iv_iops = 123
iv_throughput = 123
iv_volumesize = 123
iv_volumetype = |string|
)
io_elasticsearchclustconfig = new /aws1/cl_esselasticsrchclstcfg(
io_coldstorageoptions = new /aws1/cl_esscoldstorageoptions( ABAP_TRUE )
io_zoneawarenessconfig = new /aws1/cl_esszoneawarenesscfg( 123 )
iv_dedicatedmastercount = 123
iv_dedicatedmasterenabled = ABAP_TRUE
iv_dedicatedmastertype = |string|
iv_instancecount = 123
iv_instancetype = |string|
iv_warmcount = 123
iv_warmenabled = ABAP_TRUE
iv_warmtype = |string|
iv_zoneawarenessenabled = ABAP_TRUE
)
io_encryptionatrestoptions = new /aws1/cl_essencatrestoptions(
iv_enabled = ABAP_TRUE
iv_kmskeyid = |string|
)
io_nodetonodeencoptions = new /aws1/cl_essnodetonodeencopts( ABAP_TRUE )
io_snapshotoptions = new /aws1/cl_esssnapshotoptions( 123 )
io_vpcoptions = new /aws1/cl_essvpcoptions(
it_securitygroupids = VALUE /aws1/cl_essstringlist_w=>tt_stringlist(
( new /aws1/cl_essstringlist_w( |string| ) )
)
it_subnetids = VALUE /aws1/cl_essstringlist_w=>tt_stringlist(
( new /aws1/cl_essstringlist_w( |string| ) )
)
)
it_advancedoptions = VALUE /aws1/cl_essadvancedoptions_w=>tt_advancedoptions(
(
VALUE /aws1/cl_essadvancedoptions_w=>ts_advancedoptions_maprow(
key = |string|
value = new /aws1/cl_essadvancedoptions_w( |string| )
)
)
)
it_logpublishingoptions = VALUE /aws1/cl_esslogpubingoption=>tt_logpublishingoptions(
(
VALUE /aws1/cl_esslogpubingoption=>ts_logpublishingoptions_maprow(
key = |string|
value = new /aws1/cl_esslogpubingoption(
iv_cloudwatchlogsloggrouparn = |string|
iv_enabled = ABAP_TRUE
)
)
)
)
it_taglist = VALUE /aws1/cl_esstag=>tt_taglist(
(
new /aws1/cl_esstag(
iv_key = |string|
iv_value = |string|
)
)
)
iv_accesspolicies = |string|
iv_domainname = |string|
iv_elasticsearchversion = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_elasticsearchdomainstat = lo_result->get_domainstatus( ).
IF lo_elasticsearchdomainstat IS NOT INITIAL.
lv_domainid = lo_elasticsearchdomainstat->get_domainid( ).
lv_domainname = lo_elasticsearchdomainstat->get_domainname( ).
lv_arn = lo_elasticsearchdomainstat->get_arn( ).
lv_boolean = lo_elasticsearchdomainstat->get_created( ).
lv_boolean = lo_elasticsearchdomainstat->get_deleted( ).
lv_serviceurl = lo_elasticsearchdomainstat->get_endpoint( ).
LOOP AT lo_elasticsearchdomainstat->get_endpoints( ) into ls_row.
lv_key = ls_row-key.
lo_value = ls_row-value.
IF lo_value IS NOT INITIAL.
lv_serviceurl = lo_value->get_value( ).
ENDIF.
ENDLOOP.
lv_boolean = lo_elasticsearchdomainstat->get_processing( ).
lv_boolean = lo_elasticsearchdomainstat->get_upgradeprocessing( ).
lv_elasticsearchversionstr = lo_elasticsearchdomainstat->get_elasticsearchversion( ).
lo_elasticsearchclustercon = lo_elasticsearchdomainstat->get_elasticsearchclustconfig( ).
IF lo_elasticsearchclustercon IS NOT INITIAL.
lv_espartitioninstancetype = lo_elasticsearchclustercon->get_instancetype( ).
lv_integerclass = lo_elasticsearchclustercon->get_instancecount( ).
lv_boolean = lo_elasticsearchclustercon->get_dedicatedmasterenabled( ).
lv_boolean = lo_elasticsearchclustercon->get_zoneawarenessenabled( ).
lo_zoneawarenessconfig = lo_elasticsearchclustercon->get_zoneawarenessconfig( ).
IF lo_zoneawarenessconfig IS NOT INITIAL.
lv_integerclass = lo_zoneawarenessconfig->get_availabilityzonecount( ).
ENDIF.
lv_espartitioninstancetype = lo_elasticsearchclustercon->get_dedicatedmastertype( ).
lv_integerclass = lo_elasticsearchclustercon->get_dedicatedmastercount( ).
lv_boolean = lo_elasticsearchclustercon->get_warmenabled( ).
lv_eswarmpartitioninstance = lo_elasticsearchclustercon->get_warmtype( ).
lv_integerclass = lo_elasticsearchclustercon->get_warmcount( ).
lo_coldstorageoptions = lo_elasticsearchclustercon->get_coldstorageoptions( ).
IF lo_coldstorageoptions IS NOT INITIAL.
lv_boolean = lo_coldstorageoptions->get_enabled( ).
ENDIF.
ENDIF.
lo_ebsoptions = lo_elasticsearchdomainstat->get_ebsoptions( ).
IF lo_ebsoptions IS NOT INITIAL.
lv_boolean = lo_ebsoptions->get_ebsenabled( ).
lv_volumetype = lo_ebsoptions->get_volumetype( ).
lv_integerclass = lo_ebsoptions->get_volumesize( ).
lv_integerclass = lo_ebsoptions->get_iops( ).
lv_integerclass = lo_ebsoptions->get_throughput( ).
ENDIF.
lv_policydocument = lo_elasticsearchdomainstat->get_accesspolicies( ).
lo_snapshotoptions = lo_elasticsearchdomainstat->get_snapshotoptions( ).
IF lo_snapshotoptions IS NOT INITIAL.
lv_integerclass = lo_snapshotoptions->get_automatedsnapstarthour( ).
ENDIF.
lo_vpcderivedinfo = lo_elasticsearchdomainstat->get_vpcoptions( ).
IF lo_vpcderivedinfo IS NOT INITIAL.
lv_string = lo_vpcderivedinfo->get_vpcid( ).
LOOP AT lo_vpcderivedinfo->get_subnetids( ) into lo_row_1.
lo_row_2 = lo_row_1.
IF lo_row_2 IS NOT INITIAL.
lv_string = lo_row_2->get_value( ).
ENDIF.
ENDLOOP.
LOOP AT lo_vpcderivedinfo->get_availabilityzones( ) into lo_row_1.
lo_row_2 = lo_row_1.
IF lo_row_2 IS NOT INITIAL.
lv_string = lo_row_2->get_value( ).
ENDIF.
ENDLOOP.
LOOP AT lo_vpcderivedinfo->get_securitygroupids( ) into lo_row_1.
lo_row_2 = lo_row_1.
IF lo_row_2 IS NOT INITIAL.
lv_string = lo_row_2->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
lo_cognitooptions = lo_elasticsearchdomainstat->get_cognitooptions( ).
IF lo_cognitooptions IS NOT INITIAL.
lv_boolean = lo_cognitooptions->get_enabled( ).
lv_userpoolid = lo_cognitooptions->get_userpoolid( ).
lv_identitypoolid = lo_cognitooptions->get_identitypoolid( ).
lv_rolearn = lo_cognitooptions->get_rolearn( ).
ENDIF.
lo_encryptionatrestoptions = lo_elasticsearchdomainstat->get_encryptionatrestoptions( ).
IF lo_encryptionatrestoptions IS NOT INITIAL.
lv_boolean = lo_encryptionatrestoptions->get_enabled( ).
lv_kmskeyid = lo_encryptionatrestoptions->get_kmskeyid( ).
ENDIF.
lo_nodetonodeencryptionopt = lo_elasticsearchdomainstat->get_nodetonodeencoptions( ).
IF lo_nodetonodeencryptionopt IS NOT INITIAL.
lv_boolean = lo_nodetonodeencryptionopt->get_enabled( ).
ENDIF.
LOOP AT lo_elasticsearchdomainstat->get_advancedoptions( ) into ls_row_3.
lv_key = ls_row_3-key.
lo_value_1 = ls_row_3-value.
IF lo_value_1 IS NOT INITIAL.
lv_string = lo_value_1->get_value( ).
ENDIF.
ENDLOOP.
LOOP AT lo_elasticsearchdomainstat->get_logpublishingoptions( ) into ls_row_4.
lv_key_1 = ls_row_4-key.
lo_value_2 = ls_row_4-value.
IF lo_value_2 IS NOT INITIAL.
lv_cloudwatchlogsloggroupa = lo_value_2->get_cloudwatchlogsloggrparn( ).
lv_boolean = lo_value_2->get_enabled( ).
ENDIF.
ENDLOOP.
lo_servicesoftwareoptions = lo_elasticsearchdomainstat->get_servicesoftwareoptions( ).
IF lo_servicesoftwareoptions IS NOT INITIAL.
lv_string = lo_servicesoftwareoptions->get_currentversion( ).
lv_string = lo_servicesoftwareoptions->get_newversion( ).
lv_boolean = lo_servicesoftwareoptions->get_updateavailable( ).
lv_boolean = lo_servicesoftwareoptions->get_cancellable( ).
lv_deploymentstatus = lo_servicesoftwareoptions->get_updatestatus( ).
lv_string = lo_servicesoftwareoptions->get_description( ).
lv_deploymentclosedatetime = lo_servicesoftwareoptions->get_automatedupdatedate( ).
lv_boolean = lo_servicesoftwareoptions->get_optionaldeployment( ).
ENDIF.
lo_domainendpointoptions = lo_elasticsearchdomainstat->get_domainendpointoptions( ).
IF lo_domainendpointoptions IS NOT INITIAL.
lv_boolean = lo_domainendpointoptions->get_enforcehttps( ).
lv_tlssecuritypolicy = lo_domainendpointoptions->get_tlssecuritypolicy( ).
lv_boolean = lo_domainendpointoptions->get_customendpointenabled( ).
lv_domainnamefqdn = lo_domainendpointoptions->get_customendpoint( ).
lv_arn = lo_domainendpointoptions->get_customendpointcertarn( ).
ENDIF.
lo_advancedsecurityoptions = lo_elasticsearchdomainstat->get_advancedsecurityoptions( ).
IF lo_advancedsecurityoptions IS NOT INITIAL.
lv_boolean = lo_advancedsecurityoptions->get_enabled( ).
lv_boolean = lo_advancedsecurityoptions->get_internaluserdatabaseenbd( ).
lo_samloptionsoutput = lo_advancedsecurityoptions->get_samloptions( ).
IF lo_samloptionsoutput IS NOT INITIAL.
lv_boolean = lo_samloptionsoutput->get_enabled( ).
lo_samlidp = lo_samloptionsoutput->get_idp( ).
IF lo_samlidp IS NOT INITIAL.
lv_samlmetadata = lo_samlidp->get_metadatacontent( ).
lv_samlentityid = lo_samlidp->get_entityid( ).
ENDIF.
lv_string = lo_samloptionsoutput->get_subjectkey( ).
lv_string = lo_samloptionsoutput->get_roleskey( ).
lv_integerclass = lo_samloptionsoutput->get_sessiontimeoutminutes( ).
ENDIF.
lv_disabletimestamp = lo_advancedsecurityoptions->get_anonymousauthdisabledate( ).
lv_boolean = lo_advancedsecurityoptions->get_anonymousauthenabled( ).
ENDIF.
lo_autotuneoptionsoutput = lo_elasticsearchdomainstat->get_autotuneoptions( ).
IF lo_autotuneoptionsoutput IS NOT INITIAL.
lv_autotunestate = lo_autotuneoptionsoutput->get_state( ).
lv_string = lo_autotuneoptionsoutput->get_errormessage( ).
ENDIF.
lo_changeprogressdetails = lo_elasticsearchdomainstat->get_changeprogressdetails( ).
IF lo_changeprogressdetails IS NOT INITIAL.
lv_guid = lo_changeprogressdetails->get_changeid( ).
lv_message = lo_changeprogressdetails->get_message( ).
lv_configchangestatus = lo_changeprogressdetails->get_configchangestatus( ).
lv_updatetimestamp = lo_changeprogressdetails->get_starttime( ).
lv_updatetimestamp = lo_changeprogressdetails->get_lastupdatedtime( ).
lv_initiatedby = lo_changeprogressdetails->get_initiatedby( ).
ENDIF.
lv_domainprocessingstatust = lo_elasticsearchdomainstat->get_domainprocessingstatus( ).
LOOP AT lo_elasticsearchdomainstat->get_modifyingproperties( ) into lo_row_5.
lo_row_6 = lo_row_5.
IF lo_row_6 IS NOT INITIAL.
lv_string = lo_row_6->get_name( ).
lv_string = lo_row_6->get_activevalue( ).
lv_string = lo_row_6->get_pendingvalue( ).
lv_propertyvaluetype = lo_row_6->get_valuetype( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.