aws_sdk_emrserverless/operation/update_application/_update_application_input.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct UpdateApplicationInput {
6 /// <p>The ID of the application to update.</p>
7 pub application_id: ::std::option::Option<::std::string::String>,
8 /// <p>The client idempotency token of the application to update. Its value must be unique for each request.</p>
9 pub client_token: ::std::option::Option<::std::string::String>,
10 /// <p>The capacity to initialize when the application is updated.</p>
11 pub initial_capacity: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>>,
12 /// <p>The maximum capacity to allocate when the application is updated. This is cumulative across all workers at any given point in time during the lifespan of the application. No new resources will be created once any one of the defined limits is hit.</p>
13 pub maximum_capacity: ::std::option::Option<crate::types::MaximumAllowedResources>,
14 /// <p>The configuration for an application to automatically start on job submission.</p>
15 pub auto_start_configuration: ::std::option::Option<crate::types::AutoStartConfig>,
16 /// <p>The configuration for an application to automatically stop after a certain amount of time being idle.</p>
17 pub auto_stop_configuration: ::std::option::Option<crate::types::AutoStopConfig>,
18 /// <p>The network configuration for customer VPC connectivity.</p>
19 pub network_configuration: ::std::option::Option<crate::types::NetworkConfiguration>,
20 /// <p>The CPU architecture of an application.</p>
21 pub architecture: ::std::option::Option<crate::types::Architecture>,
22 /// <p>The image configuration to be used for all worker types. You can either set this parameter or <code>imageConfiguration</code> for each worker type in <code>WorkerTypeSpecificationInput</code>.</p>
23 pub image_configuration: ::std::option::Option<crate::types::ImageConfigurationInput>,
24 /// <p>The key-value pairs that specify worker type to <code>WorkerTypeSpecificationInput</code>. This parameter must contain all valid worker types for a Spark or Hive application. Valid worker types include <code>Driver</code> and <code>Executor</code> for Spark applications and <code>HiveDriver</code> and <code>TezTask</code> for Hive applications. You can either set image details in this parameter for each worker type, or in <code>imageConfiguration</code> for all worker types.</p>
25 pub worker_type_specifications:
26 ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>>,
27 /// <p>The interactive configuration object that contains new interactive use cases when the application is updated.</p>
28 pub interactive_configuration: ::std::option::Option<crate::types::InteractiveConfiguration>,
29 /// <p>The Amazon EMR release label for the application. You can change the release label to use a different release of Amazon EMR.</p>
30 pub release_label: ::std::option::Option<::std::string::String>,
31 /// <p>The <a href="https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_Configuration.html">Configuration</a> specifications to use when updating an application. Each configuration consists of a classification and properties. This configuration is applied across all the job runs submitted under the application.</p>
32 pub runtime_configuration: ::std::option::Option<::std::vec::Vec<crate::types::Configuration>>,
33 /// <p>The configuration setting for monitoring.</p>
34 pub monitoring_configuration: ::std::option::Option<crate::types::MonitoringConfiguration>,
35 /// <p>The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.</p>
36 pub scheduler_configuration: ::std::option::Option<crate::types::SchedulerConfiguration>,
37 /// <p>Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.</p>
38 pub identity_center_configuration: ::std::option::Option<crate::types::IdentityCenterConfigurationInput>,
39}
40impl UpdateApplicationInput {
41 /// <p>The ID of the application to update.</p>
42 pub fn application_id(&self) -> ::std::option::Option<&str> {
43 self.application_id.as_deref()
44 }
45 /// <p>The client idempotency token of the application to update. Its value must be unique for each request.</p>
46 pub fn client_token(&self) -> ::std::option::Option<&str> {
47 self.client_token.as_deref()
48 }
49 /// <p>The capacity to initialize when the application is updated.</p>
50 pub fn initial_capacity(
51 &self,
52 ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>> {
53 self.initial_capacity.as_ref()
54 }
55 /// <p>The maximum capacity to allocate when the application is updated. This is cumulative across all workers at any given point in time during the lifespan of the application. No new resources will be created once any one of the defined limits is hit.</p>
56 pub fn maximum_capacity(&self) -> ::std::option::Option<&crate::types::MaximumAllowedResources> {
57 self.maximum_capacity.as_ref()
58 }
59 /// <p>The configuration for an application to automatically start on job submission.</p>
60 pub fn auto_start_configuration(&self) -> ::std::option::Option<&crate::types::AutoStartConfig> {
61 self.auto_start_configuration.as_ref()
62 }
63 /// <p>The configuration for an application to automatically stop after a certain amount of time being idle.</p>
64 pub fn auto_stop_configuration(&self) -> ::std::option::Option<&crate::types::AutoStopConfig> {
65 self.auto_stop_configuration.as_ref()
66 }
67 /// <p>The network configuration for customer VPC connectivity.</p>
68 pub fn network_configuration(&self) -> ::std::option::Option<&crate::types::NetworkConfiguration> {
69 self.network_configuration.as_ref()
70 }
71 /// <p>The CPU architecture of an application.</p>
72 pub fn architecture(&self) -> ::std::option::Option<&crate::types::Architecture> {
73 self.architecture.as_ref()
74 }
75 /// <p>The image configuration to be used for all worker types. You can either set this parameter or <code>imageConfiguration</code> for each worker type in <code>WorkerTypeSpecificationInput</code>.</p>
76 pub fn image_configuration(&self) -> ::std::option::Option<&crate::types::ImageConfigurationInput> {
77 self.image_configuration.as_ref()
78 }
79 /// <p>The key-value pairs that specify worker type to <code>WorkerTypeSpecificationInput</code>. This parameter must contain all valid worker types for a Spark or Hive application. Valid worker types include <code>Driver</code> and <code>Executor</code> for Spark applications and <code>HiveDriver</code> and <code>TezTask</code> for Hive applications. You can either set image details in this parameter for each worker type, or in <code>imageConfiguration</code> for all worker types.</p>
80 pub fn worker_type_specifications(
81 &self,
82 ) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>> {
83 self.worker_type_specifications.as_ref()
84 }
85 /// <p>The interactive configuration object that contains new interactive use cases when the application is updated.</p>
86 pub fn interactive_configuration(&self) -> ::std::option::Option<&crate::types::InteractiveConfiguration> {
87 self.interactive_configuration.as_ref()
88 }
89 /// <p>The Amazon EMR release label for the application. You can change the release label to use a different release of Amazon EMR.</p>
90 pub fn release_label(&self) -> ::std::option::Option<&str> {
91 self.release_label.as_deref()
92 }
93 /// <p>The <a href="https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_Configuration.html">Configuration</a> specifications to use when updating an application. Each configuration consists of a classification and properties. This configuration is applied across all the job runs submitted under the application.</p>
94 ///
95 /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.runtime_configuration.is_none()`.
96 pub fn runtime_configuration(&self) -> &[crate::types::Configuration] {
97 self.runtime_configuration.as_deref().unwrap_or_default()
98 }
99 /// <p>The configuration setting for monitoring.</p>
100 pub fn monitoring_configuration(&self) -> ::std::option::Option<&crate::types::MonitoringConfiguration> {
101 self.monitoring_configuration.as_ref()
102 }
103 /// <p>The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.</p>
104 pub fn scheduler_configuration(&self) -> ::std::option::Option<&crate::types::SchedulerConfiguration> {
105 self.scheduler_configuration.as_ref()
106 }
107 /// <p>Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.</p>
108 pub fn identity_center_configuration(&self) -> ::std::option::Option<&crate::types::IdentityCenterConfigurationInput> {
109 self.identity_center_configuration.as_ref()
110 }
111}
112impl UpdateApplicationInput {
113 /// Creates a new builder-style object to manufacture [`UpdateApplicationInput`](crate::operation::update_application::UpdateApplicationInput).
114 pub fn builder() -> crate::operation::update_application::builders::UpdateApplicationInputBuilder {
115 crate::operation::update_application::builders::UpdateApplicationInputBuilder::default()
116 }
117}
118
119/// A builder for [`UpdateApplicationInput`](crate::operation::update_application::UpdateApplicationInput).
120#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
121#[non_exhaustive]
122pub struct UpdateApplicationInputBuilder {
123 pub(crate) application_id: ::std::option::Option<::std::string::String>,
124 pub(crate) client_token: ::std::option::Option<::std::string::String>,
125 pub(crate) initial_capacity: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>>,
126 pub(crate) maximum_capacity: ::std::option::Option<crate::types::MaximumAllowedResources>,
127 pub(crate) auto_start_configuration: ::std::option::Option<crate::types::AutoStartConfig>,
128 pub(crate) auto_stop_configuration: ::std::option::Option<crate::types::AutoStopConfig>,
129 pub(crate) network_configuration: ::std::option::Option<crate::types::NetworkConfiguration>,
130 pub(crate) architecture: ::std::option::Option<crate::types::Architecture>,
131 pub(crate) image_configuration: ::std::option::Option<crate::types::ImageConfigurationInput>,
132 pub(crate) worker_type_specifications:
133 ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>>,
134 pub(crate) interactive_configuration: ::std::option::Option<crate::types::InteractiveConfiguration>,
135 pub(crate) release_label: ::std::option::Option<::std::string::String>,
136 pub(crate) runtime_configuration: ::std::option::Option<::std::vec::Vec<crate::types::Configuration>>,
137 pub(crate) monitoring_configuration: ::std::option::Option<crate::types::MonitoringConfiguration>,
138 pub(crate) scheduler_configuration: ::std::option::Option<crate::types::SchedulerConfiguration>,
139 pub(crate) identity_center_configuration: ::std::option::Option<crate::types::IdentityCenterConfigurationInput>,
140}
141impl UpdateApplicationInputBuilder {
142 /// <p>The ID of the application to update.</p>
143 /// This field is required.
144 pub fn application_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
145 self.application_id = ::std::option::Option::Some(input.into());
146 self
147 }
148 /// <p>The ID of the application to update.</p>
149 pub fn set_application_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
150 self.application_id = input;
151 self
152 }
153 /// <p>The ID of the application to update.</p>
154 pub fn get_application_id(&self) -> &::std::option::Option<::std::string::String> {
155 &self.application_id
156 }
157 /// <p>The client idempotency token of the application to update. Its value must be unique for each request.</p>
158 /// This field is required.
159 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
160 self.client_token = ::std::option::Option::Some(input.into());
161 self
162 }
163 /// <p>The client idempotency token of the application to update. Its value must be unique for each request.</p>
164 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
165 self.client_token = input;
166 self
167 }
168 /// <p>The client idempotency token of the application to update. Its value must be unique for each request.</p>
169 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
170 &self.client_token
171 }
172 /// Adds a key-value pair to `initial_capacity`.
173 ///
174 /// To override the contents of this collection use [`set_initial_capacity`](Self::set_initial_capacity).
175 ///
176 /// <p>The capacity to initialize when the application is updated.</p>
177 pub fn initial_capacity(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::InitialCapacityConfig) -> Self {
178 let mut hash_map = self.initial_capacity.unwrap_or_default();
179 hash_map.insert(k.into(), v);
180 self.initial_capacity = ::std::option::Option::Some(hash_map);
181 self
182 }
183 /// <p>The capacity to initialize when the application is updated.</p>
184 pub fn set_initial_capacity(
185 mut self,
186 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>>,
187 ) -> Self {
188 self.initial_capacity = input;
189 self
190 }
191 /// <p>The capacity to initialize when the application is updated.</p>
192 pub fn get_initial_capacity(
193 &self,
194 ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::InitialCapacityConfig>> {
195 &self.initial_capacity
196 }
197 /// <p>The maximum capacity to allocate when the application is updated. This is cumulative across all workers at any given point in time during the lifespan of the application. No new resources will be created once any one of the defined limits is hit.</p>
198 pub fn maximum_capacity(mut self, input: crate::types::MaximumAllowedResources) -> Self {
199 self.maximum_capacity = ::std::option::Option::Some(input);
200 self
201 }
202 /// <p>The maximum capacity to allocate when the application is updated. This is cumulative across all workers at any given point in time during the lifespan of the application. No new resources will be created once any one of the defined limits is hit.</p>
203 pub fn set_maximum_capacity(mut self, input: ::std::option::Option<crate::types::MaximumAllowedResources>) -> Self {
204 self.maximum_capacity = input;
205 self
206 }
207 /// <p>The maximum capacity to allocate when the application is updated. This is cumulative across all workers at any given point in time during the lifespan of the application. No new resources will be created once any one of the defined limits is hit.</p>
208 pub fn get_maximum_capacity(&self) -> &::std::option::Option<crate::types::MaximumAllowedResources> {
209 &self.maximum_capacity
210 }
211 /// <p>The configuration for an application to automatically start on job submission.</p>
212 pub fn auto_start_configuration(mut self, input: crate::types::AutoStartConfig) -> Self {
213 self.auto_start_configuration = ::std::option::Option::Some(input);
214 self
215 }
216 /// <p>The configuration for an application to automatically start on job submission.</p>
217 pub fn set_auto_start_configuration(mut self, input: ::std::option::Option<crate::types::AutoStartConfig>) -> Self {
218 self.auto_start_configuration = input;
219 self
220 }
221 /// <p>The configuration for an application to automatically start on job submission.</p>
222 pub fn get_auto_start_configuration(&self) -> &::std::option::Option<crate::types::AutoStartConfig> {
223 &self.auto_start_configuration
224 }
225 /// <p>The configuration for an application to automatically stop after a certain amount of time being idle.</p>
226 pub fn auto_stop_configuration(mut self, input: crate::types::AutoStopConfig) -> Self {
227 self.auto_stop_configuration = ::std::option::Option::Some(input);
228 self
229 }
230 /// <p>The configuration for an application to automatically stop after a certain amount of time being idle.</p>
231 pub fn set_auto_stop_configuration(mut self, input: ::std::option::Option<crate::types::AutoStopConfig>) -> Self {
232 self.auto_stop_configuration = input;
233 self
234 }
235 /// <p>The configuration for an application to automatically stop after a certain amount of time being idle.</p>
236 pub fn get_auto_stop_configuration(&self) -> &::std::option::Option<crate::types::AutoStopConfig> {
237 &self.auto_stop_configuration
238 }
239 /// <p>The network configuration for customer VPC connectivity.</p>
240 pub fn network_configuration(mut self, input: crate::types::NetworkConfiguration) -> Self {
241 self.network_configuration = ::std::option::Option::Some(input);
242 self
243 }
244 /// <p>The network configuration for customer VPC connectivity.</p>
245 pub fn set_network_configuration(mut self, input: ::std::option::Option<crate::types::NetworkConfiguration>) -> Self {
246 self.network_configuration = input;
247 self
248 }
249 /// <p>The network configuration for customer VPC connectivity.</p>
250 pub fn get_network_configuration(&self) -> &::std::option::Option<crate::types::NetworkConfiguration> {
251 &self.network_configuration
252 }
253 /// <p>The CPU architecture of an application.</p>
254 pub fn architecture(mut self, input: crate::types::Architecture) -> Self {
255 self.architecture = ::std::option::Option::Some(input);
256 self
257 }
258 /// <p>The CPU architecture of an application.</p>
259 pub fn set_architecture(mut self, input: ::std::option::Option<crate::types::Architecture>) -> Self {
260 self.architecture = input;
261 self
262 }
263 /// <p>The CPU architecture of an application.</p>
264 pub fn get_architecture(&self) -> &::std::option::Option<crate::types::Architecture> {
265 &self.architecture
266 }
267 /// <p>The image configuration to be used for all worker types. You can either set this parameter or <code>imageConfiguration</code> for each worker type in <code>WorkerTypeSpecificationInput</code>.</p>
268 pub fn image_configuration(mut self, input: crate::types::ImageConfigurationInput) -> Self {
269 self.image_configuration = ::std::option::Option::Some(input);
270 self
271 }
272 /// <p>The image configuration to be used for all worker types. You can either set this parameter or <code>imageConfiguration</code> for each worker type in <code>WorkerTypeSpecificationInput</code>.</p>
273 pub fn set_image_configuration(mut self, input: ::std::option::Option<crate::types::ImageConfigurationInput>) -> Self {
274 self.image_configuration = input;
275 self
276 }
277 /// <p>The image configuration to be used for all worker types. You can either set this parameter or <code>imageConfiguration</code> for each worker type in <code>WorkerTypeSpecificationInput</code>.</p>
278 pub fn get_image_configuration(&self) -> &::std::option::Option<crate::types::ImageConfigurationInput> {
279 &self.image_configuration
280 }
281 /// Adds a key-value pair to `worker_type_specifications`.
282 ///
283 /// To override the contents of this collection use [`set_worker_type_specifications`](Self::set_worker_type_specifications).
284 ///
285 /// <p>The key-value pairs that specify worker type to <code>WorkerTypeSpecificationInput</code>. This parameter must contain all valid worker types for a Spark or Hive application. Valid worker types include <code>Driver</code> and <code>Executor</code> for Spark applications and <code>HiveDriver</code> and <code>TezTask</code> for Hive applications. You can either set image details in this parameter for each worker type, or in <code>imageConfiguration</code> for all worker types.</p>
286 pub fn worker_type_specifications(
287 mut self,
288 k: impl ::std::convert::Into<::std::string::String>,
289 v: crate::types::WorkerTypeSpecificationInput,
290 ) -> Self {
291 let mut hash_map = self.worker_type_specifications.unwrap_or_default();
292 hash_map.insert(k.into(), v);
293 self.worker_type_specifications = ::std::option::Option::Some(hash_map);
294 self
295 }
296 /// <p>The key-value pairs that specify worker type to <code>WorkerTypeSpecificationInput</code>. This parameter must contain all valid worker types for a Spark or Hive application. Valid worker types include <code>Driver</code> and <code>Executor</code> for Spark applications and <code>HiveDriver</code> and <code>TezTask</code> for Hive applications. You can either set image details in this parameter for each worker type, or in <code>imageConfiguration</code> for all worker types.</p>
297 pub fn set_worker_type_specifications(
298 mut self,
299 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>>,
300 ) -> Self {
301 self.worker_type_specifications = input;
302 self
303 }
304 /// <p>The key-value pairs that specify worker type to <code>WorkerTypeSpecificationInput</code>. This parameter must contain all valid worker types for a Spark or Hive application. Valid worker types include <code>Driver</code> and <code>Executor</code> for Spark applications and <code>HiveDriver</code> and <code>TezTask</code> for Hive applications. You can either set image details in this parameter for each worker type, or in <code>imageConfiguration</code> for all worker types.</p>
305 pub fn get_worker_type_specifications(
306 &self,
307 ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::WorkerTypeSpecificationInput>> {
308 &self.worker_type_specifications
309 }
310 /// <p>The interactive configuration object that contains new interactive use cases when the application is updated.</p>
311 pub fn interactive_configuration(mut self, input: crate::types::InteractiveConfiguration) -> Self {
312 self.interactive_configuration = ::std::option::Option::Some(input);
313 self
314 }
315 /// <p>The interactive configuration object that contains new interactive use cases when the application is updated.</p>
316 pub fn set_interactive_configuration(mut self, input: ::std::option::Option<crate::types::InteractiveConfiguration>) -> Self {
317 self.interactive_configuration = input;
318 self
319 }
320 /// <p>The interactive configuration object that contains new interactive use cases when the application is updated.</p>
321 pub fn get_interactive_configuration(&self) -> &::std::option::Option<crate::types::InteractiveConfiguration> {
322 &self.interactive_configuration
323 }
324 /// <p>The Amazon EMR release label for the application. You can change the release label to use a different release of Amazon EMR.</p>
325 pub fn release_label(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
326 self.release_label = ::std::option::Option::Some(input.into());
327 self
328 }
329 /// <p>The Amazon EMR release label for the application. You can change the release label to use a different release of Amazon EMR.</p>
330 pub fn set_release_label(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
331 self.release_label = input;
332 self
333 }
334 /// <p>The Amazon EMR release label for the application. You can change the release label to use a different release of Amazon EMR.</p>
335 pub fn get_release_label(&self) -> &::std::option::Option<::std::string::String> {
336 &self.release_label
337 }
338 /// Appends an item to `runtime_configuration`.
339 ///
340 /// To override the contents of this collection use [`set_runtime_configuration`](Self::set_runtime_configuration).
341 ///
342 /// <p>The <a href="https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_Configuration.html">Configuration</a> specifications to use when updating an application. Each configuration consists of a classification and properties. This configuration is applied across all the job runs submitted under the application.</p>
343 pub fn runtime_configuration(mut self, input: crate::types::Configuration) -> Self {
344 let mut v = self.runtime_configuration.unwrap_or_default();
345 v.push(input);
346 self.runtime_configuration = ::std::option::Option::Some(v);
347 self
348 }
349 /// <p>The <a href="https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_Configuration.html">Configuration</a> specifications to use when updating an application. Each configuration consists of a classification and properties. This configuration is applied across all the job runs submitted under the application.</p>
350 pub fn set_runtime_configuration(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Configuration>>) -> Self {
351 self.runtime_configuration = input;
352 self
353 }
354 /// <p>The <a href="https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_Configuration.html">Configuration</a> specifications to use when updating an application. Each configuration consists of a classification and properties. This configuration is applied across all the job runs submitted under the application.</p>
355 pub fn get_runtime_configuration(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Configuration>> {
356 &self.runtime_configuration
357 }
358 /// <p>The configuration setting for monitoring.</p>
359 pub fn monitoring_configuration(mut self, input: crate::types::MonitoringConfiguration) -> Self {
360 self.monitoring_configuration = ::std::option::Option::Some(input);
361 self
362 }
363 /// <p>The configuration setting for monitoring.</p>
364 pub fn set_monitoring_configuration(mut self, input: ::std::option::Option<crate::types::MonitoringConfiguration>) -> Self {
365 self.monitoring_configuration = input;
366 self
367 }
368 /// <p>The configuration setting for monitoring.</p>
369 pub fn get_monitoring_configuration(&self) -> &::std::option::Option<crate::types::MonitoringConfiguration> {
370 &self.monitoring_configuration
371 }
372 /// <p>The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.</p>
373 pub fn scheduler_configuration(mut self, input: crate::types::SchedulerConfiguration) -> Self {
374 self.scheduler_configuration = ::std::option::Option::Some(input);
375 self
376 }
377 /// <p>The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.</p>
378 pub fn set_scheduler_configuration(mut self, input: ::std::option::Option<crate::types::SchedulerConfiguration>) -> Self {
379 self.scheduler_configuration = input;
380 self
381 }
382 /// <p>The scheduler configuration for batch and streaming jobs running on this application. Supported with release labels emr-7.0.0 and above.</p>
383 pub fn get_scheduler_configuration(&self) -> &::std::option::Option<crate::types::SchedulerConfiguration> {
384 &self.scheduler_configuration
385 }
386 /// <p>Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.</p>
387 pub fn identity_center_configuration(mut self, input: crate::types::IdentityCenterConfigurationInput) -> Self {
388 self.identity_center_configuration = ::std::option::Option::Some(input);
389 self
390 }
391 /// <p>Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.</p>
392 pub fn set_identity_center_configuration(mut self, input: ::std::option::Option<crate::types::IdentityCenterConfigurationInput>) -> Self {
393 self.identity_center_configuration = input;
394 self
395 }
396 /// <p>Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.</p>
397 pub fn get_identity_center_configuration(&self) -> &::std::option::Option<crate::types::IdentityCenterConfigurationInput> {
398 &self.identity_center_configuration
399 }
400 /// Consumes the builder and constructs a [`UpdateApplicationInput`](crate::operation::update_application::UpdateApplicationInput).
401 pub fn build(
402 self,
403 ) -> ::std::result::Result<crate::operation::update_application::UpdateApplicationInput, ::aws_smithy_types::error::operation::BuildError> {
404 ::std::result::Result::Ok(crate::operation::update_application::UpdateApplicationInput {
405 application_id: self.application_id,
406 client_token: self.client_token,
407 initial_capacity: self.initial_capacity,
408 maximum_capacity: self.maximum_capacity,
409 auto_start_configuration: self.auto_start_configuration,
410 auto_stop_configuration: self.auto_stop_configuration,
411 network_configuration: self.network_configuration,
412 architecture: self.architecture,
413 image_configuration: self.image_configuration,
414 worker_type_specifications: self.worker_type_specifications,
415 interactive_configuration: self.interactive_configuration,
416 release_label: self.release_label,
417 runtime_configuration: self.runtime_configuration,
418 monitoring_configuration: self.monitoring_configuration,
419 scheduler_configuration: self.scheduler_configuration,
420 identity_center_configuration: self.identity_center_configuration,
421 })
422 }
423}