Amazon Web Services (AWS) is a very large sprawling platform. As such, it has a very large collection of API’s to issue commands against. The AWS Command Line Interface (CLI) team has done a great job in the last few years of standardizing the commands – both in syntax and function.
That said, there are still a ton of commands to remember, and it can be daunting to the new user or to a user that doesn’t have a lot of command line experience. Simple tab completion, when you enable it, helps a little bit, but frankly it isn’t enough to really pull a user into a CLI state of mind.
To address this and to really kick it up a notch, the AWS team started to work on a dedicated AWS Shell – the first glimmers of it I saw at AWS re:Invent in 2015. The first functional version of it dropped in December 2015, and then in May of this year, we quietly had access to version 0.1.1 – which is just chocked full of goodness.
Basically, the shell gives you the ability to do look-ahead command completion, meaning that you don’t have to know a command to find it. Furthermore, it will help you with the switches used with a command as well. That means that you don’t have to have the CLI documentation page up as you work with a new command! The shell will go so far as display help in a separate panel on the bottom of the screen, or inline as you type.
Another huge feature is Server-side auto completion that looks up values for you on the platform, like instance ids or VPC ids. (Side note: support is hit or miss so far – it will support more server-side look ups as the product matures.)
The utility easily installs like most AWS tools, meaning you can use pip to install it
If you are an Apple user like me running OSX 10.11, you will need to modify this a little bit to get around some weird Python dependencies.
Regardless, after the install, type “aws-shell” in your terminal/command line window and you will be up and running after the utility finalizes its state.
As I’m fond of saying, “I’m a naturally lazy, tool using ape,” so this evolution of tab-completion is quite welcomed. For those getting familiar with AWS, it’s a great learning tool.
The utility is in Developer Preview right now, but I haven’t hit any major bugs. I’m pretty familiar with the CLI, but having the help reference at my fingertips has been a big productivity boon for me. What is also nice is that preview features in the CLI are called out in the help as well, and explain to you how to enable them, if you want to give something “new & dangerous” a try.