1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 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:
    ///   - [`name(impl Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_name):<br>required: **true**<br><p>The unique name to give to your cluster.</p><br>
    ///   - [`version(impl Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::version) / [`set_version(Option<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_version):<br>required: **false**<br><p>The desired Kubernetes version for your cluster. If you don't specify a value here, the default version available in Amazon EKS is used.</p><note>  <p>The default version might not be the latest version available.</p> </note><br>
    ///   - [`role_arn(impl Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::role_arn) / [`set_role_arn(Option<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_role_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to Amazon Web Services API operations on your behalf. For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html">Amazon EKS Service IAM Role</a> in the <i> <i>Amazon EKS User Guide</i> </i>.</p><br>
    ///   - [`resources_vpc_config(VpcConfigRequest)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::resources_vpc_config) / [`set_resources_vpc_config(Option<VpcConfigRequest>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_resources_vpc_config):<br>required: **true**<br><p>The VPC configuration that's used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html">Cluster VPC Considerations</a> and <a href="https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html">Cluster Security Group Considerations</a> in the <i>Amazon EKS User Guide</i>. You must specify at least two subnets. You can specify up to five security groups. However, we recommend that you use a dedicated security group for your cluster control plane.</p><br>
    ///   - [`kubernetes_network_config(KubernetesNetworkConfigRequest)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::kubernetes_network_config) / [`set_kubernetes_network_config(Option<KubernetesNetworkConfigRequest>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_kubernetes_network_config):<br>required: **false**<br><p>The Kubernetes network configuration for the cluster.</p><br>
    ///   - [`logging(Logging)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::logging) / [`set_logging(Option<Logging>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_logging):<br>required: **false**<br><p>Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see <a href="https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html">Amazon EKS Cluster control plane logs</a> in the <i> <i>Amazon EKS User Guide</i> </i>.</p><note>  <p>CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see <a href="http://aws.amazon.com/cloudwatch/pricing/">CloudWatch Pricing</a>.</p> </note><br>
    ///   - [`client_request_token(impl Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::client_request_token) / [`set_client_request_token(Option<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_client_request_token):<br>required: **false**<br><p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p><br>
    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_tags):<br>required: **false**<br><p>Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or Amazon Web Services resources.</p><br>
    ///   - [`encryption_config(EncryptionConfig)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::encryption_config) / [`set_encryption_config(Option<Vec::<EncryptionConfig>>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_encryption_config):<br>required: **false**<br><p>The encryption configuration for the cluster.</p><br>
    ///   - [`outpost_config(OutpostConfigRequest)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::outpost_config) / [`set_outpost_config(Option<OutpostConfigRequest>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_outpost_config):<br>required: **false**<br><p>An object representing the configuration of your local Amazon EKS cluster on an Amazon Web Services Outpost. Before creating a local cluster on an Outpost, review <a href="https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts-local-cluster-overview.html">Local clusters for Amazon EKS on Amazon Web Services Outposts</a> in the <i>Amazon EKS User Guide</i>. This object isn't available for creating Amazon EKS clusters on the Amazon Web Services cloud.</p><br>
    ///   - [`access_config(CreateAccessConfigRequest)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::access_config) / [`set_access_config(Option<CreateAccessConfigRequest>)`](crate::operation::create_cluster::builders::CreateClusterFluentBuilder::set_access_config):<br>required: **false**<br><p>The access configuration for the cluster.</p><br>
    /// - On success, responds with [`CreateClusterOutput`](crate::operation::create_cluster::CreateClusterOutput) with field(s):
    ///   - [`cluster(Option<Cluster>)`](crate::operation::create_cluster::CreateClusterOutput::cluster): <p>The full description of your new cluster.</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())
    }
}