Skip to content

Unofficial CLI for the Disruptive Technologies REST API.

License

Notifications You must be signed in to change notification settings

jhgjeraker/disruptive-cli

Repository files navigation

disruptive-cli

Unofficial Command-Line Interface (CLI) for the Disruptive Technologies (DT) API.

Installation

The package is hosted on PyPI and is available through pip.

pip install --upgrade disruptive-cli

Supports Python 3.8+.

Authentication

Using Service Account credentials, set the following environment variables.

export DT_SERVICE_ACCOUNT_KEY_ID="<SERVICE_ACCOUNT_KEY_ID>"
export DT_SERVICE_ACCOUNT_SECRET="<SERVICE_ACCOUNT_SECRET>"
export DT_SERVICE_ACCOUNT_EMAIL="<SERVICE_ACCOUNT_EMAIL>"

Usage

Call the dt command using a dt NOUN VERB syntax.

  • List all available projects.
dt project list
  • Get a single device.
dt device get <DEVICE_ID>

See dt -h for additional commands.

Completion

Bash completion is currently supported. Copy the completion script in disruptive-cli/completion to your place of choice in path, then source it from either .bashrc, .bash_profile, or .profile depending on your environment.

source '/usr/local/bin/dt-completion.bash'

Formatting

A tabular human readable output is prioritized.

Headers

Column headers are removed for single columns or if the --no-header flag is provided.

Filters

A select set of columns are shown per resource. Use the --full flag to output all available information.

On the other hand, the --include can be used to include only specified columns in output.

Other Filetypes

The following formats are supported.

  • --json
  • --csv
  • --tsv

Chaining Commands

Pipes are supported using the - symbol to make chaining commands simpler.

The following example lists all projects, then pipes the project-id column to the serviceaccount command to list all available Service Accounts per project. The output is formatted as .json and piped into jq for further processing.

dt project list --include project-id | dt serviceaccount list - --json | jq

Development

Virtualenv is used for dependency isolation, wrapped by the following commands.

  • Build the distribution:
make build
  • Remove build-files:
make clean

About

Unofficial CLI for the Disruptive Technologies REST API.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published