aws_sdk_braket/operation/get_job/
_get_job_output.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct GetJobOutput {
6 pub status: crate::types::JobPrimaryStatus,
8 pub job_arn: ::std::string::String,
10 pub role_arn: ::std::string::String,
12 pub failure_reason: ::std::option::Option<::std::string::String>,
14 pub job_name: ::std::string::String,
16 pub hyper_parameters: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
18 pub input_data_config: ::std::option::Option<::std::vec::Vec<crate::types::InputFileConfig>>,
20 pub output_data_config: ::std::option::Option<crate::types::JobOutputDataConfig>,
22 pub stopping_condition: ::std::option::Option<crate::types::JobStoppingCondition>,
24 pub checkpoint_config: ::std::option::Option<crate::types::JobCheckpointConfig>,
26 pub algorithm_specification: ::std::option::Option<crate::types::AlgorithmSpecification>,
28 pub instance_config: ::std::option::Option<crate::types::InstanceConfig>,
30 pub created_at: ::aws_smithy_types::DateTime,
32 pub started_at: ::std::option::Option<::aws_smithy_types::DateTime>,
34 pub ended_at: ::std::option::Option<::aws_smithy_types::DateTime>,
36 pub billable_duration: ::std::option::Option<i32>,
38 pub device_config: ::std::option::Option<crate::types::DeviceConfig>,
40 pub events: ::std::option::Option<::std::vec::Vec<crate::types::JobEventDetails>>,
42 pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
44 pub queue_info: ::std::option::Option<crate::types::HybridJobQueueInfo>,
46 pub associations: ::std::option::Option<::std::vec::Vec<crate::types::Association>>,
48 _request_id: Option<String>,
49}
50impl GetJobOutput {
51 pub fn status(&self) -> &crate::types::JobPrimaryStatus {
53 &self.status
54 }
55 pub fn job_arn(&self) -> &str {
57 use std::ops::Deref;
58 self.job_arn.deref()
59 }
60 pub fn role_arn(&self) -> &str {
62 use std::ops::Deref;
63 self.role_arn.deref()
64 }
65 pub fn failure_reason(&self) -> ::std::option::Option<&str> {
67 self.failure_reason.as_deref()
68 }
69 pub fn job_name(&self) -> &str {
71 use std::ops::Deref;
72 self.job_name.deref()
73 }
74 pub fn hyper_parameters(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
76 self.hyper_parameters.as_ref()
77 }
78 pub fn input_data_config(&self) -> &[crate::types::InputFileConfig] {
82 self.input_data_config.as_deref().unwrap_or_default()
83 }
84 pub fn output_data_config(&self) -> ::std::option::Option<&crate::types::JobOutputDataConfig> {
86 self.output_data_config.as_ref()
87 }
88 pub fn stopping_condition(&self) -> ::std::option::Option<&crate::types::JobStoppingCondition> {
90 self.stopping_condition.as_ref()
91 }
92 pub fn checkpoint_config(&self) -> ::std::option::Option<&crate::types::JobCheckpointConfig> {
94 self.checkpoint_config.as_ref()
95 }
96 pub fn algorithm_specification(&self) -> ::std::option::Option<&crate::types::AlgorithmSpecification> {
98 self.algorithm_specification.as_ref()
99 }
100 pub fn instance_config(&self) -> ::std::option::Option<&crate::types::InstanceConfig> {
102 self.instance_config.as_ref()
103 }
104 pub fn created_at(&self) -> &::aws_smithy_types::DateTime {
106 &self.created_at
107 }
108 pub fn started_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
110 self.started_at.as_ref()
111 }
112 pub fn ended_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
114 self.ended_at.as_ref()
115 }
116 pub fn billable_duration(&self) -> ::std::option::Option<i32> {
118 self.billable_duration
119 }
120 pub fn device_config(&self) -> ::std::option::Option<&crate::types::DeviceConfig> {
122 self.device_config.as_ref()
123 }
124 pub fn events(&self) -> &[crate::types::JobEventDetails] {
128 self.events.as_deref().unwrap_or_default()
129 }
130 pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
132 self.tags.as_ref()
133 }
134 pub fn queue_info(&self) -> ::std::option::Option<&crate::types::HybridJobQueueInfo> {
136 self.queue_info.as_ref()
137 }
138 pub fn associations(&self) -> &[crate::types::Association] {
142 self.associations.as_deref().unwrap_or_default()
143 }
144}
145impl ::aws_types::request_id::RequestId for GetJobOutput {
146 fn request_id(&self) -> Option<&str> {
147 self._request_id.as_deref()
148 }
149}
150impl GetJobOutput {
151 pub fn builder() -> crate::operation::get_job::builders::GetJobOutputBuilder {
153 crate::operation::get_job::builders::GetJobOutputBuilder::default()
154 }
155}
156
157#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
159#[non_exhaustive]
160pub struct GetJobOutputBuilder {
161 pub(crate) status: ::std::option::Option<crate::types::JobPrimaryStatus>,
162 pub(crate) job_arn: ::std::option::Option<::std::string::String>,
163 pub(crate) role_arn: ::std::option::Option<::std::string::String>,
164 pub(crate) failure_reason: ::std::option::Option<::std::string::String>,
165 pub(crate) job_name: ::std::option::Option<::std::string::String>,
166 pub(crate) hyper_parameters: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
167 pub(crate) input_data_config: ::std::option::Option<::std::vec::Vec<crate::types::InputFileConfig>>,
168 pub(crate) output_data_config: ::std::option::Option<crate::types::JobOutputDataConfig>,
169 pub(crate) stopping_condition: ::std::option::Option<crate::types::JobStoppingCondition>,
170 pub(crate) checkpoint_config: ::std::option::Option<crate::types::JobCheckpointConfig>,
171 pub(crate) algorithm_specification: ::std::option::Option<crate::types::AlgorithmSpecification>,
172 pub(crate) instance_config: ::std::option::Option<crate::types::InstanceConfig>,
173 pub(crate) created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
174 pub(crate) started_at: ::std::option::Option<::aws_smithy_types::DateTime>,
175 pub(crate) ended_at: ::std::option::Option<::aws_smithy_types::DateTime>,
176 pub(crate) billable_duration: ::std::option::Option<i32>,
177 pub(crate) device_config: ::std::option::Option<crate::types::DeviceConfig>,
178 pub(crate) events: ::std::option::Option<::std::vec::Vec<crate::types::JobEventDetails>>,
179 pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
180 pub(crate) queue_info: ::std::option::Option<crate::types::HybridJobQueueInfo>,
181 pub(crate) associations: ::std::option::Option<::std::vec::Vec<crate::types::Association>>,
182 _request_id: Option<String>,
183}
184impl GetJobOutputBuilder {
185 pub fn status(mut self, input: crate::types::JobPrimaryStatus) -> Self {
188 self.status = ::std::option::Option::Some(input);
189 self
190 }
191 pub fn set_status(mut self, input: ::std::option::Option<crate::types::JobPrimaryStatus>) -> Self {
193 self.status = input;
194 self
195 }
196 pub fn get_status(&self) -> &::std::option::Option<crate::types::JobPrimaryStatus> {
198 &self.status
199 }
200 pub fn job_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
203 self.job_arn = ::std::option::Option::Some(input.into());
204 self
205 }
206 pub fn set_job_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
208 self.job_arn = input;
209 self
210 }
211 pub fn get_job_arn(&self) -> &::std::option::Option<::std::string::String> {
213 &self.job_arn
214 }
215 pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
218 self.role_arn = ::std::option::Option::Some(input.into());
219 self
220 }
221 pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
223 self.role_arn = input;
224 self
225 }
226 pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
228 &self.role_arn
229 }
230 pub fn failure_reason(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
232 self.failure_reason = ::std::option::Option::Some(input.into());
233 self
234 }
235 pub fn set_failure_reason(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
237 self.failure_reason = input;
238 self
239 }
240 pub fn get_failure_reason(&self) -> &::std::option::Option<::std::string::String> {
242 &self.failure_reason
243 }
244 pub fn job_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
247 self.job_name = ::std::option::Option::Some(input.into());
248 self
249 }
250 pub fn set_job_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
252 self.job_name = input;
253 self
254 }
255 pub fn get_job_name(&self) -> &::std::option::Option<::std::string::String> {
257 &self.job_name
258 }
259 pub fn hyper_parameters(
265 mut self,
266 k: impl ::std::convert::Into<::std::string::String>,
267 v: impl ::std::convert::Into<::std::string::String>,
268 ) -> Self {
269 let mut hash_map = self.hyper_parameters.unwrap_or_default();
270 hash_map.insert(k.into(), v.into());
271 self.hyper_parameters = ::std::option::Option::Some(hash_map);
272 self
273 }
274 pub fn set_hyper_parameters(
276 mut self,
277 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
278 ) -> Self {
279 self.hyper_parameters = input;
280 self
281 }
282 pub fn get_hyper_parameters(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
284 &self.hyper_parameters
285 }
286 pub fn input_data_config(mut self, input: crate::types::InputFileConfig) -> Self {
292 let mut v = self.input_data_config.unwrap_or_default();
293 v.push(input);
294 self.input_data_config = ::std::option::Option::Some(v);
295 self
296 }
297 pub fn set_input_data_config(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::InputFileConfig>>) -> Self {
299 self.input_data_config = input;
300 self
301 }
302 pub fn get_input_data_config(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::InputFileConfig>> {
304 &self.input_data_config
305 }
306 pub fn output_data_config(mut self, input: crate::types::JobOutputDataConfig) -> Self {
309 self.output_data_config = ::std::option::Option::Some(input);
310 self
311 }
312 pub fn set_output_data_config(mut self, input: ::std::option::Option<crate::types::JobOutputDataConfig>) -> Self {
314 self.output_data_config = input;
315 self
316 }
317 pub fn get_output_data_config(&self) -> &::std::option::Option<crate::types::JobOutputDataConfig> {
319 &self.output_data_config
320 }
321 pub fn stopping_condition(mut self, input: crate::types::JobStoppingCondition) -> Self {
323 self.stopping_condition = ::std::option::Option::Some(input);
324 self
325 }
326 pub fn set_stopping_condition(mut self, input: ::std::option::Option<crate::types::JobStoppingCondition>) -> Self {
328 self.stopping_condition = input;
329 self
330 }
331 pub fn get_stopping_condition(&self) -> &::std::option::Option<crate::types::JobStoppingCondition> {
333 &self.stopping_condition
334 }
335 pub fn checkpoint_config(mut self, input: crate::types::JobCheckpointConfig) -> Self {
337 self.checkpoint_config = ::std::option::Option::Some(input);
338 self
339 }
340 pub fn set_checkpoint_config(mut self, input: ::std::option::Option<crate::types::JobCheckpointConfig>) -> Self {
342 self.checkpoint_config = input;
343 self
344 }
345 pub fn get_checkpoint_config(&self) -> &::std::option::Option<crate::types::JobCheckpointConfig> {
347 &self.checkpoint_config
348 }
349 pub fn algorithm_specification(mut self, input: crate::types::AlgorithmSpecification) -> Self {
352 self.algorithm_specification = ::std::option::Option::Some(input);
353 self
354 }
355 pub fn set_algorithm_specification(mut self, input: ::std::option::Option<crate::types::AlgorithmSpecification>) -> Self {
357 self.algorithm_specification = input;
358 self
359 }
360 pub fn get_algorithm_specification(&self) -> &::std::option::Option<crate::types::AlgorithmSpecification> {
362 &self.algorithm_specification
363 }
364 pub fn instance_config(mut self, input: crate::types::InstanceConfig) -> Self {
367 self.instance_config = ::std::option::Option::Some(input);
368 self
369 }
370 pub fn set_instance_config(mut self, input: ::std::option::Option<crate::types::InstanceConfig>) -> Self {
372 self.instance_config = input;
373 self
374 }
375 pub fn get_instance_config(&self) -> &::std::option::Option<crate::types::InstanceConfig> {
377 &self.instance_config
378 }
379 pub fn created_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
382 self.created_at = ::std::option::Option::Some(input);
383 self
384 }
385 pub fn set_created_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
387 self.created_at = input;
388 self
389 }
390 pub fn get_created_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
392 &self.created_at
393 }
394 pub fn started_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
396 self.started_at = ::std::option::Option::Some(input);
397 self
398 }
399 pub fn set_started_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
401 self.started_at = input;
402 self
403 }
404 pub fn get_started_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
406 &self.started_at
407 }
408 pub fn ended_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
410 self.ended_at = ::std::option::Option::Some(input);
411 self
412 }
413 pub fn set_ended_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
415 self.ended_at = input;
416 self
417 }
418 pub fn get_ended_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
420 &self.ended_at
421 }
422 pub fn billable_duration(mut self, input: i32) -> Self {
424 self.billable_duration = ::std::option::Option::Some(input);
425 self
426 }
427 pub fn set_billable_duration(mut self, input: ::std::option::Option<i32>) -> Self {
429 self.billable_duration = input;
430 self
431 }
432 pub fn get_billable_duration(&self) -> &::std::option::Option<i32> {
434 &self.billable_duration
435 }
436 pub fn device_config(mut self, input: crate::types::DeviceConfig) -> Self {
438 self.device_config = ::std::option::Option::Some(input);
439 self
440 }
441 pub fn set_device_config(mut self, input: ::std::option::Option<crate::types::DeviceConfig>) -> Self {
443 self.device_config = input;
444 self
445 }
446 pub fn get_device_config(&self) -> &::std::option::Option<crate::types::DeviceConfig> {
448 &self.device_config
449 }
450 pub fn events(mut self, input: crate::types::JobEventDetails) -> Self {
456 let mut v = self.events.unwrap_or_default();
457 v.push(input);
458 self.events = ::std::option::Option::Some(v);
459 self
460 }
461 pub fn set_events(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::JobEventDetails>>) -> Self {
463 self.events = input;
464 self
465 }
466 pub fn get_events(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::JobEventDetails>> {
468 &self.events
469 }
470 pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
476 let mut hash_map = self.tags.unwrap_or_default();
477 hash_map.insert(k.into(), v.into());
478 self.tags = ::std::option::Option::Some(hash_map);
479 self
480 }
481 pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
483 self.tags = input;
484 self
485 }
486 pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
488 &self.tags
489 }
490 pub fn queue_info(mut self, input: crate::types::HybridJobQueueInfo) -> Self {
492 self.queue_info = ::std::option::Option::Some(input);
493 self
494 }
495 pub fn set_queue_info(mut self, input: ::std::option::Option<crate::types::HybridJobQueueInfo>) -> Self {
497 self.queue_info = input;
498 self
499 }
500 pub fn get_queue_info(&self) -> &::std::option::Option<crate::types::HybridJobQueueInfo> {
502 &self.queue_info
503 }
504 pub fn associations(mut self, input: crate::types::Association) -> Self {
510 let mut v = self.associations.unwrap_or_default();
511 v.push(input);
512 self.associations = ::std::option::Option::Some(v);
513 self
514 }
515 pub fn set_associations(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Association>>) -> Self {
517 self.associations = input;
518 self
519 }
520 pub fn get_associations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Association>> {
522 &self.associations
523 }
524 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
525 self._request_id = Some(request_id.into());
526 self
527 }
528
529 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
530 self._request_id = request_id;
531 self
532 }
533 pub fn build(self) -> ::std::result::Result<crate::operation::get_job::GetJobOutput, ::aws_smithy_types::error::operation::BuildError> {
541 ::std::result::Result::Ok(crate::operation::get_job::GetJobOutput {
542 status: self.status.ok_or_else(|| {
543 ::aws_smithy_types::error::operation::BuildError::missing_field(
544 "status",
545 "status was not specified but it is required when building GetJobOutput",
546 )
547 })?,
548 job_arn: self.job_arn.ok_or_else(|| {
549 ::aws_smithy_types::error::operation::BuildError::missing_field(
550 "job_arn",
551 "job_arn was not specified but it is required when building GetJobOutput",
552 )
553 })?,
554 role_arn: self.role_arn.ok_or_else(|| {
555 ::aws_smithy_types::error::operation::BuildError::missing_field(
556 "role_arn",
557 "role_arn was not specified but it is required when building GetJobOutput",
558 )
559 })?,
560 failure_reason: self.failure_reason,
561 job_name: self.job_name.ok_or_else(|| {
562 ::aws_smithy_types::error::operation::BuildError::missing_field(
563 "job_name",
564 "job_name was not specified but it is required when building GetJobOutput",
565 )
566 })?,
567 hyper_parameters: self.hyper_parameters,
568 input_data_config: self.input_data_config,
569 output_data_config: self.output_data_config,
570 stopping_condition: self.stopping_condition,
571 checkpoint_config: self.checkpoint_config,
572 algorithm_specification: self.algorithm_specification,
573 instance_config: self.instance_config,
574 created_at: self.created_at.ok_or_else(|| {
575 ::aws_smithy_types::error::operation::BuildError::missing_field(
576 "created_at",
577 "created_at was not specified but it is required when building GetJobOutput",
578 )
579 })?,
580 started_at: self.started_at,
581 ended_at: self.ended_at,
582 billable_duration: self.billable_duration,
583 device_config: self.device_config,
584 events: self.events,
585 tags: self.tags,
586 queue_info: self.queue_info,
587 associations: self.associations,
588 _request_id: self._request_id,
589 })
590 }
591}