aws_sdk_s3/operation/select_object_content/_select_object_content_input.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <note>
4/// <p>Learn Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. <a href="http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/">Learn more</a></p>
5/// </note>
6/// <p>Request to filter the contents of an Amazon S3 object based on a simple Structured Query Language (SQL) statement. In the request, along with the SQL expression, you must specify a data serialization format (JSON or CSV) of the object. Amazon S3 uses this to parse object data into records. It returns only records that match the specified SQL expression. You must also specify the data serialization format for the response. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html">S3Select API Documentation</a>.</p>
7#[non_exhaustive]
8#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
9pub struct SelectObjectContentInput {
10 /// <p>The S3 bucket.</p>
11 pub bucket: ::std::option::Option<::std::string::String>,
12 /// <p>The object key.</p>
13 pub key: ::std::option::Option<::std::string::String>,
14 /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p>
15 pub sse_customer_algorithm: ::std::option::Option<::std::string::String>,
16 /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p>
17 pub sse_customer_key: ::std::option::Option<::std::string::String>,
18 /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p>
19 pub sse_customer_key_md5: ::std::option::Option<::std::string::String>,
20 /// <p>The expression that is used to query the object.</p>
21 pub expression: ::std::option::Option<::std::string::String>,
22 /// <p>The type of the provided expression (for example, SQL).</p>
23 pub expression_type: ::std::option::Option<crate::types::ExpressionType>,
24 /// <p>Specifies if periodic request progress information should be enabled.</p>
25 pub request_progress: ::std::option::Option<crate::types::RequestProgress>,
26 /// <p>Describes the format of the data in the object that is being queried.</p>
27 pub input_serialization: ::std::option::Option<crate::types::InputSerialization>,
28 /// <p>Describes the format of the data that you want Amazon S3 to return in response.</p>
29 pub output_serialization: ::std::option::Option<crate::types::OutputSerialization>,
30 /// <p>Specifies the byte range of the object to get the records from. A record is processed when its first byte is contained by the range. This parameter is optional, but when specified, it must not be empty. See RFC 2616, Section 14.35.1 about how to specify the start and end of the range.</p>
31 /// <p><code>ScanRange</code>may be used in the following ways:</p>
32 /// <ul>
33 /// <li>
34 /// <p><code><scanrange>
35 /// <start>
36 /// 50
37 /// </start>
38 /// <end>
39 /// 100
40 /// </end>
41 /// </scanrange></code> - process only the records starting between the bytes 50 and 100 (inclusive, counting from zero)</p></li>
42 /// <li>
43 /// <p><code><scanrange>
44 /// <start>
45 /// 50
46 /// </start>
47 /// </scanrange></code> - process only the records starting after the byte 50</p></li>
48 /// <li>
49 /// <p><code><scanrange>
50 /// <end>
51 /// 50
52 /// </end>
53 /// </scanrange></code> - process only the records within the last 50 bytes of the file.</p></li>
54 /// </ul>
55 pub scan_range: ::std::option::Option<crate::types::ScanRange>,
56 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
57 pub expected_bucket_owner: ::std::option::Option<::std::string::String>,
58}
59impl SelectObjectContentInput {
60 /// <p>The S3 bucket.</p>
61 pub fn bucket(&self) -> ::std::option::Option<&str> {
62 self.bucket.as_deref()
63 }
64 /// <p>The object key.</p>
65 pub fn key(&self) -> ::std::option::Option<&str> {
66 self.key.as_deref()
67 }
68 /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p>
69 pub fn sse_customer_algorithm(&self) -> ::std::option::Option<&str> {
70 self.sse_customer_algorithm.as_deref()
71 }
72 /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p>
73 pub fn sse_customer_key(&self) -> ::std::option::Option<&str> {
74 self.sse_customer_key.as_deref()
75 }
76 /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p>
77 pub fn sse_customer_key_md5(&self) -> ::std::option::Option<&str> {
78 self.sse_customer_key_md5.as_deref()
79 }
80 /// <p>The expression that is used to query the object.</p>
81 pub fn expression(&self) -> ::std::option::Option<&str> {
82 self.expression.as_deref()
83 }
84 /// <p>The type of the provided expression (for example, SQL).</p>
85 pub fn expression_type(&self) -> ::std::option::Option<&crate::types::ExpressionType> {
86 self.expression_type.as_ref()
87 }
88 /// <p>Specifies if periodic request progress information should be enabled.</p>
89 pub fn request_progress(&self) -> ::std::option::Option<&crate::types::RequestProgress> {
90 self.request_progress.as_ref()
91 }
92 /// <p>Describes the format of the data in the object that is being queried.</p>
93 pub fn input_serialization(&self) -> ::std::option::Option<&crate::types::InputSerialization> {
94 self.input_serialization.as_ref()
95 }
96 /// <p>Describes the format of the data that you want Amazon S3 to return in response.</p>
97 pub fn output_serialization(&self) -> ::std::option::Option<&crate::types::OutputSerialization> {
98 self.output_serialization.as_ref()
99 }
100 /// <p>Specifies the byte range of the object to get the records from. A record is processed when its first byte is contained by the range. This parameter is optional, but when specified, it must not be empty. See RFC 2616, Section 14.35.1 about how to specify the start and end of the range.</p>
101 /// <p><code>ScanRange</code>may be used in the following ways:</p>
102 /// <ul>
103 /// <li>
104 /// <p><code><scanrange>
105 /// <start>
106 /// 50
107 /// </start>
108 /// <end>
109 /// 100
110 /// </end>
111 /// </scanrange></code> - process only the records starting between the bytes 50 and 100 (inclusive, counting from zero)</p></li>
112 /// <li>
113 /// <p><code><scanrange>
114 /// <start>
115 /// 50
116 /// </start>
117 /// </scanrange></code> - process only the records starting after the byte 50</p></li>
118 /// <li>
119 /// <p><code><scanrange>
120 /// <end>
121 /// 50
122 /// </end>
123 /// </scanrange></code> - process only the records within the last 50 bytes of the file.</p></li>
124 /// </ul>
125 pub fn scan_range(&self) -> ::std::option::Option<&crate::types::ScanRange> {
126 self.scan_range.as_ref()
127 }
128 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
129 pub fn expected_bucket_owner(&self) -> ::std::option::Option<&str> {
130 self.expected_bucket_owner.as_deref()
131 }
132}
133impl ::std::fmt::Debug for SelectObjectContentInput {
134 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
135 let mut formatter = f.debug_struct("SelectObjectContentInput");
136 formatter.field("bucket", &self.bucket);
137 formatter.field("key", &self.key);
138 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
139 formatter.field("sse_customer_key", &"*** Sensitive Data Redacted ***");
140 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
141 formatter.field("expression", &self.expression);
142 formatter.field("expression_type", &self.expression_type);
143 formatter.field("request_progress", &self.request_progress);
144 formatter.field("input_serialization", &self.input_serialization);
145 formatter.field("output_serialization", &self.output_serialization);
146 formatter.field("scan_range", &self.scan_range);
147 formatter.field("expected_bucket_owner", &self.expected_bucket_owner);
148 formatter.finish()
149 }
150}
151impl SelectObjectContentInput {
152 /// Creates a new builder-style object to manufacture [`SelectObjectContentInput`](crate::operation::select_object_content::SelectObjectContentInput).
153 pub fn builder() -> crate::operation::select_object_content::builders::SelectObjectContentInputBuilder {
154 crate::operation::select_object_content::builders::SelectObjectContentInputBuilder::default()
155 }
156}
157
158/// A builder for [`SelectObjectContentInput`](crate::operation::select_object_content::SelectObjectContentInput).
159#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
160#[non_exhaustive]
161pub struct SelectObjectContentInputBuilder {
162 pub(crate) bucket: ::std::option::Option<::std::string::String>,
163 pub(crate) key: ::std::option::Option<::std::string::String>,
164 pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
165 pub(crate) sse_customer_key: ::std::option::Option<::std::string::String>,
166 pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
167 pub(crate) expression: ::std::option::Option<::std::string::String>,
168 pub(crate) expression_type: ::std::option::Option<crate::types::ExpressionType>,
169 pub(crate) request_progress: ::std::option::Option<crate::types::RequestProgress>,
170 pub(crate) input_serialization: ::std::option::Option<crate::types::InputSerialization>,
171 pub(crate) output_serialization: ::std::option::Option<crate::types::OutputSerialization>,
172 pub(crate) scan_range: ::std::option::Option<crate::types::ScanRange>,
173 pub(crate) expected_bucket_owner: ::std::option::Option<::std::string::String>,
174}
175impl SelectObjectContentInputBuilder {
176 /// <p>The S3 bucket.</p>
177 /// This field is required.
178 pub fn bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
179 self.bucket = ::std::option::Option::Some(input.into());
180 self
181 }
182 /// <p>The S3 bucket.</p>
183 pub fn set_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
184 self.bucket = input;
185 self
186 }
187 /// <p>The S3 bucket.</p>
188 pub fn get_bucket(&self) -> &::std::option::Option<::std::string::String> {
189 &self.bucket
190 }
191 /// <p>The object key.</p>
192 /// This field is required.
193 pub fn key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
194 self.key = ::std::option::Option::Some(input.into());
195 self
196 }
197 /// <p>The object key.</p>
198 pub fn set_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
199 self.key = input;
200 self
201 }
202 /// <p>The object key.</p>
203 pub fn get_key(&self) -> &::std::option::Option<::std::string::String> {
204 &self.key
205 }
206 /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p>
207 pub fn sse_customer_algorithm(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
208 self.sse_customer_algorithm = ::std::option::Option::Some(input.into());
209 self
210 }
211 /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p>
212 pub fn set_sse_customer_algorithm(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
213 self.sse_customer_algorithm = input;
214 self
215 }
216 /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p>
217 pub fn get_sse_customer_algorithm(&self) -> &::std::option::Option<::std::string::String> {
218 &self.sse_customer_algorithm
219 }
220 /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p>
221 pub fn sse_customer_key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
222 self.sse_customer_key = ::std::option::Option::Some(input.into());
223 self
224 }
225 /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p>
226 pub fn set_sse_customer_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
227 self.sse_customer_key = input;
228 self
229 }
230 /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p>
231 pub fn get_sse_customer_key(&self) -> &::std::option::Option<::std::string::String> {
232 &self.sse_customer_key
233 }
234 /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p>
235 pub fn sse_customer_key_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
236 self.sse_customer_key_md5 = ::std::option::Option::Some(input.into());
237 self
238 }
239 /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p>
240 pub fn set_sse_customer_key_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
241 self.sse_customer_key_md5 = input;
242 self
243 }
244 /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p>
245 pub fn get_sse_customer_key_md5(&self) -> &::std::option::Option<::std::string::String> {
246 &self.sse_customer_key_md5
247 }
248 /// <p>The expression that is used to query the object.</p>
249 /// This field is required.
250 pub fn expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
251 self.expression = ::std::option::Option::Some(input.into());
252 self
253 }
254 /// <p>The expression that is used to query the object.</p>
255 pub fn set_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
256 self.expression = input;
257 self
258 }
259 /// <p>The expression that is used to query the object.</p>
260 pub fn get_expression(&self) -> &::std::option::Option<::std::string::String> {
261 &self.expression
262 }
263 /// <p>The type of the provided expression (for example, SQL).</p>
264 /// This field is required.
265 pub fn expression_type(mut self, input: crate::types::ExpressionType) -> Self {
266 self.expression_type = ::std::option::Option::Some(input);
267 self
268 }
269 /// <p>The type of the provided expression (for example, SQL).</p>
270 pub fn set_expression_type(mut self, input: ::std::option::Option<crate::types::ExpressionType>) -> Self {
271 self.expression_type = input;
272 self
273 }
274 /// <p>The type of the provided expression (for example, SQL).</p>
275 pub fn get_expression_type(&self) -> &::std::option::Option<crate::types::ExpressionType> {
276 &self.expression_type
277 }
278 /// <p>Specifies if periodic request progress information should be enabled.</p>
279 pub fn request_progress(mut self, input: crate::types::RequestProgress) -> Self {
280 self.request_progress = ::std::option::Option::Some(input);
281 self
282 }
283 /// <p>Specifies if periodic request progress information should be enabled.</p>
284 pub fn set_request_progress(mut self, input: ::std::option::Option<crate::types::RequestProgress>) -> Self {
285 self.request_progress = input;
286 self
287 }
288 /// <p>Specifies if periodic request progress information should be enabled.</p>
289 pub fn get_request_progress(&self) -> &::std::option::Option<crate::types::RequestProgress> {
290 &self.request_progress
291 }
292 /// <p>Describes the format of the data in the object that is being queried.</p>
293 /// This field is required.
294 pub fn input_serialization(mut self, input: crate::types::InputSerialization) -> Self {
295 self.input_serialization = ::std::option::Option::Some(input);
296 self
297 }
298 /// <p>Describes the format of the data in the object that is being queried.</p>
299 pub fn set_input_serialization(mut self, input: ::std::option::Option<crate::types::InputSerialization>) -> Self {
300 self.input_serialization = input;
301 self
302 }
303 /// <p>Describes the format of the data in the object that is being queried.</p>
304 pub fn get_input_serialization(&self) -> &::std::option::Option<crate::types::InputSerialization> {
305 &self.input_serialization
306 }
307 /// <p>Describes the format of the data that you want Amazon S3 to return in response.</p>
308 /// This field is required.
309 pub fn output_serialization(mut self, input: crate::types::OutputSerialization) -> Self {
310 self.output_serialization = ::std::option::Option::Some(input);
311 self
312 }
313 /// <p>Describes the format of the data that you want Amazon S3 to return in response.</p>
314 pub fn set_output_serialization(mut self, input: ::std::option::Option<crate::types::OutputSerialization>) -> Self {
315 self.output_serialization = input;
316 self
317 }
318 /// <p>Describes the format of the data that you want Amazon S3 to return in response.</p>
319 pub fn get_output_serialization(&self) -> &::std::option::Option<crate::types::OutputSerialization> {
320 &self.output_serialization
321 }
322 /// <p>Specifies the byte range of the object to get the records from. A record is processed when its first byte is contained by the range. This parameter is optional, but when specified, it must not be empty. See RFC 2616, Section 14.35.1 about how to specify the start and end of the range.</p>
323 /// <p><code>ScanRange</code>may be used in the following ways:</p>
324 /// <ul>
325 /// <li>
326 /// <p><code><scanrange>
327 /// <start>
328 /// 50
329 /// </start>
330 /// <end>
331 /// 100
332 /// </end>
333 /// </scanrange></code> - process only the records starting between the bytes 50 and 100 (inclusive, counting from zero)</p></li>
334 /// <li>
335 /// <p><code><scanrange>
336 /// <start>
337 /// 50
338 /// </start>
339 /// </scanrange></code> - process only the records starting after the byte 50</p></li>
340 /// <li>
341 /// <p><code><scanrange>
342 /// <end>
343 /// 50
344 /// </end>
345 /// </scanrange></code> - process only the records within the last 50 bytes of the file.</p></li>
346 /// </ul>
347 pub fn scan_range(mut self, input: crate::types::ScanRange) -> Self {
348 self.scan_range = ::std::option::Option::Some(input);
349 self
350 }
351 /// <p>Specifies the byte range of the object to get the records from. A record is processed when its first byte is contained by the range. This parameter is optional, but when specified, it must not be empty. See RFC 2616, Section 14.35.1 about how to specify the start and end of the range.</p>
352 /// <p><code>ScanRange</code>may be used in the following ways:</p>
353 /// <ul>
354 /// <li>
355 /// <p><code><scanrange>
356 /// <start>
357 /// 50
358 /// </start>
359 /// <end>
360 /// 100
361 /// </end>
362 /// </scanrange></code> - process only the records starting between the bytes 50 and 100 (inclusive, counting from zero)</p></li>
363 /// <li>
364 /// <p><code><scanrange>
365 /// <start>
366 /// 50
367 /// </start>
368 /// </scanrange></code> - process only the records starting after the byte 50</p></li>
369 /// <li>
370 /// <p><code><scanrange>
371 /// <end>
372 /// 50
373 /// </end>
374 /// </scanrange></code> - process only the records within the last 50 bytes of the file.</p></li>
375 /// </ul>
376 pub fn set_scan_range(mut self, input: ::std::option::Option<crate::types::ScanRange>) -> Self {
377 self.scan_range = input;
378 self
379 }
380 /// <p>Specifies the byte range of the object to get the records from. A record is processed when its first byte is contained by the range. This parameter is optional, but when specified, it must not be empty. See RFC 2616, Section 14.35.1 about how to specify the start and end of the range.</p>
381 /// <p><code>ScanRange</code>may be used in the following ways:</p>
382 /// <ul>
383 /// <li>
384 /// <p><code><scanrange>
385 /// <start>
386 /// 50
387 /// </start>
388 /// <end>
389 /// 100
390 /// </end>
391 /// </scanrange></code> - process only the records starting between the bytes 50 and 100 (inclusive, counting from zero)</p></li>
392 /// <li>
393 /// <p><code><scanrange>
394 /// <start>
395 /// 50
396 /// </start>
397 /// </scanrange></code> - process only the records starting after the byte 50</p></li>
398 /// <li>
399 /// <p><code><scanrange>
400 /// <end>
401 /// 50
402 /// </end>
403 /// </scanrange></code> - process only the records within the last 50 bytes of the file.</p></li>
404 /// </ul>
405 pub fn get_scan_range(&self) -> &::std::option::Option<crate::types::ScanRange> {
406 &self.scan_range
407 }
408 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
409 pub fn expected_bucket_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
410 self.expected_bucket_owner = ::std::option::Option::Some(input.into());
411 self
412 }
413 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
414 pub fn set_expected_bucket_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
415 self.expected_bucket_owner = input;
416 self
417 }
418 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
419 pub fn get_expected_bucket_owner(&self) -> &::std::option::Option<::std::string::String> {
420 &self.expected_bucket_owner
421 }
422 /// Consumes the builder and constructs a [`SelectObjectContentInput`](crate::operation::select_object_content::SelectObjectContentInput).
423 pub fn build(
424 self,
425 ) -> ::std::result::Result<crate::operation::select_object_content::SelectObjectContentInput, ::aws_smithy_types::error::operation::BuildError>
426 {
427 ::std::result::Result::Ok(crate::operation::select_object_content::SelectObjectContentInput {
428 bucket: self.bucket,
429 key: self.key,
430 sse_customer_algorithm: self.sse_customer_algorithm,
431 sse_customer_key: self.sse_customer_key,
432 sse_customer_key_md5: self.sse_customer_key_md5,
433 expression: self.expression,
434 expression_type: self.expression_type,
435 request_progress: self.request_progress,
436 input_serialization: self.input_serialization,
437 output_serialization: self.output_serialization,
438 scan_range: self.scan_range,
439 expected_bucket_owner: self.expected_bucket_owner,
440 })
441 }
442}
443impl ::std::fmt::Debug for SelectObjectContentInputBuilder {
444 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
445 let mut formatter = f.debug_struct("SelectObjectContentInputBuilder");
446 formatter.field("bucket", &self.bucket);
447 formatter.field("key", &self.key);
448 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
449 formatter.field("sse_customer_key", &"*** Sensitive Data Redacted ***");
450 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
451 formatter.field("expression", &self.expression);
452 formatter.field("expression_type", &self.expression_type);
453 formatter.field("request_progress", &self.request_progress);
454 formatter.field("input_serialization", &self.input_serialization);
455 formatter.field("output_serialization", &self.output_serialization);
456 formatter.field("scan_range", &self.scan_range);
457 formatter.field("expected_bucket_owner", &self.expected_bucket_owner);
458 formatter.finish()
459 }
460}