Aws Toolkit For Jetbrains: User Guide
Aws Toolkit For Jetbrains: User Guide
Aws Toolkit For Jetbrains: User Guide
User Guide
AWS Toolkit for JetBrains User Guide
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not
Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or
discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may
or may not be affiliated with, connected to, or sponsored by Amazon.
AWS Toolkit for JetBrains User Guide
Table of Contents
What is the AWS Toolkit for JetBrains? ................................................................................................. 1
What the AWS Toolkit for JetBrains includes ................................................................................. 1
How to get started .................................................................................................................... 1
What you can do with the AWS Toolkit for JetBrains ...................................................................... 2
Related information ................................................................................................................... 2
Related videos ................................................................................................................... 2
Related webpages .............................................................................................................. 2
Questions and help ............................................................................................................ 2
Report a bug with the AWS Toolkit or make a feature request ................................................. 3
Contribute to the AWS Toolkit ............................................................................................. 3
Key tasks .......................................................................................................................................... 4
Install the AWS Toolkit for JetBrains ............................................................................................ 4
........................................................................................................................................ 4
Update the AWS Toolkit for JetBrains ........................................................................................... 6
Configure the AWS Toolkit for JetBrains to Use an HTTP Proxy ........................................................ 7
Work with connections from the AWS Toolkit for JetBrains to AWS accounts ...................................... 8
Connect to an AWS Account for the first time ........................................................................ 8
Add multiple connections .................................................................................................. 11
Switch between connections .............................................................................................. 13
Change connection settings ............................................................................................... 14
Delete a connection .......................................................................................................... 15
Get the current connection ........................................................................................................ 15
Get the current AWS Region ...................................................................................................... 16
Switch between AWS Regions .................................................................................................... 17
Open AWS Explorer within the AWS Toolkit for JetBrains .............................................................. 18
Work with AWS Serverless Applications ....................................................................................... 19
Create a serverless application ........................................................................................... 19
Deploy a serverless application .......................................................................................... 23
Update the settings for a serverless application ................................................................... 24
Delete a serverless application ........................................................................................... 25
Work with AWS Lambda Functions ............................................................................................. 26
Create a function ............................................................................................................. 27
Run (invoke) or debug the local version of a function ............................................................ 28
Run (invoke) the remote version of a function ...................................................................... 29
Update the configuration for a function .............................................................................. 30
Delete a function ............................................................................................................. 32
Work with AWS CloudFormation stacks ....................................................................................... 32
Create a stack .................................................................................................................. 33
Change stack settings ....................................................................................................... 33
View event logs for a stack ............................................................................................... 33
Deleting a stack ............................................................................................................... 34
Work with Amazon CloudWatch Logs .......................................................................................... 35
Work with Amazon ECS clusters ................................................................................................. 35
Debug code in a cluster .................................................................................................... 36
Working with Amazon EventBridge schemas ................................................................................ 37
Work with Amazon S3 buckets and objects .................................................................................. 37
Work with Amazon RDS ............................................................................................................ 37
Work with Amazon Redshift ...................................................................................................... 37
Setting up ....................................................................................................................................... 39
Installing the AWS Toolkit ......................................................................................................... 39
........................................................................................................................................ 4
Installing AWS Toolkit for JetBrains Early Access Program (EAP) builds .................................... 41
Updating the AWS Toolkit ......................................................................................................... 41
Setting AWS credentials ............................................................................................................ 42
iii
AWS Toolkit for JetBrains User Guide
iv
AWS Toolkit for JetBrains User Guide
v
AWS Toolkit for JetBrains User Guide
What the AWS Toolkit for JetBrains includes
The AWS Toolkit for JetBrains is an open source plugin for the integrated development environments
(IDEs) from JetBrains. The toolkit makes it easier for developers to develop, debug, and deploy serverless
applications that use Amazon Web Services (AWS).
Topics
• What the AWS Toolkit for JetBrains includes (p. 1)
• How to get started (p. 1)
• What you can do with the AWS Toolkit for JetBrains (p. 2)
• Related information (p. 2)
Note
When there are meaningful differences in functionality between the AWS Toolkits for the
supported JetBrains IDEs, we note them in this guide.
You can also use the AWS Toolkit for JetBrains to work with AWS Lambda functions, AWS
CloudFormation stacks, and Amazon Elastic Container Service (Amazon ECS) clusters. The AWS Toolkit
for JetBrains includes features such as AWS credentials management and AWS Region management,
which simplify writing applications for AWS.
1
AWS Toolkit for JetBrains User Guide
What you can do with the AWS Toolkit for JetBrains
After you install the AWS Toolkit and connect it to an AWS account, you can use it to work with
AWS serverless applications (p. 19), AWS Lambda functions (p. 26), AWS CloudFormation
stacks (p. 32), and Amazon ECS clusters (p. 35) in that account.
For brief instructions about how to use other available AWS Toolkit features, see the key tasks (p. 4).
• Create (p. 19), deploy (p. 23), change (p. 24), and delete (p. 25) AWS serverless applications
in an AWS account.
• Create (p. 27), run (invoke) and debug locally (p. 28), run (invoke) remotely (p. 29),
change (p. 30), and delete (p. 32) AWS Lambda functions in an AWS account.
• View event logs (p. 33) for and delete (p. 34) AWS CloudFormation stacks in an AWS account.
• Debug code in Amazon ECS (p. 36) clusters in an AWS account. (Debugging code in Amazon ECS
clusters is currently in beta.)
• Work with Amazon EventBridge (p. 37) schemas in an AWS account.
• Switch AWS credentials to connect with a different set of access permissions within the same AWS
account or another one (p. 13).
• Switch to working with AWS resources in a different AWS Region for the connected AWS
account (p. 17).
• Use an HTTP proxy (p. 7) and update it (p. 6) as needed.
Related information
Related videos
• Announcement | Introducing the AWS Toolkit for IntelliJ IDEA (16 minutes, April 2019, YouTube
website)
• Getting Started with the AWS Toolkit for JetBrains (covers the AWS Toolkit for PyCharm only, 2
minutes, November 2018, YouTube website)
• Building Serverless Applications with the AWS Toolkit for JetBrains (covers the AWS Toolkit for
PyCharm only, 6 minutes, November 2018, YouTube website)
Related webpages
• The AWS Toolkit for IntelliJ is Now Generally Available (March 2019, blog post, AWS website)
• AWS Toolkit for IntelliJ – Now generally available (March 2019, blog post, AWS website)
• New – AWS Toolkits for PyCharm, IntelliJ (Preview) (November 2018, blog post, AWS website)
• Introducing the AWS Toolkit for PyCharm (November 2018, blog post, AWS website)
• AWS Toolkit for IntelliJ (part of the AWS Toolkit for JetBrains, AWS website)
• AWS Toolkit for PyCharm (part of the AWS Toolkit for JetBrains, AWS website)
• AWS Toolkit (JetBrains website)
• Develop on AWS with JetBrains Tools (JetBrains website)
2
AWS Toolkit for JetBrains User Guide
Questions and help
(When you enter these forums, AWS might require you to sign in.)
3
AWS Toolkit for JetBrains User Guide
Install the AWS Toolkit for JetBrains
4
AWS Toolkit for JetBrains User Guide
Install the AWS Toolkit for JetBrains
secure location. If you lose them, they're gone forever and can't be retrieved. However, you
can always delete a lost access key, and then create a replacement access key. If you ever
do this, you also need to change your toolkit connection settings (p. 14). We support,
but strongly discourage, creating an access key for an AWS account root user for the AWS
Toolkit for JetBrains to use.
5. Choose Install.
5
AWS Toolkit for JetBrains User Guide
Update the AWS Toolkit for JetBrains
Note
To use the AWS Toolkit for JetBrains to work with its available features for AWS
CloudFormation, AWS Lambda, AWS Serverless, and Amazon ECS, you must install version
1.8 or later of the AWS Toolkit.
6. When the Third-party Plugins Privacy Note is displayed, choose Accept.
7. Choose Restart IDE, and when prompted, choose Restart.
8. Before you can use the AWS Toolkit for JetBrains to develop, test, analyze, and deploy AWS
serverless applications or Lambda functions, be sure you have the following tools installed. Install
the tools in this order:
Top (p. 4)
To do this, with IntelliJ IDEA, PyCharm, WebStorm, or JetBrains Rider already running, do the following:
6
AWS Toolkit for JetBrains User Guide
Configure the AWS Toolkit for
JetBrains to Use an HTTP Proxy
3. Follow any on-screen instructions to finish updating the AWS Toolkit for JetBrains.
4. Restart the JetBrains IDE.
With IntelliJ IDEA, PyCharm, WebStorm, or JetBrains Rider already running, do one of the following:
After you complete the preceding instructions, the toolkit begins using those HTTP proxy settings.
Top (p. 4)
7
AWS Toolkit for JetBrains User Guide
Work with connections from the AWS
Toolkit for JetBrains to AWS accounts
Top (p. 4)
• AWS security credentials – Created an access key (which contains both an access key ID value and a
secret access key value) for a user in IAM (which we recommend), or an AWS account root user (which
we strongly discourage). If you don't have an access key for a user in IAM, create one.
• AWS SSO – Configured single sign-on by enabling AWS SSO, managing your identity source, and
assigning SSO access to AWS accounts. For more information on this process, see the Getting started
chapter of the AWS Single Sign-On User Guide.
Note
We recommend storing sensitive credential information, such as named profiles that include
access keys, in the credentials file. Less sensitive configuration options, such as named
profiles that use AWS SSO for authentication, are normally stored in the config file.
You can store all your named profiles in a single file. If you're using both credentials and
config files, credentials is opened by default in the IDE.
If there are credentials in both files for a profile sharing the same name, the keys in the
credentials file take precedence. For more information, see Configuration and credential file
settings in the AWS Command Line Interface User Guide.
• On the status bar, choose AWS: No credentials selected, and then choose Edit AWS Credential
file(s).
8
AWS Toolkit for JetBrains User Guide
Connect to an AWS Account for the first time
• Open AWS Explorer (p. 18), if it isn't already open. Choose Configure AWS Connection, and
then choose Edit AWS Credential file(s).
After you open the credentials file, you can edit it to specify access to your AWS account using access
keys or AWS SSO.
1. In the file, under [default], for aws_access_key_id, replace [accessKey1] with your
access key ID value (for example, AKIAIOSFODNN7EXAMPLE).
If prompted, choose I want to edit this file anyway, and then choose OK.
2. For aws_secret_access_key, replace [secretKey1] with your secret access key value (for
example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY).
The final results should look as shown here, following the named profile format.
9
AWS Toolkit for JetBrains User Guide
Connect to an AWS Account for the first time
[default]
# ... Some comments ...
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
# ... Some more comments ...
# ... Some more comments ...
# ... Some more comments ...
# ... Some more comments ...
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Note
The AWS Toolkit for JetBrains currently supports the following configuration variables:
• aws_access_key_id
• aws_secret_access_key
• aws_session_token
• credential_process
• external_id
• mfa_serial
• role_arn
• source_profile
For more information, see AWS CLI configuration variables in the AWS CLI Command
Reference.
3. Save and then close the file. The AWS Toolkit for JetBrains tries to connect to the account by
using the preceding access key.
After connecting, you can use the toolkit to work with AWS resources in that account,
such as AWS serverless (p. 19) applications, AWS Lambda (p. 26) functions, and AWS
CloudFormation (p. 32) stacks.
With AWS SSO, you define a named profile in the credentials file or config that you use to
retrieve temporary credentials for your AWS account. The profile definition specifies the SSO user
portal as well as the AWS account and IAM role associated with the user requesting access.
AWS Toolkit for JetBrains calls the AWS CLI login command on your behalf. (The named profile
that you added is passed as an option to login). If the login is successful, your default browser is
launched and verifies your AWS SSO login. You can then start accessing the AWS resources available
in your account.
1. In the credentials/config file, under [default], add a template for a named profile.
You can use an example like the one that follows as a template for a typical AWS SSO profile.
Important
For named profiles, the credentials file uses a different naming format than the
config file. Include the prefix word profile only when configuring a named profile
in the config file. Do not use the word profile when creating an entry in the
credentials file.
[default]
10
AWS Toolkit for JetBrains User Guide
Add multiple connections
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_region = us-east-1
sso_account_id = 123456789011
sso_role_name = readOnly
region = us-west-2
[profile user1]
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_region = us-east-1
sso_account_id = 123456789011
sso_role_name = readOnly
region = us-west-2
2. Assign values to the keys that are specific to your SSO configuration:
• sso_start_url – Specifies the URL that points to the organization's AWS SSO user portal.
• sso_region – Specifies the AWS Region that contains the AWS SSO portal host. This is
separate from and can be a different AWS Region than that specified by the default region
parameter.
• sso_account_id – Specifies the AWS account ID that contains the IAM role with the
permission that you want to grant to the associated AWS SSO user.
• sso_role_name – Specifies the friendly name of the IAM role that defines the user's
permissions when using this profile to get credentials through AWS SSO.
• region IAM Specifies the AWS Region that contains the AWS SSO portal host. This is separate
from and can be a different AWS Region than that specified by the default region parameter.
Note
You can also include any other keys and values that are valid in the .aws/
credentials file, such as output or S3. However, you can't include any credential-
related values, such as role_arn or aws_secret_access_key. If you do, the AWS
CLI produces an error.
For more information, see Configuring the AWS CLI to use AWS Single Sign-On in the
AWS Command Line Interface User Guide.
After AWS Toolkit for JetBrains calls the AWS SSO login command on your behalf, a browser
window launches to confirm the SSO login was successful.
You can also have more than one connection (p. 11) available, so that you can switch between
them (p. 13).
After you connect, the AWS Toolkit for JetBrains selects the default AWS Region automatically. You
might need to switch connections to work with different AWS resources (p. 17).
Top (p. 4)
• Created an additional access key (which contains both an access key ID value and a secret access
key value) for a user in IAM (which we recommend) or AWS account root user (which we strongly
discourage). If you don't have an access key for a user IAM already, create one.
11
AWS Toolkit for JetBrains User Guide
Add multiple connections
• Enabled AWS SSO access for the additional user's AWS account.
Note
We recommend storing sensitive credential information, such as named profiles that include
access keys, in the credentials file. Less sensitive configuration options, such as named
profiles that use AWS SSO for authentication, are normally stored in the config file.
You can store all your named profiles in a single file. If you're using both credentials and
config files, credentials is opened by default in the IDE.
If there are credentials in both files for a profile sharing the same name, the keys in the
credentials file take precedence. For more information, see Configuration and credential file
settings in the AWS Command Line Interface User Guide.
1. Connect for the first time (p. 8), if you have not done so already.
2. To start editing the credentials file, do one of the following:
• On the status bar, choose AWS Connection Settings, and then choose All Credentials, Edit AWS
Credential file(s).
• Open AWS Explorer (p. 18), if it isn't already open, and then choose Show Options Menu (the
settings icon). Choose AWS Connection Settings, All Credentials, Edit AWS Credential file(s).
3. In the file, add a named profile for each additional connection. Profile names can contain only
the uppercase letters A through Z, the lowercase letters a through z, the numbers 0 through 9,
the hyphen character ( -), and the underscore character ( _). Profile names must be less than 64
characters in length.
For example, for a named profile named myuser, use the following format.
12
AWS Toolkit for JetBrains User Guide
Switch between connections
[myuser]
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Note
The AWS Toolkit for JetBrains currently supports named profiles with only the
following characters: A-Z, a-z, 0-9, underscore (_), and hyphen (-).
Currently, the toolkit supports only the following configuration variables:
• aws_access_key_id
• aws_secret_access_key
• aws_session_token
• credential_process
• mfa_serial
• role_arn
• source_profile
For more information, see AWS CLI configuration variables in the AWS CLI Command
Reference.
Profile with AWS SSO
With AWS SSO, you can enable multiple connections by adding named profiles that define how
specific accounts are authenticated using single sign-on. Ensure each named profile that you
add to the credentials file has a unique name and assign account-specific values to the SSO
keys. This is shown in the following example.
[profile user2]
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_region = us-east-1
sso_account_id = 123456789011
sso_role_name = readOnly
region = us-west-2
For more information about the AWS SSO key-value pairs, see defining named profiles for SSO.
4. Save and then close the file. The AWS Toolkit for JetBrains displays the new connection in the AWS
Connection Settings menu in both the status bar and in AWS Explorer.
Now that you have multiple connections, you can switch between them (p. 13).
After you connect, you might need to switch connections to work with (p. 17).
Top (p. 4)
13
AWS Toolkit for JetBrains User Guide
Change connection settings
The AWS Toolkit for JetBrains switches to the new connection. This connection is now selected in the
AWS Connection Settings menu in both the status bar and AWS Explorer.
After you connect, you might need to switch to working with AWS resources in that account that are in a
different AWS Region (p. 17).
Top (p. 4)
• On the status bar, choose AWS Connection Settings, All Credentials, Edit AWS Credential file(s).
• Open AWS Explorer (p. 18), if it isn't already open, and then choose Show Options Menu (the
settings icon). Then choose AWS Connection Settings, All Credentials, Edit AWS Credential
file(s).
2. Make your changes to the file, and then save and close the file.
14
AWS Toolkit for JetBrains User Guide
Delete a connection
Top (p. 4)
Delete a connection
1. Do one of the following:
• On the status bar, choose AWS Connection Settings, All Credentials, Edit AWS Credential file(s).
• Open AWS Explorer (p. 18), if it isn't already open, and then choose Show Options Menu (the
settings icon). Then choose AWS Connection Settings, All Credentials, Edit AWS Credential
file(s).
2. In the file, completely delete the named profile (specifying access keys or AWS SSO key-value pairs)
for the connection that you want to delete.
3. Save and then close the file. The AWS Toolkit for JetBrains removes the deleted connection from the
AWS Connection Settings menu in both the status bar and in AWS Explorer.
After you delete a connection, you might need to switch to a different connection (p. 13) or connect
for the first time (p. 8) again.
Top (p. 4)
• On the status bar, see the current connection displayed in the AWS Connection Settings area.
15
AWS Toolkit for JetBrains User Guide
Get the current AWS Region
• Open AWS Explorer (p. 18), if it's not already open, and then choose Show Options Menu (the
settings icon). Choose AWS Connection Settings. The current connection is selected.
You can also have more than one connection (p. 11) available, so that you can switch between
them (p. 13).
Top (p. 4)
• On the status bar, see the current Region displayed in the AWS Connection Settings area.
• Open AWS Explorer (p. 18), if it isn't already open, and then choose Show Options Menu (the
settings icon). Choose AWS Connection Settings. The current Region is selected.
16
AWS Toolkit for JetBrains User Guide
Switch between AWS Regions
Top (p. 4)
• On the status bar, choose AWS Connection Settings, and then choose the AWS Region that you want
to switch to.
• Open AWS Explorer (p. 18), if it isn't already open. Choose Show Options Menu (the settings icon),
and then choose AWS Connection Settings. If the AWS Region that you want to switch to is listed,
choose it. Otherwise, choose All Regions, and then choose the Region to switch to.
17
AWS Toolkit for JetBrains User Guide
Open AWS Explorer within the AWS Toolkit for JetBrains
The AWS Toolkit for JetBrains switches to using the new Region. The Region is now selected in the AWS
Connection Settings menu in both the status bar and AWS Explorer.
Top (p. 4)
After you open AWS Explorer for the first time, use it to connect to an AWS account for the first
time (p. 8). After that, you can use AWS Explorer to work with AWS Lambda (p. 26) functions and
AWS CloudFormation (p. 32) stacks in the account.
Top (p. 4)
18
AWS Toolkit for JetBrains User Guide
Work with AWS Serverless Applications
Top (p. 4)
1. With IntelliJ IDEA, PyCharm, WebStorm, or JetBrains Rider already running, do one of the following:
19
AWS Toolkit for JetBrains User Guide
Create a serverless application
20
AWS Toolkit for JetBrains User Guide
Create a serverless application
3. Complete the New Project dialog box (or the New Solution dialog box for JetBrains Rider) (p. 105),
and then choose Finish (for IntelliJ IDEA) or Create (for PyCharm, WebStorm, or JetBrains Rider). The
AWS Toolkit for JetBrains creates the project and adds the serverless application's code files to the
new project.
4. If you're using IntelliJ IDEA, with the Project tool window already open and displaying the project
that contains the serverless application's files, do one of the following:
• For Maven-based projects, right-click the project's pom.xml file, and then choose Add as Maven
Project.
21
AWS Toolkit for JetBrains User Guide
Create a serverless application
• For Gradle-based projects, right-click the project's build.gradle file, and then choose Import
Gradle project.
22
AWS Toolkit for JetBrains User Guide
Deploy a serverless application
Complete the Import Module from Gradle dialog box, and then choose OK.
After you create the serverless application, you can run (invoke) or debug the local version of an AWS
Lambda function (p. 28) that is contained in that application.
You can also deploy the serverless application (p. 23). After you deploy it, you can run (invoke) the
remote version of a Lambda function (p. 29) that is part of that deployed application.
Top (p. 4)
Note
To deploy a serverless application that contains an AWS Lambda function, and deploy that
function with any nondefault or optional properties, you must first set those properties in
the function's corresponding AWS Serverless Application Model (AWS SAM) template file (for
example, in a file named template.yaml within the project). For a list of available properties,
see AWS::Serverless::Function in the awslabs/serverless-application-model repository on
GitHub.
1. If you need to switch to a different AWS Region (p. 17) to deploy the serverless application, do
that now.
2. With the Project tool window already open and displaying the project that contains the serverless
application's files, right-click the project's template.yaml file. Then choose Deploy Serverless
Application.
23
AWS Toolkit for JetBrains User Guide
Update the settings for a serverless application
3. Complete the Deploy Serverless Application (p. 103) dialog box, and then choose Deploy.
The AWS Toolkit for JetBrains creates a corresponding AWS CloudFormation stack for the
deployment. It also adds the name of the stack to the CloudFormation list in AWS Explorer. If the
deployment fails, you can try to determine why by viewing event logs for the stack (p. 33).
After you deploy it, you can run (invoke) the remote version of an AWS Lambda function (p. 29) that is
part of that deployed application.
Top (p. 4)
Note
To deploy a serverless application that contains an AWS Lambda function, and deploy that
function with any nondefault or optional properties, you must first set those properties in the
function's corresponding AWS SAM template file (for example, in a file named template.yaml
within the project). For a list of available properties, see AWS::Serverless::Function in the
awslabs/serverless-application-model repository on GitHub.
24
AWS Toolkit for JetBrains User Guide
Delete a serverless application
1. With the Project tool window already open and displaying the project that contains the serverless
application's files, open the project's template.yaml file. Change the file's contents to reflect the
new settings, and then save and close the file.
2. If you need to switch to a different AWS Region (p. 17) to deploy the serverless application to, do
that now.
3. Right-click the project's template.yaml file, and then choose Deploy Serverless Application.
4. Complete the Deploy Serverless Application (p. 103) dialog box, and then choose Deploy. The AWS
Toolkit for JetBrains updates the corresponding AWS CloudFormation stack for the deployment.
If the deployment fails, you can try to determine why by viewing event logs for the stack (p. 33).
Top (p. 4)
1. Open AWS Explorer (p. 18), if it isn't already open. If you need to switch to a different AWS
Region (p. 17) that contains the serverless application, do that now.
2. Expand CloudFormation.
25
AWS Toolkit for JetBrains User Guide
Work with AWS Lambda Functions
3. Right-click the name of the AWS CloudFormation stack that contains the serverless application you
want to delete, and then choose Delete CloudFormation Stack.
4. Enter the stack's name to confirm the deletion, and then choose OK. If the stack deletion succeeds,
the AWS Toolkit for JetBrains removes the stack name from the CloudFormation list in AWS
Explorer. If the stack deletion fails, you can try to determine why by viewing event logs for the
stack (p. 33).
Top (p. 4)
Top (p. 4)
26
AWS Toolkit for JetBrains User Guide
Create a function
Create a function
You can use the AWS Toolkit for JetBrains to create a Lambda function that is part of an AWS serverless
application (p. 27), or you can create a Lambda function by itself (p. 27).
Top (p. 4)
Then with IntelliJ IDEA, PyCharm, WebStorm, or JetBrains Rider already running, do one of the following:
• Open AWS Explorer (p. 18), if it isn't already open. If you need to switch to a different AWS
Region (p. 17) to create the function in, do that now. Then right-click Lambda, and choose Create
new AWS Lambda.
Complete the Create Function (p. 102) dialog box, and then choose Create Function. The AWS
Toolkit for JetBrains creates a corresponding AWS CloudFormation stack for the deployment, and
adds the function name to the Lambda list in AWS Explorer. If the deployment fails, you can try to
determine why by viewing event logs for the stack (p. 33).
• Create a code file that implements a function handler for Java, Python, Node.js, or C#.
If you need to switch to a different AWS Region (p. 17) to create the remote function to be run
(invoked), do that now. Then in the code file, choose the Lambda icon in the gutter next to the
function handler, and then choose Create new AWS Lambda. Complete the Create Function (p. 102)
dialog box, and then choose Create Function.
Note
If the Lambda icon isn't displayed in the gutter next to the function handler, try displaying it
for the current project by selecting the following box in Settings/Preferences: Tools, AWS,
Project settings, Show gutter icons for all potential AWS Lambda handlers. Also, if the
function handler is already defined in the corresponding AWS SAM template, the Create new
AWS Lambda command won't appear.
After you choose Create Function, the AWS Toolkit for JetBrains creates a corresponding function in
the Lambda service for the connected AWS account. If the operation succeeds, after you refresh AWS
Explorer, the Lambda list displays the name of the new function.
• If you already have a project that contains an AWS Lambda function, and if you need to first switch
to a different AWS Region (p. 17) to create the function in, do that now. Then in the code file
27
AWS Toolkit for JetBrains User Guide
Run (invoke) or debug the local version of a function
that contains the function handler for Java, Python, Node.js, or C#, choose the Lambda icon in
the gutter next to the function handler. Choose Create new AWS Lambda, complete the Create
Function (p. 102) dialog box, and then choose Create Function.
Note
If the Lambda icon isn't displayed in the gutter next to the function handler, try displaying it
for the current project by selecting the following box in Settings/Preferences: Tools, AWS,
Project settings, Show gutter icons for all potential AWS Lambda handlers. Also, the Create
new AWS Lambda command won't be displayed if the function handler is already defined in
the corresponding AWS SAM template.
After you choose Create Function, the AWS Toolkit for JetBrains creates a corresponding function in
the Lambda service for the connected AWS account. If the operation succeeds, after you refresh AWS
Explorer, the new function's name appears in the Lambda list.
After you create the function, you can run (invoke) or debug the local version of the function (p. 28) or
run (invoke) the remote version (p. 29).
Top (p. 4)
To complete this procedure, you must first create the AWS Lambda function (p. 27) that you want to
run (invoke) or debug, if you haven't created it already.
Note
To run (invoke) or debug the local version of a Lambda function, and run (invoke) or
debug that function locally with any nondefault or optional properties, you must first set
those properties in the function's corresponding AWS SAM template file (for example, in
a file named template.yaml within the project). For a list of available properties, see
AWS::Serverless::Function in the awslabs/serverless-application-model repository on GitHub.
• In the code file that contains the function handler for Java, Python, Node.js, or C#, choose the
Lambda icon in the gutter next to the function handler. Choose Run '[Local]' or Debug '[Local]'.
• With the Project tool window already open and displaying the project that contains the function,
open the project's template.yaml file. Choose the Run icon in the gutter next to the function's
resource definition, and then choose Run '[Local]' or Debug '[Local]'.
28
AWS Toolkit for JetBrains User Guide
Run (invoke) the remote version of a function
2. Complete the Edit configuration (local function settings) (p. 108) dialog box if it's displayed, and
then choose Run or Debug. Results are displayed in the Run or Debug tool window.
• If the Edit configuration dialog box doesn't appear and you want to change the existing
configuration, first change its configuration (p. 30), and then repeat this procedure from the
beginning.
• If the configuration details are missing, expand Templates, AWS Lambda, and then choose Local.
Choose OK, and then repeat this procedure from the beginning.
Top (p. 4)
To complete this procedure, you must first install the AWS Toolkit for JetBrains (p. 4) and, if you
haven't yet, connect to an AWS account for the first time (p. 8). Then with IntelliJ IDEA, PyCharm,
WebStorm, or JetBrains Rider running, do the following.
1. Open AWS Explorer (p. 18), if it isn't already open. If you need to switch to a different AWS
Region (p. 17) that contains the function, do that now.
2. Expand Lambda, and confirm that the name of the function is listed. If it is, skip ahead to step 3 in
this procedure.
If the name of the function isn't listed, create the Lambda function (p. 27) that you want to run
(invoke).
If you created the function as part of an AWS serverless application (p. 27), you must also deploy
that application (p. 23).
If you created the function by creating a code file that implements a function handler for Java,
Python, Node.js, or C#, then in the code file, choose the Lambda icon next to the function handler.
Then choose Create new AWS Lambda. Complete the Create Function (p. 102) dialog box, and
then choose Create Function.
3. With Lambda open in AWS Explorer, right-click the name of the function, and then choose Run
'[Remote]'.
29
AWS Toolkit for JetBrains User Guide
Update the configuration for a function
4. Complete the Edit configuration (remote function settings) (p. 114) dialog box if it's displayed, and
then choose Run or Debug. Results are displayed in the Run or Debug tool window.
• If the Edit configuration dialog box doesn't appear and you want to change the existing
configuration, first change its configuration (p. 30), and then repeat this procedure from the
beginning.
• If the configuration details are missing, expand Templates, AWS Lambda, and then choose Local.
Choose OK, and then repeat this procedure from the beginning.
Top (p. 4)
• With the code file open that contains the function handler for Java, Python, Node.js, or C#, on the
main menu, choose Run, Edit Configurations. Complete the Run/Debug Configurations (p. 108)
dialog box, and then choose OK.
• Open AWS Explorer (p. 18), if it isn't already open. If you need to switch to a different AWS
Region (p. 17) that contains the function, do that now. Expand Lambda, choose the name of the
function to change the configuration for, and then do one of the following:
• Change settings such as the timeout, memory, environment variables, and execution role – Right-
click the name of the function, and then choose Update Function Configuration.
Complete the Update Configuration (p. 121) dialog box, and then choose Update.
30
AWS Toolkit for JetBrains User Guide
Update the configuration for a function
• Change settings such as the input payload – On the main menu, choose Run, Edit Configurations.
Complete the Run/Debug Configurations (p. 108) dialog box, and then choose OK.
If the configuration details are missing, first expand Templates, AWS Lambda, and then choose
Local (for the local version of the function) or Remote (for the remote version of that same
function). Choose OK, and then repeat this procedure from the beginning.)
• Change settings such as the function handler name or Amazon Simple Storage Service (Amazon
S3) source bucket – Right-click the function name, and then choose Update Function Code.
Complete the Update Code (p. 120) dialog box, and then choose Update.
31
AWS Toolkit for JetBrains User Guide
Delete a function
• Change other available property settings that aren't listed in the preceding bullets – Change
those settings in the function's corresponding AWS SAM template file (for example, in a file named
template.yaml within the project).
Top (p. 4)
Delete a function
You can use the AWS Toolkit for JetBrains to delete an AWS Lambda function that is part of an AWS
serverless application (p. 32). Or you can delete a standalone Lambda function (p. 32).
Top (p. 4)
4. Enter the function's name to confirm the deletion, and then choose OK. If the function deletion
succeeds, the AWS Toolkit for JetBrains removes the function name from the Lambda list.
Top (p. 4)
32
AWS Toolkit for JetBrains User Guide
Create a stack
Currently, you can't use the AWS Toolkit for JetBrains to directly create stacks (p. 33) or to change
stack settings (p. 33). However, you can do these tasks indirectly as part of working with AWS
serverless applications and AWS Lambda functions, as follows.
Top (p. 4)
Create a stack
Currently, you can't use the AWS Toolkit for JetBrains to create an AWS CloudFormation stack directly.
However, whenever you use the toolkit to deploy an AWS serverless application (p. 23) or to create
and then deploy an AWS Lambda function (p. 27), the toolkit deploys these by first creating a
corresponding stack in AWS CloudFormation, and then using that stack for the deployment.
Top (p. 4)
Top (p. 4)
To hide or show the CloudFormation tool window, on the main menu, choose View, Tool Windows,
CloudFormation.
33
AWS Toolkit for JetBrains User Guide
Deleting a stack
Top (p. 4)
Deleting a stack
1. Open AWS Explorer (p. 18), if it isn't already open. If you need to switch to a different AWS
Region (p. 17) that contains the stack, do that now.
2. Expand CloudFormation.
3. Right-click the name of the stack to delete, and then choose Delete CloudFormation Stack.
34
AWS Toolkit for JetBrains User Guide
Work with Amazon CloudWatch Logs
4. Enter the stack's name to confirm it's deleted, and then choose OK. If the stack deletion succeeds,
the AWS Toolkit for JetBrains removes the stack name from the CloudFormation list in AWS
Explorer. If the stack deletion fails, you can troubleshoot by viewing the event logs for the
stack (p. 33).
Top (p. 4)
Top (p. 4)
35
AWS Toolkit for JetBrains User Guide
Debug code in a cluster
1. Open AWS Explorer (p. 18), if it isn't already open. If the Amazon ECS cluster (p. 65) is in an
AWS Region that's different from the current one, switch to a different AWS Region (p. 17) that
contains it.
2. Expand ECS, and then expand Clusters.
3. Expand your Amazon ECS cluster, right-click your service, and then choose Enable Cloud
Debugging. For example, in the following screenshot, the cluster is named java, and the service is
named java-service.
4. When prompted, choose your Amazon ECS task role (p. 64), and then choose OK.
The status bar displays the message Configuring Cloud Debugging resource. Wait until the Build
Output tab of the Build tool window displays a successful configuration message. (A related pop-up
also is displayed in the lower-right corner.) This will take several minutes.
Note
As you enable code debugging in your AWS account for the first time, the AWS Toolkit for
JetBrains creates an Amazon S3 bucket in your AWS account. The bucket's name follows
the format of do-not-delete-cloud-debug-Region-ID-account-ID. The JetBrains
Toolkit stores information in this bucket to enable code debugging. Do not delete this
bucket or modify its contents. If you do, code debugging might stop working or produce
unexpected results. If you accidentally delete or modify this bucket, the JetBrains Toolkit
will try to recreate the bucket. You can also force the JetBrains Toolkit to recreate the
bucket by choosing Enable Cloud Debugging again as described earlier, or by choosing
Disable Cloud Debugging as described later in this procedure.
5. With the code you want to debug displayed, in the AWS Explorer, expand ECS, expand Clusters,
and then expand your cluster. A service is displayed with a debug icon next to it. This indicates the
service is now enabled for cloud debugging. Right-click the service with the debug icon, and then
choose Debug.
6. Complete the Edit configuration (p. 116) dialog box, and then choose Debug.
Note
To make changes to this configuration later, on the menu bar, choose Run, Edit
Configurations. Then expand Amazon ECS Service Cloud Debug, and choose the service's
name.
7. Use the IDE's built-in debugging tools to debug your code as usual.
36
AWS Toolkit for JetBrains User Guide
Working with Amazon EventBridge schemas
8. If you make changes to your code, you can start debugging again. In the AWS Explorer, expand ECS,
expand Clusters, and then expand your cluster. Right-click your service with the debug icon next to
it, and then choose Debug.
9. If you make changes to the associated Dockerfile, you must rebuild and republish the Docker
image, and then repeat this procedure from the beginning.
10. To disable debugging, in the AWS Explorer, expand ECS, expand Clusters, and then expand your
cluster. Right-click your service with the debug icon next to it, and then choose Disable Cloud
Debugging. A pop-up is displayed, confirming that debugging is disabled.
Top (p. 4)
Top (p. 4)
Top (p. 4)
Top (p. 4)
• Confirm prerequisites for accessing Amazon Redshift clusters and databases (p. 82)
• Connect to a database in an Amazon Redshift cluster (p. 83)
37
AWS Toolkit for JetBrains User Guide
Work with Amazon Redshift
Top (p. 4)
38
AWS Toolkit for JetBrains User Guide
Installing the AWS Toolkit
Topics
• Installing the AWS Toolkit for JetBrains (p. 39)
• Updating the AWS Toolkit for JetBrains (p. 41)
• Setting AWS credentials for the AWS Toolkit for JetBrains (p. 42)
• Setting an AWS Region for the AWS Toolkit for JetBrains (p. 51)
• HTTP proxy setup for the AWS Toolkit for JetBrains (p. 53)
39
AWS Toolkit for JetBrains User Guide
Installing the AWS Toolkit
4. On the Marketplace tab, in Search plugins in marketplace, begin entering AWS Toolkit. When AWS
Toolkit by Amazon Web Services is displayed, choose it.
5. Choose Install.
Note
To use the AWS Toolkit for JetBrains to work with its available features for AWS
CloudFormation, AWS Lambda, AWS Serverless, and Amazon ECS, you must install version
1.8 or later of the AWS Toolkit.
40
AWS Toolkit for JetBrains User Guide
Installing AWS Toolkit for JetBrains
Early Access Program (EAP) builds
You can automatically get updated EAP builds as they become available, as follows.
• Now, whenever a later EAP build is available, choose Update next to the AWS Toolkit entry in
Plugins. When prompted, choose Restart IDE. Then choose Restart.
9. To remove a reference to the custom repository, in the Preferences dialog box, choose Plugins.
Then choose Manage Repositories, Configure Proxy or Install Plugin from Disk (the settings icon),
Manage Plugin Repositories. Select the URL to the custom repository, and then choose Remove
(the - icon). Then choose OK.
To do this, with a JetBrains IDE supported by AWS Toolkits already running, do the following.
41
AWS Toolkit for JetBrains User Guide
Setting AWS credentials
3. Follow any on-screen instructions to finish updating the AWS Toolkit for JetBrains.
4. Restart the JetBrains IDE.
• Add access keys to specify the AWS credentials for the account.
• Add a named profile for the account that will be logged in using AWS Single Sign-On (AWS SSO).
Complete the following procedures to make an initial connection, switch between connections, change
connections, delete connections, and more.
Topics
• Accessing credentials files (p. 43)
• Getting the current connection (p. 46)
• Adding multiple connections (p. 47)
• Switching between connections (p. 49)
• Changing connection settings (p. 49)
• Deleting a connection (p. 50)
42
AWS Toolkit for JetBrains User Guide
Accessing credentials files
• AWS security credentials—Created an access key (which contains both an access key ID value and a
secret access key value) for a user in IAM (which we recommend), or an AWS account root user (which
we strongly discourage). If you don't have an access key for a user in IAM, create one.
• AWS SSO—Configured single sign-on by enabling AWS SSO, managing your identity source, and
assigning SSO access to AWS accounts. For more information about this process, see the Getting
started chapter of the AWS Single Sign-On User Guide.
Note
We recommend storing sensitive credential information, such as named profiles that include
access keys, in the credentials file. Less sensitive configuration options, such as named
profiles that use AWS SSO for authentication, are normally stored in the config file.
You can store all your named profiles in a single file. If you're using both credentials and
config files, credentials is opened by default in the IDE.
If there are credentials in both files for a profile sharing the same name, the keys in the
credentials file take precedence. For more information, see Configuration and credential file
settings in the AWS Command Line Interface User Guide.
• On the status bar, choose AWS: No credentials selected, and then choose Edit AWS Credential
file(s).
• Open AWS Explorer (p. 18), if it isn't already open. Choose Configure AWS Connection, and then
choose Edit AWS Credential file(s).
43
AWS Toolkit for JetBrains User Guide
Accessing credentials files
After you open the credentials file, you can edit it to specify access to your AWS account using access
keys or AWS SSO.
1. In the file, under [default], for aws_access_key_id, replace [accessKey1] with your
access key ID value (for example, AKIAIOSFODNN7EXAMPLE).
If prompted, choose I want to edit this file anyway, and then choose OK.
2. For aws_secret_access_key, replace [secretKey1] with your secret access key value (for
example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY).
The final results should look as shown here, following the named profile format.
[default]
# ... Some comments ...
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
# ... Some more comments ...
# ... Some more comments ...
# ... Some more comments ...
# ... Some more comments ...
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Note
The AWS Toolkit for JetBrains currently supports the following configuration variables:
• aws_access_key_id
• aws_secret_access_key
• aws_session_token
• credential_process
• external_id
44
AWS Toolkit for JetBrains User Guide
Accessing credentials files
• mfa_serial
• role_arn
• source_profile
For more information, see AWS CLI configuration variables in the AWS CLI Command
Reference.
3. Save and then close the file. The AWS Toolkit for JetBrains tries to connect to the account by
using the preceding access key.
After connecting, you can use the toolkit to work with AWS resources in that account,
such as AWS serverless (p. 19) applications, AWS Lambda (p. 26) functions, and AWS
CloudFormation (p. 32) stacks.
With AWS SSO, you define a named profile in the credentials file or config that you use to
retrieve temporary credentials for your AWS account. The profile definition specifies the SSO user
portal as well as the AWS account and IAM role associated with the user requesting access.
AWS Toolkit for JetBrains calls the AWS CLI login command on your behalf. (The named profile
that you added is passed as an option to login). If the login is successful, your default browser is
launched and verifies your AWS SSO login. You can then start accessing the AWS resources available
in your account.
1. In the credentials/config file, under [default], add a template for a named profile.
You can use an example like the one that follows as a template for a typical AWS SSO profile.
Important
For named profiles, the credentials file uses a different naming format than the
config file. Include the prefix word profile only when configuring a named profile
in the config file. Do not use the word profile when creating an entry in the
credentials file.
[default]
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_region = us-east-1
sso_account_id = 123456789011
sso_role_name = readOnly
region = us-west-2
[profile user1]
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_region = us-east-1
sso_account_id = 123456789011
sso_role_name = readOnly
region = us-west-2
2. Assign values to the keys that are specific to your SSO configuration:
• sso_start_url – Specifies the URL that points to the organization's AWS SSO user portal.
45
AWS Toolkit for JetBrains User Guide
Getting the current connection
• sso_region – Specifies the AWS Region that contains the AWS SSO portal host. This is
separate from and can be a different AWS Region than that specified by the default region
parameter.
• sso_account_id – Specifies the AWS account ID that contains the IAM role with the
permission that you want to grant to the associated AWS SSO user.
• sso_role_name – Specifies the friendly name of the IAM role that defines the user's
permissions when using this profile to get credentials through AWS SSO.
• region IAM Specifies the AWS Region that contains the AWS SSO portal host. This is separate
from and can be a different AWS Region than that specified by the default region parameter.
Note
You can also include any other keys and values that are valid in the .aws/
credentials file, such as output or S3. However, you can't include any credential-
related values, such as role_arn or aws_secret_access_key. If you do, the AWS
CLI produces an error.
For more information, see Configuring the AWS CLI to use AWS Single Sign-On in the
AWS Command Line Interface User Guide.
After AWS Toolkit for JetBrains calls the AWS SSO login command on your behalf, a browser
window launches to confirm the SSO login was successful.
You can also have more than one connection (p. 11) available, so that you can switch between
them (p. 13).
After you connect, the AWS Toolkit for JetBrains selects the default AWS Region automatically. You
might need to switch to working with different AWS resources that are in a different Region (p. 17).
• On the status bar, see the current connection displayed in the AWS Connection Settings area.
• Open AWS Explorer (p. 18), if it's not already open, and then choose Show Options Menu (the settings
icon). Choose AWS Connection Settings. The current connection is selected.
46
AWS Toolkit for JetBrains User Guide
Adding multiple connections
You can also have more than one connection (p. 11) available, so that you can switch between
them (p. 13).
• Created an additional access key (which contains both an access key ID value and a secret access
key value) for a user in IAM (which we recommend) or AWS account root user (which we strongly
discourage). If you don't have an access key for a user IAM already, create one.
• Enabled AWS SSO access for the additional user's AWS account.
Note
We recommend storing sensitive credential information, such as named profiles that include
access keys, in the credentials file. Less sensitive configuration options, such as named
profiles that use AWS SSO for authentication, are normally stored in the config file.
You can store all your named profiles in a single file. If you're using both credentials and
config files, credentials is opened by default in the IDE.
If there are credentials in both files for a profile sharing the same name, the keys in the
credentials file take precedence. For more information, see Configuration and credential file
settings in the AWS Command Line Interface User Guide.
1. Connect for the first time (p. 8), if you have not done so already.
2. To start editing the credentials file, do one of the following:
• On the status bar, choose AWS Connection Settings, and then choose All Credentials, Edit AWS
Credential file(s).
47
AWS Toolkit for JetBrains User Guide
Adding multiple connections
• Open AWS Explorer (p. 18), if it isn't already open, and then choose Show Options Menu (the
settings icon). Choose AWS Connection Settings, All Credentials, Edit AWS Credential file(s).
3. In the file, add a named profile for each additional connection. Profile names can contain only
the uppercase letters A through Z, the lowercase letters a through z, the numbers 0 through 9,
the hyphen character ( -), and the underscore character ( _). Profile names must be less than 64
characters in length.
For example, for a named profile named myuser, use the following format.
[myuser]
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Note
The AWS Toolkit for JetBrains currently supports named profiles with only the
following characters: A-Z, a-z, 0-9, underscore (_), and hyphen (-).
Currently, the toolkit supports only the following configuration variables:
• aws_access_key_id
• aws_secret_access_key
• aws_session_token
• credential_process
• mfa_serial
• role_arn
• source_profile
For more information, see AWS CLI configuration variables in the AWS CLI Command
Reference.
48
AWS Toolkit for JetBrains User Guide
Switching between connections
With AWS SSO, you can enable multiple connections by adding named profiles that define how
specific accounts are authenticated using single sign-on. Ensure each named profile that you
add to the credentials file has a unique name and assign account-specific values to the SSO
keys. This is shown in the following example.
[profile user2]
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_region = us-east-1
sso_account_id = 123456789011
sso_role_name = readOnly
region = us-west-2
For more information about the AWS SSO key-value pairs, see defining named profiles for SSO.
4. Save and then close the file. The AWS Toolkit for JetBrains displays the new connection in the AWS
Connection Settings menu in both the status bar and in AWS Explorer.
Now that you have multiple connections, you can switch between them (p. 13), if you want.
After you connect, you might need to switch to working with AWS resources in that account that are in a
different AWS Region (p. 17).
The AWS Toolkit for JetBrains switches to the new connection. This connection is now selected in the
AWS Connection Settings menu in both the status bar and AWS Explorer.
After you connect, you might need to switch to working with AWS resources in that account that are in a
different AWS Region (p. 17).
• On the status bar, choose AWS Connection Settings, All Credentials, Edit AWS Credential file(s).
49
AWS Toolkit for JetBrains User Guide
Deleting a connection
• Open AWS Explorer (p. 18), if it isn't already open, and then choose Show Options Menu (the
settings icon). Then choose AWS Connection Settings, All Credentials, Edit AWS Credential
file(s).
2. Make your changes to the file, and then save and close the file.
Deleting a connection
1. Do one of the following:
• On the status bar, choose AWS Connection Settings, All Credentials, Edit AWS Credential file(s).
• Open AWS Explorer (p. 18), if it isn't already open, and then choose Show Options Menu (the
settings icon). Then choose AWS Connection Settings, All Credentials, Edit AWS Credential
file(s).
50
AWS Toolkit for JetBrains User Guide
Setting an AWS Region
2. In the file, completely delete the named profile (specifying access keys or AWS SSO key-value pairs)
for the connection that you want to delete.
3. Save and then close the file. The AWS Toolkit for JetBrains removes the deleted connection from the
AWS Connection Settings menu in both the status bar and in AWS Explorer.
After you delete a connection, you might need to switch to a different connection (p. 13) or connect for
the first time (p. 8) again.
Topics
• Getting the current AWS Region (p. 51)
• Switching AWS Regions (p. 52)
• On the status bar, see the current Region displayed in the AWS Connection Settings area.
• Open AWS Explorer (p. 18), if it isn't already open, and then choose Show Options Menu (the settings
icon). Choose AWS Connection Settings. The current Region is selected.
51
AWS Toolkit for JetBrains User Guide
Switching AWS Regions
You can also switch to a different AWS Region (p. 17), if you want.
• On the status bar, choose AWS Connection Settings, and then choose the AWS Region that you want
to switch to.
• Open AWS Explorer (p. 18), if it isn't already open. Choose Show Options Menu (the settings icon), and
then choose AWS Connection Settings. If the AWS Region that you want to switch to is listed, choose
it. Otherwise, choose All Regions, and then choose the Region to switch to.
52
AWS Toolkit for JetBrains User Guide
HTTP proxy setup
The AWS Toolkit switches to using the new Region, which is now selected in the AWS Connection
Settings menu in both the status bar and the AWS Explorer.
After you complete the preceding instructions, the AWS Toolkit for JetBrains begins using those HTTP
proxy settings.
53
AWS Toolkit for JetBrains User Guide
AWS CloudFormation
Topics
• Working with AWS CloudFormation by using the AWS Toolkit for JetBrains (p. 54)
• Working with CloudWatch Logs by using the AWS Toolkit for JetBrains (p. 56)
• Working with Amazon Elastic Container Service by Using the AWS Toolkit for JetBrains (p. 62)
• Working with Amazon EventBridge by using the AWS Toolkit for JetBrains (p. 68)
• Working with AWS Lambda by using the AWS Toolkit for JetBrains (p. 70)
• Accessing Amazon RDS by using the AWS Toolkit for JetBrains (p. 76)
• Accessing Amazon Redshift by using the AWS Toolkit for JetBrains (p. 82)
• Working with Amazon S3 by using the AWS Toolkit for JetBrains (p. 86)
• Working with AWS serverless applications by using the AWS Toolkit for JetBrains (p. 89)
• Working with Amazon SQS by using the AWS Toolkit for JetBrains (p. 97)
Topics
• Viewing event logs for an AWS CloudFormation stack by using the AWS Toolkit for
JetBrains (p. 54)
• Deleting an AWS CloudFormation stack by using the AWS Toolkit for JetBrains (p. 55)
To hide or show the CloudFormation tool window, on the main menu, choose View, Tool Windows,
CloudFormation.
54
AWS Toolkit for JetBrains User Guide
Deleting a stack
55
AWS Toolkit for JetBrains User Guide
Amazon CloudWatch Logs
4. Enter the stack's name to confirm it's deleted, and then choose OK. If the stack deletion succeeds,
the AWS Toolkit for JetBrains removes the stack name from the CloudFormation list in AWS
Explorer. If the stack deletion fails, you can troubleshoot by viewing the event logs for the
stack (p. 33).
The following topics describe how to use the AWS Toolkit for JetBrains to work with CloudWatch Logs in
an AWS account.
Topics
• Viewing CloudWatch log groups and log streams by using the AWS Toolkit for JetBrains (p. 57)
• Working with CloudWatch log events in log streams by using the AWS Toolkit for JetBrains (p. 58)
• Working with CloudWatch Logs Insights by using the AWS Toolkit for JetBrains (p. 60)
56
AWS Toolkit for JetBrains User Guide
Viewing CloudWatch log groups and log streams
A log group is a group of log streams that share the same retention, monitoring, and access control
settings. You can define log groups and specify which streams to put into each group. There is no limit
on the number of log streams that can belong to one log group.
For more information, see Working with Log Groups and Log Streams in the Amazon CloudWatch User
Guide.
Topics
• Viewing log groups and log streams with the CloudWatch Logs node (p. 57)
• Viewing log streams with the Lambda node (p. 57)
• Viewing log streams with the Amazon ECS node (p. 58)
Viewing log groups and log streams with the CloudWatch Logs
node
1. Open AWS Explorer (p. 18), if it isn't already open.
2. Click the CloudWatch Logs node to expand the list of log groups.
The log groups for the current AWS Region (p. 51) are displayed under the CloudWatch Logs node.
3. To view the log streams in a log group, do one of the following:
The log group's contents are displayed in the Log Streams pane. For information about interacting
with the log events in each stream, see Working with CloudWatch log events (p. 58).
57
AWS Toolkit for JetBrains User Guide
Working with CloudWatch log events
The Lambda functions for the current AWS Region (p. 51) are displayed beneath the Lambda node.
3. Right-click a Lambda function, and then choose View Log Streams.
The log streams for the function are displayed in the Log Streams pane. For information about
interacting with the log events in each stream, see Working with CloudWatch log events (p. 58).
The Amazon ECS clusters for the current AWS Region (p. 51) are displayed beneath the Amazon ECS
node.
3. Right-click a cluster, and then choose View Log Streams.
The log streams for the cluster are displayed in the Log Streams pane.
4. To view log streams for a specific container, click a cluster to expand its list of registered containers.
The log streams for the container are displayed in the Log Streams pane. For information about
interacting with the log events for clusters and containers, see Working with CloudWatch log
events (p. 58).
Topics
• Viewing and filtering log events in a stream (p. 58)
• Working with log actions (p. 59)
• Exporting CloudWatch log events to a file or an editor (p. 60)
1. To find a log stream to view, open the Log Streams pane (see Viewing CloudWatch log groups and
log streams (p. 57)).
58
AWS Toolkit for JetBrains User Guide
Working with CloudWatch log events
Note
You can use pattern matching to locate a stream in a list. Click the Log Streams pane and
start entering text. The first log stream name with text that matches yours is highlighted.
You can also reorder the list by clicking the top of the Last Event Time column.
2. Double-click a log stream to view its sequence of log events.
The Log Events pane displays the log events that make up the log stream.
3. To filter the log events according to content, enter text in the Filter logstream field and press
Return.
The results are log events containing text that's a case-sensitive match with your filter text. The filter
searches the complete log stream, including events not displayed on the screen.
Note
You can also use pattern matching to locate a log event in the pane. Click the Log Events
pane and start entering text. The first log event with text that matches yours is highlighted.
Unlike with Filter logstream search, only on-screen events are checked.
4. To filter log events according to time, right-click a log event, and then choose Show Logs Around.
You can select One Minute, Five Minutes, or Ten Minutes. For example, if you select Five Minutes,
the filtered list shows only log events that occurred five minutes before and after the selected entry.
On the left of the Log Events pane, the log actions (p. 59) offer more ways to interact with log events.
1. To find log events to interact with, open the Log Streams (p. 58) pane.
2. Choose one of the following log actions:
• Refresh – Updates the list with log events that occurred after the Log Events pane was opened.
• Open in Editor – Opens the on-screen log events in the IDE's default editor.
Note
This action exports only on-screen log events to the IDE editor. To view all the stream's
events in the editor, choose the Export Log Stream (p. 60) option.
59
AWS Toolkit for JetBrains User Guide
Working with CloudWatch Logs Insights
• Tail logs – Streams new logs events to the Log Events pane. This is a useful feature for continuous
updates on longer-running services such as Amazon EC2 instances and AWS CodeBuild builds.
• Wrap logs – Displays log event text on multiple lines if the size of the pane hides longer entries.
1. To find a log stream to access, open the Log Streams (p. 58) pane.
2. Right-click a log stream, and then choose Export Log Stream, Open in Editor or Export Log Stream,
Save to a File.
• Open in Editor –Opens the log events that make up the selected stream in the IDE's default
editor.
Note
This option exports all events in the log stream to the IDE editor.
• Save to a File – Opens the Download Log Stream dialog box. This enables you to select a
download folder and rename the file containing the log events.
{
"Version": "2012-10-17",
"Statement" : [
{
"Effect" : "Allow",
"Action" : [
"logs:StartQuery",
"logs:GetQueryResults",
"logs:GetLogRecord",
"logs:describeLogGroups",
"logs:describeLogStreams"
],
"Resource" : "*"
}
]
}
The following permission is not required but will allow the AWS Toolkit for JetBrains to automatically
stop any currently running queries when you close the associated results pane or IDE.
60
AWS Toolkit for JetBrains User Guide
Working with CloudWatch Logs Insights
{
"Version": "2012-10-17",
"Statement" : [
{
"Effect" : "Allow",
"Action" : [
"logs:StopQuery"
],
"Resource" : "*"
}
]
}
1. In the Query Log Groups window, change the query parameters as desired.
The Query Log Groups field accepts the CloudWatch Logs Insights Query Syntax. For more
information, see CloudWatch Logs Insights Query Syntax in the Amazon CloudWatch Logs User
Guide.
2. Choose Execute to begin the query.
The selected log groups and query are saved to your AWS account. Time ranges are not saved.
You can retrieve and reuse saved queries from the CloudWatch Logs Insights AWS Management
Console page.
The selected log groups and query replace anything in the existing dialog.
• In the CloudWatch Logs Insights Query Results window, in the top right corner, choose Open Query
Editor.
61
AWS Toolkit for JetBrains User Guide
Amazon ECS
• In the query results pane, double-click a row to open a new tab with details about that log record.
You can also navigate to the log record's associated log stream by choosing View Log Stream in the
top right corner.
Topics
• Debugging code in an Amazon Elastic Container Service cluster by using the AWS Toolkit for
JetBrains (p. 62)
Prerequisites
Before you begin debugging your code, you must have the following:
1. The Docker image that you want to use to debug your code. This image can be hosted in either of
the following:
62
AWS Toolkit for JetBrains User Guide
Debugging code in a cluster
Note
If you don't already have an image available, we recommend one of the following:
• For Java, use amazoncorretto for the latest version of Amazon Corretto (a no-
cost, multiplatform, production-ready distribution of the Open Java Development Kit
(OpenJDK)), or one of the other amazoncorretto images listed on the Docker Hub
website that is compatible with the code you want to debug.
• For Python, use python for the latest version of Python, or one of the other python
images listed on the Docker Hub website that is compatible with the code you want to
debug.
• For Node.js, use node for the latest version of Node.js, or one of the other node images
listed on the Docker Hub website that is compatible with the code you want to debug.
2. In your AWS account, an AWS Identity and Access Management (IAM) role with AWS permissions
that are needed by the code you want to debug. This role will be used as the task role by Amazon
Elastic Container Service (Amazon ECS). This task role must also have a trust relationship
with the ecs-tasks.amazonaws.com service principal and must contain a reference to the
AmazonSSMManagedInstanceCore AWS managed policy. For more information, see how to set up
the Amazon ECS task role (p. 64).
3. In your AWS account, an Amazon ECS cluster that contains the service you want to debug. For more
information, see how to set up the Amazon ECS cluster (p. 65).
4. In your AWS account, a specific IAM customer managed policy that you add to the appropriate
IAM entity (such as an IAM user, group, or role) that is associated with AWS credentials you specify
when connecting to the AWS Toolkit for JetBrains. For more information, see how to add the IAM
customer managed policy to the IAM entity (p. 65).
5. On your local development machine, a copy of the code you want to debug.
Debugging code
After you complete the preceding prerequisites (p. 62), you can debug your code as follows:
1. Open AWS Explorer (p. 18), if it isn't already open. If the Amazon ECS cluster (p. 65) is in an AWS
Region that's different from the current one, switch to a different AWS Region (p. 17) that contains
it.
2. Expand ECS, and then expand Clusters.
3. Expand your Amazon ECS cluster, right-click your service, and then choose Enable Cloud
Debugging. For example, in the following screenshot, the cluster is named java, and the service is
named java-service.
4. When prompted, choose your Amazon ECS task role (p. 64), and then choose OK.
The status bar displays the message Configuring Cloud Debugging resource. Wait until the Build
Output tab of the Build tool window displays a successful configuration message. (A related pop-up
also is displayed in the lower-right corner.) This will take several minutes.
63
AWS Toolkit for JetBrains User Guide
Debugging code in a cluster
Note
As you enable code debugging in your AWS account for the first time, the AWS Toolkit for
JetBrains creates an Amazon S3 bucket in your AWS account. The bucket's name follows
the format of do-not-delete-cloud-debug-Region-ID-account-ID. The JetBrains
Toolkit stores information in this bucket to enable code debugging. Do not delete this
bucket or modify its contents. If you do, code debugging might stop working or produce
unexpected results. If you accidentally delete or modify this bucket, the JetBrains Toolkit
will try to recreate the bucket. You can also force the JetBrains Toolkit to recreate the
bucket by choosing Enable Cloud Debugging again as described earlier, or by choosing
Disable Cloud Debugging as described later in this procedure.
5. With the code you want to debug displayed, in the AWS Explorer, expand ECS, expand Clusters,
and then expand your cluster. A service is displayed with a debug icon next to it. This indicates the
service is now enabled for cloud debugging. Right-click the service with the debug icon, and then
choose Debug.
6. Complete the Edit configuration (p. 116) dialog box, and then choose Debug.
Note
To make changes to this configuration later, on the menu bar, choose Run, Edit
Configurations. Then expand Amazon ECS Service Cloud Debug, and choose the service's
name.
7. Use the IDE's built-in debugging tools to debug your code as usual.
8. If you make changes to your code, you can start debugging again. In the AWS Explorer, expand ECS,
expand Clusters, and then expand your cluster. Right-click your service with the debug icon next to
it, and then choose Debug.
9. If you make changes to the associated Dockerfile, you must rebuild and republish the Docker
image, and then repeat this procedure from the beginning.
10. To disable debugging, in the AWS Explorer, expand ECS, expand Clusters, and then expand your
cluster. Right-click your service with the debug icon next to it, and then choose Disable Cloud
Debugging. A pop-up is displayed, confirming that debugging is disabled.
To debug code in Amazon Elastic Container Service (Amazon ECS) clusters, you must first have
in your AWS account an AWS Identity and Access Management (IAM) role with AWS permissions
that are needed by the code you want to debug. This role will be used as the task role by Amazon
Elastic Container Service (Amazon ECS). This task role must also have a trust relationship
with the ecs-tasks.amazonaws.com service principal and must contain a reference to the
AmazonSSMManagedInstanceCore AWS managed policy.
To create a role that meets these requirements, see Creating a Role for an AWS Service (Console) in the
IAM User Guide, specifying the following settings:
64
AWS Toolkit for JetBrains User Guide
Debugging code in a cluster
1. For Choose the service that will use this role, choose Elastic Container Service.
2. For Select your use case, choose Elastic Container Service Task.
3. For Attach permissions policies, choose AmazonSSMManagedInstanceCore.
To add additional AWS permissions to an existing Amazon ECS task role, see "To change the permissions
allowed by a role (console)" in Modifying a Role (Console) in the IAM User Guide.
• For Java, use amazoncorretto for the latest version of Amazon Corretto, or one of the other
amazoncorretto images listed on the Docker Hub website that is compatible with the code
you want to debug.
• For Python, use python for the latest version of Python, or one of the other python images
listed on the Docker Hub website that is compatible with the code you want to debug.
• For Node.js, use node for the latest version of Node.js, or one of the other node images listed
on the Docker Hub website that is compatible with the code you want to debug.
For advanced scenarios, you can create a cluster, task definition, and service independently. To do so, see
the following in the Amazon Elastic Container Service Developer Guide:
• Creating a Cluster – For Select cluster template, you can choose either Networking only (for Fargate)
or EC2 Linux + Networking (for EC2).
• Creating a Task Definition – For Select launch type compatibility, choose the corresponding launch
type.
• Creating a Service – For Configure service, choose the corresponding Launch Type.
When setting up to debug code in Amazon ECS clusters, we strongly recommend that you follow the
AWS security best practice of granting least privilege. Granting least privilege means granting only the
65
AWS Toolkit for JetBrains User Guide
Debugging code in a cluster
permissions required to perform a task. To grant least privilege for debugging code in Amazon ECS
clusters, you must attach a specific IAM customer managed policy as follows to an IAM entity (such as an
IAM user, group, or role). This IAM entity must be associated with the credentials that you specify when
you connect to the AWS Toolkit for JetBrains (p. 42).
In the following policy statement, permission is granted to two Amazon ECS services named
MyService and MyOtherService as well as to two Amazon ECS task roles named MyTaskRole and
MyOtherTaskRole and two Amazon ECS execution task roles named MyExecutionTaskRole and
MyOtherExecutionTaskRole. Change the names of these example services and task roles to match
your own, and then attach this policy to the appropriate IAM entity.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowedECSServices",
"Effect": "Allow",
"Action": [
"ecs:UpdateService"
],
"Resource": [
"arn:aws:ecs:*:*:service/*/cloud-debug-*",
"arn:aws:ecs:*:*:service/*/MyService",
"arn:aws:ecs:*:*:service/*/MyOtherService"
]
},
{
"Effect": "Allow",
"Action": [
"iam:GetRole",
"iam:ListRoles",
"iam:SimulatePrincipalPolicy"
],
"Resource": "*"
},
{
"Sid": "AllowedIAMRoles",
"Effect": "Allow",
"Action": [
"iam:PassRole"
],
"Resource": [
"arn:aws:iam::*:role/MyTaskExecutionRole",
"arn:aws:iam::*:role/MyOtherTaskExecutionRole",
"arn:aws:iam::*:role/MyTaskRole",
"arn:aws:iam::*:role/MyOtherRole"
],
"Condition": {
"StringEquals": {
"iam:PassedToService": "ecs-tasks.amazonaws.com"
}
}
},
{
"Effect": "Allow",
"Action": [
"iam:PassRole"
],
"Resource": [
"arn:aws:iam::*:role/aws-service-role/ecs.amazonaws.com/
AWSServiceRoleForECS"
]
},
{
66
AWS Toolkit for JetBrains User Guide
Debugging code in a cluster
"Effect": "Allow",
"Action": [
"s3:CreateBucket",
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"s3:ListBucket"
],
"Resource": "arn:aws:s3:::do-not-delete-cloud-debug-*"
},
{
"Effect": "Allow",
"Action": [
"ecs:ListClusters",
"ecs:ListServices",
"ecs:DescribeServices",
"ecs:ListTasks",
"ecs:DescribeTasks",
"ecs:DescribeTaskDefinition",
"elasticloadbalancing:DescribeListeners",
"elasticloadbalancing:DescribeRules",
"elasticloadbalancing:DescribeTargetGroups",
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream"
],
"Resource": [
"arn:aws:logs:*:*:cloud-debug*"
]
},
{
"Effect": "Allow",
"Action": [
"ecs:CreateService",
"ecs:DeleteService"
],
"Resource": "arn:aws:ecs:*:*:service/*/cloud-debug*"
},
{
"Effect": "Allow",
"Action": [
"ecs:RegisterTaskDefinition"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"elasticloadbalancing:ModifyListener",
"elasticloadbalancing:ModifyRule",
"elasticloadbalancing:ModifyTargetGroupAttributes"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
67
AWS Toolkit for JetBrains User Guide
Amazon EventBridge
"elasticloadbalancing:CreateTargetGroup",
"elasticloadbalancing:DeleteTargetGroup"
],
"Resource": "arn:aws:elasticloadbalancing:*:*:targetgroup/cloud-debug*"
},
{
"Effect": "Allow",
"Action": [
"ssm:StartSession",
"ssm:TerminateSession",
"ssm:ResumeSession",
"ssm:DescribeSessions",
"ssm:GetConnectionStatus"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Action": [
"application-autoscaling:RegisterScalableTarget",
"application-autoscaling:DeregisterScalableTarget",
"application-autoscaling:DescribeScalableTargets"
],
"Resource": "*"
}
]
}
You can use tools such as the IAM console within the AWS Management Console to create an IAM
customer managed policy and then add the policy to the appropriate IAM entity (such as an IAM user,
group, or role).
Topics
• Working with Amazon EventBridge schemas (p. 68)
The following information assumes you have already set up the AWS Toolkit for JetBrains (p. 39).
Contents
• View an available schema (p. 69)
68
AWS Toolkit for JetBrains User Guide
Working with Amazon EventBridge schemas
• Begin typing the title of the schema you want to find. The AWS Explorer highlights the titles of
schemas that contain a match.
• Right-click Schemas, and on the context menu, choose Search Schemas. In the Search EventBridge
Schemas dialog box, begin typing the title of the schema you want to find. The dialog box displays the
titles of schemas that contain a match.
• Expand Schemas. Right-click the name of the registry that contains the schema you want to find,
and then choose Search Schemas in Registry. In the Search EventBridge Schemas dialog box, begin
typing the title of the schema you want to find. The dialog box displays the titles of schemas that
contain a match.
• To display the schema in the editor, in AWS Explorer, right-click the title of the schema, and then
choose View Schema.
• In the Search EventBridge Schemas dialog box, choose the title of the schema to display the schema.
69
AWS Toolkit for JetBrains User Guide
AWS Lambda
If you choose this template, you must also specify the following:
• The named profile, Credentials, to use.
• The AWS Region to use.
• The EventBridge Event Schema to use.
• The version of the SDK to use for the project (Project SDK).
After you create an AWS serverless application project, you can do the following:
You can also do the following with Lambda functions that are part of the application:
Topics
• Creating an AWS Lambda function by using the AWS Toolkit for JetBrains (p. 71)
• Running (invoking) or debugging the local version of an AWS Lambda function by using the AWS
Toolkit for JetBrains (p. 72)
• Running (invoking) the remote version of an AWS Lambda function by using the AWS Toolkit for
JetBrains (p. 73)
70
AWS Toolkit for JetBrains User Guide
Creating a function
• Changing (updating) AWS Lambda function settings by using the AWS Toolkit for JetBrains (p. 74)
• Deleting an AWS Lambda function by using the AWS Toolkit for JetBrains (p. 76)
To create a Lambda function that is part of an AWS serverless application, skip the rest of this topic and
see Creating an application (p. 90) instead.
To create a standalone Lambda function, you must first install the AWS Toolkit for JetBrains (p. 4) and,
if you haven't yet, connect to an AWS account for the first time (p. 8). Then, with IntelliJ IDEA, PyCharm,
WebStorm, or JetBrains Rider already running, do one of the following:
• Open AWS Explorer (p. 18), if it isn't already open. If you need to switch to a different AWS
Region (p. 17) to create the function in, do that now. Then right-click Lambda, and choose Create new
AWS Lambda.
Complete the Create Function (p. 102) dialog box, and then choose Create Function. The AWS
Toolkit for JetBrains creates a corresponding AWS CloudFormation stack for the deployment, and
adds the function name to the Lambda list in AWS Explorer. If the deployment fails, you can try to
determine why by viewing event logs for the stack (p. 33).
• Create a code file that implements a function handler for Java, Python, Node.js, or C#.
If you need to switch to a different AWS Region (p. 17) to create the remote function to be run
(invoked), do that now. Then in the code file, choose the Lambda icon in the gutter next to the
function handler, and then choose Create new AWS Lambda. Complete the Create Function (p. 102)
dialog box, and then choose Create Function.
Note
If the Lambda icon isn't displayed in the gutter next to the function handler, try displaying it
for the current project by selecting the following box in Settings/Preferences: Tools, AWS,
Project settings, Show gutter icons for all potential AWS Lambda handlers. Also, if the
function handler is already defined in the corresponding AWS SAM template, the Create new
AWS Lambda command won't appear.
After you choose Create Function, the AWS Toolkit for JetBrains creates a corresponding function in
the Lambda service for the connected AWS account. If the operation succeeds, after you refresh AWS
Explorer, the Lambda list displays the name of the new function.
• If you already have a project that contains an AWS Lambda function, and if you need to first switch
to a different AWS Region (p. 17) to create the function in, do that now. Then in the code file
71
AWS Toolkit for JetBrains User Guide
Running (invoking) or debugging a local function
that contains the function handler for Java, Python, Node.js, or C#, choose the Lambda icon in
the gutter next to the function handler. Choose Create new AWS Lambda, complete the Create
Function (p. 102) dialog box, and then choose Create Function.
Note
If the Lambda icon isn't displayed in the gutter next to the function handler, try displaying it
for the current project by selecting the following box in Settings/Preferences: Tools, AWS,
Project settings, Show gutter icons for all potential AWS Lambda handlers. Also, the Create
new AWS Lambda command won't be displayed if the function handler is already defined in
the corresponding AWS SAM template.
After you choose Create Function, the AWS Toolkit for JetBrains creates a corresponding function in
the Lambda service for the connected AWS account. If the operation succeeds, after you refresh AWS
Explorer, the new function's name appears in the Lambda list.
After you create the function, you can run (invoke) or debug the local version of the function (p. 28) or
run (invoke) the remote version (p. 29).
Note
To run (invoke) or debug the local version of a Lambda function, and run (invoke) or
debug that function locally with any nondefault or optional properties, you must first set
those properties in the function's corresponding AWS SAM template file (for example, in
a file named template.yaml within the project). For a list of available properties, see
AWS::Serverless::Function in the awslabs/serverless-application-model repository on GitHub.
• In the code file that contains the function handler for Java, Python, Node.js, or C#, choose the
Lambda icon in the gutter next to the function handler. Choose Run '[Local]' or Debug '[Local]'.
• With the Project tool window already open and displaying the project that contains the function,
open the project's template.yaml file. Choose the Run icon in the gutter next to the function's
resource definition, and then choose Run '[Local]' or Debug '[Local]'.
72
AWS Toolkit for JetBrains User Guide
Running (invoking) a remote function
2. Complete the Edit configuration (local function settings) (p. 108) dialog box if it's displayed, and
then choose Run or Debug. Results are displayed in the Run or Debug tool window.
• If the Edit configuration dialog box doesn't appear and you want to change the existing
configuration, first change its configuration (p. 30), and then repeat this procedure from the
beginning.
• If the configuration details are missing, expand Templates, AWS Lambda, and then choose Local.
Choose OK, and then repeat this procedure from the beginning.
To complete this procedure, you must first install the (p. 4)AWS Toolkit for JetBrains and, if you haven't
yet, connect to an AWS account for the first time (p. 8). Then with IntelliJ IDEA, PyCharm, WebStorm, or
JetBrains Rider running, do the following.
1. Open AWS Explorer (p. 18), if it isn't already open. If you need to switch to a different AWS
Region (p. 17) that contains the function, do that now.
2. Expand Lambda, and confirm that the name of the function is listed. If it is, skip ahead to step 3 in
this procedure.
If the name of the function isn't listed, create the Lambda function (p. 27) that you want to run
(invoke).
If you created the function as part of an AWS serverless application (p. 27), you must also deploy
that application (p. 23).
If you created the function by creating a code file that implements a function handler for Java,
Python, Node.js, or C#, then in the code file, choose the Lambda icon next to the function handler.
Then choose Create new AWS Lambda. Complete the Create Function (p. 102) dialog box, and
then choose Create Function.
3. With Lambda open in AWS Explorer, right-click the name of the function, and then choose Run
'[Remote]'.
73
AWS Toolkit for JetBrains User Guide
Changing (updating) function settings
4. Complete the Edit configuration (remote function settings) (p. 114) dialog box if it's displayed, and
then choose Run or Debug. Results are displayed in the Run or Debug tool window.
• If the Edit configuration dialog box doesn't appear and you want to change the existing
configuration, first change its configuration (p. 30), and then repeat this procedure from the
beginning.
• If the configuration details are missing, expand Templates, AWS Lambda, and then choose Local.
Choose OK, and then repeat this procedure from the beginning.
• With the code file open that contains the function handler for Java, Python, Node.js, or C#, on the
main menu, choose Run, Edit Configurations. Complete the Run/Debug Configurations (p. 108)
dialog box, and then choose OK.
• Open AWS Explorer (p. 18), if it isn't already open. If you need to switch to a different AWS
Region (p. 17) that contains the function, do that now. Expand Lambda, choose the name of the
function to change the configuration for, and then do one of the following:
• Change settings such as the timeout, memory, environment variables, and execution role – Right-
click the name of the function, and then choose Update Function Configuration.
Complete the Update Configuration (p. 121) dialog box, and then choose Update.
74
AWS Toolkit for JetBrains User Guide
Changing (updating) function settings
• Change settings such as the input payload – On the main menu, choose Run, Edit Configurations.
Complete the Run/Debug Configurations (p. 108) dialog box, and then choose OK.
If the configuration details are missing, first expand Templates, AWS Lambda, and then choose
Local (for the local version of the function) or Remote (for the remote version of that same
function). Choose OK, and then repeat this procedure from the beginning.)
• Change settings such as the function handler name or Amazon Simple Storage Service (Amazon
S3) source bucket – Right-click the function name, and then choose Update Function Code.
Complete the Update Code (p. 120) dialog box, and then choose Update.
75
AWS Toolkit for JetBrains User Guide
Deleting a function
• Change other available property settings that aren't listed in the preceding bullets – Change
those settings in the function's corresponding AWS SAM template file (for example, in a file named
template.yaml within the project).
To delete a Lambda function that is part of an AWS serverless application, skip the rest of this topic and
see Deleting an application (p. 96) instead.
1. Open AWS Explorer (p. 18), if it isn't already open. If you need to switch to a different AWS
Region (p. 17) that contains the function, do that now.
2. Expand Lambda.
3. Right-click the name of the function to delete, and then choose Delete Function.
4. Enter the function's name to confirm the deletion, and then choose OK. If the function deletion
succeeds, the AWS Toolkit for JetBrains removes the function name from the Lambda list.
• Aurora – A MySQL and PostgreSQL-compatible relational database built for the cloud. For more
information, see the Amazon Aurora User Guide.
76
AWS Toolkit for JetBrains User Guide
Prerequisites for accessing Amazon RDS databases
• MySQL – Amazon RDS supports several major versions of the open-source relational database. For
more information, see MySQL on Amazon RDS in the Amazon RDS User Guide.
• PostgreSQL – Amazon RDS supports several major version of the open-source object-relational
database. For more information, see PostgreSQL on Amazon RDS in the Amazon RDS User Guide.
The following topics describe the prerequisites for accessing RDS databases and how to use AWS Toolkit
for JetBrains to connect to a database instance.
Topics
• Prerequisites for accessing Amazon RDS databases (p. 77)
• Connecting to an Amazon RDS database (p. 78)
When connecting to a database using AWS Toolkit for JetBrains, users can choose to authenticate using
IAM credentials or Secrets Manager. The following table describes key features and information resources
for both options:
Connect with IAM credentials With IAM database • Identity and access
authentication, you don't need management in Amazon RDS
to store user credentials in the in the Amazon RDS User Guide.
database because authentication • AWS Knowledge Center
is managed externally using article: How do I allow users
AWS Identity and Access to authenticate to an Amazon
Management (IAM) credentials. RDS MySQL DB instance using
their IAM credentials?
By default, IAM database
authentication is disabled on
DB instances. You can enable
IAM database authentication (or
disable it again) using the AWS
Management Console, AWS CLI,
or the API.
77
AWS Toolkit for JetBrains User Guide
Connecting to an Amazon RDS database
Connect with AWS Secrets A database administrator can • What is AWS Secrets Manager?
Manager store credentials for a database in the AWS Secrets Manager
as a secret in Secrets Manager. User Guide.
Secrets Manager encrypts and • Tutorial: Rotating a secret for
stores the credentials within the an AWS database in the AWS
secret as the protected secret Secrets Manager User Guide.
text.
• AWS Security Blog: Rotate
When an application with Amazon RDS database
permissions accesses the credentials automatically with
database, Secrets Manager Secrets Manager.
decrypts the protected secret
text and returns it over a secured
channel. The client parses the
returned credentials, connection
string, and any other required
information and then uses
that information to access the
database.
Select a tab for instructions on connecting to a database instance using your preferred authentication
method.
78
AWS Toolkit for JetBrains User Guide
Connecting to an Amazon RDS database
5. In the Data Sources and Drivers dialog box, do the following to ensure a database connection
can be opened:
• In the Imported Data Sources pane, confirm that the correct the correct data source is
selected.
• If a message indicates that you need to Download missing driver files, choose Go to Driver
(the wrench icon) to download the required files.
6. In the General tab of the Settings pane, confirm that the following fields display the correct
values:
• Host/Port – The endpoint and port used for connections to the database. For Amazon RDS
databases hosted in the AWS Cloud, endpoints always end with rds.amazon.com. If you're
connecting to a DB instance through a proxy, use these fields to specify the proxy's connection
details.
• Authentication – AWS IAM (authentication using IAM credentials).
• User – The name of your database user account.
• Credentials – The credentials used to access your AWS account.
• Region – The AWS Region where the database is hosted.
• RDS Host/Port – The endpoint and port for the database as listed in the AWS Management
Console. If you're using a different endpoint to connect to a DB instance, specify the proxy's
connection details in the Host/Port fields (described previously).
• Database – The name of the database.
• URL – The URL that the JetBrains IDE will use to connect to the database.
79
AWS Toolkit for JetBrains User Guide
Connecting to an Amazon RDS database
Note
For a full description of the connection settings that you can configure using the Data
sources and drivers dialog box, see the documentation for the JetBrains IDE that you're
using.
7. To verify the connection settings are correct, choose Test Connection.
The Database tool window opens. This displays the available data sources as a tree with nodes
representing database elements such as schemas, tables, and keys.
Important
To use the Database tool window, you must first download and install DataGrip from
JetBrains. For more information, see https://www.jetbrains.com/datagrip/.
• In the Imported Data Sources pane, confirm that the correct the correct data source is
selected.
• If a message indicates that you need to Download missing driver files, choose Go to Driver
(the wrench icon) to download the required files.
7. In the General tab of the Settings pane, confirm that the following fields display the correct
values:
• Host/Port – The endpoint and port used for connections to the database. For Amazon RDS
databases hosted in the AWS Cloud, endpoints always end with rds.amazon.com. If you're
connecting to a database through a proxy database, use these fields to specify the proxy's
connection details.
• Authentication – SecretsManager Auth (authentication using AWS Secrets Manager).
• Credentials – The credentials used to access your AWS account.
• Region – The AWS Region where the database is hosted.
• Secret Name/ARN – The name and ARN of the secret containing authentication credentials.
To override the connection settings in the Host/Port fields, select the Use the url and port
from the secret check box.
• Database – The name of the database instance you selected in AWS Explorer.
80
AWS Toolkit for JetBrains User Guide
Connecting to an Amazon RDS database
• URL – The URL that the JetBrains IDE will use to connect to the database.
Note
If you're using Secrets Manager for authentication, there are no fields for a user name
and password for the database. This information is contained in the encrypted secret
data portion of a secret.
Note
For a full description of the connection settings that you can configure using the Data
sources and drivers dialog box, see the documentation for the JetBrains IDE that you're
using.
8. To verify the connection settings are correct, choose Test Connection.
The Database tool window opens. This displays the available data sources as a tree with nodes
representing database elements such as schemas, tables, and keys.
Important
To use the Database tool window, you must first download and install DataGrip from
JetBrains. For more information, see https://www.jetbrains.com/datagrip/.
81
AWS Toolkit for JetBrains User Guide
Amazon Redshift
The following topics describe the prerequisites for accessing Amazon Redshift clusters and how to use
AWS Toolkit for JetBrains to connect to a database in a cluster.
Topics
• Prerequisites for accessing Amazon Redshift clusters (p. 82)
• Connecting to an Amazon Redshift cluster (p. 83)
• Create an Amazon Redshift cluster and set up its authentication method (p. 82)
• Download and install DataGrip (p. 83)
When connecting to a cluster using AWS Toolkit for JetBrains, users can choose to authenticate using
IAM credentials or AWS Secrets Manager. The following table describes key features and information
resources for both options:
Connect with IAM credentials With IAM database • Identity and access
authentication, you don't need management in Amazon
to store user credentials in the Redshift in the Amazon
database because authentication Redshift Cluster Management
is managed externally using Guide.
AWS Identity and Access
Management (IAM) credentials.
82
AWS Toolkit for JetBrains User Guide
Connecting to an Amazon Redshift cluster
Connect with AWS Secrets A database administrator can • What is AWS Secrets Manager?
Manager; store credentials for a database in the AWS Secrets Manager
as a secret in Secrets Manager. User Guide.
Secrets Manager encrypts and • Rotating secrets for Amazon
stores the credentials within the Redshift in the AWS Secrets
secret as the protected secret Manager User Guide.
text.
• AWS Security Blog: How to
When an application with rotate Amazon DocumentDB
permissions accesses the and Amazon Redshift
database, Secrets Manager credentials in Secrets
decrypts the protected secret Manager.
text and returns it over a secured
channel. The client parses the
returned credentials, connection
string, and any other required
information and then uses
that information to access the
database.
Select a tab for instructions on connecting to a cluster using your preferred authentication method.
• In the Imported Data Sources pane, confirm that the correct data source is selected.
83
AWS Toolkit for JetBrains User Guide
Connecting to an Amazon Redshift cluster
• If a message indicates that you need to Download missing driver files, choose Go to Driver
(the wrench icon) to download the required files.
5. On the General tab of the Settings pane, confirm that the following fields display the correct
values:
• Host/Port – The endpoint and port used for connections to the cluster. For Amazon Redshift
clusters hosted in the AWS Cloud, endpoints always end with redshift.amazon.com.
• Authentication – AWS IAM (authentication using IAM credentials).
• User – The name of your database user account.
• Credentials – The credentials used to access your AWS account.
• Region – The AWS Region where the database is hosted.
• Cluster ID – The ID of the cluster you selected in AWS Explorer.
• Database – The name of the database in the cluster you'll connect to.
• URL – The URL that the JetBrains IDE will use to connect to the cluster's database.
Note
For a full description of the connection settings that you can configure using the Data
sources and drivers dialog box, see the documentation for the JetBrains IDE that you're
using.
6. To verify the connection settings are correct, choose Test Connection.
84
AWS Toolkit for JetBrains User Guide
Connecting to an Amazon Redshift cluster
The Database tool window opens. This displays the available data sources as a tree with nodes
representing database elements such as schemas, tables, and keys.
Important
To use the Database tool window, you must first download and install DataGrip from
JetBrains. For more information, see https://www.jetbrains.com/datagrip/.
• In the Imported Data Sources, confirm that the correct the correct data source is selected.
• If a message appears in the dialog box to Download missing driver files, choose Go to Driver
(the wrench icon) to download the required files.
6. On the General tab of the Settings pane, confirm that the following fields display the correct
values:
• Host/Port – The endpoint and port used for connections to the cluster. For Amazon Redshift
clusters hosted in the AWS Cloud, endpoints always end with redshift.amazon.com.
• Authentication – SecretsManager Auth (authentication using AWS Secrets Manager).
• Credentials – The credentials used to connect to the AWS account.
• Region – The AWS Region where the cluster is hosted.
• Secret Name/ARN – The name and ARN of the secret containing authentication credentials.
If you want to override the connection settings in the Host/Port fields, select the Use the url
and port from the secret check box.
• Database – The name of the database in the cluster you'll connect to.
• URL – The URL that the JetBrains IDE will use to connect to the database.
Note
If you're using AWS Secrets Manager for authentication, there are no fields for
specifying a user name and password for the cluster. This information is contained in
the encrypted secret data portion of a secret.
85
AWS Toolkit for JetBrains User Guide
Amazon S3
Note
For a full description of the connection settings that you can configure using the Data
sources and drivers dialog box, see the documentation for the JetBrains IDE that you're
using.
7. To verify the connection settings are correct, choose Test Connection.
The Database tool window opens. This displays the available data sources as a tree with nodes
representing database elements such as schemas, tables, and keys.
Important
To use the Database tool window, you must first download and install DataGrip from
JetBrains. For more information, see https://www.jetbrains.com/datagrip/.
Topics
• Working with Amazon S3 buckets by using the AWS Toolkit for JetBrains (p. 87)
86
AWS Toolkit for JetBrains User Guide
Working with Amazon S3 buckets
• Working with Amazon S3 objects by using the AWS Toolkit for JetBrains (p. 88)
Topics
• Creating an Amazon S3 bucket (p. 87)
• Viewing Amazon S3 buckets (p. 87)
• Deleting an Amazon S3 bucket (p. 87)
3. In the Create S3 Bucket dialog box, enter a name for the bucket.
Note
Because Amazon S3 allows your bucket to be used as a URL that can be accessed publicly,
the bucket name that you choose must be globally unique. If some other account has
already created a bucket with the name that you chose, you must use another name. For
more information, see Bucket Restrictions and Limitations in the Amazon Simple Storage
Service Developer Guide.
4. Choose Create.
• The S3 buckets for the current AWS Region (p. 51) are displayed beneath the Amazon S3 node.
87
AWS Toolkit for JetBrains User Guide
Working with Amazon S3 objects
4. Enter the bucket's name to confirm the deletion, and then choose OK.
• If the bucket contains objects, the bucket is emptied before deletion. A notification is displayed
after the deletion is complete.
Topics
• Viewing an object in an Amazon S3 bucket (p. 88)
• Opening an object in the IDE (p. 88)
• Uploading an object (p. 89)
• Downloading an object (p. 89)
• Deleting an object (p. 89)
The S3 Bucket Viewer displays information about the bucket's name, Amazon Resource Name (ARN), and
creation date. The objects and folders in the bucket are available in the pane beneath.
1. To find an object to download, open the S3 Bucket Viewer (see Viewing an object in an Amazon S3
bucket (p. 88)).
2. Double-click the name of the object.
88
AWS Toolkit for JetBrains User Guide
AWS Serverless
The file opens in the default IDE window for that file type.
Uploading an object
1. To find the folder you want to upload objects to, open the S3 Bucket Viewer (see Viewing an object
in an Amazon S3 bucket (p. 88)).
2. Right-click the folder, and then choose Upload.
3. In the dialog box, select the files to upload.
Note
You can upload multiple files at once. You can't upload directories.
4. Choose OK.
Downloading an object
1. To find a folder to download objects from, open the S3 Bucket Viewer (see Viewing an object in an
Amazon S3 bucket (p. 88)).
2. Choose a folder to display its objects.
3. Right-click an object, and then choose Download.
4. In the dialog box, select the download location.
Note
If you're downloading multiple files, ensure you select the path name instead of the folder.
You can't download directories.
5. Choose OK.
Note
If a file already exists in the download location, you can overwrite it or leave it in place by
skipping the download.
Deleting an object
1. To find the object to delete, open the S3 Bucket Viewer (see Viewing an object in an Amazon S3
bucket (p. 88)).
2. After you select the object, delete it by doing one of the following:
• Press Delete.
• Right-click, and then choose Delete.
Note
You can select and delete multiple objects at once.
3. To confirm the deletion, choose Delete.
Topics
89
AWS Toolkit for JetBrains User Guide
Creating an application
• Creating an AWS serverless application by using the AWS Toolkit for JetBrains (p. 90)
• Deploying an AWS serverless application by using the AWS Toolkit for JetBrains (p. 94)
• Changing (updating) AWS Serverless application settings by using the AWS Toolkit for
JetBrains (p. 95)
• Deleting an AWS serverless application by using the AWS Toolkit for JetBrains (p. 96)
1. With IntelliJ IDEA, PyCharm, WebStorm, or JetBrains Rider already running, do one of the following:
90
AWS Toolkit for JetBrains User Guide
Creating an application
91
AWS Toolkit for JetBrains User Guide
Creating an application
3. Complete the New Project dialog box (or the New Solution dialog box for JetBrains Rider) (p. 105),
and then choose Finish (for IntelliJ IDEA) or Create (for PyCharm, WebStorm, or JetBrains Rider). The
AWS Toolkit for JetBrains creates the project and adds the serverless application's code files to the
new project.
4. If you're using IntelliJ IDEA, with the Project tool window already open and displaying the project
that contains the serverless application's files, do one of the following:
• For Maven-based projects, right-click the project's pom.xml file, and then choose Add as Maven
Project.
92
AWS Toolkit for JetBrains User Guide
Creating an application
• For Gradle-based projects, right-click the project's build.gradle file, and then choose Import
Gradle project.
93
AWS Toolkit for JetBrains User Guide
Deploying an application
Complete the Import Module from Gradle dialog box, and then choose OK.
After you create the serverless application, you can run (invoke) or debug the local version of an AWS
Lambda function (p. 28) that is contained in that application.
You can also deploy the serverless application (p. 23). After you deploy it, you can run (invoke) the
remote version of a Lambda function (p. 29) that is part of that deployed application.
Note
To deploy a serverless application that contains an AWS Lambda function, and deploy that
function with any nondefault or optional properties, you must first set those properties in
the function's corresponding AWS Serverless Application Model (AWS SAM) template file (for
example, in a file named template.yaml within the project). For a list of available properties,
see AWS::Serverless::Function in the awslabs/serverless-application-model repository on
GitHub.
1. If you need to switch to a different AWS Region (p. 17) to deploy the serverless application, do that
now.
2. With the Project tool window already open and displaying the project that contains the serverless
application's files, right-click the project's template.yaml file. Then choose Deploy Serverless
Application.
94
AWS Toolkit for JetBrains User Guide
Changing (updating) application settings
3. Complete the Deploy Serverless Application (p. 103) dialog box, and then choose Deploy.
The AWS Toolkit for JetBrains creates a corresponding AWS CloudFormation stack for the
deployment. It also adds the name of the stack to the CloudFormation list in AWS Explorer. If the
deployment fails, you can try to determine why by viewing event logs for the stack (p. 33).
After you deploy it, you can run (invoke) the remote version of an AWS Lambda function (p. 29) that is
part of that deployed application.
Note
To deploy a serverless application that contains an AWS Lambda function, and deploy that
function with any nondefault or optional properties, you must first set those properties in the
function's corresponding AWS SAM template file (for example, in a file named template.yaml
within the project). For a list of available properties, see AWS::Serverless::Function in the
awslabs/serverless-application-model repository on GitHub.
95
AWS Toolkit for JetBrains User Guide
Deleting an application
1. With the Project tool window already open and displaying the project that contains the serverless
application's files, open the project's template.yaml file. Change the file's contents to reflect the
new settings, and then save and close the file.
2. If you need to switch to a different AWS Region (p. 17) to deploy the serverless application to, do
that now.
3. Right-click the project's template.yaml file, and then choose Deploy Serverless Application.
4. Complete the Deploy Serverless Application (p. 103) dialog box, and then choose Deploy. The AWS
Toolkit for JetBrains updates the corresponding AWS CloudFormation stack for the deployment.
If the deployment fails, you can try to determine why by viewing event logs for the stack (p. 33).
1. Open AWS Explorer (p. 18), if it isn't already open. If you need to switch to a different AWS
Region (p. 17) that contains the serverless application, do that now.
2. Expand CloudFormation.
96
AWS Toolkit for JetBrains User Guide
Amazon SQS
3. Right-click the name of the AWS CloudFormation stack that contains the serverless application you
want to delete, and then choose Delete CloudFormation Stack.
4. Enter the stack's name to confirm the deletion, and then choose OK. If the stack deletion succeeds,
the AWS Toolkit for JetBrains removes the stack name from the CloudFormation list in AWS
Explorer. If the stack deletion fails, you can try to determine why by viewing event logs for the
stack (p. 33).
Standard and FIFO (First-In-Last-Out) are the two kinds of messages you can send using Amazon SQS in
the AWS Toolkit for JetBrains.
1. Open JetBrains.
2. Open AWS Explorer within the AWS Toolkit for JetBrains (p. 18).
3. Open the context (right-click) menu for SQS, and choose Create Queue....
4. Provide a queue name and choose the queue type (either Standard or FIFO. For more information
on queue types, see the following topics in the Amazon Simple Queue Service Developer Guide:
97
AWS Toolkit for JetBrains User Guide
Amazon SQS
5. Choose Create.
1. Open JetBrains.
2. Open AWS Explorer within the AWS Toolkit for JetBrains (p. 18).
3. Choose the Amazon SQS drop-down arrow to expand your list of queues.
4. Open the context (right-click) menu for that queue and choose View Messages.
5. Choose View Messages to view the messages in this queue. Up to ten messages will be polled.
Messages are immediately returned to the queue after being shown. For information about polling,
see Amazon SQS short and long polling in the Amazon Simple Queue Service Developer Guide.
1. Open JetBrains.
2. Open AWS Explorer within the AWS Toolkit for JetBrains (p. 18).
3. Choose the Amazon SQS drop-down arrow to expand your list of queues.
4. Open the context (right-click) menu for the queue that you want to edit and choose Edit Queue
Properties....
5. In the Edit Queue Properties dialog box that opens, review and modify your queue properties. For
more information on Amazon SQS properties, see Configuring queue parameters (console) in the
Amazon Simple Queue Service Developer Guide.
1. Open JetBrains.
2. Open AWS Explorer within the AWS Toolkit for JetBrains (p. 18).
3. Choose the Amazon SQS drop-down arrow to expand your list of queues.
4. Open the context (right-click) menu for that queue and choose Send a message.
5. Populate the message and choose Send. After you send the message, you see a confirmation that
includes the message ID.
1. Open JetBrains.
2. Open AWS Explorer within the AWS Toolkit for JetBrains (p. 18).
3. Choose the Amazon SQS drop-down arrow to expand your list of queues.
4. Open the context (right-click) menu for that queue and choose Send a message.
5. Populate the message, group id, and an optional deduplication id.
Note
If no deduplication id is provided, one will be generated.
6. Choose Send. After you send the message, you see a confirmation that includes the message ID.
1. To verify that a queue is empty before you delete it, see COnfirming that a queue is empty in the
Amazon Simple Queue Service Developer Guide.
2. Open JetBrains.
3. Open AWS Explorer within the AWS Toolkit for JetBrains (p. 18).
98
AWS Toolkit for JetBrains User Guide
Working with Lambda
4. Open the context (right-click) menu for on SQS, and choose Delete Queue....
5. Confirm that you want to delete the queue, and choose OK in the deletion dialog box.
Topics
• Using Amazon SQS with AWS Lambda in the AWS Toolkit for JetBrains (p. 99)
• Using Amazon SQS with Amazon SNS in the AWS Toolkit for JetBrains (p. 99)
1. Open JetBrains.
2. Open AWS Explorer within the AWS Toolkit for JetBrains (p. 18).
3. Choose the Amazon SQS drop-down arrow to expand your list of queues.
4. Open the context (right-click) menu for the queue you want to use and choose Configure Lambda
Trigger.
5. In the dialog box, from the drop-down menu, choose the Lambda function that you want to trigger.
6. Choose Configure.
7. If the Lambda function lacks the necessary IAM permissions for Amazon SQS to run it, the toolkit
generates a minimal policy that you can add to the IAM role for the Lambda function.
After you configure your queue, you get a status message about the applied changes, including any
applicable error messages.
1. Open JetBrains.
2. Open AWS Explorer within the AWS Toolkit for JetBrains (p. 18).
3. Choose the Amazon SQS drop-down arrow to expand your list of queues.
4. Open the context (right-click) menu for that queue and choose Subscribe to SNS topic....
5. In the dialog box, from the drop-down menu, choose an Amazon SNS topic, and then choose
Subscribe.
99
AWS Toolkit for JetBrains User Guide
AWS Explorer
Topics
• AWS Explorer (p. 100)
• Create Function dialog box (p. 102)
• Deploy Serverless Application dialog box (p. 103)
• New Project dialog box (p. 105)
• Run/Debug Configurations dialog box (p. 108)
• Update Code dialog box (p. 120)
• Update Configuration dialog box (p. 121)
AWS Explorer
AWS Explorer provides convenient access to several features in the AWS Toolkit for JetBrains. These
include managing connections from the toolkit to AWS accounts, switching AWS Regions, working with
AWS Lambda functions and AWS CloudFormation stacks in accounts, and more.
To open AWS Explorer, with the AWS Toolkit for JetBrains installed (p. 4) and with IntelliJ IDEA, PyCharm,
WebStorm, or JetBrains Rider running, do one of the following:
100
AWS Toolkit for JetBrains User Guide
AWS Explorer
In AWS Explorer, choose the settings icon (Show Options Menu) for the following options:
Choose this area to view the same AWS Connection Settings options as the Show Options
Menu.
View Documentation
Goes to the AWS Toolkit for JetBrains User Guide (this guide).
View Source on GitHub
Adjusts the AWS Explorer tool window so that you can quickly access it and save space when you
work in the editor or other tool windows.
For IntelliJ IDEA view modes, see Tool window view modes on the IntelliJ IDEA Help website.
For PyCharm view modes, see Tool window view modes on the PyCharm Help website.
For WebStorm view modes, see Tool window view modes on the WebStorm Help website.
101
AWS Toolkit for JetBrains User Guide
Create Function dialog box
For JetBrains Rider view modes, see Tool window view modes on the JetBrains Rider Help website.
Move to
Moves the AWS Explorer tool window to a different location in IntelliJ IDEA, PyCharm, WebStorm, or
JetBrains Rider.
Resize
Removes the AWS Explorer tool window from the tool window bar. To display it again, on the main
menu bar, choose View, Tool Windows, AWS Explorer.
You can also use AWS Explorer to work with Lambda functions (p. 26) and work with AWS
CloudFormation stacks (p. 32) in AWS accounts.
Name
(Required) The function's name. This can contain only the uppercase letters A through Z, the
lowercase letters a through z, the numbers 0 through 9, hyphens (-), and underscores (_). The name
must be less than 64 characters in length.
Description
(Required) The ID of the corresponding function handler for Java, Python, Node.js, or C#.
102
AWS Toolkit for JetBrains User Guide
Deploy Serverless Application dialog box
Runtime
(Required) The amount of time that Lambda allows a function to run before stopping it. Specify an
amount up to 900 seconds (15 minutes).
Memory (MB)
(Required) The amount of memory available to the function as it runs. Specify an amount between
128 MB and 3,008 MB in 64-MB increments.
Environment Variables
(Optional) Any environment variables for the Lambda function to use, specified as key-value pairs.
To add, change, or delete environment variables, choose the folder icon, and then follow the on-
screen instructions.
IAM Role
(Required) Choose an available Lambda execution role in the connected AWS account for Lambda
to use for the function. To create an execution role in the account and have Lambda use that role
instead, choose Create, and then follow the on-screen instructions.
Enable AWS X-Ray
(Optional) If selected, Lambda enables AWS X-Ray to detect, analyze, and optimize performance
issues with the function. X-Ray collects metadata from Lambda and any upstream or downstream
services that make up your function. X-Ray uses this metadata to generate a detailed service
graph that shows performance bottlenecks, latency spikes, and other issues that impact function
performance.
Source Bucket
(Required) Choose an available Amazon Simple Storage Service (Amazon S3) bucket in the
connected AWS account for the AWS Serverless Application Model (AWS SAM) command line
interface (CLI) to use to deploy the function to Lambda. To create an Amazon S3 bucket in the
account and have the AWS SAM CLI use that one instead, choose Create, and then follow the on-
screen instructions.
103
AWS Toolkit for JetBrains User Guide
Deploy Serverless Application dialog box
The Deploy Serverless Application dialog box contains the following items:
Create Stack
(Required) Provide the name of the stack for the AWS Serverless Application Model (AWS SAM)
command line interface (CLI) to create in AWS CloudFormation for the connected AWS account. The
AWS SAM CLI then uses this stack to deploy the AWS serverless application.
Update Stack
(Required) Choose the name of an existing AWS CloudFormation stack in the connected AWS
account for the AWS SAM CLI to use to deploy the AWS serverless application.
Note
Either Create Stack or Update Stack is required, but not both.
Template Parameters
(Optional) Any parameters that the AWS Toolkit for JetBrains detects in the corresponding project's
template.yaml file. To specify a value for a parameter, choose the box in the Value column next
to the parameter, enter the value, and then press Enter. For more information, see Parameters in the
AWS CloudFormation User Guide.
S3 Bucket
(Required) Choose an existing Amazon Simple Storage Service (Amazon S3) bucket in the connected
AWS account for the AWS SAM CLI to use to deploy the AWS serverless application. To create an
Amazon S3 bucket in the account and have the AWS SAM CLI use that bucket instead, choose Create,
and then follow the on-screen instructions.
104
AWS Toolkit for JetBrains User Guide
New Project dialog box
ECR Repository
(Required for Image package type only) Choose an existing Amazon Elastic Container Registry
(Amazon ECR) repository URI in the connected AWS account for the AWS SAM CLI to use to deploy
the AWS serverless application. For information about AWS Lambda package types, see Lambda
deployment packages in the AWS Lambda Developer Guide.
Require confirmation before deploying
(Optional) If selected, instructs AWS CloudFormation to wait for you to finish creating or updating
the corresponding stack by executing the stack's current change set in AWS CloudFormation. If you
don't execute this change set, the AWS serverless application doesn't move on to the deployment
phase.
Build function inside a container
(Optional) If selected, the AWS SAM CLI builds any of the serverless application's functions inside of
a Lambda-like Docker container locally before deployment. This is useful if the function depends on
packages that have natively compiled dependencies or programs. For more information, see Building
applications in the AWS Serverless Application Model Developer Guide.
Topics
• New Project dialog box (IntelliJ IDEA, PyCharm, and WebStorm) (p. 105)
• New Project dialog box (JetBrains Rider) (p. 107)
105
AWS Toolkit for JetBrains User Guide
New Project dialog box (IntelliJ
IDEA, PyCharm, and WebStorm)
Project name
(Required) The AWS Lambda function's deployment package type, which can be either Zip or
Image. For information about the difference between Zip and Image package types, see Lambda
deployment packages in the AWS Lambda Developer Guide.
Runtime
(Required) The name of the AWS Serverless Application Model (AWS SAM) template to use.
106
AWS Toolkit for JetBrains User Guide
New Project dialog box (JetBrains Rider)
Project SDK
(Required) The Java development kit (JDK) to use. For more information, see Java Development Kit
(JDK) on the IntelliJ IDEA Help website.
Solution name
(Optional) If selected, puts the solution's files in the same location as the project's files.
107
AWS Toolkit for JetBrains User Guide
Run/Debug Configurations dialog box
Create repository
(Optional) If selected, creates a remote repository for the project with the specified provider.
Package Type
(Required) The Lambda function's package type, which can be either Zip or Image. For information
about the difference between Zip and Image package types, see Lambda deployment packages in
the AWS Lambda Developer Guide.
Runtime
(Non-editable) The paths for the created project's directories and files.
Topics
• Run/Debug Configurations dialog box (local function settings) (p. 108)
• Run/Debug Configurations dialog box (remote function settings) (p. 114)
• Edit configuration dialog box (Amazon ECS cluster) (p. 116)
This dialog box contains three tabs: Configuration, SAM CLI, and AWS Connection.
108
AWS Toolkit for JetBrains User Guide
Run/Debug Configurations (local)
The Configuration tab of the Run/Debug Configurations dialog box for local function settings contains
the following items:
Name
(Optional) If selected, allows IntelliJ IDEA, PyCharm, WebStorm, or JetBrains Rider to launch as many
1
instances of the configuration to run in parallel as needed.
From handler / From template
(Required) Depending on which option you choose, you must configure additional settings.
109
AWS Toolkit for JetBrains User Guide
Run/Debug Configurations (local)
Runtime
(Required for the From handler option) The identifier of the corresponding function handler for
Java, Python, Node.js, or C#.
Timeout (seconds)
(Required for the From handler option) The amount of time that Lambda allows a function to run
before stopping it. Specify an amount up to 900 seconds (15 minutes).
Memory (MB)
(Required for the From handler option) The amount of memory available to the function as it runs.
Specify an amount between 128 MB and 3,008 MB in 64-MB increments.
Environment Variables
(Optional for the From handler option) Any environment variables for the Lambda function to use,
specified as key-value pairs. To add, change, or delete environment variables, choose the folder icon,
and then follow the on-screen instructions.
Template
(Required for the From template option) The location and file name of the AWS Serverless
Application Model (AWS SAM) template (for example, template.yaml) to use for this
configuration, and the resource in that template to associate with this configuration.
File
(Required) The location and file name of the event data to pass to the function, in JSON format.
For event data examples, see Invoke the Lambda function in the AWS Lambda Developer Guide and
Generating sample event payloads in the AWS Serverless Application Model Developer Guide.
Text
(Required) The event data to pass to the function, in JSON format. For event data examples, see
Invoke the Lambda function in the AWS Lambda Developer Guide and Generating sample event
payloads in the AWS Serverless Application Model Developer Guide.
Note
Either File or Text is required, but not both.
Before launch: window
2
(Optional) Lists any tasks that must be performed before starting this configuration.
Notes
1
For more information, see the following:
• For IntelliJ IDEA, see Common options on the IntelliJ IDEA Help website.
• For PyCharm, see Common options on the PyCharm Help website.
• For WebStorm, see Common options on the WebStorm Help website.
• For JetBrains Rider, see Common options on the JetBrains Rider Help website.
2
For more information, see the following:
• For IntelliJ IDEA, see Before Launch options on the IntelliJ IDEA Help website.
• For PyCharm, see Before Launch options on the PyCharm Help website.
• For WebStorm, see Before Launch options on the WebStorm; Help website.
110
AWS Toolkit for JetBrains User Guide
Run/Debug Configurations (local)
• For JetBrains Rider, see Before Launch options on the JetBrains Rider Help website.
The SAM CLI tab of the Run/Debug Configurations dialog box for local function settings contains the
following items:
Name
(Optional) If selected, allows IntelliJ IDEA, PyCharm, WebStorm, or JetBrains Rider to launch as many
1
instances of the configuration to run in parallel as needed.
111
AWS Toolkit for JetBrains User Guide
Run/Debug Configurations (local)
(Optional) If selected, the AWS SAM CLI builds any of the serverless application's functions inside of
a Lambda-like Docker container locally before deployment. This is useful if the function depends on
packages that have natively compiled dependencies or programs. For more information, see Building
applications in the AWS Serverless Application Model Developer Guide.
Skip checking for newer container images
(Optional) If selected, the AWS SAM CLI skips pulling down the latest Docker image for the runtime
that is specified on the Configuration tab.
Docker Network
(Optional) The name or ID of an existing Docker network for Lambda Docker containers to connect
to, with the default bridge network. If not specified, the Lambda containers connect only to the
default bridge Docker network.
Before launch: window
2
(Optional) Lists any tasks that must be performed before starting this configuration.
Notes
1
For more information, see the following:
• For IntelliJ IDEA, see Common options on the IntelliJ IDEA Help website.
• For PyCharm, see Common options on the PyCharm Help website.
• For WebStorm, see Common options on the WebStorm Help website.
• For JetBrains Rider, see Common options on the JetBrains Rider Help website.
2
For more information, see the following:
• For IntelliJ IDEA, see Before Launch options on the IntelliJ IDEA Help website.
• For PyCharm, see Before Launch options on the PyCharm Help website.
• For WebStorm, see Before Launch options on the WebStorm; Help website.
• For JetBrains Rider, see Before Launch options on the JetBrains Rider Help website.
112
AWS Toolkit for JetBrains User Guide
Run/Debug Configurations (local)
The AWS Connection tab of the Run/Debug Configurations dialog box for local function settings
contains the following items:
Credentials
(Required) The name of the existing AWS account connection (p. 8) to use.
Region
(Required) The name of the AWS Region (p. 17) to use for the connected account.
Notes
1
For more information, see the following:
113
AWS Toolkit for JetBrains User Guide
Run/Debug Configurations (remote)
• For IntelliJ IDEA, see Common options on the IntelliJ IDEA Help website.
• For PyCharm, see Common options on the PyCharm Help website.
• For WebStorm, see Common options on the WebStorm Help website.
• For JetBrains Rider, see Common options on the JetBrains Rider Help website.
2
For more information, see the following:
• For IntelliJ IDEA, see Before Launch options on the IntelliJ IDEA Help website.
• For PyCharm, see Before Launch options on the PyCharm Help website.
• For WebStorm, see Before Launch options on the WebStorm; Help website.
• For JetBrains Rider, see Before Launch options on the JetBrains Rider Help website.
114
AWS Toolkit for JetBrains User Guide
Run/Debug Configurations (remote)
The Run/Debug Configurations dialog box for remote function settings contains the following items:
Name
(Optional) If selected, allows IntelliJ IDEA, PyCharm, WebStorm, or JetBrains Rider to launch as many
1
instances of the configuration to run in parallel as needed.
Credentials
(Required) The name of the existing AWS account connection (p. 8) to use.
Region
(Required) The name of the AWS Region (p. 17) to use for the connected account.
Function
115
AWS Toolkit for JetBrains User Guide
Edit configuration (Amazon ECS cluster)
File
(Required) The location and file name of the event data to pass to the function, in JSON format.
For event data examples, see Invoke the Lambda function in the AWS Lambda Developer Guide and
Generating sample event payloads in the AWS Serverless Application Model Developer Guide.
Text
(Required) The event data to pass to the function, in JSON format. For event data examples, see
Invoke the Lambda function in the AWS Lambda Developer Guide and Generating sample event
payloads in the AWS Serverless Application Model Developer Guide.
Note
Either File or Text is required, but not both.
116
AWS Toolkit for JetBrains User Guide
Edit configuration (Amazon ECS cluster)
The Configuration tab of the Edit configuration dialog box contains the following items:
Name
(Optional) If selected, allows IntelliJ IDEA, PyCharm, WebStorm, or JetBrains Rider to launch as many
1
instances of the configuration to run in parallel as needed.
Cluster
(Required) The name of the Amazon Elastic Container Service (Amazon ECS) cluster to debug.
Service
(Required) The name of the Amazon ECS service in the cluster to debug.
Add Container
Adds a container to this configuration. Optional if at least one tab is already visible. Each tab
represents a separate container.
117
AWS Toolkit for JetBrains User Guide
Edit configuration (Amazon ECS cluster)
The following items apply to the selected container: Platform, Remote Debug Port, Start
Command, Artifacts Mappings, and Port Mappings.
Platform
(Optional) The port to attach to the debugger. Generally, you shouldn't specify this unless your
service uses ports 20020-20030. If it does, specify that port here so that the container doesn't try to
bind ports that might otherwise be in use elsewhere.
Start Command
(Required) The command to start your program so that the debugger can attach to it. For Java, it
should start with java and contain no debugger information, such as -Xdebug. For Python, it must
start with python, python2, or python3, followed by the path and name of the file to run.
Artifacts Mappings
(Required) A Local Path on your local development machine that maps to a Remote Path within the
container. You must map all code and artifacts that you plan to run. To specify a local and remote
path mapping, choose Add (the + icon).
Port Mappings
(Optional) A Local Port on your local development machine that maps to a Remote Port within the
container. This enables local ports to communicate directly with ports on a remote resource. For
example, for the command curl localhost:3422, port 3422 maps to some service. To specify a
local and remote port mapping, choose Add (the + icon).
Before launch: Activate tool window
2
(Optional) Lists any tasks that must be performed before starting this configuration.
Show this page
2
(Optional) If selected, displays these configuration settings before starting this configuration.
Activate tool window
2
(Optional) If selected, opens the Run or Debug tool window when you start this configuration.
Notes
1
For more information, see the following:
• For IntelliJ IDEA, see Common options on the IntelliJ IDEA Help website.
• For PyCharm, see Common options on the PyCharm Help website.
• For WebStorm, see Common options on the WebStorm Help website.
• For JetBrains Rider, see Common options on the JetBrains Rider Help website.
2
For more information, see the following:
• For IntelliJ IDEA, see Before Launch options on the IntelliJ IDEA Help website.
• For PyCharm, see Before Launch options on the PyCharm Help website.
• For WebStorm, see Before Launch options on the WebStorm; Help website.
• For JetBrains Rider, see Before Launch options on the JetBrains Rider Help website.
118
AWS Toolkit for JetBrains User Guide
Edit configuration (Amazon ECS cluster)
The AWS Connection tab of the Edit configuration dialog box contains the following items:
Name
(Required) The name of the existing AWS account connection (p. 8) to use.
Region
(Required) The name of the AWS Region (p. 17) to use for the connected account.
Share / Share through VCS
1
(Optional) If selected, makes this configuration available to other team members.
Allow parallel run / Allow running in parallel
(Optional) If selected, allows IntelliJ IDEA, PyCharm, WebStorm, or JetBrains Rider to launch as many
1
instances of the configuration to run in parallel as needed.
Before launch: Activate tool window
2
(Optional) Lists any tasks that must be performed before starting this configuration.
119
AWS Toolkit for JetBrains User Guide
Update Code dialog box
Handler
(Required) The ID of the corresponding Lambda function handler for Java, Python, Node.js, or C#.
Source Bucket
(Required for Zip package type only) Choose an existing Amazon Simple Storage Service (Amazon
S3) bucket in the connected AWS account for the AWS Serverless Application Model (AWS SAM)
command line interface (CLI) to use to deploy the function to Lambda. To create an Amazon S3
bucket in the account and have the AWS SAM CLI use that bucket instead, choose Create, and
then follow the on-screen instructions. For information about Lambda package types, see Lambda
deployment packages in the AWS Lambda Developer Guide.
120
AWS Toolkit for JetBrains User Guide
Update Configuration dialog box
ECR Repository
(Required for Image package type only) Choose an existing Amazon Elastic Container Registry
(Amazon ECR) repository in the connected AWS account for the AWS SAM CLI to use to deploy the
function to Lambda.
The Update Configuration dialog box for the Zip package type:
The Update Configuration dialog box for the Image package type:
121
AWS Toolkit for JetBrains User Guide
Update Configuration dialog box
Name
(Required) The function's name. Can contain only the uppercase letters A through Z, the lowercase
letters a through z, the numbers 0 through 9, hyphens (-), and underscores (_). The name must be
less than 64 characters in length.
Description
(Required) The Lambda function's package type, which can be either Zip or Image.
Handler
(Required for Zip packages only) The ID of the corresponding Lambda function handler for Java,
Python, Node.js, or C#.
Runtime
(Required for Zip packages only) The ID of the Lambda runtime to use.
Timeout (seconds)
(Required) The amount of time that Lambda allows a function to run before stopping it. Specify an
amount up to 900 seconds (15 minutes).
Memory (MB)
(Required) The amount of memory available to the function as it runs. Specify an amount between
128 MB and 3,008 MB in 64-MB increments.
Environment Variables
(Optional) Any environment variables for the Lambda function to use, specified as key-value pairs.
To add, change, or delete environment variables, choose the folder icon, and then follow the on-
screen instructions.
122
AWS Toolkit for JetBrains User Guide
Update Configuration dialog box
IAM Role
(Required) Choose an available Lambda execution role in the connected AWS account for Lambda
to use for the function. To create an execution role in the account and have Lambda use that role
instead, choose Create, and then follow the on-screen instructions.
Enable AWS X-Ray
(Optional) If selected, Lambda enables AWS X-Ray to detect, analyze, and optimize performance
issues with the function. X-Ray collects metadata from Lambda and any upstream or downstream
services that make up your function. X-Ray uses this metadata to generate a detailed service
graph that shows performance bottlenecks, latency spikes, and other issues that impact function
performance.
123
AWS Toolkit for JetBrains User Guide
Data protection
Security of the Cloud – AWS is responsible for protecting the infrastructure that runs all of the services
offered in the AWS Cloud and providing you with services that you can use securely. Our security
responsibility is the highest priority at AWS, and the effectiveness of our security is regularly tested and
verified by third-party auditors as part of the AWS Compliance Programs.
Security in the Cloud – Your responsibility is determined by the AWS service you are using, and other
factors including the sensitivity of your data, your organization’s requirements, and applicable laws and
regulations.
This AWS product or service follows the shared responsibility model through the specific Amazon Web
Services (AWS) services it supports. For AWS service security information, see the AWS service security
documentation page and AWS services that are in scope of AWS compliance efforts by compliance
program.
Topics
• Data protection in AWS Toolkit for JetBrains (p. 124)
• Identity and Access Management for this AWS Product or Service (p. 125)
• Compliance Validation for this AWS Product or Service (p. 125)
• Resilience for this AWS Product or Service (p. 126)
• Infrastructure Security for this AWS Product or Service (p. 126)
For data protection purposes, we recommend that you protect AWS account credentials and set up
individual user accounts with AWS Identity and Access Management (IAM). That way each user is given
only the permissions necessary to fulfill their job duties. We also recommend that you secure your data
in the following ways:
124
AWS Toolkit for JetBrains User Guide
Identity and Access Management
• Use AWS encryption solutions, along with all default security controls within AWS services.
• Use advanced managed security services such as Amazon Macie, which assists in discovering and
securing personal data that is stored in Amazon S3.
• If you require FIPS 140-2 validated cryptographic modules when accessing AWS through a command
line interface or an API, use a FIPS endpoint. For more information about the available FIPS endpoints,
see Federal Information Processing Standard (FIPS) 140-2.
We strongly recommend that you never put sensitive identifying information, such as your customers'
account numbers, into free-form fields such as a Name field. This includes when you work with AWS
Toolkit for JetBrains or other AWS services using the console, API, AWS CLI, or AWS SDKs. Any data that
you enter into AWS Toolkit for JetBrains or other services might get picked up for inclusion in diagnostic
logs. When you provide a URL to an external server, don't include credentials information in the URL to
validate your request to that server.
To use this AWS product or service to access AWS, you need an AWS account and AWS credentials. To
increase the security of your AWS account, we recommend that you use an IAM user to provide access
credentials instead of using your AWS account credentials.
For details about working with IAM, see AWS Identity and Access Management.
For an overview of IAM users and why they are important for the security of your account, see AWS
Security Credentials in the Amazon Web Services General Reference.
This AWS product or service follows the shared responsibility model through the specific Amazon Web
Services (AWS) services it supports. For AWS service security information, see the AWS service security
documentation page and AWS services that are in scope of AWS compliance efforts by compliance
program.
The security and compliance of AWS services is assessed by third-party auditors as part of multiple AWS
compliance programs. These include SOC, PCI, FedRAMP, HIPAA, and others. AWS provides a frequently
updated list of AWS services in scope of specific compliance programs at AWS Services in Scope by
Compliance Program.
Third-party audit reports are available for you to download using AWS Artifact. For more information,
see Downloading Reports in AWS Artifact.
125
AWS Toolkit for JetBrains User Guide
Resilience
For more information about AWS compliance programs, see AWS Compliance Programs.
Your compliance responsibility when using this AWS product or service to access an AWS service is
determined by the sensitivity of your data, your organization’s compliance objectives, and applicable
laws and regulations. If your use of an AWS service is subject to compliance with standards such as
HIPAA, PCI, or FedRAMP, AWS provides resources to help:
• Security and Compliance Quick Start Guides – Deployment guides that discuss architectural
considerations and provide steps for deploying security-focused and compliance-focused baseline
environments on AWS.
• Architecting for HIPAA Security and Compliance Whitepaper – A whitepaper that describes how
companies can use AWS to create HIPAA-compliant applications.
• AWS Compliance Resources – A collection of workbooks and guides that might apply to your industry
and location.
• AWS Config – A service that assesses how well your resource configurations comply with internal
practices, industry guidelines, and regulations.
• AWS Security Hub – A comprehensive view of your security state within AWS that helps you check your
compliance with security industry standards and best practices.
AWS Regions provide multiple physically separated and isolated Availability Zones, which are connected
with low-latency, high-throughput, and highly redundant networking.
With Availability Zones, you can design and operate applications and databases that automatically fail
over between Availability Zones without interruption. Availability Zones are more highly available, fault
tolerant, and scalable than traditional single or multiple data center infrastructures.
For more information about AWS Regions and Availability Zones, see AWS Global Infrastructure.
This AWS product or service follows the shared responsibility model through the specific Amazon Web
Services (AWS) services it supports. For AWS service security information, see the AWS service security
documentation page and AWS services that are in scope of AWS compliance efforts by compliance
program.
126
AWS Toolkit for JetBrains User Guide
For a detailed list of changes to the AWS Toolkit for JetBrains, see the .changes directory in the aws/aws-
toolkit-jetbrains repository on the GitHub website.
Working with CloudWatch Logs Using the AWS Toolkit for November 24, 2020
Insights now available (p. 127) JetBrains to work with
CloudWatch Logs Insights is now
available.
Working with Amazon SQS now Using the AWS Toolkit for November 24, 2020
available (p. 127) JetBrains to work with Amazon
Simple Queue Service (Amazon
SQS) is now available.
Working with Amazon RDS Using the AWS Toolkit to September 23, 2020
and Amazon Redshift now work with Amazon Relational
available (p. 127) Database Service (Amazon RDS)
and Amazon Redshift is now
available.
Support for AWS SSO now Support for AWS Single Sign- September 23, 2020
available (p. 127) On now available in the AWS
Toolkit.
AWS Toolkits now available AWS Toolkits are now available May 28, 2020
for four more JetBrains as plugins for four additional
IDEs (p. 127) JetBrains IDEs:
Working with CloudWatch Logs Using the AWS Toolkit to work April 15, 2020
now available (p. 127) with Amazon CloudWatch Logs
is now available.
127
AWS Toolkit for JetBrains User Guide
Working with Amazon S3 Using the AWS Toolkit to work March 27, 2020
buckets and objects now with Amazon Simple Storage
available (p. 127) Service (Amazon S3) buckets and
objects is now available.
Working with EventBridge Using the AWS Toolkit to work December 2, 2019
Schemas now with Amazon EventBridge
available (p. 127) Schemas is now available.
Debugging code in Amazon Using the AWS Toolkit to November 25, 2019
ECS clusters now available in debug code in Amazon Elastic
beta (p. 127) Container Service (Amazon ECS)
clusters is now available in beta.
AWS Toolkit for Rider now The AWS Toolkit for Rider is now November 25, 2019
available (p. 127) available.
AWS Toolkit for WebStorm now The AWS Toolkit for WebStorm October 23, 2019
available (p. 127) is now available.
AWS Toolkit for IntelliJ now The AWS Toolkit for IntelliJ is March 27, 2019
generally available (p. 127) now generally available. The
corresponding documentation
has been refreshed accordingly.
Initial release (p. 127) This is the initial release of November 27, 2018
the AWS Toolkit for JetBrains
User Guide. The AWS Toolkit
for PyCharm is now generally
available. The AWS Toolkit
for IntelliJ is still in Developer
Preview.
128