class Aws::S3::Types::RestoreObjectRequest

@note When making an API call, you may pass RestoreObjectRequest

data as a hash:

    {
      bucket: "BucketName", # required
      key: "ObjectKey", # required
      version_id: "ObjectVersionId",
      restore_request: {
        days: 1,
        glacier_job_parameters: {
          tier: "Standard", # required, accepts Standard, Bulk, Expedited
        },
        type: "SELECT", # accepts SELECT
        tier: "Standard", # accepts Standard, Bulk, Expedited
        description: "Description",
        select_parameters: {
          input_serialization: { # required
            csv: {
              file_header_info: "USE", # accepts USE, IGNORE, NONE
              comments: "Comments",
              quote_escape_character: "QuoteEscapeCharacter",
              record_delimiter: "RecordDelimiter",
              field_delimiter: "FieldDelimiter",
              quote_character: "QuoteCharacter",
              allow_quoted_record_delimiter: false,
            },
            compression_type: "NONE", # accepts NONE, GZIP, BZIP2
            json: {
              type: "DOCUMENT", # accepts DOCUMENT, LINES
            },
            parquet: {
            },
          },
          expression_type: "SQL", # required, accepts SQL
          expression: "Expression", # required
          output_serialization: { # required
            csv: {
              quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED
              quote_escape_character: "QuoteEscapeCharacter",
              record_delimiter: "RecordDelimiter",
              field_delimiter: "FieldDelimiter",
              quote_character: "QuoteCharacter",
            },
            json: {
              record_delimiter: "RecordDelimiter",
            },
          },
        },
        output_location: {
          s3: {
            bucket_name: "BucketName", # required
            prefix: "LocationPrefix", # required
            encryption: {
              encryption_type: "AES256", # required, accepts AES256, aws:kms
              kms_key_id: "SSEKMSKeyId",
              kms_context: "KMSContext",
            },
            canned_acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
            access_control_list: [
              {
                grantee: {
                  display_name: "DisplayName",
                  email_address: "EmailAddress",
                  id: "ID",
                  type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group
                  uri: "URI",
                },
                permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP
              },
            ],
            tagging: {
              tag_set: [ # required
                {
                  key: "ObjectKey", # required
                  value: "Value", # required
                },
              ],
            },
            user_metadata: [
              {
                name: "MetadataKey",
                value: "MetadataValue",
              },
            ],
            storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
          },
        },
      },
      request_payer: "requester", # accepts requester
      expected_bucket_owner: "AccountId",
    }

@!attribute [rw] bucket

The bucket name containing the object to restore.

When using this action with an access point, you must direct
requests to the access point hostname. The access point hostname
takes the form
*AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
When using this action with an access point through the Amazon Web
Services SDKs, you provide the access point ARN in place of the
bucket name. For more information about access point ARNs, see
[Using access points][1] in the *Amazon S3 User Guide*.

When using this action with Amazon S3 on Outposts, you must direct
requests to the S3 on Outposts hostname. The S3 on Outposts hostname
takes the form
*AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
When using this action using S3 on Outposts through the Amazon Web
Services SDKs, you provide the Outposts bucket ARN in place of the
bucket name. For more information about S3 on Outposts ARNs, see
[Using S3 on Outposts][2] in the *Amazon S3 User Guide*.

[1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
[2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
@return [String]

@!attribute [rw] key

Object key for which the action was initiated.
@return [String]

@!attribute [rw] version_id

VersionId used to reference a specific version of the object.
@return [String]

@!attribute [rw] restore_request

Container for restore job parameters.
@return [Types::RestoreRequest]

@!attribute [rw] request_payer

Confirms that the requester knows that they will be charged for the
request. Bucket owners need not specify this parameter in their
requests. For information about downloading objects from requester
pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
in the *Amazon S3 User Guide*.

[1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
@return [String]

@!attribute [rw] expected_bucket_owner

The account ID of the expected bucket owner. If the bucket is owned
by a different account, the request will fail with an HTTP `403
(Access Denied)` error.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RestoreObjectRequest AWS API Documentation

Constants

SENSITIVE