Interface ICluster.Jsii$Default

All Superinterfaces:
ICluster, IConnectable, IConnectable.Jsii$Default, IConstruct, software.constructs.IConstruct, IConstruct.Jsii$Default, software.constructs.IConstruct.Jsii$Default, IDependable, IDependable.Jsii$Default, IResource, IResource.Jsii$Default, software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
ICluster.Jsii$Proxy
Enclosing interface:
ICluster

@Internal public static interface ICluster.Jsii$Default extends ICluster, IResource.Jsii$Default, IConnectable.Jsii$Default
Internal default implementation for ICluster.
  • Method Details

    • getNode

      @Stability(Stable) @NotNull default ConstructNode getNode()
      The construct tree node for this construct.
      Specified by:
      getNode in interface IConstruct
      Specified by:
      getNode in interface IConstruct.Jsii$Default
      Specified by:
      getNode in interface IResource.Jsii$Default
    • getEnv

      @Stability(Stable) @NotNull default ResourceEnvironment getEnv()
      The environment this resource belongs to.

      For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.

      Specified by:
      getEnv in interface IResource
      Specified by:
      getEnv in interface IResource.Jsii$Default
    • getStack

      @Stability(Stable) @NotNull default Stack getStack()
      The stack in which this resource is defined.
      Specified by:
      getStack in interface IResource
      Specified by:
      getStack in interface IResource.Jsii$Default
    • getConnections

      @Stability(Stable) @NotNull default Connections getConnections()
      The network connections associated with this resource.
      Specified by:
      getConnections in interface IConnectable
      Specified by:
      getConnections in interface IConnectable.Jsii$Default
    • getClusterArn

      @Stability(Stable) @NotNull default String getClusterArn()
      The unique ARN assigned to the service by AWS in the form of arn:aws:eks:.
      Specified by:
      getClusterArn in interface ICluster
    • getClusterCertificateAuthorityData

      @Stability(Stable) @NotNull default String getClusterCertificateAuthorityData()
      The certificate-authority-data for your cluster.
      Specified by:
      getClusterCertificateAuthorityData in interface ICluster
    • getClusterEncryptionConfigKeyArn

      @Stability(Stable) @NotNull default String getClusterEncryptionConfigKeyArn()
      Amazon Resource Name (ARN) or alias of the customer master key (CMK).
      Specified by:
      getClusterEncryptionConfigKeyArn in interface ICluster
    • getClusterEndpoint

      @Stability(Stable) @NotNull default String getClusterEndpoint()
      The API Server endpoint URL.
      Specified by:
      getClusterEndpoint in interface ICluster
    • getClusterName

      @Stability(Stable) @NotNull default String getClusterName()
      The physical name of the Cluster.
      Specified by:
      getClusterName in interface ICluster
    • getClusterSecurityGroup

      @Stability(Stable) @NotNull default ISecurityGroup getClusterSecurityGroup()
      The cluster security group that was created by Amazon EKS for the cluster.
      Specified by:
      getClusterSecurityGroup in interface ICluster
    • getClusterSecurityGroupId

      @Stability(Stable) @NotNull default String getClusterSecurityGroupId()
      The id of the cluster security group that was created by Amazon EKS for the cluster.
      Specified by:
      getClusterSecurityGroupId in interface ICluster
    • getOpenIdConnectProvider

      @Stability(Stable) @NotNull default IOpenIdConnectProvider getOpenIdConnectProvider()
      The Open ID Connect Provider of the cluster used to configure Service Accounts.
      Specified by:
      getOpenIdConnectProvider in interface ICluster
    • getPrune

      @Stability(Stable) @NotNull default Boolean getPrune()
      Indicates whether Kubernetes resources 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.

      Specified by:
      getPrune in interface ICluster
    • getVpc

      @Stability(Stable) @NotNull default IVpc getVpc()
      The VPC in which this Cluster was created.
      Specified by:
      getVpc in interface ICluster
    • getClusterHandlerSecurityGroup

      @Stability(Stable) @Nullable default ISecurityGroup getClusterHandlerSecurityGroup()
      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 ICluster
    • getKubectlEnvironment

      @Stability(Stable) @Nullable default Map<String,String> getKubectlEnvironment()
      Custom environment variables when running kubectl against this cluster.
      Specified by:
      getKubectlEnvironment in interface ICluster
    • getKubectlLambdaRole

      @Stability(Stable) @Nullable default IRole getKubectlLambdaRole()
      An IAM role that can perform kubectl operations against this cluster.

      The role should be mapped to the system:masters Kubernetes RBAC role.

      This role is directly passed to the lambda handler that sends Kube Ctl commands to the cluster.

      Specified by:
      getKubectlLambdaRole in interface ICluster
    • getKubectlLayer

      @Stability(Stable) @Nullable default ILayerVersion getKubectlLayer()
      An AWS Lambda layer that includes kubectl, helm and the aws CLI.

      If not defined, a default layer will be used.

      Specified by:
      getKubectlLayer in interface ICluster
    • getKubectlMemory

      @Stability(Stable) @Nullable default Size getKubectlMemory()
      Amount of memory to allocate to the provider's lambda function.
      Specified by:
      getKubectlMemory in interface ICluster
    • getKubectlPrivateSubnets

      @Stability(Stable) @Nullable default List<ISubnet> getKubectlPrivateSubnets()
      Subnets to host the kubectl compute resources.

      If this is undefined, the k8s endpoint is expected to be accessible publicly.

      Specified by:
      getKubectlPrivateSubnets in interface ICluster
    • getKubectlProvider

      @Stability(Stable) @Nullable default IKubectlProvider getKubectlProvider()
      Kubectl Provider for issuing kubectl commands against it.

      If not defined, a default provider will be used

      Specified by:
      getKubectlProvider in interface ICluster
    • getKubectlRole

      @Stability(Stable) @Nullable default IRole getKubectlRole()
      An IAM role that can perform kubectl operations against this cluster.

      The role should be mapped to the system:masters Kubernetes RBAC role.

      Specified by:
      getKubectlRole in interface ICluster
    • getKubectlSecurityGroup

      @Stability(Stable) @Nullable default ISecurityGroup getKubectlSecurityGroup()
      A security group to use for kubectl execution.

      If this is undefined, the k8s endpoint is expected to be accessible publicly.

      Specified by:
      getKubectlSecurityGroup in interface ICluster
    • getOnEventLayer

      @Stability(Stable) @Nullable default ILayerVersion getOnEventLayer()
      An AWS Lambda layer that includes the NPM dependency proxy-agent.

      If not defined, a default layer will be used.

      Specified by:
      getOnEventLayer in interface ICluster
    • applyRemovalPolicy

      @Stability(Stable) default void applyRemovalPolicy(@NotNull RemovalPolicy policy)
      Apply the given removal policy to this resource.

      The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.

      The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).

      Specified by:
      applyRemovalPolicy in interface IResource
      Specified by:
      applyRemovalPolicy in interface IResource.Jsii$Default
      Parameters:
      policy - This parameter is required.
    • addCdk8sChart

      @Stability(Stable) @NotNull default KubernetesManifest addCdk8sChart(@NotNull String id, @NotNull software.constructs.Construct chart, @Nullable KubernetesManifestOptions options)
      Defines a CDK8s chart in this cluster.

      Specified by:
      addCdk8sChart in interface ICluster
      Parameters:
      id - logical id of this chart. This parameter is required.
      chart - the cdk8s chart. This parameter is required.
      options -
      Returns:
      a KubernetesManifest construct representing the chart.
    • addHelmChart

      @Stability(Stable) @NotNull default HelmChart addHelmChart(@NotNull String id, @NotNull HelmChartOptions options)
      Defines a Helm chart in this cluster.

      Specified by:
      addHelmChart in interface ICluster
      Parameters:
      id - logical id of this chart. This parameter is required.
      options - options of this chart. This parameter is required.
      Returns:
      a HelmChart construct
    • addManifest

      @Stability(Stable) @NotNull default KubernetesManifest addManifest(@NotNull String id, @NotNull @NotNull Map<String,Object>... manifest)
      Defines a Kubernetes resource in this cluster.

      The manifest will be applied/deleted using kubectl as needed.

      Specified by:
      addManifest in interface ICluster
      Parameters:
      id - logical id of this manifest. This parameter is required.
      manifest - a list of Kubernetes resource specifications. This parameter is required.
      Returns:
      a KubernetesManifest object.
    • addServiceAccount

      @Stability(Stable) @NotNull default ServiceAccount addServiceAccount(@NotNull String id, @Nullable ServiceAccountOptions options)
      Creates a new service account with corresponding IAM Role (IRSA).

      Specified by:
      addServiceAccount in interface ICluster
      Parameters:
      id - logical id of service account. This parameter is required.
      options - service account options.
    • connectAutoScalingGroupCapacity

      @Stability(Stable) default void connectAutoScalingGroupCapacity(@NotNull AutoScalingGroup autoScalingGroup, @NotNull AutoScalingGroupOptions options)
      Connect capacity in the form of an existing AutoScalingGroup to the EKS cluster.

      The AutoScalingGroup must be running an EKS-optimized AMI containing the /etc/eks/bootstrap.sh script. This method will configure Security Groups, add the right policies to the instance role, apply the right tags, and add the required user data to the instance's launch configuration.

      Spot instances will be labeled lifecycle=Ec2Spot and tainted with PreferNoSchedule. If kubectl is enabled, the spot interrupt handler daemon will be installed on all spot instances to handle EC2 Spot Instance Termination Notices.

      Prefer to use addAutoScalingGroupCapacity if possible.

      Specified by:
      connectAutoScalingGroupCapacity in interface ICluster
      Parameters:
      autoScalingGroup - [disable-awslint:ref-via-interface]. This parameter is required.
      options - options for adding auto scaling groups, like customizing the bootstrap script. This parameter is required.
      See Also: