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