Finding and changing the location of the shared config and credentials files of AWS SDKs and tools (original) (raw)

The shared AWS config and credentials files are plaintext files that hold configuration information for the AWS SDKs and tools. The files reside locally in your environment and used automatically by SDK code or by AWS CLI commands that you run in that environment. For example, on your own computer or when developing on an Amazon Elastic Compute Cloud instance.

When the SDK or tool runs, it checks for these files and loads any available configuration settings. If the files do not already exist, then a basic file is automatically created by the SDK or tool.

By default, the files are in a folder named .aws that is placed in your home or user folder.

Operating system Default location and name of files
Linux and macOS ~/.aws/config ~/.aws/credentials
Windows %USERPROFILE%\.aws\config %USERPROFILE%\.aws\credentials

Home directory resolution

~ is only used for home directory resolution when it:

When determining the home directory, the following variables are checked:

When possible, if a user's home directory is specified at the start of the path (for example,~username/), it is resolved to the requested user name's home directory (for example,/home/username/.aws/config).

Change the default location of these files

You can use any of the following to override where these files are loaded from by the SDK or tool.

Use environment variables

The following environment variables can be set to change the location or name of these files from the default to a custom value:

Linux/macOS

You can specify an alternate location by running the following export commands on Linux or macOS.

$ export AWS_CONFIG_FILE=/some/file/path/on/the/system/config-file-name
$ export AWS_SHARED_CREDENTIALS_FILE=/some/other/file/path/on/the/system/credentials-file-name

Windows

You can specify an alternate location by running the following setx commands on Windows.

C:\> setx AWS_CONFIG_FILE c:\some\file\path\on\the\system\config-file-name
C:\> setx AWS_SHARED_CREDENTIALS_FILE c:\some\other\file\path\on\the\system\credentials-file-name

For more information on configuring your system using environment variables, see Using environment variables to globally configure AWS SDKs and tools.

Use JVM system properties

For the SDK for Kotlin running on the JVM and for SDK for Java 2.x, you can set the following JVM system properties to change the location or name of these files from the default to a custom value:

For instructions on how to set JVM system properties, see How to set JVM system properties. The SDK for Java 1.x does not support these system properties.