aws-profile-handler
Simply tool for extracting and editing the .aws/credentials. You can add, get, list, and delete profile(s) synchronously, no 3p dependencies introduced.
How do I install it?
Install it into your package
npm install aws-profile-handler --save
Add a profile
let valid_credential_object = "aws_access_key_id": "123" "aws_secret_access_key": "456"; let awsProfiler = ; // AWS credentials file path is optional as the last parameter. Default to ~/.aws/credentialsawsProfiler; awsProfiler; // .aws/credentials awesomeProfileNameaws_access_key_id=123aws_secret_access_key=456
Get a profile's credentials
let awsProfiler = ; // AWS credentials file path is optional as the last parameter. Default to ~/.aws/credentialsawsProfiler;awsProfiler; // return 'null' if profile doesn't exist// return an object with 'aws_access_key_id' and 'aws_access_key_id' "aws_access_key_id": "123" "aws_secret_access_key": "456"
List profiles
let awsProfiler = ; // AWS credentials file path is optional as the last parameter. Default to ~/.aws/credentialsawsProfiler;awsProfiler; // return a list of all the profiles' name// ['awesomeProfileName', 'something', 'else', 'if', 'exists'];
Delete a profile
let awsProfiler = ; // AWS credentials file path is optional as the last parameter. Default to ~/.aws/credentialsawsProfiler;awsProfiler;
Error
Four customized errors would be thrown.
- If format is invalid.
// error.message:'Invalid AWS credential file. Cannot have nested sessions'
- If one or more values are missing.
// .aws/credentialsbadProfileaws_access_key_id=aws_secret_access_key=idIsMissing // error.message'Invalid AWS credential file. Incomplete key/value pair'
- If input credentials object is invalid.
let missingOneKey = aws_access_key_id: 1 let haveOneExtraKey = aws_access_key_id: 1 aws_secret_access_key: 2 extra: 3 let wrongName = aws_secret_access_key: 2 extra: 3 // error.message'Invalid input: credentials schema is invalid.'
- If require input parameters are missing.
awsProfileHandler;// error.message'Invalid Input: profile name cannot be omitted nor only contains white spaces.' awsProfileHandler;// error.message'Invalid Input: credentials cannot be omitted nor empty.'
Note:
Version 1.X.X is deprecated, the last V1 update was 1.1.0.