Interface CfnClusterProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnClusterProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:46.524Z") @Stability(Stable) public interface CfnClusterProps extends software.amazon.jsii.JsiiSerializable
Properties for defining a CfnCluster.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.eks.*;
 CfnClusterProps cfnClusterProps = CfnClusterProps.builder()
         .resourcesVpcConfig(ResourcesVpcConfigProperty.builder()
                 .subnetIds(List.of("subnetIds"))
                 // the properties below are optional
                 .endpointPrivateAccess(false)
                 .endpointPublicAccess(false)
                 .publicAccessCidrs(List.of("publicAccessCidrs"))
                 .securityGroupIds(List.of("securityGroupIds"))
                 .build())
         .roleArn("roleArn")
         // the properties below are optional
         .encryptionConfig(List.of(EncryptionConfigProperty.builder()
                 .provider(ProviderProperty.builder()
                         .keyArn("keyArn")
                         .build())
                 .resources(List.of("resources"))
                 .build()))
         .kubernetesNetworkConfig(KubernetesNetworkConfigProperty.builder()
                 .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")
                 .outpostArns(List.of("outpostArns"))
                 // the properties below are optional
                 .controlPlanePlacement(ControlPlanePlacementProperty.builder()
                         .groupName("groupName")
                         .build())
                 .build())
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .version("version")
         .build();
 
  • Method Details

    • getResourcesVpcConfig

      @Stability(Stable) @NotNull Object getResourcesVpcConfig()
      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.

      Updates require replacement of the SecurityGroupIds and SubnetIds sub-properties.

    • getRoleArn

      @Stability(Stable) @NotNull String getRoleArn()
      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 .

    • getEncryptionConfig

      @Stability(Stable) @Nullable default Object getEncryptionConfig()
      The encryption configuration for the cluster.
    • getKubernetesNetworkConfig

      @Stability(Stable) @Nullable default Object getKubernetesNetworkConfig()
      The Kubernetes network configuration for the cluster.
    • getLogging

      @Stability(Stable) @Nullable default Object getLogging()
      The logging configuration for your cluster.
    • getName

      @Stability(Stable) @Nullable default String getName()
      The unique name to give to your cluster.
    • getOutpostConfig

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

    • getTags

      @Stability(Stable) @Nullable default List<CfnTag> getTags()
      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.

      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.

    • getVersion

      @Stability(Stable) @Nullable default String getVersion()
      The desired Kubernetes version for your cluster.

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

      The default version might not be the latest version available.

    • builder

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