Class CfnClusterPropsMixin

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.Mixin
software.amazon.awscdk.cfnpropertymixins.services.eks.CfnClusterPropsMixin
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable, software.constructs.IMixin

@Generated(value="jsii-pacmak/1.127.0 (build 2117ad5)", date="2026-03-11T13:19:59.049Z") @Stability(Stable) public class CfnClusterPropsMixin extends Mixin implements software.constructs.IMixin
Creates an Amazon EKS control plane.

The Amazon EKS control plane consists of control plane instances that run the Kubernetes software, such as etcd and 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 , and proxy data 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 endpointPublicAccess and endpointPrivateAccess parameters 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 the ipFamily for the cluster. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide .

You can use the logging parameter 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 .

CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see 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 .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.cfnpropertymixins.services.eks.*;
 import software.amazon.awscdk.*;
 IMergeStrategy mergeStrategy;
 CfnClusterPropsMixin cfnClusterPropsMixin = CfnClusterPropsMixin.Builder.create(CfnClusterMixinProps.builder()
         .accessConfig(AccessConfigProperty.builder()
                 .authenticationMode("authenticationMode")
                 .bootstrapClusterCreatorAdminPermissions(false)
                 .build())
         .bootstrapSelfManagedAddons(false)
         .computeConfig(ComputeConfigProperty.builder()
                 .enabled(false)
                 .nodePools(List.of("nodePools"))
                 .nodeRoleArn("nodeRoleArn")
                 .build())
         .controlPlaneScalingConfig(ControlPlaneScalingConfigProperty.builder()
                 .tier("tier")
                 .build())
         .deletionProtection(false)
         .encryptionConfig(List.of(EncryptionConfigProperty.builder()
                 .provider(ProviderProperty.builder()
                         .keyArn("keyArn")
                         .build())
                 .resources(List.of("resources"))
                 .build()))
         .force(false)
         .kubernetesNetworkConfig(KubernetesNetworkConfigProperty.builder()
                 .elasticLoadBalancing(ElasticLoadBalancingProperty.builder()
                         .enabled(false)
                         .build())
                 .ipFamily("ipFamily")
                 .serviceIpv4Cidr("serviceIpv4Cidr")
                 .serviceIpv6Cidr("serviceIpv6Cidr")
                 .build())
         .logging(LoggingProperty.builder()
                 .clusterLogging(ClusterLoggingProperty.builder()
                         .enabledTypes(List.of(LoggingTypeConfigProperty.builder()
                                 .type("type")
                                 .build()))
                         .build())
                 .build())
         .name("name")
         .outpostConfig(OutpostConfigProperty.builder()
                 .controlPlaneInstanceType("controlPlaneInstanceType")
                 .controlPlanePlacement(ControlPlanePlacementProperty.builder()
                         .groupName("groupName")
                         .build())
                 .outpostArns(List.of("outpostArns"))
                 .build())
         .remoteNetworkConfig(RemoteNetworkConfigProperty.builder()
                 .remoteNodeNetworks(List.of(RemoteNodeNetworkProperty.builder()
                         .cidrs(List.of("cidrs"))
                         .build()))
                 .remotePodNetworks(List.of(RemotePodNetworkProperty.builder()
                         .cidrs(List.of("cidrs"))
                         .build()))
                 .build())
         .resourcesVpcConfig(ResourcesVpcConfigProperty.builder()
                 .endpointPrivateAccess(false)
                 .endpointPublicAccess(false)
                 .publicAccessCidrs(List.of("publicAccessCidrs"))
                 .securityGroupIds(List.of("securityGroupIds"))
                 .subnetIds(List.of("subnetIds"))
                 .build())
         .roleArn("roleArn")
         .storageConfig(StorageConfigProperty.builder()
                 .blockStorage(BlockStorageProperty.builder()
                         .enabled(false)
                         .build())
                 .build())
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .upgradePolicy(UpgradePolicyProperty.builder()
                 .supportType("supportType")
                 .build())
         .version("version")
         .zonalShiftConfig(ZonalShiftConfigProperty.builder()
                 .enabled(false)
                 .build())
         .build())
 .strategy(mergeStrategy)
 .build();
 

See Also:
  • Field Details

    • CFN_PROPERTY_KEYS

      @Stability(Stable) protected static final List<String> CFN_PROPERTY_KEYS
  • Constructor Details

    • CfnClusterPropsMixin

      protected CfnClusterPropsMixin(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnClusterPropsMixin

      protected CfnClusterPropsMixin(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnClusterPropsMixin

      @Stability(Stable) public CfnClusterPropsMixin(@NotNull CfnClusterMixinProps props, @Nullable CfnPropertyMixinOptions options)
      Create a mixin to apply properties to AWS::EKS::Cluster.

      Parameters:
      props - L1 properties to apply. This parameter is required.
      options - Mixin options.
    • CfnClusterPropsMixin

      @Stability(Stable) public CfnClusterPropsMixin(@NotNull CfnClusterMixinProps props)
      Create a mixin to apply properties to AWS::EKS::Cluster.

      Parameters:
      props - L1 properties to apply. This parameter is required.
  • Method Details

    • applyTo

      @Stability(Stable) public void applyTo(@NotNull software.constructs.IConstruct construct)
      Apply the mixin properties to the construct.

      Specified by:
      applyTo in interface software.constructs.IMixin
      Specified by:
      applyTo in class Mixin
      Parameters:
      construct - This parameter is required.
    • supports

      @Stability(Stable) @NotNull public Boolean supports(@NotNull software.constructs.IConstruct construct)
      Check if this mixin supports the given construct.

      Specified by:
      supports in interface software.constructs.IMixin
      Overrides:
      supports in class Mixin
      Parameters:
      construct - This parameter is required.
    • getProps

      @Stability(Stable) @NotNull protected CfnClusterMixinProps getProps()
    • getStrategy

      @Stability(Stable) @NotNull protected IMergeStrategy getStrategy()