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}