https://github.com/rgreinho/tfe-cli
CLI client for Terraform enterprise
https://github.com/rgreinho/tfe-cli
cli go terraform-enterprise
Last synced: over 1 year ago
JSON representation
CLI client for Terraform enterprise
- Host: GitHub
- URL: https://github.com/rgreinho/tfe-cli
- Owner: rgreinho
- License: apache-2.0
- Created: 2020-03-13T15:47:01.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-06-19T22:56:49.000Z (about 3 years ago)
- Last Synced: 2024-10-10T00:09:00.778Z (over 1 year ago)
- Topics: cli, go, terraform-enterprise
- Language: Go
- Size: 238 KB
- Stars: 25
- Watchers: 4
- Forks: 13
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# tfe-cli
CLI client for Terraform Enterprise.
## Installation
For Linux/OSX, run the following command from a terminal to get the latest version:
```bash
bash <(curl -sSfL https://raw.githubusercontent.com/rgreinho/tfe-cli/master/extras/tfe-cli-installer.sh)
```
For Windows, download the binary from the [release page](https://github.com/rgreinho/tfe-cli/releases).
## Environment variables
* `TFE_TOKEN`: Terraform Enterprise API token
* `TFE_ORG`: Terraform Enterprise organization
* `TFE_LOG_LEVEL`: Logging level (valid values are `debug`, `info`, `warn`, `error`,
`fatal`, `panic`)
* `TFE_ADDRESS`: Terraform Enterprise API address
* `TFE_BASEPATH`: Base path on which the Terraform Enterprise API is served.
Some of these values can also be specified on the command line. In this case, the
environment variables are ignored.
## Management commands
By default, `tfe-cli` does not display anything if a command succeeds (unless a result
is expected, like listing the workspaces for instance). The verbosity can be adjusted
by setting the log level accordingly.
### Workspaces
Manage workspaces for an organization.
#### Create
Create a new TFE workspace.
The format of the VCS option is string of colon sperated values: `::`.
##### Examples
Create a new workspace with default values:
```bash
tfe-cli workspace create my-new-workspace
```
Setup the VCS Repository:
```bash
tfe-cli workspace create my-new-workspace --vcsrepository ot-8Xc1NTYpjIQZIwIh:organization/repository:master
```
#### Delete
Delete an exisiting workspace.
##### Example
```bash
tfe-cli workspace delete my-new-workspace
```
#### List
List existing workspaces in the organization.
##### Example
```bash
tfe-cli workspace list
```
### Variables
Manage variables for a workspace.
#### Create
##### Examples
Create a new variable into a specific workspace:
```bash
tfe-cli variable create exisiting-workspace --var akey=a_value
```
Update an existing variable in a specific workspace:
```bash
tfe-cli variable create my-exisiting-workspace -f --var akey=another_value
```
When creating/updating variables, several of them of can be specified at the
same time:
```bash
tfe-cli variable create my-exisiting-workspace \
--var akey=a_value \
--svar bkey=b_secure_value \
--hvar hclkey=hcl_value \
--var-file stage.tfvars \
```
#### Delete
##### Example
Delete a variable:
```bash
tfe-cli variable delete my-workspace backend_port
```
#### List
List exisitng variables for a specific workspace.
##### Example
List variables:
```bash
tfe-cli variable list my-workspace
```
### Notifications
#### List
List TFE notifications for a specific workspace.
##### Example
```bash
tfe-cli notification list my-workspace
```
#### Create
Creates or update a notification.
##### Example
Create a Slack notification for the `created` and `errored` events:
```bash
tfe-cli notification create my-workspace \
my-notification \
--type slack \
--url https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX \
--triggers run:created \
--triggers run:errored
```
#### Delete
Deletes a notification by its name, in a specific workspace.
##### Example
```bash
tfe-cli notification delete my-workspace my-notification
```