Hacker News new | past | comments | ask | show | jobs | submit login
Jungle – Simple CLI for AWS operations (github.com/achiku)
95 points by achiku on Aug 24, 2015 | hide | past | favorite | 22 comments



awscli is by far the most comprehensive CLI tool manipulating various AWS services, and I really like its flexible options and up-to-date release cycle. However, day-to-day AWS operations from my terminal don't need that much flexibility and that many services. Rather, I wanted just small set of UNIX-like commands which are easy to use and remember. So I wrote this small Python package.

If you are interested, please let me hear what you think!


I really like this, i use the AWS cli daily, and its syntax and options are very comprehensive, but not so user friendly.


Thanks! Let me hear how it fits to your daily operation!


As most people have already said awscli is awesome and very complete; and I like awscli. The commands can get pretty long and when you have to look at the help doc every time to see what arguments you're missing it can get tedious. So Thanks for creating this!


If you aren't already aware, the recent versions of awscli have started accepting the full JSON payloads, which I realize seems like it's worse but in my experience one usually interacts with a few common cases and leaving the JSON around for editing is both a great reminder and saves a bunch of keystrokes.

http://docs.aws.amazon.com/cli/latest/userguide/generate-cli...


I know awscli is trying to use skelton JSON to save keystrokes, and it certainly helps a lot of adhoc operations to be done quickly without spending precious cognitive load. I use JSON parameter template in my shell script, but feel like it is not for "command line tool". It is just my feeling, but still hard to neglect since I'm really used to UNIX-like command line tool.


Oh, yes, I hope my comment didn't come across as "you can replace jungle with a ton of JSON"; I was trying to speak to the comment by @rem7 about trying to remember all the crazy syntax of the command line.

I haven't tried jungle yet, but I am glad it exists and I thank you for open sourcing it to improve our aws experience, too.


Thanks! reporting issues and pr are all welcomed!


Thanks for introducing me to boto3. Being able to write compact and powerful stuff like:

print [i.console_output()['Output'] for i in boto3.resource('ec2').instances.filter(Filters=[{'Name': 'tag:Name', 'Values': ['frontend17']}])][0]

...is pretty awsesome!


I love boto, but when I filed the issue and received the answer from a committer, I decided to move to boto3. I can understand the situation but, boto seems to be be strictly backward compatible. So let's move on to boto3 and have nice Resource API with all AWS services.

https://github.com/boto/boto/pull/3186


It's like you knew what I wanted before I wanted it. This is great. I hated saving long "commands" for every operation I wanted to do. I will definitely check this out and use this!

Thanks!


Thanks for the comment! Yeah, I hear you. awscli is really awesome tool, but when it comes to day-to-day/adhoc operations, it doesn't do well like Unix tools. And that is exactly why I wrote this!


I wrote a similar tool for Digital Ocean a couple of years ago, for the same reasons! Improving CLI UX is shooting fish in a barrel, few designers seem to care about the non-web experience.


Yeah, right. Quick and dirty CLI experience is a bit different from fancy GUI!


Great idea and great execution. SSH by instance ID is a tool I need right now but never found the time to build. I'll give jungle a spin!


Thank you for your comment! It really helps me to keep moving on! If you find any issue or space for improvement, please let me know, since the software is just borned a couple days ago!


Couldn't this or 90% of this be done using bash aliases? Is there project like that out there? So you don't have to install all the dependencies, etc.


Yeah, you are right. It is perfectly possible to wrap awscli by shell script and do exactly the same thing with what this tool does. However, generally speaking, it will be more and more difficult to test and maintain as a tool becomes large, especially if it's written in shell script. Python has awesome testing library (I love py.test), and the most importantly, has really cool AWS mock library moto (https://github.com/spulec/moto). These are pretty much why I picked Python, rather than bash alias or shell script for this tool.


Nice! Can it use profiles from credentials file or just the default?


Thanks! I thinks you can use profile since all the settings related to credential are based on boto3.

http://boto3.readthedocs.org/en/latest/guide/quickstart.html...


good job!


Thanks, Mr. CEO!




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: