aws_sdk_dax/client/
create_cluster.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 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 Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::cluster_name) / [`set_cluster_name(Option<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_cluster_name):<br>required: **true**<br><p>The cluster identifier. This parameter is stored as a lowercase string.</p> <p><b>Constraints:</b></p> <ul>  <li>   <p>A name must contain from 1 to 20 alphanumeric characters or hyphens.</p></li>  <li>   <p>The first character must be a letter.</p></li>  <li>   <p>A name cannot end with a hyphen or contain two consecutive hyphens.</p></li> </ul><br>
    ///   - [`node_type(impl Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::node_type) / [`set_node_type(Option<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_node_type):<br>required: **true**<br><p>The compute and memory capacity of the nodes in the cluster.</p><br>
    ///   - [`description(impl Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_description):<br>required: **false**<br><p>A description of the cluster.</p><br>
    ///   - [`replication_factor(i32)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::replication_factor) / [`set_replication_factor(Option<i32>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_replication_factor):<br>required: **true**<br><p>The number of nodes in the DAX cluster. A replication factor of 1 will create a single-node cluster, without any read replicas. For additional fault tolerance, you can create a multiple node cluster with one or more read replicas. To do this, set <code>ReplicationFactor</code> to a number between 3 (one primary and two read replicas) and 10 (one primary and nine read replicas). <code>If the AvailabilityZones</code> parameter is provided, its length must equal the <code>ReplicationFactor</code>.</p><note>  <p>AWS recommends that you have at least two read replicas per cluster.</p> </note><br>
    ///   - [`availability_zones(impl Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::availability_zones) / [`set_availability_zones(Option<Vec::<String>>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_availability_zones):<br>required: **false**<br><p>The Availability Zones (AZs) in which the cluster nodes will reside after the cluster has been created or updated. If provided, the length of this list must equal the <code>ReplicationFactor</code> parameter. If you omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability.</p><br>
    ///   - [`subnet_group_name(impl Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::subnet_group_name) / [`set_subnet_group_name(Option<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_subnet_group_name):<br>required: **false**<br><p>The name of the subnet group to be used for the replication group.</p><important>  <p>DAX clusters can only run in an Amazon VPC environment. All of the subnets that you specify in a subnet group must exist in the same VPC.</p> </important><br>
    ///   - [`security_group_ids(impl Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::security_group_ids) / [`set_security_group_ids(Option<Vec::<String>>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_security_group_ids):<br>required: **false**<br><p>A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group ID is system-generated.)</p> <p>If this parameter is not specified, DAX assigns the default VPC security group to each node.</p><br>
    ///   - [`preferred_maintenance_window(impl 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):<br>required: **false**<br><p>Specifies the weekly time range during which maintenance on the DAX cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for <code>ddd</code> are:</p> <ul>  <li>   <p><code>sun</code></p></li>  <li>   <p><code>mon</code></p></li>  <li>   <p><code>tue</code></p></li>  <li>   <p><code>wed</code></p></li>  <li>   <p><code>thu</code></p></li>  <li>   <p><code>fri</code></p></li>  <li>   <p><code>sat</code></p></li> </ul> <p>Example: <code>sun:05:00-sun:09:00</code></p><note>  <p>If you don't specify a preferred maintenance window when you create or modify a cache cluster, DAX assigns a 60-minute maintenance window on a randomly selected day of the week.</p> </note><br>
    ///   - [`notification_topic_arn(impl Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::notification_topic_arn) / [`set_notification_topic_arn(Option<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_notification_topic_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent.</p><note>  <p>The Amazon SNS topic owner must be same as the DAX cluster owner.</p> </note><br>
    ///   - [`iam_role_arn(impl Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::iam_role_arn) / [`set_iam_role_arn(Option<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_iam_role_arn):<br>required: **true**<br><p>A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the role's permissions to access DynamoDB on your behalf.</p><br>
    ///   - [`parameter_group_name(impl Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::parameter_group_name) / [`set_parameter_group_name(Option<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_parameter_group_name):<br>required: **false**<br><p>The parameter group to be associated with the DAX cluster.</p><br>
    ///   - [`tags(Tag)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_tags):<br>required: **false**<br><p>A set of tags to associate with the DAX cluster.</p><br>
    ///   - [`sse_specification(SseSpecification)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::sse_specification) / [`set_sse_specification(Option<SseSpecification>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_sse_specification):<br>required: **false**<br><p>Represents the settings used to enable server-side encryption on the cluster.</p><br>
    ///   - [`cluster_endpoint_encryption_type(ClusterEndpointEncryptionType)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::cluster_endpoint_encryption_type) / [`set_cluster_endpoint_encryption_type(Option<ClusterEndpointEncryptionType>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_cluster_endpoint_encryption_type):<br>required: **false**<br><p>The type of encryption the cluster's endpoint should support. Values are:</p> <ul>  <li>   <p><code>NONE</code> for no encryption</p></li>  <li>   <p><code>TLS</code> for Transport Layer Security</p></li> </ul><br>
    /// - On success, responds with [`CreateClusterOutput`](crate::operation::create_cluster::CreateClusterOutput) with field(s):
    ///   - [`cluster(Option<Cluster>)`](crate::operation::create_cluster::CreateClusterOutput::cluster): <p>A description of the DAX cluster that you have 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())
    }
}