// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateDomainForOrganization`](crate::operation::create_domain_for_organization::builders::CreateDomainForOrganizationFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`name(impl Into<String>)`](crate::operation::create_domain_for_organization::builders::CreateDomainForOrganizationFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_domain_for_organization::builders::CreateDomainForOrganizationFluentBuilder::set_name):<br>required: **true**<br>A name that identifies the organization domain. Must be 3-63 characters: lowercase letters, numbers, and hyphens. It must begin and end with a letter or number and cannot contain consecutive hyphens.<br>
/// - [`identity_providers(IdentityProvider)`](crate::operation::create_domain_for_organization::builders::CreateDomainForOrganizationFluentBuilder::identity_providers) / [`set_identity_providers(Option<Vec::<IdentityProvider>>)`](crate::operation::create_domain_for_organization::builders::CreateDomainForOrganizationFluentBuilder::set_identity_providers):<br>required: **true**<br>The identity providers to configure for the domain.<br>
/// - [`identity_provider_configuration(IdentityProviderConfiguration)`](crate::operation::create_domain_for_organization::builders::CreateDomainForOrganizationFluentBuilder::identity_provider_configuration) / [`set_identity_provider_configuration(Option<IdentityProviderConfiguration>)`](crate::operation::create_domain_for_organization::builders::CreateDomainForOrganizationFluentBuilder::set_identity_provider_configuration):<br>required: **false**<br>Identity provider configuration for the domain.<br>
/// - [`domain_access_role_arn(impl Into<String>)`](crate::operation::create_domain_for_organization::builders::CreateDomainForOrganizationFluentBuilder::domain_access_role_arn) / [`set_domain_access_role_arn(Option<String>)`](crate::operation::create_domain_for_organization::builders::CreateDomainForOrganizationFluentBuilder::set_domain_access_role_arn):<br>required: **true**<br>The ARN of an IAM role in the management account used for domain access. You must create this role, and its trust policy must allow the service principal to assume it.<br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_domain_for_organization::builders::CreateDomainForOrganizationFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_domain_for_organization::builders::CreateDomainForOrganizationFluentBuilder::set_tags):<br>required: **false**<br>The tags to associate with the domain.<br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_domain_for_organization::builders::CreateDomainForOrganizationFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_domain_for_organization::builders::CreateDomainForOrganizationFluentBuilder::set_client_token):<br>required: **false**<br>Idempotency token for safe retries. Repeated requests with the same token return the original result instead of creating a duplicate.<br>
/// - On success, responds with [`CreateDomainForOrganizationOutput`](crate::operation::create_domain_for_organization::CreateDomainForOrganizationOutput) with field(s):
/// - [`organization_domain(Option<OrganizationDomain>)`](crate::operation::create_domain_for_organization::CreateDomainForOrganizationOutput::organization_domain): The details of the created organization domain.
/// - On failure, responds with [`SdkError<CreateDomainForOrganizationError>`](crate::operation::create_domain_for_organization::CreateDomainForOrganizationError)
pub fn create_domain_for_organization(
&self,
) -> crate::operation::create_domain_for_organization::builders::CreateDomainForOrganizationFluentBuilder {
crate::operation::create_domain_for_organization::builders::CreateDomainForOrganizationFluentBuilder::new(self.handle.clone())
}
}