Photo by Mason Kimbarovsky on Unsplash
AWS CDK Construct
Code example on how to create an AWS CDK Construct in TypeScript
What is an AWS CDK Construct
A construct represents a cloud component. Constructs encapsulate everything that AWS CloudFormation needs to create the resources and properties. It can contain one or more AWS resources, you're free to customize it yourself.
The advantage of creating a construct is that you can re-use the components in stacks without redefining the code and simply importing it as a Class.
The following code snippet creates an AWS CDK construct scaffold which you can use as a template to define your cloud components.
AWS CDK Construct example
import * as cdk from 'aws-cdk-lib';
import { Construct } from 'constructs';
export interface ExampleConstructProps {
//insert properties you wish to expose
}
export class ExampleConstruct extends Construct {
constructor(scope: Construct, id: string, props: ConstructorNameProps) {
super(scope, id);
//Insert the AWS components you wish to integrate
}
}
Explanation
Constructs are implemented in classes that extend the Construct base class. . All constructs take three parameters when they are initialized:
- Scope – The construct within which this construct is defined. You should usually pass this for the scope, because it represents the current scope in which you are defining the construct.
- id – An identifier that must be unique within this scope. The identifier serves as a namespace for everything that's defined within the current construct and is used to allocate unique identities such as resource names and AWS CloudFormation logical IDs.
- Props – A set of properties that define the construct's initial configuration.
How to use an AWS CDK Construct
Install packages
Install AWS CDK and the AWS CDK v2 library in your project using yarn
yarn add aws-cdk-lib construct
yarn add -D aws-cdk
Import the Construct Class
Import the newly created construct in your CDK App
or Stack
import { ExampleConstruct } from './lib/construct-name';
Instantiate a new Construct
The following example shows how you can instantiate an instance of the construct that we extended from the base class.
import { ExampleConstruct } from './lib/construct-name';
new ExampleConstruct(this, 'newConstruct', {
//insert props which you exposed in the interface `ExampleConstructProps`
});
Learn more about AWS CDK
If you are a beginner or just starting out with AWS CDK, then I can help you learn to set up and deploy your first AWS CDK project using the How to set up AWS CDK - complete guide
Originally posted on Towards the Cloud
If you liked this post, then you can subscribe to my newsletter