Skip to content

/AWS1/IF_LSA=>GETBUCKETS()

About GetBuckets

Returns information about one or more Amazon Lightsail buckets. The information returned includes the synchronization status of the Amazon Simple Storage Service (Amazon S3) account-level block public access feature for your Lightsail buckets.

For more information about buckets, see Buckets in Amazon Lightsail in the Amazon Lightsail Developer Guide.

Method Signature

METHODS /AWS1/IF_LSA~GETBUCKETS
  IMPORTING
    !IV_BUCKETNAME TYPE /AWS1/LSABUCKETNAME OPTIONAL
    !IV_PAGETOKEN TYPE /AWS1/LSASTRING OPTIONAL
    !IV_INCLUDECONNECTEDRESOURCES TYPE /AWS1/LSABOOLEAN OPTIONAL
    !IV_INCLUDECORS TYPE /AWS1/LSABOOLEAN OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_lsagetbucketsresult
  RAISING
    /AWS1/CX_LSAACCESSDENIEDEX
    /AWS1/CX_LSAINVALIDINPUTEX
    /AWS1/CX_LSANOTFOUNDEXCEPTION
    /AWS1/CX_LSARGNSETUPINPRGSSEX
    /AWS1/CX_LSASERVICEEXCEPTION
    /AWS1/CX_LSAUNAUTHNTCTDEX
    /AWS1/CX_LSACLIENTEXC
    /AWS1/CX_LSASERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Optional arguments:

iv_bucketname TYPE /AWS1/LSABUCKETNAME /AWS1/LSABUCKETNAME

The name of the bucket for which to return information.

When omitted, the response includes all of your buckets in the Amazon Web Services Region where the request is made.

iv_pagetoken TYPE /AWS1/LSASTRING /AWS1/LSASTRING

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetBuckets request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

iv_includeconnectedresources TYPE /AWS1/LSABOOLEAN /AWS1/LSABOOLEAN

A Boolean value that indicates whether to include Lightsail instances that were given access to the bucket using the SetResourceAccessForBucket action.

iv_includecors TYPE /AWS1/LSABOOLEAN /AWS1/LSABOOLEAN

A Boolean value that indicates whether to include Lightsail bucket CORS configuration in the response. For more information, see Configuring cross-origin resource sharing (CORS).

This parameter is only supported when getting a single bucket with bucketName specified. The default value for this parameter is False.

RETURNING

oo_output TYPE REF TO /aws1/cl_lsagetbucketsresult /AWS1/CL_LSAGETBUCKETSRESULT

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->getbuckets(
  iv_bucketname = |string|
  iv_includeconnectedresources = ABAP_TRUE
  iv_includecors = ABAP_TRUE
  iv_pagetoken = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  LOOP AT lo_result->get_buckets( ) into lo_row.
    lo_row_1 = lo_row.
    IF lo_row_1 IS NOT INITIAL.
      lv_nonemptystring = lo_row_1->get_resourcetype( ).
      lo_accessrules = lo_row_1->get_accessrules( ).
      IF lo_accessrules IS NOT INITIAL.
        lv_accesstype = lo_accessrules->get_getobject( ).
        lv_boolean = lo_accessrules->get_allowpublicoverrides( ).
      ENDIF.
      lv_nonemptystring = lo_row_1->get_arn( ).
      lv_nonemptystring = lo_row_1->get_bundleid( ).
      lv_isodate = lo_row_1->get_createdat( ).
      lv_nonemptystring = lo_row_1->get_url( ).
      lo_resourcelocation = lo_row_1->get_location( ).
      IF lo_resourcelocation IS NOT INITIAL.
        lv_string = lo_resourcelocation->get_availabilityzone( ).
        lv_regionname = lo_resourcelocation->get_regionname( ).
      ENDIF.
      lv_bucketname = lo_row_1->get_name( ).
      lv_nonemptystring = lo_row_1->get_supportcode( ).
      LOOP AT lo_row_1->get_tags( ) into lo_row_2.
        lo_row_3 = lo_row_2.
        IF lo_row_3 IS NOT INITIAL.
          lv_tagkey = lo_row_3->get_key( ).
          lv_tagvalue = lo_row_3->get_value( ).
        ENDIF.
      ENDLOOP.
      lv_nonemptystring = lo_row_1->get_objectversioning( ).
      lv_boolean = lo_row_1->get_abletoupdatebundle( ).
      LOOP AT lo_row_1->get_readonlyaccessaccounts( ) into lo_row_4.
        lo_row_5 = lo_row_4.
        IF lo_row_5 IS NOT INITIAL.
          lv_nonemptystring = lo_row_5->get_value( ).
        ENDIF.
      ENDLOOP.
      LOOP AT lo_row_1->get_resourcesreceivingaccess( ) into lo_row_6.
        lo_row_7 = lo_row_6.
        IF lo_row_7 IS NOT INITIAL.
          lv_nonemptystring = lo_row_7->get_name( ).
          lv_nonemptystring = lo_row_7->get_resourcetype( ).
        ENDIF.
      ENDLOOP.
      lo_bucketstate = lo_row_1->get_state( ).
      IF lo_bucketstate IS NOT INITIAL.
        lv_nonemptystring = lo_bucketstate->get_code( ).
        lv_string = lo_bucketstate->get_message( ).
      ENDIF.
      lo_bucketaccesslogconfig = lo_row_1->get_accesslogconfig( ).
      IF lo_bucketaccesslogconfig IS NOT INITIAL.
        lv_boolean = lo_bucketaccesslogconfig->get_enabled( ).
        lv_bucketname = lo_bucketaccesslogconfig->get_destination( ).
        lv_bucketaccesslogprefix = lo_bucketaccesslogconfig->get_prefix( ).
      ENDIF.
      lo_bucketcorsconfig = lo_row_1->get_cors( ).
      IF lo_bucketcorsconfig IS NOT INITIAL.
        LOOP AT lo_bucketcorsconfig->get_rules( ) into lo_row_8.
          lo_row_9 = lo_row_8.
          IF lo_row_9 IS NOT INITIAL.
            lv_bucketcorsruleid = lo_row_9->get_id( ).
            LOOP AT lo_row_9->get_allowedmethods( ) into lo_row_10.
              lo_row_11 = lo_row_10.
              IF lo_row_11 IS NOT INITIAL.
                lv_bucketcorsallowedmethod = lo_row_11->get_value( ).
              ENDIF.
            ENDLOOP.
            LOOP AT lo_row_9->get_allowedorigins( ) into lo_row_12.
              lo_row_13 = lo_row_12.
              IF lo_row_13 IS NOT INITIAL.
                lv_string = lo_row_13->get_value( ).
              ENDIF.
            ENDLOOP.
            LOOP AT lo_row_9->get_allowedheaders( ) into lo_row_14.
              lo_row_15 = lo_row_14.
              IF lo_row_15 IS NOT INITIAL.
                lv_string = lo_row_15->get_value( ).
              ENDIF.
            ENDLOOP.
            LOOP AT lo_row_9->get_exposeheaders( ) into lo_row_16.
              lo_row_17 = lo_row_16.
              IF lo_row_17 IS NOT INITIAL.
                lv_string = lo_row_17->get_value( ).
              ENDIF.
            ENDLOOP.
            lv_integer = lo_row_9->get_maxageseconds( ).
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDIF.
  ENDLOOP.
  lv_string = lo_result->get_nextpagetoken( ).
  lo_accountlevelbpasync = lo_result->get_accountlevelbpasync( ).
  IF lo_accountlevelbpasync IS NOT INITIAL.
    lv_accountlevelbpasyncstat = lo_accountlevelbpasync->get_status( ).
    lv_isodate = lo_accountlevelbpasync->get_lastsyncedat( ).
    lv_bpastatusmessage = lo_accountlevelbpasync->get_message( ).
    lv_boolean = lo_accountlevelbpasync->get_bpaimpactslightsail( ).
  ENDIF.
ENDIF.