Want to reduce back-and-forth between AWS console and Intellij? (Curated list of plugins)

Jeshan Babooa
LambdaTV
Published in
4 min readJun 17, 2020

Note: you’ll get more value by watching the video than reading the blog post as the content is better explained with a live demo.

Productivity nerds like me want to focus on the coding task at hand. We don’t want to be switching from AWS console to IDE constantly for trivial matter. Our time is too valuable for that.

In this video, I’m going to talk about 4 plugins that I found to work well for me. You will also see some productivity tips along the way.

AWS CloudFormation

AWS CloudFormation — plugin for IntelliJ IDEs | JetBrains

There’s another one with a similar name but this is the one that I’m referring to.

Few features to look out for:

  • Template validation: create a resource with duplicate key
  • Ctrl+f12: then type something to quicly navigate to any place
  • Completes resource types
  • Completes resource properties: in bucket
  • Combine with new intellij feature: hover to see documentation:

Aws toolkit

AWS Toolkit — plugin for IntelliJ IDEs | JetBrains

This one is from the AWS team and it has a few deeper integrations with their services.

Starter projects

Template for new projects available.

AWS Explorer

The second major feature of this plugin is the explorer.

Lambda

You can update function code and configuration.

run configuration

You can also run your serverless functions directly.

Cloudformation

Get stack status for it, see how deployment is going on, or what resources have been created.

This is much more convenient than looking at it in the cloudformation console.

Logs

The default cloudwatch logs is cumbersome to work, especially when there are long build output.

This is a better alternative.

ECS

You can also remotely debug containers running in ECS.

Since it’s not serverless, I don’t want to spend much time on it on this channel. Check the following post if you want to learn about it:

Debugging code in an Amazon Elastic Container Service cluster by using the AWS Toolkit for JetBrains — AWS Toolkit for JetBrains

S3

You can do some basic actions on objects like download, rename, etc.

Typeformation

Typeformation — plugin for IntelliJ IDEs | JetBrains

This one is written by me and it’s essentially a bunch of live templates to allow typing resources faster.

I already have 2 videos on this channel. Feel free to check them out for more examples:

Typeformation: Type Cloudformation templates with pleasure!

Although it’s useful in the current state, I don’t have time to maintain it. If you have live templates that are useful, feel free to save it and send it on github and I will add it to the project.

cfn-lint

cfn-lint — plugin for IntelliJ IDEs

This plugin is useful in the sense that it quickly shows obvious errors but it also guides you toward good practices as well.

Note that for this to work, you must have cfn-lint on your PATH. Get it here:

cfn-lint · PyPI

Final note

I hinted about changing lambda code or configuration in your IDE. That’s fine if you’re experimenting, If you’re going to do that, I recommend that you make it automatable by putting these in your cloudformation template as soon as possible. Otherwise, an automated tool like cfnbuddy will show you exactly how to correct your template so that your template matches what you deployed. It will send you a pull request to show you exactly what changed in your resources.

For example, if I changed a role, I’d then receive a pull request that includes a diff like this:

You could copy the changed resource and paste it into your actual template.

That’s about it for this video. In upcoming videos, I’ll keep on sharing more productivity tips like these. So, if you like this video, hit the subscribe button. I’ll be back with a new video in a few days.

Originally posted https://www.lambdatv.com/intellij-plugins

--

--

Jeshan Babooa
LambdaTV

Serverless Guy. Loves AWS Lambda. Intellij fan(atic).