// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateApplication`](crate::operation::create_application::builders::CreateApplicationFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`display_name(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::display_name) / [`set_display_name(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_display_name):<br>required: **true**<br><p>A name for the Amazon Q application. </p><br>
/// - [`role_arn(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::role_arn) / [`set_role_arn(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_role_arn):<br>required: **true**<br><p> The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics.</p><br>
/// - [`description(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_description):<br>required: **false**<br><p>A description for the Amazon Q application. </p><br>
/// - [`encryption_configuration(EncryptionConfiguration)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::encryption_configuration) / [`set_encryption_configuration(Option<EncryptionConfiguration>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_encryption_configuration):<br>required: **false**<br><p>The identifier of the KMS key that is used to encrypt your data. Amazon Q doesn't support asymmetric keys.</p><br>
/// - [`tags(Tag)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_tags):<br>required: **false**<br><p>A list of key-value pairs that identify or categorize your Amazon Q application. You can also use tags to help control access to the application. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.</p><br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_client_token):<br>required: **false**<br><p>A token that you provide to identify the request to create your Amazon Q application.</p><br>
/// - [`attachments_configuration(AttachmentsConfiguration)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::attachments_configuration) / [`set_attachments_configuration(Option<AttachmentsConfiguration>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_attachments_configuration):<br>required: **false**<br><p>An option to allow end users to upload files directly during chat.</p><br>
/// - On success, responds with [`CreateApplicationOutput`](crate::operation::create_application::CreateApplicationOutput) with field(s):
/// - [`application_id(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::application_id): <p>The identifier of the Amazon Q application.</p>
/// - [`application_arn(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::application_arn): <p> The Amazon Resource Name (ARN) of the Amazon Q application. </p>
/// - On failure, responds with [`SdkError<CreateApplicationError>`](crate::operation::create_application::CreateApplicationError)
pub fn create_application(&self) -> crate::operation::create_application::builders::CreateApplicationFluentBuilder {
crate::operation::create_application::builders::CreateApplicationFluentBuilder::new(self.handle.clone())
}
}