#gcloud #projects #gcp #switch #cli-tool #refresh #google

app gsp

Simple CLI to switch between gcloud projects

4 releases

0.1.4 Nov 7, 2023
0.1.3 Jul 3, 2023
0.1.2 Mar 7, 2023
0.1.0 Mar 6, 2023

#1333 in Command line utilities

MIT license

19KB
275 lines

gsp

A CLI tool to easily switch between Google gcloud projects inspired by the late gsp.

This is more a pretext to play with Rust than anything else but I use this tool a lot and I will continue to maintain it.

Usage

 gsp help
Simple CLI to switch between gcloud projects.


Usage: gsp [OPTIONS] [PROJECT] [COMMAND]

Commands:
  current               Print the project which currently used
  list                  List the available projects
  refresh               Refresh the list of available projects
  generate-completions  Generate shell completions
  help                  Print this message or the help of the given subcommand(s)

Arguments:
  [PROJECT]  Part or entire project ID

Options:
      --log-level <LOG_LEVEL>  Set the log level [default: INFO] [possible values: TRACE, DEBUG, INFO, WARN, ERROR]
      --refresh                Force a cache refresh then run the requested command
  -h, --help                   Print help
  -V, --version                Print version

Cache

A cache file is created in order to avoid refreshing the project list every time. The file is stored at ~/.cache/gsp/projects.json

The cache contains the list of available projects and can be refeshed by using the gsp refresh command or by adding the --refresh argument to any other command:

 gsp list --refresh
[INFO] The cache was successfully refreshed.
+----------------------------------+----------------+--------------------------------+
| Project ID                       | Project number | Project name                   |
+==================================+================+================================+
| dummy-example-project            | 902838561285   | Example Project                |
+----------------------------------+----------------+--------------------------------+

Generate completions

gsp generate-completions --shell zsh > ${ZSH}/completions/_gsp

Dependencies

~13–24MB
~322K SLoC