cdktf-local-exec


Namecdktf-local-exec JSON
Version 0.5.13 PyPI version JSON
download
home_pagehttps://github.com/cdktf/cdktf-local-exec.git
SummaryA 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.
upload_time2024-04-15 02:39:00
maintainerNone
docs_urlNone
authorHashiCorp
requires_python~=3.8
licenseMPL-2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # CDKTF Local Exec Construct

![Status: Tech Preview](https://img.shields.io/badge/status-experimental-EAAA32) [![Releases](https://img.shields.io/github/release/cdktf/cdktf-local-exec.svg)](https://github.com/cdktf/cdktf-local-exec/releases)
[![LICENSE](https://img.shields.io/github/license/cdktf/cdktf-local-exec.svg)](https://github.com/cdktf/cdktf-local-exec/blob/main/LICENSE)
[![build](https://github.com/cdktf/cdktf-local-exec/actions/workflows/build.yml/badge.svg)](https://github.com/cdktf/cdktf-local-exec/actions/workflows/build.yml)

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](https://github.com/cdktf/cdktf-local-exec/issues/new/choose) 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.20.0
* `constructs` >= 10.0.25

## 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

```python
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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/cdktf/cdktf-local-exec.git",
    "name": "cdktf-local-exec",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "~=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "HashiCorp",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/12/be/6eaca8580810a98e06605090c09cbaa2b9d7c238a304a2f4165bd25876f9/cdktf-local-exec-0.5.13.tar.gz",
    "platform": null,
    "description": "# CDKTF Local Exec Construct\n\n![Status: Tech Preview](https://img.shields.io/badge/status-experimental-EAAA32) [![Releases](https://img.shields.io/github/release/cdktf/cdktf-local-exec.svg)](https://github.com/cdktf/cdktf-local-exec/releases)\n[![LICENSE](https://img.shields.io/github/license/cdktf/cdktf-local-exec.svg)](https://github.com/cdktf/cdktf-local-exec/blob/main/LICENSE)\n[![build](https://github.com/cdktf/cdktf-local-exec/actions/workflows/build.yml/badge.svg)](https://github.com/cdktf/cdktf-local-exec/actions/workflows/build.yml)\n\nA 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.\n\n*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](https://github.com/cdktf/cdktf-local-exec/issues/new/choose) generously and detail your experience while using the library. We welcome your feedback.\n\nBy using the software in this repository, you acknowledge that:\n\n* *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.\n* *cdktf-local-exec* is provided on an \"as-is\" basis, and may include bugs, errors, or other issues.\n* *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*.\n* 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.\n\n## Compatibility\n\n* `cdktf` >= 0.20.0\n* `constructs` >= 10.0.25\n\n## How It Works\n\nThe construct uses the null provider to achieve this so it can be trusted to only run after all dependencies are met.\n\n## Usage\n\n```python\nimport { Provider, LocalExec } from \"cdktf-local-exec\";\n\n// LocalExec extends from the null provider,\n// so if you already have the provider initialized you can skip this step\nnew Provider(this, \"local-exec\");\n\nconst frontend = new LocalExec(this, \"frontend-build\", {\n  // Will copy this into an asset directory\n  cwd: \"/path/to/project/frontend\",\n  command: \"npm install && npm build\",\n});\n\nconst pathToUpload = `${frontend.path}/dist`;\n\nnew LocalExec(this, \"frontend-upload\", {\n  cwd: pathToUpload,\n  command: `aws s3 cp --recursive ${pathToUpload} s3://${bucket.name}/frontend`,\n});\n\nnew LocalExec(this, \"backend-build\", {\n  cwd: \"/path/to/project/backend\",\n  copyBeforeRun: false, // can not run remotely since the runner has no docker access\n  command: \"docker build -t foo . && docker push foo\",\n});\n```\n\n### Options\n\n* `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.\n* `command`: The command to execute.\n* `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.\n",
    "bugtrack_url": null,
    "license": "MPL-2.0",
    "summary": "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.",
    "version": "0.5.13",
    "project_urls": {
        "Homepage": "https://github.com/cdktf/cdktf-local-exec.git",
        "Source": "https://github.com/cdktf/cdktf-local-exec.git"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "84282749cd3aa0483617b6a8c13ffd0afcbb3b805f14e9f4a5325fba0008205c",
                "md5": "7f5a90b9f67b68993d08a0c8c0261ed1",
                "sha256": "fb9f7efdef40c33523f8ed17534a6ad9359a019aac68acf320108cc7fb710273"
            },
            "downloads": -1,
            "filename": "cdktf_local_exec-0.5.13-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7f5a90b9f67b68993d08a0c8c0261ed1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "~=3.8",
            "size": 33024,
            "upload_time": "2024-04-15T02:38:57",
            "upload_time_iso_8601": "2024-04-15T02:38:57.436586Z",
            "url": "https://files.pythonhosted.org/packages/84/28/2749cd3aa0483617b6a8c13ffd0afcbb3b805f14e9f4a5325fba0008205c/cdktf_local_exec-0.5.13-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "12be6eaca8580810a98e06605090c09cbaa2b9d7c238a304a2f4165bd25876f9",
                "md5": "7fb972e67833fbf96b45218e2f6ca749",
                "sha256": "aebcde41ad3bbf254f23cf471a1f088bba2fc34d3d86edbcd244089d32f05431"
            },
            "downloads": -1,
            "filename": "cdktf-local-exec-0.5.13.tar.gz",
            "has_sig": false,
            "md5_digest": "7fb972e67833fbf96b45218e2f6ca749",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "~=3.8",
            "size": 34654,
            "upload_time": "2024-04-15T02:39:00",
            "upload_time_iso_8601": "2024-04-15T02:39:00.003485Z",
            "url": "https://files.pythonhosted.org/packages/12/be/6eaca8580810a98e06605090c09cbaa2b9d7c238a304a2f4165bd25876f9/cdktf-local-exec-0.5.13.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-15 02:39:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cdktf",
    "github_project": "cdktf-local-exec",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "cdktf-local-exec"
}
        
Elapsed time: 0.27807s