Skip to main content
Generate TypeScript bindings for Terraform providers and modules.

Usage

npx tfts get [options]

Description

The get command reads your cdktf.json configuration and generates fully-typed TypeScript classes for the specified providers and modules. These bindings are placed in the output directory (default: .gen).

Options

OptionTypeDescriptionDefault
--outputstringOutput directory for generated bindings.gen
--providersstringComma-separated list of providers (overrides config)From cdktf.json
--modulesstringComma-separated list of modules (overrides config)From cdktf.json

Examples

Basic Usage

npx tfts get
Generates bindings for all providers and modules specified in cdktf.json.

Custom Output Directory

npx tfts get --output src/generated

Override Providers

npx tfts get --providers "hashicorp/aws@~>5.0,hashicorp/google@~>6.0"

Generate Specific Module

npx tfts get --modules "terraform-aws-modules/vpc/aws@~>5.0"

Configuration

Configure providers and modules in your cdktf.json:
{
  "language": "typescript",
  "app": "npx ts-node main.ts",
  "codeMakerOutput": ".gen",
  "terraformProviders": [
    "hashicorp/aws@~>5.0",
    "hashicorp/google@~>6.0"
  ],
  "terraformModules": [
    "terraform-aws-modules/vpc/aws@~>5.0"
  ]
}

Output Structure

.gen/
├── providers/
│   └── hashicorp/
│       ├── aws/
│       │   ├── provider.ts
│       │   ├── resources/
│       │   └── data-sources/
│       └── google/
│           ├── provider.ts
│           ├── resources/
│           └── data-sources/
└── modules/
    └── terraform-aws-modules/
        └── vpc/
            └── aws/
                └── index.ts