This is not just another AWS Shell. It's The Force that will be with you, always.
Abstract
We all use the standard aws cli
for operations from our local/remote machines, scripting, etc. However, using it requires knowledge of command syntax, staying updated with newly added APIs, periodically checking documentation, and referring to examples.
Intentionally entering an incorrect parameter name can cause errors, so it’s essential to be careful. If you’re unsure about which parameters are supported, referring to the online documentation is crucial. However, this may take up some extra time.
Fortunately, there is a more robust alternative known as the aws-shell
. This alternative offers an improved experience with added functionalities. Let’s go through the features it supports.
AWS-shell
Install
Installation is simple: brew install aws-shell
or pip install aws-shell
Auto-suggestions
Now, there is no need to type aws
every time. After launching aws-shell
just enter command and all supported params will be listed - scroll them and choose value you are interested in, or type more command characters - scrolled list will be updated to entered match:
Fuzzy-search support
Type command with autosuggestion. Tool supports Fuzzy-search
- it checks your input not only for exact match of parameter, command, but also for any match. You can turn on/off this feature to have exact match in suggestion F2
. Here is an example of fuzzy search using the keyword user
. Whenever this keyword is present in a parameter name, all parameters containing it will be displayed:
Switch to documentation
After selecting a command, you can view its documentation at the bottom of the screen. To switch from the command prompt to the documentation, simply press the F9
key. Once in the documentation, you can scroll and read as needed. To return to the command prompt, press F9
once again.
Select profiles
If you have multiple AWS profiles configured in your setup, you can conveniently switch between them using the same tool without having to exit, set any environment variables and start tool again. Simple switching between profiles:
Shorthand syntax
Automatically filling the shorthand syntax - this is another useful feature, you can start typing the name of parameter and aws-shell will automatically fill the most closes used one.
The features mentioned above are just a few of the capabilities offered by the aws-shell
. To explore additional features - install it and starting to using.
Same shell on AWS console
As you may already know, when accessing the AWS console through a web browser, you also have the option to execute commands using a shell that is displayed directly in your browser. This can be extremely useful if you are working on a machine without access to your local toolbox. The UI-based shell console was initially introduced in Google Cloud Platform, but has since been added to AWS as well as AWS CloudShell
. Here are its features:
- preinstalled aws cli, python, nodejs
- 1 GB free storage
~
directory files are persisted between sessions
More than that you can have access to similar aws-shell functionality without any additional installation, just start it with following arguments: aws --cli-auto-prompt
Check out that wonderful panels at the bottom that are rendering documentation and output payload structure (even before executing the command).
Conclusions:
This is an incredibly user-friendly command-line tool that I have been using for a while now and thoroughly enjoying its benefits. With readily accessible documentation, command completion, and options selection, it has made my AWS operations much smoother.
Moreover, having it embedded into the AWS UI console shell is fantastic. Check it out.