Skip to content

Latest commit

 

History

History
4477 lines (2785 loc) · 170 KB

File metadata and controls

4477 lines (2785 loc) · 170 KB

API Reference

Constructs

CommonHelmCharts

Initializers

import { CommonHelmCharts } from '@smallcase/cdk-eks-cluster-module'

new CommonHelmCharts(scope: Construct, id: string, props: CommonHelmChartsProps)
Name Type Description
scope constructs.Construct No description.
id string No description.
props CommonHelmChartsProps No description.

scopeRequired
  • Type: constructs.Construct

idRequired
  • Type: string

propsRequired

Methods

Name Description
toString Returns a string representation of this construct.
with Applies one or more mixins to this construct.

toString
public toString(): string

Returns a string representation of this construct.

with
public 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.

mixinsRequired
  • Type: ...constructs.IMixin[]

The mixins to apply.


Static Functions

Name Description
isConstruct Checks if x is a construct.

isConstruct
import { CommonHelmCharts } from '@smallcase/cdk-eks-cluster-module'

CommonHelmCharts.isConstruct(x: any)

Checks if x is a construct.

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.

xRequired
  • Type: any

Any object.


Properties

Name Type Description
node constructs.Node The tree node.

nodeRequired
public readonly node: Node;
  • Type: constructs.Node

The tree node.


CoreDnsAddon

Initializers

import { CoreDnsAddon } from '@smallcase/cdk-eks-cluster-module'

new CoreDnsAddon(scope: Construct, id: string, props: CoreAddonProps)
Name Type Description
scope constructs.Construct No description.
id string No description.
props CoreAddonProps No description.

scopeRequired
  • Type: constructs.Construct

idRequired
  • Type: string

propsRequired

Methods

Name Description
toString Returns a string representation of this construct.
with Applies one or more mixins to this construct.
overrideLogicalId Overrides the auto-generated logical ID with a specific ID.
addDeletionOverride Syntactic sugar for addOverride(path, undefined).
addDependency Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
addDependsOn Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
addMetadata Add a value to the CloudFormation Resource Metadata.
addOverride Adds an override to the synthesized CloudFormation resource.
addPropertyDeletionOverride Adds an override that deletes the value of a property from the resource definition.
addPropertyOverride Adds an override to a resource property.
applyRemovalPolicy Sets the deletion policy of the resource based on the removal policy specified.
getAtt Returns a token for an runtime attribute of this resource.
getMetadata Retrieve a value value from the CloudFormation Resource Metadata.
obtainDependencies Retrieves an array of resources this resource depends on.
obtainResourceDependencies Get a shallow copy of dependencies between this resource and other resources in the same stack.
removeDependency Indicates that this resource no longer depends on another resource.
replaceDependency Replaces one dependency with another.
inspect Examines the CloudFormation resource and discloses attributes.

toString
public toString(): string

Returns a string representation of this construct.

with
public 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.

mixinsRequired
  • Type: ...constructs.IMixin[]

The mixins to apply.


overrideLogicalId
public overrideLogicalId(newLogicalId: string): void

Overrides the auto-generated logical ID with a specific ID.

newLogicalIdRequired
  • Type: string

The new logical ID to use for this stack element.


addDeletionOverride
public addDeletionOverride(path: string): void

Syntactic sugar for addOverride(path, undefined).

pathRequired
  • Type: string

The path of the value to delete.


addDependency
public addDependency(target: CfnResource): void

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.

targetRequired
  • Type: aws-cdk-lib.CfnResource

addDependsOn
public addDependsOn(target: CfnResource): void

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

targetRequired
  • Type: aws-cdk-lib.CfnResource

addMetadata
public addMetadata(key: string, value: any): void

Add a value to the CloudFormation Resource Metadata.

[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.)

keyRequired
  • Type: string

valueRequired
  • Type: any

addOverride
public addOverride(path: string, value: any): void

Adds an override to the synthesized CloudFormation resource.

To add a property override, either use addPropertyOverride or prefix path with "Properties." (i.e. Properties.TopicName).

If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.

To include a literal . in the property name, prefix with a \. In most programming languages you will need to write this as "\\." because the \ itself will need to be escaped.

For example,

cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');

would add the overrides

"Properties": {
  "GlobalSecondaryIndexes": [
    {
      "Projection": {
        "NonKeyAttributes": [ "myattribute" ]
        ...
      }
      ...
    },
    {
      "ProjectionType": "INCLUDE"
      ...
    },
  ]
  ...
}

The value argument to addOverride will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.

pathRequired
  • Type: string

The path of the property, you can use dot notation to override values in complex types.

Any intermediate keys will be created as needed.


valueRequired
  • Type: any

The value.

Could be primitive or complex.


addPropertyDeletionOverride
public addPropertyDeletionOverride(propertyPath: string): void

Adds an override that deletes the value of a property from the resource definition.

propertyPathRequired
  • Type: string

The path to the property.


addPropertyOverride
public addPropertyOverride(propertyPath: string, value: any): void

Adds an override to a resource property.

Syntactic sugar for addOverride("Properties.<...>", value).

propertyPathRequired
  • Type: string

The path of the property.


valueRequired
  • Type: any

The value.


applyRemovalPolicy
public applyRemovalPolicy(policy?: RemovalPolicy, options?: RemovalPolicyOptions): void

Sets the deletion policy of the resource based on the removal policy specified.

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). In some cases, a snapshot can be taken of the resource prior to deletion (RemovalPolicy.SNAPSHOT). A list of resources that support this policy can be found in the following link:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options

policyOptional
  • Type: aws-cdk-lib.RemovalPolicy

optionsOptional
  • Type: aws-cdk-lib.RemovalPolicyOptions

getAtt
public getAtt(attributeName: string, typeHint?: ResolutionTypeHint): Reference

Returns a token for an runtime attribute of this resource.

Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility in case there is no generated attribute.

attributeNameRequired
  • Type: string

The name of the attribute.


typeHintOptional
  • Type: aws-cdk-lib.ResolutionTypeHint

getMetadata
public getMetadata(key: string): any

Retrieve a value value from the CloudFormation Resource Metadata.

[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.)

keyRequired
  • Type: string

obtainDependencies
public obtainDependencies(): (Stack | CfnResource)[]

Retrieves an array of resources this resource depends on.

This assembles dependencies on resources across stacks (including nested stacks) automatically.

obtainResourceDependencies
public obtainResourceDependencies(): CfnResource[]

Get a shallow copy of dependencies between this resource and other resources in the same stack.

removeDependency
public removeDependency(target: CfnResource): void

Indicates that this resource no longer depends on another resource.

This can be used for resources across stacks (including nested stacks) and the dependency will automatically be removed from the relevant scope.

targetRequired
  • Type: aws-cdk-lib.CfnResource

replaceDependency
public replaceDependency(target: CfnResource, newTarget: CfnResource): void

Replaces one dependency with another.

targetRequired
  • Type: aws-cdk-lib.CfnResource

The dependency to replace.


newTargetRequired
  • Type: aws-cdk-lib.CfnResource

The new dependency to add.


inspect
public inspect(inspector: TreeInspector): void

Examines the CloudFormation resource and discloses attributes.

inspectorRequired
  • Type: aws-cdk-lib.TreeInspector

tree inspector to collect and process attributes.


Static Functions

Name Description
isConstruct Checks if x is a construct.
isCfnElement Returns true if a construct is a stack element (i.e. part of the synthesized cloudformation template).
isCfnResource Check whether the given object is a CfnResource.

isConstruct
import { CoreDnsAddon } from '@smallcase/cdk-eks-cluster-module'

CoreDnsAddon.isConstruct(x: any)

Checks if x is a construct.

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.

xRequired
  • Type: any

Any object.


isCfnElement
import { CoreDnsAddon } from '@smallcase/cdk-eks-cluster-module'

CoreDnsAddon.isCfnElement(x: any)

Returns true if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of instanceof to allow stack elements from different versions of this library to be included in the same stack.

xRequired
  • Type: any

isCfnResource
import { CoreDnsAddon } from '@smallcase/cdk-eks-cluster-module'

CoreDnsAddon.isCfnResource(x: any)

Check whether the given object is a CfnResource.

xRequired
  • Type: any

Properties

Name Type Description
node constructs.Node The tree node.
creationStack string[] No description.
logicalId string The logical ID for this CloudFormation stack element.
stack aws-cdk-lib.Stack The stack in which this element is defined.
ref string Return a string that will be resolved to a CloudFormation { Ref } for this element.
cfnOptions aws-cdk-lib.ICfnResourceOptions Options for this resource, such as condition, update policy etc.
cfnResourceType string AWS resource type.
attrArn string The ARN of the add-on, such as arn:aws:eks:us-west-2:111122223333:addon/1-19/vpc-cni/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx .
tags aws-cdk-lib.TagManager Tag Manager which manages the tags for this resource.
addonName string The name of the add-on.
clusterName string The name of your cluster.
addonVersion string The version of the add-on.
configurationValues string The configuration values that you provided.
podIdentityAssociations aws-cdk-lib.IResolvable | aws-cdk-lib.IResolvable | aws-cdk-lib.aws_eks.CfnAddon.PodIdentityAssociationProperty[] An array of Pod Identity Assocations owned by the Addon.
preserveOnDelete boolean | aws-cdk-lib.IResolvable Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on.
resolveConflicts string How to resolve field value conflicts for an Amazon EKS add-on.
serviceAccountRoleArn string The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account.
tagsRaw aws-cdk-lib.CfnTag[] The metadata that you apply to the add-on to assist with categorization and organization.

nodeRequired
public readonly node: Node;
  • Type: constructs.Node

The tree node.


creationStackRequired
public readonly creationStack: string[];
  • Type: string[]

logicalIdRequired
public readonly logicalId: string;
  • Type: string

The logical ID for this CloudFormation stack element.

The logical ID of the element is calculated from the path of the resource node in the construct tree.

To override this value, use overrideLogicalId(newLogicalId).


stackRequired
public readonly stack: Stack;
  • Type: aws-cdk-lib.Stack

The stack in which this element is defined.

CfnElements must be defined within a stack scope (directly or indirectly).


refRequired
public readonly ref: string;
  • Type: string

Return a string that will be resolved to a CloudFormation { Ref } for this element.

If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).


cfnOptionsRequired
public readonly cfnOptions: ICfnResourceOptions;
  • Type: aws-cdk-lib.ICfnResourceOptions

Options for this resource, such as condition, update policy etc.


cfnResourceTypeRequired
public readonly cfnResourceType: string;
  • Type: string

AWS resource type.


attrArnRequired
public readonly attrArn: string;
  • Type: string

The ARN of the add-on, such as arn:aws:eks:us-west-2:111122223333:addon/1-19/vpc-cni/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx .


tagsRequired
public readonly tags: TagManager;
  • Type: aws-cdk-lib.TagManager

Tag Manager which manages the tags for this resource.


addonNameRequired
public readonly addonName: string;
  • Type: string

The name of the add-on.


clusterNameRequired
public readonly clusterName: string;
  • Type: string

The name of your cluster.


addonVersionOptional
public readonly addonVersion: string;
  • Type: string

The version of the add-on.


configurationValuesOptional
public readonly configurationValues: string;
  • Type: string

The configuration values that you provided.


podIdentityAssociationsOptional
public readonly podIdentityAssociations: IResolvable | (IResolvable | PodIdentityAssociationProperty)[];
  • Type: aws-cdk-lib.IResolvable | aws-cdk-lib.IResolvable | aws-cdk-lib.aws_eks.CfnAddon.PodIdentityAssociationProperty[]

An array of Pod Identity Assocations owned by the Addon.


preserveOnDeleteOptional
public readonly preserveOnDelete: boolean | IResolvable;
  • Type: boolean | aws-cdk-lib.IResolvable

Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on.


resolveConflictsOptional
public readonly resolveConflicts: string;
  • Type: string

How to resolve field value conflicts for an Amazon EKS add-on.


serviceAccountRoleArnOptional
public readonly serviceAccountRoleArn: string;
  • Type: string

The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account.


tagsRawOptional
public readonly tagsRaw: CfnTag[];
  • Type: aws-cdk-lib.CfnTag[]

The metadata that you apply to the add-on to assist with categorization and organization.


Constants

Name Type Description
CFN_RESOURCE_TYPE_NAME string The CloudFormation resource type name for this resource class.

CFN_RESOURCE_TYPE_NAMERequired
public readonly CFN_RESOURCE_TYPE_NAME: string;
  • Type: string

The CloudFormation resource type name for this resource class.


EKSCluster

Initializers

import { EKSCluster } from '@smallcase/cdk-eks-cluster-module'

new EKSCluster(scope: Construct, id: string, props: EKSClusterProps)
Name Type Description
scope constructs.Construct No description.
id string No description.
props EKSClusterProps No description.

scopeRequired
  • Type: constructs.Construct

idRequired
  • Type: string

propsRequired

Methods

Name Description
toString Returns a string representation of this construct.
with Applies one or more mixins to this construct.
addServiceAccountWithIamRole No description.

toString
public toString(): string

Returns a string representation of this construct.

with
public 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.

mixinsRequired
  • Type: ...constructs.IMixin[]

The mixins to apply.


addServiceAccountWithIamRole
public addServiceAccountWithIamRole(serviceAccountName: string, serviceAccountNamespace: string, policy: any): void
serviceAccountNameRequired
  • Type: string

serviceAccountNamespaceRequired
  • Type: string

policyRequired
  • Type: any

Static Functions

Name Description
isConstruct Checks if x is a construct.

isConstruct
import { EKSCluster } from '@smallcase/cdk-eks-cluster-module'

EKSCluster.isConstruct(x: any)

Checks if x is a construct.

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.

xRequired
  • Type: any

Any object.


Properties

Name Type Description
node constructs.Node The tree node.
additionalFargateProfile aws-cdk-lib.aws_eks.FargateProfile[] No description.
additionalNodegroups aws-cdk-lib.aws_eks.Nodegroup[] No description.
cluster aws-cdk-lib.aws_eks.Cluster No description.
fargateProfiles FargateProfile[] No description.

nodeRequired
public readonly node: Node;
  • Type: constructs.Node

The tree node.


additionalFargateProfileRequired
public readonly additionalFargateProfile: FargateProfile[];
  • Type: aws-cdk-lib.aws_eks.FargateProfile[]

additionalNodegroupsRequired
public readonly additionalNodegroups: Nodegroup[];
  • Type: aws-cdk-lib.aws_eks.Nodegroup[]

clusterRequired
public readonly cluster: Cluster;
  • Type: aws-cdk-lib.aws_eks.Cluster

fargateProfilesRequired
public readonly fargateProfiles: FargateProfile[];

KubeProxyAddon

Initializers

import { KubeProxyAddon } from '@smallcase/cdk-eks-cluster-module'

new KubeProxyAddon(scope: Construct, id: string, props: CoreAddonProps)
Name Type Description
scope constructs.Construct No description.
id string No description.
props CoreAddonProps No description.

scopeRequired
  • Type: constructs.Construct

idRequired
  • Type: string

propsRequired

Methods

Name Description
toString Returns a string representation of this construct.
with Applies one or more mixins to this construct.
overrideLogicalId Overrides the auto-generated logical ID with a specific ID.
addDeletionOverride Syntactic sugar for addOverride(path, undefined).
addDependency Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
addDependsOn Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
addMetadata Add a value to the CloudFormation Resource Metadata.
addOverride Adds an override to the synthesized CloudFormation resource.
addPropertyDeletionOverride Adds an override that deletes the value of a property from the resource definition.
addPropertyOverride Adds an override to a resource property.
applyRemovalPolicy Sets the deletion policy of the resource based on the removal policy specified.
getAtt Returns a token for an runtime attribute of this resource.
getMetadata Retrieve a value value from the CloudFormation Resource Metadata.
obtainDependencies Retrieves an array of resources this resource depends on.
obtainResourceDependencies Get a shallow copy of dependencies between this resource and other resources in the same stack.
removeDependency Indicates that this resource no longer depends on another resource.
replaceDependency Replaces one dependency with another.
inspect Examines the CloudFormation resource and discloses attributes.

toString
public toString(): string

Returns a string representation of this construct.

with
public 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.

mixinsRequired
  • Type: ...constructs.IMixin[]

The mixins to apply.


overrideLogicalId
public overrideLogicalId(newLogicalId: string): void

Overrides the auto-generated logical ID with a specific ID.

newLogicalIdRequired
  • Type: string

The new logical ID to use for this stack element.


addDeletionOverride
public addDeletionOverride(path: string): void

Syntactic sugar for addOverride(path, undefined).

pathRequired
  • Type: string

The path of the value to delete.


addDependency
public addDependency(target: CfnResource): void

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.

targetRequired
  • Type: aws-cdk-lib.CfnResource

addDependsOn
public addDependsOn(target: CfnResource): void

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

targetRequired
  • Type: aws-cdk-lib.CfnResource

addMetadata
public addMetadata(key: string, value: any): void

Add a value to the CloudFormation Resource Metadata.

[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.)

keyRequired
  • Type: string

valueRequired
  • Type: any

addOverride
public addOverride(path: string, value: any): void

Adds an override to the synthesized CloudFormation resource.

To add a property override, either use addPropertyOverride or prefix path with "Properties." (i.e. Properties.TopicName).

If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.

To include a literal . in the property name, prefix with a \. In most programming languages you will need to write this as "\\." because the \ itself will need to be escaped.

For example,

cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');

would add the overrides

"Properties": {
  "GlobalSecondaryIndexes": [
    {
      "Projection": {
        "NonKeyAttributes": [ "myattribute" ]
        ...
      }
      ...
    },
    {
      "ProjectionType": "INCLUDE"
      ...
    },
  ]
  ...
}

The value argument to addOverride will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.

pathRequired
  • Type: string

The path of the property, you can use dot notation to override values in complex types.

Any intermediate keys will be created as needed.


valueRequired
  • Type: any

The value.

Could be primitive or complex.


addPropertyDeletionOverride
public addPropertyDeletionOverride(propertyPath: string): void

Adds an override that deletes the value of a property from the resource definition.

propertyPathRequired
  • Type: string

The path to the property.


addPropertyOverride
public addPropertyOverride(propertyPath: string, value: any): void

Adds an override to a resource property.

Syntactic sugar for addOverride("Properties.<...>", value).

propertyPathRequired
  • Type: string

The path of the property.


valueRequired
  • Type: any

The value.


applyRemovalPolicy
public applyRemovalPolicy(policy?: RemovalPolicy, options?: RemovalPolicyOptions): void

Sets the deletion policy of the resource based on the removal policy specified.

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). In some cases, a snapshot can be taken of the resource prior to deletion (RemovalPolicy.SNAPSHOT). A list of resources that support this policy can be found in the following link:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options

policyOptional
  • Type: aws-cdk-lib.RemovalPolicy

optionsOptional
  • Type: aws-cdk-lib.RemovalPolicyOptions

getAtt
public getAtt(attributeName: string, typeHint?: ResolutionTypeHint): Reference

Returns a token for an runtime attribute of this resource.

Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility in case there is no generated attribute.

attributeNameRequired
  • Type: string

The name of the attribute.


typeHintOptional
  • Type: aws-cdk-lib.ResolutionTypeHint

getMetadata
public getMetadata(key: string): any

Retrieve a value value from the CloudFormation Resource Metadata.

[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.)

keyRequired
  • Type: string

obtainDependencies
public obtainDependencies(): (Stack | CfnResource)[]

Retrieves an array of resources this resource depends on.

This assembles dependencies on resources across stacks (including nested stacks) automatically.

obtainResourceDependencies
public obtainResourceDependencies(): CfnResource[]

Get a shallow copy of dependencies between this resource and other resources in the same stack.

removeDependency
public removeDependency(target: CfnResource): void

Indicates that this resource no longer depends on another resource.

This can be used for resources across stacks (including nested stacks) and the dependency will automatically be removed from the relevant scope.

targetRequired
  • Type: aws-cdk-lib.CfnResource

replaceDependency
public replaceDependency(target: CfnResource, newTarget: CfnResource): void

Replaces one dependency with another.

targetRequired
  • Type: aws-cdk-lib.CfnResource

The dependency to replace.


newTargetRequired
  • Type: aws-cdk-lib.CfnResource

The new dependency to add.


inspect
public inspect(inspector: TreeInspector): void

Examines the CloudFormation resource and discloses attributes.

inspectorRequired
  • Type: aws-cdk-lib.TreeInspector

tree inspector to collect and process attributes.


Static Functions

Name Description
isConstruct Checks if x is a construct.
isCfnElement Returns true if a construct is a stack element (i.e. part of the synthesized cloudformation template).
isCfnResource Check whether the given object is a CfnResource.

isConstruct
import { KubeProxyAddon } from '@smallcase/cdk-eks-cluster-module'

KubeProxyAddon.isConstruct(x: any)

Checks if x is a construct.

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.

xRequired
  • Type: any

Any object.


isCfnElement
import { KubeProxyAddon } from '@smallcase/cdk-eks-cluster-module'

KubeProxyAddon.isCfnElement(x: any)

Returns true if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of instanceof to allow stack elements from different versions of this library to be included in the same stack.

xRequired
  • Type: any

isCfnResource
import { KubeProxyAddon } from '@smallcase/cdk-eks-cluster-module'

KubeProxyAddon.isCfnResource(x: any)

Check whether the given object is a CfnResource.

xRequired
  • Type: any

Properties

Name Type Description
node constructs.Node The tree node.
creationStack string[] No description.
logicalId string The logical ID for this CloudFormation stack element.
stack aws-cdk-lib.Stack The stack in which this element is defined.
ref string Return a string that will be resolved to a CloudFormation { Ref } for this element.
cfnOptions aws-cdk-lib.ICfnResourceOptions Options for this resource, such as condition, update policy etc.
cfnResourceType string AWS resource type.
attrArn string The ARN of the add-on, such as arn:aws:eks:us-west-2:111122223333:addon/1-19/vpc-cni/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx .
tags aws-cdk-lib.TagManager Tag Manager which manages the tags for this resource.
addonName string The name of the add-on.
clusterName string The name of your cluster.
addonVersion string The version of the add-on.
configurationValues string The configuration values that you provided.
podIdentityAssociations aws-cdk-lib.IResolvable | aws-cdk-lib.IResolvable | aws-cdk-lib.aws_eks.CfnAddon.PodIdentityAssociationProperty[] An array of Pod Identity Assocations owned by the Addon.
preserveOnDelete boolean | aws-cdk-lib.IResolvable Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on.
resolveConflicts string How to resolve field value conflicts for an Amazon EKS add-on.
serviceAccountRoleArn string The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account.
tagsRaw aws-cdk-lib.CfnTag[] The metadata that you apply to the add-on to assist with categorization and organization.

nodeRequired
public readonly node: Node;
  • Type: constructs.Node

The tree node.


creationStackRequired
public readonly creationStack: string[];
  • Type: string[]

logicalIdRequired
public readonly logicalId: string;
  • Type: string

The logical ID for this CloudFormation stack element.

The logical ID of the element is calculated from the path of the resource node in the construct tree.

To override this value, use overrideLogicalId(newLogicalId).


stackRequired
public readonly stack: Stack;
  • Type: aws-cdk-lib.Stack

The stack in which this element is defined.

CfnElements must be defined within a stack scope (directly or indirectly).


refRequired
public readonly ref: string;
  • Type: string

Return a string that will be resolved to a CloudFormation { Ref } for this element.

If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).


cfnOptionsRequired
public readonly cfnOptions: ICfnResourceOptions;
  • Type: aws-cdk-lib.ICfnResourceOptions

Options for this resource, such as condition, update policy etc.


cfnResourceTypeRequired
public readonly cfnResourceType: string;
  • Type: string

AWS resource type.


attrArnRequired
public readonly attrArn: string;
  • Type: string

The ARN of the add-on, such as arn:aws:eks:us-west-2:111122223333:addon/1-19/vpc-cni/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx .


tagsRequired
public readonly tags: TagManager;
  • Type: aws-cdk-lib.TagManager

Tag Manager which manages the tags for this resource.


addonNameRequired
public readonly addonName: string;
  • Type: string

The name of the add-on.


clusterNameRequired
public readonly clusterName: string;
  • Type: string

The name of your cluster.


addonVersionOptional
public readonly addonVersion: string;
  • Type: string

The version of the add-on.


configurationValuesOptional
public readonly configurationValues: string;
  • Type: string

The configuration values that you provided.


podIdentityAssociationsOptional
public readonly podIdentityAssociations: IResolvable | (IResolvable | PodIdentityAssociationProperty)[];
  • Type: aws-cdk-lib.IResolvable | aws-cdk-lib.IResolvable | aws-cdk-lib.aws_eks.CfnAddon.PodIdentityAssociationProperty[]

An array of Pod Identity Assocations owned by the Addon.


preserveOnDeleteOptional
public readonly preserveOnDelete: boolean | IResolvable;
  • Type: boolean | aws-cdk-lib.IResolvable

Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on.


resolveConflictsOptional
public readonly resolveConflicts: string;
  • Type: string

How to resolve field value conflicts for an Amazon EKS add-on.


serviceAccountRoleArnOptional
public readonly serviceAccountRoleArn: string;
  • Type: string

The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account.


tagsRawOptional
public readonly tagsRaw: CfnTag[];
  • Type: aws-cdk-lib.CfnTag[]

The metadata that you apply to the add-on to assist with categorization and organization.


Constants

Name Type Description
CFN_RESOURCE_TYPE_NAME string The CloudFormation resource type name for this resource class.

CFN_RESOURCE_TYPE_NAMERequired
public readonly CFN_RESOURCE_TYPE_NAME: string;
  • Type: string

The CloudFormation resource type name for this resource class.


VpcEniAddon

Initializers

import { VpcEniAddon } from '@smallcase/cdk-eks-cluster-module'

new VpcEniAddon(scope: Construct, id: string, props: VpcCniAddonProps)
Name Type Description
scope constructs.Construct No description.
id string No description.
props VpcCniAddonProps No description.

scopeRequired
  • Type: constructs.Construct

idRequired
  • Type: string

propsRequired

Methods

Name Description
toString Returns a string representation of this construct.
with Applies one or more mixins to this construct.
overrideLogicalId Overrides the auto-generated logical ID with a specific ID.
addDeletionOverride Syntactic sugar for addOverride(path, undefined).
addDependency Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
addDependsOn Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
addMetadata Add a value to the CloudFormation Resource Metadata.
addOverride Adds an override to the synthesized CloudFormation resource.
addPropertyDeletionOverride Adds an override that deletes the value of a property from the resource definition.
addPropertyOverride Adds an override to a resource property.
applyRemovalPolicy Sets the deletion policy of the resource based on the removal policy specified.
getAtt Returns a token for an runtime attribute of this resource.
getMetadata Retrieve a value value from the CloudFormation Resource Metadata.
obtainDependencies Retrieves an array of resources this resource depends on.
obtainResourceDependencies Get a shallow copy of dependencies between this resource and other resources in the same stack.
removeDependency Indicates that this resource no longer depends on another resource.
replaceDependency Replaces one dependency with another.
inspect Examines the CloudFormation resource and discloses attributes.

toString
public toString(): string

Returns a string representation of this construct.

with
public 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.

mixinsRequired
  • Type: ...constructs.IMixin[]

The mixins to apply.


overrideLogicalId
public overrideLogicalId(newLogicalId: string): void

Overrides the auto-generated logical ID with a specific ID.

newLogicalIdRequired
  • Type: string

The new logical ID to use for this stack element.


addDeletionOverride
public addDeletionOverride(path: string): void

Syntactic sugar for addOverride(path, undefined).

pathRequired
  • Type: string

The path of the value to delete.


addDependency
public addDependency(target: CfnResource): void

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.

targetRequired
  • Type: aws-cdk-lib.CfnResource

addDependsOn
public addDependsOn(target: CfnResource): void

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

targetRequired
  • Type: aws-cdk-lib.CfnResource

addMetadata
public addMetadata(key: string, value: any): void

Add a value to the CloudFormation Resource Metadata.

[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.)

keyRequired
  • Type: string

valueRequired
  • Type: any

addOverride
public addOverride(path: string, value: any): void

Adds an override to the synthesized CloudFormation resource.

To add a property override, either use addPropertyOverride or prefix path with "Properties." (i.e. Properties.TopicName).

If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.

To include a literal . in the property name, prefix with a \. In most programming languages you will need to write this as "\\." because the \ itself will need to be escaped.

For example,

cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');

would add the overrides

"Properties": {
  "GlobalSecondaryIndexes": [
    {
      "Projection": {
        "NonKeyAttributes": [ "myattribute" ]
        ...
      }
      ...
    },
    {
      "ProjectionType": "INCLUDE"
      ...
    },
  ]
  ...
}

The value argument to addOverride will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.

pathRequired
  • Type: string

The path of the property, you can use dot notation to override values in complex types.

Any intermediate keys will be created as needed.


valueRequired
  • Type: any

The value.

Could be primitive or complex.


addPropertyDeletionOverride
public addPropertyDeletionOverride(propertyPath: string): void

Adds an override that deletes the value of a property from the resource definition.

propertyPathRequired
  • Type: string

The path to the property.


addPropertyOverride
public addPropertyOverride(propertyPath: string, value: any): void

Adds an override to a resource property.

Syntactic sugar for addOverride("Properties.<...>", value).

propertyPathRequired
  • Type: string

The path of the property.


valueRequired
  • Type: any

The value.


applyRemovalPolicy
public applyRemovalPolicy(policy?: RemovalPolicy, options?: RemovalPolicyOptions): void

Sets the deletion policy of the resource based on the removal policy specified.

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). In some cases, a snapshot can be taken of the resource prior to deletion (RemovalPolicy.SNAPSHOT). A list of resources that support this policy can be found in the following link:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options

policyOptional
  • Type: aws-cdk-lib.RemovalPolicy

optionsOptional
  • Type: aws-cdk-lib.RemovalPolicyOptions

getAtt
public getAtt(attributeName: string, typeHint?: ResolutionTypeHint): Reference

Returns a token for an runtime attribute of this resource.

Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility in case there is no generated attribute.

attributeNameRequired
  • Type: string

The name of the attribute.


typeHintOptional
  • Type: aws-cdk-lib.ResolutionTypeHint

getMetadata
public getMetadata(key: string): any

Retrieve a value value from the CloudFormation Resource Metadata.

[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.)

keyRequired
  • Type: string

obtainDependencies
public obtainDependencies(): (Stack | CfnResource)[]

Retrieves an array of resources this resource depends on.

This assembles dependencies on resources across stacks (including nested stacks) automatically.

obtainResourceDependencies
public obtainResourceDependencies(): CfnResource[]

Get a shallow copy of dependencies between this resource and other resources in the same stack.

removeDependency
public removeDependency(target: CfnResource): void

Indicates that this resource no longer depends on another resource.

This can be used for resources across stacks (including nested stacks) and the dependency will automatically be removed from the relevant scope.

targetRequired
  • Type: aws-cdk-lib.CfnResource

replaceDependency
public replaceDependency(target: CfnResource, newTarget: CfnResource): void

Replaces one dependency with another.

targetRequired
  • Type: aws-cdk-lib.CfnResource

The dependency to replace.


newTargetRequired
  • Type: aws-cdk-lib.CfnResource

The new dependency to add.


inspect
public inspect(inspector: TreeInspector): void

Examines the CloudFormation resource and discloses attributes.

inspectorRequired
  • Type: aws-cdk-lib.TreeInspector

tree inspector to collect and process attributes.


Static Functions

Name Description
isConstruct Checks if x is a construct.
isCfnElement Returns true if a construct is a stack element (i.e. part of the synthesized cloudformation template).
isCfnResource Check whether the given object is a CfnResource.

isConstruct
import { VpcEniAddon } from '@smallcase/cdk-eks-cluster-module'

VpcEniAddon.isConstruct(x: any)

Checks if x is a construct.

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.

xRequired
  • Type: any

Any object.


isCfnElement
import { VpcEniAddon } from '@smallcase/cdk-eks-cluster-module'

VpcEniAddon.isCfnElement(x: any)

Returns true if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of instanceof to allow stack elements from different versions of this library to be included in the same stack.

xRequired
  • Type: any

isCfnResource
import { VpcEniAddon } from '@smallcase/cdk-eks-cluster-module'

VpcEniAddon.isCfnResource(x: any)

Check whether the given object is a CfnResource.

xRequired
  • Type: any

Properties

Name Type Description
node constructs.Node The tree node.
creationStack string[] No description.
logicalId string The logical ID for this CloudFormation stack element.
stack aws-cdk-lib.Stack The stack in which this element is defined.
ref string Return a string that will be resolved to a CloudFormation { Ref } for this element.
cfnOptions aws-cdk-lib.ICfnResourceOptions Options for this resource, such as condition, update policy etc.
cfnResourceType string AWS resource type.
attrArn string The ARN of the add-on, such as arn:aws:eks:us-west-2:111122223333:addon/1-19/vpc-cni/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx .
tags aws-cdk-lib.TagManager Tag Manager which manages the tags for this resource.
addonName string The name of the add-on.
clusterName string The name of your cluster.
addonVersion string The version of the add-on.
configurationValues string The configuration values that you provided.
podIdentityAssociations aws-cdk-lib.IResolvable | aws-cdk-lib.IResolvable | aws-cdk-lib.aws_eks.CfnAddon.PodIdentityAssociationProperty[] An array of Pod Identity Assocations owned by the Addon.
preserveOnDelete boolean | aws-cdk-lib.IResolvable Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on.
resolveConflicts string How to resolve field value conflicts for an Amazon EKS add-on.
serviceAccountRoleArn string The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account.
tagsRaw aws-cdk-lib.CfnTag[] The metadata that you apply to the add-on to assist with categorization and organization.

nodeRequired
public readonly node: Node;
  • Type: constructs.Node

The tree node.


creationStackRequired
public readonly creationStack: string[];
  • Type: string[]

logicalIdRequired
public readonly logicalId: string;
  • Type: string

The logical ID for this CloudFormation stack element.

The logical ID of the element is calculated from the path of the resource node in the construct tree.

To override this value, use overrideLogicalId(newLogicalId).


stackRequired
public readonly stack: Stack;
  • Type: aws-cdk-lib.Stack

The stack in which this element is defined.

CfnElements must be defined within a stack scope (directly or indirectly).


refRequired
public readonly ref: string;
  • Type: string

Return a string that will be resolved to a CloudFormation { Ref } for this element.

If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).


cfnOptionsRequired
public readonly cfnOptions: ICfnResourceOptions;
  • Type: aws-cdk-lib.ICfnResourceOptions

Options for this resource, such as condition, update policy etc.


cfnResourceTypeRequired
public readonly cfnResourceType: string;
  • Type: string

AWS resource type.


attrArnRequired
public readonly attrArn: string;
  • Type: string

The ARN of the add-on, such as arn:aws:eks:us-west-2:111122223333:addon/1-19/vpc-cni/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx .


tagsRequired
public readonly tags: TagManager;
  • Type: aws-cdk-lib.TagManager

Tag Manager which manages the tags for this resource.


addonNameRequired
public readonly addonName: string;
  • Type: string

The name of the add-on.


clusterNameRequired
public readonly clusterName: string;
  • Type: string

The name of your cluster.


addonVersionOptional
public readonly addonVersion: string;
  • Type: string

The version of the add-on.


configurationValuesOptional
public readonly configurationValues: string;
  • Type: string

The configuration values that you provided.


podIdentityAssociationsOptional
public readonly podIdentityAssociations: IResolvable | (IResolvable | PodIdentityAssociationProperty)[];
  • Type: aws-cdk-lib.IResolvable | aws-cdk-lib.IResolvable | aws-cdk-lib.aws_eks.CfnAddon.PodIdentityAssociationProperty[]

An array of Pod Identity Assocations owned by the Addon.


preserveOnDeleteOptional
public readonly preserveOnDelete: boolean | IResolvable;
  • Type: boolean | aws-cdk-lib.IResolvable

Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on.


resolveConflictsOptional
public readonly resolveConflicts: string;
  • Type: string

How to resolve field value conflicts for an Amazon EKS add-on.


serviceAccountRoleArnOptional
public readonly serviceAccountRoleArn: string;
  • Type: string

The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account.


tagsRawOptional
public readonly tagsRaw: CfnTag[];
  • Type: aws-cdk-lib.CfnTag[]

The metadata that you apply to the add-on to assist with categorization and organization.


Constants

Name Type Description
CFN_RESOURCE_TYPE_NAME string The CloudFormation resource type name for this resource class.

CFN_RESOURCE_TYPE_NAMERequired
public readonly CFN_RESOURCE_TYPE_NAME: string;
  • Type: string

The CloudFormation resource type name for this resource class.


Structs

AddonProps

Initializer

import { AddonProps } from '@smallcase/cdk-eks-cluster-module'

const addonProps: AddonProps = { ... }

Properties

Name Type Description
configurationValues string No description.
vpnCniAddonVersion VpcCniAddonVersion No description.

configurationValuesOptional
public readonly configurationValues: string;
  • Type: string

vpnCniAddonVersionOptional
public readonly vpnCniAddonVersion: VpcCniAddonVersion;

ArgoCD

Initializer

import { ArgoCD } from '@smallcase/cdk-eks-cluster-module'

const argoCD: ArgoCD = { ... }

Properties

Name Type Description
assumeRoleArn string No description.
clusterRoleName string No description.

assumeRoleArnRequired
public readonly assumeRoleArn: string;
  • Type: string

clusterRoleNameRequired
public readonly clusterRoleName: string;
  • Type: string

ClusterConfig

Initializer

import { ClusterConfig } from '@smallcase/cdk-eks-cluster-module'

const clusterConfig: ClusterConfig = { ... }

Properties

Name Type Description
clusterName string No description.
clusterVersion aws-cdk-lib.aws_eks.KubernetesVersion No description.
defaultCapacity number No description.
nodeGroups NodeGroupConfig[] No description.
subnets InternalMap No description.
tags InternalMap No description.
teamMembers string[] No description.
addAutoscalerIam boolean No description.
albControllerVersion aws-cdk-lib.aws_eks.AlbControllerVersion No description.
argoCD ArgoCD No description.
commonComponents {[ key: string ]: ICommonComponentsProps} No description.
debugLogs boolean No description.
defaultCommonComponents DefaultCommonComponents No description.
deprecateClusterAutoScaler boolean No description.
fargateProfiles FargateProfile[] No description.
kubectlLayer aws-cdk-lib.aws_lambda.ILayerVersion No description.
namespaces {[ key: string ]: NamespaceSpec} No description.
publicAllowAccess string[] No description.
skipExternalDNS boolean No description.
teamExistingRolePermission {[ key: string ]: string} No description.

clusterNameRequired
public readonly clusterName: string;
  • Type: string

clusterVersionRequired
public readonly clusterVersion: KubernetesVersion;
  • Type: aws-cdk-lib.aws_eks.KubernetesVersion

defaultCapacityRequired
public readonly defaultCapacity: number;
  • Type: number

nodeGroupsRequired
public readonly nodeGroups: NodeGroupConfig[];

subnetsRequired
public readonly subnets: InternalMap;

tagsRequired
public readonly tags: InternalMap;

teamMembersRequired
public readonly teamMembers: string[];
  • Type: string[]

addAutoscalerIamOptional
public readonly addAutoscalerIam: boolean;
  • Type: boolean

albControllerVersionOptional
public readonly albControllerVersion: AlbControllerVersion;
  • Type: aws-cdk-lib.aws_eks.AlbControllerVersion

argoCDOptional
public readonly argoCD: ArgoCD;

commonComponentsOptional
public readonly commonComponents: {[ key: string ]: ICommonComponentsProps};

debugLogsOptional
public readonly debugLogs: boolean;
  • Type: boolean

defaultCommonComponentsOptional
public readonly defaultCommonComponents: DefaultCommonComponents;

deprecateClusterAutoScalerOptional
public readonly deprecateClusterAutoScaler: boolean;
  • Type: boolean

fargateProfilesOptional
public readonly fargateProfiles: FargateProfile[];

kubectlLayerOptional
public readonly kubectlLayer: ILayerVersion;
  • Type: aws-cdk-lib.aws_lambda.ILayerVersion

namespacesOptional
public readonly namespaces: {[ key: string ]: NamespaceSpec};

publicAllowAccessOptional
public readonly publicAllowAccess: string[];
  • Type: string[]

skipExternalDNSOptional
public readonly skipExternalDNS: boolean;
  • Type: boolean

teamExistingRolePermissionOptional
public readonly teamExistingRolePermission: {[ key: string ]: string};
  • Type: {[ key: string ]: string}

CommonHelmChartsProps

Initializer

import { CommonHelmChartsProps } from '@smallcase/cdk-eks-cluster-module'

const commonHelmChartsProps: CommonHelmChartsProps = { ... }

Properties

Name Type Description
cluster aws-cdk-lib.aws_eks.ICluster No description.
helmProps StandardHelmProps No description.
dependentNamespaces aws-cdk-lib.aws_eks.KubernetesManifest[] No description.
iamPolicyPath string[] No description.
logCharts boolean No description.
serviceAccounts string[] No description.

clusterRequired
public readonly cluster: ICluster;
  • Type: aws-cdk-lib.aws_eks.ICluster

helmPropsRequired
public readonly helmProps: StandardHelmProps;

dependentNamespacesOptional
public readonly dependentNamespaces: KubernetesManifest[];
  • Type: aws-cdk-lib.aws_eks.KubernetesManifest[]

iamPolicyPathOptional
public readonly iamPolicyPath: string[];
  • Type: string[]

logChartsOptional
public readonly logCharts: boolean;
  • Type: boolean

serviceAccountsOptional
public readonly serviceAccounts: string[];
  • Type: string[]

CoreAddonProps

Initializer

import { CoreAddonProps } from '@smallcase/cdk-eks-cluster-module'

const coreAddonProps: CoreAddonProps = { ... }

Properties

Name Type Description
cluster aws-cdk-lib.aws_eks.Cluster No description.
addonVersion string No description.
configurationValues string No description.
namespace string No description.
resolveConflicts boolean No description.

clusterRequired
public readonly cluster: Cluster;
  • Type: aws-cdk-lib.aws_eks.Cluster

addonVersionOptional
public readonly addonVersion: string;
  • Type: string

configurationValuesOptional
public readonly configurationValues: string;
  • Type: string

namespaceOptional
public readonly namespace: string;
  • Type: string

resolveConflictsOptional
public readonly resolveConflicts: boolean;
  • Type: boolean

CoreAddonValuesProps

Initializer

import { CoreAddonValuesProps } from '@smallcase/cdk-eks-cluster-module'

const coreAddonValuesProps: CoreAddonValuesProps = { ... }

Properties

Name Type Description
addonVersion string No description.
configurationValues string No description.

addonVersionOptional
public readonly addonVersion: string;
  • Type: string

configurationValuesOptional
public readonly configurationValues: string;
  • Type: string

DefaultCommonComponents

Initializer

import { DefaultCommonComponents } from '@smallcase/cdk-eks-cluster-module'

const defaultCommonComponents: DefaultCommonComponents = { ... }

Properties

Name Type Description
awsEbsCsiDriver DefaultCommonComponentsProps No description.
awsEfsCsiDriver DefaultCommonComponentsProps No description.
clusterAutoscaler DefaultCommonComponentsProps No description.
externalDns DefaultCommonComponentsProps No description.

awsEbsCsiDriverOptional
public readonly awsEbsCsiDriver: DefaultCommonComponentsProps;

awsEfsCsiDriverOptional
public readonly awsEfsCsiDriver: DefaultCommonComponentsProps;

clusterAutoscalerOptional
public readonly clusterAutoscaler: DefaultCommonComponentsProps;

externalDnsOptional
public readonly externalDns: DefaultCommonComponentsProps;

DefaultCommonComponentsProps

Initializer

import { DefaultCommonComponentsProps } from '@smallcase/cdk-eks-cluster-module'

const defaultCommonComponentsProps: DefaultCommonComponentsProps = { ... }

Properties

Name Type Description
namespace string No description.

namespaceOptional
public readonly namespace: string;
  • Type: string

EKSClusterProps

Initializer

import { EKSClusterProps } from '@smallcase/cdk-eks-cluster-module'

const eKSClusterProps: EKSClusterProps = { ... }

Properties

Name Type Description
availabilityZones string[] No description.
clusterConfig ClusterConfig No description.
kmsKey aws-cdk-lib.aws_kms.Key No description.
region string No description.
workerSecurityGroup aws-cdk-lib.aws_ec2.SecurityGroup No description.
addonProps AddonProps No description.
clusterVPC aws-cdk-lib.aws_ec2.IVpc No description.
coreDnsAddonProps CoreAddonValuesProps No description.
kubeProxyAddonProps CoreAddonValuesProps No description.

availabilityZonesRequired
public readonly availabilityZones: string[];
  • Type: string[]

clusterConfigRequired
public readonly clusterConfig: ClusterConfig;

kmsKeyRequired
public readonly kmsKey: Key;
  • Type: aws-cdk-lib.aws_kms.Key

regionRequired
public readonly region: string;
  • Type: string

workerSecurityGroupRequired
public readonly workerSecurityGroup: SecurityGroup;
  • Type: aws-cdk-lib.aws_ec2.SecurityGroup

addonPropsOptional
public readonly addonProps: AddonProps;

clusterVPCOptional
public readonly clusterVPC: IVpc;
  • Type: aws-cdk-lib.aws_ec2.IVpc

coreDnsAddonPropsOptional
public readonly coreDnsAddonProps: CoreAddonValuesProps;

kubeProxyAddonPropsOptional
public readonly kubeProxyAddonProps: CoreAddonValuesProps;

FargateProfile

Initializer

import { FargateProfile } from '@smallcase/cdk-eks-cluster-module'

const fargateProfile: FargateProfile = { ... }

Properties

Name Type Description
namespaces string[] No description.
profileName string No description.
labels InternalMap No description.
podExecutionRole aws-cdk-lib.aws_iam.Role No description.
subnetSelection aws-cdk-lib.aws_ec2.SubnetSelection No description.

namespacesRequired
public readonly namespaces: string[];
  • Type: string[]

profileNameRequired
public readonly profileName: string;
  • Type: string

labelsOptional
public readonly labels: InternalMap;

podExecutionRoleOptional
public readonly podExecutionRole: Role;
  • Type: aws-cdk-lib.aws_iam.Role

subnetSelectionOptional
public readonly subnetSelection: SubnetSelection;
  • Type: aws-cdk-lib.aws_ec2.SubnetSelection

InternalMap

Initializer

import { InternalMap } from '@smallcase/cdk-eks-cluster-module'

const internalMap: InternalMap = { ... }

NamespaceSpec

Initializer

import { NamespaceSpec } from '@smallcase/cdk-eks-cluster-module'

const namespaceSpec: NamespaceSpec = { ... }

Properties

Name Type Description
annotations InternalMap No description.
labels InternalMap No description.

annotationsOptional
public readonly annotations: InternalMap;

labelsOptional
public readonly labels: InternalMap;

NodeGroupConfig

Initializer

import { NodeGroupConfig } from '@smallcase/cdk-eks-cluster-module'

const nodeGroupConfig: NodeGroupConfig = { ... }

Properties

Name Type Description
instanceTypes aws-cdk-lib.aws_ec2.InstanceType[] No description.
labels InternalMap No description.
maxSize number No description.
minSize number No description.
name string No description.
subnetGroupName string No description.
taints InternalMap No description.
amiType aws-cdk-lib.aws_eks.NodegroupAmiType No description.
capacityType aws-cdk-lib.aws_eks.CapacityType No description.
desiredSize number No description.
diskSize number No description.
launchTemplateSpec aws-cdk-lib.aws_eks.LaunchTemplateSpec No description.
nodeAMIVersion string No description.
sshKeyName string No description.
subnetAz string[] No description.
tags InternalMap No description.

instanceTypesRequired
public readonly instanceTypes: InstanceType[];
  • Type: aws-cdk-lib.aws_ec2.InstanceType[]

labelsRequired
public readonly labels: InternalMap;

maxSizeRequired
public readonly maxSize: number;
  • Type: number

minSizeRequired
public readonly minSize: number;
  • Type: number

nameRequired
public readonly name: string;
  • Type: string

subnetGroupNameRequired
public readonly subnetGroupName: string;
  • Type: string

taintsRequired
public readonly taints: InternalMap;

amiTypeOptional
public readonly amiType: NodegroupAmiType;
  • Type: aws-cdk-lib.aws_eks.NodegroupAmiType

capacityTypeOptional
public readonly capacityType: CapacityType;
  • Type: aws-cdk-lib.aws_eks.CapacityType

desiredSizeOptional
public readonly desiredSize: number;
  • Type: number

diskSizeOptional
public readonly diskSize: number;
  • Type: number

launchTemplateSpecOptional
public readonly launchTemplateSpec: LaunchTemplateSpec;
  • Type: aws-cdk-lib.aws_eks.LaunchTemplateSpec

nodeAMIVersionOptional
public readonly nodeAMIVersion: string;
  • Type: string

sshKeyNameOptional
public readonly sshKeyName: string;
  • Type: string

subnetAzOptional
public readonly subnetAz: string[];
  • Type: string[]

tagsOptional
public readonly tags: InternalMap;

StandardHelmProps

Initializer

import { StandardHelmProps } from '@smallcase/cdk-eks-cluster-module'

const standardHelmProps: StandardHelmProps = { ... }

Properties

Name Type Description
chartName string No description.
chartReleaseName string No description.
chartVersion string No description.
createNamespace boolean No description.
helmRepository string No description.
helmValues {[ key: string ]: any} No description.
localHelmChart string No description.
namespace string No description.

chartNameRequired
public readonly chartName: string;
  • Type: string

chartReleaseNameOptional
public readonly chartReleaseName: string;
  • Type: string

chartVersionOptional
public readonly chartVersion: string;
  • Type: string

createNamespaceOptional
public readonly createNamespace: boolean;
  • Type: boolean

helmRepositoryOptional
public readonly helmRepository: string;
  • Type: string

helmValuesOptional
public readonly helmValues: {[ key: string ]: any};
  • Type: {[ key: string ]: any}

localHelmChartOptional
public readonly localHelmChart: string;
  • Type: string

namespaceOptional
public readonly namespace: string;
  • Type: string

VpcCniAddonProps

Initializer

import { VpcCniAddonProps } from '@smallcase/cdk-eks-cluster-module'

const vpcCniAddonProps: VpcCniAddonProps = { ... }

Properties

Name Type Description
cluster aws-cdk-lib.aws_eks.Cluster No description.
addonVersion VpcCniAddonVersion No description.
configurationValues string No description.
namespace string No description.
resolveConflicts boolean No description.

clusterRequired
public readonly cluster: Cluster;
  • Type: aws-cdk-lib.aws_eks.Cluster

addonVersionOptional
public readonly addonVersion: VpcCniAddonVersion;

configurationValuesOptional
public readonly configurationValues: string;
  • Type: string

namespaceOptional
public readonly namespace: string;
  • Type: string

resolveConflictsOptional
public readonly resolveConflicts: boolean;
  • Type: boolean

Classes

VpcCniAddonVersion

Initializers

import { VpcCniAddonVersion } from '@smallcase/cdk-eks-cluster-module'

new VpcCniAddonVersion(version: string)
Name Type Description
version string No description.

versionRequired
  • Type: string

Static Functions

Name Description
of Custom add-on version.

of
import { VpcCniAddonVersion } from '@smallcase/cdk-eks-cluster-module'

VpcCniAddonVersion.of(version: string)

Custom add-on version.

versionRequired
  • Type: string

custom add-on version.


Properties

Name Type Description
version string No description.

versionRequired
public readonly version: string;
  • Type: string

Constants

Name Type Description
V1_10_1 VpcCniAddonVersion vpc-cni version 1.10.1.
V1_10_2 VpcCniAddonVersion vpc-cni version 1.10.2.
V1_10_3 VpcCniAddonVersion vpc-cni version 1.10.3.
V1_11_0 VpcCniAddonVersion vpc-cni version 1.11.0.
V1_11_2 VpcCniAddonVersion vpc-cni version 1.11.2.
V1_11_3 VpcCniAddonVersion vpc-cni version 1.11.3.
V1_11_4 VpcCniAddonVersion vpc-cni version 1.11.4.
V1_12_0 VpcCniAddonVersion vpc-cni version 1.12.0.
V1_12_1 VpcCniAddonVersion vpc-cni version 1.12.1.
V1_12_2 VpcCniAddonVersion vpc-cni version 1.12.2.
V1_12_5 VpcCniAddonVersion vpc-cni version 1.12.5.
V1_12_5_2 VpcCniAddonVersion vpc-cni version 1.12.5.2.
V1_17_1_1 VpcCniAddonVersion vpc-cni version 1.17.1.1.
V1_18_6_1 VpcCniAddonVersion vpc-cni version 1.18.6.1.
V1_19_0_1 VpcCniAddonVersion vpc-cni version 1.19.0.1.
V1_19_2_1 VpcCniAddonVersion vpc-cni version 1.19.2.1.
V1_19_2_5 VpcCniAddonVersion vpc-cni version 1.19.2.5.
V1_19_3_1 VpcCniAddonVersion vpc-cni version 1.19.3.1.
V1_19_5_3 VpcCniAddonVersion vpc-cni version 1.19.5.
V1_20_3_1 VpcCniAddonVersion vpc-cni version 1.20.3.
V1_20_4_1 VpcCniAddonVersion vpc-cni version 1.20.4.
V1_21_1_3 VpcCniAddonVersion vpc-cni version 1.21.1.
V1_6_3 VpcCniAddonVersion vpc-cni version 1.6.3.
V1_7_10 VpcCniAddonVersion vpc-cni version 1.7.10.
V1_7_5 VpcCniAddonVersion vpc-cni version 1.7.5.
V1_7_6 VpcCniAddonVersion vpc-cni version 1.7.6.
V1_7_9 VpcCniAddonVersion vpc-cni version 1.7.9.
V1_8_0 VpcCniAddonVersion vpc-cni version 1.8.0.
V1_9_0 VpcCniAddonVersion vpc-cni version 1.9.0.
V1_9_1 VpcCniAddonVersion vpc-cni version 1.9.1.
V1_9_3 VpcCniAddonVersion vpc-cni version 1.9.3.

V1_10_1Required
public readonly V1_10_1: VpcCniAddonVersion;

vpc-cni version 1.10.1.


V1_10_2Required
public readonly V1_10_2: VpcCniAddonVersion;

vpc-cni version 1.10.2.


V1_10_3Required
public readonly V1_10_3: VpcCniAddonVersion;

vpc-cni version 1.10.3.


V1_11_0Required
public readonly V1_11_0: VpcCniAddonVersion;

vpc-cni version 1.11.0.


V1_11_2Required
public readonly V1_11_2: VpcCniAddonVersion;

vpc-cni version 1.11.2.


V1_11_3Required
public readonly V1_11_3: VpcCniAddonVersion;

vpc-cni version 1.11.3.


V1_11_4Required
public readonly V1_11_4: VpcCniAddonVersion;

vpc-cni version 1.11.4.


V1_12_0Required
public readonly V1_12_0: VpcCniAddonVersion;

vpc-cni version 1.12.0.


V1_12_1Required
public readonly V1_12_1: VpcCniAddonVersion;

vpc-cni version 1.12.1.


V1_12_2Required
public readonly V1_12_2: VpcCniAddonVersion;

vpc-cni version 1.12.2.


V1_12_5Required
public readonly V1_12_5: VpcCniAddonVersion;

vpc-cni version 1.12.5.


V1_12_5_2Required
public readonly V1_12_5_2: VpcCniAddonVersion;

vpc-cni version 1.12.5.2.


V1_17_1_1Required
public readonly V1_17_1_1: VpcCniAddonVersion;

vpc-cni version 1.17.1.1.


V1_18_6_1Required
public readonly V1_18_6_1: VpcCniAddonVersion;

vpc-cni version 1.18.6.1.


V1_19_0_1Required
public readonly V1_19_0_1: VpcCniAddonVersion;

vpc-cni version 1.19.0.1.


V1_19_2_1Required
public readonly V1_19_2_1: VpcCniAddonVersion;

vpc-cni version 1.19.2.1.


V1_19_2_5Required
public readonly V1_19_2_5: VpcCniAddonVersion;

vpc-cni version 1.19.2.5.


V1_19_3_1Required
public readonly V1_19_3_1: VpcCniAddonVersion;

vpc-cni version 1.19.3.1.


V1_19_5_3Required
public readonly V1_19_5_3: VpcCniAddonVersion;

vpc-cni version 1.19.5.


V1_20_3_1Required
public readonly V1_20_3_1: VpcCniAddonVersion;

vpc-cni version 1.20.3.


V1_20_4_1Required
public readonly V1_20_4_1: VpcCniAddonVersion;

vpc-cni version 1.20.4.


V1_21_1_3Required
public readonly V1_21_1_3: VpcCniAddonVersion;

vpc-cni version 1.21.1.


V1_6_3Required
public readonly V1_6_3: VpcCniAddonVersion;

vpc-cni version 1.6.3.


V1_7_10Required
public readonly V1_7_10: VpcCniAddonVersion;

vpc-cni version 1.7.10.


V1_7_5Required
public readonly V1_7_5: VpcCniAddonVersion;

vpc-cni version 1.7.5.


V1_7_6Required
public readonly V1_7_6: VpcCniAddonVersion;

vpc-cni version 1.7.6.


V1_7_9Required
public readonly V1_7_9: VpcCniAddonVersion;

vpc-cni version 1.7.9.


V1_8_0Required
public readonly V1_8_0: VpcCniAddonVersion;

vpc-cni version 1.8.0.


V1_9_0Required
public readonly V1_9_0: VpcCniAddonVersion;

vpc-cni version 1.9.0.


V1_9_1Required
public readonly V1_9_1: VpcCniAddonVersion;

vpc-cni version 1.9.1.


V1_9_3Required
public readonly V1_9_3: VpcCniAddonVersion;

vpc-cni version 1.9.3.


Protocols

ICommonComponentsProps

Properties

Name Type Description
helm StandardHelmProps No description.
iamPolicyPath string[] No description.
serviceAccounts string[] No description.

helmRequired
public readonly helm: StandardHelmProps;

iamPolicyPathOptional
public readonly iamPolicyPath: string[];
  • Type: string[]

serviceAccountsOptional
public readonly serviceAccounts: string[];
  • Type: string[]