PutObjectRetention

PutObjectRetention #

Overview #

Places an Object Retention configuration on an object.

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

Method #

PUTOBJECTRETENTION

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_key (Required)

    Name of the object key.

  • i_versionid

    The versionId of the object that the tag-set will be added to.

  • i_x_amz_bypass_governance_rete (x-amz-bypass-governance-retention)

    Indicates whether this operation should bypass Governance-mode restrictions.

  • 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 (Retention Structure with Mode an RetainUnilDate values in AWS)

    • MODE (Mode in AWS): Indicates the Retention mode for the specified object.
    • RETAINUNTILDATE (RetainUntilDate in AWS): The date on which this Object Lock Retention will expire.

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_retention.

  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.

  TRY.
        CALL METHOD lo_s3->putobjectretention
          EXPORTING
            i_bucket_name                   = 'i_bucket_name'
            i_region                        = 'i_region'
            i_key                           = 'i_key'
            i_versionid                     = 'i_versionid' (Optional)
            i_x_amz_bypass_governance_rete  = 'i_x_amz_bypass_governance_rete (Optional)
            i_x_amz_expected_b_owner        = 'i_x_amz_expected_b_owner' (Optional)
            i_x_amz_request_payer           = 'i_x_amz_request_payer' (Optional)
            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.