Class ClusterOptions.Jsii$Proxy

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

@Stability(Stable) @Internal public static final class ClusterOptions.Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ClusterOptions
An implementation for ClusterOptions
  • 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(ClusterOptions.Builder builder)
      Constructor that initializes the object based on literal property values passed by the ClusterOptions.Builder.
  • Method Details

    • 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:
    • 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
    • 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:
    • 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, Helm and the AWS CLI.

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

      To deploy the layer locally, visit https://github.com/aws-samples/aws-lambda-layer-kubectl/blob/master/cdk/README.md for instructions on how to prepare the .zip file and then define it in your app as follows:

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

      Default: - the layer provided by the `aws-lambda-layer-kubectl` SAR app.

      Specified by:
      getKubectlLayer in interface ClusterOptions
      See Also:
    • 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: - a role that assumable by anyone with permissions in the same account will automatically be defined

      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_14_X))
               .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.

      If you want to create public load balancers, this must include public subnets.

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

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

      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