Skip to content

Commit 347ce7e

Browse files
aws sdk v3 (#1936)
* update to v3 aws-sdk libs * npx aws-sdk-js-codemod@latest -t v2-to-v3 . * clean up * get tests passing * yarn run lint:js:fix
1 parent 4a79dcb commit 347ce7e

File tree

4 files changed

+954
-255
lines changed

4 files changed

+954
-255
lines changed

lib/cloudfront.js

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ module.exports = CoreObject.extend({
99
this._super();
1010
this._plugin = options.plugin;
1111

12-
var AWS = require('aws-sdk');
12+
const { fromIni } = require('@aws-sdk/credential-providers');
13+
14+
const { CloudFront } = require('@aws-sdk/client-cloudfront');
15+
1316
const accessKeyId = this._plugin.readConfig('accessKeyId');
1417
const secretAccessKey = this._plugin.readConfig('secretAccessKey');
1518
const profile = this._plugin.readConfig('profile');
@@ -23,18 +26,19 @@ module.exports = CoreObject.extend({
2326
}
2427

2528
if (accessKeyId && secretAccessKey) {
26-
awsOptions.accessKeyId = accessKeyId;
27-
awsOptions.secretAccessKey = secretAccessKey;
29+
awsOptions.credentials = {
30+
accessKeyId: accessKeyId,
31+
secretAccessKey: secretAccessKey,
32+
};
2833
}
2934

3035
if (profile) {
3136
this._plugin.log('Using AWS profile from config', { verbose: true });
32-
AWS.config.credentials = new AWS.SharedIniFileCredentials({ profile });
37+
awsOptions.credentials = fromIni({ profile: profile });
3338
}
3439

3540
this._client =
36-
this._plugin.readConfig('cloudfrontClient') ||
37-
new AWS.CloudFront(awsOptions);
41+
this._plugin.readConfig('cloudfrontClient') || new CloudFront(awsOptions);
3842
},
3943

4044
invalidate: function (options) {

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
"test": "node tests/runner.js"
2020
},
2121
"dependencies": {
22-
"aws-sdk": "^2.458.0",
22+
"@aws-sdk/client-cloudfront": "^3.855.0",
23+
"@aws-sdk/credential-providers": "^3.855.0",
2324
"core-object": "^3.1.5",
2425
"ember-cli-deploy-plugin": "~0.2.9",
2526
"rsvp": "^4.8.3",

tests/lib/cloudfront-test.js

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ describe('cloudfront', function () {
5656
});
5757

5858
it('uses the AWS client', function () {
59-
var AWS = require('aws-sdk');
60-
assert.ok(subject._client instanceof AWS.CloudFront);
59+
var { CloudFront } = require('@aws-sdk/client-cloudfront');
60+
assert.ok(subject._client instanceof CloudFront);
6161
});
6262

6363
context('with credentials in plugin config', function () {
@@ -74,14 +74,11 @@ describe('cloudfront', function () {
7474
});
7575

7676
it('uses the configured credentials', function () {
77-
assert.equal(
78-
'set_via_config',
79-
subject._client.config.credentials.accessKeyId
80-
);
81-
assert.equal(
82-
'set_via_config',
83-
subject._client.config.credentials.secretAccessKey
84-
);
77+
let promise = subject._client.config.credentials();
78+
return assert.isFulfilled(promise).then(function (credentials) {
79+
assert.equal('set_via_config', credentials.accessKeyId);
80+
assert.equal('set_via_config', credentials.secretAccessKey);
81+
});
8582
});
8683
});
8784

@@ -92,14 +89,11 @@ describe('cloudfront', function () {
9289
});
9390

9491
it('falls back to default AWS credential resolution', function () {
95-
assert.equal(
96-
'set_via_env_var',
97-
subject._client.config.credentials.accessKeyId
98-
);
99-
assert.equal(
100-
'set_via_env_var',
101-
subject._client.config.credentials.secretAccessKey
102-
);
92+
let promise = subject._client.config.credentials();
93+
return assert.isFulfilled(promise).then(function (credentials) {
94+
assert.equal('set_via_env_var', credentials.accessKeyId);
95+
assert.equal('set_via_env_var', credentials.secretAccessKey);
96+
});
10397
});
10498
});
10599
});

0 commit comments

Comments
 (0)