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}
38impl UpdateApplicationInput {
39    pub fn application_id(&self) -> ::std::option::Option<&str> {
41        self.application_id.as_deref()
42    }
43    pub fn client_token(&self) -> ::std::option::Option<&str> {
45        self.client_token.as_deref()
46    }
47    pub fn initial_capacity(
49        &self,
50    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>> {
51        self.initial_capacity.as_ref()
52    }
53    pub fn maximum_capacity(&self) -> ::std::option::Option<&crate::types::MaximumAllowedResources> {
55        self.maximum_capacity.as_ref()
56    }
57    pub fn auto_start_configuration(&self) -> ::std::option::Option<&crate::types::AutoStartConfig> {
59        self.auto_start_configuration.as_ref()
60    }
61    pub fn auto_stop_configuration(&self) -> ::std::option::Option<&crate::types::AutoStopConfig> {
63        self.auto_stop_configuration.as_ref()
64    }
65    pub fn network_configuration(&self) -> ::std::option::Option<&crate::types::NetworkConfiguration> {
67        self.network_configuration.as_ref()
68    }
69    pub fn architecture(&self) -> ::std::option::Option<&crate::types::Architecture> {
71        self.architecture.as_ref()
72    }
73    pub fn image_configuration(&self) -> ::std::option::Option<&crate::types::ImageConfigurationInput> {
75        self.image_configuration.as_ref()
76    }
77    pub fn worker_type_specifications(
79        &self,
80    ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>> {
81        self.worker_type_specifications.as_ref()
82    }
83    pub fn interactive_configuration(&self) -> ::std::option::Option<&crate::types::InteractiveConfiguration> {
85        self.interactive_configuration.as_ref()
86    }
87    pub fn release_label(&self) -> ::std::option::Option<&str> {
89        self.release_label.as_deref()
90    }
91    pub fn runtime_configuration(&self) -> &[crate::types::Configuration] {
95        self.runtime_configuration.as_deref().unwrap_or_default()
96    }
97    pub fn monitoring_configuration(&self) -> ::std::option::Option<&crate::types::MonitoringConfiguration> {
99        self.monitoring_configuration.as_ref()
100    }
101    pub fn scheduler_configuration(&self) -> ::std::option::Option<&crate::types::SchedulerConfiguration> {
103        self.scheduler_configuration.as_ref()
104    }
105}
106impl UpdateApplicationInput {
107    pub fn builder() -> crate::operation::update_application::builders::UpdateApplicationInputBuilder {
109        crate::operation::update_application::builders::UpdateApplicationInputBuilder::default()
110    }
111}
112
113#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
115#[non_exhaustive]
116pub struct UpdateApplicationInputBuilder {
117    pub(crate) application_id: ::std::option::Option<::std::string::String>,
118    pub(crate) client_token: ::std::option::Option<::std::string::String>,
119    pub(crate) initial_capacity: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>>,
120    pub(crate) maximum_capacity: ::std::option::Option<crate::types::MaximumAllowedResources>,
121    pub(crate) auto_start_configuration: ::std::option::Option<crate::types::AutoStartConfig>,
122    pub(crate) auto_stop_configuration: ::std::option::Option<crate::types::AutoStopConfig>,
123    pub(crate) network_configuration: ::std::option::Option<crate::types::NetworkConfiguration>,
124    pub(crate) architecture: ::std::option::Option<crate::types::Architecture>,
125    pub(crate) image_configuration: ::std::option::Option<crate::types::ImageConfigurationInput>,
126    pub(crate) worker_type_specifications:
127        ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>>,
128    pub(crate) interactive_configuration: ::std::option::Option<crate::types::InteractiveConfiguration>,
129    pub(crate) release_label: ::std::option::Option<::std::string::String>,
130    pub(crate) runtime_configuration: ::std::option::Option<::std::vec::Vec<crate::types::Configuration>>,
131    pub(crate) monitoring_configuration: ::std::option::Option<crate::types::MonitoringConfiguration>,
132    pub(crate) scheduler_configuration: ::std::option::Option<crate::types::SchedulerConfiguration>,
133}
134impl UpdateApplicationInputBuilder {
135    pub fn application_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
138        self.application_id = ::std::option::Option::Some(input.into());
139        self
140    }
141    pub fn set_application_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
143        self.application_id = input;
144        self
145    }
146    pub fn get_application_id(&self) -> &::std::option::Option<::std::string::String> {
148        &self.application_id
149    }
150    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
153        self.client_token = ::std::option::Option::Some(input.into());
154        self
155    }
156    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
158        self.client_token = input;
159        self
160    }
161    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
163        &self.client_token
164    }
165    pub fn initial_capacity(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::InitialCapacityConfig) -> Self {
171        let mut hash_map = self.initial_capacity.unwrap_or_default();
172        hash_map.insert(k.into(), v);
173        self.initial_capacity = ::std::option::Option::Some(hash_map);
174        self
175    }
176    pub fn set_initial_capacity(
178        mut self,
179        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>>,
180    ) -> Self {
181        self.initial_capacity = input;
182        self
183    }
184    pub fn get_initial_capacity(
186        &self,
187    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>> {
188        &self.initial_capacity
189    }
190    pub fn maximum_capacity(mut self, input: crate::types::MaximumAllowedResources) -> Self {
192        self.maximum_capacity = ::std::option::Option::Some(input);
193        self
194    }
195    pub fn set_maximum_capacity(mut self, input: ::std::option::Option<crate::types::MaximumAllowedResources>) -> Self {
197        self.maximum_capacity = input;
198        self
199    }
200    pub fn get_maximum_capacity(&self) -> &::std::option::Option<crate::types::MaximumAllowedResources> {
202        &self.maximum_capacity
203    }
204    pub fn auto_start_configuration(mut self, input: crate::types::AutoStartConfig) -> Self {
206        self.auto_start_configuration = ::std::option::Option::Some(input);
207        self
208    }
209    pub fn set_auto_start_configuration(mut self, input: ::std::option::Option<crate::types::AutoStartConfig>) -> Self {
211        self.auto_start_configuration = input;
212        self
213    }
214    pub fn get_auto_start_configuration(&self) -> &::std::option::Option<crate::types::AutoStartConfig> {
216        &self.auto_start_configuration
217    }
218    pub fn auto_stop_configuration(mut self, input: crate::types::AutoStopConfig) -> Self {
220        self.auto_stop_configuration = ::std::option::Option::Some(input);
221        self
222    }
223    pub fn set_auto_stop_configuration(mut self, input: ::std::option::Option<crate::types::AutoStopConfig>) -> Self {
225        self.auto_stop_configuration = input;
226        self
227    }
228    pub fn get_auto_stop_configuration(&self) -> &::std::option::Option<crate::types::AutoStopConfig> {
230        &self.auto_stop_configuration
231    }
232    pub fn network_configuration(mut self, input: crate::types::NetworkConfiguration) -> Self {
234        self.network_configuration = ::std::option::Option::Some(input);
235        self
236    }
237    pub fn set_network_configuration(mut self, input: ::std::option::Option<crate::types::NetworkConfiguration>) -> Self {
239        self.network_configuration = input;
240        self
241    }
242    pub fn get_network_configuration(&self) -> &::std::option::Option<crate::types::NetworkConfiguration> {
244        &self.network_configuration
245    }
246    pub fn architecture(mut self, input: crate::types::Architecture) -> Self {
248        self.architecture = ::std::option::Option::Some(input);
249        self
250    }
251    pub fn set_architecture(mut self, input: ::std::option::Option<crate::types::Architecture>) -> Self {
253        self.architecture = input;
254        self
255    }
256    pub fn get_architecture(&self) -> &::std::option::Option<crate::types::Architecture> {
258        &self.architecture
259    }
260    pub fn image_configuration(mut self, input: crate::types::ImageConfigurationInput) -> Self {
262        self.image_configuration = ::std::option::Option::Some(input);
263        self
264    }
265    pub fn set_image_configuration(mut self, input: ::std::option::Option<crate::types::ImageConfigurationInput>) -> Self {
267        self.image_configuration = input;
268        self
269    }
270    pub fn get_image_configuration(&self) -> &::std::option::Option<crate::types::ImageConfigurationInput> {
272        &self.image_configuration
273    }
274    pub fn worker_type_specifications(
280        mut self,
281        k: impl ::std::convert::Into<::std::string::String>,
282        v: crate::types::WorkerTypeSpecificationInput,
283    ) -> Self {
284        let mut hash_map = self.worker_type_specifications.unwrap_or_default();
285        hash_map.insert(k.into(), v);
286        self.worker_type_specifications = ::std::option::Option::Some(hash_map);
287        self
288    }
289    pub fn set_worker_type_specifications(
291        mut self,
292        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>>,
293    ) -> Self {
294        self.worker_type_specifications = input;
295        self
296    }
297    pub fn get_worker_type_specifications(
299        &self,
300    ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>> {
301        &self.worker_type_specifications
302    }
303    pub fn interactive_configuration(mut self, input: crate::types::InteractiveConfiguration) -> Self {
305        self.interactive_configuration = ::std::option::Option::Some(input);
306        self
307    }
308    pub fn set_interactive_configuration(mut self, input: ::std::option::Option<crate::types::InteractiveConfiguration>) -> Self {
310        self.interactive_configuration = input;
311        self
312    }
313    pub fn get_interactive_configuration(&self) -> &::std::option::Option<crate::types::InteractiveConfiguration> {
315        &self.interactive_configuration
316    }
317    pub fn release_label(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
319        self.release_label = ::std::option::Option::Some(input.into());
320        self
321    }
322    pub fn set_release_label(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
324        self.release_label = input;
325        self
326    }
327    pub fn get_release_label(&self) -> &::std::option::Option<::std::string::String> {
329        &self.release_label
330    }
331    pub fn runtime_configuration(mut self, input: crate::types::Configuration) -> Self {
337        let mut v = self.runtime_configuration.unwrap_or_default();
338        v.push(input);
339        self.runtime_configuration = ::std::option::Option::Some(v);
340        self
341    }
342    pub fn set_runtime_configuration(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Configuration>>) -> Self {
344        self.runtime_configuration = input;
345        self
346    }
347    pub fn get_runtime_configuration(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Configuration>> {
349        &self.runtime_configuration
350    }
351    pub fn monitoring_configuration(mut self, input: crate::types::MonitoringConfiguration) -> Self {
353        self.monitoring_configuration = ::std::option::Option::Some(input);
354        self
355    }
356    pub fn set_monitoring_configuration(mut self, input: ::std::option::Option<crate::types::MonitoringConfiguration>) -> Self {
358        self.monitoring_configuration = input;
359        self
360    }
361    pub fn get_monitoring_configuration(&self) -> &::std::option::Option<crate::types::MonitoringConfiguration> {
363        &self.monitoring_configuration
364    }
365    pub fn scheduler_configuration(mut self, input: crate::types::SchedulerConfiguration) -> Self {
367        self.scheduler_configuration = ::std::option::Option::Some(input);
368        self
369    }
370    pub fn set_scheduler_configuration(mut self, input: ::std::option::Option<crate::types::SchedulerConfiguration>) -> Self {
372        self.scheduler_configuration = input;
373        self
374    }
375    pub fn get_scheduler_configuration(&self) -> &::std::option::Option<crate::types::SchedulerConfiguration> {
377        &self.scheduler_configuration
378    }
379    pub fn build(
381        self,
382    ) -> ::std::result::Result<crate::operation::update_application::UpdateApplicationInput, ::aws_smithy_types::error::operation::BuildError> {
383        ::std::result::Result::Ok(crate::operation::update_application::UpdateApplicationInput {
384            application_id: self.application_id,
385            client_token: self.client_token,
386            initial_capacity: self.initial_capacity,
387            maximum_capacity: self.maximum_capacity,
388            auto_start_configuration: self.auto_start_configuration,
389            auto_stop_configuration: self.auto_stop_configuration,
390            network_configuration: self.network_configuration,
391            architecture: self.architecture,
392            image_configuration: self.image_configuration,
393            worker_type_specifications: self.worker_type_specifications,
394            interactive_configuration: self.interactive_configuration,
395            release_label: self.release_label,
396            runtime_configuration: self.runtime_configuration,
397            monitoring_configuration: self.monitoring_configuration,
398            scheduler_configuration: self.scheduler_configuration,
399        })
400    }
401}