vcli - a universal Veeam CLI tool


Userlevel 5
Badge +3
  • Comes here often
  • 13 comments

Hi all, 

I’ve been toying around with the idea of a cli tool that works with everything and is related to the other post I put up today on the Go-Veeam-Auth that does authentication for all Veeam APIs. 

Anyway, I’ve come up with vcli a simple terminal app written in Go, allowing you to switch between APIs with minimal effort quickly. All the authentication is set up, so all you need to do is set some environmental variables, and off you go (no pun intended).

The main output is JSON, but you can switch it over to YAML via a --yaml switch.

The tool only does GET requests at the moment, as I wanted to gauge the interest before committing any more time to the project. 

Where the power really comes in when it is coupled with “nushell” which is a data-centric approach to shells. It makes manipulating json response objects a breeze and also allows conversion to other data formats. It also has a whole module system which I go into a bit on my GitHub. 

GitHub page: https://github.com/shapedthought/vcli 

NuShell: https://www.nushell.sh/

YouTube video: 

 

The app is compiled in the releases via GitHub actions which you can double-check before downloading the binary, or you can clone the repo and compile it locally.

If you don’t like the idea of downloading or compiling the app I also have a section on GitHub about compiling the tool in a Docker container.

Any issues please raise them on the GitHub page; also, if anyone wants to contribute, feel free to send a pull request.

Note this provided under the MIT license.

Edx


10 comments

Userlevel 7
Badge +17

Nice, I am missing a real CLI for Veeam for a long time now. 😎👍🏼

Userlevel 7
Badge +20

Very cool to have a Veeam CLI for sure. 👍

Userlevel 3
Badge +1

Very nice!

I was looking for the “why?” when comparing it to Powershell, but you explained that on your github page i see. Makes sense.

Userlevel 7
Badge +9

Awesome!

Userlevel 6
Badge +2

Wow, this is so cool. 

Userlevel 5
Badge +3

v0.3.0 is out; it now supports the Enterprise Manager API.

Remember to give it a star on GitHub if you like this project!

 

Userlevel 5
Badge +3

I’m working POST now; the tools will support JSON and YAML data formats. 

Here’s an example of starting a job:

 

Userlevel 7
Badge +16

This is really cool @EdxH ! Nice job!

Userlevel 4
Badge +1

Nice one. 

Userlevel 6
Badge +6

Hi all, 

I’ve been toying around with the idea of a cli tool that works with everything and is related to the other post I put up today on the Go-Veeam-Auth that does authentication for all Veeam APIs. 

Anyway, I’ve come up with vcli a simple terminal app written in Go, allowing you to switch between APIs with minimal effort quickly. All the authentication is set up, so all you need to do is set some environmental variables, and off you go (no pun intended).

The main output is JSON, but you can switch it over to YAML via a --yaml switch.

The tool only does GET requests at the moment, as I wanted to gauge the interest before committing any more time to the project. 

Where the power really comes in when it is coupled with “nushell” which is a data-centric approach to shells. It makes manipulating json response objects a breeze and also allows conversion to other data formats. It also has a whole module system which I go into a bit on my GitHub. 

GitHub page: https://github.com/shapedthought/vcli 

NuShell: https://www.nushell.sh/

YouTube video: 

 

The app is compiled in the releases via GitHub actions which you can double-check before downloading the binary, or you can clone the repo and compile it locally.

If you don’t like the idea of downloading or compiling the app I also have a section on GitHub about compiling the tool in a Docker container.

Any issues please raise them on the GitHub page; also, if anyone wants to contribute, feel free to send a pull request.

Note this provided under the MIT license.

Edx

Nice idea! I’ve been toying with a community powershell module for years but this is a nice evolution of that. https://github.com/k00laidIT/VeeamCommunity

Comment