https://github.com/perry-mitchell/aws-get-credentials
Create an AWS credentials instance from local credentials
https://github.com/perry-mitchell/aws-get-credentials
amazon-web-services aws aws-credentials aws-profile aws-sdk
Last synced: 29 days ago
JSON representation
Create an AWS credentials instance from local credentials
- Host: GitHub
- URL: https://github.com/perry-mitchell/aws-get-credentials
- Owner: perry-mitchell
- License: mit
- Created: 2017-04-21T10:12:08.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-04-24T23:25:36.000Z (about 2 years ago)
- Last Synced: 2025-04-17T11:54:53.652Z (about 2 months ago)
- Topics: amazon-web-services, aws, aws-credentials, aws-profile, aws-sdk
- Language: JavaScript
- Size: 194 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# aws-get-credentials
> Create an AWS credentials instance from local credentials[](https://www.npmjs.com/package/aws-get-credentials) [](https://travis-ci.org/perry-mitchell/aws-get-credentials)
## About
Fetch a credentials instance from your local machine using a very simple fetcher method.
Avoid hardcoding and commiting secure information by using [AWS' credentials file](http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-config-files) for configuration. Some AWS client libraries automatically read this file, but some do not. **aws-get-credentials** provides a quick and easy method to retrieve a credential file's config.
## Usage
The `aws-get-credentials` module exports two methods:
* `getAWSCredentials` - Fetch an AWS `Credentials` instance from local configuration
* `getAWSProfiles` - Get an array of profile names availableCheck out the [API documentation](API.md) for more information.
### getAWSCredentials
The method `getAWSCredentials` takes two parameters:
```javascript
getAWSCredentials(
optionalProfileOverride,
optionalPathOverride,
useEnvironmentVariables = false
) // => Promise.
````optionalProfileOverride` is an optional override for the profile to use (defaults to an environment variable `AWS_DEFAULT_PROFILE` first, then "default" lastly). `optionalPathOverride` is an optional override for the path to the credentials file (defaults to an environment variable `AWS_CREDENTIALS_PATH` first, and then `~/.aws/credentials` lastly).
Providing `true` for the 3rd parameter, "useEnvironmentVariables", tells `getAWSCredentials` to return a `Credentials` instance using the available environment variables _instead_ of trying to read from the local credentials file.
#### Example
Firstly, import the function:
```javascript
const { getAWSCredentials } = require("aws-get-credentials");
```Then use its output (promise):
```javascript
const s3 = require("s3"); // example librarygetAWSCredentials("production")
.then(function(credentials) {
const s3Client = s3.createClient({
s3Options: {
credentials
}
});
const syncOptions = {};
const uploader = s3Client.uploadDir(syncOptions);
return new Promise(function(resolve, reject) {
uploader.on("error", reject);
uploader.on("end", resolve);
});
});
```### getAWSProfiles
This method asynchronously fetches a list of profile names in the credentials file:
```javascript
const { getAWSProfiles } = require("aws-get-credentials");getAWSProfiles().then(profiles => {
// [
// "company-prod",
// "company-stag",
// "default"
// ]
});
```