aws_sdk_emrserverless/operation/update_application/
_update_application_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct UpdateApplicationInput {
6 pub application_id: ::std::option::Option<::std::string::String>,
8 pub client_token: ::std::option::Option<::std::string::String>,
10 pub initial_capacity: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>>,
12 pub maximum_capacity: ::std::option::Option<crate::types::MaximumAllowedResources>,
14 pub auto_start_configuration: ::std::option::Option<crate::types::AutoStartConfig>,
16 pub auto_stop_configuration: ::std::option::Option<crate::types::AutoStopConfig>,
18 pub network_configuration: ::std::option::Option<crate::types::NetworkConfiguration>,
20 pub architecture: ::std::option::Option<crate::types::Architecture>,
22 pub image_configuration: ::std::option::Option<crate::types::ImageConfigurationInput>,
24 pub worker_type_specifications:
26 ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>>,
27 pub interactive_configuration: ::std::option::Option<crate::types::InteractiveConfiguration>,
29 pub release_label: ::std::option::Option<::std::string::String>,
31 pub runtime_configuration: ::std::option::Option<::std::vec::Vec<crate::types::Configuration>>,
33 pub monitoring_configuration: ::std::option::Option<crate::types::MonitoringConfiguration>,
35 pub scheduler_configuration: ::std::option::Option<crate::types::SchedulerConfiguration>,
37 pub identity_center_configuration: ::std::option::Option<crate::types::IdentityCenterConfigurationInput>,
39 pub job_level_cost_allocation_configuration: ::std::option::Option<crate::types::JobLevelCostAllocationConfiguration>,
41}
42impl UpdateApplicationInput {
43 pub fn application_id(&self) -> ::std::option::Option<&str> {
45 self.application_id.as_deref()
46 }
47 pub fn client_token(&self) -> ::std::option::Option<&str> {
49 self.client_token.as_deref()
50 }
51 pub fn initial_capacity(
53 &self,
54 ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>> {
55 self.initial_capacity.as_ref()
56 }
57 pub fn maximum_capacity(&self) -> ::std::option::Option<&crate::types::MaximumAllowedResources> {
59 self.maximum_capacity.as_ref()
60 }
61 pub fn auto_start_configuration(&self) -> ::std::option::Option<&crate::types::AutoStartConfig> {
63 self.auto_start_configuration.as_ref()
64 }
65 pub fn auto_stop_configuration(&self) -> ::std::option::Option<&crate::types::AutoStopConfig> {
67 self.auto_stop_configuration.as_ref()
68 }
69 pub fn network_configuration(&self) -> ::std::option::Option<&crate::types::NetworkConfiguration> {
71 self.network_configuration.as_ref()
72 }
73 pub fn architecture(&self) -> ::std::option::Option<&crate::types::Architecture> {
75 self.architecture.as_ref()
76 }
77 pub fn image_configuration(&self) -> ::std::option::Option<&crate::types::ImageConfigurationInput> {
79 self.image_configuration.as_ref()
80 }
81 pub fn worker_type_specifications(
83 &self,
84 ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>> {
85 self.worker_type_specifications.as_ref()
86 }
87 pub fn interactive_configuration(&self) -> ::std::option::Option<&crate::types::InteractiveConfiguration> {
89 self.interactive_configuration.as_ref()
90 }
91 pub fn release_label(&self) -> ::std::option::Option<&str> {
93 self.release_label.as_deref()
94 }
95 pub fn runtime_configuration(&self) -> &[crate::types::Configuration] {
99 self.runtime_configuration.as_deref().unwrap_or_default()
100 }
101 pub fn monitoring_configuration(&self) -> ::std::option::Option<&crate::types::MonitoringConfiguration> {
103 self.monitoring_configuration.as_ref()
104 }
105 pub fn scheduler_configuration(&self) -> ::std::option::Option<&crate::types::SchedulerConfiguration> {
107 self.scheduler_configuration.as_ref()
108 }
109 pub fn identity_center_configuration(&self) -> ::std::option::Option<&crate::types::IdentityCenterConfigurationInput> {
111 self.identity_center_configuration.as_ref()
112 }
113 pub fn job_level_cost_allocation_configuration(&self) -> ::std::option::Option<&crate::types::JobLevelCostAllocationConfiguration> {
115 self.job_level_cost_allocation_configuration.as_ref()
116 }
117}
118impl UpdateApplicationInput {
119 pub fn builder() -> crate::operation::update_application::builders::UpdateApplicationInputBuilder {
121 crate::operation::update_application::builders::UpdateApplicationInputBuilder::default()
122 }
123}
124
125#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
127#[non_exhaustive]
128pub struct UpdateApplicationInputBuilder {
129 pub(crate) application_id: ::std::option::Option<::std::string::String>,
130 pub(crate) client_token: ::std::option::Option<::std::string::String>,
131 pub(crate) initial_capacity: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>>,
132 pub(crate) maximum_capacity: ::std::option::Option<crate::types::MaximumAllowedResources>,
133 pub(crate) auto_start_configuration: ::std::option::Option<crate::types::AutoStartConfig>,
134 pub(crate) auto_stop_configuration: ::std::option::Option<crate::types::AutoStopConfig>,
135 pub(crate) network_configuration: ::std::option::Option<crate::types::NetworkConfiguration>,
136 pub(crate) architecture: ::std::option::Option<crate::types::Architecture>,
137 pub(crate) image_configuration: ::std::option::Option<crate::types::ImageConfigurationInput>,
138 pub(crate) worker_type_specifications:
139 ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>>,
140 pub(crate) interactive_configuration: ::std::option::Option<crate::types::InteractiveConfiguration>,
141 pub(crate) release_label: ::std::option::Option<::std::string::String>,
142 pub(crate) runtime_configuration: ::std::option::Option<::std::vec::Vec<crate::types::Configuration>>,
143 pub(crate) monitoring_configuration: ::std::option::Option<crate::types::MonitoringConfiguration>,
144 pub(crate) scheduler_configuration: ::std::option::Option<crate::types::SchedulerConfiguration>,
145 pub(crate) identity_center_configuration: ::std::option::Option<crate::types::IdentityCenterConfigurationInput>,
146 pub(crate) job_level_cost_allocation_configuration: ::std::option::Option<crate::types::JobLevelCostAllocationConfiguration>,
147}
148impl UpdateApplicationInputBuilder {
149 pub fn application_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
152 self.application_id = ::std::option::Option::Some(input.into());
153 self
154 }
155 pub fn set_application_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
157 self.application_id = input;
158 self
159 }
160 pub fn get_application_id(&self) -> &::std::option::Option<::std::string::String> {
162 &self.application_id
163 }
164 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
167 self.client_token = ::std::option::Option::Some(input.into());
168 self
169 }
170 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
172 self.client_token = input;
173 self
174 }
175 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
177 &self.client_token
178 }
179 pub fn initial_capacity(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::InitialCapacityConfig) -> Self {
185 let mut hash_map = self.initial_capacity.unwrap_or_default();
186 hash_map.insert(k.into(), v);
187 self.initial_capacity = ::std::option::Option::Some(hash_map);
188 self
189 }
190 pub fn set_initial_capacity(
192 mut self,
193 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>>,
194 ) -> Self {
195 self.initial_capacity = input;
196 self
197 }
198 pub fn get_initial_capacity(
200 &self,
201 ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>> {
202 &self.initial_capacity
203 }
204 pub fn maximum_capacity(mut self, input: crate::types::MaximumAllowedResources) -> Self {
206 self.maximum_capacity = ::std::option::Option::Some(input);
207 self
208 }
209 pub fn set_maximum_capacity(mut self, input: ::std::option::Option<crate::types::MaximumAllowedResources>) -> Self {
211 self.maximum_capacity = input;
212 self
213 }
214 pub fn get_maximum_capacity(&self) -> &::std::option::Option<crate::types::MaximumAllowedResources> {
216 &self.maximum_capacity
217 }
218 pub fn auto_start_configuration(mut self, input: crate::types::AutoStartConfig) -> Self {
220 self.auto_start_configuration = ::std::option::Option::Some(input);
221 self
222 }
223 pub fn set_auto_start_configuration(mut self, input: ::std::option::Option<crate::types::AutoStartConfig>) -> Self {
225 self.auto_start_configuration = input;
226 self
227 }
228 pub fn get_auto_start_configuration(&self) -> &::std::option::Option<crate::types::AutoStartConfig> {
230 &self.auto_start_configuration
231 }
232 pub fn auto_stop_configuration(mut self, input: crate::types::AutoStopConfig) -> Self {
234 self.auto_stop_configuration = ::std::option::Option::Some(input);
235 self
236 }
237 pub fn set_auto_stop_configuration(mut self, input: ::std::option::Option<crate::types::AutoStopConfig>) -> Self {
239 self.auto_stop_configuration = input;
240 self
241 }
242 pub fn get_auto_stop_configuration(&self) -> &::std::option::Option<crate::types::AutoStopConfig> {
244 &self.auto_stop_configuration
245 }
246 pub fn network_configuration(mut self, input: crate::types::NetworkConfiguration) -> Self {
248 self.network_configuration = ::std::option::Option::Some(input);
249 self
250 }
251 pub fn set_network_configuration(mut self, input: ::std::option::Option<crate::types::NetworkConfiguration>) -> Self {
253 self.network_configuration = input;
254 self
255 }
256 pub fn get_network_configuration(&self) -> &::std::option::Option<crate::types::NetworkConfiguration> {
258 &self.network_configuration
259 }
260 pub fn architecture(mut self, input: crate::types::Architecture) -> Self {
262 self.architecture = ::std::option::Option::Some(input);
263 self
264 }
265 pub fn set_architecture(mut self, input: ::std::option::Option<crate::types::Architecture>) -> Self {
267 self.architecture = input;
268 self
269 }
270 pub fn get_architecture(&self) -> &::std::option::Option<crate::types::Architecture> {
272 &self.architecture
273 }
274 pub fn image_configuration(mut self, input: crate::types::ImageConfigurationInput) -> Self {
276 self.image_configuration = ::std::option::Option::Some(input);
277 self
278 }
279 pub fn set_image_configuration(mut self, input: ::std::option::Option<crate::types::ImageConfigurationInput>) -> Self {
281 self.image_configuration = input;
282 self
283 }
284 pub fn get_image_configuration(&self) -> &::std::option::Option<crate::types::ImageConfigurationInput> {
286 &self.image_configuration
287 }
288 pub fn worker_type_specifications(
294 mut self,
295 k: impl ::std::convert::Into<::std::string::String>,
296 v: crate::types::WorkerTypeSpecificationInput,
297 ) -> Self {
298 let mut hash_map = self.worker_type_specifications.unwrap_or_default();
299 hash_map.insert(k.into(), v);
300 self.worker_type_specifications = ::std::option::Option::Some(hash_map);
301 self
302 }
303 pub fn set_worker_type_specifications(
305 mut self,
306 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>>,
307 ) -> Self {
308 self.worker_type_specifications = input;
309 self
310 }
311 pub fn get_worker_type_specifications(
313 &self,
314 ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>> {
315 &self.worker_type_specifications
316 }
317 pub fn interactive_configuration(mut self, input: crate::types::InteractiveConfiguration) -> Self {
319 self.interactive_configuration = ::std::option::Option::Some(input);
320 self
321 }
322 pub fn set_interactive_configuration(mut self, input: ::std::option::Option<crate::types::InteractiveConfiguration>) -> Self {
324 self.interactive_configuration = input;
325 self
326 }
327 pub fn get_interactive_configuration(&self) -> &::std::option::Option<crate::types::InteractiveConfiguration> {
329 &self.interactive_configuration
330 }
331 pub fn release_label(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
333 self.release_label = ::std::option::Option::Some(input.into());
334 self
335 }
336 pub fn set_release_label(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
338 self.release_label = input;
339 self
340 }
341 pub fn get_release_label(&self) -> &::std::option::Option<::std::string::String> {
343 &self.release_label
344 }
345 pub fn runtime_configuration(mut self, input: crate::types::Configuration) -> Self {
351 let mut v = self.runtime_configuration.unwrap_or_default();
352 v.push(input);
353 self.runtime_configuration = ::std::option::Option::Some(v);
354 self
355 }
356 pub fn set_runtime_configuration(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Configuration>>) -> Self {
358 self.runtime_configuration = input;
359 self
360 }
361 pub fn get_runtime_configuration(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Configuration>> {
363 &self.runtime_configuration
364 }
365 pub fn monitoring_configuration(mut self, input: crate::types::MonitoringConfiguration) -> Self {
367 self.monitoring_configuration = ::std::option::Option::Some(input);
368 self
369 }
370 pub fn set_monitoring_configuration(mut self, input: ::std::option::Option<crate::types::MonitoringConfiguration>) -> Self {
372 self.monitoring_configuration = input;
373 self
374 }
375 pub fn get_monitoring_configuration(&self) -> &::std::option::Option<crate::types::MonitoringConfiguration> {
377 &self.monitoring_configuration
378 }
379 pub fn scheduler_configuration(mut self, input: crate::types::SchedulerConfiguration) -> Self {
381 self.scheduler_configuration = ::std::option::Option::Some(input);
382 self
383 }
384 pub fn set_scheduler_configuration(mut self, input: ::std::option::Option<crate::types::SchedulerConfiguration>) -> Self {
386 self.scheduler_configuration = input;
387 self
388 }
389 pub fn get_scheduler_configuration(&self) -> &::std::option::Option<crate::types::SchedulerConfiguration> {
391 &self.scheduler_configuration
392 }
393 pub fn identity_center_configuration(mut self, input: crate::types::IdentityCenterConfigurationInput) -> Self {
395 self.identity_center_configuration = ::std::option::Option::Some(input);
396 self
397 }
398 pub fn set_identity_center_configuration(mut self, input: ::std::option::Option<crate::types::IdentityCenterConfigurationInput>) -> Self {
400 self.identity_center_configuration = input;
401 self
402 }
403 pub fn get_identity_center_configuration(&self) -> &::std::option::Option<crate::types::IdentityCenterConfigurationInput> {
405 &self.identity_center_configuration
406 }
407 pub fn job_level_cost_allocation_configuration(mut self, input: crate::types::JobLevelCostAllocationConfiguration) -> Self {
409 self.job_level_cost_allocation_configuration = ::std::option::Option::Some(input);
410 self
411 }
412 pub fn set_job_level_cost_allocation_configuration(
414 mut self,
415 input: ::std::option::Option<crate::types::JobLevelCostAllocationConfiguration>,
416 ) -> Self {
417 self.job_level_cost_allocation_configuration = input;
418 self
419 }
420 pub fn get_job_level_cost_allocation_configuration(&self) -> &::std::option::Option<crate::types::JobLevelCostAllocationConfiguration> {
422 &self.job_level_cost_allocation_configuration
423 }
424 pub fn build(
426 self,
427 ) -> ::std::result::Result<crate::operation::update_application::UpdateApplicationInput, ::aws_smithy_types::error::operation::BuildError> {
428 ::std::result::Result::Ok(crate::operation::update_application::UpdateApplicationInput {
429 application_id: self.application_id,
430 client_token: self.client_token,
431 initial_capacity: self.initial_capacity,
432 maximum_capacity: self.maximum_capacity,
433 auto_start_configuration: self.auto_start_configuration,
434 auto_stop_configuration: self.auto_stop_configuration,
435 network_configuration: self.network_configuration,
436 architecture: self.architecture,
437 image_configuration: self.image_configuration,
438 worker_type_specifications: self.worker_type_specifications,
439 interactive_configuration: self.interactive_configuration,
440 release_label: self.release_label,
441 runtime_configuration: self.runtime_configuration,
442 monitoring_configuration: self.monitoring_configuration,
443 scheduler_configuration: self.scheduler_configuration,
444 identity_center_configuration: self.identity_center_configuration,
445 job_level_cost_allocation_configuration: self.job_level_cost_allocation_configuration,
446 })
447 }
448}