Skip to main content

A drop-in replacement for cdktf.TerraformStack that let's you define Terraform modules as construct

Project description

cdktf-tf-module-stack

A drop-in replacement for cdktf.TerraformStack that let's you define Terraform modules as construct.

Setup

Node.js

Run yarn add cdktf-tf-module-stack (or npm install --save cdktf-tf-module-stack) to install the package.

Python

Run pip install cdktf-tf-module-stack to install the package.

Usage

import { App } from "cdktf";
import {
  TFModuleStack,
  TFModuleVariable,
  TFModuleOutput,
  ProviderRequirement,
} from "cdktf-tf-module-stack";
import { Resource } from "@cdktf/provider-null";

class MyAwesomeModule extends TFModuleStack {
  constructor(scope: Construct, id: string) {
    super(scope, id);

    new ProviderRequirement(this, "null", "~> 2.0");
    const resource = new Resource(this, "resource");

    new TFModuleVariable(this, "my_var", {
      type: "string",
      description: "A variable",
      default: "default",
    });

    new TFModuleOutput(this, "my_output", {
      value: resource.id,
    });
  }
}

const app = new App();
new MyAwesomeModule(app, "my-awesome-module");
app.synth();

This will synthesize a Terraform JSON file that looks like this:

{
  "output": {
    "my_output": [
      {
        "value": "${null_resource.resource.id}"
      }
    ]
  },
  "resource": {
    "null_resource": {
      "resource": {}
    }
  },
  "terraform": {
    "required_providers": {
      "null": {
        "source": "null",
        "version": "~> 2.0"
      }
    },
    "variable": {
      "my_var": {
        "default": "default",
        "description": "A variable",
        "type": "string"
      }
    }
  }
}

Please note that the provider section is missing, so that the Terraform Workspace using the generated module can be used with any provider matching the version.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdktf-tf-module-stack-0.2.0.tar.gz (27.9 kB view details)

Uploaded Source

Built Distribution

cdktf_tf_module_stack-0.2.0-py3-none-any.whl (26.5 kB view details)

Uploaded Python 3

File details

Details for the file cdktf-tf-module-stack-0.2.0.tar.gz.

File metadata

  • Download URL: cdktf-tf-module-stack-0.2.0.tar.gz
  • Upload date:
  • Size: 27.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.7

File hashes

Hashes for cdktf-tf-module-stack-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e013eb2cb1ba06647a99e45a182e9f279fbadb725f3e29c73ef59cff2f3f6283
MD5 eff66fa03997e5b0ebb2deaf4c999967
BLAKE2b-256 c749ca2e5b29cdf94a42af15f48dd60b8f45a5d4ce1a1081b4ffca1e2178aaf3

See more details on using hashes here.

File details

Details for the file cdktf_tf_module_stack-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cdktf_tf_module_stack-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 043ad7eb4de8abef5e4318552c64df3a1a524fd3af87a73b538e954849db18cb
MD5 f1c4b54991df4e667fca5ff33a0537bd
BLAKE2b-256 2b7682e508caefa72f680cab2f691db5ce4ea4883e56e6c69d1d16b8cf9dad4e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page