1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`UpdateApplication`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`application_id(impl Into<String>)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::application_id) / [`set_application_id(Option<String>)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::set_application_id):<br>required: **true**<br><p>The ID of the application to update.</p><br>
    ///   - [`client_token(impl Into<String>)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::set_client_token):<br>required: **true**<br><p>The client idempotency token of the application to update. Its value must be unique for each request.</p><br>
    ///   - [`initial_capacity(impl Into<String>, InitialCapacityConfig)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::initial_capacity) / [`set_initial_capacity(Option<HashMap::<String, InitialCapacityConfig>>)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::set_initial_capacity):<br>required: **false**<br><p>The capacity to initialize when the application is updated.</p><br>
    ///   - [`maximum_capacity(MaximumAllowedResources)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::maximum_capacity) / [`set_maximum_capacity(Option<MaximumAllowedResources>)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::set_maximum_capacity):<br>required: **false**<br><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><br>
    ///   - [`auto_start_configuration(AutoStartConfig)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::auto_start_configuration) / [`set_auto_start_configuration(Option<AutoStartConfig>)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::set_auto_start_configuration):<br>required: **false**<br><p>The configuration for an application to automatically start on job submission.</p><br>
    ///   - [`auto_stop_configuration(AutoStopConfig)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::auto_stop_configuration) / [`set_auto_stop_configuration(Option<AutoStopConfig>)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::set_auto_stop_configuration):<br>required: **false**<br><p>The configuration for an application to automatically stop after a certain amount of time being idle.</p><br>
    ///   - [`network_configuration(NetworkConfiguration)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::network_configuration) / [`set_network_configuration(Option<NetworkConfiguration>)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::set_network_configuration):<br>required: **false**<br><p>The network configuration for customer VPC connectivity.</p><br>
    ///   - [`architecture(Architecture)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::architecture) / [`set_architecture(Option<Architecture>)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::set_architecture):<br>required: **false**<br><p>The CPU architecture of an application.</p><br>
    ///   - [`image_configuration(ImageConfigurationInput)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::image_configuration) / [`set_image_configuration(Option<ImageConfigurationInput>)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::set_image_configuration):<br>required: **false**<br><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><br>
    ///   - [`worker_type_specifications(impl Into<String>, WorkerTypeSpecificationInput)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::worker_type_specifications) / [`set_worker_type_specifications(Option<HashMap::<String, WorkerTypeSpecificationInput>>)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::set_worker_type_specifications):<br>required: **false**<br><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><br>
    ///   - [`interactive_configuration(InteractiveConfiguration)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::interactive_configuration) / [`set_interactive_configuration(Option<InteractiveConfiguration>)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::set_interactive_configuration):<br>required: **false**<br><p>The interactive configuration object that contains new interactive use cases when the application is updated.</p><br>
    ///   - [`release_label(impl Into<String>)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::release_label) / [`set_release_label(Option<String>)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::set_release_label):<br>required: **false**<br><p>The Amazon EMR release label for the application. You can change the release label to use a different release of Amazon EMR.</p><br>
    ///   - [`runtime_configuration(Configuration)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::runtime_configuration) / [`set_runtime_configuration(Option<Vec::<Configuration>>)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::set_runtime_configuration):<br>required: **false**<br><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><br>
    ///   - [`monitoring_configuration(MonitoringConfiguration)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::monitoring_configuration) / [`set_monitoring_configuration(Option<MonitoringConfiguration>)`](crate::operation::update_application::builders::UpdateApplicationFluentBuilder::set_monitoring_configuration):<br>required: **false**<br><p>The configuration setting for monitoring.</p><br>
    /// - On success, responds with [`UpdateApplicationOutput`](crate::operation::update_application::UpdateApplicationOutput) with field(s):
    ///   - [`application(Option<Application>)`](crate::operation::update_application::UpdateApplicationOutput::application): <p>Information about the updated application.</p>
    /// - On failure, responds with [`SdkError<UpdateApplicationError>`](crate::operation::update_application::UpdateApplicationError)
    pub fn update_application(&self) -> crate::operation::update_application::builders::UpdateApplicationFluentBuilder {
        crate::operation::update_application::builders::UpdateApplicationFluentBuilder::new(self.handle.clone())
    }
}