1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 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())
    }
}