// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateGrant`](crate::operation::create_grant::builders::CreateGrantFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`client_token(impl Into<String>)`](crate::operation::create_grant::builders::CreateGrantFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_grant::builders::CreateGrantFluentBuilder::set_client_token): <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>
/// - [`grant_name(impl Into<String>)`](crate::operation::create_grant::builders::CreateGrantFluentBuilder::grant_name) / [`set_grant_name(Option<String>)`](crate::operation::create_grant::builders::CreateGrantFluentBuilder::set_grant_name): <p>Grant name.</p>
/// - [`license_arn(impl Into<String>)`](crate::operation::create_grant::builders::CreateGrantFluentBuilder::license_arn) / [`set_license_arn(Option<String>)`](crate::operation::create_grant::builders::CreateGrantFluentBuilder::set_license_arn): <p>Amazon Resource Name (ARN) of the license.</p>
/// - [`principals(impl Into<String>)`](crate::operation::create_grant::builders::CreateGrantFluentBuilder::principals) / [`set_principals(Option<Vec<String>>)`](crate::operation::create_grant::builders::CreateGrantFluentBuilder::set_principals): <p>The grant principals. You can specify one of the following as an Amazon Resource Name (ARN):</p> <ul> <li> <p>An Amazon Web Services account, which includes only the account specified.</p> </li> </ul> <ul> <li> <p>An organizational unit (OU), which includes all accounts in the OU.</p> </li> </ul> <ul> <li> <p>An organization, which will include all accounts across your organization.</p> </li> </ul>
/// - [`home_region(impl Into<String>)`](crate::operation::create_grant::builders::CreateGrantFluentBuilder::home_region) / [`set_home_region(Option<String>)`](crate::operation::create_grant::builders::CreateGrantFluentBuilder::set_home_region): <p>Home Region of the grant.</p>
/// - [`allowed_operations(AllowedOperation)`](crate::operation::create_grant::builders::CreateGrantFluentBuilder::allowed_operations) / [`set_allowed_operations(Option<Vec<AllowedOperation>>)`](crate::operation::create_grant::builders::CreateGrantFluentBuilder::set_allowed_operations): <p>Allowed operations for the grant.</p>
/// - On success, responds with [`CreateGrantOutput`](crate::operation::create_grant::CreateGrantOutput) with field(s):
/// - [`grant_arn(Option<String>)`](crate::operation::create_grant::CreateGrantOutput::grant_arn): <p>Grant ARN.</p>
/// - [`status(Option<GrantStatus>)`](crate::operation::create_grant::CreateGrantOutput::status): <p>Grant status.</p>
/// - [`version(Option<String>)`](crate::operation::create_grant::CreateGrantOutput::version): <p>Grant version.</p>
/// - On failure, responds with [`SdkError<CreateGrantError>`](crate::operation::create_grant::CreateGrantError)
pub fn create_grant(&self) -> crate::operation::create_grant::builders::CreateGrantFluentBuilder {
crate::operation::create_grant::builders::CreateGrantFluentBuilder::new(self.handle.clone())
}
}