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}