1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct SimulationJob {
7 pub arn: ::std::option::Option<::std::string::String>,
9 pub name: ::std::option::Option<::std::string::String>,
11 pub status: ::std::option::Option<crate::types::SimulationJobStatus>,
13 pub last_started_at: ::std::option::Option<::aws_smithy_types::DateTime>,
15 pub last_updated_at: ::std::option::Option<::aws_smithy_types::DateTime>,
17 pub failure_behavior: ::std::option::Option<crate::types::FailureBehavior>,
33 pub failure_code: ::std::option::Option<crate::types::SimulationJobErrorCode>,
35 pub failure_reason: ::std::option::Option<::std::string::String>,
37 pub client_request_token: ::std::option::Option<::std::string::String>,
39 pub output_location: ::std::option::Option<crate::types::OutputLocation>,
41 pub logging_config: ::std::option::Option<crate::types::LoggingConfig>,
43 pub max_job_duration_in_seconds: i64,
45 pub simulation_time_millis: i64,
47 pub iam_role: ::std::option::Option<::std::string::String>,
49 pub robot_applications: ::std::option::Option<::std::vec::Vec<crate::types::RobotApplicationConfig>>,
51 pub simulation_applications: ::std::option::Option<::std::vec::Vec<crate::types::SimulationApplicationConfig>>,
53 pub data_sources: ::std::option::Option<::std::vec::Vec<crate::types::DataSource>>,
55 pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
57 pub vpc_config: ::std::option::Option<crate::types::VpcConfigResponse>,
59 pub network_interface: ::std::option::Option<crate::types::NetworkInterface>,
61 pub compute: ::std::option::Option<crate::types::ComputeResponse>,
63}
64impl SimulationJob {
65 pub fn arn(&self) -> ::std::option::Option<&str> {
67 self.arn.as_deref()
68 }
69 pub fn name(&self) -> ::std::option::Option<&str> {
71 self.name.as_deref()
72 }
73 pub fn status(&self) -> ::std::option::Option<&crate::types::SimulationJobStatus> {
75 self.status.as_ref()
76 }
77 pub fn last_started_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
79 self.last_started_at.as_ref()
80 }
81 pub fn last_updated_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
83 self.last_updated_at.as_ref()
84 }
85 pub fn failure_behavior(&self) -> ::std::option::Option<&crate::types::FailureBehavior> {
101 self.failure_behavior.as_ref()
102 }
103 pub fn failure_code(&self) -> ::std::option::Option<&crate::types::SimulationJobErrorCode> {
105 self.failure_code.as_ref()
106 }
107 pub fn failure_reason(&self) -> ::std::option::Option<&str> {
109 self.failure_reason.as_deref()
110 }
111 pub fn client_request_token(&self) -> ::std::option::Option<&str> {
113 self.client_request_token.as_deref()
114 }
115 pub fn output_location(&self) -> ::std::option::Option<&crate::types::OutputLocation> {
117 self.output_location.as_ref()
118 }
119 pub fn logging_config(&self) -> ::std::option::Option<&crate::types::LoggingConfig> {
121 self.logging_config.as_ref()
122 }
123 pub fn max_job_duration_in_seconds(&self) -> i64 {
125 self.max_job_duration_in_seconds
126 }
127 pub fn simulation_time_millis(&self) -> i64 {
129 self.simulation_time_millis
130 }
131 pub fn iam_role(&self) -> ::std::option::Option<&str> {
133 self.iam_role.as_deref()
134 }
135 pub fn robot_applications(&self) -> &[crate::types::RobotApplicationConfig] {
139 self.robot_applications.as_deref().unwrap_or_default()
140 }
141 pub fn simulation_applications(&self) -> &[crate::types::SimulationApplicationConfig] {
145 self.simulation_applications.as_deref().unwrap_or_default()
146 }
147 pub fn data_sources(&self) -> &[crate::types::DataSource] {
151 self.data_sources.as_deref().unwrap_or_default()
152 }
153 pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
155 self.tags.as_ref()
156 }
157 pub fn vpc_config(&self) -> ::std::option::Option<&crate::types::VpcConfigResponse> {
159 self.vpc_config.as_ref()
160 }
161 pub fn network_interface(&self) -> ::std::option::Option<&crate::types::NetworkInterface> {
163 self.network_interface.as_ref()
164 }
165 pub fn compute(&self) -> ::std::option::Option<&crate::types::ComputeResponse> {
167 self.compute.as_ref()
168 }
169}
170impl SimulationJob {
171 pub fn builder() -> crate::types::builders::SimulationJobBuilder {
173 crate::types::builders::SimulationJobBuilder::default()
174 }
175}
176
177#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
179#[non_exhaustive]
180pub struct SimulationJobBuilder {
181 pub(crate) arn: ::std::option::Option<::std::string::String>,
182 pub(crate) name: ::std::option::Option<::std::string::String>,
183 pub(crate) status: ::std::option::Option<crate::types::SimulationJobStatus>,
184 pub(crate) last_started_at: ::std::option::Option<::aws_smithy_types::DateTime>,
185 pub(crate) last_updated_at: ::std::option::Option<::aws_smithy_types::DateTime>,
186 pub(crate) failure_behavior: ::std::option::Option<crate::types::FailureBehavior>,
187 pub(crate) failure_code: ::std::option::Option<crate::types::SimulationJobErrorCode>,
188 pub(crate) failure_reason: ::std::option::Option<::std::string::String>,
189 pub(crate) client_request_token: ::std::option::Option<::std::string::String>,
190 pub(crate) output_location: ::std::option::Option<crate::types::OutputLocation>,
191 pub(crate) logging_config: ::std::option::Option<crate::types::LoggingConfig>,
192 pub(crate) max_job_duration_in_seconds: ::std::option::Option<i64>,
193 pub(crate) simulation_time_millis: ::std::option::Option<i64>,
194 pub(crate) iam_role: ::std::option::Option<::std::string::String>,
195 pub(crate) robot_applications: ::std::option::Option<::std::vec::Vec<crate::types::RobotApplicationConfig>>,
196 pub(crate) simulation_applications: ::std::option::Option<::std::vec::Vec<crate::types::SimulationApplicationConfig>>,
197 pub(crate) data_sources: ::std::option::Option<::std::vec::Vec<crate::types::DataSource>>,
198 pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
199 pub(crate) vpc_config: ::std::option::Option<crate::types::VpcConfigResponse>,
200 pub(crate) network_interface: ::std::option::Option<crate::types::NetworkInterface>,
201 pub(crate) compute: ::std::option::Option<crate::types::ComputeResponse>,
202}
203impl SimulationJobBuilder {
204 pub fn arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
206 self.arn = ::std::option::Option::Some(input.into());
207 self
208 }
209 pub fn set_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
211 self.arn = input;
212 self
213 }
214 pub fn get_arn(&self) -> &::std::option::Option<::std::string::String> {
216 &self.arn
217 }
218 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
220 self.name = ::std::option::Option::Some(input.into());
221 self
222 }
223 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
225 self.name = input;
226 self
227 }
228 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
230 &self.name
231 }
232 pub fn status(mut self, input: crate::types::SimulationJobStatus) -> Self {
234 self.status = ::std::option::Option::Some(input);
235 self
236 }
237 pub fn set_status(mut self, input: ::std::option::Option<crate::types::SimulationJobStatus>) -> Self {
239 self.status = input;
240 self
241 }
242 pub fn get_status(&self) -> &::std::option::Option<crate::types::SimulationJobStatus> {
244 &self.status
245 }
246 pub fn last_started_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
248 self.last_started_at = ::std::option::Option::Some(input);
249 self
250 }
251 pub fn set_last_started_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
253 self.last_started_at = input;
254 self
255 }
256 pub fn get_last_started_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
258 &self.last_started_at
259 }
260 pub fn last_updated_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
262 self.last_updated_at = ::std::option::Option::Some(input);
263 self
264 }
265 pub fn set_last_updated_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
267 self.last_updated_at = input;
268 self
269 }
270 pub fn get_last_updated_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
272 &self.last_updated_at
273 }
274 pub fn failure_behavior(mut self, input: crate::types::FailureBehavior) -> Self {
290 self.failure_behavior = ::std::option::Option::Some(input);
291 self
292 }
293 pub fn set_failure_behavior(mut self, input: ::std::option::Option<crate::types::FailureBehavior>) -> Self {
309 self.failure_behavior = input;
310 self
311 }
312 pub fn get_failure_behavior(&self) -> &::std::option::Option<crate::types::FailureBehavior> {
328 &self.failure_behavior
329 }
330 pub fn failure_code(mut self, input: crate::types::SimulationJobErrorCode) -> Self {
332 self.failure_code = ::std::option::Option::Some(input);
333 self
334 }
335 pub fn set_failure_code(mut self, input: ::std::option::Option<crate::types::SimulationJobErrorCode>) -> Self {
337 self.failure_code = input;
338 self
339 }
340 pub fn get_failure_code(&self) -> &::std::option::Option<crate::types::SimulationJobErrorCode> {
342 &self.failure_code
343 }
344 pub fn failure_reason(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
346 self.failure_reason = ::std::option::Option::Some(input.into());
347 self
348 }
349 pub fn set_failure_reason(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
351 self.failure_reason = input;
352 self
353 }
354 pub fn get_failure_reason(&self) -> &::std::option::Option<::std::string::String> {
356 &self.failure_reason
357 }
358 pub fn client_request_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
360 self.client_request_token = ::std::option::Option::Some(input.into());
361 self
362 }
363 pub fn set_client_request_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
365 self.client_request_token = input;
366 self
367 }
368 pub fn get_client_request_token(&self) -> &::std::option::Option<::std::string::String> {
370 &self.client_request_token
371 }
372 pub fn output_location(mut self, input: crate::types::OutputLocation) -> Self {
374 self.output_location = ::std::option::Option::Some(input);
375 self
376 }
377 pub fn set_output_location(mut self, input: ::std::option::Option<crate::types::OutputLocation>) -> Self {
379 self.output_location = input;
380 self
381 }
382 pub fn get_output_location(&self) -> &::std::option::Option<crate::types::OutputLocation> {
384 &self.output_location
385 }
386 pub fn logging_config(mut self, input: crate::types::LoggingConfig) -> Self {
388 self.logging_config = ::std::option::Option::Some(input);
389 self
390 }
391 pub fn set_logging_config(mut self, input: ::std::option::Option<crate::types::LoggingConfig>) -> Self {
393 self.logging_config = input;
394 self
395 }
396 pub fn get_logging_config(&self) -> &::std::option::Option<crate::types::LoggingConfig> {
398 &self.logging_config
399 }
400 pub fn max_job_duration_in_seconds(mut self, input: i64) -> Self {
402 self.max_job_duration_in_seconds = ::std::option::Option::Some(input);
403 self
404 }
405 pub fn set_max_job_duration_in_seconds(mut self, input: ::std::option::Option<i64>) -> Self {
407 self.max_job_duration_in_seconds = input;
408 self
409 }
410 pub fn get_max_job_duration_in_seconds(&self) -> &::std::option::Option<i64> {
412 &self.max_job_duration_in_seconds
413 }
414 pub fn simulation_time_millis(mut self, input: i64) -> Self {
416 self.simulation_time_millis = ::std::option::Option::Some(input);
417 self
418 }
419 pub fn set_simulation_time_millis(mut self, input: ::std::option::Option<i64>) -> Self {
421 self.simulation_time_millis = input;
422 self
423 }
424 pub fn get_simulation_time_millis(&self) -> &::std::option::Option<i64> {
426 &self.simulation_time_millis
427 }
428 pub fn iam_role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
430 self.iam_role = ::std::option::Option::Some(input.into());
431 self
432 }
433 pub fn set_iam_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
435 self.iam_role = input;
436 self
437 }
438 pub fn get_iam_role(&self) -> &::std::option::Option<::std::string::String> {
440 &self.iam_role
441 }
442 pub fn robot_applications(mut self, input: crate::types::RobotApplicationConfig) -> Self {
448 let mut v = self.robot_applications.unwrap_or_default();
449 v.push(input);
450 self.robot_applications = ::std::option::Option::Some(v);
451 self
452 }
453 pub fn set_robot_applications(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::RobotApplicationConfig>>) -> Self {
455 self.robot_applications = input;
456 self
457 }
458 pub fn get_robot_applications(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::RobotApplicationConfig>> {
460 &self.robot_applications
461 }
462 pub fn simulation_applications(mut self, input: crate::types::SimulationApplicationConfig) -> Self {
468 let mut v = self.simulation_applications.unwrap_or_default();
469 v.push(input);
470 self.simulation_applications = ::std::option::Option::Some(v);
471 self
472 }
473 pub fn set_simulation_applications(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::SimulationApplicationConfig>>) -> Self {
475 self.simulation_applications = input;
476 self
477 }
478 pub fn get_simulation_applications(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::SimulationApplicationConfig>> {
480 &self.simulation_applications
481 }
482 pub fn data_sources(mut self, input: crate::types::DataSource) -> Self {
488 let mut v = self.data_sources.unwrap_or_default();
489 v.push(input);
490 self.data_sources = ::std::option::Option::Some(v);
491 self
492 }
493 pub fn set_data_sources(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::DataSource>>) -> Self {
495 self.data_sources = input;
496 self
497 }
498 pub fn get_data_sources(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::DataSource>> {
500 &self.data_sources
501 }
502 pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
508 let mut hash_map = self.tags.unwrap_or_default();
509 hash_map.insert(k.into(), v.into());
510 self.tags = ::std::option::Option::Some(hash_map);
511 self
512 }
513 pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
515 self.tags = input;
516 self
517 }
518 pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
520 &self.tags
521 }
522 pub fn vpc_config(mut self, input: crate::types::VpcConfigResponse) -> Self {
524 self.vpc_config = ::std::option::Option::Some(input);
525 self
526 }
527 pub fn set_vpc_config(mut self, input: ::std::option::Option<crate::types::VpcConfigResponse>) -> Self {
529 self.vpc_config = input;
530 self
531 }
532 pub fn get_vpc_config(&self) -> &::std::option::Option<crate::types::VpcConfigResponse> {
534 &self.vpc_config
535 }
536 pub fn network_interface(mut self, input: crate::types::NetworkInterface) -> Self {
538 self.network_interface = ::std::option::Option::Some(input);
539 self
540 }
541 pub fn set_network_interface(mut self, input: ::std::option::Option<crate::types::NetworkInterface>) -> Self {
543 self.network_interface = input;
544 self
545 }
546 pub fn get_network_interface(&self) -> &::std::option::Option<crate::types::NetworkInterface> {
548 &self.network_interface
549 }
550 pub fn compute(mut self, input: crate::types::ComputeResponse) -> Self {
552 self.compute = ::std::option::Option::Some(input);
553 self
554 }
555 pub fn set_compute(mut self, input: ::std::option::Option<crate::types::ComputeResponse>) -> Self {
557 self.compute = input;
558 self
559 }
560 pub fn get_compute(&self) -> &::std::option::Option<crate::types::ComputeResponse> {
562 &self.compute
563 }
564 pub fn build(self) -> crate::types::SimulationJob {
566 crate::types::SimulationJob {
567 arn: self.arn,
568 name: self.name,
569 status: self.status,
570 last_started_at: self.last_started_at,
571 last_updated_at: self.last_updated_at,
572 failure_behavior: self.failure_behavior,
573 failure_code: self.failure_code,
574 failure_reason: self.failure_reason,
575 client_request_token: self.client_request_token,
576 output_location: self.output_location,
577 logging_config: self.logging_config,
578 max_job_duration_in_seconds: self.max_job_duration_in_seconds.unwrap_or_default(),
579 simulation_time_millis: self.simulation_time_millis.unwrap_or_default(),
580 iam_role: self.iam_role,
581 robot_applications: self.robot_applications,
582 simulation_applications: self.simulation_applications,
583 data_sources: self.data_sources,
584 tags: self.tags,
585 vpc_config: self.vpc_config,
586 network_interface: self.network_interface,
587 compute: self.compute,
588 }
589 }
590}