// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateDomainAssociation`](crate::operation::create_domain_association::builders::CreateDomainAssociationFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`app_id(impl Into<String>)`](crate::operation::create_domain_association::builders::CreateDomainAssociationFluentBuilder::app_id) / [`set_app_id(Option<String>)`](crate::operation::create_domain_association::builders::CreateDomainAssociationFluentBuilder::set_app_id):<br>required: **true**<br><p>The unique ID for an Amplify app.</p><br>
/// - [`domain_name(impl Into<String>)`](crate::operation::create_domain_association::builders::CreateDomainAssociationFluentBuilder::domain_name) / [`set_domain_name(Option<String>)`](crate::operation::create_domain_association::builders::CreateDomainAssociationFluentBuilder::set_domain_name):<br>required: **true**<br><p>The domain name for the domain association.</p><br>
/// - [`enable_auto_sub_domain(bool)`](crate::operation::create_domain_association::builders::CreateDomainAssociationFluentBuilder::enable_auto_sub_domain) / [`set_enable_auto_sub_domain(Option<bool>)`](crate::operation::create_domain_association::builders::CreateDomainAssociationFluentBuilder::set_enable_auto_sub_domain):<br>required: **false**<br><p>Enables the automated creation of subdomains for branches.</p><br>
/// - [`sub_domain_settings(SubDomainSetting)`](crate::operation::create_domain_association::builders::CreateDomainAssociationFluentBuilder::sub_domain_settings) / [`set_sub_domain_settings(Option<Vec::<SubDomainSetting>>)`](crate::operation::create_domain_association::builders::CreateDomainAssociationFluentBuilder::set_sub_domain_settings):<br>required: **true**<br><p>The setting for the subdomain.</p><br>
/// - [`auto_sub_domain_creation_patterns(impl Into<String>)`](crate::operation::create_domain_association::builders::CreateDomainAssociationFluentBuilder::auto_sub_domain_creation_patterns) / [`set_auto_sub_domain_creation_patterns(Option<Vec::<String>>)`](crate::operation::create_domain_association::builders::CreateDomainAssociationFluentBuilder::set_auto_sub_domain_creation_patterns):<br>required: **false**<br><p>Sets the branch patterns for automatic subdomain creation.</p><br>
/// - [`auto_sub_domain_iam_role(impl Into<String>)`](crate::operation::create_domain_association::builders::CreateDomainAssociationFluentBuilder::auto_sub_domain_iam_role) / [`set_auto_sub_domain_iam_role(Option<String>)`](crate::operation::create_domain_association::builders::CreateDomainAssociationFluentBuilder::set_auto_sub_domain_iam_role):<br>required: **false**<br><p>The required AWS Identity and Access Management (IAM) service role for the Amazon Resource Name (ARN) for automatically creating subdomains.</p><br>
/// - On success, responds with [`CreateDomainAssociationOutput`](crate::operation::create_domain_association::CreateDomainAssociationOutput) with field(s):
/// - [`domain_association(Option<DomainAssociation>)`](crate::operation::create_domain_association::CreateDomainAssociationOutput::domain_association): <p>Describes the structure of a domain association, which associates a custom domain with an Amplify app.</p>
/// - On failure, responds with [`SdkError<CreateDomainAssociationError>`](crate::operation::create_domain_association::CreateDomainAssociationError)
pub fn create_domain_association(&self) -> crate::operation::create_domain_association::builders::CreateDomainAssociationFluentBuilder {
crate::operation::create_domain_association::builders::CreateDomainAssociationFluentBuilder::new(self.handle.clone())
}
}