aws-shell … I think I’m in love.
Amazon Web Services is a very large sprawling platform. As such, it has a very large and sprawling collection of API’s to issue commands against. The AWS 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 up productivity a notch, the AWS team started to work on a dedicated AWS shell — the first glimmers of it I saw at AWS re:Invent 2015. The first functional version of it was dropped in December 2015, and then in May of this year, we quietly had access to version 0.1.1 — which is just choked 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. Practically 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. (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 modify this a little bit to get around some weird Python dependencies.
Regardless, after the install, type in “aws-shell” in your terminal/command line window, and after the the utility finalizes its state, you are up and running.
As I’m fond of saying, “I’m a naturally lazy, tool using ape,” so this evolution of tab-completion is quite welcome to me. 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 finger tips 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 “new & dangerous” something a try.