NAME

Paws::S3::RestoreObject - Arguments for method RestoreObject on Paws::S3

DESCRIPTION

This class represents the parameters used for calling the method RestoreObject on the Amazon Simple Storage Service service. Use the attributes of this class as arguments to method RestoreObject.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to RestoreObject.

SYNOPSIS

my $s3 = Paws->service('S3');
my $RestoreObjectOutput = $s3->RestoreObject(
  Bucket         => 'MyBucketName',
  Key            => 'MyObjectKey',
  ContentMD5     => 'MyContentMD5',    # OPTIONAL
  RequestPayer   => 'requester',       # OPTIONAL
  RestoreRequest => {
    Days                 => 1,                  # OPTIONAL
    Description          => 'MyDescription',    # OPTIONAL
    GlacierJobParameters => {
      Tier => 'Standard',    # values: Standard, Bulk, Expedited; OPTIONAL

    },    # OPTIONAL
    OutputLocation => {
      S3 => {
        BucketName        => 'MyBucketName',
        Prefix            => 'MyLocationPrefix',
        AccessControlList => [
          {
            Grantee => {
              Type => 'CanonicalUser'
              ,    # values: CanonicalUser, AmazonCustomerByEmail, Group
              DisplayName  => 'MyDisplayName',     # OPTIONAL
              EmailAddress => 'MyEmailAddress',    # OPTIONAL
              ID           => 'MyID',              # OPTIONAL
              URI          => 'MyURI',             # OPTIONAL
            },    # OPTIONAL
            Permission => 'FULL_CONTROL'
            , # values: FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP; OPTIONAL
          },
          ...
        ],    # OPTIONAL
        CannedACL => 'private'
        , # values: private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control; OPTIONAL
        Encryption => {
          EncryptionType => 'AES256',           # values: AES256, aws:kms
          KMSContext     => 'MyKMSContext',     # OPTIONAL
          KMSKeyId       => 'MySSEKMSKeyId',    # OPTIONAL
        },    # OPTIONAL
        StorageClass => 'STANDARD'
        , # values: STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE; OPTIONAL
        Tagging => {
          TagSet => [
            {
              Key   => 'MyObjectKey',    # min: 1
              Value => 'MyValue',

            },
            ...
          ],

        },    # OPTIONAL
        UserMetadata => [
          {
            Name  => 'MyMetadataKey',      # OPTIONAL
            Value => 'MyMetadataValue',    # OPTIONAL
          },
          ...
        ],    # OPTIONAL
      },    # OPTIONAL
    },    # OPTIONAL
    SelectParameters => {
      Expression         => 'MyExpression',
      ExpressionType     => 'SQL',            # values: SQL
      InputSerialization => {
        CSV => {
          AllowQuotedRecordDelimiter => 1,                     # OPTIONAL
          Comments                   => 'MyComments',          # OPTIONAL
          FieldDelimiter             => 'MyFieldDelimiter',    # OPTIONAL
          FileHeaderInfo => 'USE',    # values: USE, IGNORE, NONE; OPTIONAL
          QuoteCharacter       => 'MyQuoteCharacter',          # OPTIONAL
          QuoteEscapeCharacter => 'MyQuoteEscapeCharacter',    # OPTIONAL
          RecordDelimiter      => 'MyRecordDelimiter',         # OPTIONAL
        },    # OPTIONAL
        CompressionType => 'NONE',    # values: NONE, GZIP, BZIP2; OPTIONAL
        JSON            => {
          Type => 'DOCUMENT',         # values: DOCUMENT, LINES; OPTIONAL
        },    # OPTIONAL
        Parquet => {

        },    # OPTIONAL
      },
      OutputSerialization => {
        CSV => {
          FieldDelimiter       => 'MyFieldDelimiter',          # OPTIONAL
          QuoteCharacter       => 'MyQuoteCharacter',          # OPTIONAL
          QuoteEscapeCharacter => 'MyQuoteEscapeCharacter',    # OPTIONAL
          QuoteFields     => 'ALWAYS',  # values: ALWAYS, ASNEEDED; OPTIONAL
          RecordDelimiter => 'MyRecordDelimiter',    # OPTIONAL
        },    # OPTIONAL
        JSON => {
          RecordDelimiter => 'MyRecordDelimiter',    # OPTIONAL
        },    # OPTIONAL
      },

    },    # OPTIONAL
    Tier => 'Standard',    # values: Standard, Bulk, Expedited; OPTIONAL
    Type => 'SELECT',      # values: SELECT; OPTIONAL
  },    # OPTIONAL
  VersionId => 'MyObjectVersionId',    # OPTIONAL
);

# Results:
my $RequestCharged    = $RestoreObjectOutput->RequestCharged;
my $RestoreOutputPath = $RestoreObjectOutput->RestoreOutputPath;

# Returns a L<Paws::S3::RestoreObjectOutput> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/s3/RestoreObject

ATTRIBUTES

REQUIRED Bucket => Str

The bucket name or containing the object to restore.

When using this API 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 operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) in the Amazon Simple Storage Service Developer Guide.

ContentMD5 => Str

REQUIRED Key => Str

Object key for which the operation was initiated.

RequestPayer => Str

Valid values are: "requester"

RestoreRequest => Paws::S3::RestoreRequest

VersionId => Str

VersionId used to reference a specific version of the object.

SEE ALSO

This class forms part of Paws, documenting arguments for method RestoreObject in Paws::S3

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues