Skip to main content

A simple construct that executes a command locally. This is useful to run build steps within your CDKTF Program or to run a post action after a resource is created.

Project description

CDKTF Local Exec Construct

Status: Tech Preview Releases LICENSE build

A simple construct that executes a command locally. This is useful to run build steps within your CDKTF Program or to run a post action after a resource is created.

cdktf-local-exec is in technical preview, which means it's a community supported project. It still requires extensive testing and polishing to mature into a HashiCorp officially supported project. Please file issues generously and detail your experience while using the library. We welcome your feedback.

By using the software in this repository, you acknowledge that:

  • cdktf-local-exec is still in development, may change, and has not been released as a commercial product by HashiCorp and is not currently supported in any way by HashiCorp.
  • cdktf-local-exec is provided on an "as-is" basis, and may include bugs, errors, or other issues.
  • cdktf-local-exec is NOT INTENDED FOR PRODUCTION USE, use of the Software may result in unexpected results, loss of data, or other unexpected results, and HashiCorp disclaims any and all liability resulting from use of cdktf-local-exec.
  • HashiCorp reserves all rights to make all decisions about the features, functionality and commercial release (or non-release) of cdktf-local-exec, at any time and without any obligation or liability whatsoever.

Compatibility

  • cdktf >= 0.21.0
  • constructs >= 10.4.2

How It Works

The construct uses the null provider to achieve this so it can be trusted to only run after all dependencies are met.

Usage

import { Provider, LocalExec } from "cdktf-local-exec";

// LocalExec extends from the null provider,
// so if you already have the provider initialized you can skip this step
new Provider(this, "local-exec");

const frontend = new LocalExec(this, "frontend-build", {
  // Will copy this into an asset directory
  cwd: "/path/to/project/frontend",
  command: "npm install && npm build",
});

const pathToUpload = `${frontend.path}/dist`;

new LocalExec(this, "frontend-upload", {
  cwd: pathToUpload,
  command: `aws s3 cp --recursive ${pathToUpload} s3://${bucket.name}/frontend`,
});

new LocalExec(this, "backend-build", {
  cwd: "/path/to/project/backend",
  copyBeforeRun: false, // can not run remotely since the runner has no docker access
  command: "docker build -t foo . && docker push foo",
});

Options

  • cwd: The working directory to run the command in. It will be copied before execution to ensure the asset can be used in a remote execution environment.
  • command: The command to execute.
  • copyBeforeRun: If true, the command will copy the cwd directory into a tmp dir and run there. If false, the command will be executed in the cwd directory.

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_local_exec-0.6.25.tar.gz (36.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cdktf_local_exec-0.6.25-py3-none-any.whl (34.8 kB view details)

Uploaded Python 3

File details

Details for the file cdktf_local_exec-0.6.25.tar.gz.

File metadata

  • Download URL: cdktf_local_exec-0.6.25.tar.gz
  • Upload date:
  • Size: 36.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.14.0

File hashes

Hashes for cdktf_local_exec-0.6.25.tar.gz
Algorithm Hash digest
SHA256 8127a4f777a41e43ebc677b5bd13e5cdf1c831ded847c0edef73beb5809d5f1a
MD5 f1cba3d685e8660f91d8965c22b15b30
BLAKE2b-256 f6d9da39ebd587afc1e3ce57b843257a37a7ef8235b5df9c0e710ae3c9552d83

See more details on using hashes here.

File details

Details for the file cdktf_local_exec-0.6.25-py3-none-any.whl.

File metadata

File hashes

Hashes for cdktf_local_exec-0.6.25-py3-none-any.whl
Algorithm Hash digest
SHA256 9c401a0a758322d4aafbe1c88a36a7354c7f00d0a8aea1b0895bd335ffd483e8
MD5 b645cc42b3931b20d9294b9828f9203c
BLAKE2b-256 1d09b159da4612eae95f282593a1bfa85609c556e4d76a9ed5976dfe2a3fabe5

See more details on using hashes here.

Supported by

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