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 }