-
Notifications
You must be signed in to change notification settings - Fork 184
/
Copy pathaws.js
38 lines (30 loc) · 846 Bytes
/
aws.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
'use strict'
const aws = require('aws-sdk')
const proxy = require('proxy-agent')
module.exports = {
sdk: aws,
updateConfig (config, region) {
const awsSecurity = { region }
if (config.profile) {
aws.config.credentials = new aws.SharedIniFileCredentials({
profile: config.profile
})
} else {
awsSecurity.accessKeyId = config.accessKey
awsSecurity.secretAccessKey = config.secretKey
}
if (config.sessionToken) {
awsSecurity.sessionToken = config.sessionToken
}
if (config.deployTimeout) {
aws.config.httpOptions.timeout = parseInt(config.deployTimeout)
}
if (config.proxy) {
aws.config.httpOptions.agent = proxy(config.proxy)
}
if (config.endpoint) {
aws.config.endpoint = config.endpoint
}
aws.config.update(awsSecurity)
}
}