@Internal public static interface ICluster.Jsii$Default extends ICluster, IResource.Jsii$Default, IConnectable.Jsii$Default
ICluster.ICluster.Jsii$Default, ICluster.Jsii$Proxy| Modifier and Type | Method and Description |
|---|---|
default KubernetesManifest |
addCdk8sChart(String id,
software.constructs.Construct chart,
KubernetesManifestOptions options)
Defines a CDK8s chart in this cluster.
|
default HelmChart |
addHelmChart(String id,
HelmChartOptions options)
Defines a Helm chart in this cluster.
|
default KubernetesManifest |
addManifest(String id,
Map<String,Object>... manifest)
Defines a Kubernetes resource in this cluster.
|
default ServiceAccount |
addServiceAccount(String id,
ServiceAccountOptions options)
Creates a new service account with corresponding IAM Role (IRSA).
|
default void |
applyRemovalPolicy(RemovalPolicy policy)
Apply the given removal policy to this resource.
|
default void |
connectAutoScalingGroupCapacity(AutoScalingGroup autoScalingGroup,
AutoScalingGroupOptions options)
Connect capacity in the form of an existing AutoScalingGroup to the EKS cluster.
|
default String |
getClusterArn()
The unique ARN assigned to the service by AWS in the form of arn:aws:eks:.
|
default String |
getClusterCertificateAuthorityData()
The certificate-authority-data for your cluster.
|
default String |
getClusterEncryptionConfigKeyArn()
Amazon Resource Name (ARN) or alias of the customer master key (CMK).
|
default String |
getClusterEndpoint()
The API Server endpoint URL.
|
default ISecurityGroup |
getClusterHandlerSecurityGroup()
A security group to associate with the Cluster Handler's Lambdas.
|
default String |
getClusterName()
The physical name of the Cluster.
|
default ISecurityGroup |
getClusterSecurityGroup()
The cluster security group that was created by Amazon EKS for the cluster.
|
default String |
getClusterSecurityGroupId()
The id of the cluster security group that was created by Amazon EKS for the cluster.
|
default Connections |
getConnections()
The network connections associated with this resource.
|
default ResourceEnvironment |
getEnv()
The environment this resource belongs to.
|
default Map<String,String> |
getKubectlEnvironment()
Custom environment variables when running `kubectl` against this cluster.
|
default IRole |
getKubectlLambdaRole()
An IAM role that can perform kubectl operations against this cluster.
|
default ILayerVersion |
getKubectlLayer()
An AWS Lambda layer that includes `kubectl`, `helm` and the `aws` CLI.
|
default Size |
getKubectlMemory()
Amount of memory to allocate to the provider's lambda function.
|
default List<ISubnet> |
getKubectlPrivateSubnets()
Subnets to host the `kubectl` compute resources.
|
default IKubectlProvider |
getKubectlProvider()
Kubectl Provider for issuing kubectl commands against it.
|
default IRole |
getKubectlRole()
An IAM role that can perform kubectl operations against this cluster.
|
default ISecurityGroup |
getKubectlSecurityGroup()
A security group to use for `kubectl` execution.
|
default software.constructs.Node |
getNode()
The tree node.
|
default ILayerVersion |
getOnEventLayer()
An AWS Lambda layer that includes the NPM dependency `proxy-agent`.
|
default IOpenIdConnectProvider |
getOpenIdConnectProvider()
The Open ID Connect Provider of the cluster used to configure Service Accounts.
|
default Boolean |
getPrune()
Indicates whether Kubernetes resources can be automatically pruned.
|
default Stack |
getStack()
The stack in which this resource is defined.
|
default IVpc |
getVpc()
The VPC in which this Cluster was created.
|
addCdk8sChart, addServiceAccount@Stability(value=Stable) @NotNull default software.constructs.Node getNode()
getNode in interface software.constructs.IConstructgetNode in interface software.constructs.IConstruct.Jsii$DefaultgetNode in interface IResource.Jsii$Default@Stability(value=Stable) @NotNull default ResourceEnvironment getEnv()
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.
getEnv in interface IResourcegetEnv in interface IResource.Jsii$Default@Stability(value=Stable) @NotNull default Stack getStack()
getStack in interface IResourcegetStack in interface IResource.Jsii$Default@Stability(value=Stable) @NotNull default Connections getConnections()
getConnections in interface IConnectablegetConnections in interface IConnectable.Jsii$Default@Stability(value=Stable) @NotNull default String getClusterArn()
getClusterArn in interface ICluster@Stability(value=Stable) @NotNull default String getClusterCertificateAuthorityData()
getClusterCertificateAuthorityData in interface ICluster@Stability(value=Stable) @NotNull default String getClusterEncryptionConfigKeyArn()
getClusterEncryptionConfigKeyArn in interface ICluster@Stability(value=Stable) @NotNull default String getClusterEndpoint()
getClusterEndpoint in interface ICluster@Stability(value=Stable) @NotNull default String getClusterName()
getClusterName in interface ICluster@Stability(value=Stable) @NotNull default ISecurityGroup getClusterSecurityGroup()
getClusterSecurityGroup in interface ICluster@Stability(value=Stable) @NotNull default String getClusterSecurityGroupId()
getClusterSecurityGroupId in interface ICluster@Stability(value=Stable) @NotNull default IOpenIdConnectProvider getOpenIdConnectProvider()
getOpenIdConnectProvider in interface ICluster@Stability(value=Stable) @NotNull default Boolean getPrune()
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.
@Stability(value=Stable) @NotNull default IVpc getVpc()
@Stability(value=Stable) @Nullable default ISecurityGroup getClusterHandlerSecurityGroup()
The Cluster Handler's Lambdas are responsible for calling AWS's EKS API.
Requires placeClusterHandlerInVpc to be set to true.
Default: - No security group.
getClusterHandlerSecurityGroup in interface ICluster@Stability(value=Stable) @Nullable default Map<String,String> getKubectlEnvironment()
getKubectlEnvironment in interface ICluster@Stability(value=Stable) @Nullable default IRole getKubectlLambdaRole()
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.
getKubectlLambdaRole in interface ICluster@Stability(value=Stable) @Nullable default ILayerVersion getKubectlLayer()
If not defined, a default layer will be used.
getKubectlLayer in interface ICluster@Stability(value=Stable) @Nullable default Size getKubectlMemory()
getKubectlMemory in interface ICluster@Stability(value=Stable) @Nullable default List<ISubnet> getKubectlPrivateSubnets()
If this is undefined, the k8s endpoint is expected to be accessible publicly.
getKubectlPrivateSubnets in interface ICluster@Stability(value=Stable) @Nullable default IKubectlProvider getKubectlProvider()
If not defined, a default provider will be used
getKubectlProvider in interface ICluster@Stability(value=Stable) @Nullable default IRole getKubectlRole()
The role should be mapped to the system:masters Kubernetes RBAC role.
getKubectlRole in interface ICluster@Stability(value=Stable) @Nullable default ISecurityGroup getKubectlSecurityGroup()
If this is undefined, the k8s endpoint is expected to be accessible publicly.
getKubectlSecurityGroup in interface ICluster@Stability(value=Stable) @Nullable default ILayerVersion getOnEventLayer()
If not defined, a default layer will be used.
getOnEventLayer in interface ICluster@Stability(value=Stable)
default void applyRemovalPolicy(@NotNull
RemovalPolicy policy)
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).
applyRemovalPolicy in interface IResourceapplyRemovalPolicy in interface IResource.Jsii$Defaultpolicy - This parameter is required.@Stability(value=Stable) @NotNull default KubernetesManifest addCdk8sChart(@NotNull String id, @NotNull software.constructs.Construct chart, @Nullable KubernetesManifestOptions options)
addCdk8sChart in interface IClusterid - logical id of this chart. This parameter is required.chart - the cdk8s chart. This parameter is required.options - @Stability(value=Stable) @NotNull default HelmChart addHelmChart(@NotNull String id, @NotNull HelmChartOptions options)
addHelmChart in interface IClusterid - logical id of this chart. This parameter is required.options - options of this chart. This parameter is required.@Stability(value=Stable) @NotNull default KubernetesManifest addManifest(@NotNull String id, @NotNull Map<String,Object>... manifest)
The manifest will be applied/deleted using kubectl as needed.
addManifest in interface IClusterid - logical id of this manifest. This parameter is required.manifest - a list of Kubernetes resource specifications. This parameter is required.@Stability(value=Stable) @NotNull default ServiceAccount addServiceAccount(@NotNull String id, @Nullable ServiceAccountOptions options)
addServiceAccount in interface IClusterid - logical id of service account. This parameter is required.options - service account options.@Stability(value=Stable)
default void connectAutoScalingGroupCapacity(@NotNull
AutoScalingGroup autoScalingGroup,
@NotNull
AutoScalingGroupOptions options)
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.
connectAutoScalingGroupCapacity in interface IClusterautoScalingGroup - [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.Copyright © 2022. All rights reserved.