CfnClusterPropsMixin
- class aws_cdk.mixins_preview.aws_eks.mixins.CfnClusterPropsMixin(props, *, strategy=None)
Bases:
MixinCreates an Amazon EKS control plane.
The Amazon EKS control plane consists of control plane instances that run the Kubernetes software, such as
etcdand the API server. The control plane runs in an account managed by AWS , and the Kubernetes API is exposed by the Amazon EKS API server endpoint. Each Amazon EKS cluster control plane is single tenant and unique. It runs on its own set of Amazon EC2 instances.The cluster control plane is provisioned across multiple Availability Zones and fronted by an ELB Network Load Balancer. Amazon EKS also provisions elastic network interfaces in your VPC subnets to provide connectivity from the control plane instances to the nodes (for example, to support
kubectl exec,logs, andproxydata flows).Amazon EKS nodes run in your AWS account and connect to your cluster’s control plane over the Kubernetes API server endpoint and a certificate file that is created for your cluster.
You can use the
endpointPublicAccessandendpointPrivateAccessparameters to enable or disable public and private access to your cluster’s Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. The endpoint domain name and IP address family depends on the value of theipFamilyfor the cluster. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide .You can use the
loggingparameter to 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 Amazon EKS Cluster Control Plane Logs in the Amazon EKS User Guide . .. epigraph:CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see `CloudWatch Pricing <https://docs.aws.amazon.com/cloudwatch/pricing/>`_ .
In most cases, it takes several minutes to create a cluster. After you create an Amazon EKS cluster, you must configure your Kubernetes tooling to communicate with the API server and launch nodes into your cluster. For more information, see Allowing users to access your cluster and Launching Amazon EKS nodes in the Amazon EKS User Guide .
- See:
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html
- CloudformationResource:
AWS::EKS::Cluster
- Mixin:
true
- 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.mixins_preview import mixins from aws_cdk.mixins_preview.aws_eks import mixins as eks_mixins cfn_cluster_props_mixin = eks_mixins.CfnClusterPropsMixin(eks_mixins.CfnClusterMixinProps( access_config=eks_mixins.CfnClusterPropsMixin.AccessConfigProperty( authentication_mode="authenticationMode", bootstrap_cluster_creator_admin_permissions=False ), bootstrap_self_managed_addons=False, compute_config=eks_mixins.CfnClusterPropsMixin.ComputeConfigProperty( enabled=False, node_pools=["nodePools"], node_role_arn="nodeRoleArn" ), control_plane_scaling_config=eks_mixins.CfnClusterPropsMixin.ControlPlaneScalingConfigProperty( tier="tier" ), deletion_protection=False, encryption_config=[eks_mixins.CfnClusterPropsMixin.EncryptionConfigProperty( provider=eks_mixins.CfnClusterPropsMixin.ProviderProperty( key_arn="keyArn" ), resources=["resources"] )], force=False, kubernetes_network_config=eks_mixins.CfnClusterPropsMixin.KubernetesNetworkConfigProperty( elastic_load_balancing=eks_mixins.CfnClusterPropsMixin.ElasticLoadBalancingProperty( enabled=False ), ip_family="ipFamily", service_ipv4_cidr="serviceIpv4Cidr", service_ipv6_cidr="serviceIpv6Cidr" ), logging=eks_mixins.CfnClusterPropsMixin.LoggingProperty( cluster_logging=eks_mixins.CfnClusterPropsMixin.ClusterLoggingProperty( enabled_types=[eks_mixins.CfnClusterPropsMixin.LoggingTypeConfigProperty( type="type" )] ) ), name="name", outpost_config=eks_mixins.CfnClusterPropsMixin.OutpostConfigProperty( control_plane_instance_type="controlPlaneInstanceType", control_plane_placement=eks_mixins.CfnClusterPropsMixin.ControlPlanePlacementProperty( group_name="groupName" ), outpost_arns=["outpostArns"] ), remote_network_config=eks_mixins.CfnClusterPropsMixin.RemoteNetworkConfigProperty( remote_node_networks=[eks_mixins.CfnClusterPropsMixin.RemoteNodeNetworkProperty( cidrs=["cidrs"] )], remote_pod_networks=[eks_mixins.CfnClusterPropsMixin.RemotePodNetworkProperty( cidrs=["cidrs"] )] ), resources_vpc_config=eks_mixins.CfnClusterPropsMixin.ResourcesVpcConfigProperty( endpoint_private_access=False, endpoint_public_access=False, public_access_cidrs=["publicAccessCidrs"], security_group_ids=["securityGroupIds"], subnet_ids=["subnetIds"] ), role_arn="roleArn", storage_config=eks_mixins.CfnClusterPropsMixin.StorageConfigProperty( block_storage=eks_mixins.CfnClusterPropsMixin.BlockStorageProperty( enabled=False ) ), tags=[CfnTag( key="key", value="value" )], upgrade_policy=eks_mixins.CfnClusterPropsMixin.UpgradePolicyProperty( support_type="supportType" ), version="version", zonal_shift_config=eks_mixins.CfnClusterPropsMixin.ZonalShiftConfigProperty( enabled=False ) ), strategy=mixins.PropertyMergeStrategy.OVERRIDE )
Create a mixin to apply properties to
AWS::EKS::Cluster.- Parameters:
props (
Union[CfnClusterMixinProps,Dict[str,Any]]) – L1 properties to apply.strategy (
Optional[PropertyMergeStrategy]) – (experimental) Strategy for merging nested properties. Default: - PropertyMergeStrategy.MERGE
Methods
- apply_to(construct)
Apply the mixin properties to the construct.
- Parameters:
construct (
IConstruct)- Return type:
- supports(construct)
Check if this mixin supports the given construct.
- Parameters:
construct (
IConstruct)- Return type:
bool
Attributes
- CFN_PROPERTY_KEYS = ['accessConfig', 'bootstrapSelfManagedAddons', 'computeConfig', 'controlPlaneScalingConfig', 'deletionProtection', 'encryptionConfig', 'force', 'kubernetesNetworkConfig', 'logging', 'name', 'outpostConfig', 'remoteNetworkConfig', 'resourcesVpcConfig', 'roleArn', 'storageConfig', 'tags', 'upgradePolicy', 'version', 'zonalShiftConfig']
Static Methods
- classmethod is_mixin(x)
(experimental) Checks if
xis a Mixin.- Parameters:
x (
Any) – Any object.- Return type:
bool- Returns:
true if
xis an object created from a class which extendsMixin.- Stability:
experimental
AccessConfigProperty
- class CfnClusterPropsMixin.AccessConfigProperty(*, authentication_mode=None, bootstrap_cluster_creator_admin_permissions=None)
Bases:
objectThe access configuration for the cluster.
- Parameters:
authentication_mode (
Optional[str]) – The desired authentication mode for the cluster. If you create a cluster by using the EKS API, AWS SDKs, or AWS CloudFormation , the default isCONFIG_MAP. If you create the cluster by using the AWS Management Console , the default value isAPI_AND_CONFIG_MAP.bootstrap_cluster_creator_admin_permissions (
Union[bool,IResolvable,None]) – Specifies whether or not the cluster creator IAM principal was set as a cluster admin access entry during cluster creation time. The default value istrue.
- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins access_config_property = eks_mixins.CfnClusterPropsMixin.AccessConfigProperty( authentication_mode="authenticationMode", bootstrap_cluster_creator_admin_permissions=False )
Attributes
- authentication_mode
The desired authentication mode for the cluster.
If you create a cluster by using the EKS API, AWS SDKs, or AWS CloudFormation , the default is
CONFIG_MAP. If you create the cluster by using the AWS Management Console , the default value isAPI_AND_CONFIG_MAP.
- bootstrap_cluster_creator_admin_permissions
Specifies whether or not the cluster creator IAM principal was set as a cluster admin access entry during cluster creation time.
The default value is
true.
BlockStorageProperty
- class CfnClusterPropsMixin.BlockStorageProperty(*, enabled=None)
Bases:
objectIndicates the current configuration of the block storage capability on your EKS Auto Mode cluster.
For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your AWS account. For more information, see EKS Auto Mode block storage capability in the Amazon EKS User Guide .
- Parameters:
enabled (
Union[bool,IResolvable,None]) – Indicates if the block storage capability is enabled on your EKS Auto Mode cluster. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your AWS account.- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins block_storage_property = eks_mixins.CfnClusterPropsMixin.BlockStorageProperty( enabled=False )
Attributes
- enabled
Indicates if the block storage capability is enabled on your EKS Auto Mode cluster.
If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your AWS account.
ClusterLoggingProperty
- class CfnClusterPropsMixin.ClusterLoggingProperty(*, enabled_types=None)
Bases:
objectThe cluster control plane logging configuration for your cluster.
When updating a resource, you must include this
ClusterLoggingproperty if the previous CloudFormation template of the resource had it.- Parameters:
enabled_types (
Union[IResolvable,Sequence[Union[IResolvable,LoggingTypeConfigProperty,Dict[str,Any]]],None]) – The enabled control plane logs for your cluster. All log types are disabled if the array is empty. .. epigraph:: When updating a resource, you must include thisEnabledTypesproperty if the previous CloudFormation template of the resource had it.- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins cluster_logging_property = eks_mixins.CfnClusterPropsMixin.ClusterLoggingProperty( enabled_types=[eks_mixins.CfnClusterPropsMixin.LoggingTypeConfigProperty( type="type" )] )
Attributes
- enabled_types
The enabled control plane logs for your cluster. All log types are disabled if the array is empty.
When updating a resource, you must include this
EnabledTypesproperty if the previous CloudFormation template of the resource had it.
ComputeConfigProperty
- class CfnClusterPropsMixin.ComputeConfigProperty(*, enabled=None, node_pools=None, node_role_arn=None)
Bases:
objectIndicates the current configuration of the compute capability on your EKS Auto Mode cluster.
For example, if the capability is enabled or disabled. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your AWS account. For more information, see EKS Auto Mode compute capability in the Amazon EKS User Guide .
- Parameters:
enabled (
Union[bool,IResolvable,None]) – Request to enable or disable the compute capability on your EKS Auto Mode cluster. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your AWS account.node_pools (
Optional[Sequence[str]]) – Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster. For more information, see EKS Auto Mode Node Pools in the Amazon EKS User Guide .node_role_arn (
Optional[str]) – The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster. This value cannot be changed after the compute capability of EKS Auto Mode is enabled. For more information, see the IAM Reference in the Amazon EKS User Guide .
- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins compute_config_property = eks_mixins.CfnClusterPropsMixin.ComputeConfigProperty( enabled=False, node_pools=["nodePools"], node_role_arn="nodeRoleArn" )
Attributes
- enabled
Request to enable or disable the compute capability on your EKS Auto Mode cluster.
If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your AWS account.
- node_pools
Configuration for node pools that defines the compute resources for your EKS Auto Mode cluster.
For more information, see EKS Auto Mode Node Pools in the Amazon EKS User Guide .
- node_role_arn
The ARN of the IAM Role EKS will assign to EC2 Managed Instances in your EKS Auto Mode cluster.
This value cannot be changed after the compute capability of EKS Auto Mode is enabled. For more information, see the IAM Reference in the Amazon EKS User Guide .
ControlPlanePlacementProperty
- class CfnClusterPropsMixin.ControlPlanePlacementProperty(*, group_name=None)
Bases:
objectThe placement configuration for all the control plane instances of your local Amazon EKS cluster on an AWS Outpost.
For more information, see Capacity considerations in the Amazon EKS User Guide .
- Parameters:
group_name (
Optional[str]) – The name of the placement group for the Kubernetes control plane instances. This property is only used for a local cluster on an AWS Outpost.- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins control_plane_placement_property = eks_mixins.CfnClusterPropsMixin.ControlPlanePlacementProperty( group_name="groupName" )
Attributes
- group_name
The name of the placement group for the Kubernetes control plane instances.
This property is only used for a local cluster on an AWS Outpost.
ControlPlaneScalingConfigProperty
- class CfnClusterPropsMixin.ControlPlaneScalingConfigProperty(*, tier=None)
Bases:
objectThe control plane scaling tier configuration.
For more information, see EKS Provisioned Control Plane in the Amazon EKS User Guide.
- Parameters:
tier (
Optional[str]) – The control plane scaling tier configuration. Available options arestandard,tier-xl,tier-2xl, ortier-4xl. For more information, see EKS Provisioned Control Plane in the Amazon EKS User Guide.- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins control_plane_scaling_config_property = eks_mixins.CfnClusterPropsMixin.ControlPlaneScalingConfigProperty( tier="tier" )
Attributes
- tier
The control plane scaling tier configuration.
Available options are
standard,tier-xl,tier-2xl, ortier-4xl. For more information, see EKS Provisioned Control Plane in the Amazon EKS User Guide.
ElasticLoadBalancingProperty
- class CfnClusterPropsMixin.ElasticLoadBalancingProperty(*, enabled=None)
Bases:
objectIndicates the current configuration of the load balancing capability on your EKS Auto Mode cluster.
For example, if the capability is enabled or disabled. For more information, see EKS Auto Mode load balancing capability in the Amazon EKS User Guide .
- Parameters:
enabled (
Union[bool,IResolvable,None]) – Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your AWS account.- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins elastic_load_balancing_property = eks_mixins.CfnClusterPropsMixin.ElasticLoadBalancingProperty( enabled=False )
Attributes
- enabled
Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster.
If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your AWS account.
EncryptionConfigProperty
- class CfnClusterPropsMixin.EncryptionConfigProperty(*, provider=None, resources=None)
Bases:
objectThe encryption configuration for the cluster.
- Parameters:
provider (
Union[IResolvable,ProviderProperty,Dict[str,Any],None]) – The encryption provider for the cluster.resources (
Optional[Sequence[str]]) – Specifies the resources to be encrypted. The only supported value issecrets.
- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins encryption_config_property = eks_mixins.CfnClusterPropsMixin.EncryptionConfigProperty( provider=eks_mixins.CfnClusterPropsMixin.ProviderProperty( key_arn="keyArn" ), resources=["resources"] )
Attributes
- provider
The encryption provider for the cluster.
- resources
Specifies the resources to be encrypted.
The only supported value is
secrets.
KubernetesNetworkConfigProperty
- class CfnClusterPropsMixin.KubernetesNetworkConfigProperty(*, elastic_load_balancing=None, ip_family=None, service_ipv4_cidr=None, service_ipv6_cidr=None)
Bases:
objectThe Kubernetes network configuration for the cluster.
- Parameters:
elastic_load_balancing (
Union[IResolvable,ElasticLoadBalancingProperty,Dict[str,Any],None]) – Request to enable or disable the load balancing capability on your EKS Auto Mode cluster. For more information, see EKS Auto Mode load balancing capability in the Amazon EKS User Guide .ip_family (
Optional[str]) – Specify which IP family is used to assign Kubernetes pod and service IP addresses. If you don’t specify a value,ipv4is used by default. You can only specify an IP family when you create a cluster and can’t change this value once the cluster is created. If you specifyipv6, the VPC and subnets that you specify for cluster creation must have bothIPv4andIPv6CIDR blocks assigned to them. You can’t specifyipv6for clusters in China Regions. You can only specifyipv6for1.21and later clusters that use version1.10.1or later of the Amazon VPC CNI add-on. If you specifyipv6, then ensure that your VPC meets the requirements listed in the considerations listed in Assigning IPv6 addresses to pods and services in the Amazon EKS User Guide . Kubernetes assigns servicesIPv6addresses from the unique local address range(fc00::/7). You can’t specify a customIPv6CIDR block. Pod addresses are assigned from the subnet’sIPv6CIDR.service_ipv4_cidr (
Optional[str]) – Don’t specify a value if you selectipv6for ipFamily . The CIDR block to assign Kubernetes service IP addresses from. If you don’t specify a block, Kubernetes assigns addresses from either the10.100.0.0/16or172.20.0.0/16CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. The block must meet the following requirements: - Within one of the following private IP address blocks:10.0.0.0/8,172.16.0.0/12, or192.168.0.0/16. - Doesn’t overlap with any CIDR block assigned to the VPC that you selected for VPC. - Between/24and/12. .. epigraph:: You can only specify a custom CIDR block when you create a cluster. You can’t change this value after the cluster is created.service_ipv6_cidr (
Optional[str]) – The CIDR block that Kubernetes pod and service IP addresses are assigned from if you created a 1.21 or later cluster with version 1.10.1 or later of the Amazon VPC CNI add-on and specifiedipv6for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can’t specify a custom IPv6 CIDR block when you create the cluster.
- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins kubernetes_network_config_property = eks_mixins.CfnClusterPropsMixin.KubernetesNetworkConfigProperty( elastic_load_balancing=eks_mixins.CfnClusterPropsMixin.ElasticLoadBalancingProperty( enabled=False ), ip_family="ipFamily", service_ipv4_cidr="serviceIpv4Cidr", service_ipv6_cidr="serviceIpv6Cidr" )
Attributes
- elastic_load_balancing
Request to enable or disable the load balancing capability on your EKS Auto Mode cluster.
For more information, see EKS Auto Mode load balancing capability in the Amazon EKS User Guide .
- ip_family
Specify which IP family is used to assign Kubernetes pod and service IP addresses.
If you don’t specify a value,
ipv4is used by default. You can only specify an IP family when you create a cluster and can’t change this value once the cluster is created. If you specifyipv6, the VPC and subnets that you specify for cluster creation must have bothIPv4andIPv6CIDR blocks assigned to them. You can’t specifyipv6for clusters in China Regions.You can only specify
ipv6for1.21and later clusters that use version1.10.1or later of the Amazon VPC CNI add-on. If you specifyipv6, then ensure that your VPC meets the requirements listed in the considerations listed in Assigning IPv6 addresses to pods and services in the Amazon EKS User Guide . Kubernetes assigns servicesIPv6addresses from the unique local address range(fc00::/7). You can’t specify a customIPv6CIDR block. Pod addresses are assigned from the subnet’sIPv6CIDR.
- service_ipv4_cidr
Don’t specify a value if you select
ipv6for ipFamily .The CIDR block to assign Kubernetes service IP addresses from. If you don’t specify a block, Kubernetes assigns addresses from either the
10.100.0.0/16or172.20.0.0/16CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. The block must meet the following requirements:Within one of the following private IP address blocks:
10.0.0.0/8,172.16.0.0/12, or192.168.0.0/16.Doesn’t overlap with any CIDR block assigned to the VPC that you selected for VPC.
Between
/24and/12.
You can only specify a custom CIDR block when you create a cluster. You can’t change this value after the cluster is created.
- service_ipv6_cidr
The CIDR block that Kubernetes pod and service IP addresses are assigned from if you created a 1.21 or later cluster with version 1.10.1 or later of the Amazon VPC CNI add-on and specified
ipv6for ipFamily when you created the cluster. Kubernetes assigns service addresses from the unique local address range (fc00::/7) because you can’t specify a custom IPv6 CIDR block when you create the cluster.
LoggingProperty
- class CfnClusterPropsMixin.LoggingProperty(*, cluster_logging=None)
Bases:
objectEnable 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 Amazon EKS Cluster control plane logs in the Amazon EKS User Guide . .. epigraph:
When updating a resource, you must include this ``Logging`` property if the previous CloudFormation template of the resource had it. > CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see `CloudWatch Pricing <https://docs.aws.amazon.com/cloudwatch/pricing/>`_ .
- Parameters:
cluster_logging (
Union[IResolvable,ClusterLoggingProperty,Dict[str,Any],None]) – The cluster control plane logging configuration for your cluster.- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins logging_property = eks_mixins.CfnClusterPropsMixin.LoggingProperty( cluster_logging=eks_mixins.CfnClusterPropsMixin.ClusterLoggingProperty( enabled_types=[eks_mixins.CfnClusterPropsMixin.LoggingTypeConfigProperty( type="type" )] ) )
Attributes
- cluster_logging
The cluster control plane logging configuration for your cluster.
LoggingTypeConfigProperty
- class CfnClusterPropsMixin.LoggingTypeConfigProperty(*, type=None)
Bases:
objectThe enabled logging type.
For a list of the valid logging types, see the
`typesproperty ofLogSetup<https://docs.aws.amazon.com/eks/latest/APIReference/API_LogSetup.html#AmazonEKS-Type-LogSetup-types>`_ in the Amazon EKS API Reference .- Parameters:
type (
Optional[str]) – The name of the log type.- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins logging_type_config_property = eks_mixins.CfnClusterPropsMixin.LoggingTypeConfigProperty( type="type" )
Attributes
OutpostConfigProperty
- class CfnClusterPropsMixin.OutpostConfigProperty(*, control_plane_instance_type=None, control_plane_placement=None, outpost_arns=None)
Bases:
objectThe configuration of your local Amazon EKS cluster on an AWS Outpost.
Before creating a cluster on an Outpost, review Creating a local cluster on an Outpost in the Amazon EKS User Guide . This API isn’t available for Amazon EKS clusters on the AWS cloud.
- Parameters:
control_plane_instance_type (
Optional[str]) –The Amazon EC2 instance type that you want to use for your local Amazon EKS cluster on Outposts. Choose an instance type based on the number of nodes that your cluster will have. For more information, see Capacity considerations in the Amazon EKS User Guide . The instance type that you specify is used for all Kubernetes control plane instances. The instance type can’t be changed after cluster creation. The control plane is not automatically scaled by Amazon EKS.
control_plane_placement (
Union[IResolvable,ControlPlanePlacementProperty,Dict[str,Any],None]) –An object representing the placement configuration for all the control plane instances of your local Amazon EKS cluster on an AWS Outpost. For more information, see Capacity considerations in the Amazon EKS User Guide .
outpost_arns (
Optional[Sequence[str]]) – The ARN of the Outpost that you want to use for your local Amazon EKS cluster on Outposts. Only a single Outpost ARN is supported.
- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins outpost_config_property = eks_mixins.CfnClusterPropsMixin.OutpostConfigProperty( control_plane_instance_type="controlPlaneInstanceType", control_plane_placement=eks_mixins.CfnClusterPropsMixin.ControlPlanePlacementProperty( group_name="groupName" ), outpost_arns=["outpostArns"] )
Attributes
- control_plane_instance_type
The Amazon EC2 instance type that you want to use for your local Amazon EKS cluster on Outposts.
Choose an instance type based on the number of nodes that your cluster will have. For more information, see Capacity considerations in the Amazon EKS User Guide .
The instance type that you specify is used for all Kubernetes control plane instances. The instance type can’t be changed after cluster creation. The control plane is not automatically scaled by Amazon EKS.
- control_plane_placement
An object representing the placement configuration for all the control plane instances of your local Amazon EKS cluster on an AWS Outpost.
For more information, see Capacity considerations in the Amazon EKS User Guide .
- outpost_arns
The ARN of the Outpost that you want to use for your local Amazon EKS cluster on Outposts.
Only a single Outpost ARN is supported.
ProviderProperty
- class CfnClusterPropsMixin.ProviderProperty(*, key_arn=None)
Bases:
objectIdentifies the AWS Key Management Service ( AWS ) key used to encrypt the secrets.
- Parameters:
key_arn (
Optional[str]) – Amazon Resource Name (ARN) or alias of the KMS key. The KMS key must be symmetric and created in the same AWS Region as the cluster. If the KMS key was created in a different account, the IAM principal must have access to the KMS key. For more information, see Allowing users in other accounts to use a KMS key in the AWS Key Management Service Developer Guide .- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins provider_property = eks_mixins.CfnClusterPropsMixin.ProviderProperty( key_arn="keyArn" )
Attributes
- key_arn
Amazon Resource Name (ARN) or alias of the KMS key.
The KMS key must be symmetric and created in the same AWS Region as the cluster. If the KMS key was created in a different account, the IAM principal must have access to the KMS key. For more information, see Allowing users in other accounts to use a KMS key in the AWS Key Management Service Developer Guide .
RemoteNetworkConfigProperty
- class CfnClusterPropsMixin.RemoteNetworkConfigProperty(*, remote_node_networks=None, remote_pod_networks=None)
Bases:
objectThe configuration in the cluster for EKS Hybrid Nodes.
You can add, change, or remove this configuration after the cluster is created.
- Parameters:
remote_node_networks (
Union[IResolvable,Sequence[Union[IResolvable,RemoteNodeNetworkProperty,Dict[str,Any]]],None]) – The list of network CIDRs that can contain hybrid nodes. These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator. Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,10.2.0.0/16). It must satisfy the following requirements: - Each block must be within anIPv4RFC-1918 network range. Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable addresses aren’t supported. - Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range. - Each block must have a route to the VPC that uses the VPC CIDR blocks, not public IPs or Elastic IPs. There are many options including AWS Transit Gateway , AWS Site-to-Site VPN , or AWS Direct Connect . - Each host must allow outbound connection to the EKS cluster control plane on TCP ports443and10250. - Each host must allow inbound connection from the EKS cluster control plane on TCP port 10250 for logs, exec and port-forward operations. - Each host must allow TCP and UDP network connectivity to and from other hosts that are runningCoreDNSon UDP port53for service and pod DNS names.remote_pod_networks (
Union[IResolvable,Sequence[Union[IResolvable,RemotePodNetworkProperty,Dict[str,Any]]],None]) – The list of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes. These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn’t available for on-premises and edge locations. Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,10.2.0.0/16). It must satisfy the following requirements: - Each block must be within anIPv4RFC-1918 network range. Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable addresses aren’t supported. - Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.
- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins remote_network_config_property = eks_mixins.CfnClusterPropsMixin.RemoteNetworkConfigProperty( remote_node_networks=[eks_mixins.CfnClusterPropsMixin.RemoteNodeNetworkProperty( cidrs=["cidrs"] )], remote_pod_networks=[eks_mixins.CfnClusterPropsMixin.RemotePodNetworkProperty( cidrs=["cidrs"] )] )
Attributes
- remote_node_networks
The list of network CIDRs that can contain hybrid nodes.
These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator.
Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,
10.2.0.0/16).It must satisfy the following requirements:
Each block must be within an
IPv4RFC-1918 network range. Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable addresses aren’t supported.Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.
Each block must have a route to the VPC that uses the VPC CIDR blocks, not public IPs or Elastic IPs. There are many options including AWS Transit Gateway , AWS Site-to-Site VPN , or AWS Direct Connect .
Each host must allow outbound connection to the EKS cluster control plane on TCP ports
443and10250.Each host must allow inbound connection from the EKS cluster control plane on TCP port 10250 for logs, exec and port-forward operations.
Each host must allow TCP and UDP network connectivity to and from other hosts that are running
CoreDNSon UDP port53for service and pod DNS names.
- remote_pod_networks
The list of network CIDRs that can contain pods that run Kubernetes webhooks on hybrid nodes.
These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn’t available for on-premises and edge locations.
Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,
10.2.0.0/16).It must satisfy the following requirements:
Each block must be within an
IPv4RFC-1918 network range. Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable addresses aren’t supported.Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.
RemoteNodeNetworkProperty
- class CfnClusterPropsMixin.RemoteNodeNetworkProperty(*, cidrs=None)
Bases:
objectA network CIDR that can contain hybrid nodes.
These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator.
Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,
10.2.0.0/16).It must satisfy the following requirements:
Each block must be within an
IPv4RFC-1918 network range. Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable addresses aren’t supported.Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.
Each block must have a route to the VPC that uses the VPC CIDR blocks, not public IPs or Elastic IPs. There are many options including AWS Transit Gateway , AWS Site-to-Site VPN , or AWS Direct Connect .
Each host must allow outbound connection to the EKS cluster control plane on TCP ports
443and10250.Each host must allow inbound connection from the EKS cluster control plane on TCP port 10250 for logs, exec and port-forward operations.
Each host must allow TCP and UDP network connectivity to and from other hosts that are running
CoreDNSon UDP port53for service and pod DNS names.
- Parameters:
cidrs (
Optional[Sequence[str]]) – A network CIDR that can contain hybrid nodes. These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator. Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,10.2.0.0/16). It must satisfy the following requirements: - Each block must be within anIPv4RFC-1918 network range. Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable addresses aren’t supported. - Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range. - Each block must have a route to the VPC that uses the VPC CIDR blocks, not public IPs or Elastic IPs. There are many options including AWS Transit Gateway , AWS Site-to-Site VPN , or AWS Direct Connect . - Each host must allow outbound connection to the EKS cluster control plane on TCP ports443and10250. - Each host must allow inbound connection from the EKS cluster control plane on TCP port 10250 for logs, exec and port-forward operations. - Each host must allow TCP and UDP network connectivity to and from other hosts that are runningCoreDNSon UDP port53for service and pod DNS names.- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins remote_node_network_property = eks_mixins.CfnClusterPropsMixin.RemoteNodeNetworkProperty( cidrs=["cidrs"] )
Attributes
- cidrs
A network CIDR that can contain hybrid nodes.
These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator.
Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,
10.2.0.0/16).It must satisfy the following requirements:
Each block must be within an
IPv4RFC-1918 network range. Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable addresses aren’t supported.Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.
Each block must have a route to the VPC that uses the VPC CIDR blocks, not public IPs or Elastic IPs. There are many options including AWS Transit Gateway , AWS Site-to-Site VPN , or AWS Direct Connect .
Each host must allow outbound connection to the EKS cluster control plane on TCP ports
443and10250.Each host must allow inbound connection from the EKS cluster control plane on TCP port 10250 for logs, exec and port-forward operations.
Each host must allow TCP and UDP network connectivity to and from other hosts that are running
CoreDNSon UDP port53for service and pod DNS names.
RemotePodNetworkProperty
- class CfnClusterPropsMixin.RemotePodNetworkProperty(*, cidrs=None)
Bases:
objectA network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.
These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn’t available for on-premises and edge locations.
Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,
10.2.0.0/16).It must satisfy the following requirements:
Each block must be within an
IPv4RFC-1918 network range. Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable addresses aren’t supported.Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.
- Parameters:
cidrs (
Optional[Sequence[str]]) – A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes. These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn’t available for on-premises and edge locations. Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,10.2.0.0/16). It must satisfy the following requirements: - Each block must be within anIPv4RFC-1918 network range. Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable addresses aren’t supported. - Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins remote_pod_network_property = eks_mixins.CfnClusterPropsMixin.RemotePodNetworkProperty( cidrs=["cidrs"] )
Attributes
- cidrs
A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.
These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn’t available for on-premises and edge locations.
Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example,
10.2.0.0/16).It must satisfy the following requirements:
Each block must be within an
IPv4RFC-1918 network range. Minimum allowed size is /32, maximum allowed size is /8. Publicly-routable addresses aren’t supported.Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.
ResourcesVpcConfigProperty
- class CfnClusterPropsMixin.ResourcesVpcConfigProperty(*, endpoint_private_access=None, endpoint_public_access=None, public_access_cidrs=None, security_group_ids=None, subnet_ids=None)
Bases:
objectAn object representing the VPC configuration to use for an Amazon EKS cluster.
When updating a resource, you must include these properties if the previous CloudFormation template of the resource had them:
EndpointPublicAccessEndpointPrivateAccessPublicAccessCidrs
- Parameters:
endpoint_private_access (
Union[bool,IResolvable,None]) – Set this value totrueto enable private access for your cluster’s Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster’s VPC use the private VPC endpoint. The default value for this parameter isfalse, which disables private access for your Kubernetes API server. If you disable private access and you have nodes or AWS Fargate pods in the cluster, then ensure thatpublicAccessCidrsincludes the necessary CIDR blocks for communication with the nodes or Fargate pods. For more information, see Cluster API server endpoint in the Amazon EKS User Guide .endpoint_public_access (
Union[bool,IResolvable,None]) –Set this value to
falseto disable public access to your cluster’s Kubernetes API server endpoint. If you disable public access, your cluster’s Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter istrue, which enables public access for your Kubernetes API server. The endpoint domain name and IP address family depends on the value of theipFamilyfor the cluster. For more information, see Cluster API server endpoint in the Amazon EKS User Guide .public_access_cidrs (
Optional[Sequence[str]]) –The CIDR blocks that are allowed access to your cluster’s public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is
0.0.0.0/0and additionally::/0for dual-stackIPv6clusters. If you’ve disabled private endpoint access, make sure that you specify the necessary CIDR blocks for every node and AWS FargatePodin the cluster. For more information, see Cluster API server endpoint in the Amazon EKS User Guide . Note that the public endpoints are dual-stack for onlyIPv6clusters that are made after October 2024. You can’t addIPv6CIDR blocks toIPv4clusters orIPv6clusters that were made before October 2024.security_group_ids (
Optional[Sequence[str]]) – Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use that allow communication between your nodes and the Kubernetes control plane. If you don’t specify any security groups, then familiarize yourself with the difference between Amazon EKS defaults for clusters deployed with Kubernetes. For more information, see Amazon EKS security group considerations in the Amazon EKS User Guide .subnet_ids (
Optional[Sequence[str]]) – Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your nodes and the Kubernetes control plane.
- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins resources_vpc_config_property = eks_mixins.CfnClusterPropsMixin.ResourcesVpcConfigProperty( endpoint_private_access=False, endpoint_public_access=False, public_access_cidrs=["publicAccessCidrs"], security_group_ids=["securityGroupIds"], subnet_ids=["subnetIds"] )
Attributes
- endpoint_private_access
Set this value to
trueto enable private access for your cluster’s Kubernetes API server endpoint.If you enable private access, Kubernetes API requests from within your cluster’s VPC use the private VPC endpoint. The default value for this parameter is
false, which disables private access for your Kubernetes API server. If you disable private access and you have nodes or AWS Fargate pods in the cluster, then ensure thatpublicAccessCidrsincludes the necessary CIDR blocks for communication with the nodes or Fargate pods. For more information, see Cluster API server endpoint in the Amazon EKS User Guide .
- endpoint_public_access
Set this value to
falseto disable public access to your cluster’s Kubernetes API server endpoint.If you disable public access, your cluster’s Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is
true, which enables public access for your Kubernetes API server. The endpoint domain name and IP address family depends on the value of theipFamilyfor the cluster. For more information, see Cluster API server endpoint in the Amazon EKS User Guide .
- public_access_cidrs
The CIDR blocks that are allowed access to your cluster’s public Kubernetes API server endpoint.
Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is
0.0.0.0/0and additionally::/0for dual-stackIPv6clusters. If you’ve disabled private endpoint access, make sure that you specify the necessary CIDR blocks for every node and AWS FargatePodin the cluster. For more information, see Cluster API server endpoint in the Amazon EKS User Guide .Note that the public endpoints are dual-stack for only
IPv6clusters that are made after October 2024. You can’t addIPv6CIDR blocks toIPv4clusters orIPv6clusters that were made before October 2024.
- security_group_ids
Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use that allow communication between your nodes and the Kubernetes control plane.
If you don’t specify any security groups, then familiarize yourself with the difference between Amazon EKS defaults for clusters deployed with Kubernetes. For more information, see Amazon EKS security group considerations in the Amazon EKS User Guide .
- subnet_ids
Specify subnets for your Amazon EKS nodes.
Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your nodes and the Kubernetes control plane.
StorageConfigProperty
- class CfnClusterPropsMixin.StorageConfigProperty(*, block_storage=None)
Bases:
objectRequest to update the configuration of the storage capability of your EKS Auto Mode cluster.
For example, enable the capability. For more information, see EKS Auto Mode block storage capability in the Amazon EKS User Guide .
- Parameters:
block_storage (
Union[IResolvable,BlockStorageProperty,Dict[str,Any],None]) – Request to configure EBS Block Storage settings for your EKS Auto Mode cluster.- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins storage_config_property = eks_mixins.CfnClusterPropsMixin.StorageConfigProperty( block_storage=eks_mixins.CfnClusterPropsMixin.BlockStorageProperty( enabled=False ) )
Attributes
- block_storage
Request to configure EBS Block Storage settings for your EKS Auto Mode cluster.
UpgradePolicyProperty
- class CfnClusterPropsMixin.UpgradePolicyProperty(*, support_type=None)
Bases:
objectThe support policy to use for the cluster.
Extended support allows you to remain on specific Kubernetes versions for longer. Clusters in extended support have higher costs. The default value is
EXTENDED. UseSTANDARDto disable extended support.Learn more about EKS Extended Support in the *Amazon EKS User Guide* .
- Parameters:
support_type (
Optional[str]) –If the cluster is set to
EXTENDED, it will enter extended support at the end of standard support. If the cluster is set toSTANDARD, it will be automatically upgraded at the end of standard support. Learn more about EKS Extended Support in the *Amazon EKS User Guide* .- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins upgrade_policy_property = eks_mixins.CfnClusterPropsMixin.UpgradePolicyProperty( support_type="supportType" )
Attributes
- support_type
If the cluster is set to
EXTENDED, it will enter extended support at the end of standard support.If the cluster is set to
STANDARD, it will be automatically upgraded at the end of standard support.Learn more about EKS Extended Support in the *Amazon EKS User Guide* .
ZonalShiftConfigProperty
- class CfnClusterPropsMixin.ZonalShiftConfigProperty(*, enabled=None)
Bases:
objectThe configuration for zonal shift for the cluster.
- Parameters:
enabled (
Union[bool,IResolvable,None]) – If zonal shift is enabled, AWS configures zonal autoshift for the cluster.- See:
- 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.mixins_preview.aws_eks import mixins as eks_mixins zonal_shift_config_property = eks_mixins.CfnClusterPropsMixin.ZonalShiftConfigProperty( enabled=False )
Attributes
- enabled
If zonal shift is enabled, AWS configures zonal autoshift for the cluster.