Skip to content

AndresMorelos/aws-accounts

Repository files navigation

Manage AWS Credentials

GitHub license GitHub stars Version npm

How to install?

npm i aws-accounts

How to use?

Auto Save

const { awsAccounts } = require('aws-accounts');

// Toggle auto save option, default value false
awsAccounts.toggleAutoSave();

 // The profile will be automatically saved on the credentials file
awsAccounts.addProfile(options);

Chainable methods

This module permits some methods to be chainable to use in the next way:

const { awsAccounts } = require('aws-accounts');

// Add profile and save on one line
awsAccounts.addProfile(options).saveFile();

insetad of

const { awsAccounts } = require('aws-accounts');

// Add profile
awsAccounts.addProfile(options)

// Save changes
awsAccounts.saveFile();

Allowed methods

Method
addProfile
editProfile
deleteProfile
switchProfile
importCredentials
toggleAutoSave

Load profiles from an existing file

const { awsAccounts } = require('aws-accounts');

awsAccounts.deserializeCredentials('./path/to/the/file');

Note: By the fault the package load the profiles from the default file see https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-shared.html

Get profiles serialized

Note: By default the profiles are serialized as a JSON/OBJECT

As a JSON

const { awsAccouts } = require('aws-accounts');

awsAccouts.getCredentials('JSON');

As a Text

const { awsAccouts } = require('aws-accounts');

awsAccouts.serializeCredentials('TEXT');

Add a new profile

const { awsAccounts } = require('aws-accounts');

awsAccounts.addProfile(options);

see Accepted Options

Edit a existing profile

const { awsAccounts } = require('aws-accounts');

awsAccounts.editProfile('PROFILE-NAME', options);

see Accepted Options

Switch to an existing profile

const { awsAccounts } = require('aws-accounts');

awsAccounts.switchProfile('NAME');

Remove a profile

const { awsAccounts } = require('aws-accounts');

awsAccounts.deleteProfile('NAME');

Save the current profiles to the aws file

const { awsAccounts } = require('aws-accounts');

awsAccounts.saveFile();

NOTE: Be careful with this action, the method overwrite the default AWS profiles file with the loaded profiles.

Import JSON profile file

const { awsAccounts } = require('aws-accounts');

awsAccounts.importCredentials('./path/to/the/file.json');

NOTE: The JSON file to import needs to satisfy the package serialization

Export JSON profile file

const { awsAccounts } = require('aws-accounts');

awsAccounts.exportCredentials('./path/to/the/location/');

Accepted Options

Option Config Entry Type Default
name [name] String null
aws_access_key_id aws_access_key_id String null
aws_secret_access_key aws_secret_access_key String null
region region String null
output output String json
cli_timestamp_format cli_timestamp_format String wire
cli_follow_urlparam cli_follow_urlparam Boolean true
ca_bundle ca_bundle String null
parameter_validation parameter_validation Boolean true
tcp_keepalive tcp_keepalive Boolean true
max_attempts max_attempts Number null
retry_mode retry_mode String null