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

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

Uploaded Source

Built Distribution

cdktf_tf_module_stack-1.0.3-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cdktf-tf-module-stack-1.0.3.tar.gz
  • Upload date:
  • Size: 28.3 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.3.tar.gz
Algorithm Hash digest
SHA256 832282d01d47488c6d1e40f6afb774008bb7dbf89c98cc0da8c4b3b0370fe8e1
MD5 8e35a8842b568ae6350cfbbddc028182
BLAKE2b-256 046ff5edf88f968d4d35582329e3975595f07e7b30280b04eb5332ac91bcfc95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cdktf_tf_module_stack-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d3d5942e036c640ecd91fed32e3bcbc801b04bc737bd780d834ecc355804024f
MD5 79d78d5952b72f4404098cd63bce83af
BLAKE2b-256 43cfeb471585336b27beacd8c3d13105d5d731d2c4ba8db4519d845aecc1eaaa

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