// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateCluster`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`cluster_name(impl ::std::convert::Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::cluster_name) / [`set_cluster_name(Option<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_cluster_name): <p>The name of the new Elastic DocumentDB cluster. This parameter is stored as a lowercase string.</p> <p> <i>Constraints</i>:</p> <ul> <li> <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p> </li> <li> <p>The first character must be a letter.</p> </li> <li> <p>Cannot end with a hyphen or contain two consecutive hyphens.</p> </li> </ul> <p> <i>Example</i>: <code>my-cluster</code> </p>
/// - [`auth_type(Auth)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::auth_type) / [`set_auth_type(Option<Auth>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_auth_type): <p>The authentication type for the Elastic DocumentDB cluster.</p>
/// - [`admin_user_name(impl ::std::convert::Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::admin_user_name) / [`set_admin_user_name(Option<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_admin_user_name): <p>The name of the Elastic DocumentDB cluster administrator.</p> <p> <i>Constraints</i>:</p> <ul> <li> <p>Must be from 1 to 63 letters or numbers.</p> </li> <li> <p>The first character must be a letter.</p> </li> <li> <p>Cannot be a reserved word.</p> </li> </ul>
/// - [`admin_user_password(impl ::std::convert::Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::admin_user_password) / [`set_admin_user_password(Option<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_admin_user_password): <p>The password for the Elastic DocumentDB cluster administrator and can contain any printable ASCII characters.</p> <p> <i>Constraints</i>:</p> <ul> <li> <p>Must contain from 8 to 100 characters.</p> </li> <li> <p>Cannot contain a forward slash (/), double quote ("), or the "at" symbol (@).</p> </li> </ul>
/// - [`shard_capacity(i32)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::shard_capacity) / [`set_shard_capacity(Option<i32>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_shard_capacity): <p>The capacity of each shard in the new Elastic DocumentDB cluster.</p>
/// - [`shard_count(i32)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::shard_count) / [`set_shard_count(Option<i32>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_shard_count): <p>The number of shards to create in the new Elastic DocumentDB cluster.</p>
/// - [`vpc_security_group_ids(Vec<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::vpc_security_group_ids) / [`set_vpc_security_group_ids(Option<Vec<String>>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_vpc_security_group_ids): <p>A list of EC2 VPC security groups to associate with the new Elastic DocumentDB cluster.</p>
/// - [`subnet_ids(Vec<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::subnet_ids) / [`set_subnet_ids(Option<Vec<String>>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_subnet_ids): <p>The Amazon EC2 subnet IDs for the new Elastic DocumentDB cluster.</p>
/// - [`kms_key_id(impl ::std::convert::Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::kms_key_id) / [`set_kms_key_id(Option<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_kms_key_id): <p>The KMS key identifier to use to encrypt the new Elastic DocumentDB cluster.</p> <p>The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a cluster using the same Amazon account that owns this KMS encryption key, you can use the KMS key alias instead of the ARN as the KMS encryption key.</p> <p>If an encryption key is not specified, Elastic DocumentDB uses the default encryption key that KMS creates for your account. Your account has a different default encryption key for each Amazon Region.</p>
/// - [`client_token(impl ::std::convert::Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_client_token): <p>The client token for the Elastic DocumentDB cluster.</p>
/// - [`preferred_maintenance_window(impl ::std::convert::Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::preferred_maintenance_window) / [`set_preferred_maintenance_window(Option<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_preferred_maintenance_window): <p>The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).</p> <p> <i>Format</i>: <code>ddd:hh24:mi-ddd:hh24:mi</code> </p> <p> <i>Default</i>: a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region, occurring on a random day of the week.</p> <p> <i>Valid days</i>: Mon, Tue, Wed, Thu, Fri, Sat, Sun</p> <p> <i>Constraints</i>: Minimum 30-minute window.</p>
/// - [`tags(HashMap<String, String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::tags) / [`set_tags(Option<HashMap<String, String>>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_tags): <p>The tags to be assigned to the new Elastic DocumentDB cluster.</p>
/// - On success, responds with [`CreateClusterOutput`](crate::operation::create_cluster::CreateClusterOutput) with field(s):
/// - [`cluster(Option<Cluster>)`](crate::operation::create_cluster::CreateClusterOutput::cluster): <p>The new Elastic DocumentDB cluster that has been created.</p>
/// - On failure, responds with [`SdkError<CreateClusterError>`](crate::operation::create_cluster::CreateClusterError)
pub fn create_cluster(&self) -> crate::operation::create_cluster::builders::CreateClusterFluentBuilder {
crate::operation::create_cluster::builders::CreateClusterFluentBuilder::new(self.handle.clone())
}
}