// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`UpdateApp`](crate::operation::update_app::builders::UpdateAppFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`app_id(impl Into<String>)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::app_id) / [`set_app_id(Option<String>)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::set_app_id): <p>The app ID.</p>
/// - [`name(impl Into<String>)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::set_name): <p>The app name.</p>
/// - [`description(impl Into<String>)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::set_description): <p>A description of the app.</p>
/// - [`data_sources(DataSource)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::data_sources) / [`set_data_sources(Option<Vec<DataSource>>)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::set_data_sources): <p>The app's data sources.</p>
/// - [`r#type(AppType)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::type) / [`set_type(Option<AppType>)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::set_type): <p>The app type.</p>
/// - [`app_source(Source)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::app_source) / [`set_app_source(Option<Source>)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::set_app_source): <p>A <code>Source</code> object that specifies the app repository.</p>
/// - [`domains(impl Into<String>)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::domains) / [`set_domains(Option<Vec<String>>)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::set_domains): <p>The app's virtual host settings, with multiple domains separated by commas. For example: <code>'www.example.com, example.com'</code> </p>
/// - [`enable_ssl(bool)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::enable_ssl) / [`set_enable_ssl(Option<bool>)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::set_enable_ssl): <p>Whether SSL is enabled for the app.</p>
/// - [`ssl_configuration(SslConfiguration)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::ssl_configuration) / [`set_ssl_configuration(Option<SslConfiguration>)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::set_ssl_configuration): <p>An <code>SslConfiguration</code> object with the SSL configuration.</p>
/// - [`attributes(AppAttributesKeys, impl Into<String>)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::attributes) / [`set_attributes(Option<HashMap<AppAttributesKeys, String>>)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::set_attributes): <p>One or more user-defined key/value pairs to be added to the stack attributes.</p>
/// - [`environment(EnvironmentVariable)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::environment) / [`set_environment(Option<Vec<EnvironmentVariable>>)`](crate::operation::update_app::builders::UpdateAppFluentBuilder::set_environment): <p>An array of <code>EnvironmentVariable</code> objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instances.For more information, see <a href="https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment"> Environment Variables</a>.</p> <p>There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 20 KB. This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, "Environment: is too large (maximum is 20 KB)."</p> <note> <p>If you have specified one or more environment variables, you cannot modify the stack's Chef version.</p> </note>
/// - On success, responds with [`UpdateAppOutput`](crate::operation::update_app::UpdateAppOutput)
/// - On failure, responds with [`SdkError<UpdateAppError>`](crate::operation::update_app::UpdateAppError)
pub fn update_app(&self) -> crate::operation::update_app::builders::UpdateAppFluentBuilder {
crate::operation::update_app::builders::UpdateAppFluentBuilder::new(self.handle.clone())
}
}