serverless-spy
Version:
CDK-based library for writing elegant integration tests on AWS serverless architecture and an additional web console to monitor events in real time.
106 lines (87 loc) • 2.8 kB
Markdown
//img.shields.io/npm/v/@smithy/shared-ini-file-loader/latest.svg)](https://www.npmjs.com/package/@smithy/shared-ini-file-loader)
[](https://www.npmjs.com/package/@smithy/shared-ini-file-loader)
This module provides a function that reads from AWS SDK configuration files and
returns a promise that will resolve with a hash of the parsed contents of the
AWS credentials file and of the AWS config file. Given the [sample
files](
would resolve with:
```javascript
{
configFile: {
'default': {
aws_access_key_id: 'foo',
aws_secret_access_key: 'bar',
},
dev: {
aws_access_key_id: 'foo1',
aws_secret_access_key: 'bar1',
},
prod: {
aws_access_key_id: 'foo2',
aws_secret_access_key: 'bar2',
},
'testing host': {
aws_access_key_id: 'foo4',
aws_secret_access_key: 'bar4',
}
},
credentialsFile: {
'default': {
aws_access_key_id: 'foo',
aws_secret_access_key: 'bar',
},
dev: {
aws_access_key_id: 'foo1',
aws_secret_access_key: 'bar1',
},
prod: {
aws_access_key_id: 'foo2',
aws_secret_access_key: 'bar2',
}
},
}
```
If a file is not found, its key (`configFile` or `credentialsFile`) will instead
have a value of an empty object.
## Supported configuration
You may customize how the files are loaded by providing an options hash to the
`loadSharedConfigFiles` function. The following options are supported:
- `filepath` - The path to the shared credentials file. If not specified, the
provider will use the value in the `AWS_SHARED_CREDENTIALS_FILE` environment
variable or a default of `~/.aws/credentials`.
- `configFilepath` - The path to the shared config file. If not specified, the
provider will use the value in the `AWS_CONFIG_FILE` environment variable or a
default of `~/.aws/config`.
- `ignoreCache` - The provider will normally cache the contents of the files it
loads. This option will force the provider to reload the files from disk.
Defaults to `false`.
## Sample files
### `~/.aws/credentials`
```ini
[default]
aws_access_key_id=foo
aws_secret_access_key=bar
[ ]
aws_access_key_id=foo2
aws_secret_access_key=bar2
[ ]
aws_access_key_id=foo3
aws_secret_access_key=bar3
```
```ini
[ ]
aws_access_key_id=foo
aws_secret_access_key=bar
[ ]
aws_access_key_id=foo2
aws_secret_access_key=bar2
[ ]
aws_access_key_id=foo3
aws_secret_access_key=bar3
[ ]
aws_access_key_id=foo4
aws_secret_access_key=bar4
```
[![NPM version](https: