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