cdktf-injector
is a dependency injection library for CDKTF (AWS Cloud Development Kit for Terraform).
If you are not familiar with cdktf and terraform yet or haven't heard of them before, this library may not be that so useful. That's totally cool, but I recommend you to have a look what they (cdktf and terraform) are or at least what's the concept of IaC. Those are really amazing.
There are two prerequisites for cdktf-injector
Terraform - You need to install terraform on your dev env and it should be accessible on cli path. If you're using devcontainer
you may paste following commands to your Dockerfile
.
...
# Pass terraform version as an argument
ARG TERRAFORM_VERSION=1.1.7
# Install Terraform
RUN wget https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip && \
unzip ./terraform_${TERRAFORM_VERSION}_linux_amd64.zip -d /usr/local/bin/ && \
rm terraform_${TERRAFORM_VERSION}_linux_amd64.zip
...
cdktf - A library for defining Terraform resources using programming constructs. Click here to get started. Or, simply type following lines.
mkdir your-project-name
cd your-project-name
npx cdktf-cli init --template="typescript" --local
npm install cdktf-injector --save
yarn add cdktf-injector
Note : cdktf supports multiple languages, such as
TypeScript
,Python
,Java
,C#
andGo
. Howerver according to Typescript restriction of jsii, which is I originally wanted to use to power my lib and what cdktf depends on, it does not allow usingParameterized Types(aka: Generics)
. And as far as I know, there is no other decent way to implement dependency injection without using generic or decorator. In brief,cdktf-injector
is currently availiable only in Node.js env. I'm looking forward to making this lib supports multiple languages soon.
Generated using TypeDoc