/AWS1/IF_LSA=>CREATEDISTRIBUTION()¶
About CreateDistribution¶
Creates an Amazon Lightsail content delivery network (CDN) distribution.
A distribution is a globally distributed network of caching servers that improve the performance of your website or web application hosted on a Lightsail instance. For more information, see Content delivery networks in Amazon Lightsail.
Method Signature¶
METHODS /AWS1/IF_LSA~CREATEDISTRIBUTION
IMPORTING
!IV_DISTRIBUTIONNAME TYPE /AWS1/LSARESOURCENAME OPTIONAL
!IO_ORIGIN TYPE REF TO /AWS1/CL_LSAINPUTORIGIN OPTIONAL
!IO_DEFAULTCACHEBEHAVIOR TYPE REF TO /AWS1/CL_LSACACHEBEHAVIOR OPTIONAL
!IO_CACHEBEHAVIORSETTINGS TYPE REF TO /AWS1/CL_LSACACHESETTINGS OPTIONAL
!IT_CACHEBEHAVIORS TYPE /AWS1/CL_LSACACHEBEHAVPERPATH=>TT_CACHEBEHAVIORLIST OPTIONAL
!IV_BUNDLEID TYPE /AWS1/LSASTRING OPTIONAL
!IV_IPADDRESSTYPE TYPE /AWS1/LSAIPADDRESSTYPE OPTIONAL
!IT_TAGS TYPE /AWS1/CL_LSATAG=>TT_TAGLIST OPTIONAL
!IV_CERTIFICATENAME TYPE /AWS1/LSARESOURCENAME OPTIONAL
!IV_VIEWERMINTLSPROTOCOLVRS TYPE /AWS1/LSAVIEWERMINTLSPROTOCO00 OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_lsacredistributionrs
RAISING
/AWS1/CX_LSAACCESSDENIEDEX
/AWS1/CX_LSAINVALIDINPUTEX
/AWS1/CX_LSANOTFOUNDEXCEPTION
/AWS1/CX_LSAOPERATIONFAILUREEX
/AWS1/CX_LSASERVICEEXCEPTION
/AWS1/CX_LSAUNAUTHNTCTDEX
/AWS1/CX_LSACLIENTEXC
/AWS1/CX_LSASERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_distributionname TYPE /AWS1/LSARESOURCENAME /AWS1/LSARESOURCENAME¶
The name for the distribution.
io_origin TYPE REF TO /AWS1/CL_LSAINPUTORIGIN /AWS1/CL_LSAINPUTORIGIN¶
An object that describes the origin resource for the distribution, such as a Lightsail instance, bucket, or load balancer.
The distribution pulls, caches, and serves content from the origin.
io_defaultcachebehavior TYPE REF TO /AWS1/CL_LSACACHEBEHAVIOR /AWS1/CL_LSACACHEBEHAVIOR¶
An object that describes the default cache behavior for the distribution.
iv_bundleid TYPE /AWS1/LSASTRING /AWS1/LSASTRING¶
The bundle ID to use for the distribution.
A distribution bundle describes the specifications of your distribution, such as the monthly cost and monthly network transfer quota.
Use the
GetDistributionBundlesaction to get a list of distribution bundle IDs that you can specify.
Optional arguments:¶
io_cachebehaviorsettings TYPE REF TO /AWS1/CL_LSACACHESETTINGS /AWS1/CL_LSACACHESETTINGS¶
An object that describes the cache behavior settings for the distribution.
it_cachebehaviors TYPE /AWS1/CL_LSACACHEBEHAVPERPATH=>TT_CACHEBEHAVIORLIST TT_CACHEBEHAVIORLIST¶
An array of objects that describe the per-path cache behavior for the distribution.
iv_ipaddresstype TYPE /AWS1/LSAIPADDRESSTYPE /AWS1/LSAIPADDRESSTYPE¶
The IP address type for the distribution.
The possible values are
ipv4for IPv4 only, anddualstackfor IPv4 and IPv6.The default value is
dualstack.
it_tags TYPE /AWS1/CL_LSATAG=>TT_TAGLIST TT_TAGLIST¶
The tag keys and optional values to add to the distribution during create.
Use the
TagResourceaction to tag a resource after it's created.
iv_certificatename TYPE /AWS1/LSARESOURCENAME /AWS1/LSARESOURCENAME¶
The name of the SSL/TLS certificate that you want to attach to the distribution.
Use the GetCertificates action to get a list of certificate names that you can specify.
iv_viewermintlsprotocolvrs TYPE /AWS1/LSAVIEWERMINTLSPROTOCO00 /AWS1/LSAVIEWERMINTLSPROTOCO00¶
The minimum TLS protocol version for the SSL/TLS certificate.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_lsacredistributionrs /AWS1/CL_LSACREDISTRIBUTIONRS¶
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->createdistribution(
io_cachebehaviorsettings = new /aws1/cl_lsacachesettings(
io_forwardedcookies = new /aws1/cl_lsacookieobject(
it_cookiesallowlist = VALUE /aws1/cl_lsastringlist_w=>tt_stringlist(
( new /aws1/cl_lsastringlist_w( |string| ) )
)
iv_option = |string|
)
io_forwardedheaders = new /aws1/cl_lsaheaderobject(
it_headersallowlist = VALUE /aws1/cl_lsaheaderforwardlst_w=>tt_headerforwardlist(
( new /aws1/cl_lsaheaderforwardlst_w( |string| ) )
)
iv_option = |string|
)
io_forwardedquerystrings = new /aws1/cl_lsaquerystringobject(
it_querystringsallowlist = VALUE /aws1/cl_lsastringlist_w=>tt_stringlist(
( new /aws1/cl_lsastringlist_w( |string| ) )
)
iv_option = ABAP_TRUE
)
iv_allowedhttpmethods = |string|
iv_cachedhttpmethods = |string|
iv_defaultttl = 123
iv_maximumttl = 123
iv_minimumttl = 123
)
io_defaultcachebehavior = new /aws1/cl_lsacachebehavior( |string| )
io_origin = new /aws1/cl_lsainputorigin(
iv_name = |string|
iv_protocolpolicy = |string|
iv_regionname = |string|
iv_responsetimeout = 123
)
it_cachebehaviors = VALUE /aws1/cl_lsacachebehavperpath=>tt_cachebehaviorlist(
(
new /aws1/cl_lsacachebehavperpath(
iv_behavior = |string|
iv_path = |string|
)
)
)
it_tags = VALUE /aws1/cl_lsatag=>tt_taglist(
(
new /aws1/cl_lsatag(
iv_key = |string|
iv_value = |string|
)
)
)
iv_bundleid = |string|
iv_certificatename = |string|
iv_distributionname = |string|
iv_ipaddresstype = |string|
iv_viewermintlsprotocolvrs = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_lightsaildistribution = lo_result->get_distribution( ).
IF lo_lightsaildistribution IS NOT INITIAL.
lv_resourcename = lo_lightsaildistribution->get_name( ).
lv_nonemptystring = lo_lightsaildistribution->get_arn( ).
lv_string = lo_lightsaildistribution->get_supportcode( ).
lv_isodate = lo_lightsaildistribution->get_createdat( ).
lo_resourcelocation = lo_lightsaildistribution->get_location( ).
IF lo_resourcelocation IS NOT INITIAL.
lv_string = lo_resourcelocation->get_availabilityzone( ).
lv_regionname = lo_resourcelocation->get_regionname( ).
ENDIF.
lv_resourcetype = lo_lightsaildistribution->get_resourcetype( ).
LOOP AT lo_lightsaildistribution->get_alternativedomainnames( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_string = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
lv_string = lo_lightsaildistribution->get_status( ).
lv_boolean = lo_lightsaildistribution->get_isenabled( ).
lv_string = lo_lightsaildistribution->get_domainname( ).
lv_string = lo_lightsaildistribution->get_bundleid( ).
lv_resourcename = lo_lightsaildistribution->get_certificatename( ).
lo_origin = lo_lightsaildistribution->get_origin( ).
IF lo_origin IS NOT INITIAL.
lv_resourcename = lo_origin->get_name( ).
lv_resourcetype = lo_origin->get_resourcetype( ).
lv_regionname = lo_origin->get_regionname( ).
lv_originprotocolpolicyenu = lo_origin->get_protocolpolicy( ).
lv_integer = lo_origin->get_responsetimeout( ).
ENDIF.
lv_string = lo_lightsaildistribution->get_originpublicdns( ).
lo_cachebehavior = lo_lightsaildistribution->get_defaultcachebehavior( ).
IF lo_cachebehavior IS NOT INITIAL.
lv_behaviorenum = lo_cachebehavior->get_behavior( ).
ENDIF.
lo_cachesettings = lo_lightsaildistribution->get_cachebehaviorsettings( ).
IF lo_cachesettings IS NOT INITIAL.
lv_long = lo_cachesettings->get_defaultttl( ).
lv_long = lo_cachesettings->get_minimumttl( ).
lv_long = lo_cachesettings->get_maximumttl( ).
lv_nonemptystring = lo_cachesettings->get_allowedhttpmethods( ).
lv_nonemptystring = lo_cachesettings->get_cachedhttpmethods( ).
lo_cookieobject = lo_cachesettings->get_forwardedcookies( ).
IF lo_cookieobject IS NOT INITIAL.
lv_forwardvalues = lo_cookieobject->get_option( ).
LOOP AT lo_cookieobject->get_cookiesallowlist( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_string = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
lo_headerobject = lo_cachesettings->get_forwardedheaders( ).
IF lo_headerobject IS NOT INITIAL.
lv_forwardvalues = lo_headerobject->get_option( ).
LOOP AT lo_headerobject->get_headersallowlist( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_headerenum = lo_row_3->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
lo_querystringobject = lo_cachesettings->get_forwardedquerystrings( ).
IF lo_querystringobject IS NOT INITIAL.
lv_boolean = lo_querystringobject->get_option( ).
LOOP AT lo_querystringobject->get_querystringsallowlist( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_string = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
LOOP AT lo_lightsaildistribution->get_cachebehaviors( ) into lo_row_4.
lo_row_5 = lo_row_4.
IF lo_row_5 IS NOT INITIAL.
lv_string = lo_row_5->get_path( ).
lv_behaviorenum = lo_row_5->get_behavior( ).
ENDIF.
ENDLOOP.
lv_boolean = lo_lightsaildistribution->get_abletoupdatebundle( ).
lv_ipaddresstype = lo_lightsaildistribution->get_ipaddresstype( ).
LOOP AT lo_lightsaildistribution->get_tags( ) into lo_row_6.
lo_row_7 = lo_row_6.
IF lo_row_7 IS NOT INITIAL.
lv_tagkey = lo_row_7->get_key( ).
lv_tagvalue = lo_row_7->get_value( ).
ENDIF.
ENDLOOP.
lv_string = lo_lightsaildistribution->get_viewermintlsprotocolvrs( ).
ENDIF.
lo_operation = lo_result->get_operation( ).
IF lo_operation IS NOT INITIAL.
lv_nonemptystring = lo_operation->get_id( ).
lv_resourcename = lo_operation->get_resourcename( ).
lv_resourcetype = lo_operation->get_resourcetype( ).
lv_isodate = lo_operation->get_createdat( ).
lo_resourcelocation = lo_operation->get_location( ).
IF lo_resourcelocation IS NOT INITIAL.
lv_string = lo_resourcelocation->get_availabilityzone( ).
lv_regionname = lo_resourcelocation->get_regionname( ).
ENDIF.
lv_boolean = lo_operation->get_isterminal( ).
lv_string = lo_operation->get_operationdetails( ).
lv_operationtype = lo_operation->get_operationtype( ).
lv_operationstatus = lo_operation->get_status( ).
lv_isodate = lo_operation->get_statuschangedat( ).
lv_string = lo_operation->get_errorcode( ).
lv_string = lo_operation->get_errordetails( ).
ENDIF.
ENDIF.