Class ClusterProps.Jsii$Proxy

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.eks.ClusterProps.Jsii$Proxy
All Implemented Interfaces:
ClusterOptions, ClusterProps, CommonClusterOptions, software.amazon.jsii.JsiiSerializable
Enclosing interface:
ClusterProps

@Stability(Stable) @Internal public static final class ClusterProps.Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ClusterProps
An implementation for ClusterProps
  • Constructor Details

    • Jsii$Proxy

      protected Jsii$Proxy(software.amazon.jsii.JsiiObjectRef objRef)
      Constructor that initializes the object based on values retrieved from the JsiiObject.
      Parameters:
      objRef - Reference to the JSII managed object.
    • Jsii$Proxy

      protected Jsii$Proxy(ClusterProps.Builder builder)
      Constructor that initializes the object based on literal property values passed by the ClusterProps.Builder.
  • Method Details

    • getBootstrapClusterCreatorAdminPermissions

      public final Boolean getBootstrapClusterCreatorAdminPermissions()
      Description copied from interface: ClusterProps
      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

      Specified by:
      getBootstrapClusterCreatorAdminPermissions in interface ClusterProps
    • getDefaultCapacity

      public final Number getDefaultCapacity()
      Description copied from interface: ClusterProps
      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

      Specified by:
      getDefaultCapacity in interface ClusterProps
    • getDefaultCapacityInstance

      public final InstanceType getDefaultCapacityInstance()
      Description copied from interface: ClusterProps
      The instance type to use for the default capacity.

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

      Default: m5.large

      Specified by:
      getDefaultCapacityInstance in interface ClusterProps
    • getDefaultCapacityType

      public final DefaultCapacityType getDefaultCapacityType()
      Description copied from interface: ClusterProps
      The default capacity type for the cluster.

      Default: NODEGROUP

      Specified by:
      getDefaultCapacityType in interface ClusterProps
    • getKubectlLambdaRole

      public final IRole getKubectlLambdaRole()
      Description copied from interface: ClusterProps
      The IAM role to pass to the Kubectl Lambda Handler.

      Default: - Default Lambda IAM Execution Role

      Specified by:
      getKubectlLambdaRole in interface ClusterProps
    • getTags

      public final Map<String,String> getTags()
      Description copied from interface: ClusterProps
      The tags assigned to the EKS cluster.

      Default: - none

      Specified by:
      getTags in interface ClusterProps
    • getAlbController

      public final AlbControllerOptions getAlbController()
      Description copied from interface: ClusterOptions
      Install the AWS Load Balancer Controller onto the cluster.

      Default: - The controller is not installed.

      Specified by:
      getAlbController in interface ClusterOptions
      See Also:
    • getAuthenticationMode

      public final AuthenticationMode getAuthenticationMode()
      Description copied from interface: ClusterOptions
      The desired authentication mode for the cluster.

      Default: AuthenticationMode.CONFIG_MAP

      Specified by:
      getAuthenticationMode in interface ClusterOptions
    • getAwscliLayer

      public final ILayerVersion getAwscliLayer()
      Description copied from interface: ClusterOptions
      An AWS Lambda layer that contains the aws CLI.

      The handler expects the layer to include the following executables:

       /opt/awscli/aws
       

      Default: - a default layer with the AWS CLI 1.x

      Specified by:
      getAwscliLayer in interface ClusterOptions
    • getClusterHandlerEnvironment

      public final Map<String,String> getClusterHandlerEnvironment()
      Description copied from interface: ClusterOptions
      Custom environment variables when interacting with the EKS endpoint to manage the cluster lifecycle.

      Default: - No environment variables.

      Specified by:
      getClusterHandlerEnvironment in interface ClusterOptions
    • getClusterHandlerSecurityGroup

      public final ISecurityGroup getClusterHandlerSecurityGroup()
      Description copied from interface: ClusterOptions
      A security group to associate with the Cluster Handler's Lambdas.

      The Cluster Handler's Lambdas are responsible for calling AWS's EKS API.

      Requires placeClusterHandlerInVpc to be set to true.

      Default: - No security group.

      Specified by:
      getClusterHandlerSecurityGroup in interface ClusterOptions
    • getClusterLogging

      public final List<ClusterLoggingTypes> getClusterLogging()
      Description copied from interface: ClusterOptions
      The cluster log types which you want to enable.

      Default: - none

      Specified by:
      getClusterLogging in interface ClusterOptions
    • getCoreDnsComputeType

      public final CoreDnsComputeType getCoreDnsComputeType()
      Description copied from interface: ClusterOptions
      Controls the "eks.amazonaws.com/compute-type" annotation in the CoreDNS configuration on your cluster to determine which compute type to use for CoreDNS.

      Default: CoreDnsComputeType.EC2 (for `FargateCluster` the default is FARGATE)

      Specified by:
      getCoreDnsComputeType in interface ClusterOptions
    • getEndpointAccess

      public final EndpointAccess getEndpointAccess()
      Description copied from interface: ClusterOptions
      Configure access to the Kubernetes API server endpoint..

      Default: EndpointAccess.PUBLIC_AND_PRIVATE

      Specified by:
      getEndpointAccess in interface ClusterOptions
      See Also:
    • getIpFamily

      public final IpFamily getIpFamily()
      Description copied from interface: ClusterOptions
      Specify which IP family is used to assign Kubernetes pod and service IP addresses.

      Default: - IpFamily.IP_V4

      Specified by:
      getIpFamily in interface ClusterOptions
      See Also:
    • getKubectlEnvironment

      public final Map<String,String> getKubectlEnvironment()
      Description copied from interface: ClusterOptions
      Environment variables for the kubectl execution.

      Only relevant for kubectl enabled clusters.

      Default: - No environment variables.

      Specified by:
      getKubectlEnvironment in interface ClusterOptions
    • getKubectlLayer

      public final ILayerVersion getKubectlLayer()
      Description copied from interface: ClusterOptions
      An AWS Lambda Layer which includes kubectl and Helm.

      This layer is used by the kubectl handler to apply manifests and install helm charts. You must pick an appropriate releases of one of the @aws-cdk/layer-kubectl-vXX packages, that works with the version of Kubernetes you have chosen. If you don't supply this value kubectl 1.20 will be used, but that version is most likely too old.

      The handler expects the layer to include the following executables:

       /opt/helm/helm
       /opt/kubectl/kubectl
       

      Default: - a default layer with Kubectl 1.20.

      Specified by:
      getKubectlLayer in interface ClusterOptions
    • getKubectlMemory

      public final Size getKubectlMemory()
      Description copied from interface: ClusterOptions
      Amount of memory to allocate to the provider's lambda function.

      Default: Size.gibibytes(1)

      Specified by:
      getKubectlMemory in interface ClusterOptions
    • getMastersRole

      public final IRole getMastersRole()
      Description copied from interface: ClusterOptions
      An IAM role that will be added to the system:masters Kubernetes RBAC group.

      Default: - no masters role.

      Specified by:
      getMastersRole in interface ClusterOptions
      See Also:
    • getOnEventLayer

      public final ILayerVersion getOnEventLayer()
      Description copied from interface: ClusterOptions
      An AWS Lambda Layer which includes the NPM dependency proxy-agent.

      This layer is used by the onEvent handler to route AWS SDK requests through a proxy.

      By default, the provider will use the layer included in the "aws-lambda-layer-node-proxy-agent" SAR application which is available in all commercial regions.

      To deploy the layer locally define it in your app as follows:

       LayerVersion layer = LayerVersion.Builder.create(this, "proxy-agent-layer")
               .code(Code.fromAsset(String.format("%s/layer.zip", __dirname)))
               .compatibleRuntimes(List.of(Runtime.NODEJS_LATEST))
               .build();
       

      Default: - a layer bundled with this module.

      Specified by:
      getOnEventLayer in interface ClusterOptions
    • getOutputMastersRoleArn

      public final Boolean getOutputMastersRoleArn()
      Description copied from interface: ClusterOptions
      Determines whether a CloudFormation output with the ARN of the "masters" IAM role will be synthesized (if mastersRole is specified).

      Default: false

      Specified by:
      getOutputMastersRoleArn in interface ClusterOptions
    • getPlaceClusterHandlerInVpc

      public final Boolean getPlaceClusterHandlerInVpc()
      Description copied from interface: ClusterOptions
      If set to true, the cluster handler functions will be placed in the private subnets of the cluster vpc, subject to the vpcSubnets selection strategy.

      Default: false

      Specified by:
      getPlaceClusterHandlerInVpc in interface ClusterOptions
    • getPrune

      public final Boolean getPrune()
      Description copied from interface: ClusterOptions
      Indicates whether Kubernetes resources added through addManifest() can be automatically pruned.

      When this is enabled (default), prune labels will be allocated and injected to each resource. These labels will then be used when issuing the kubectl apply operation with the --prune switch.

      Default: true

      Specified by:
      getPrune in interface ClusterOptions
    • getSecretsEncryptionKey

      public final IKey getSecretsEncryptionKey()
      Description copied from interface: ClusterOptions
      KMS secret for envelope encryption for Kubernetes secrets.

      Default: - By default, Kubernetes stores all secret object data within etcd and all etcd volumes used by Amazon EKS are encrypted at the disk-level using AWS-Managed encryption keys.

      Specified by:
      getSecretsEncryptionKey in interface ClusterOptions
    • getServiceIpv4Cidr

      public final String getServiceIpv4Cidr()
      Description copied from interface: ClusterOptions
      The CIDR block to assign Kubernetes service IP addresses from.

      Default: - Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks

      Specified by:
      getServiceIpv4Cidr in interface ClusterOptions
      See Also:
    • getVersion

      public final KubernetesVersion getVersion()
      Description copied from interface: CommonClusterOptions
      The Kubernetes version to run in the cluster.
      Specified by:
      getVersion in interface CommonClusterOptions
    • getClusterName

      public final String getClusterName()
      Description copied from interface: CommonClusterOptions
      Name for the cluster.

      Default: - Automatically generated name

      Specified by:
      getClusterName in interface CommonClusterOptions
    • getOutputClusterName

      public final Boolean getOutputClusterName()
      Description copied from interface: CommonClusterOptions
      Determines whether a CloudFormation output with the name of the cluster will be synthesized.

      Default: false

      Specified by:
      getOutputClusterName in interface CommonClusterOptions
    • getOutputConfigCommand

      public final Boolean getOutputConfigCommand()
      Description copied from interface: CommonClusterOptions
      Determines whether a CloudFormation output with the aws eks update-kubeconfig command will be synthesized.

      This command will include the cluster name and, if applicable, the ARN of the masters IAM role.

      Default: true

      Specified by:
      getOutputConfigCommand in interface CommonClusterOptions
    • getRole

      public final IRole getRole()
      Description copied from interface: CommonClusterOptions
      Role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

      Default: - A role is automatically created for you

      Specified by:
      getRole in interface CommonClusterOptions
    • getSecurityGroup

      public final ISecurityGroup getSecurityGroup()
      Description copied from interface: CommonClusterOptions
      Security Group to use for Control Plane ENIs.

      Default: - A security group is automatically created

      Specified by:
      getSecurityGroup in interface CommonClusterOptions
    • getVpc

      public final IVpc getVpc()
      Description copied from interface: CommonClusterOptions
      The VPC in which to create the Cluster.

      Default: - a VPC with default configuration will be created and can be accessed through `cluster.vpc`.

      Specified by:
      getVpc in interface CommonClusterOptions
    • getVpcSubnets

      public final List<SubnetSelection> getVpcSubnets()
      Description copied from interface: CommonClusterOptions
      Where to place EKS Control Plane ENIs.

      For example, to only select private subnets, supply the following:

      vpcSubnets: [{ subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }]

      Default: - All public and private subnets

      Specified by:
      getVpcSubnets in interface CommonClusterOptions
    • $jsii$toJson

      @Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson()
      Specified by:
      $jsii$toJson in interface software.amazon.jsii.JsiiSerializable
    • equals

      public final boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object