Interface ClusterAttributes
- All Superinterfaces:
software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
ClusterAttributes.Jsii$Proxy
Example:
Cluster cluster;
AutoScalingGroup asg;
ICluster importedCluster = Cluster.fromClusterAttributes(this, "ImportedCluster", ClusterAttributes.builder()
.clusterName(cluster.getClusterName())
.clusterSecurityGroupId(cluster.getClusterSecurityGroupId())
.build());
importedCluster.connectAutoScalingGroupCapacity(asg, AutoScalingGroupOptions.builder().build());
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classA builder forClusterAttributesstatic final classAn implementation forClusterAttributes -
Method Summary
Modifier and TypeMethodDescriptionstatic ClusterAttributes.Builderbuilder()default ILayerVersionAn AWS Lambda layer that contains theawsCLI.default StringThe certificate-authority-data for your cluster.default StringAmazon Resource Name (ARN) or alias of the customer master key (CMK).default StringThe API Server endpoint URL.default StringA security group id to associate with the Cluster Handler's Lambdas.The physical name of the Cluster.default StringThe cluster security group that was created by Amazon EKS for the cluster.default IpFamilySpecify which IP family is used to assign Kubernetes pod and service IP addresses.Environment variables to use when runningkubectlagainst this cluster.default IRoleAn IAM role that can perform kubectl operations against this cluster.default ILayerVersionAn AWS Lambda Layer which includeskubectland Helm.default SizeAmount of memory to allocate to the provider's lambda function.Subnets to host thekubectlcompute resources.default IKubectlProviderKubectlProvider for issuing kubectl commands.default StringAn IAM role with cluster administrator and "system:masters" permissions.default StringA security group to use forkubectlexecution.default ILayerVersionAn AWS Lambda Layer which includes the NPM dependencyproxy-agent.default IOpenIdConnectProviderAn Open ID Connect provider for this cluster that can be used to configure service accounts.default BooleangetPrune()Indicates whether Kubernetes resources added throughaddManifest()can be automatically pruned.Additional security groups associated with this cluster.default IVpcgetVpc()The VPC in which this Cluster was created.Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Method Details
-
getClusterName
The physical name of the Cluster. -
getAwscliLayer
An AWS Lambda layer that contains theawsCLI.The handler expects the layer to include the following executables:
/opt/awscli/aws
Default: - a default layer with the AWS CLI 1.x
-
getClusterCertificateAuthorityData
The certificate-authority-data for your cluster.Default: - if not specified `cluster.clusterCertificateAuthorityData` will throw an error
-
getClusterEncryptionConfigKeyArn
Amazon Resource Name (ARN) or alias of the customer master key (CMK).Default: - if not specified `cluster.clusterEncryptionConfigKeyArn` will throw an error
-
getClusterEndpoint
The API Server endpoint URL.Default: - if not specified `cluster.clusterEndpoint` will throw an error.
-
getClusterHandlerSecurityGroupId
A security group id to associate with the Cluster Handler's Lambdas.The Cluster Handler's Lambdas are responsible for calling AWS's EKS API.
Default: - No security group.
-
getClusterSecurityGroupId
The cluster security group that was created by Amazon EKS for the cluster.Default: - if not specified `cluster.clusterSecurityGroupId` will throw an error
-
getIpFamily
Specify which IP family is used to assign Kubernetes pod and service IP addresses.Default: - IpFamily.IP_V4
- See Also:
-
getKubectlEnvironment
Environment variables to use when runningkubectlagainst this cluster.Default: - no additional variables
-
getKubectlLambdaRole
An IAM role that can perform kubectl operations against this cluster.The role should be mapped to the
system:mastersKubernetes RBAC role.This role is directly passed to the lambda handler that sends Kube Ctl commands to the cluster.
Default: - if not specified, the default role created by a lambda function will be used.
-
getKubectlLayer
An AWS Lambda Layer which includeskubectland 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-vXXpackages, that works with the version of Kubernetes you have chosen.The handler expects the layer to include the following executables:
/opt/helm/helm /opt/kubectl/kubectl
Default: - No default layer will be provided
-
getKubectlMemory
Amount of memory to allocate to the provider's lambda function.Default: Size.gibibytes(1)
-
getKubectlPrivateSubnetIds
Subnets to host thekubectlcompute resources.If not specified, the k8s endpoint is expected to be accessible publicly.
Default: - k8s endpoint is expected to be accessible publicly
-
getKubectlProvider
KubectlProvider for issuing kubectl commands.Default: - Default CDK provider
-
getKubectlRoleArn
An IAM role with cluster administrator and "system:masters" permissions.Default: - if not specified, it not be possible to issue `kubectl` commands against an imported cluster.
-
getKubectlSecurityGroupId
A security group to use forkubectlexecution.If not specified, the k8s endpoint is expected to be accessible publicly.
Default: - k8s endpoint is expected to be accessible publicly
-
getOnEventLayer
An AWS Lambda Layer which includes the NPM dependencyproxy-agent.This layer is used by the onEvent handler to route AWS SDK requests through a proxy.
The handler expects the layer to include the following node_modules:
proxy-agent
Default: - a layer bundled with this module.
-
getOpenIdConnectProvider
An Open ID Connect provider for this cluster that can be used to configure service accounts.You can either import an existing provider using
iam.OpenIdConnectProvider.fromProviderArn, or create a new provider usingnew eks.OpenIdConnectProviderDefault: - if not specified `cluster.openIdConnectProvider` and `cluster.addServiceAccount` will throw an error.
-
getPrune
Indicates whether Kubernetes resources added throughaddManifest()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 applyoperation with the--pruneswitch.Default: true
-
getSecurityGroupIds
Additional security groups associated with this cluster.Default: - if not specified, no additional security groups will be considered in `cluster.connections`.
-
getVpc
The VPC in which this Cluster was created.Default: - if not specified `cluster.vpc` will throw an error
-
builder
- Returns:
- a
ClusterAttributes.BuilderofClusterAttributes
-