// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateDomainAccessGrantForOrganization`](crate::operation::create_domain_access_grant_for_organization::builders::CreateDomainAccessGrantForOrganizationFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`domain_id(impl Into<String>)`](crate::operation::create_domain_access_grant_for_organization::builders::CreateDomainAccessGrantForOrganizationFluentBuilder::domain_id) / [`set_domain_id(Option<String>)`](crate::operation::create_domain_access_grant_for_organization::builders::CreateDomainAccessGrantForOrganizationFluentBuilder::set_domain_id):<br>required: **true**<br>The ID of the organization domain to create the grant on.<br>
/// - [`name(impl Into<String>)`](crate::operation::create_domain_access_grant_for_organization::builders::CreateDomainAccessGrantForOrganizationFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_domain_access_grant_for_organization::builders::CreateDomainAccessGrantForOrganizationFluentBuilder::set_name):<br>required: **true**<br>A name that identifies the access grant.<br>
/// - [`principal(OrganizationAccessGrantPrincipal)`](crate::operation::create_domain_access_grant_for_organization::builders::CreateDomainAccessGrantForOrganizationFluentBuilder::principal) / [`set_principal(Option<OrganizationAccessGrantPrincipal>)`](crate::operation::create_domain_access_grant_for_organization::builders::CreateDomainAccessGrantForOrganizationFluentBuilder::set_principal):<br>required: **true**<br>The principal receiving the grant.<br>
/// - [`permission(OrganizationGrantPermission)`](crate::operation::create_domain_access_grant_for_organization::builders::CreateDomainAccessGrantForOrganizationFluentBuilder::permission) / [`set_permission(Option<OrganizationGrantPermission>)`](crate::operation::create_domain_access_grant_for_organization::builders::CreateDomainAccessGrantForOrganizationFluentBuilder::set_permission):<br>required: **true**<br>The permission to grant.<br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_domain_access_grant_for_organization::builders::CreateDomainAccessGrantForOrganizationFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_domain_access_grant_for_organization::builders::CreateDomainAccessGrantForOrganizationFluentBuilder::set_tags):<br>required: **false**<br>The tags to associate with the access grant.<br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_domain_access_grant_for_organization::builders::CreateDomainAccessGrantForOrganizationFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_domain_access_grant_for_organization::builders::CreateDomainAccessGrantForOrganizationFluentBuilder::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 [`CreateDomainAccessGrantForOrganizationOutput`](crate::operation::create_domain_access_grant_for_organization::CreateDomainAccessGrantForOrganizationOutput) with field(s):
/// - [`access_grant(Option<OrganizationAccessGrant>)`](crate::operation::create_domain_access_grant_for_organization::CreateDomainAccessGrantForOrganizationOutput::access_grant): The details of the created organization access grant.
/// - On failure, responds with [`SdkError<CreateDomainAccessGrantForOrganizationError>`](crate::operation::create_domain_access_grant_for_organization::CreateDomainAccessGrantForOrganizationError)
pub fn create_domain_access_grant_for_organization(
&self,
) -> crate::operation::create_domain_access_grant_for_organization::builders::CreateDomainAccessGrantForOrganizationFluentBuilder {
crate::operation::create_domain_access_grant_for_organization::builders::CreateDomainAccessGrantForOrganizationFluentBuilder::new(
self.handle.clone(),
)
}
}