// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateConfiguration`](crate::operation::create_configuration::builders::CreateConfigurationFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`authentication_strategy(AuthenticationStrategy)`](crate::operation::create_configuration::builders::CreateConfigurationFluentBuilder::authentication_strategy) / [`set_authentication_strategy(Option<AuthenticationStrategy>)`](crate::operation::create_configuration::builders::CreateConfigurationFluentBuilder::set_authentication_strategy): <p>Optional. The authentication strategy associated with the configuration. The default is SIMPLE.</p>
/// - [`engine_type(EngineType)`](crate::operation::create_configuration::builders::CreateConfigurationFluentBuilder::engine_type) / [`set_engine_type(Option<EngineType>)`](crate::operation::create_configuration::builders::CreateConfigurationFluentBuilder::set_engine_type): <p>Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ and RABBITMQ.</p>
/// - [`engine_version(impl Into<String>)`](crate::operation::create_configuration::builders::CreateConfigurationFluentBuilder::engine_version) / [`set_engine_version(Option<String>)`](crate::operation::create_configuration::builders::CreateConfigurationFluentBuilder::set_engine_version): <p>Required. The broker engine's version. For a list of supported engine versions, see <a href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker-engine.html">Supported engines</a>.</p>
/// - [`name(impl Into<String>)`](crate::operation::create_configuration::builders::CreateConfigurationFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_configuration::builders::CreateConfigurationFluentBuilder::set_name): <p>Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long.</p>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_configuration::builders::CreateConfigurationFluentBuilder::tags) / [`set_tags(Option<HashMap<String, String>>)`](crate::operation::create_configuration::builders::CreateConfigurationFluentBuilder::set_tags): <p>Create tags when creating the configuration.</p>
/// - On success, responds with [`CreateConfigurationOutput`](crate::operation::create_configuration::CreateConfigurationOutput) with field(s):
/// - [`arn(Option<String>)`](crate::operation::create_configuration::CreateConfigurationOutput::arn): <p>Required. The Amazon Resource Name (ARN) of the configuration.</p>
/// - [`authentication_strategy(Option<AuthenticationStrategy>)`](crate::operation::create_configuration::CreateConfigurationOutput::authentication_strategy): <p>Optional. The authentication strategy associated with the configuration. The default is SIMPLE.</p>
/// - [`created(Option<DateTime>)`](crate::operation::create_configuration::CreateConfigurationOutput::created): <p>Required. The date and time of the configuration.</p>
/// - [`id(Option<String>)`](crate::operation::create_configuration::CreateConfigurationOutput::id): <p>Required. The unique ID that Amazon MQ generates for the configuration.</p>
/// - [`latest_revision(Option<ConfigurationRevision>)`](crate::operation::create_configuration::CreateConfigurationOutput::latest_revision): <p>The latest revision of the configuration.</p>
/// - [`name(Option<String>)`](crate::operation::create_configuration::CreateConfigurationOutput::name): <p>Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long.</p>
/// - On failure, responds with [`SdkError<CreateConfigurationError>`](crate::operation::create_configuration::CreateConfigurationError)
pub fn create_configuration(&self) -> crate::operation::create_configuration::builders::CreateConfigurationFluentBuilder {
crate::operation::create_configuration::builders::CreateConfigurationFluentBuilder::new(self.handle.clone())
}
}