PutObjectLockConfiguration

PutObjectLockConfiguration #

Overview #

Places an Object Lock configuration on the specified bucket.

AWS API Reference: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLockConfiguration.html

Method #

PUTOBJECTLOCKCONFIGURATION

Import Parameters #

The request uses the following import parameters.

  • i_bucket_name (bucket in AWS) (Required)

    Name of the bucket.

  • i_region (Required)

    AWS Region of the Amazon S3 Bucket.

  • i_x_amz_bucket_obj_lock_token (x-amz-bucket-object-lock-token in AWS)

    A token to allow Object Lock to be enabled for an existing bucket.

  • i_x_amz_expected_b_owner (x-amz-expected-bucket-owner in AWS)

    The account id of the expected bucket owner

  • i_x_amz_request_payer (x-amz-request-payer in aws)

    Confirms that the requester knows that they will be charged for the request

  • i_body (Structure with ObjectLockConfiguration, ObjectLockEnabled and Rule fields in AWS) (Required)

    ObjectLockConfiguration: Root level tag for the ObjectLockConfiguration parameters ObjectLockEnabled: Indicates whether this bucket has an Object Lock configuration enabled. Rule: The Object Lock rule in place for the specified object.


Export Parameters #

This method use the following export parameters:

  • e_http_status

    HTTP Status code.

  • e_response_headers

    Returns information about the request in format Name/Value pair values.

  • e_response_content

    Response content in string format.


Example #

DATA: lo_s3               TYPE REF TO /lnkc/cl_sdk_aws_s3,
      lv_http_status      TYPE i,
      lt_response_headers TYPE tihttpnvp,
      lv_response_content TYPE string,
      ls_body             type /lnkc/aws_s3_s_objlockconfig.

  TRY.
      CREATE OBJECT lo_s3
        EXPORTING
          i_user_name         = 'user_awsconnector'
          i_access_key        = 'acces_key_value'
          i_secret_access_key = 'secret_acceskey_value'.
  ENDTRY.


    ls_body-objectlockenabled            = 'ObjectLockEnabled_value'.

    " Structure of Rule Retentions
    ls_body-rule-defaultretention-days   = 'Days'.
    ls_body-rule-defaultretention-mode   = 'Mode'.
    ls_body-rule-defaultretention-years  = 'Years'.

TRY.
    CALL METHOD lo_s3->putobjectlockconfiguration
      EXPORTING
        i_bucket_name                 = 'bucket_name'
        i_region                      = 'bucket_region'
        i_x_amz_bucket_obj_lock_token = 'obj_lock_token'
        i_x_amz_expected_b_owner      = 'expected_owner'
        i_x_amz_request_payer         = 'request_payer'
        i_body                        = ls_body
      IMPORTING
        e_http_status                 = lv_http_status
        e_response_headers            = lt_response_headers
        e_response_content            = lv_response_content.
        .
      CATCH /lnkc/cx_sdk_aws .
        " Error Message
    ENDTRY.