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

This version

1.0.1

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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cdktf-tf-module-stack-1.0.1.tar.gz
Algorithm Hash digest
SHA256 3bd9e8a0b40964f6d2c0480b0e1c59f39cecce5814e4ed7f3d47fa7a53df447b
MD5 83828937e4103176718c37acd597a847
BLAKE2b-256 e0c79e3f1235b1e23d060aa4b5b21932a69b1e6abcf6c82d00e52a7335b6bbe2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cdktf_tf_module_stack-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 daad50b787626c7519b628d38193ea0161fa41b2c817afa575157da4151e9627
MD5 ee257446f37404b8d64e1952f138d37e
BLAKE2b-256 b9d92db41c296d523d1314a8b53b8635c0e4a29f338457ed13c8907c9d3e9584

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