aws_sdk_emrserverless/operation/create_application/
_create_application_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateApplicationInput {
6 pub name: ::std::option::Option<::std::string::String>,
8 pub release_label: ::std::option::Option<::std::string::String>,
10 pub r#type: ::std::option::Option<::std::string::String>,
12 pub client_token: ::std::option::Option<::std::string::String>,
14 pub initial_capacity: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>>,
16 pub maximum_capacity: ::std::option::Option<crate::types::MaximumAllowedResources>,
18 pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
20 pub auto_start_configuration: ::std::option::Option<crate::types::AutoStartConfig>,
22 pub auto_stop_configuration: ::std::option::Option<crate::types::AutoStopConfig>,
24 pub network_configuration: ::std::option::Option<crate::types::NetworkConfiguration>,
26 pub architecture: ::std::option::Option<crate::types::Architecture>,
28 pub image_configuration: ::std::option::Option<crate::types::ImageConfigurationInput>,
30 pub worker_type_specifications:
32 ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>>,
33 pub runtime_configuration: ::std::option::Option<::std::vec::Vec<crate::types::Configuration>>,
35 pub monitoring_configuration: ::std::option::Option<crate::types::MonitoringConfiguration>,
37 pub interactive_configuration: ::std::option::Option<crate::types::InteractiveConfiguration>,
39 pub scheduler_configuration: ::std::option::Option<crate::types::SchedulerConfiguration>,
41 pub identity_center_configuration: ::std::option::Option<crate::types::IdentityCenterConfigurationInput>,
43}
44impl CreateApplicationInput {
45 pub fn name(&self) -> ::std::option::Option<&str> {
47 self.name.as_deref()
48 }
49 pub fn release_label(&self) -> ::std::option::Option<&str> {
51 self.release_label.as_deref()
52 }
53 pub fn r#type(&self) -> ::std::option::Option<&str> {
55 self.r#type.as_deref()
56 }
57 pub fn client_token(&self) -> ::std::option::Option<&str> {
59 self.client_token.as_deref()
60 }
61 pub fn initial_capacity(
63 &self,
64 ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>> {
65 self.initial_capacity.as_ref()
66 }
67 pub fn maximum_capacity(&self) -> ::std::option::Option<&crate::types::MaximumAllowedResources> {
69 self.maximum_capacity.as_ref()
70 }
71 pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
73 self.tags.as_ref()
74 }
75 pub fn auto_start_configuration(&self) -> ::std::option::Option<&crate::types::AutoStartConfig> {
77 self.auto_start_configuration.as_ref()
78 }
79 pub fn auto_stop_configuration(&self) -> ::std::option::Option<&crate::types::AutoStopConfig> {
81 self.auto_stop_configuration.as_ref()
82 }
83 pub fn network_configuration(&self) -> ::std::option::Option<&crate::types::NetworkConfiguration> {
85 self.network_configuration.as_ref()
86 }
87 pub fn architecture(&self) -> ::std::option::Option<&crate::types::Architecture> {
89 self.architecture.as_ref()
90 }
91 pub fn image_configuration(&self) -> ::std::option::Option<&crate::types::ImageConfigurationInput> {
93 self.image_configuration.as_ref()
94 }
95 pub fn worker_type_specifications(
97 &self,
98 ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>> {
99 self.worker_type_specifications.as_ref()
100 }
101 pub fn runtime_configuration(&self) -> &[crate::types::Configuration] {
105 self.runtime_configuration.as_deref().unwrap_or_default()
106 }
107 pub fn monitoring_configuration(&self) -> ::std::option::Option<&crate::types::MonitoringConfiguration> {
109 self.monitoring_configuration.as_ref()
110 }
111 pub fn interactive_configuration(&self) -> ::std::option::Option<&crate::types::InteractiveConfiguration> {
113 self.interactive_configuration.as_ref()
114 }
115 pub fn scheduler_configuration(&self) -> ::std::option::Option<&crate::types::SchedulerConfiguration> {
117 self.scheduler_configuration.as_ref()
118 }
119 pub fn identity_center_configuration(&self) -> ::std::option::Option<&crate::types::IdentityCenterConfigurationInput> {
121 self.identity_center_configuration.as_ref()
122 }
123}
124impl CreateApplicationInput {
125 pub fn builder() -> crate::operation::create_application::builders::CreateApplicationInputBuilder {
127 crate::operation::create_application::builders::CreateApplicationInputBuilder::default()
128 }
129}
130
131#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
133#[non_exhaustive]
134pub struct CreateApplicationInputBuilder {
135 pub(crate) name: ::std::option::Option<::std::string::String>,
136 pub(crate) release_label: ::std::option::Option<::std::string::String>,
137 pub(crate) r#type: ::std::option::Option<::std::string::String>,
138 pub(crate) client_token: ::std::option::Option<::std::string::String>,
139 pub(crate) initial_capacity: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>>,
140 pub(crate) maximum_capacity: ::std::option::Option<crate::types::MaximumAllowedResources>,
141 pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
142 pub(crate) auto_start_configuration: ::std::option::Option<crate::types::AutoStartConfig>,
143 pub(crate) auto_stop_configuration: ::std::option::Option<crate::types::AutoStopConfig>,
144 pub(crate) network_configuration: ::std::option::Option<crate::types::NetworkConfiguration>,
145 pub(crate) architecture: ::std::option::Option<crate::types::Architecture>,
146 pub(crate) image_configuration: ::std::option::Option<crate::types::ImageConfigurationInput>,
147 pub(crate) worker_type_specifications:
148 ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>>,
149 pub(crate) runtime_configuration: ::std::option::Option<::std::vec::Vec<crate::types::Configuration>>,
150 pub(crate) monitoring_configuration: ::std::option::Option<crate::types::MonitoringConfiguration>,
151 pub(crate) interactive_configuration: ::std::option::Option<crate::types::InteractiveConfiguration>,
152 pub(crate) scheduler_configuration: ::std::option::Option<crate::types::SchedulerConfiguration>,
153 pub(crate) identity_center_configuration: ::std::option::Option<crate::types::IdentityCenterConfigurationInput>,
154}
155impl CreateApplicationInputBuilder {
156 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
158 self.name = ::std::option::Option::Some(input.into());
159 self
160 }
161 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
163 self.name = input;
164 self
165 }
166 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
168 &self.name
169 }
170 pub fn release_label(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
173 self.release_label = ::std::option::Option::Some(input.into());
174 self
175 }
176 pub fn set_release_label(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
178 self.release_label = input;
179 self
180 }
181 pub fn get_release_label(&self) -> &::std::option::Option<::std::string::String> {
183 &self.release_label
184 }
185 pub fn r#type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
188 self.r#type = ::std::option::Option::Some(input.into());
189 self
190 }
191 pub fn set_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
193 self.r#type = input;
194 self
195 }
196 pub fn get_type(&self) -> &::std::option::Option<::std::string::String> {
198 &self.r#type
199 }
200 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
203 self.client_token = ::std::option::Option::Some(input.into());
204 self
205 }
206 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
208 self.client_token = input;
209 self
210 }
211 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
213 &self.client_token
214 }
215 pub fn initial_capacity(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::InitialCapacityConfig) -> Self {
221 let mut hash_map = self.initial_capacity.unwrap_or_default();
222 hash_map.insert(k.into(), v);
223 self.initial_capacity = ::std::option::Option::Some(hash_map);
224 self
225 }
226 pub fn set_initial_capacity(
228 mut self,
229 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>>,
230 ) -> Self {
231 self.initial_capacity = input;
232 self
233 }
234 pub fn get_initial_capacity(
236 &self,
237 ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>> {
238 &self.initial_capacity
239 }
240 pub fn maximum_capacity(mut self, input: crate::types::MaximumAllowedResources) -> Self {
242 self.maximum_capacity = ::std::option::Option::Some(input);
243 self
244 }
245 pub fn set_maximum_capacity(mut self, input: ::std::option::Option<crate::types::MaximumAllowedResources>) -> Self {
247 self.maximum_capacity = input;
248 self
249 }
250 pub fn get_maximum_capacity(&self) -> &::std::option::Option<crate::types::MaximumAllowedResources> {
252 &self.maximum_capacity
253 }
254 pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
260 let mut hash_map = self.tags.unwrap_or_default();
261 hash_map.insert(k.into(), v.into());
262 self.tags = ::std::option::Option::Some(hash_map);
263 self
264 }
265 pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
267 self.tags = input;
268 self
269 }
270 pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
272 &self.tags
273 }
274 pub fn auto_start_configuration(mut self, input: crate::types::AutoStartConfig) -> Self {
276 self.auto_start_configuration = ::std::option::Option::Some(input);
277 self
278 }
279 pub fn set_auto_start_configuration(mut self, input: ::std::option::Option<crate::types::AutoStartConfig>) -> Self {
281 self.auto_start_configuration = input;
282 self
283 }
284 pub fn get_auto_start_configuration(&self) -> &::std::option::Option<crate::types::AutoStartConfig> {
286 &self.auto_start_configuration
287 }
288 pub fn auto_stop_configuration(mut self, input: crate::types::AutoStopConfig) -> Self {
290 self.auto_stop_configuration = ::std::option::Option::Some(input);
291 self
292 }
293 pub fn set_auto_stop_configuration(mut self, input: ::std::option::Option<crate::types::AutoStopConfig>) -> Self {
295 self.auto_stop_configuration = input;
296 self
297 }
298 pub fn get_auto_stop_configuration(&self) -> &::std::option::Option<crate::types::AutoStopConfig> {
300 &self.auto_stop_configuration
301 }
302 pub fn network_configuration(mut self, input: crate::types::NetworkConfiguration) -> Self {
304 self.network_configuration = ::std::option::Option::Some(input);
305 self
306 }
307 pub fn set_network_configuration(mut self, input: ::std::option::Option<crate::types::NetworkConfiguration>) -> Self {
309 self.network_configuration = input;
310 self
311 }
312 pub fn get_network_configuration(&self) -> &::std::option::Option<crate::types::NetworkConfiguration> {
314 &self.network_configuration
315 }
316 pub fn architecture(mut self, input: crate::types::Architecture) -> Self {
318 self.architecture = ::std::option::Option::Some(input);
319 self
320 }
321 pub fn set_architecture(mut self, input: ::std::option::Option<crate::types::Architecture>) -> Self {
323 self.architecture = input;
324 self
325 }
326 pub fn get_architecture(&self) -> &::std::option::Option<crate::types::Architecture> {
328 &self.architecture
329 }
330 pub fn image_configuration(mut self, input: crate::types::ImageConfigurationInput) -> Self {
332 self.image_configuration = ::std::option::Option::Some(input);
333 self
334 }
335 pub fn set_image_configuration(mut self, input: ::std::option::Option<crate::types::ImageConfigurationInput>) -> Self {
337 self.image_configuration = input;
338 self
339 }
340 pub fn get_image_configuration(&self) -> &::std::option::Option<crate::types::ImageConfigurationInput> {
342 &self.image_configuration
343 }
344 pub fn worker_type_specifications(
350 mut self,
351 k: impl ::std::convert::Into<::std::string::String>,
352 v: crate::types::WorkerTypeSpecificationInput,
353 ) -> Self {
354 let mut hash_map = self.worker_type_specifications.unwrap_or_default();
355 hash_map.insert(k.into(), v);
356 self.worker_type_specifications = ::std::option::Option::Some(hash_map);
357 self
358 }
359 pub fn set_worker_type_specifications(
361 mut self,
362 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>>,
363 ) -> Self {
364 self.worker_type_specifications = input;
365 self
366 }
367 pub fn get_worker_type_specifications(
369 &self,
370 ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>> {
371 &self.worker_type_specifications
372 }
373 pub fn runtime_configuration(mut self, input: crate::types::Configuration) -> Self {
379 let mut v = self.runtime_configuration.unwrap_or_default();
380 v.push(input);
381 self.runtime_configuration = ::std::option::Option::Some(v);
382 self
383 }
384 pub fn set_runtime_configuration(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Configuration>>) -> Self {
386 self.runtime_configuration = input;
387 self
388 }
389 pub fn get_runtime_configuration(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Configuration>> {
391 &self.runtime_configuration
392 }
393 pub fn monitoring_configuration(mut self, input: crate::types::MonitoringConfiguration) -> Self {
395 self.monitoring_configuration = ::std::option::Option::Some(input);
396 self
397 }
398 pub fn set_monitoring_configuration(mut self, input: ::std::option::Option<crate::types::MonitoringConfiguration>) -> Self {
400 self.monitoring_configuration = input;
401 self
402 }
403 pub fn get_monitoring_configuration(&self) -> &::std::option::Option<crate::types::MonitoringConfiguration> {
405 &self.monitoring_configuration
406 }
407 pub fn interactive_configuration(mut self, input: crate::types::InteractiveConfiguration) -> Self {
409 self.interactive_configuration = ::std::option::Option::Some(input);
410 self
411 }
412 pub fn set_interactive_configuration(mut self, input: ::std::option::Option<crate::types::InteractiveConfiguration>) -> Self {
414 self.interactive_configuration = input;
415 self
416 }
417 pub fn get_interactive_configuration(&self) -> &::std::option::Option<crate::types::InteractiveConfiguration> {
419 &self.interactive_configuration
420 }
421 pub fn scheduler_configuration(mut self, input: crate::types::SchedulerConfiguration) -> Self {
423 self.scheduler_configuration = ::std::option::Option::Some(input);
424 self
425 }
426 pub fn set_scheduler_configuration(mut self, input: ::std::option::Option<crate::types::SchedulerConfiguration>) -> Self {
428 self.scheduler_configuration = input;
429 self
430 }
431 pub fn get_scheduler_configuration(&self) -> &::std::option::Option<crate::types::SchedulerConfiguration> {
433 &self.scheduler_configuration
434 }
435 pub fn identity_center_configuration(mut self, input: crate::types::IdentityCenterConfigurationInput) -> Self {
437 self.identity_center_configuration = ::std::option::Option::Some(input);
438 self
439 }
440 pub fn set_identity_center_configuration(mut self, input: ::std::option::Option<crate::types::IdentityCenterConfigurationInput>) -> Self {
442 self.identity_center_configuration = input;
443 self
444 }
445 pub fn get_identity_center_configuration(&self) -> &::std::option::Option<crate::types::IdentityCenterConfigurationInput> {
447 &self.identity_center_configuration
448 }
449 pub fn build(
451 self,
452 ) -> ::std::result::Result<crate::operation::create_application::CreateApplicationInput, ::aws_smithy_types::error::operation::BuildError> {
453 ::std::result::Result::Ok(crate::operation::create_application::CreateApplicationInput {
454 name: self.name,
455 release_label: self.release_label,
456 r#type: self.r#type,
457 client_token: self.client_token,
458 initial_capacity: self.initial_capacity,
459 maximum_capacity: self.maximum_capacity,
460 tags: self.tags,
461 auto_start_configuration: self.auto_start_configuration,
462 auto_stop_configuration: self.auto_stop_configuration,
463 network_configuration: self.network_configuration,
464 architecture: self.architecture,
465 image_configuration: self.image_configuration,
466 worker_type_specifications: self.worker_type_specifications,
467 runtime_configuration: self.runtime_configuration,
468 monitoring_configuration: self.monitoring_configuration,
469 interactive_configuration: self.interactive_configuration,
470 scheduler_configuration: self.scheduler_configuration,
471 identity_center_configuration: self.identity_center_configuration,
472 })
473 }
474}