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.</p>
27 pub server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
28 /// <p>Version ID of the object.</p>
29 /// <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>
30 /// <p>This functionality is not supported for directory buckets.</p>
31 /// </note>
32 pub version_id: ::std::option::Option<::std::string::String>,
33 /// <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>
34 /// <p>This functionality is not supported for directory buckets.</p>
35 /// </note>
36 pub sse_customer_algorithm: ::std::option::Option<::std::string::String>,
37 /// <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>
38 /// <p>This functionality is not supported for directory buckets.</p>
39 /// </note>
40 pub sse_customer_key_md5: ::std::option::Option<::std::string::String>,
41 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
42 pub ssekms_key_id: ::std::option::Option<::std::string::String>,
43 /// <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>
44 pub ssekms_encryption_context: ::std::option::Option<::std::string::String>,
45 /// <p>Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
46 pub bucket_key_enabled: ::std::option::Option<bool>,
47 /// <p>The size of the object in bytes. This value is only be present if you append to an object.</p><note>
48 /// <p>This functionality is only supported for objects in the Amazon S3 Express One Zone storage class in directory buckets.</p>
49 /// </note>
50 pub size: ::std::option::Option<i64>,
51 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
52 /// <p>This functionality is not supported for directory buckets.</p>
53 /// </note>
54 pub request_charged: ::std::option::Option<crate::types::RequestCharged>,
55 _extended_request_id: Option<String>,
56 _request_id: Option<String>,
57}
58impl PutObjectOutput {
59 /// <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>
60 /// <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>
61 /// </note>
62 pub fn expiration(&self) -> ::std::option::Option<&str> {
63 self.expiration.as_deref()
64 }
65 /// <p>Entity tag for the uploaded object.</p>
66 /// <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>
67 /// <p><b>Directory buckets </b> - The ETag for the object in a directory bucket isn't the MD5 digest of the object.</p>
68 pub fn e_tag(&self) -> ::std::option::Option<&str> {
69 self.e_tag.as_deref()
70 }
71 /// <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>
72 pub fn checksum_crc32(&self) -> ::std::option::Option<&str> {
73 self.checksum_crc32.as_deref()
74 }
75 /// <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>
76 pub fn checksum_crc32_c(&self) -> ::std::option::Option<&str> {
77 self.checksum_crc32_c.as_deref()
78 }
79 /// <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>
80 pub fn checksum_crc64_nvme(&self) -> ::std::option::Option<&str> {
81 self.checksum_crc64_nvme.as_deref()
82 }
83 /// <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>
84 pub fn checksum_sha1(&self) -> ::std::option::Option<&str> {
85 self.checksum_sha1.as_deref()
86 }
87 /// <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>
88 pub fn checksum_sha256(&self) -> ::std::option::Option<&str> {
89 self.checksum_sha256.as_deref()
90 }
91 /// <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>
92 pub fn checksum_type(&self) -> ::std::option::Option<&crate::types::ChecksumType> {
93 self.checksum_type.as_ref()
94 }
95 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3.</p>
96 pub fn server_side_encryption(&self) -> ::std::option::Option<&crate::types::ServerSideEncryption> {
97 self.server_side_encryption.as_ref()
98 }
99 /// <p>Version ID of the object.</p>
100 /// <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>
101 /// <p>This functionality is not supported for directory buckets.</p>
102 /// </note>
103 pub fn version_id(&self) -> ::std::option::Option<&str> {
104 self.version_id.as_deref()
105 }
106 /// <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>
107 /// <p>This functionality is not supported for directory buckets.</p>
108 /// </note>
109 pub fn sse_customer_algorithm(&self) -> ::std::option::Option<&str> {
110 self.sse_customer_algorithm.as_deref()
111 }
112 /// <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>
113 /// <p>This functionality is not supported for directory buckets.</p>
114 /// </note>
115 pub fn sse_customer_key_md5(&self) -> ::std::option::Option<&str> {
116 self.sse_customer_key_md5.as_deref()
117 }
118 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
119 pub fn ssekms_key_id(&self) -> ::std::option::Option<&str> {
120 self.ssekms_key_id.as_deref()
121 }
122 /// <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>
123 pub fn ssekms_encryption_context(&self) -> ::std::option::Option<&str> {
124 self.ssekms_encryption_context.as_deref()
125 }
126 /// <p>Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
127 pub fn bucket_key_enabled(&self) -> ::std::option::Option<bool> {
128 self.bucket_key_enabled
129 }
130 /// <p>The size of the object in bytes. This value is only be present if you append to an object.</p><note>
131 /// <p>This functionality is only supported for objects in the Amazon S3 Express One Zone storage class in directory buckets.</p>
132 /// </note>
133 pub fn size(&self) -> ::std::option::Option<i64> {
134 self.size
135 }
136 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
137 /// <p>This functionality is not supported for directory buckets.</p>
138 /// </note>
139 pub fn request_charged(&self) -> ::std::option::Option<&crate::types::RequestCharged> {
140 self.request_charged.as_ref()
141 }
142}
143impl ::std::fmt::Debug for PutObjectOutput {
144 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
145 let mut formatter = f.debug_struct("PutObjectOutput");
146 formatter.field("expiration", &self.expiration);
147 formatter.field("e_tag", &self.e_tag);
148 formatter.field("checksum_crc32", &self.checksum_crc32);
149 formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
150 formatter.field("checksum_crc64_nvme", &self.checksum_crc64_nvme);
151 formatter.field("checksum_sha1", &self.checksum_sha1);
152 formatter.field("checksum_sha256", &self.checksum_sha256);
153 formatter.field("checksum_type", &self.checksum_type);
154 formatter.field("server_side_encryption", &self.server_side_encryption);
155 formatter.field("version_id", &self.version_id);
156 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
157 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
158 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
159 formatter.field("ssekms_encryption_context", &"*** Sensitive Data Redacted ***");
160 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
161 formatter.field("size", &self.size);
162 formatter.field("request_charged", &self.request_charged);
163 formatter.field("_extended_request_id", &self._extended_request_id);
164 formatter.field("_request_id", &self._request_id);
165 formatter.finish()
166 }
167}
168impl crate::s3_request_id::RequestIdExt for PutObjectOutput {
169 fn extended_request_id(&self) -> Option<&str> {
170 self._extended_request_id.as_deref()
171 }
172}
173impl ::aws_types::request_id::RequestId for PutObjectOutput {
174 fn request_id(&self) -> Option<&str> {
175 self._request_id.as_deref()
176 }
177}
178impl PutObjectOutput {
179 /// Creates a new builder-style object to manufacture [`PutObjectOutput`](crate::operation::put_object::PutObjectOutput).
180 pub fn builder() -> crate::operation::put_object::builders::PutObjectOutputBuilder {
181 crate::operation::put_object::builders::PutObjectOutputBuilder::default()
182 }
183}
184
185/// A builder for [`PutObjectOutput`](crate::operation::put_object::PutObjectOutput).
186#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
187#[non_exhaustive]
188pub struct PutObjectOutputBuilder {
189 pub(crate) expiration: ::std::option::Option<::std::string::String>,
190 pub(crate) e_tag: ::std::option::Option<::std::string::String>,
191 pub(crate) checksum_crc32: ::std::option::Option<::std::string::String>,
192 pub(crate) checksum_crc32_c: ::std::option::Option<::std::string::String>,
193 pub(crate) checksum_crc64_nvme: ::std::option::Option<::std::string::String>,
194 pub(crate) checksum_sha1: ::std::option::Option<::std::string::String>,
195 pub(crate) checksum_sha256: ::std::option::Option<::std::string::String>,
196 pub(crate) checksum_type: ::std::option::Option<crate::types::ChecksumType>,
197 pub(crate) server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
198 pub(crate) version_id: ::std::option::Option<::std::string::String>,
199 pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
200 pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
201 pub(crate) ssekms_key_id: ::std::option::Option<::std::string::String>,
202 pub(crate) ssekms_encryption_context: ::std::option::Option<::std::string::String>,
203 pub(crate) bucket_key_enabled: ::std::option::Option<bool>,
204 pub(crate) size: ::std::option::Option<i64>,
205 pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
206 _extended_request_id: Option<String>,
207 _request_id: Option<String>,
208}
209impl PutObjectOutputBuilder {
210 /// <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>
211 /// <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>
212 /// </note>
213 pub fn expiration(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
214 self.expiration = ::std::option::Option::Some(input.into());
215 self
216 }
217 /// <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>
218 /// <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>
219 /// </note>
220 pub fn set_expiration(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
221 self.expiration = input;
222 self
223 }
224 /// <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>
225 /// <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>
226 /// </note>
227 pub fn get_expiration(&self) -> &::std::option::Option<::std::string::String> {
228 &self.expiration
229 }
230 /// <p>Entity tag for the uploaded object.</p>
231 /// <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>
232 /// <p><b>Directory buckets </b> - The ETag for the object in a directory bucket isn't the MD5 digest of the object.</p>
233 pub fn e_tag(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
234 self.e_tag = ::std::option::Option::Some(input.into());
235 self
236 }
237 /// <p>Entity tag for the uploaded object.</p>
238 /// <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>
239 /// <p><b>Directory buckets </b> - The ETag for the object in a directory bucket isn't the MD5 digest of the object.</p>
240 pub fn set_e_tag(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
241 self.e_tag = input;
242 self
243 }
244 /// <p>Entity tag for the uploaded object.</p>
245 /// <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>
246 /// <p><b>Directory buckets </b> - The ETag for the object in a directory bucket isn't the MD5 digest of the object.</p>
247 pub fn get_e_tag(&self) -> &::std::option::Option<::std::string::String> {
248 &self.e_tag
249 }
250 /// <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>
251 pub fn checksum_crc32(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
252 self.checksum_crc32 = ::std::option::Option::Some(input.into());
253 self
254 }
255 /// <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>
256 pub fn set_checksum_crc32(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
257 self.checksum_crc32 = input;
258 self
259 }
260 /// <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>
261 pub fn get_checksum_crc32(&self) -> &::std::option::Option<::std::string::String> {
262 &self.checksum_crc32
263 }
264 /// <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>
265 pub fn checksum_crc32_c(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
266 self.checksum_crc32_c = ::std::option::Option::Some(input.into());
267 self
268 }
269 /// <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>
270 pub fn set_checksum_crc32_c(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
271 self.checksum_crc32_c = input;
272 self
273 }
274 /// <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>
275 pub fn get_checksum_crc32_c(&self) -> &::std::option::Option<::std::string::String> {
276 &self.checksum_crc32_c
277 }
278 /// <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>
279 pub fn checksum_crc64_nvme(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
280 self.checksum_crc64_nvme = ::std::option::Option::Some(input.into());
281 self
282 }
283 /// <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>
284 pub fn set_checksum_crc64_nvme(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
285 self.checksum_crc64_nvme = input;
286 self
287 }
288 /// <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>
289 pub fn get_checksum_crc64_nvme(&self) -> &::std::option::Option<::std::string::String> {
290 &self.checksum_crc64_nvme
291 }
292 /// <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>
293 pub fn checksum_sha1(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
294 self.checksum_sha1 = ::std::option::Option::Some(input.into());
295 self
296 }
297 /// <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>
298 pub fn set_checksum_sha1(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
299 self.checksum_sha1 = input;
300 self
301 }
302 /// <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>
303 pub fn get_checksum_sha1(&self) -> &::std::option::Option<::std::string::String> {
304 &self.checksum_sha1
305 }
306 /// <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>
307 pub fn checksum_sha256(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
308 self.checksum_sha256 = ::std::option::Option::Some(input.into());
309 self
310 }
311 /// <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>
312 pub fn set_checksum_sha256(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
313 self.checksum_sha256 = input;
314 self
315 }
316 /// <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>
317 pub fn get_checksum_sha256(&self) -> &::std::option::Option<::std::string::String> {
318 &self.checksum_sha256
319 }
320 /// <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>
321 pub fn checksum_type(mut self, input: crate::types::ChecksumType) -> Self {
322 self.checksum_type = ::std::option::Option::Some(input);
323 self
324 }
325 /// <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>
326 pub fn set_checksum_type(mut self, input: ::std::option::Option<crate::types::ChecksumType>) -> Self {
327 self.checksum_type = input;
328 self
329 }
330 /// <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>
331 pub fn get_checksum_type(&self) -> &::std::option::Option<crate::types::ChecksumType> {
332 &self.checksum_type
333 }
334 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3.</p>
335 pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
336 self.server_side_encryption = ::std::option::Option::Some(input);
337 self
338 }
339 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3.</p>
340 pub fn set_server_side_encryption(mut self, input: ::std::option::Option<crate::types::ServerSideEncryption>) -> Self {
341 self.server_side_encryption = input;
342 self
343 }
344 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3.</p>
345 pub fn get_server_side_encryption(&self) -> &::std::option::Option<crate::types::ServerSideEncryption> {
346 &self.server_side_encryption
347 }
348 /// <p>Version ID of the object.</p>
349 /// <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>
350 /// <p>This functionality is not supported for directory buckets.</p>
351 /// </note>
352 pub fn version_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
353 self.version_id = ::std::option::Option::Some(input.into());
354 self
355 }
356 /// <p>Version ID of the object.</p>
357 /// <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>
358 /// <p>This functionality is not supported for directory buckets.</p>
359 /// </note>
360 pub fn set_version_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
361 self.version_id = input;
362 self
363 }
364 /// <p>Version ID of the object.</p>
365 /// <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>
366 /// <p>This functionality is not supported for directory buckets.</p>
367 /// </note>
368 pub fn get_version_id(&self) -> &::std::option::Option<::std::string::String> {
369 &self.version_id
370 }
371 /// <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>
372 /// <p>This functionality is not supported for directory buckets.</p>
373 /// </note>
374 pub fn sse_customer_algorithm(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
375 self.sse_customer_algorithm = ::std::option::Option::Some(input.into());
376 self
377 }
378 /// <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>
379 /// <p>This functionality is not supported for directory buckets.</p>
380 /// </note>
381 pub fn set_sse_customer_algorithm(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
382 self.sse_customer_algorithm = input;
383 self
384 }
385 /// <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>
386 /// <p>This functionality is not supported for directory buckets.</p>
387 /// </note>
388 pub fn get_sse_customer_algorithm(&self) -> &::std::option::Option<::std::string::String> {
389 &self.sse_customer_algorithm
390 }
391 /// <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>
392 /// <p>This functionality is not supported for directory buckets.</p>
393 /// </note>
394 pub fn sse_customer_key_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
395 self.sse_customer_key_md5 = ::std::option::Option::Some(input.into());
396 self
397 }
398 /// <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>
399 /// <p>This functionality is not supported for directory buckets.</p>
400 /// </note>
401 pub fn set_sse_customer_key_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
402 self.sse_customer_key_md5 = input;
403 self
404 }
405 /// <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>
406 /// <p>This functionality is not supported for directory buckets.</p>
407 /// </note>
408 pub fn get_sse_customer_key_md5(&self) -> &::std::option::Option<::std::string::String> {
409 &self.sse_customer_key_md5
410 }
411 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
412 pub fn ssekms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
413 self.ssekms_key_id = ::std::option::Option::Some(input.into());
414 self
415 }
416 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
417 pub fn set_ssekms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
418 self.ssekms_key_id = input;
419 self
420 }
421 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
422 pub fn get_ssekms_key_id(&self) -> &::std::option::Option<::std::string::String> {
423 &self.ssekms_key_id
424 }
425 /// <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>
426 pub fn ssekms_encryption_context(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
427 self.ssekms_encryption_context = ::std::option::Option::Some(input.into());
428 self
429 }
430 /// <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>
431 pub fn set_ssekms_encryption_context(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
432 self.ssekms_encryption_context = input;
433 self
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 get_ssekms_encryption_context(&self) -> &::std::option::Option<::std::string::String> {
437 &self.ssekms_encryption_context
438 }
439 /// <p>Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
440 pub fn bucket_key_enabled(mut self, input: bool) -> Self {
441 self.bucket_key_enabled = ::std::option::Option::Some(input);
442 self
443 }
444 /// <p>Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
445 pub fn set_bucket_key_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
446 self.bucket_key_enabled = input;
447 self
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 get_bucket_key_enabled(&self) -> &::std::option::Option<bool> {
451 &self.bucket_key_enabled
452 }
453 /// <p>The size of the object in bytes. This value is only be present if you append to an object.</p><note>
454 /// <p>This functionality is only supported for objects in the Amazon S3 Express One Zone storage class in directory buckets.</p>
455 /// </note>
456 pub fn size(mut self, input: i64) -> Self {
457 self.size = ::std::option::Option::Some(input);
458 self
459 }
460 /// <p>The size of the object in bytes. This value is only be present if you append to an object.</p><note>
461 /// <p>This functionality is only supported for objects in the Amazon S3 Express One Zone storage class in directory buckets.</p>
462 /// </note>
463 pub fn set_size(mut self, input: ::std::option::Option<i64>) -> Self {
464 self.size = input;
465 self
466 }
467 /// <p>The size of the object in bytes. This value is only be present if you append to an object.</p><note>
468 /// <p>This functionality is only supported for objects in the Amazon S3 Express One Zone storage class in directory buckets.</p>
469 /// </note>
470 pub fn get_size(&self) -> &::std::option::Option<i64> {
471 &self.size
472 }
473 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
474 /// <p>This functionality is not supported for directory buckets.</p>
475 /// </note>
476 pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
477 self.request_charged = ::std::option::Option::Some(input);
478 self
479 }
480 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
481 /// <p>This functionality is not supported for directory buckets.</p>
482 /// </note>
483 pub fn set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
484 self.request_charged = input;
485 self
486 }
487 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
488 /// <p>This functionality is not supported for directory buckets.</p>
489 /// </note>
490 pub fn get_request_charged(&self) -> &::std::option::Option<crate::types::RequestCharged> {
491 &self.request_charged
492 }
493 pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
494 self._extended_request_id = Some(extended_request_id.into());
495 self
496 }
497
498 pub(crate) fn _set_extended_request_id(&mut self, extended_request_id: Option<String>) -> &mut Self {
499 self._extended_request_id = extended_request_id;
500 self
501 }
502 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
503 self._request_id = Some(request_id.into());
504 self
505 }
506
507 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
508 self._request_id = request_id;
509 self
510 }
511 /// Consumes the builder and constructs a [`PutObjectOutput`](crate::operation::put_object::PutObjectOutput).
512 pub fn build(self) -> crate::operation::put_object::PutObjectOutput {
513 crate::operation::put_object::PutObjectOutput {
514 expiration: self.expiration,
515 e_tag: self.e_tag,
516 checksum_crc32: self.checksum_crc32,
517 checksum_crc32_c: self.checksum_crc32_c,
518 checksum_crc64_nvme: self.checksum_crc64_nvme,
519 checksum_sha1: self.checksum_sha1,
520 checksum_sha256: self.checksum_sha256,
521 checksum_type: self.checksum_type,
522 server_side_encryption: self.server_side_encryption,
523 version_id: self.version_id,
524 sse_customer_algorithm: self.sse_customer_algorithm,
525 sse_customer_key_md5: self.sse_customer_key_md5,
526 ssekms_key_id: self.ssekms_key_id,
527 ssekms_encryption_context: self.ssekms_encryption_context,
528 bucket_key_enabled: self.bucket_key_enabled,
529 size: self.size,
530 request_charged: self.request_charged,
531 _extended_request_id: self._extended_request_id,
532 _request_id: self._request_id,
533 }
534 }
535}
536impl ::std::fmt::Debug for PutObjectOutputBuilder {
537 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
538 let mut formatter = f.debug_struct("PutObjectOutputBuilder");
539 formatter.field("expiration", &self.expiration);
540 formatter.field("e_tag", &self.e_tag);
541 formatter.field("checksum_crc32", &self.checksum_crc32);
542 formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
543 formatter.field("checksum_crc64_nvme", &self.checksum_crc64_nvme);
544 formatter.field("checksum_sha1", &self.checksum_sha1);
545 formatter.field("checksum_sha256", &self.checksum_sha256);
546 formatter.field("checksum_type", &self.checksum_type);
547 formatter.field("server_side_encryption", &self.server_side_encryption);
548 formatter.field("version_id", &self.version_id);
549 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
550 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
551 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
552 formatter.field("ssekms_encryption_context", &"*** Sensitive Data Redacted ***");
553 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
554 formatter.field("size", &self.size);
555 formatter.field("request_charged", &self.request_charged);
556 formatter.field("_extended_request_id", &self._extended_request_id);
557 formatter.field("_request_id", &self._request_id);
558 formatter.finish()
559 }
560}