aws_sdk_glacier/operation/describe_job/
_describe_job_output.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Contains the description of an Amazon S3 Glacier job.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct DescribeJobOutput {
7    /// <p>An opaque string that identifies an Amazon S3 Glacier job.</p>
8    pub job_id: ::std::option::Option<::std::string::String>,
9    /// <p>The job description provided when initiating the job.</p>
10    pub job_description: ::std::option::Option<::std::string::String>,
11    /// <p>The job type. This value is either <code>ArchiveRetrieval</code>, <code>InventoryRetrieval</code>, or <code>Select</code>.</p>
12    pub action: ::std::option::Option<crate::types::ActionCode>,
13    /// <p>The archive ID requested for a select job or archive retrieval. Otherwise, this field is null.</p>
14    pub archive_id: ::std::option::Option<::std::string::String>,
15    /// <p>The Amazon Resource Name (ARN) of the vault from which an archive retrieval was requested.</p>
16    pub vault_arn: ::std::option::Option<::std::string::String>,
17    /// <p>The UTC date when the job was created. This value is a string representation of ISO 8601 date format, for example <code>"2012-03-20T17:03:43.221Z"</code>.</p>
18    pub creation_date: ::std::option::Option<::std::string::String>,
19    /// <p>The job status. When a job is completed, you get the job's output using Get Job Output (GET output).</p>
20    pub completed: bool,
21    /// <p>The status code can be <code>InProgress</code>, <code>Succeeded</code>, or <code>Failed</code>, and indicates the status of the job.</p>
22    pub status_code: ::std::option::Option<crate::types::StatusCode>,
23    /// <p>A friendly message that describes the job status.</p>
24    pub status_message: ::std::option::Option<::std::string::String>,
25    /// <p>For an archive retrieval job, this value is the size in bytes of the archive being requested for download. For an inventory retrieval or select job, this value is null.</p>
26    pub archive_size_in_bytes: ::std::option::Option<i64>,
27    /// <p>For an inventory retrieval job, this value is the size in bytes of the inventory requested for download. For an archive retrieval or select job, this value is null.</p>
28    pub inventory_size_in_bytes: ::std::option::Option<i64>,
29    /// <p>An Amazon SNS topic that receives notification.</p>
30    pub sns_topic: ::std::option::Option<::std::string::String>,
31    /// <p>The UTC time that the job request completed. While the job is in progress, the value is null.</p>
32    pub completion_date: ::std::option::Option<::std::string::String>,
33    /// <p>For an archive retrieval job, this value is the checksum of the archive. Otherwise, this value is null.</p>
34    /// <p>The SHA256 tree hash value for the requested range of an archive. If the <b>InitiateJob</b> request for an archive specified a tree-hash aligned range, then this field returns a value.</p>
35    /// <p>If the whole archive is retrieved, this value is the same as the ArchiveSHA256TreeHash value.</p>
36    /// <p>This field is null for the following:</p>
37    /// <ul>
38    /// <li>
39    /// <p>Archive retrieval jobs that specify a range that is not tree-hash aligned</p></li>
40    /// </ul>
41    /// <ul>
42    /// <li>
43    /// <p>Archival jobs that specify a range that is equal to the whole archive, when the job status is <code>InProgress</code></p></li>
44    /// </ul>
45    /// <ul>
46    /// <li>
47    /// <p>Inventory jobs</p></li>
48    /// <li>
49    /// <p>Select jobs</p></li>
50    /// </ul>
51    pub sha256_tree_hash: ::std::option::Option<::std::string::String>,
52    /// <p>The SHA256 tree hash of the entire archive for an archive retrieval. For inventory retrieval or select jobs, this field is null.</p>
53    pub archive_sha256_tree_hash: ::std::option::Option<::std::string::String>,
54    /// <p>The retrieved byte range for archive retrieval jobs in the form <i>StartByteValue</i>-<i>EndByteValue</i>. If no range was specified in the archive retrieval, then the whole archive is retrieved. In this case, <i>StartByteValue</i> equals 0 and <i>EndByteValue</i> equals the size of the archive minus 1. For inventory retrieval or select jobs, this field is null.</p>
55    pub retrieval_byte_range: ::std::option::Option<::std::string::String>,
56    /// <p>The tier to use for a select or an archive retrieval. Valid values are <code>Expedited</code>, <code>Standard</code>, or <code>Bulk</code>. <code>Standard</code> is the default.</p>
57    pub tier: ::std::option::Option<::std::string::String>,
58    /// <p>Parameters used for range inventory retrieval.</p>
59    pub inventory_retrieval_parameters: ::std::option::Option<crate::types::InventoryRetrievalJobDescription>,
60    /// <p>Contains the job output location.</p>
61    pub job_output_path: ::std::option::Option<::std::string::String>,
62    /// <p>Contains the parameters used for a select.</p>
63    pub select_parameters: ::std::option::Option<crate::types::SelectParameters>,
64    /// <p>Contains the location where the data from the select job is stored.</p>
65    pub output_location: ::std::option::Option<crate::types::OutputLocation>,
66    _request_id: Option<String>,
67}
68impl DescribeJobOutput {
69    /// <p>An opaque string that identifies an Amazon S3 Glacier job.</p>
70    pub fn job_id(&self) -> ::std::option::Option<&str> {
71        self.job_id.as_deref()
72    }
73    /// <p>The job description provided when initiating the job.</p>
74    pub fn job_description(&self) -> ::std::option::Option<&str> {
75        self.job_description.as_deref()
76    }
77    /// <p>The job type. This value is either <code>ArchiveRetrieval</code>, <code>InventoryRetrieval</code>, or <code>Select</code>.</p>
78    pub fn action(&self) -> ::std::option::Option<&crate::types::ActionCode> {
79        self.action.as_ref()
80    }
81    /// <p>The archive ID requested for a select job or archive retrieval. Otherwise, this field is null.</p>
82    pub fn archive_id(&self) -> ::std::option::Option<&str> {
83        self.archive_id.as_deref()
84    }
85    /// <p>The Amazon Resource Name (ARN) of the vault from which an archive retrieval was requested.</p>
86    pub fn vault_arn(&self) -> ::std::option::Option<&str> {
87        self.vault_arn.as_deref()
88    }
89    /// <p>The UTC date when the job was created. This value is a string representation of ISO 8601 date format, for example <code>"2012-03-20T17:03:43.221Z"</code>.</p>
90    pub fn creation_date(&self) -> ::std::option::Option<&str> {
91        self.creation_date.as_deref()
92    }
93    /// <p>The job status. When a job is completed, you get the job's output using Get Job Output (GET output).</p>
94    pub fn completed(&self) -> bool {
95        self.completed
96    }
97    /// <p>The status code can be <code>InProgress</code>, <code>Succeeded</code>, or <code>Failed</code>, and indicates the status of the job.</p>
98    pub fn status_code(&self) -> ::std::option::Option<&crate::types::StatusCode> {
99        self.status_code.as_ref()
100    }
101    /// <p>A friendly message that describes the job status.</p>
102    pub fn status_message(&self) -> ::std::option::Option<&str> {
103        self.status_message.as_deref()
104    }
105    /// <p>For an archive retrieval job, this value is the size in bytes of the archive being requested for download. For an inventory retrieval or select job, this value is null.</p>
106    pub fn archive_size_in_bytes(&self) -> ::std::option::Option<i64> {
107        self.archive_size_in_bytes
108    }
109    /// <p>For an inventory retrieval job, this value is the size in bytes of the inventory requested for download. For an archive retrieval or select job, this value is null.</p>
110    pub fn inventory_size_in_bytes(&self) -> ::std::option::Option<i64> {
111        self.inventory_size_in_bytes
112    }
113    /// <p>An Amazon SNS topic that receives notification.</p>
114    pub fn sns_topic(&self) -> ::std::option::Option<&str> {
115        self.sns_topic.as_deref()
116    }
117    /// <p>The UTC time that the job request completed. While the job is in progress, the value is null.</p>
118    pub fn completion_date(&self) -> ::std::option::Option<&str> {
119        self.completion_date.as_deref()
120    }
121    /// <p>For an archive retrieval job, this value is the checksum of the archive. Otherwise, this value is null.</p>
122    /// <p>The SHA256 tree hash value for the requested range of an archive. If the <b>InitiateJob</b> request for an archive specified a tree-hash aligned range, then this field returns a value.</p>
123    /// <p>If the whole archive is retrieved, this value is the same as the ArchiveSHA256TreeHash value.</p>
124    /// <p>This field is null for the following:</p>
125    /// <ul>
126    /// <li>
127    /// <p>Archive retrieval jobs that specify a range that is not tree-hash aligned</p></li>
128    /// </ul>
129    /// <ul>
130    /// <li>
131    /// <p>Archival jobs that specify a range that is equal to the whole archive, when the job status is <code>InProgress</code></p></li>
132    /// </ul>
133    /// <ul>
134    /// <li>
135    /// <p>Inventory jobs</p></li>
136    /// <li>
137    /// <p>Select jobs</p></li>
138    /// </ul>
139    pub fn sha256_tree_hash(&self) -> ::std::option::Option<&str> {
140        self.sha256_tree_hash.as_deref()
141    }
142    /// <p>The SHA256 tree hash of the entire archive for an archive retrieval. For inventory retrieval or select jobs, this field is null.</p>
143    pub fn archive_sha256_tree_hash(&self) -> ::std::option::Option<&str> {
144        self.archive_sha256_tree_hash.as_deref()
145    }
146    /// <p>The retrieved byte range for archive retrieval jobs in the form <i>StartByteValue</i>-<i>EndByteValue</i>. If no range was specified in the archive retrieval, then the whole archive is retrieved. In this case, <i>StartByteValue</i> equals 0 and <i>EndByteValue</i> equals the size of the archive minus 1. For inventory retrieval or select jobs, this field is null.</p>
147    pub fn retrieval_byte_range(&self) -> ::std::option::Option<&str> {
148        self.retrieval_byte_range.as_deref()
149    }
150    /// <p>The tier to use for a select or an archive retrieval. Valid values are <code>Expedited</code>, <code>Standard</code>, or <code>Bulk</code>. <code>Standard</code> is the default.</p>
151    pub fn tier(&self) -> ::std::option::Option<&str> {
152        self.tier.as_deref()
153    }
154    /// <p>Parameters used for range inventory retrieval.</p>
155    pub fn inventory_retrieval_parameters(&self) -> ::std::option::Option<&crate::types::InventoryRetrievalJobDescription> {
156        self.inventory_retrieval_parameters.as_ref()
157    }
158    /// <p>Contains the job output location.</p>
159    pub fn job_output_path(&self) -> ::std::option::Option<&str> {
160        self.job_output_path.as_deref()
161    }
162    /// <p>Contains the parameters used for a select.</p>
163    pub fn select_parameters(&self) -> ::std::option::Option<&crate::types::SelectParameters> {
164        self.select_parameters.as_ref()
165    }
166    /// <p>Contains the location where the data from the select job is stored.</p>
167    pub fn output_location(&self) -> ::std::option::Option<&crate::types::OutputLocation> {
168        self.output_location.as_ref()
169    }
170}
171impl ::aws_types::request_id::RequestId for DescribeJobOutput {
172    fn request_id(&self) -> Option<&str> {
173        self._request_id.as_deref()
174    }
175}
176impl DescribeJobOutput {
177    /// Creates a new builder-style object to manufacture [`DescribeJobOutput`](crate::operation::describe_job::DescribeJobOutput).
178    pub fn builder() -> crate::operation::describe_job::builders::DescribeJobOutputBuilder {
179        crate::operation::describe_job::builders::DescribeJobOutputBuilder::default()
180    }
181}
182
183/// A builder for [`DescribeJobOutput`](crate::operation::describe_job::DescribeJobOutput).
184#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
185#[non_exhaustive]
186pub struct DescribeJobOutputBuilder {
187    pub(crate) job_id: ::std::option::Option<::std::string::String>,
188    pub(crate) job_description: ::std::option::Option<::std::string::String>,
189    pub(crate) action: ::std::option::Option<crate::types::ActionCode>,
190    pub(crate) archive_id: ::std::option::Option<::std::string::String>,
191    pub(crate) vault_arn: ::std::option::Option<::std::string::String>,
192    pub(crate) creation_date: ::std::option::Option<::std::string::String>,
193    pub(crate) completed: ::std::option::Option<bool>,
194    pub(crate) status_code: ::std::option::Option<crate::types::StatusCode>,
195    pub(crate) status_message: ::std::option::Option<::std::string::String>,
196    pub(crate) archive_size_in_bytes: ::std::option::Option<i64>,
197    pub(crate) inventory_size_in_bytes: ::std::option::Option<i64>,
198    pub(crate) sns_topic: ::std::option::Option<::std::string::String>,
199    pub(crate) completion_date: ::std::option::Option<::std::string::String>,
200    pub(crate) sha256_tree_hash: ::std::option::Option<::std::string::String>,
201    pub(crate) archive_sha256_tree_hash: ::std::option::Option<::std::string::String>,
202    pub(crate) retrieval_byte_range: ::std::option::Option<::std::string::String>,
203    pub(crate) tier: ::std::option::Option<::std::string::String>,
204    pub(crate) inventory_retrieval_parameters: ::std::option::Option<crate::types::InventoryRetrievalJobDescription>,
205    pub(crate) job_output_path: ::std::option::Option<::std::string::String>,
206    pub(crate) select_parameters: ::std::option::Option<crate::types::SelectParameters>,
207    pub(crate) output_location: ::std::option::Option<crate::types::OutputLocation>,
208    _request_id: Option<String>,
209}
210impl DescribeJobOutputBuilder {
211    /// <p>An opaque string that identifies an Amazon S3 Glacier job.</p>
212    pub fn job_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
213        self.job_id = ::std::option::Option::Some(input.into());
214        self
215    }
216    /// <p>An opaque string that identifies an Amazon S3 Glacier job.</p>
217    pub fn set_job_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
218        self.job_id = input;
219        self
220    }
221    /// <p>An opaque string that identifies an Amazon S3 Glacier job.</p>
222    pub fn get_job_id(&self) -> &::std::option::Option<::std::string::String> {
223        &self.job_id
224    }
225    /// <p>The job description provided when initiating the job.</p>
226    pub fn job_description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
227        self.job_description = ::std::option::Option::Some(input.into());
228        self
229    }
230    /// <p>The job description provided when initiating the job.</p>
231    pub fn set_job_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
232        self.job_description = input;
233        self
234    }
235    /// <p>The job description provided when initiating the job.</p>
236    pub fn get_job_description(&self) -> &::std::option::Option<::std::string::String> {
237        &self.job_description
238    }
239    /// <p>The job type. This value is either <code>ArchiveRetrieval</code>, <code>InventoryRetrieval</code>, or <code>Select</code>.</p>
240    pub fn action(mut self, input: crate::types::ActionCode) -> Self {
241        self.action = ::std::option::Option::Some(input);
242        self
243    }
244    /// <p>The job type. This value is either <code>ArchiveRetrieval</code>, <code>InventoryRetrieval</code>, or <code>Select</code>.</p>
245    pub fn set_action(mut self, input: ::std::option::Option<crate::types::ActionCode>) -> Self {
246        self.action = input;
247        self
248    }
249    /// <p>The job type. This value is either <code>ArchiveRetrieval</code>, <code>InventoryRetrieval</code>, or <code>Select</code>.</p>
250    pub fn get_action(&self) -> &::std::option::Option<crate::types::ActionCode> {
251        &self.action
252    }
253    /// <p>The archive ID requested for a select job or archive retrieval. Otherwise, this field is null.</p>
254    pub fn archive_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
255        self.archive_id = ::std::option::Option::Some(input.into());
256        self
257    }
258    /// <p>The archive ID requested for a select job or archive retrieval. Otherwise, this field is null.</p>
259    pub fn set_archive_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
260        self.archive_id = input;
261        self
262    }
263    /// <p>The archive ID requested for a select job or archive retrieval. Otherwise, this field is null.</p>
264    pub fn get_archive_id(&self) -> &::std::option::Option<::std::string::String> {
265        &self.archive_id
266    }
267    /// <p>The Amazon Resource Name (ARN) of the vault from which an archive retrieval was requested.</p>
268    pub fn vault_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
269        self.vault_arn = ::std::option::Option::Some(input.into());
270        self
271    }
272    /// <p>The Amazon Resource Name (ARN) of the vault from which an archive retrieval was requested.</p>
273    pub fn set_vault_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
274        self.vault_arn = input;
275        self
276    }
277    /// <p>The Amazon Resource Name (ARN) of the vault from which an archive retrieval was requested.</p>
278    pub fn get_vault_arn(&self) -> &::std::option::Option<::std::string::String> {
279        &self.vault_arn
280    }
281    /// <p>The UTC date when the job was created. This value is a string representation of ISO 8601 date format, for example <code>"2012-03-20T17:03:43.221Z"</code>.</p>
282    pub fn creation_date(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
283        self.creation_date = ::std::option::Option::Some(input.into());
284        self
285    }
286    /// <p>The UTC date when the job was created. This value is a string representation of ISO 8601 date format, for example <code>"2012-03-20T17:03:43.221Z"</code>.</p>
287    pub fn set_creation_date(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
288        self.creation_date = input;
289        self
290    }
291    /// <p>The UTC date when the job was created. This value is a string representation of ISO 8601 date format, for example <code>"2012-03-20T17:03:43.221Z"</code>.</p>
292    pub fn get_creation_date(&self) -> &::std::option::Option<::std::string::String> {
293        &self.creation_date
294    }
295    /// <p>The job status. When a job is completed, you get the job's output using Get Job Output (GET output).</p>
296    pub fn completed(mut self, input: bool) -> Self {
297        self.completed = ::std::option::Option::Some(input);
298        self
299    }
300    /// <p>The job status. When a job is completed, you get the job's output using Get Job Output (GET output).</p>
301    pub fn set_completed(mut self, input: ::std::option::Option<bool>) -> Self {
302        self.completed = input;
303        self
304    }
305    /// <p>The job status. When a job is completed, you get the job's output using Get Job Output (GET output).</p>
306    pub fn get_completed(&self) -> &::std::option::Option<bool> {
307        &self.completed
308    }
309    /// <p>The status code can be <code>InProgress</code>, <code>Succeeded</code>, or <code>Failed</code>, and indicates the status of the job.</p>
310    pub fn status_code(mut self, input: crate::types::StatusCode) -> Self {
311        self.status_code = ::std::option::Option::Some(input);
312        self
313    }
314    /// <p>The status code can be <code>InProgress</code>, <code>Succeeded</code>, or <code>Failed</code>, and indicates the status of the job.</p>
315    pub fn set_status_code(mut self, input: ::std::option::Option<crate::types::StatusCode>) -> Self {
316        self.status_code = input;
317        self
318    }
319    /// <p>The status code can be <code>InProgress</code>, <code>Succeeded</code>, or <code>Failed</code>, and indicates the status of the job.</p>
320    pub fn get_status_code(&self) -> &::std::option::Option<crate::types::StatusCode> {
321        &self.status_code
322    }
323    /// <p>A friendly message that describes the job status.</p>
324    pub fn status_message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
325        self.status_message = ::std::option::Option::Some(input.into());
326        self
327    }
328    /// <p>A friendly message that describes the job status.</p>
329    pub fn set_status_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
330        self.status_message = input;
331        self
332    }
333    /// <p>A friendly message that describes the job status.</p>
334    pub fn get_status_message(&self) -> &::std::option::Option<::std::string::String> {
335        &self.status_message
336    }
337    /// <p>For an archive retrieval job, this value is the size in bytes of the archive being requested for download. For an inventory retrieval or select job, this value is null.</p>
338    pub fn archive_size_in_bytes(mut self, input: i64) -> Self {
339        self.archive_size_in_bytes = ::std::option::Option::Some(input);
340        self
341    }
342    /// <p>For an archive retrieval job, this value is the size in bytes of the archive being requested for download. For an inventory retrieval or select job, this value is null.</p>
343    pub fn set_archive_size_in_bytes(mut self, input: ::std::option::Option<i64>) -> Self {
344        self.archive_size_in_bytes = input;
345        self
346    }
347    /// <p>For an archive retrieval job, this value is the size in bytes of the archive being requested for download. For an inventory retrieval or select job, this value is null.</p>
348    pub fn get_archive_size_in_bytes(&self) -> &::std::option::Option<i64> {
349        &self.archive_size_in_bytes
350    }
351    /// <p>For an inventory retrieval job, this value is the size in bytes of the inventory requested for download. For an archive retrieval or select job, this value is null.</p>
352    pub fn inventory_size_in_bytes(mut self, input: i64) -> Self {
353        self.inventory_size_in_bytes = ::std::option::Option::Some(input);
354        self
355    }
356    /// <p>For an inventory retrieval job, this value is the size in bytes of the inventory requested for download. For an archive retrieval or select job, this value is null.</p>
357    pub fn set_inventory_size_in_bytes(mut self, input: ::std::option::Option<i64>) -> Self {
358        self.inventory_size_in_bytes = input;
359        self
360    }
361    /// <p>For an inventory retrieval job, this value is the size in bytes of the inventory requested for download. For an archive retrieval or select job, this value is null.</p>
362    pub fn get_inventory_size_in_bytes(&self) -> &::std::option::Option<i64> {
363        &self.inventory_size_in_bytes
364    }
365    /// <p>An Amazon SNS topic that receives notification.</p>
366    pub fn sns_topic(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
367        self.sns_topic = ::std::option::Option::Some(input.into());
368        self
369    }
370    /// <p>An Amazon SNS topic that receives notification.</p>
371    pub fn set_sns_topic(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
372        self.sns_topic = input;
373        self
374    }
375    /// <p>An Amazon SNS topic that receives notification.</p>
376    pub fn get_sns_topic(&self) -> &::std::option::Option<::std::string::String> {
377        &self.sns_topic
378    }
379    /// <p>The UTC time that the job request completed. While the job is in progress, the value is null.</p>
380    pub fn completion_date(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
381        self.completion_date = ::std::option::Option::Some(input.into());
382        self
383    }
384    /// <p>The UTC time that the job request completed. While the job is in progress, the value is null.</p>
385    pub fn set_completion_date(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
386        self.completion_date = input;
387        self
388    }
389    /// <p>The UTC time that the job request completed. While the job is in progress, the value is null.</p>
390    pub fn get_completion_date(&self) -> &::std::option::Option<::std::string::String> {
391        &self.completion_date
392    }
393    /// <p>For an archive retrieval job, this value is the checksum of the archive. Otherwise, this value is null.</p>
394    /// <p>The SHA256 tree hash value for the requested range of an archive. If the <b>InitiateJob</b> request for an archive specified a tree-hash aligned range, then this field returns a value.</p>
395    /// <p>If the whole archive is retrieved, this value is the same as the ArchiveSHA256TreeHash value.</p>
396    /// <p>This field is null for the following:</p>
397    /// <ul>
398    /// <li>
399    /// <p>Archive retrieval jobs that specify a range that is not tree-hash aligned</p></li>
400    /// </ul>
401    /// <ul>
402    /// <li>
403    /// <p>Archival jobs that specify a range that is equal to the whole archive, when the job status is <code>InProgress</code></p></li>
404    /// </ul>
405    /// <ul>
406    /// <li>
407    /// <p>Inventory jobs</p></li>
408    /// <li>
409    /// <p>Select jobs</p></li>
410    /// </ul>
411    pub fn sha256_tree_hash(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
412        self.sha256_tree_hash = ::std::option::Option::Some(input.into());
413        self
414    }
415    /// <p>For an archive retrieval job, this value is the checksum of the archive. Otherwise, this value is null.</p>
416    /// <p>The SHA256 tree hash value for the requested range of an archive. If the <b>InitiateJob</b> request for an archive specified a tree-hash aligned range, then this field returns a value.</p>
417    /// <p>If the whole archive is retrieved, this value is the same as the ArchiveSHA256TreeHash value.</p>
418    /// <p>This field is null for the following:</p>
419    /// <ul>
420    /// <li>
421    /// <p>Archive retrieval jobs that specify a range that is not tree-hash aligned</p></li>
422    /// </ul>
423    /// <ul>
424    /// <li>
425    /// <p>Archival jobs that specify a range that is equal to the whole archive, when the job status is <code>InProgress</code></p></li>
426    /// </ul>
427    /// <ul>
428    /// <li>
429    /// <p>Inventory jobs</p></li>
430    /// <li>
431    /// <p>Select jobs</p></li>
432    /// </ul>
433    pub fn set_sha256_tree_hash(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
434        self.sha256_tree_hash = input;
435        self
436    }
437    /// <p>For an archive retrieval job, this value is the checksum of the archive. Otherwise, this value is null.</p>
438    /// <p>The SHA256 tree hash value for the requested range of an archive. If the <b>InitiateJob</b> request for an archive specified a tree-hash aligned range, then this field returns a value.</p>
439    /// <p>If the whole archive is retrieved, this value is the same as the ArchiveSHA256TreeHash value.</p>
440    /// <p>This field is null for the following:</p>
441    /// <ul>
442    /// <li>
443    /// <p>Archive retrieval jobs that specify a range that is not tree-hash aligned</p></li>
444    /// </ul>
445    /// <ul>
446    /// <li>
447    /// <p>Archival jobs that specify a range that is equal to the whole archive, when the job status is <code>InProgress</code></p></li>
448    /// </ul>
449    /// <ul>
450    /// <li>
451    /// <p>Inventory jobs</p></li>
452    /// <li>
453    /// <p>Select jobs</p></li>
454    /// </ul>
455    pub fn get_sha256_tree_hash(&self) -> &::std::option::Option<::std::string::String> {
456        &self.sha256_tree_hash
457    }
458    /// <p>The SHA256 tree hash of the entire archive for an archive retrieval. For inventory retrieval or select jobs, this field is null.</p>
459    pub fn archive_sha256_tree_hash(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
460        self.archive_sha256_tree_hash = ::std::option::Option::Some(input.into());
461        self
462    }
463    /// <p>The SHA256 tree hash of the entire archive for an archive retrieval. For inventory retrieval or select jobs, this field is null.</p>
464    pub fn set_archive_sha256_tree_hash(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
465        self.archive_sha256_tree_hash = input;
466        self
467    }
468    /// <p>The SHA256 tree hash of the entire archive for an archive retrieval. For inventory retrieval or select jobs, this field is null.</p>
469    pub fn get_archive_sha256_tree_hash(&self) -> &::std::option::Option<::std::string::String> {
470        &self.archive_sha256_tree_hash
471    }
472    /// <p>The retrieved byte range for archive retrieval jobs in the form <i>StartByteValue</i>-<i>EndByteValue</i>. If no range was specified in the archive retrieval, then the whole archive is retrieved. In this case, <i>StartByteValue</i> equals 0 and <i>EndByteValue</i> equals the size of the archive minus 1. For inventory retrieval or select jobs, this field is null.</p>
473    pub fn retrieval_byte_range(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
474        self.retrieval_byte_range = ::std::option::Option::Some(input.into());
475        self
476    }
477    /// <p>The retrieved byte range for archive retrieval jobs in the form <i>StartByteValue</i>-<i>EndByteValue</i>. If no range was specified in the archive retrieval, then the whole archive is retrieved. In this case, <i>StartByteValue</i> equals 0 and <i>EndByteValue</i> equals the size of the archive minus 1. For inventory retrieval or select jobs, this field is null.</p>
478    pub fn set_retrieval_byte_range(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
479        self.retrieval_byte_range = input;
480        self
481    }
482    /// <p>The retrieved byte range for archive retrieval jobs in the form <i>StartByteValue</i>-<i>EndByteValue</i>. If no range was specified in the archive retrieval, then the whole archive is retrieved. In this case, <i>StartByteValue</i> equals 0 and <i>EndByteValue</i> equals the size of the archive minus 1. For inventory retrieval or select jobs, this field is null.</p>
483    pub fn get_retrieval_byte_range(&self) -> &::std::option::Option<::std::string::String> {
484        &self.retrieval_byte_range
485    }
486    /// <p>The tier to use for a select or an archive retrieval. Valid values are <code>Expedited</code>, <code>Standard</code>, or <code>Bulk</code>. <code>Standard</code> is the default.</p>
487    pub fn tier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
488        self.tier = ::std::option::Option::Some(input.into());
489        self
490    }
491    /// <p>The tier to use for a select or an archive retrieval. Valid values are <code>Expedited</code>, <code>Standard</code>, or <code>Bulk</code>. <code>Standard</code> is the default.</p>
492    pub fn set_tier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
493        self.tier = input;
494        self
495    }
496    /// <p>The tier to use for a select or an archive retrieval. Valid values are <code>Expedited</code>, <code>Standard</code>, or <code>Bulk</code>. <code>Standard</code> is the default.</p>
497    pub fn get_tier(&self) -> &::std::option::Option<::std::string::String> {
498        &self.tier
499    }
500    /// <p>Parameters used for range inventory retrieval.</p>
501    pub fn inventory_retrieval_parameters(mut self, input: crate::types::InventoryRetrievalJobDescription) -> Self {
502        self.inventory_retrieval_parameters = ::std::option::Option::Some(input);
503        self
504    }
505    /// <p>Parameters used for range inventory retrieval.</p>
506    pub fn set_inventory_retrieval_parameters(mut self, input: ::std::option::Option<crate::types::InventoryRetrievalJobDescription>) -> Self {
507        self.inventory_retrieval_parameters = input;
508        self
509    }
510    /// <p>Parameters used for range inventory retrieval.</p>
511    pub fn get_inventory_retrieval_parameters(&self) -> &::std::option::Option<crate::types::InventoryRetrievalJobDescription> {
512        &self.inventory_retrieval_parameters
513    }
514    /// <p>Contains the job output location.</p>
515    pub fn job_output_path(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
516        self.job_output_path = ::std::option::Option::Some(input.into());
517        self
518    }
519    /// <p>Contains the job output location.</p>
520    pub fn set_job_output_path(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
521        self.job_output_path = input;
522        self
523    }
524    /// <p>Contains the job output location.</p>
525    pub fn get_job_output_path(&self) -> &::std::option::Option<::std::string::String> {
526        &self.job_output_path
527    }
528    /// <p>Contains the parameters used for a select.</p>
529    pub fn select_parameters(mut self, input: crate::types::SelectParameters) -> Self {
530        self.select_parameters = ::std::option::Option::Some(input);
531        self
532    }
533    /// <p>Contains the parameters used for a select.</p>
534    pub fn set_select_parameters(mut self, input: ::std::option::Option<crate::types::SelectParameters>) -> Self {
535        self.select_parameters = input;
536        self
537    }
538    /// <p>Contains the parameters used for a select.</p>
539    pub fn get_select_parameters(&self) -> &::std::option::Option<crate::types::SelectParameters> {
540        &self.select_parameters
541    }
542    /// <p>Contains the location where the data from the select job is stored.</p>
543    pub fn output_location(mut self, input: crate::types::OutputLocation) -> Self {
544        self.output_location = ::std::option::Option::Some(input);
545        self
546    }
547    /// <p>Contains the location where the data from the select job is stored.</p>
548    pub fn set_output_location(mut self, input: ::std::option::Option<crate::types::OutputLocation>) -> Self {
549        self.output_location = input;
550        self
551    }
552    /// <p>Contains the location where the data from the select job is stored.</p>
553    pub fn get_output_location(&self) -> &::std::option::Option<crate::types::OutputLocation> {
554        &self.output_location
555    }
556    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
557        self._request_id = Some(request_id.into());
558        self
559    }
560
561    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
562        self._request_id = request_id;
563        self
564    }
565    /// Consumes the builder and constructs a [`DescribeJobOutput`](crate::operation::describe_job::DescribeJobOutput).
566    pub fn build(self) -> crate::operation::describe_job::DescribeJobOutput {
567        crate::operation::describe_job::DescribeJobOutput {
568            job_id: self.job_id,
569            job_description: self.job_description,
570            action: self.action,
571            archive_id: self.archive_id,
572            vault_arn: self.vault_arn,
573            creation_date: self.creation_date,
574            completed: self.completed.unwrap_or_default(),
575            status_code: self.status_code,
576            status_message: self.status_message,
577            archive_size_in_bytes: self.archive_size_in_bytes,
578            inventory_size_in_bytes: self.inventory_size_in_bytes,
579            sns_topic: self.sns_topic,
580            completion_date: self.completion_date,
581            sha256_tree_hash: self.sha256_tree_hash,
582            archive_sha256_tree_hash: self.archive_sha256_tree_hash,
583            retrieval_byte_range: self.retrieval_byte_range,
584            tier: self.tier,
585            inventory_retrieval_parameters: self.inventory_retrieval_parameters,
586            job_output_path: self.job_output_path,
587            select_parameters: self.select_parameters,
588            output_location: self.output_location,
589            _request_id: self._request_id,
590        }
591    }
592}