github.com/aavshr/aws-sdk-go@v1.41.3/service/s3/s3manager/upload_input.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package s3manager
     4  
     5  import (
     6  	"io"
     7  	"time"
     8  )
     9  
    10  // UploadInput provides the input parameters for uploading a stream or buffer
    11  // to an object in an Amazon S3 bucket. This type is similar to the s3
    12  // package's PutObjectInput with the exception that the Body member is an
    13  // io.Reader instead of an io.ReadSeeker.
    14  type UploadInput struct {
    15  	_ struct{} `locationName:"PutObjectRequest" type:"structure" payload:"Body"`
    16  
    17  	// The canned ACL to apply to the object. For more information, see Canned ACL
    18  	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL).
    19  	//
    20  	// This action is not supported by Amazon S3 on Outposts.
    21  	ACL *string `location:"header" locationName:"x-amz-acl" type:"string" enum:"ObjectCannedACL"`
    22  
    23  	// The readable body payload to send to S3.
    24  	Body io.Reader
    25  
    26  	// The bucket name to which the PUT action was initiated.
    27  	//
    28  	// When using this action with an access point, you must direct requests to
    29  	// the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
    30  	// When using this action with an access point through the Amazon Web Services
    31  	// SDKs, you provide the access point ARN in place of the bucket name. For more
    32  	// information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
    33  	// in the Amazon S3 User Guide.
    34  	//
    35  	// When using this action with Amazon S3 on Outposts, you must direct requests
    36  	// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
    37  	// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
    38  	// using this action using S3 on Outposts through the Amazon Web Services SDKs,
    39  	// you provide the Outposts bucket ARN in place of the bucket name. For more
    40  	// information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
    41  	// in the Amazon S3 User Guide.
    42  	//
    43  	// Bucket is a required field
    44  	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
    45  
    46  	// Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption
    47  	// with server-side encryption using AWS KMS (SSE-KMS). Setting this header
    48  	// to true causes Amazon S3 to use an S3 Bucket Key for object encryption with
    49  	// SSE-KMS.
    50  	//
    51  	// Specifying this header with a PUT action doesn’t affect bucket-level settings
    52  	// for S3 Bucket Key.
    53  	BucketKeyEnabled *bool `location:"header" locationName:"x-amz-server-side-encryption-bucket-key-enabled" type:"boolean"`
    54  
    55  	// Can be used to specify caching behavior along the request/reply chain. For
    56  	// more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9
    57  	// (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9).
    58  	CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
    59  
    60  	// Specifies presentational information for the object. For more information,
    61  	// see http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1).
    62  	ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
    63  
    64  	// Specifies what content encodings have been applied to the object and thus
    65  	// what decoding mechanisms must be applied to obtain the media-type referenced
    66  	// by the Content-Type header field. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11
    67  	// (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11).
    68  	ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"`
    69  
    70  	// The language the content is in.
    71  	ContentLanguage *string `location:"header" locationName:"Content-Language" type:"string"`
    72  
    73  	// The base64-encoded 128-bit MD5 digest of the message (without the headers)
    74  	// according to RFC 1864. This header can be used as a message integrity check
    75  	// to verify that the data is the same data that was originally sent. Although
    76  	// it is optional, we recommend using the Content-MD5 mechanism as an end-to-end
    77  	// integrity check. For more information about REST request authentication,
    78  	// see REST Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html).
    79  	ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
    80  
    81  	// A standard MIME type describing the format of the contents. For more information,
    82  	// see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17).
    83  	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
    84  
    85  	// The account ID of the expected bucket owner. If the bucket is owned by a
    86  	// different account, the request will fail with an HTTP 403 (Access Denied)
    87  	// error.
    88  	ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
    89  
    90  	// The date and time at which the object is no longer cacheable. For more information,
    91  	// see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21).
    92  	Expires *time.Time `location:"header" locationName:"Expires" type:"timestamp"`
    93  
    94  	// Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
    95  	//
    96  	// This action is not supported by Amazon S3 on Outposts.
    97  	GrantFullControl *string `location:"header" locationName:"x-amz-grant-full-control" type:"string"`
    98  
    99  	// Allows grantee to read the object data and its metadata.
   100  	//
   101  	// This action is not supported by Amazon S3 on Outposts.
   102  	GrantRead *string `location:"header" locationName:"x-amz-grant-read" type:"string"`
   103  
   104  	// Allows grantee to read the object ACL.
   105  	//
   106  	// This action is not supported by Amazon S3 on Outposts.
   107  	GrantReadACP *string `location:"header" locationName:"x-amz-grant-read-acp" type:"string"`
   108  
   109  	// Allows grantee to write the ACL for the applicable object.
   110  	//
   111  	// This action is not supported by Amazon S3 on Outposts.
   112  	GrantWriteACP *string `location:"header" locationName:"x-amz-grant-write-acp" type:"string"`
   113  
   114  	// Object key for which the PUT action was initiated.
   115  	//
   116  	// Key is a required field
   117  	Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
   118  
   119  	// A map of metadata to store with the object in S3.
   120  	Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
   121  
   122  	// Specifies whether a legal hold will be applied to this object. For more information
   123  	// about S3 Object Lock, see Object Lock (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html).
   124  	ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
   125  
   126  	// The Object Lock mode that you want to apply to this object.
   127  	ObjectLockMode *string `location:"header" locationName:"x-amz-object-lock-mode" type:"string" enum:"ObjectLockMode"`
   128  
   129  	// The date and time when you want this object's Object Lock to expire. Must
   130  	// be formatted as a timestamp parameter.
   131  	ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
   132  
   133  	// Confirms that the requester knows that they will be charged for the request.
   134  	// Bucket owners need not specify this parameter in their requests. For information
   135  	// about downloading objects from requester pays buckets, see Downloading Objects
   136  	// in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
   137  	// in the Amazon S3 User Guide.
   138  	RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
   139  
   140  	// Specifies the algorithm to use to when encrypting the object (for example,
   141  	// AES256).
   142  	SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
   143  
   144  	// Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
   145  	// data. This value is used to store the object and then it is discarded; Amazon
   146  	// S3 does not store the encryption key. The key must be appropriate for use
   147  	// with the algorithm specified in the x-amz-server-side-encryption-customer-algorithm
   148  	// header.
   149  	SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
   150  
   151  	// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
   152  	// Amazon S3 uses this header for a message integrity check to ensure that the
   153  	// encryption key was transmitted without error.
   154  	SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
   155  
   156  	// Specifies the Amazon Web Services KMS Encryption Context to use for object
   157  	// encryption. The value of this header is a base64-encoded UTF-8 string holding
   158  	// JSON with the encryption context key-value pairs.
   159  	SSEKMSEncryptionContext *string `location:"header" locationName:"x-amz-server-side-encryption-context" type:"string" sensitive:"true"`
   160  
   161  	// If x-amz-server-side-encryption is present and has the value of aws:kms,
   162  	// this header specifies the ID of the Amazon Web Services Key Management Service
   163  	// (Amazon Web Services KMS) symmetrical customer managed key that was used
   164  	// for the object. If you specify x-amz-server-side-encryption:aws:kms, but
   165  	// do not providex-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses
   166  	// the Amazon Web Services managed key to protect the data. If the KMS key does
   167  	// not exist in the same account issuing the command, you must use the full
   168  	// ARN and not just the ID.
   169  	SSEKMSKeyId *string `location:"header" locationName:"x-amz-server-side-encryption-aws-kms-key-id" type:"string" sensitive:"true"`
   170  
   171  	// The server-side encryption algorithm used when storing this object in Amazon
   172  	// S3 (for example, AES256, aws:kms).
   173  	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`
   174  
   175  	// By default, Amazon S3 uses the STANDARD Storage Class to store newly created
   176  	// objects. The STANDARD storage class provides high durability and high availability.
   177  	// Depending on performance needs, you can specify a different Storage Class.
   178  	// Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For more information,
   179  	// see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
   180  	// in the Amazon S3 User Guide.
   181  	StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`
   182  
   183  	// The tag-set for the object. The tag-set must be encoded as URL Query parameters.
   184  	// (For example, "Key1=Value1")
   185  	Tagging *string `location:"header" locationName:"x-amz-tagging" type:"string"`
   186  
   187  	// If the bucket is configured as a website, redirects requests for this object
   188  	// to another object in the same bucket or to an external URL. Amazon S3 stores
   189  	// the value of this header in the object metadata. For information about object
   190  	// metadata, see Object Key and Metadata (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html).
   191  	//
   192  	// In the following example, the request header sets the redirect to an object
   193  	// (anotherPage.html) in the same bucket:
   194  	//
   195  	// x-amz-website-redirect-location: /anotherPage.html
   196  	//
   197  	// In the following example, the request header sets the object redirect to
   198  	// another website:
   199  	//
   200  	// x-amz-website-redirect-location: http://www.example.com/
   201  	//
   202  	// For more information about website hosting in Amazon S3, see Hosting Websites
   203  	// on Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html)
   204  	// and How to Configure Website Page Redirects (https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).
   205  	WebsiteRedirectLocation *string `location:"header" locationName:"x-amz-website-redirect-location" type:"string"`
   206  }