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.0

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

Uploaded Source

Built Distribution

cdktf_tf_module_stack-1.0.0-py3-none-any.whl (26.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cdktf-tf-module-stack-1.0.0.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.0.tar.gz
Algorithm Hash digest
SHA256 d48ec87eeda11bf2326e513f188a4952efc8befca4691fb00c89bf43ce365be3
MD5 e995445031ac5c0f754ad3a69681c936
BLAKE2b-256 1fd79375815eceaf2b5977b3b498033c084f013cdb72e5abba67953fcd668645

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cdktf_tf_module_stack-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6f69b5014af17f3b25b43619a9b2720eb2fe89525cfc3b75562a8de8dd815be5
MD5 96ca49333a490ac1499f81af77b80535
BLAKE2b-256 7a6b04d73831ab7d81781afecb170a93b21330ab8e142caf9d7966a761102dfa

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