Interface ClusterProps

All Superinterfaces:
ClusterOptions, CommonClusterOptions, software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
ClusterProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.112.0 (build de1bc80)", date="2025-07-29T17:51:00.294Z") @Stability(Stable) public interface ClusterProps extends software.amazon.jsii.JsiiSerializable, ClusterOptions
Common configuration props for EKS clusters.

Example:

 import software.amazon.awscdk.cdk.lambdalayer.kubectl.v33.KubectlV33Layer;
 // or
 Vpc vpc;
 Cluster.Builder.create(this, "MyCluster")
         .kubectlMemory(Size.gibibytes(4))
         .version(KubernetesVersion.V1_33)
         .kubectlLayer(new KubectlV33Layer(this, "kubectl"))
         .build();
 Cluster.fromClusterAttributes(this, "MyCluster", ClusterAttributes.builder()
         .kubectlMemory(Size.gibibytes(4))
         .vpc(vpc)
         .clusterName("cluster-name")
         .build());
 
  • Method Details

    • getBootstrapClusterCreatorAdminPermissions

      @Stability(Stable) @Nullable default Boolean getBootstrapClusterCreatorAdminPermissions()
      Whether or not IAM principal of the cluster creator was set as a cluster admin access entry during cluster creation time.

      Changing this value after the cluster has been created will result in the cluster being replaced.

      Default: true

    • getBootstrapSelfManagedAddons

      @Stability(Stable) @Nullable default Boolean getBootstrapSelfManagedAddons()
      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.

      Changing this value after the cluster has been created will result in the cluster being replaced.

      Default: true

    • getDefaultCapacity

      @Stability(Stable) @Nullable default Number getDefaultCapacity()
      Number of instances to allocate as an initial capacity for this cluster.

      Instance type can be configured through defaultCapacityInstanceType, which defaults to m5.large.

      Use cluster.addAutoScalingGroupCapacity to add additional customized capacity. Set this to 0 is you wish to avoid the initial capacity allocation.

      Default: 2

    • getDefaultCapacityInstance

      @Stability(Stable) @Nullable default InstanceType getDefaultCapacityInstance()
      The instance type to use for the default capacity.

      This will only be taken into account if defaultCapacity is > 0.

      Default: m5.large

    • getDefaultCapacityType

      @Stability(Stable) @Nullable default DefaultCapacityType getDefaultCapacityType()
      The default capacity type for the cluster.

      Default: NODEGROUP

    • getKubectlLambdaRole

      @Stability(Stable) @Nullable default IRole getKubectlLambdaRole()
      The IAM role to pass to the Kubectl Lambda Handler.

      Default: - Default Lambda IAM Execution Role

    • getTags

      @Stability(Stable) @Nullable default Map<String,String> getTags()
      The tags assigned to the EKS cluster.

      Default: - none

    • builder

      @Stability(Stable) static ClusterProps.Builder builder()
      Returns:
      a ClusterProps.Builder of ClusterProps