CfnClusterProps

class aws_cdk.aws_eks.CfnClusterProps(*, resources_vpc_config, role_arn, access_config=None, bootstrap_self_managed_addons=None, encryption_config=None, kubernetes_network_config=None, logging=None, name=None, outpost_config=None, tags=None, upgrade_policy=None, version=None)

Bases: object

Properties for defining a CfnCluster.

Parameters:
  • resources_vpc_config (Union[IResolvable, ResourcesVpcConfigProperty, Dict[str, Any]]) – 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 Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide . You must specify at least two subnets. You can specify up to five security groups, but we recommend that you use a dedicated security group for your cluster control plane.

  • role_arn (str) – The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. For more information, see Amazon EKS Service IAM Role in the Amazon EKS User Guide .

  • access_config (Union[IResolvable, AccessConfigProperty, Dict[str, Any], None]) – The access configuration for the cluster.

  • bootstrap_self_managed_addons (Union[bool, IResolvable, None]) – If you set this value to False when creating a cluster, the default networking add-ons will not be installed. The default networking addons include vpc-cni, coredns, and kube-proxy. Use this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.

  • encryption_config (Union[IResolvable, Sequence[Union[IResolvable, EncryptionConfigProperty, Dict[str, Any]]], None]) – The encryption configuration for the cluster.

  • kubernetes_network_config (Union[IResolvable, KubernetesNetworkConfigProperty, Dict[str, Any], None]) – The Kubernetes network configuration for the cluster.

  • logging (Union[IResolvable, LoggingProperty, Dict[str, Any], None]) – The logging configuration for your cluster.

  • name (Optional[str]) – The unique name to give to your cluster.

  • outpost_config (Union[IResolvable, OutpostConfigProperty, Dict[str, Any], None]) – An object representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This object isn’t available for clusters on the AWS cloud.

  • tags (Optional[Sequence[Union[CfnTag, Dict[str, Any]]]]) – The metadata that you apply to the cluster to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Cluster tags don’t propagate to any other resources associated with the cluster. .. epigraph:: You must have the eks:TagResource and eks:UntagResource permissions for your IAM principal to manage the AWS CloudFormation stack. If you don’t have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.

  • upgrade_policy (Union[IResolvable, UpgradePolicyProperty, Dict[str, Any], None]) – This value indicates if extended support is enabled or disabled for the cluster. Learn more about EKS Extended Support in the EKS User Guide.

  • version (Optional[str]) – The desired Kubernetes version for your cluster. If you don’t specify a value here, the default version available in Amazon EKS is used. .. epigraph:: The default version might not be the latest version available.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_eks as eks

cfn_cluster_props = eks.CfnClusterProps(
    resources_vpc_config=eks.CfnCluster.ResourcesVpcConfigProperty(
        subnet_ids=["subnetIds"],

        # the properties below are optional
        endpoint_private_access=False,
        endpoint_public_access=False,
        public_access_cidrs=["publicAccessCidrs"],
        security_group_ids=["securityGroupIds"]
    ),
    role_arn="roleArn",

    # the properties below are optional
    access_config=eks.CfnCluster.AccessConfigProperty(
        authentication_mode="authenticationMode",
        bootstrap_cluster_creator_admin_permissions=False
    ),
    bootstrap_self_managed_addons=False,
    encryption_config=[eks.CfnCluster.EncryptionConfigProperty(
        provider=eks.CfnCluster.ProviderProperty(
            key_arn="keyArn"
        ),
        resources=["resources"]
    )],
    kubernetes_network_config=eks.CfnCluster.KubernetesNetworkConfigProperty(
        ip_family="ipFamily",
        service_ipv4_cidr="serviceIpv4Cidr",
        service_ipv6_cidr="serviceIpv6Cidr"
    ),
    logging=eks.CfnCluster.LoggingProperty(
        cluster_logging=eks.CfnCluster.ClusterLoggingProperty(
            enabled_types=[eks.CfnCluster.LoggingTypeConfigProperty(
                type="type"
            )]
        )
    ),
    name="name",
    outpost_config=eks.CfnCluster.OutpostConfigProperty(
        control_plane_instance_type="controlPlaneInstanceType",
        outpost_arns=["outpostArns"],

        # the properties below are optional
        control_plane_placement=eks.CfnCluster.ControlPlanePlacementProperty(
            group_name="groupName"
        )
    ),
    tags=[CfnTag(
        key="key",
        value="value"
    )],
    upgrade_policy=eks.CfnCluster.UpgradePolicyProperty(
        support_type="supportType"
    ),
    version="version"
)

Attributes

access_config

The access configuration for the cluster.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-accessconfig

bootstrap_self_managed_addons

If you set this value to False when creating a cluster, the default networking add-ons will not be installed.

The default networking addons include vpc-cni, coredns, and kube-proxy.

Use this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-bootstrapselfmanagedaddons

encryption_config

The encryption configuration for the cluster.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-encryptionconfig

kubernetes_network_config

The Kubernetes network configuration for the cluster.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-kubernetesnetworkconfig

logging

The logging configuration for your cluster.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-logging

name

The unique name to give to your cluster.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-name

outpost_config

An object representing the configuration of your local Amazon EKS cluster on an AWS Outpost.

This object isn’t available for clusters on the AWS cloud.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-outpostconfig

resources_vpc_config

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 Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide . You must specify at least two subnets. You can specify up to five security groups, but we recommend that you use a dedicated security group for your cluster control plane.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-resourcesvpcconfig

role_arn

The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

For more information, see Amazon EKS Service IAM Role in the Amazon EKS User Guide .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-rolearn

tags

The metadata that you apply to the cluster to assist with categorization and organization.

Each tag consists of a key and an optional value, both of which you define. Cluster tags don’t propagate to any other resources associated with the cluster. .. epigraph:

You must have the ``eks:TagResource`` and ``eks:UntagResource`` permissions for your `IAM principal <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html>`_ to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-tags

upgrade_policy

This value indicates if extended support is enabled or disabled for the cluster.

Learn more about EKS Extended Support in the EKS User Guide.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-upgradepolicy

version

The desired Kubernetes version for your cluster.

If you don’t specify a value here, the default version available in Amazon EKS is used. .. epigraph:

The default version might not be the latest version available.
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-version