# Config

Awsume's configuration file can be found at ~/.awsume/config.yaml by default. If the XDG_CONFIG_HOME environment variable is set then it can be found at: ${XDG_CONFIG_HOME}/awsume/config.yaml.

Use awsume --config help to view available commands for config management.

# Properties

There are a few configuration properties found in awsume's config:

colors: true
fuzzy-match: true
role-duration: 0
region: us-west-2
role-session-name: awsume-cli-session
  • colors You can enable to disable adding colors to awsume's output. This is disabled on Windows machines.
  • fuzzy-match You can enable to disable fuzzy-matching the given profile if the given profile is not found. See more about it here
  • role-duration You can set a default role duration to awsume. _Note: If you specify a role duration that is greater than the maximum configured for that role, awsume will fail to assume the role. See how this impacts awsume here
  • region You can specify a default region. See how this impacts awsume here
  • role-session-name You can specify a default role session name that will be associated with your credential's session. See how this impacts awsume here

# Modifying Config

You can use the awsume --config command to modify the config.

To configure awsume, you can edit the file manually or you can make use of the --config flag like this:

awsume --config set <key> <value> <value> <value>
awsume --config set role-duration 43200

Or you can reset to the default value with:

awsume --config reset role-duration

You can delete a value with:

awsume --config clear role-duration

And you can get complex with your config like this:

# awsume --config set a.b.c x '{"hello":"world"}' 1 '"2"'
a:
  b:
    c:
     - 'x'
     - hello: world
     - 1
     - '2'

For each value, if it can be parsed as JSON, it will be. Otherwise it will be a string.

If you only provide one value, it will set the key to that value directly, without nesting it in an array, as follows:

# awsume --config set a.b.c x
a:
  b:
    c: x

# Notes

Note that you can provide any data to awsume's config you want (it doesn't mean that anything will happen).

If you are a plugin developer, you can utilize awsume's global configuration to manage your plugin's configuration. We recommend nesting your configuration under a top-level key (to not interfere with any other plugins or future configuration). For instance, the awsume console plugin (opens new window) stores its configuration under a top-level console key, like this:

colors: true
fuzzy-match: true
role-duration: 0
region: us-west-2
console:
  browser_command: '"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --user-data-dir=/tmp/{profile} "{url}" --no-first-run'