aws_sdk_s3/operation/put_object/_put_object_output.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
5pub struct PutObjectOutput {
6 /// <p>If the expiration is configured for the object (see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>) in the <i>Amazon S3 User Guide</i>, the response includes this header. It includes the <code>expiry-date</code> and <code>rule-id</code> key-value pairs that provide information about object expiration. The value of the <code>rule-id</code> is URL-encoded.</p><note>
7 /// <p>Object expiration information is not returned in directory buckets and this header returns the value "<code>NotImplemented</code>" in all responses for directory buckets.</p>
8 /// </note>
9 pub expiration: ::std::option::Option<::std::string::String>,
10 /// <p>Entity tag for the uploaded object.</p>
11 /// <p><b>General purpose buckets </b> - To ensure that data is not corrupted traversing the network, for objects where the ETag is the MD5 digest of the object, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value.</p>
12 /// <p><b>Directory buckets </b> - The ETag for the object in a directory bucket isn't the MD5 digest of the object.</p>
13 pub e_tag: ::std::option::Option<::std::string::String>,
14 /// <p>The Base64 encoded, 32-bit <code>CRC32 checksum</code> of the object. This checksum is only be present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
15 pub checksum_crc32: ::std::option::Option<::std::string::String>,
16 /// <p>The Base64 encoded, 32-bit <code>CRC32C</code> checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
17 pub checksum_crc32_c: ::std::option::Option<::std::string::String>,
18 /// <p>The Base64 encoded, 64-bit <code>CRC64NVME</code> checksum of the object. This header is present if the object was uploaded with the <code>CRC64NVME</code> checksum algorithm, or if it was uploaded without a checksum (and Amazon S3 added the default checksum, <code>CRC64NVME</code>, to the uploaded object). For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity in the Amazon S3 User Guide</a>.</p>
19 pub checksum_crc64_nvme: ::std::option::Option<::std::string::String>,
20 /// <p>The Base64 encoded, 160-bit <code>SHA1</code> digest of the object. This will only be present if the object was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
21 pub checksum_sha1: ::std::option::Option<::std::string::String>,
22 /// <p>The Base64 encoded, 256-bit <code>SHA256</code> digest of the object. This will only be present if the object was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
23 pub checksum_sha256: ::std::option::Option<::std::string::String>,
24 /// <p>This header specifies the checksum type of the object, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. For <code>PutObject</code> uploads, the checksum type is always <code>FULL_OBJECT</code>. You can use this header as a data integrity check to verify that the checksum type that is received is the same checksum that was specified. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
25 pub checksum_type: ::std::option::Option<crate::types::ChecksumType>,
26 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
27 /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
28 /// </note>
29 pub server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
30 /// <p>Version ID of the object.</p>
31 /// <p>If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects. For more information about versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html">Adding Objects to Versioning-Enabled Buckets</a> in the <i>Amazon S3 User Guide</i>. For information about returning the versioning state of a bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a>.</p><note>
32 /// <p>This functionality is not supported for directory buckets.</p>
33 /// </note>
34 pub version_id: ::std::option::Option<::std::string::String>,
35 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>
36 /// <p>This functionality is not supported for directory buckets.</p>
37 /// </note>
38 pub sse_customer_algorithm: ::std::option::Option<::std::string::String>,
39 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>
40 /// <p>This functionality is not supported for directory buckets.</p>
41 /// </note>
42 pub sse_customer_key_md5: ::std::option::Option<::std::string::String>,
43 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
44 pub ssekms_key_id: ::std::option::Option<::std::string::String>,
45 /// <p>If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a Base64 encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs. This value is stored as object metadata and automatically gets passed on to Amazon Web Services KMS for future <code>GetObject</code> operations on this object.</p>
46 pub ssekms_encryption_context: ::std::option::Option<::std::string::String>,
47 /// <p>Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
48 pub bucket_key_enabled: ::std::option::Option<bool>,
49 /// <p>The size of the object in bytes. This value is only be present if you append to an object.</p><note>
50 /// <p>This functionality is only supported for objects in the Amazon S3 Express One Zone storage class in directory buckets.</p>
51 /// </note>
52 pub size: ::std::option::Option<i64>,
53 /// <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>
54 /// <p>This functionality is not supported for directory buckets.</p>
55 /// </note>
56 pub request_charged: ::std::option::Option<crate::types::RequestCharged>,
57 _extended_request_id: Option<String>,
58 _request_id: Option<String>,
59}
60impl PutObjectOutput {
61 /// <p>If the expiration is configured for the object (see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>) in the <i>Amazon S3 User Guide</i>, the response includes this header. It includes the <code>expiry-date</code> and <code>rule-id</code> key-value pairs that provide information about object expiration. The value of the <code>rule-id</code> is URL-encoded.</p><note>
62 /// <p>Object expiration information is not returned in directory buckets and this header returns the value "<code>NotImplemented</code>" in all responses for directory buckets.</p>
63 /// </note>
64 pub fn expiration(&self) -> ::std::option::Option<&str> {
65 self.expiration.as_deref()
66 }
67 /// <p>Entity tag for the uploaded object.</p>
68 /// <p><b>General purpose buckets </b> - To ensure that data is not corrupted traversing the network, for objects where the ETag is the MD5 digest of the object, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value.</p>
69 /// <p><b>Directory buckets </b> - The ETag for the object in a directory bucket isn't the MD5 digest of the object.</p>
70 pub fn e_tag(&self) -> ::std::option::Option<&str> {
71 self.e_tag.as_deref()
72 }
73 /// <p>The Base64 encoded, 32-bit <code>CRC32 checksum</code> of the object. This checksum is only be present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
74 pub fn checksum_crc32(&self) -> ::std::option::Option<&str> {
75 self.checksum_crc32.as_deref()
76 }
77 /// <p>The Base64 encoded, 32-bit <code>CRC32C</code> checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
78 pub fn checksum_crc32_c(&self) -> ::std::option::Option<&str> {
79 self.checksum_crc32_c.as_deref()
80 }
81 /// <p>The Base64 encoded, 64-bit <code>CRC64NVME</code> checksum of the object. This header is present if the object was uploaded with the <code>CRC64NVME</code> checksum algorithm, or if it was uploaded without a checksum (and Amazon S3 added the default checksum, <code>CRC64NVME</code>, to the uploaded object). For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity in the Amazon S3 User Guide</a>.</p>
82 pub fn checksum_crc64_nvme(&self) -> ::std::option::Option<&str> {
83 self.checksum_crc64_nvme.as_deref()
84 }
85 /// <p>The Base64 encoded, 160-bit <code>SHA1</code> digest of the object. This will only be present if the object was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
86 pub fn checksum_sha1(&self) -> ::std::option::Option<&str> {
87 self.checksum_sha1.as_deref()
88 }
89 /// <p>The Base64 encoded, 256-bit <code>SHA256</code> digest of the object. This will only be present if the object was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
90 pub fn checksum_sha256(&self) -> ::std::option::Option<&str> {
91 self.checksum_sha256.as_deref()
92 }
93 /// <p>This header specifies the checksum type of the object, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. For <code>PutObject</code> uploads, the checksum type is always <code>FULL_OBJECT</code>. You can use this header as a data integrity check to verify that the checksum type that is received is the same checksum that was specified. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
94 pub fn checksum_type(&self) -> ::std::option::Option<&crate::types::ChecksumType> {
95 self.checksum_type.as_ref()
96 }
97 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
98 /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
99 /// </note>
100 pub fn server_side_encryption(&self) -> ::std::option::Option<&crate::types::ServerSideEncryption> {
101 self.server_side_encryption.as_ref()
102 }
103 /// <p>Version ID of the object.</p>
104 /// <p>If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects. For more information about versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html">Adding Objects to Versioning-Enabled Buckets</a> in the <i>Amazon S3 User Guide</i>. For information about returning the versioning state of a bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a>.</p><note>
105 /// <p>This functionality is not supported for directory buckets.</p>
106 /// </note>
107 pub fn version_id(&self) -> ::std::option::Option<&str> {
108 self.version_id.as_deref()
109 }
110 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>
111 /// <p>This functionality is not supported for directory buckets.</p>
112 /// </note>
113 pub fn sse_customer_algorithm(&self) -> ::std::option::Option<&str> {
114 self.sse_customer_algorithm.as_deref()
115 }
116 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>
117 /// <p>This functionality is not supported for directory buckets.</p>
118 /// </note>
119 pub fn sse_customer_key_md5(&self) -> ::std::option::Option<&str> {
120 self.sse_customer_key_md5.as_deref()
121 }
122 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
123 pub fn ssekms_key_id(&self) -> ::std::option::Option<&str> {
124 self.ssekms_key_id.as_deref()
125 }
126 /// <p>If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a Base64 encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs. This value is stored as object metadata and automatically gets passed on to Amazon Web Services KMS for future <code>GetObject</code> operations on this object.</p>
127 pub fn ssekms_encryption_context(&self) -> ::std::option::Option<&str> {
128 self.ssekms_encryption_context.as_deref()
129 }
130 /// <p>Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
131 pub fn bucket_key_enabled(&self) -> ::std::option::Option<bool> {
132 self.bucket_key_enabled
133 }
134 /// <p>The size of the object in bytes. This value is only be present if you append to an object.</p><note>
135 /// <p>This functionality is only supported for objects in the Amazon S3 Express One Zone storage class in directory buckets.</p>
136 /// </note>
137 pub fn size(&self) -> ::std::option::Option<i64> {
138 self.size
139 }
140 /// <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>
141 /// <p>This functionality is not supported for directory buckets.</p>
142 /// </note>
143 pub fn request_charged(&self) -> ::std::option::Option<&crate::types::RequestCharged> {
144 self.request_charged.as_ref()
145 }
146}
147impl ::std::fmt::Debug for PutObjectOutput {
148 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
149 let mut formatter = f.debug_struct("PutObjectOutput");
150 formatter.field("expiration", &self.expiration);
151 formatter.field("e_tag", &self.e_tag);
152 formatter.field("checksum_crc32", &self.checksum_crc32);
153 formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
154 formatter.field("checksum_crc64_nvme", &self.checksum_crc64_nvme);
155 formatter.field("checksum_sha1", &self.checksum_sha1);
156 formatter.field("checksum_sha256", &self.checksum_sha256);
157 formatter.field("checksum_type", &self.checksum_type);
158 formatter.field("server_side_encryption", &self.server_side_encryption);
159 formatter.field("version_id", &self.version_id);
160 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
161 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
162 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
163 formatter.field("ssekms_encryption_context", &"*** Sensitive Data Redacted ***");
164 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
165 formatter.field("size", &self.size);
166 formatter.field("request_charged", &self.request_charged);
167 formatter.field("_extended_request_id", &self._extended_request_id);
168 formatter.field("_request_id", &self._request_id);
169 formatter.finish()
170 }
171}
172impl crate::s3_request_id::RequestIdExt for PutObjectOutput {
173 fn extended_request_id(&self) -> Option<&str> {
174 self._extended_request_id.as_deref()
175 }
176}
177impl ::aws_types::request_id::RequestId for PutObjectOutput {
178 fn request_id(&self) -> Option<&str> {
179 self._request_id.as_deref()
180 }
181}
182impl PutObjectOutput {
183 /// Creates a new builder-style object to manufacture [`PutObjectOutput`](crate::operation::put_object::PutObjectOutput).
184 pub fn builder() -> crate::operation::put_object::builders::PutObjectOutputBuilder {
185 crate::operation::put_object::builders::PutObjectOutputBuilder::default()
186 }
187}
188
189/// A builder for [`PutObjectOutput`](crate::operation::put_object::PutObjectOutput).
190#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
191#[non_exhaustive]
192pub struct PutObjectOutputBuilder {
193 pub(crate) expiration: ::std::option::Option<::std::string::String>,
194 pub(crate) e_tag: ::std::option::Option<::std::string::String>,
195 pub(crate) checksum_crc32: ::std::option::Option<::std::string::String>,
196 pub(crate) checksum_crc32_c: ::std::option::Option<::std::string::String>,
197 pub(crate) checksum_crc64_nvme: ::std::option::Option<::std::string::String>,
198 pub(crate) checksum_sha1: ::std::option::Option<::std::string::String>,
199 pub(crate) checksum_sha256: ::std::option::Option<::std::string::String>,
200 pub(crate) checksum_type: ::std::option::Option<crate::types::ChecksumType>,
201 pub(crate) server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
202 pub(crate) version_id: ::std::option::Option<::std::string::String>,
203 pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
204 pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
205 pub(crate) ssekms_key_id: ::std::option::Option<::std::string::String>,
206 pub(crate) ssekms_encryption_context: ::std::option::Option<::std::string::String>,
207 pub(crate) bucket_key_enabled: ::std::option::Option<bool>,
208 pub(crate) size: ::std::option::Option<i64>,
209 pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
210 _extended_request_id: Option<String>,
211 _request_id: Option<String>,
212}
213impl PutObjectOutputBuilder {
214 /// <p>If the expiration is configured for the object (see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>) in the <i>Amazon S3 User Guide</i>, the response includes this header. It includes the <code>expiry-date</code> and <code>rule-id</code> key-value pairs that provide information about object expiration. The value of the <code>rule-id</code> is URL-encoded.</p><note>
215 /// <p>Object expiration information is not returned in directory buckets and this header returns the value "<code>NotImplemented</code>" in all responses for directory buckets.</p>
216 /// </note>
217 pub fn expiration(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
218 self.expiration = ::std::option::Option::Some(input.into());
219 self
220 }
221 /// <p>If the expiration is configured for the object (see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>) in the <i>Amazon S3 User Guide</i>, the response includes this header. It includes the <code>expiry-date</code> and <code>rule-id</code> key-value pairs that provide information about object expiration. The value of the <code>rule-id</code> is URL-encoded.</p><note>
222 /// <p>Object expiration information is not returned in directory buckets and this header returns the value "<code>NotImplemented</code>" in all responses for directory buckets.</p>
223 /// </note>
224 pub fn set_expiration(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
225 self.expiration = input;
226 self
227 }
228 /// <p>If the expiration is configured for the object (see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>) in the <i>Amazon S3 User Guide</i>, the response includes this header. It includes the <code>expiry-date</code> and <code>rule-id</code> key-value pairs that provide information about object expiration. The value of the <code>rule-id</code> is URL-encoded.</p><note>
229 /// <p>Object expiration information is not returned in directory buckets and this header returns the value "<code>NotImplemented</code>" in all responses for directory buckets.</p>
230 /// </note>
231 pub fn get_expiration(&self) -> &::std::option::Option<::std::string::String> {
232 &self.expiration
233 }
234 /// <p>Entity tag for the uploaded object.</p>
235 /// <p><b>General purpose buckets </b> - To ensure that data is not corrupted traversing the network, for objects where the ETag is the MD5 digest of the object, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value.</p>
236 /// <p><b>Directory buckets </b> - The ETag for the object in a directory bucket isn't the MD5 digest of the object.</p>
237 pub fn e_tag(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
238 self.e_tag = ::std::option::Option::Some(input.into());
239 self
240 }
241 /// <p>Entity tag for the uploaded object.</p>
242 /// <p><b>General purpose buckets </b> - To ensure that data is not corrupted traversing the network, for objects where the ETag is the MD5 digest of the object, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value.</p>
243 /// <p><b>Directory buckets </b> - The ETag for the object in a directory bucket isn't the MD5 digest of the object.</p>
244 pub fn set_e_tag(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
245 self.e_tag = input;
246 self
247 }
248 /// <p>Entity tag for the uploaded object.</p>
249 /// <p><b>General purpose buckets </b> - To ensure that data is not corrupted traversing the network, for objects where the ETag is the MD5 digest of the object, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value.</p>
250 /// <p><b>Directory buckets </b> - The ETag for the object in a directory bucket isn't the MD5 digest of the object.</p>
251 pub fn get_e_tag(&self) -> &::std::option::Option<::std::string::String> {
252 &self.e_tag
253 }
254 /// <p>The Base64 encoded, 32-bit <code>CRC32 checksum</code> of the object. This checksum is only be present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
255 pub fn checksum_crc32(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
256 self.checksum_crc32 = ::std::option::Option::Some(input.into());
257 self
258 }
259 /// <p>The Base64 encoded, 32-bit <code>CRC32 checksum</code> of the object. This checksum is only be present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
260 pub fn set_checksum_crc32(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
261 self.checksum_crc32 = input;
262 self
263 }
264 /// <p>The Base64 encoded, 32-bit <code>CRC32 checksum</code> of the object. This checksum is only be present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
265 pub fn get_checksum_crc32(&self) -> &::std::option::Option<::std::string::String> {
266 &self.checksum_crc32
267 }
268 /// <p>The Base64 encoded, 32-bit <code>CRC32C</code> checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
269 pub fn checksum_crc32_c(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
270 self.checksum_crc32_c = ::std::option::Option::Some(input.into());
271 self
272 }
273 /// <p>The Base64 encoded, 32-bit <code>CRC32C</code> checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
274 pub fn set_checksum_crc32_c(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
275 self.checksum_crc32_c = input;
276 self
277 }
278 /// <p>The Base64 encoded, 32-bit <code>CRC32C</code> checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
279 pub fn get_checksum_crc32_c(&self) -> &::std::option::Option<::std::string::String> {
280 &self.checksum_crc32_c
281 }
282 /// <p>The Base64 encoded, 64-bit <code>CRC64NVME</code> checksum of the object. This header is present if the object was uploaded with the <code>CRC64NVME</code> checksum algorithm, or if it was uploaded without a checksum (and Amazon S3 added the default checksum, <code>CRC64NVME</code>, to the uploaded object). For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity in the Amazon S3 User Guide</a>.</p>
283 pub fn checksum_crc64_nvme(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
284 self.checksum_crc64_nvme = ::std::option::Option::Some(input.into());
285 self
286 }
287 /// <p>The Base64 encoded, 64-bit <code>CRC64NVME</code> checksum of the object. This header is present if the object was uploaded with the <code>CRC64NVME</code> checksum algorithm, or if it was uploaded without a checksum (and Amazon S3 added the default checksum, <code>CRC64NVME</code>, to the uploaded object). For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity in the Amazon S3 User Guide</a>.</p>
288 pub fn set_checksum_crc64_nvme(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
289 self.checksum_crc64_nvme = input;
290 self
291 }
292 /// <p>The Base64 encoded, 64-bit <code>CRC64NVME</code> checksum of the object. This header is present if the object was uploaded with the <code>CRC64NVME</code> checksum algorithm, or if it was uploaded without a checksum (and Amazon S3 added the default checksum, <code>CRC64NVME</code>, to the uploaded object). For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity in the Amazon S3 User Guide</a>.</p>
293 pub fn get_checksum_crc64_nvme(&self) -> &::std::option::Option<::std::string::String> {
294 &self.checksum_crc64_nvme
295 }
296 /// <p>The Base64 encoded, 160-bit <code>SHA1</code> digest of the object. This will only be present if the object was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
297 pub fn checksum_sha1(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
298 self.checksum_sha1 = ::std::option::Option::Some(input.into());
299 self
300 }
301 /// <p>The Base64 encoded, 160-bit <code>SHA1</code> digest of the object. This will only be present if the object was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
302 pub fn set_checksum_sha1(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
303 self.checksum_sha1 = input;
304 self
305 }
306 /// <p>The Base64 encoded, 160-bit <code>SHA1</code> digest of the object. This will only be present if the object was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
307 pub fn get_checksum_sha1(&self) -> &::std::option::Option<::std::string::String> {
308 &self.checksum_sha1
309 }
310 /// <p>The Base64 encoded, 256-bit <code>SHA256</code> digest of the object. This will only be present if the object was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
311 pub fn checksum_sha256(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
312 self.checksum_sha256 = ::std::option::Option::Some(input.into());
313 self
314 }
315 /// <p>The Base64 encoded, 256-bit <code>SHA256</code> digest of the object. This will only be present if the object was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
316 pub fn set_checksum_sha256(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
317 self.checksum_sha256 = input;
318 self
319 }
320 /// <p>The Base64 encoded, 256-bit <code>SHA256</code> digest of the object. This will only be present if the object was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
321 pub fn get_checksum_sha256(&self) -> &::std::option::Option<::std::string::String> {
322 &self.checksum_sha256
323 }
324 /// <p>This header specifies the checksum type of the object, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. For <code>PutObject</code> uploads, the checksum type is always <code>FULL_OBJECT</code>. You can use this header as a data integrity check to verify that the checksum type that is received is the same checksum that was specified. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
325 pub fn checksum_type(mut self, input: crate::types::ChecksumType) -> Self {
326 self.checksum_type = ::std::option::Option::Some(input);
327 self
328 }
329 /// <p>This header specifies the checksum type of the object, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. For <code>PutObject</code> uploads, the checksum type is always <code>FULL_OBJECT</code>. You can use this header as a data integrity check to verify that the checksum type that is received is the same checksum that was specified. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
330 pub fn set_checksum_type(mut self, input: ::std::option::Option<crate::types::ChecksumType>) -> Self {
331 self.checksum_type = input;
332 self
333 }
334 /// <p>This header specifies the checksum type of the object, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. For <code>PutObject</code> uploads, the checksum type is always <code>FULL_OBJECT</code>. You can use this header as a data integrity check to verify that the checksum type that is received is the same checksum that was specified. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
335 pub fn get_checksum_type(&self) -> &::std::option::Option<crate::types::ChecksumType> {
336 &self.checksum_type
337 }
338 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
339 /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
340 /// </note>
341 pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
342 self.server_side_encryption = ::std::option::Option::Some(input);
343 self
344 }
345 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
346 /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
347 /// </note>
348 pub fn set_server_side_encryption(mut self, input: ::std::option::Option<crate::types::ServerSideEncryption>) -> Self {
349 self.server_side_encryption = input;
350 self
351 }
352 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
353 /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
354 /// </note>
355 pub fn get_server_side_encryption(&self) -> &::std::option::Option<crate::types::ServerSideEncryption> {
356 &self.server_side_encryption
357 }
358 /// <p>Version ID of the object.</p>
359 /// <p>If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects. For more information about versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html">Adding Objects to Versioning-Enabled Buckets</a> in the <i>Amazon S3 User Guide</i>. For information about returning the versioning state of a bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a>.</p><note>
360 /// <p>This functionality is not supported for directory buckets.</p>
361 /// </note>
362 pub fn version_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
363 self.version_id = ::std::option::Option::Some(input.into());
364 self
365 }
366 /// <p>Version ID of the object.</p>
367 /// <p>If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects. For more information about versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html">Adding Objects to Versioning-Enabled Buckets</a> in the <i>Amazon S3 User Guide</i>. For information about returning the versioning state of a bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a>.</p><note>
368 /// <p>This functionality is not supported for directory buckets.</p>
369 /// </note>
370 pub fn set_version_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
371 self.version_id = input;
372 self
373 }
374 /// <p>Version ID of the object.</p>
375 /// <p>If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects. For more information about versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html">Adding Objects to Versioning-Enabled Buckets</a> in the <i>Amazon S3 User Guide</i>. For information about returning the versioning state of a bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a>.</p><note>
376 /// <p>This functionality is not supported for directory buckets.</p>
377 /// </note>
378 pub fn get_version_id(&self) -> &::std::option::Option<::std::string::String> {
379 &self.version_id
380 }
381 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>
382 /// <p>This functionality is not supported for directory buckets.</p>
383 /// </note>
384 pub fn sse_customer_algorithm(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
385 self.sse_customer_algorithm = ::std::option::Option::Some(input.into());
386 self
387 }
388 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>
389 /// <p>This functionality is not supported for directory buckets.</p>
390 /// </note>
391 pub fn set_sse_customer_algorithm(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
392 self.sse_customer_algorithm = input;
393 self
394 }
395 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>
396 /// <p>This functionality is not supported for directory buckets.</p>
397 /// </note>
398 pub fn get_sse_customer_algorithm(&self) -> &::std::option::Option<::std::string::String> {
399 &self.sse_customer_algorithm
400 }
401 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>
402 /// <p>This functionality is not supported for directory buckets.</p>
403 /// </note>
404 pub fn sse_customer_key_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
405 self.sse_customer_key_md5 = ::std::option::Option::Some(input.into());
406 self
407 }
408 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>
409 /// <p>This functionality is not supported for directory buckets.</p>
410 /// </note>
411 pub fn set_sse_customer_key_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
412 self.sse_customer_key_md5 = input;
413 self
414 }
415 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>
416 /// <p>This functionality is not supported for directory buckets.</p>
417 /// </note>
418 pub fn get_sse_customer_key_md5(&self) -> &::std::option::Option<::std::string::String> {
419 &self.sse_customer_key_md5
420 }
421 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
422 pub fn ssekms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
423 self.ssekms_key_id = ::std::option::Option::Some(input.into());
424 self
425 }
426 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
427 pub fn set_ssekms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
428 self.ssekms_key_id = input;
429 self
430 }
431 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
432 pub fn get_ssekms_key_id(&self) -> &::std::option::Option<::std::string::String> {
433 &self.ssekms_key_id
434 }
435 /// <p>If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a Base64 encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs. This value is stored as object metadata and automatically gets passed on to Amazon Web Services KMS for future <code>GetObject</code> operations on this object.</p>
436 pub fn ssekms_encryption_context(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
437 self.ssekms_encryption_context = ::std::option::Option::Some(input.into());
438 self
439 }
440 /// <p>If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a Base64 encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs. This value is stored as object metadata and automatically gets passed on to Amazon Web Services KMS for future <code>GetObject</code> operations on this object.</p>
441 pub fn set_ssekms_encryption_context(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
442 self.ssekms_encryption_context = input;
443 self
444 }
445 /// <p>If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a Base64 encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs. This value is stored as object metadata and automatically gets passed on to Amazon Web Services KMS for future <code>GetObject</code> operations on this object.</p>
446 pub fn get_ssekms_encryption_context(&self) -> &::std::option::Option<::std::string::String> {
447 &self.ssekms_encryption_context
448 }
449 /// <p>Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
450 pub fn bucket_key_enabled(mut self, input: bool) -> Self {
451 self.bucket_key_enabled = ::std::option::Option::Some(input);
452 self
453 }
454 /// <p>Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
455 pub fn set_bucket_key_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
456 self.bucket_key_enabled = input;
457 self
458 }
459 /// <p>Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
460 pub fn get_bucket_key_enabled(&self) -> &::std::option::Option<bool> {
461 &self.bucket_key_enabled
462 }
463 /// <p>The size of the object in bytes. This value is only be present if you append to an object.</p><note>
464 /// <p>This functionality is only supported for objects in the Amazon S3 Express One Zone storage class in directory buckets.</p>
465 /// </note>
466 pub fn size(mut self, input: i64) -> Self {
467 self.size = ::std::option::Option::Some(input);
468 self
469 }
470 /// <p>The size of the object in bytes. This value is only be present if you append to an object.</p><note>
471 /// <p>This functionality is only supported for objects in the Amazon S3 Express One Zone storage class in directory buckets.</p>
472 /// </note>
473 pub fn set_size(mut self, input: ::std::option::Option<i64>) -> Self {
474 self.size = input;
475 self
476 }
477 /// <p>The size of the object in bytes. This value is only be present if you append to an object.</p><note>
478 /// <p>This functionality is only supported for objects in the Amazon S3 Express One Zone storage class in directory buckets.</p>
479 /// </note>
480 pub fn get_size(&self) -> &::std::option::Option<i64> {
481 &self.size
482 }
483 /// <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>
484 /// <p>This functionality is not supported for directory buckets.</p>
485 /// </note>
486 pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
487 self.request_charged = ::std::option::Option::Some(input);
488 self
489 }
490 /// <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>
491 /// <p>This functionality is not supported for directory buckets.</p>
492 /// </note>
493 pub fn set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
494 self.request_charged = input;
495 self
496 }
497 /// <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>
498 /// <p>This functionality is not supported for directory buckets.</p>
499 /// </note>
500 pub fn get_request_charged(&self) -> &::std::option::Option<crate::types::RequestCharged> {
501 &self.request_charged
502 }
503 pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
504 self._extended_request_id = Some(extended_request_id.into());
505 self
506 }
507
508 pub(crate) fn _set_extended_request_id(&mut self, extended_request_id: Option<String>) -> &mut Self {
509 self._extended_request_id = extended_request_id;
510 self
511 }
512 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
513 self._request_id = Some(request_id.into());
514 self
515 }
516
517 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
518 self._request_id = request_id;
519 self
520 }
521 /// Consumes the builder and constructs a [`PutObjectOutput`](crate::operation::put_object::PutObjectOutput).
522 pub fn build(self) -> crate::operation::put_object::PutObjectOutput {
523 crate::operation::put_object::PutObjectOutput {
524 expiration: self.expiration,
525 e_tag: self.e_tag,
526 checksum_crc32: self.checksum_crc32,
527 checksum_crc32_c: self.checksum_crc32_c,
528 checksum_crc64_nvme: self.checksum_crc64_nvme,
529 checksum_sha1: self.checksum_sha1,
530 checksum_sha256: self.checksum_sha256,
531 checksum_type: self.checksum_type,
532 server_side_encryption: self.server_side_encryption,
533 version_id: self.version_id,
534 sse_customer_algorithm: self.sse_customer_algorithm,
535 sse_customer_key_md5: self.sse_customer_key_md5,
536 ssekms_key_id: self.ssekms_key_id,
537 ssekms_encryption_context: self.ssekms_encryption_context,
538 bucket_key_enabled: self.bucket_key_enabled,
539 size: self.size,
540 request_charged: self.request_charged,
541 _extended_request_id: self._extended_request_id,
542 _request_id: self._request_id,
543 }
544 }
545}
546impl ::std::fmt::Debug for PutObjectOutputBuilder {
547 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
548 let mut formatter = f.debug_struct("PutObjectOutputBuilder");
549 formatter.field("expiration", &self.expiration);
550 formatter.field("e_tag", &self.e_tag);
551 formatter.field("checksum_crc32", &self.checksum_crc32);
552 formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
553 formatter.field("checksum_crc64_nvme", &self.checksum_crc64_nvme);
554 formatter.field("checksum_sha1", &self.checksum_sha1);
555 formatter.field("checksum_sha256", &self.checksum_sha256);
556 formatter.field("checksum_type", &self.checksum_type);
557 formatter.field("server_side_encryption", &self.server_side_encryption);
558 formatter.field("version_id", &self.version_id);
559 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
560 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
561 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
562 formatter.field("ssekms_encryption_context", &"*** Sensitive Data Redacted ***");
563 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
564 formatter.field("size", &self.size);
565 formatter.field("request_charged", &self.request_charged);
566 formatter.field("_extended_request_id", &self._extended_request_id);
567 formatter.field("_request_id", &self._request_id);
568 formatter.finish()
569 }
570}