aws_sdk_s3/operation/write_get_object_response/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::write_get_object_response::_write_get_object_response_output::WriteGetObjectResponseOutputBuilder;
3
4pub use crate::operation::write_get_object_response::_write_get_object_response_input::WriteGetObjectResponseInputBuilder;
5
6impl crate::operation::write_get_object_response::builders::WriteGetObjectResponseInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::write_get_object_response::WriteGetObjectResponseOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::write_get_object_response::WriteGetObjectResponseError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.write_get_object_response();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `WriteGetObjectResponse`.
24///
25/// <note>
26/// <p>This operation is not supported for directory buckets.</p>
27/// </note>
28/// <p>Passes transformed objects to a <code>GetObject</code> operation when using Object Lambda access points. For information about Object Lambda access points, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/transforming-objects.html">Transforming objects with Object Lambda access points</a> in the <i>Amazon S3 User Guide</i>.</p>
29/// <p>This operation supports metadata that can be returned by <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html">GetObject</a>, in addition to <code>RequestRoute</code>, <code>RequestToken</code>, <code>StatusCode</code>, <code>ErrorCode</code>, and <code>ErrorMessage</code>. The <code>GetObject</code> response metadata is supported so that the <code>WriteGetObjectResponse</code> caller, typically an Lambda function, can provide the same metadata when it internally invokes <code>GetObject</code>. When <code>WriteGetObjectResponse</code> is called by a customer-owned Lambda function, the metadata returned to the end user <code>GetObject</code> call might differ from what Amazon S3 would normally return.</p>
30/// <p>You can include any number of metadata headers. When including a metadata header, it should be prefaced with <code>x-amz-meta</code>. For example, <code>x-amz-meta-my-custom-header: MyCustomValue</code>. The primary use case for this is to forward <code>GetObject</code> metadata.</p>
31/// <p>Amazon Web Services provides some prebuilt Lambda functions that you can use with S3 Object Lambda to detect and redact personally identifiable information (PII) and decompress S3 objects. These Lambda functions are available in the Amazon Web Services Serverless Application Repository, and can be selected through the Amazon Web Services Management Console when you create your Object Lambda access point.</p>
32/// <p>Example 1: PII Access Control - This Lambda function uses Amazon Comprehend, a natural language processing (NLP) service using machine learning to find insights and relationships in text. It automatically detects personally identifiable information (PII) such as names, addresses, dates, credit card numbers, and social security numbers from documents in your Amazon S3 bucket.</p>
33/// <p>Example 2: PII Redaction - This Lambda function uses Amazon Comprehend, a natural language processing (NLP) service using machine learning to find insights and relationships in text. It automatically redacts personally identifiable information (PII) such as names, addresses, dates, credit card numbers, and social security numbers from documents in your Amazon S3 bucket.</p>
34/// <p>Example 3: Decompression - The Lambda function S3ObjectLambdaDecompression, is equipped to decompress objects stored in S3 in one of six compressed file formats including bzip2, gzip, snappy, zlib, zstandard and ZIP.</p>
35/// <p>For information on how to view and use these functions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/olap-examples.html">Using Amazon Web Services built Lambda functions</a> in the <i>Amazon S3 User Guide</i>.</p>
36#[derive(::std::fmt::Debug)]
37pub struct WriteGetObjectResponseFluentBuilder {
38    handle: ::std::sync::Arc<crate::client::Handle>,
39    inner: crate::operation::write_get_object_response::builders::WriteGetObjectResponseInputBuilder,
40    config_override: ::std::option::Option<crate::config::Builder>,
41}
42impl
43    crate::client::customize::internal::CustomizableSend<
44        crate::operation::write_get_object_response::WriteGetObjectResponseOutput,
45        crate::operation::write_get_object_response::WriteGetObjectResponseError,
46    > for WriteGetObjectResponseFluentBuilder
47{
48    fn send(
49        self,
50        config_override: crate::config::Builder,
51    ) -> crate::client::customize::internal::BoxFuture<
52        crate::client::customize::internal::SendResult<
53            crate::operation::write_get_object_response::WriteGetObjectResponseOutput,
54            crate::operation::write_get_object_response::WriteGetObjectResponseError,
55        >,
56    > {
57        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
58    }
59}
60impl WriteGetObjectResponseFluentBuilder {
61    /// Creates a new `WriteGetObjectResponseFluentBuilder`.
62    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
63        Self {
64            handle,
65            inner: ::std::default::Default::default(),
66            config_override: ::std::option::Option::None,
67        }
68    }
69    /// Access the WriteGetObjectResponse as a reference.
70    pub fn as_input(&self) -> &crate::operation::write_get_object_response::builders::WriteGetObjectResponseInputBuilder {
71        &self.inner
72    }
73    /// Sends the request and returns the response.
74    ///
75    /// If an error occurs, an `SdkError` will be returned with additional details that
76    /// can be matched against.
77    ///
78    /// By default, any retryable failures will be retried twice. Retry behavior
79    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
80    /// set when configuring the client.
81    pub async fn send(
82        self,
83    ) -> ::std::result::Result<
84        crate::operation::write_get_object_response::WriteGetObjectResponseOutput,
85        ::aws_smithy_runtime_api::client::result::SdkError<
86            crate::operation::write_get_object_response::WriteGetObjectResponseError,
87            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
88        >,
89    > {
90        let input = self
91            .inner
92            .build()
93            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
94        let runtime_plugins = crate::operation::write_get_object_response::WriteGetObjectResponse::operation_runtime_plugins(
95            self.handle.runtime_plugins.clone(),
96            &self.handle.conf,
97            self.config_override,
98        );
99        crate::operation::write_get_object_response::WriteGetObjectResponse::orchestrate(&runtime_plugins, input).await
100    }
101
102    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
103    pub fn customize(
104        self,
105    ) -> crate::client::customize::CustomizableOperation<
106        crate::operation::write_get_object_response::WriteGetObjectResponseOutput,
107        crate::operation::write_get_object_response::WriteGetObjectResponseError,
108        Self,
109    > {
110        crate::client::customize::CustomizableOperation::new(self)
111    }
112    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
113        self.set_config_override(::std::option::Option::Some(config_override.into()));
114        self
115    }
116
117    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
118        self.config_override = config_override;
119        self
120    }
121    /// <p>Route prefix to the HTTP URL generated.</p>
122    pub fn request_route(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
123        self.inner = self.inner.request_route(input.into());
124        self
125    }
126    /// <p>Route prefix to the HTTP URL generated.</p>
127    pub fn set_request_route(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
128        self.inner = self.inner.set_request_route(input);
129        self
130    }
131    /// <p>Route prefix to the HTTP URL generated.</p>
132    pub fn get_request_route(&self) -> &::std::option::Option<::std::string::String> {
133        self.inner.get_request_route()
134    }
135    /// <p>A single use encrypted token that maps <code>WriteGetObjectResponse</code> to the end user <code>GetObject</code> request.</p>
136    pub fn request_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
137        self.inner = self.inner.request_token(input.into());
138        self
139    }
140    /// <p>A single use encrypted token that maps <code>WriteGetObjectResponse</code> to the end user <code>GetObject</code> request.</p>
141    pub fn set_request_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
142        self.inner = self.inner.set_request_token(input);
143        self
144    }
145    /// <p>A single use encrypted token that maps <code>WriteGetObjectResponse</code> to the end user <code>GetObject</code> request.</p>
146    pub fn get_request_token(&self) -> &::std::option::Option<::std::string::String> {
147        self.inner.get_request_token()
148    }
149    /// <p>The object data.</p>
150    pub fn body(mut self, input: ::aws_smithy_types::byte_stream::ByteStream) -> Self {
151        self.inner = self.inner.body(input);
152        self
153    }
154    /// <p>The object data.</p>
155    pub fn set_body(mut self, input: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>) -> Self {
156        self.inner = self.inner.set_body(input);
157        self
158    }
159    /// <p>The object data.</p>
160    pub fn get_body(&self) -> &::std::option::Option<::aws_smithy_types::byte_stream::ByteStream> {
161        self.inner.get_body()
162    }
163    /// <p>The integer status code for an HTTP response of a corresponding <code>GetObject</code> request. The following is a list of status codes.</p>
164    /// <ul>
165    /// <li>
166    /// <p><code>200 - OK</code></p></li>
167    /// <li>
168    /// <p><code>206 - Partial Content</code></p></li>
169    /// <li>
170    /// <p><code>304 - Not Modified</code></p></li>
171    /// <li>
172    /// <p><code>400 - Bad Request</code></p></li>
173    /// <li>
174    /// <p><code>401 - Unauthorized</code></p></li>
175    /// <li>
176    /// <p><code>403 - Forbidden</code></p></li>
177    /// <li>
178    /// <p><code>404 - Not Found</code></p></li>
179    /// <li>
180    /// <p><code>405 - Method Not Allowed</code></p></li>
181    /// <li>
182    /// <p><code>409 - Conflict</code></p></li>
183    /// <li>
184    /// <p><code>411 - Length Required</code></p></li>
185    /// <li>
186    /// <p><code>412 - Precondition Failed</code></p></li>
187    /// <li>
188    /// <p><code>416 - Range Not Satisfiable</code></p></li>
189    /// <li>
190    /// <p><code>500 - Internal Server Error</code></p></li>
191    /// <li>
192    /// <p><code>503 - Service Unavailable</code></p></li>
193    /// </ul>
194    pub fn status_code(mut self, input: i32) -> Self {
195        self.inner = self.inner.status_code(input);
196        self
197    }
198    /// <p>The integer status code for an HTTP response of a corresponding <code>GetObject</code> request. The following is a list of status codes.</p>
199    /// <ul>
200    /// <li>
201    /// <p><code>200 - OK</code></p></li>
202    /// <li>
203    /// <p><code>206 - Partial Content</code></p></li>
204    /// <li>
205    /// <p><code>304 - Not Modified</code></p></li>
206    /// <li>
207    /// <p><code>400 - Bad Request</code></p></li>
208    /// <li>
209    /// <p><code>401 - Unauthorized</code></p></li>
210    /// <li>
211    /// <p><code>403 - Forbidden</code></p></li>
212    /// <li>
213    /// <p><code>404 - Not Found</code></p></li>
214    /// <li>
215    /// <p><code>405 - Method Not Allowed</code></p></li>
216    /// <li>
217    /// <p><code>409 - Conflict</code></p></li>
218    /// <li>
219    /// <p><code>411 - Length Required</code></p></li>
220    /// <li>
221    /// <p><code>412 - Precondition Failed</code></p></li>
222    /// <li>
223    /// <p><code>416 - Range Not Satisfiable</code></p></li>
224    /// <li>
225    /// <p><code>500 - Internal Server Error</code></p></li>
226    /// <li>
227    /// <p><code>503 - Service Unavailable</code></p></li>
228    /// </ul>
229    pub fn set_status_code(mut self, input: ::std::option::Option<i32>) -> Self {
230        self.inner = self.inner.set_status_code(input);
231        self
232    }
233    /// <p>The integer status code for an HTTP response of a corresponding <code>GetObject</code> request. The following is a list of status codes.</p>
234    /// <ul>
235    /// <li>
236    /// <p><code>200 - OK</code></p></li>
237    /// <li>
238    /// <p><code>206 - Partial Content</code></p></li>
239    /// <li>
240    /// <p><code>304 - Not Modified</code></p></li>
241    /// <li>
242    /// <p><code>400 - Bad Request</code></p></li>
243    /// <li>
244    /// <p><code>401 - Unauthorized</code></p></li>
245    /// <li>
246    /// <p><code>403 - Forbidden</code></p></li>
247    /// <li>
248    /// <p><code>404 - Not Found</code></p></li>
249    /// <li>
250    /// <p><code>405 - Method Not Allowed</code></p></li>
251    /// <li>
252    /// <p><code>409 - Conflict</code></p></li>
253    /// <li>
254    /// <p><code>411 - Length Required</code></p></li>
255    /// <li>
256    /// <p><code>412 - Precondition Failed</code></p></li>
257    /// <li>
258    /// <p><code>416 - Range Not Satisfiable</code></p></li>
259    /// <li>
260    /// <p><code>500 - Internal Server Error</code></p></li>
261    /// <li>
262    /// <p><code>503 - Service Unavailable</code></p></li>
263    /// </ul>
264    pub fn get_status_code(&self) -> &::std::option::Option<i32> {
265        self.inner.get_status_code()
266    }
267    /// <p>A string that uniquely identifies an error condition. Returned in the <code> tag of the error XML response for a corresponding <code>GetObject</code> call. Cannot be used with a successful <code>StatusCode</code> header or when the transformed object is provided in the body. All error codes from S3 are sentence-cased. The regular expression (regex) value is <code>"^\[A-Z\]\[a-zA-Z\]+$"</code>.</code></p>
268    pub fn error_code(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
269        self.inner = self.inner.error_code(input.into());
270        self
271    }
272    /// <p>A string that uniquely identifies an error condition. Returned in the <code> tag of the error XML response for a corresponding <code>GetObject</code> call. Cannot be used with a successful <code>StatusCode</code> header or when the transformed object is provided in the body. All error codes from S3 are sentence-cased. The regular expression (regex) value is <code>"^\[A-Z\]\[a-zA-Z\]+$"</code>.</code></p>
273    pub fn set_error_code(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
274        self.inner = self.inner.set_error_code(input);
275        self
276    }
277    /// <p>A string that uniquely identifies an error condition. Returned in the <code> tag of the error XML response for a corresponding <code>GetObject</code> call. Cannot be used with a successful <code>StatusCode</code> header or when the transformed object is provided in the body. All error codes from S3 are sentence-cased. The regular expression (regex) value is <code>"^\[A-Z\]\[a-zA-Z\]+$"</code>.</code></p>
278    pub fn get_error_code(&self) -> &::std::option::Option<::std::string::String> {
279        self.inner.get_error_code()
280    }
281    /// <p>Contains a generic description of the error condition. Returned in the <message>
282    /// tag of the error XML response for a corresponding
283    /// <code>GetObject</code> call. Cannot be used with a successful
284    /// <code>StatusCode</code> header or when the transformed object is provided in body.
285    /// </message></p>
286    pub fn error_message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
287        self.inner = self.inner.error_message(input.into());
288        self
289    }
290    /// <p>Contains a generic description of the error condition. Returned in the <message>
291    /// tag of the error XML response for a corresponding
292    /// <code>GetObject</code> call. Cannot be used with a successful
293    /// <code>StatusCode</code> header or when the transformed object is provided in body.
294    /// </message></p>
295    pub fn set_error_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
296        self.inner = self.inner.set_error_message(input);
297        self
298    }
299    /// <p>Contains a generic description of the error condition. Returned in the <message>
300    /// tag of the error XML response for a corresponding
301    /// <code>GetObject</code> call. Cannot be used with a successful
302    /// <code>StatusCode</code> header or when the transformed object is provided in body.
303    /// </message></p>
304    pub fn get_error_message(&self) -> &::std::option::Option<::std::string::String> {
305        self.inner.get_error_message()
306    }
307    /// <p>Indicates that a range of bytes was specified.</p>
308    pub fn accept_ranges(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
309        self.inner = self.inner.accept_ranges(input.into());
310        self
311    }
312    /// <p>Indicates that a range of bytes was specified.</p>
313    pub fn set_accept_ranges(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
314        self.inner = self.inner.set_accept_ranges(input);
315        self
316    }
317    /// <p>Indicates that a range of bytes was specified.</p>
318    pub fn get_accept_ranges(&self) -> &::std::option::Option<::std::string::String> {
319        self.inner.get_accept_ranges()
320    }
321    /// <p>Specifies caching behavior along the request/reply chain.</p>
322    pub fn cache_control(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
323        self.inner = self.inner.cache_control(input.into());
324        self
325    }
326    /// <p>Specifies caching behavior along the request/reply chain.</p>
327    pub fn set_cache_control(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
328        self.inner = self.inner.set_cache_control(input);
329        self
330    }
331    /// <p>Specifies caching behavior along the request/reply chain.</p>
332    pub fn get_cache_control(&self) -> &::std::option::Option<::std::string::String> {
333        self.inner.get_cache_control()
334    }
335    /// <p>Specifies presentational information for the object.</p>
336    pub fn content_disposition(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
337        self.inner = self.inner.content_disposition(input.into());
338        self
339    }
340    /// <p>Specifies presentational information for the object.</p>
341    pub fn set_content_disposition(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
342        self.inner = self.inner.set_content_disposition(input);
343        self
344    }
345    /// <p>Specifies presentational information for the object.</p>
346    pub fn get_content_disposition(&self) -> &::std::option::Option<::std::string::String> {
347        self.inner.get_content_disposition()
348    }
349    /// <p>Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.</p>
350    pub fn content_encoding(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
351        self.inner = self.inner.content_encoding(input.into());
352        self
353    }
354    /// <p>Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.</p>
355    pub fn set_content_encoding(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
356        self.inner = self.inner.set_content_encoding(input);
357        self
358    }
359    /// <p>Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.</p>
360    pub fn get_content_encoding(&self) -> &::std::option::Option<::std::string::String> {
361        self.inner.get_content_encoding()
362    }
363    /// <p>The language the content is in.</p>
364    pub fn content_language(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
365        self.inner = self.inner.content_language(input.into());
366        self
367    }
368    /// <p>The language the content is in.</p>
369    pub fn set_content_language(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
370        self.inner = self.inner.set_content_language(input);
371        self
372    }
373    /// <p>The language the content is in.</p>
374    pub fn get_content_language(&self) -> &::std::option::Option<::std::string::String> {
375        self.inner.get_content_language()
376    }
377    /// <p>The size of the content body in bytes.</p>
378    pub fn content_length(mut self, input: i64) -> Self {
379        self.inner = self.inner.content_length(input);
380        self
381    }
382    /// <p>The size of the content body in bytes.</p>
383    pub fn set_content_length(mut self, input: ::std::option::Option<i64>) -> Self {
384        self.inner = self.inner.set_content_length(input);
385        self
386    }
387    /// <p>The size of the content body in bytes.</p>
388    pub fn get_content_length(&self) -> &::std::option::Option<i64> {
389        self.inner.get_content_length()
390    }
391    /// <p>The portion of the object returned in the response.</p>
392    pub fn content_range(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
393        self.inner = self.inner.content_range(input.into());
394        self
395    }
396    /// <p>The portion of the object returned in the response.</p>
397    pub fn set_content_range(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
398        self.inner = self.inner.set_content_range(input);
399        self
400    }
401    /// <p>The portion of the object returned in the response.</p>
402    pub fn get_content_range(&self) -> &::std::option::Option<::std::string::String> {
403        self.inner.get_content_range()
404    }
405    /// <p>A standard MIME type describing the format of the object data.</p>
406    pub fn content_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
407        self.inner = self.inner.content_type(input.into());
408        self
409    }
410    /// <p>A standard MIME type describing the format of the object data.</p>
411    pub fn set_content_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
412        self.inner = self.inner.set_content_type(input);
413        self
414    }
415    /// <p>A standard MIME type describing the format of the object data.</p>
416    pub fn get_content_type(&self) -> &::std::option::Option<::std::string::String> {
417        self.inner.get_content_type()
418    }
419    /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This specifies the Base64 encoded, 32-bit <code>CRC-32</code> checksum of the object returned by the Object Lambda function. This may not match the checksum for the object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original <code>GetObject</code> request required checksum validation. For more information about checksums, 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>
420    /// <p>Only one checksum header can be specified at a time. If you supply multiple checksum headers, this request will fail.</p>
421    /// <p></p>
422    pub fn checksum_crc32(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
423        self.inner = self.inner.checksum_crc32(input.into());
424        self
425    }
426    /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This specifies the Base64 encoded, 32-bit <code>CRC-32</code> checksum of the object returned by the Object Lambda function. This may not match the checksum for the object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original <code>GetObject</code> request required checksum validation. For more information about checksums, 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>
427    /// <p>Only one checksum header can be specified at a time. If you supply multiple checksum headers, this request will fail.</p>
428    /// <p></p>
429    pub fn set_checksum_crc32(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
430        self.inner = self.inner.set_checksum_crc32(input);
431        self
432    }
433    /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This specifies the Base64 encoded, 32-bit <code>CRC-32</code> checksum of the object returned by the Object Lambda function. This may not match the checksum for the object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original <code>GetObject</code> request required checksum validation. For more information about checksums, 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>
434    /// <p>Only one checksum header can be specified at a time. If you supply multiple checksum headers, this request will fail.</p>
435    /// <p></p>
436    pub fn get_checksum_crc32(&self) -> &::std::option::Option<::std::string::String> {
437        self.inner.get_checksum_crc32()
438    }
439    /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This specifies the Base64 encoded, 32-bit <code>CRC-32C</code> checksum of the object returned by the Object Lambda function. This may not match the checksum for the object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original <code>GetObject</code> request required checksum validation. For more information about checksums, 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>
440    /// <p>Only one checksum header can be specified at a time. If you supply multiple checksum headers, this request will fail.</p>
441    pub fn checksum_crc32_c(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
442        self.inner = self.inner.checksum_crc32_c(input.into());
443        self
444    }
445    /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This specifies the Base64 encoded, 32-bit <code>CRC-32C</code> checksum of the object returned by the Object Lambda function. This may not match the checksum for the object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original <code>GetObject</code> request required checksum validation. For more information about checksums, 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>
446    /// <p>Only one checksum header can be specified at a time. If you supply multiple checksum headers, this request will fail.</p>
447    pub fn set_checksum_crc32_c(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
448        self.inner = self.inner.set_checksum_crc32_c(input);
449        self
450    }
451    /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This specifies the Base64 encoded, 32-bit <code>CRC-32C</code> checksum of the object returned by the Object Lambda function. This may not match the checksum for the object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original <code>GetObject</code> request required checksum validation. For more information about checksums, 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>
452    /// <p>Only one checksum header can be specified at a time. If you supply multiple checksum headers, this request will fail.</p>
453    pub fn get_checksum_crc32_c(&self) -> &::std::option::Option<::std::string::String> {
454        self.inner.get_checksum_crc32_c()
455    }
456    /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 64-bit <code>CRC-64NVME</code> checksum of the part. 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>
457    pub fn checksum_crc64_nvme(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
458        self.inner = self.inner.checksum_crc64_nvme(input.into());
459        self
460    }
461    /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 64-bit <code>CRC-64NVME</code> checksum of the part. 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>
462    pub fn set_checksum_crc64_nvme(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
463        self.inner = self.inner.set_checksum_crc64_nvme(input);
464        self
465    }
466    /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 64-bit <code>CRC-64NVME</code> checksum of the part. 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>
467    pub fn get_checksum_crc64_nvme(&self) -> &::std::option::Option<::std::string::String> {
468        self.inner.get_checksum_crc64_nvme()
469    }
470    /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This specifies the Base64 encoded, 160-bit <code>SHA-1</code> digest of the object returned by the Object Lambda function. This may not match the checksum for the object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original <code>GetObject</code> request required checksum validation. For more information about checksums, 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>
471    /// <p>Only one checksum header can be specified at a time. If you supply multiple checksum headers, this request will fail.</p>
472    pub fn checksum_sha1(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
473        self.inner = self.inner.checksum_sha1(input.into());
474        self
475    }
476    /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This specifies the Base64 encoded, 160-bit <code>SHA-1</code> digest of the object returned by the Object Lambda function. This may not match the checksum for the object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original <code>GetObject</code> request required checksum validation. For more information about checksums, 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>
477    /// <p>Only one checksum header can be specified at a time. If you supply multiple checksum headers, this request will fail.</p>
478    pub fn set_checksum_sha1(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
479        self.inner = self.inner.set_checksum_sha1(input);
480        self
481    }
482    /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This specifies the Base64 encoded, 160-bit <code>SHA-1</code> digest of the object returned by the Object Lambda function. This may not match the checksum for the object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original <code>GetObject</code> request required checksum validation. For more information about checksums, 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>
483    /// <p>Only one checksum header can be specified at a time. If you supply multiple checksum headers, this request will fail.</p>
484    pub fn get_checksum_sha1(&self) -> &::std::option::Option<::std::string::String> {
485        self.inner.get_checksum_sha1()
486    }
487    /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This specifies the Base64 encoded, 256-bit <code>SHA-256</code> digest of the object returned by the Object Lambda function. This may not match the checksum for the object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original <code>GetObject</code> request required checksum validation. For more information about checksums, 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>
488    /// <p>Only one checksum header can be specified at a time. If you supply multiple checksum headers, this request will fail.</p>
489    pub fn checksum_sha256(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
490        self.inner = self.inner.checksum_sha256(input.into());
491        self
492    }
493    /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This specifies the Base64 encoded, 256-bit <code>SHA-256</code> digest of the object returned by the Object Lambda function. This may not match the checksum for the object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original <code>GetObject</code> request required checksum validation. For more information about checksums, 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>
494    /// <p>Only one checksum header can be specified at a time. If you supply multiple checksum headers, this request will fail.</p>
495    pub fn set_checksum_sha256(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
496        self.inner = self.inner.set_checksum_sha256(input);
497        self
498    }
499    /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This specifies the Base64 encoded, 256-bit <code>SHA-256</code> digest of the object returned by the Object Lambda function. This may not match the checksum for the object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original <code>GetObject</code> request required checksum validation. For more information about checksums, 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>
500    /// <p>Only one checksum header can be specified at a time. If you supply multiple checksum headers, this request will fail.</p>
501    pub fn get_checksum_sha256(&self) -> &::std::option::Option<::std::string::String> {
502        self.inner.get_checksum_sha256()
503    }
504    /// <p>Specifies whether an object stored in Amazon S3 is (<code>true</code>) or is not (<code>false</code>) a delete marker. To learn more about delete markers, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeleteMarker.html">Working with delete markers</a>.</p>
505    pub fn delete_marker(mut self, input: bool) -> Self {
506        self.inner = self.inner.delete_marker(input);
507        self
508    }
509    /// <p>Specifies whether an object stored in Amazon S3 is (<code>true</code>) or is not (<code>false</code>) a delete marker. To learn more about delete markers, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeleteMarker.html">Working with delete markers</a>.</p>
510    pub fn set_delete_marker(mut self, input: ::std::option::Option<bool>) -> Self {
511        self.inner = self.inner.set_delete_marker(input);
512        self
513    }
514    /// <p>Specifies whether an object stored in Amazon S3 is (<code>true</code>) or is not (<code>false</code>) a delete marker. To learn more about delete markers, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeleteMarker.html">Working with delete markers</a>.</p>
515    pub fn get_delete_marker(&self) -> &::std::option::Option<bool> {
516        self.inner.get_delete_marker()
517    }
518    /// <p>An opaque identifier assigned by a web server to a specific version of a resource found at a URL.</p>
519    pub fn e_tag(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
520        self.inner = self.inner.e_tag(input.into());
521        self
522    }
523    /// <p>An opaque identifier assigned by a web server to a specific version of a resource found at a URL.</p>
524    pub fn set_e_tag(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
525        self.inner = self.inner.set_e_tag(input);
526        self
527    }
528    /// <p>An opaque identifier assigned by a web server to a specific version of a resource found at a URL.</p>
529    pub fn get_e_tag(&self) -> &::std::option::Option<::std::string::String> {
530        self.inner.get_e_tag()
531    }
532    /// <p>The date and time at which the object is no longer cacheable.</p>
533    pub fn expires(mut self, input: ::aws_smithy_types::DateTime) -> Self {
534        self.inner = self.inner.expires(input);
535        self
536    }
537    /// <p>The date and time at which the object is no longer cacheable.</p>
538    pub fn set_expires(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
539        self.inner = self.inner.set_expires(input);
540        self
541    }
542    /// <p>The date and time at which the object is no longer cacheable.</p>
543    pub fn get_expires(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
544        self.inner.get_expires()
545    }
546    /// <p>If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header. It includes the <code>expiry-date</code> and <code>rule-id</code> key-value pairs that provide the object expiration information. The value of the <code>rule-id</code> is URL-encoded.</p>
547    pub fn expiration(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
548        self.inner = self.inner.expiration(input.into());
549        self
550    }
551    /// <p>If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header. It includes the <code>expiry-date</code> and <code>rule-id</code> key-value pairs that provide the object expiration information. The value of the <code>rule-id</code> is URL-encoded.</p>
552    pub fn set_expiration(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
553        self.inner = self.inner.set_expiration(input);
554        self
555    }
556    /// <p>If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header. It includes the <code>expiry-date</code> and <code>rule-id</code> key-value pairs that provide the object expiration information. The value of the <code>rule-id</code> is URL-encoded.</p>
557    pub fn get_expiration(&self) -> &::std::option::Option<::std::string::String> {
558        self.inner.get_expiration()
559    }
560    /// <p>The date and time that the object was last modified.</p>
561    pub fn last_modified(mut self, input: ::aws_smithy_types::DateTime) -> Self {
562        self.inner = self.inner.last_modified(input);
563        self
564    }
565    /// <p>The date and time that the object was last modified.</p>
566    pub fn set_last_modified(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
567        self.inner = self.inner.set_last_modified(input);
568        self
569    }
570    /// <p>The date and time that the object was last modified.</p>
571    pub fn get_last_modified(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
572        self.inner.get_last_modified()
573    }
574    /// <p>Set to the number of metadata entries not returned in <code>x-amz-meta</code> headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.</p>
575    pub fn missing_meta(mut self, input: i32) -> Self {
576        self.inner = self.inner.missing_meta(input);
577        self
578    }
579    /// <p>Set to the number of metadata entries not returned in <code>x-amz-meta</code> headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.</p>
580    pub fn set_missing_meta(mut self, input: ::std::option::Option<i32>) -> Self {
581        self.inner = self.inner.set_missing_meta(input);
582        self
583    }
584    /// <p>Set to the number of metadata entries not returned in <code>x-amz-meta</code> headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.</p>
585    pub fn get_missing_meta(&self) -> &::std::option::Option<i32> {
586        self.inner.get_missing_meta()
587    }
588    ///
589    /// Adds a key-value pair to `Metadata`.
590    ///
591    /// To override the contents of this collection use [`set_metadata`](Self::set_metadata).
592    ///
593    /// <p>A map of metadata to store with the object in S3.</p>
594    pub fn metadata(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
595        self.inner = self.inner.metadata(k.into(), v.into());
596        self
597    }
598    /// <p>A map of metadata to store with the object in S3.</p>
599    pub fn set_metadata(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
600        self.inner = self.inner.set_metadata(input);
601        self
602    }
603    /// <p>A map of metadata to store with the object in S3.</p>
604    pub fn get_metadata(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
605        self.inner.get_metadata()
606    }
607    /// <p>Indicates whether an object stored in Amazon S3 has Object Lock enabled. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html">Object Lock</a>.</p>
608    pub fn object_lock_mode(mut self, input: crate::types::ObjectLockMode) -> Self {
609        self.inner = self.inner.object_lock_mode(input);
610        self
611    }
612    /// <p>Indicates whether an object stored in Amazon S3 has Object Lock enabled. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html">Object Lock</a>.</p>
613    pub fn set_object_lock_mode(mut self, input: ::std::option::Option<crate::types::ObjectLockMode>) -> Self {
614        self.inner = self.inner.set_object_lock_mode(input);
615        self
616    }
617    /// <p>Indicates whether an object stored in Amazon S3 has Object Lock enabled. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html">Object Lock</a>.</p>
618    pub fn get_object_lock_mode(&self) -> &::std::option::Option<crate::types::ObjectLockMode> {
619        self.inner.get_object_lock_mode()
620    }
621    /// <p>Indicates whether an object stored in Amazon S3 has an active legal hold.</p>
622    pub fn object_lock_legal_hold_status(mut self, input: crate::types::ObjectLockLegalHoldStatus) -> Self {
623        self.inner = self.inner.object_lock_legal_hold_status(input);
624        self
625    }
626    /// <p>Indicates whether an object stored in Amazon S3 has an active legal hold.</p>
627    pub fn set_object_lock_legal_hold_status(mut self, input: ::std::option::Option<crate::types::ObjectLockLegalHoldStatus>) -> Self {
628        self.inner = self.inner.set_object_lock_legal_hold_status(input);
629        self
630    }
631    /// <p>Indicates whether an object stored in Amazon S3 has an active legal hold.</p>
632    pub fn get_object_lock_legal_hold_status(&self) -> &::std::option::Option<crate::types::ObjectLockLegalHoldStatus> {
633        self.inner.get_object_lock_legal_hold_status()
634    }
635    /// <p>The date and time when Object Lock is configured to expire.</p>
636    pub fn object_lock_retain_until_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
637        self.inner = self.inner.object_lock_retain_until_date(input);
638        self
639    }
640    /// <p>The date and time when Object Lock is configured to expire.</p>
641    pub fn set_object_lock_retain_until_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
642        self.inner = self.inner.set_object_lock_retain_until_date(input);
643        self
644    }
645    /// <p>The date and time when Object Lock is configured to expire.</p>
646    pub fn get_object_lock_retain_until_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
647        self.inner.get_object_lock_retain_until_date()
648    }
649    /// <p>The count of parts this object has.</p>
650    pub fn parts_count(mut self, input: i32) -> Self {
651        self.inner = self.inner.parts_count(input);
652        self
653    }
654    /// <p>The count of parts this object has.</p>
655    pub fn set_parts_count(mut self, input: ::std::option::Option<i32>) -> Self {
656        self.inner = self.inner.set_parts_count(input);
657        self
658    }
659    /// <p>The count of parts this object has.</p>
660    pub fn get_parts_count(&self) -> &::std::option::Option<i32> {
661        self.inner.get_parts_count()
662    }
663    /// <p>Indicates if request involves bucket that is either a source or destination in a Replication rule. For more information about S3 Replication, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html">Replication</a>.</p>
664    pub fn replication_status(mut self, input: crate::types::ReplicationStatus) -> Self {
665        self.inner = self.inner.replication_status(input);
666        self
667    }
668    /// <p>Indicates if request involves bucket that is either a source or destination in a Replication rule. For more information about S3 Replication, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html">Replication</a>.</p>
669    pub fn set_replication_status(mut self, input: ::std::option::Option<crate::types::ReplicationStatus>) -> Self {
670        self.inner = self.inner.set_replication_status(input);
671        self
672    }
673    /// <p>Indicates if request involves bucket that is either a source or destination in a Replication rule. For more information about S3 Replication, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html">Replication</a>.</p>
674    pub fn get_replication_status(&self) -> &::std::option::Option<crate::types::ReplicationStatus> {
675        self.inner.get_replication_status()
676    }
677    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
678    /// <p>This functionality is not supported for directory buckets.</p>
679    /// </note>
680    pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
681        self.inner = self.inner.request_charged(input);
682        self
683    }
684    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
685    /// <p>This functionality is not supported for directory buckets.</p>
686    /// </note>
687    pub fn set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
688        self.inner = self.inner.set_request_charged(input);
689        self
690    }
691    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
692    /// <p>This functionality is not supported for directory buckets.</p>
693    /// </note>
694    pub fn get_request_charged(&self) -> &::std::option::Option<crate::types::RequestCharged> {
695        self.inner.get_request_charged()
696    }
697    /// <p>Provides information about object restoration operation and expiration time of the restored object copy.</p>
698    pub fn restore(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
699        self.inner = self.inner.restore(input.into());
700        self
701    }
702    /// <p>Provides information about object restoration operation and expiration time of the restored object copy.</p>
703    pub fn set_restore(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
704        self.inner = self.inner.set_restore(input);
705        self
706    }
707    /// <p>Provides information about object restoration operation and expiration time of the restored object copy.</p>
708    pub fn get_restore(&self) -> &::std::option::Option<::std::string::String> {
709        self.inner.get_restore()
710    }
711    /// <p>The server-side encryption algorithm used when storing requested object in Amazon S3 (for example, AES256, <code>aws:kms</code>).</p>
712    pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
713        self.inner = self.inner.server_side_encryption(input);
714        self
715    }
716    /// <p>The server-side encryption algorithm used when storing requested object in Amazon S3 (for example, AES256, <code>aws:kms</code>).</p>
717    pub fn set_server_side_encryption(mut self, input: ::std::option::Option<crate::types::ServerSideEncryption>) -> Self {
718        self.inner = self.inner.set_server_side_encryption(input);
719        self
720    }
721    /// <p>The server-side encryption algorithm used when storing requested object in Amazon S3 (for example, AES256, <code>aws:kms</code>).</p>
722    pub fn get_server_side_encryption(&self) -> &::std::option::Option<crate::types::ServerSideEncryption> {
723        self.inner.get_server_side_encryption()
724    }
725    /// <p>Encryption algorithm used if server-side encryption with a customer-provided encryption key was specified for object stored in Amazon S3.</p>
726    pub fn sse_customer_algorithm(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
727        self.inner = self.inner.sse_customer_algorithm(input.into());
728        self
729    }
730    /// <p>Encryption algorithm used if server-side encryption with a customer-provided encryption key was specified for object stored in Amazon S3.</p>
731    pub fn set_sse_customer_algorithm(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
732        self.inner = self.inner.set_sse_customer_algorithm(input);
733        self
734    }
735    /// <p>Encryption algorithm used if server-side encryption with a customer-provided encryption key was specified for object stored in Amazon S3.</p>
736    pub fn get_sse_customer_algorithm(&self) -> &::std::option::Option<::std::string::String> {
737        self.inner.get_sse_customer_algorithm()
738    }
739    /// <p>If present, specifies the ID (Key ID, Key ARN, or Key Alias) of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for stored in Amazon S3 object.</p>
740    pub fn ssekms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
741        self.inner = self.inner.ssekms_key_id(input.into());
742        self
743    }
744    /// <p>If present, specifies the ID (Key ID, Key ARN, or Key Alias) of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for stored in Amazon S3 object.</p>
745    pub fn set_ssekms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
746        self.inner = self.inner.set_ssekms_key_id(input);
747        self
748    }
749    /// <p>If present, specifies the ID (Key ID, Key ARN, or Key Alias) of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for stored in Amazon S3 object.</p>
750    pub fn get_ssekms_key_id(&self) -> &::std::option::Option<::std::string::String> {
751        self.inner.get_ssekms_key_id()
752    }
753    /// <p>128-bit MD5 digest of customer-provided encryption key used in Amazon S3 to encrypt data stored in S3. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html">Protecting data using server-side encryption with customer-provided encryption keys (SSE-C)</a>.</p>
754    pub fn sse_customer_key_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
755        self.inner = self.inner.sse_customer_key_md5(input.into());
756        self
757    }
758    /// <p>128-bit MD5 digest of customer-provided encryption key used in Amazon S3 to encrypt data stored in S3. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html">Protecting data using server-side encryption with customer-provided encryption keys (SSE-C)</a>.</p>
759    pub fn set_sse_customer_key_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
760        self.inner = self.inner.set_sse_customer_key_md5(input);
761        self
762    }
763    /// <p>128-bit MD5 digest of customer-provided encryption key used in Amazon S3 to encrypt data stored in S3. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html">Protecting data using server-side encryption with customer-provided encryption keys (SSE-C)</a>.</p>
764    pub fn get_sse_customer_key_md5(&self) -> &::std::option::Option<::std::string::String> {
765        self.inner.get_sse_customer_key_md5()
766    }
767    /// <p>Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.</p>
768    /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage Classes</a>.</p>
769    pub fn storage_class(mut self, input: crate::types::StorageClass) -> Self {
770        self.inner = self.inner.storage_class(input);
771        self
772    }
773    /// <p>Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.</p>
774    /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage Classes</a>.</p>
775    pub fn set_storage_class(mut self, input: ::std::option::Option<crate::types::StorageClass>) -> Self {
776        self.inner = self.inner.set_storage_class(input);
777        self
778    }
779    /// <p>Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.</p>
780    /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage Classes</a>.</p>
781    pub fn get_storage_class(&self) -> &::std::option::Option<crate::types::StorageClass> {
782        self.inner.get_storage_class()
783    }
784    /// <p>The number of tags, if any, on the object.</p>
785    pub fn tag_count(mut self, input: i32) -> Self {
786        self.inner = self.inner.tag_count(input);
787        self
788    }
789    /// <p>The number of tags, if any, on the object.</p>
790    pub fn set_tag_count(mut self, input: ::std::option::Option<i32>) -> Self {
791        self.inner = self.inner.set_tag_count(input);
792        self
793    }
794    /// <p>The number of tags, if any, on the object.</p>
795    pub fn get_tag_count(&self) -> &::std::option::Option<i32> {
796        self.inner.get_tag_count()
797    }
798    /// <p>An ID used to reference a specific version of the object.</p>
799    pub fn version_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
800        self.inner = self.inner.version_id(input.into());
801        self
802    }
803    /// <p>An ID used to reference a specific version of the object.</p>
804    pub fn set_version_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
805        self.inner = self.inner.set_version_id(input);
806        self
807    }
808    /// <p>An ID used to reference a specific version of the object.</p>
809    pub fn get_version_id(&self) -> &::std::option::Option<::std::string::String> {
810        self.inner.get_version_id()
811    }
812    /// <p>Indicates whether the object stored in Amazon S3 uses an S3 bucket key for server-side encryption with Amazon Web Services KMS (SSE-KMS).</p>
813    pub fn bucket_key_enabled(mut self, input: bool) -> Self {
814        self.inner = self.inner.bucket_key_enabled(input);
815        self
816    }
817    /// <p>Indicates whether the object stored in Amazon S3 uses an S3 bucket key for server-side encryption with Amazon Web Services KMS (SSE-KMS).</p>
818    pub fn set_bucket_key_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
819        self.inner = self.inner.set_bucket_key_enabled(input);
820        self
821    }
822    /// <p>Indicates whether the object stored in Amazon S3 uses an S3 bucket key for server-side encryption with Amazon Web Services KMS (SSE-KMS).</p>
823    pub fn get_bucket_key_enabled(&self) -> &::std::option::Option<bool> {
824        self.inner.get_bucket_key_enabled()
825    }
826}