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.1.34.tar.gz (27.9 kB view details)

Uploaded Source

Built Distribution

cdktf_tf_module_stack-0.1.34-py3-none-any.whl (26.6 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for cdktf-tf-module-stack-0.1.34.tar.gz
Algorithm Hash digest
SHA256 d550f9830068e49a692599850f6adf2b510986da782462d1a7a81dcdf4558000
MD5 167fd115bd2c1ac68b837be41696b36c
BLAKE2b-256 e59c130411814f6350f4e05e02cb23eb30cc5bb1808479aa085694fed496efad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cdktf_tf_module_stack-0.1.34-py3-none-any.whl
Algorithm Hash digest
SHA256 646a0de26526f1afbc03cb6b820930eb80e0e933775475e102bd8e0f1ebdbc32
MD5 46404698e9e17bb439c46036d7d55566
BLAKE2b-256 5e8df9de1b1e0ff7689b244dc2c3b4a55b44ea8ad9727aadebbe4aa47f805dee

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