Skip to content
v2.274.0

FargateCluster L2 construct ​

Defines an EKS cluster that runs entirely on AWS Fargate.

The cluster is created with a default Fargate Profile that matches the "default" and "kube-system" namespaces. You can add additional profiles using addFargateProfile.

Example ​

ts
const cluster = new eks.FargateCluster(this, 'FargateCluster', {
  version: eks.KubernetesVersion.V1_36,
});
python
cluster = eks.FargateCluster(self, "FargateCluster",
    version=eks.KubernetesVersion.V1_36
)
java
FargateCluster cluster = FargateCluster.Builder.create(this, "FargateCluster")
        .version(KubernetesVersion.V1_36)
        .build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
var cluster = new FargateCluster(this, "FargateCluster", new FargateClusterProps {
    Version = KubernetesVersion.V1_36
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
cluster := eks.NewFargateCluster(this, jsii.String("FargateCluster"), &FargateClusterProps{
	Version: eks.KubernetesVersion_V1_36(),
})

Initializer ​

ts
new FargateCluster(scope: Construct, id: string, props: FargateClusterProps)
python
FargateCluster(scope: Construct, id: str, props: FargateClusterProps)
java
new FargateCluster(Construct scope, String id, FargateClusterProps props)
csharp
new FargateCluster(Construct scope, string id, FargateClusterProps props)
go
NewFargateCluster(Scope Construct, Id *string, Props FargateClusterProps)

Construct Props ​

albControlleroptionalAlbControllerOptionsalb_controlleroptionalAlbControllerOptionsalbControlleroptionalAlbControllerOptionsAlbControlleroptionalAlbControllerOptionsAlbControlleroptionalAlbControllerOptions#
Install the AWS Load Balancer Controller onto the cluster.

Default: The controller is not installed.

clusterLoggingoptionalClusterLoggingTypes[]cluster_loggingoptionaltyping.List[ClusterLoggingTypes]clusterLoggingoptionalList<ClusterLoggingTypes>ClusterLoggingoptionalClusterLoggingTypes[]ClusterLoggingoptional*[]ClusterLoggingTypes= none#
The cluster log types which you want to enable.
clusterNameoptionalstringcluster_nameoptionalstrclusterNameoptionalStringClusterNameoptionalstringClusterNameoptional*string#
Name for the cluster.

Default: Automatically generated name

controlPlaneScalingTieroptionalControlPlaneScalingTiercontrol_plane_scaling_tieroptionalControlPlaneScalingTiercontrolPlaneScalingTieroptionalControlPlaneScalingTierControlPlaneScalingTieroptionalControlPlaneScalingTierControlPlaneScalingTieroptionalControlPlaneScalingTier#
The scaling tier for the cluster's provisioned control plane.

Default: Standard control plane (no provisioned tier)

Provisioned Control Plane allows you to select a scaling tier to ensure high and predictable performance for demanding workloads such as AI training/inference, high-performance computing, or large-scale data processing.

coreDnsComputeTypeoptionalCoreDnsComputeTypecore_dns_compute_typeoptionalCoreDnsComputeTypecoreDnsComputeTypeoptionalCoreDnsComputeTypeCoreDnsComputeTypeoptionalCoreDnsComputeTypeCoreDnsComputeTypeoptionalCoreDnsComputeType#
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)

defaultProfileoptionalFargateProfileOptionsdefault_profileoptionalFargateProfileOptionsdefaultProfileoptionalFargateProfileOptionsDefaultProfileoptionalFargateProfileOptionsDefaultProfileoptionalFargateProfileOptions#
Fargate Profile to create along with the cluster.

Default: A profile called "default" with 'default' and 'kube-system' selectors will be created if this is left undefined.

endpointAccessoptionalEndpointAccessendpoint_accessoptionalEndpointAccessendpointAccessoptionalEndpointAccessEndpointAccessoptionalEndpointAccessEndpointAccessoptionalEndpointAccess#
Configure access to the Kubernetes API server endpoint..

Default: EndpointAccess.PUBLIC_AND_PRIVATE

ipFamilyoptionalIpFamilyip_familyoptionalIpFamilyipFamilyoptionalIpFamilyIpFamilyoptionalIpFamilyIpFamilyoptionalIpFamily= IpFamily.IP_V4#
Specify which IP family is used to assign Kubernetes pod and service IP addresses.
kubectlProviderOptionsoptionalKubectlProviderOptionskubectl_provider_optionsoptionalKubectlProviderOptionskubectlProviderOptionsoptionalKubectlProviderOptionsKubectlProviderOptionsoptionalKubectlProviderOptionsKubectlProviderOptionsoptionalKubectlProviderOptions#
Options for creating the kubectl provider - a lambda function that executes `kubectl` and `helm` against the cluster.

Default: kubectl provider will not be created

If defined, kubectlLayer is a required property.

mastersRoleoptionalIRolemasters_roleoptionalIRolemastersRoleoptionalIRoleMastersRoleoptionalIRoleMastersRoleoptionalIRole#
An IAM role that will be added to the `system:masters` Kubernetes RBAC group.

Default: no masters role.

pruneoptionalbooleanpruneoptionalboolpruneoptionalBooleanPruneoptionalboolPruneoptional*bool= true#
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.

remoteNodeNetworksoptionalRemoteNodeNetwork[]remote_node_networksoptionaltyping.List[RemoteNodeNetwork]remoteNodeNetworksoptionalList<RemoteNodeNetwork>RemoteNodeNetworksoptionalRemoteNodeNetwork[]RemoteNodeNetworksoptional*[]RemoteNodeNetwork= none#
IPv4 CIDR blocks defining the expected address range of hybrid nodes that will join the cluster.
remotePodNetworksoptionalRemotePodNetwork[]remote_pod_networksoptionaltyping.List[RemotePodNetwork]remotePodNetworksoptionalList<RemotePodNetwork>RemotePodNetworksoptionalRemotePodNetwork[]RemotePodNetworksoptional*[]RemotePodNetwork= none#
IPv4 CIDR blocks for Pods running Kubernetes webhooks on hybrid nodes.
removalPolicyoptionalRemovalPolicyremoval_policyoptionalRemovalPolicyremovalPolicyoptionalRemovalPolicyRemovalPolicyoptionalRemovalPolicyRemovalPolicyoptionalRemovalPolicy#
The removal policy applied to all CloudFormation resources created by this construct when they are no longer managed by CloudFormation.

Default: Resources will be deleted.

notes

This can happen in one of three situations:

  • The resource is removed from the template, so CloudFormation stops managing it;
  • A change to the resource is made that requires it to be replaced, so CloudFormation stops managing it;
  • The stack is deleted, so CloudFormation stops managing all resources in it.

This affects the EKS cluster itself, associated IAM roles, node groups, security groups, VPC and any other CloudFormation resources managed by this construct.

roleoptionalIRoleroleoptionalIRoleroleoptionalIRoleRoleoptionalIRoleRoleoptionalIRole#
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

secretsEncryptionKeyoptionalIKeyRefsecrets_encryption_keyoptionalIKeyRefsecretsEncryptionKeyoptionalIKeyRefSecretsEncryptionKeyoptionalIKeyRefSecretsEncryptionKeyoptionalIKeyRef#
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.

securityGroupoptionalISecurityGroupsecurity_groupoptionalISecurityGroupsecurityGroupoptionalISecurityGroupSecurityGroupoptionalISecurityGroupSecurityGroupoptionalISecurityGroup#
Security Group to use for Control Plane ENIs.

Default: A security group is automatically created

serviceIpv4Cidroptionalstringservice_ipv4_cidroptionalstrserviceIpv4CidroptionalStringServiceIpv4CidroptionalstringServiceIpv4Cidroptional*string#
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

tagsoptional{ [key: string]: string }tagsoptionaltyping.Mapping[str, str]tagsoptionalMap<String, String>TagsoptionalIDictionary<string, string>Tagsoptional*map[string]*string= none#
The tags assigned to the EKS cluster.
The Kubernetes version to run in the cluster.
vpcoptionalIVpcvpcoptionalIVpcvpcoptionalIVpcVpcoptionalIVpcVpcoptionalIVpc#
The VPC in which to create the Cluster.

Default: a VPC with default configuration will be created and can be accessed through cluster.vpc.

vpcSubnetsoptionalSubnetSelection[]vpc_subnetsoptionaltyping.List[SubnetSelection]vpcSubnetsoptionalList<SubnetSelection>VpcSubnetsoptionalSubnetSelection[]VpcSubnetsoptional*[]SubnetSelection#
Where to place EKS Control Plane ENIs.

Default: All public and private subnets

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

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

Properties ​

albControllermay be undefinedAlbControlleralb_controllermay be undefinedAlbControlleralbControllermay be undefinedAlbControllerAlbControllermay be undefinedAlbControllerAlbControllermay be undefinedAlbController#
The ALB Controller construct defined for this cluster.

Will be undefined if albController wasn't configured.

clusterArnstringcluster_arnstrclusterArnStringClusterArnstringClusterArn*string#
The AWS generated ARN for the Cluster resource.

For example, arn:aws:eks:us-west-2:666666666666:cluster/prod

clusterCertificateAuthorityDatastringcluster_certificate_authority_datastrclusterCertificateAuthorityDataStringClusterCertificateAuthorityDatastringClusterCertificateAuthorityData*string#
The certificate-authority-data for your cluster.
clusterEncryptionConfigKeyArnstringcluster_encryption_config_key_arnstrclusterEncryptionConfigKeyArnStringClusterEncryptionConfigKeyArnstringClusterEncryptionConfigKeyArn*string#
Amazon Resource Name (ARN) or alias of the customer master key (CMK).
clusterEndpointstringcluster_endpointstrclusterEndpointStringClusterEndpointstringClusterEndpoint*string#
The endpoint URL for the Cluster.

This is the URL inside the kubeconfig file to use with kubectl

For example, https://5E1D0CEXAMPLEA591B746AFC5AB30262.yl4.us-west-2.eks.amazonaws.com

clusterNamestringcluster_namestrclusterNameStringClusterNamestringClusterName*string#
The Name of the created EKS Cluster.
clusterOpenIdConnectIssuerUrlstringcluster_open_id_connect_issuer_urlstrclusterOpenIdConnectIssuerUrlStringClusterOpenIdConnectIssuerUrlstringClusterOpenIdConnectIssuerUrl*string#
If this cluster is kubectl-enabled, returns the OpenID Connect issuer url.

If this cluster is not kubectl-enabled (i.e. uses the stock CfnCluster), this is undefined.

A reference to a Cluster resource.
clusterSecurityGroupISecurityGroupcluster_security_groupISecurityGroupclusterSecurityGroupISecurityGroupClusterSecurityGroupISecurityGroupClusterSecurityGroupISecurityGroup#
The cluster security group that was created by Amazon EKS for the cluster.
clusterSecurityGroupIdstringcluster_security_group_idstrclusterSecurityGroupIdStringClusterSecurityGroupIdstringClusterSecurityGroupId*string#
The id of the cluster security group that was created by Amazon EKS for the cluster.
connectionsConnectionsconnectionsConnectionsconnectionsConnectionsConnectionsConnectionsConnectionsConnections#
Manages connection rules (Security Group Rules) for the cluster.
defaultCapacitymay be undefinedAutoScalingGroupdefault_capacitymay be undefinedAutoScalingGroupdefaultCapacitymay be undefinedAutoScalingGroupDefaultCapacitymay be undefinedAutoScalingGroupDefaultCapacitymay be undefinedAutoScalingGroup#
The auto scaling group that hosts the default capacity for this cluster.

This will be undefined if the defaultCapacityType is not EC2 or defaultCapacityType is EC2 but default capacity is set to 0.

defaultNodegroupmay be undefinedNodegroupdefault_nodegroupmay be undefinedNodegroupdefaultNodegroupmay be undefinedNodegroupDefaultNodegroupmay be undefinedNodegroupDefaultNodegroupmay be undefinedNodegroup#
The node group that hosts the default capacity for this cluster.

This will be undefined if the defaultCapacityType is EC2 or defaultCapacityType is NODEGROUP but default capacity is set to 0.

defaultProfileFargateProfiledefault_profileFargateProfiledefaultProfileFargateProfileDefaultProfileFargateProfileDefaultProfileFargateProfile#
Fargate Profile that was created with the cluster.
eksPodIdentityAgentmay be undefinedIAddoneks_pod_identity_agentmay be undefinedIAddoneksPodIdentityAgentmay be undefinedIAddonEksPodIdentityAgentmay be undefinedIAddonEksPodIdentityAgentmay be undefinedIAddon#
Retrieves the EKS Pod Identity Agent addon for the EKS cluster.
notes

The EKS Pod Identity Agent is responsible for managing the temporary credentials used by pods in the cluster to access AWS resources. It runs as a DaemonSet on each node and provides the necessary credentials to the pods based on their associated service account.

The environment this resource belongs to.
notes

For resources that are created and managed in a Stack (those created by creating new class instances like new Role(), new Bucket(), etc.), this is always the same as the environment of the stack they belong to.

For referenced resources (those obtained from referencing methods like Role.fromRoleArn(), Bucket.fromBucketName(), etc.), they might be different than the stack they were imported into.

ipFamilymay be undefinedIpFamilyip_familymay be undefinedIpFamilyipFamilymay be undefinedIpFamilyIpFamilymay be undefinedIpFamilyIpFamilymay be undefinedIpFamily= IpFamily.IP_V4#
Specify which IP family is used to assign Kubernetes pod and service IP addresses.
kubectlProvidermay be undefinedIKubectlProviderkubectl_providermay be undefinedIKubectlProviderkubectlProvidermay be undefinedIKubectlProviderKubectlProvidermay be undefinedIKubectlProviderKubectlProvidermay be undefinedIKubectlProvider#
KubectlProvider for issuing kubectl commands.
nodeNodenodeNodenodeNodeNodeNodeNodeNode#
The tree node.
openIdConnectProviderIOpenIdConnectProvideropen_id_connect_providerIOpenIdConnectProvideropenIdConnectProviderIOpenIdConnectProviderOpenIdConnectProviderIOpenIdConnectProviderOpenIdConnectProviderIOpenIdConnectProvider#
An `OpenIdConnectProvider` resource associated with this cluster, and which can be used to link this cluster to AWS IAM.

A provider will only be defined if this property is accessed (lazy initialization).

PROPERTY_INJECTION_IDstringproperty_injection_idstrPROPERTY_INJECTION_IDStringPROPERTY_INJECTION_IDstringPROPERTY_INJECTION_ID*stringstatic#
Uniquely identifies this class.
prunebooleanpruneboolpruneBooleanPruneboolPrune*bool#
Determines if Kubernetes resources can be pruned automatically.
roleIRoleroleIRoleroleIRoleRoleIRoleRoleIRole#
IAM role assumed by the EKS Control Plane.
stackStackstackStackstackStackStackStackStackStack#
The stack in which this resource is defined.
vpcIVpcvpcIVpcvpcIVpcVpcIVpcVpcIVpc#
The VPC in which this Cluster was created.

Methods ​

addAutoScalingGroupCapacity(id: string, options: AutoScalingGroupCapacityOptions): AutoScalingGroupdef add_auto_scaling_group_capacity(self, id: str, options: AutoScalingGroupCapacityOptions) -> AutoScalingGrouppublic AutoScalingGroup addAutoScalingGroupCapacity(String id, AutoScalingGroupCapacityOptions options)public AutoScalingGroup AddAutoScalingGroupCapacity(string id, AutoScalingGroupCapacityOptions options)func AddAutoScalingGroupCapacity(Id *string, Options AutoScalingGroupCapacityOptions) AutoScalingGroup#
Add nodes to this EKS cluster.
notes

The nodes will automatically be configured with the right VPC and AMI for the instance type and Kubernetes version.

Note that if you specify updateType: RollingUpdate or updateType: ReplacingUpdate, your nodes might be replaced at deploy time without notice in case the recommended AMI for your machine image type has been updated by AWS. The default behavior for updateType is None, which means only new instances will be launched using the new AMI.

addCdk8sChart(id: string, chart: Construct, options?: KubernetesManifestOptions): KubernetesManifestdef add_cdk8s_chart(self, id: str, chart: Construct, options: typing.Optional[KubernetesManifestOptions] = None) -> KubernetesManifestpublic KubernetesManifest addCdk8sChart(String id, Construct chart, KubernetesManifestOptions options)public KubernetesManifest AddCdk8sChart(string id, Construct chart, KubernetesManifestOptions? options = null)func AddCdk8sChart(Id *string, Chart Construct, Options KubernetesManifestOptions) KubernetesManifest#
Defines a CDK8s chart in this cluster.
2 parameters · returns

Parameters

  • ididididId — logical id of this chart.
  • chartchartchartchartChart — the cdk8s chart.

Returns: a KubernetesManifest construct representing the chart.

addFargateProfile(id: string, options: FargateProfileOptions): FargateProfiledef add_fargate_profile(self, id: str, options: FargateProfileOptions) -> FargateProfilepublic FargateProfile addFargateProfile(String id, FargateProfileOptions options)public FargateProfile AddFargateProfile(string id, FargateProfileOptions options)func AddFargateProfile(Id *string, Options FargateProfileOptions) FargateProfile#
Adds a Fargate profile to this cluster.
2 parameters

Parameters

  • ididididId — the id of this profile.
  • optionsoptionsoptionsoptionsOptions — profile options.
addHelmChart(id: string, options: HelmChartOptions): HelmChartdef add_helm_chart(self, id: str, options: HelmChartOptions) -> HelmChartpublic HelmChart addHelmChart(String id, HelmChartOptions options)public HelmChart AddHelmChart(string id, HelmChartOptions options)func AddHelmChart(Id *string, Options HelmChartOptions) HelmChart#
Defines a Helm chart in this cluster.
2 parameters · returns

Parameters

  • ididididId — logical id of this chart.
  • optionsoptionsoptionsoptionsOptions — options of this chart.

Returns: a HelmChart construct

addManifest(id: string, ...manifest: { [key: string]: any }[]): KubernetesManifestdef add_manifest(self, id: str, manifest: typing.Mapping[str, Any]) -> KubernetesManifestpublic KubernetesManifest addManifest(String id, Map<String, Object> manifest)public KubernetesManifest AddManifest(string id, IDictionary<string, object> manifest)func AddManifest(Id *string, Manifest *map[string]interface{}) KubernetesManifest#
Defines a Kubernetes resource in this cluster.

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

2 parameters · returns

Parameters

  • ididididId — logical id of this manifest.
  • manifestmanifestmanifestmanifestManifest — a list of Kubernetes resource specifications.

Returns: a KubernetesResource object.

addNodegroupCapacity(id: string, options?: NodegroupOptions): Nodegroupdef add_nodegroup_capacity(self, id: str, options: typing.Optional[NodegroupOptions] = None) -> Nodegrouppublic Nodegroup addNodegroupCapacity(String id, NodegroupOptions options)public Nodegroup AddNodegroupCapacity(string id, NodegroupOptions? options = null)func AddNodegroupCapacity(Id *string, Options NodegroupOptions) Nodegroup#
Add managed nodegroup to this Amazon EKS cluster.

This method will create a new managed nodegroup and add into the capacity.

2 parameters

Parameters

  • ididididId — The ID of the nodegroup.
  • optionsoptionsoptionsoptionsOptions — options for creating a new nodegroup.
addServiceAccount(id: string, options?: ServiceAccountOptions): ServiceAccountdef add_service_account(self, id: str, options: typing.Optional[ServiceAccountOptions] = None) -> ServiceAccountpublic ServiceAccount addServiceAccount(String id, ServiceAccountOptions options)public ServiceAccount AddServiceAccount(string id, ServiceAccountOptions? options = null)func AddServiceAccount(Id *string, Options ServiceAccountOptions) ServiceAccount#
Creates a new service account with corresponding IAM Role (IRSA).
applyCrossStackReferenceStrength(strength: ReferenceStrength): voiddef apply_cross_stack_reference_strength(self, strength: ReferenceStrength) -> Nonepublic void applyCrossStackReferenceStrength(ReferenceStrength strength)public void ApplyCrossStackReferenceStrength(ReferenceStrength strength)func ApplyCrossStackReferenceStrength(Strength ReferenceStrength)#
Override the cross-stack reference strength for this resource.
notes · 1 parameter

When set, any cross-stack reference to this resource will use the specified mechanism instead of the global default determined by the @aws-cdk/core:defaultCrossStackReferences context key. This is useful for selectively weakening specific references to avoid the "deadly embrace" problem without changing the app-wide default.

Parameters

  • strengthstrengthstrengthstrengthStrength — - The reference strength to use for this resource.
applyRemovalPolicy(policy: RemovalPolicy): voiddef apply_removal_policy(self, policy: RemovalPolicy) -> Nonepublic void applyRemovalPolicy(RemovalPolicy policy)public void ApplyRemovalPolicy(RemovalPolicy policy)func ApplyRemovalPolicy(Policy RemovalPolicy)#
Apply the given removal policy to this resource.
notes

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

connectAutoScalingGroupCapacity(autoScalingGroup: AutoScalingGroup, options: AutoScalingGroupOptions): voiddef connect_auto_scaling_group_capacity(self, auto_scaling_group: AutoScalingGroup, options: AutoScalingGroupOptions) -> Nonepublic void connectAutoScalingGroupCapacity(AutoScalingGroup autoScalingGroup, AutoScalingGroupOptions options)public void ConnectAutoScalingGroupCapacity(AutoScalingGroup autoScalingGroup, AutoScalingGroupOptions options)func ConnectAutoScalingGroupCapacity(AutoScalingGroup AutoScalingGroup, Options AutoScalingGroupOptions)#
Connect capacity in the form of an existing AutoScalingGroup to the EKS cluster.
notes · 2 parameters

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.

Prefer to use addAutoScalingGroupCapacity if possible.

Parameters

  • autoScalingGroupauto_scaling_groupautoScalingGroupautoScalingGroupAutoScalingGroup — [disable-awslint:ref-via-interface].
  • optionsoptionsoptionsoptionsOptions — options for adding auto scaling groups, like customizing the bootstrap script.
fromClusterAttributes(scope: Construct, id: string, attrs: ClusterAttributes): ICluster@staticmethod def from_cluster_attributes(scope: Construct, id: str, attrs: ClusterAttributes) -> IClusterpublic static ICluster fromClusterAttributes(Construct scope, String id, ClusterAttributes attrs)public static ICluster FromClusterAttributes(Construct scope, string id, ClusterAttributes attrs)func FromClusterAttributes(Scope Construct, Id *string, Attrs ClusterAttributes) IClusterstatic#
Import an existing cluster.
3 parameters

Parameters

  • scopescopescopescopeScope — the construct scope, in most cases 'this'.
  • ididididId — the id or name to import as.
  • attrsattrsattrsattrsAttrs — the cluster properties to use for importing information.
getIngressLoadBalancerAddress(ingressName: string, options?: IngressLoadBalancerAddressOptions): stringdef get_ingress_load_balancer_address(self, ingress_name: str, options: typing.Optional[IngressLoadBalancerAddressOptions] = None) -> strpublic String getIngressLoadBalancerAddress(String ingressName, IngressLoadBalancerAddressOptions options)public string GetIngressLoadBalancerAddress(string ingressName, IngressLoadBalancerAddressOptions? options = null)func GetIngressLoadBalancerAddress(IngressName *string, Options IngressLoadBalancerAddressOptions) *string#
Fetch the load balancer address of an ingress backed by a load balancer.
2 parameters

Parameters

  • ingressNameingress_nameingressNameingressNameIngressName — The name of the ingress.
  • optionsoptionsoptionsoptionsOptions — Additional operation options.
getServiceLoadBalancerAddress(serviceName: string, options?: ServiceLoadBalancerAddressOptions): stringdef get_service_load_balancer_address(self, service_name: str, options: typing.Optional[ServiceLoadBalancerAddressOptions] = None) -> strpublic String getServiceLoadBalancerAddress(String serviceName, ServiceLoadBalancerAddressOptions options)public string GetServiceLoadBalancerAddress(string serviceName, ServiceLoadBalancerAddressOptions? options = null)func GetServiceLoadBalancerAddress(ServiceName *string, Options ServiceLoadBalancerAddressOptions) *string#
Fetch the load balancer address of a service of type 'LoadBalancer'.
2 parameters

Parameters

  • serviceNameservice_nameserviceNameserviceNameServiceName — The name of the service.
  • optionsoptionsoptionsoptionsOptions — Additional operation options.
grantAccess(id: string, principal: string, accessPolicies: IAccessPolicy[], options?: GrantAccessOptions): voiddef grant_access(self, id: str, principal: str, access_policies: typing.List[IAccessPolicy], options: typing.Optional[GrantAccessOptions] = None) -> Nonepublic void grantAccess(String id, String principal, List<IAccessPolicy> accessPolicies, GrantAccessOptions options)public void GrantAccess(string id, string principal, IAccessPolicy[] accessPolicies, GrantAccessOptions? options = null)func GrantAccess(Id *string, Principal *string, AccessPolicies *[]IAccessPolicy, Options GrantAccessOptions)#
Grants the specified IAM principal access to the EKS cluster based on the provided access policies.
notes · 4 parameters

This method creates an AccessEntry construct that grants the specified IAM principal the access permissions defined by the provided IAccessPolicy array. This allows the IAM principal to perform the actions permitted by the access policies within the EKS cluster. [disable-awslint:no-grants]

Parameters

  • ididididId — - The ID of the AccessEntry construct to be created.
  • principalprincipalprincipalprincipalPrincipal — - The IAM principal (role or user) to be granted access to the EKS cluster.
  • accessPoliciesaccess_policiesaccessPoliciesaccessPoliciesAccessPolicies — - An array of IAccessPolicy objects that define the access permissions to be granted to the IAM principal.
  • optionsoptionsoptionsoptionsOptions — - Additional options for granting access.
grantClusterAdmin(id: string, principal: string): AccessEntrydef grant_cluster_admin(self, id: str, principal: str) -> AccessEntrypublic AccessEntry grantClusterAdmin(String id, String principal)public AccessEntry GrantClusterAdmin(string id, string principal)func GrantClusterAdmin(Id *string, Principal *string) AccessEntry#
Grants the specified IAM principal cluster admin access to the EKS cluster.
notes · 2 parameters · returns

This method creates an AccessEntry construct that grants the specified IAM principal the cluster admin access permissions. This allows the IAM principal to perform the actions permitted by the cluster admin access. [disable-awslint:no-grants]

Parameters

  • ididididId — - The ID of the AccessEntry construct to be created.
  • principalprincipalprincipalprincipalPrincipal — - The IAM principal (role or user) to be granted access to the EKS cluster.

Returns: the access entry construct

isConstruct(x: any): boolean@staticmethod def is_construct(x: Any) -> boolpublic static Boolean isConstruct(Object x)public static bool IsConstruct(object x)func IsConstruct(X interface{}) *boolstatic#
Checks if `x` is a construct.
notes · 1 parameter · returns

Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

Parameters

  • xxxxX — Any object.

Returns: true if x is an object created from a class which extends Construct.

isOwnedResource(construct: IConstruct): boolean@staticmethod def is_owned_resource(construct: IConstruct) -> boolpublic static Boolean isOwnedResource(IConstruct construct)public static bool IsOwnedResource(IConstruct construct)func IsOwnedResource(Construct IConstruct) *boolstatic#
Returns true if the construct was created by CDK, and false otherwise.
isResource(construct: IConstruct): boolean@staticmethod def is_resource(construct: IConstruct) -> boolpublic static Boolean isResource(IConstruct construct)public static bool IsResource(IConstruct construct)func IsResource(Construct IConstruct) *boolstatic#
Check whether the given construct is a Resource.
toString(): stringdef to_string(self, ) -> strpublic String toString()public string ToString()func ToString() *string#
Returns a string representation of this construct.
with(...mixins: IMixin[]): IConstructdef with(self, mixins: IMixin) -> IConstructpublic IConstruct with(IMixin mixins)public IConstruct With(IMixin mixins)func With(Mixins IMixin) IConstruct#
Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.