@aws-sdk/middleware-sdk-rds 3.31.0 → 3.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -0
- package/dist-cjs/fixture.js +26 -0
- package/dist-cjs/index.js +88 -0
- package/dist-es/fixture.js +26 -0
- package/dist-es/index.js +92 -0
- package/{dist/types → dist-types}/fixture.d.ts +0 -0
- package/{dist/types → dist-types}/index.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/fixture.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/index.d.ts +0 -0
- package/package.json +14 -13
- package/tsconfig.cjs.json +3 -4
- package/tsconfig.es.json +3 -4
- package/tsconfig.types.json +9 -0
- package/dist/cjs/fixture.js +0 -28
- package/dist/cjs/index.js +0 -93
- package/dist/es/fixture.js +0 -28
- package/dist/es/index.js +0 -97
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,41 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.35.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.34.0...v3.35.0) (2021-10-04)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @aws-sdk/middleware-sdk-rds
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [3.34.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.33.0...v3.34.0) (2021-09-24)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* **non-clients:** remove comments from transpiled JS files ([#2813](https://github.com/aws/aws-sdk-js-v3/issues/2813)) ([e6fc7f3](https://github.com/aws/aws-sdk-js-v3/commit/e6fc7f3e0fa74785590ac19e7ed143c916bb9b6e))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# [3.33.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.32.0...v3.33.0) (2021-09-21)
|
|
26
|
+
|
|
27
|
+
**Note:** Version bump only for package @aws-sdk/middleware-sdk-rds
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# [3.32.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.31.0...v3.32.0) (2021-09-17)
|
|
34
|
+
|
|
35
|
+
**Note:** Version bump only for package @aws-sdk/middleware-sdk-rds
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
6
41
|
# [3.31.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.30.0...v3.31.0) (2021-09-11)
|
|
7
42
|
|
|
8
43
|
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.credentials = exports.endpoint = exports.region = exports.MockSha256 = void 0;
|
|
4
|
+
class MockSha256 {
|
|
5
|
+
constructor(secret) { }
|
|
6
|
+
update(data) { }
|
|
7
|
+
digest() {
|
|
8
|
+
return Promise.resolve(new Uint8Array(5));
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.MockSha256 = MockSha256;
|
|
12
|
+
const region = () => Promise.resolve("mock-region");
|
|
13
|
+
exports.region = region;
|
|
14
|
+
const endpoint = () => Promise.resolve({
|
|
15
|
+
protocol: "https:",
|
|
16
|
+
path: "/",
|
|
17
|
+
hostname: "ec2.mock-region.amazonaws.com",
|
|
18
|
+
});
|
|
19
|
+
exports.endpoint = endpoint;
|
|
20
|
+
const credentials = () => Promise.resolve({
|
|
21
|
+
accessKeyId: "akid",
|
|
22
|
+
secretAccessKey: "secret",
|
|
23
|
+
sessionToken: "session",
|
|
24
|
+
});
|
|
25
|
+
exports.credentials = credentials;
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQWEsVUFBVTtJQUVyQixZQUFZLE1BQStDLElBQUcsQ0FBQztJQUUvRCxNQUFNLENBQUMsSUFBaUIsSUFBRyxDQUFDO0lBQzVCLE1BQU07UUFDSixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0Y7QUFSRCxnQ0FRQztBQUVNLE1BQU0sTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7QUFBOUMsUUFBQSxNQUFNLFVBQXdDO0FBRXBELE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRSxDQUMzQixPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ2QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLEdBQUc7SUFDVCxRQUFRLEVBQUUsK0JBQStCO0NBQzFDLENBQUMsQ0FBQztBQUxRLFFBQUEsUUFBUSxZQUtoQjtBQUVFLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxDQUM5QixPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ2QsV0FBVyxFQUFFLE1BQU07SUFDbkIsZUFBZSxFQUFFLFFBQVE7SUFDekIsWUFBWSxFQUFFLFNBQVM7Q0FDeEIsQ0FBQyxDQUFDO0FBTFEsUUFBQSxXQUFXLGVBS25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU291cmNlRGF0YSB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgY2xhc3MgTW9ja1NoYTI1NiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgY29uc3RydWN0b3Ioc2VjcmV0Pzogc3RyaW5nIHwgQXJyYXlCdWZmZXIgfCBBcnJheUJ1ZmZlclZpZXcpIHt9XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgdXBkYXRlKGRhdGE/OiBTb3VyY2VEYXRhKSB7fVxuICBkaWdlc3QoKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgVWludDhBcnJheSg1KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHJlZ2lvbiA9ICgpID0+IFByb21pc2UucmVzb2x2ZShcIm1vY2stcmVnaW9uXCIpO1xuXG5leHBvcnQgY29uc3QgZW5kcG9pbnQgPSAoKSA9PlxuICBQcm9taXNlLnJlc29sdmUoe1xuICAgIHByb3RvY29sOiBcImh0dHBzOlwiLFxuICAgIHBhdGg6IFwiL1wiLFxuICAgIGhvc3RuYW1lOiBcImVjMi5tb2NrLXJlZ2lvbi5hbWF6b25hd3MuY29tXCIsXG4gIH0pO1xuXG5leHBvcnQgY29uc3QgY3JlZGVudGlhbHMgPSAoKSA9PlxuICBQcm9taXNlLnJlc29sdmUoe1xuICAgIGFjY2Vzc0tleUlkOiBcImFraWRcIixcbiAgICBzZWNyZXRBY2Nlc3NLZXk6IFwic2VjcmV0XCIsXG4gICAgc2Vzc2lvblRva2VuOiBcInNlc3Npb25cIixcbiAgfSk7XG4iXX0=
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCrossRegionPresignedUrlPlugin = exports.crossRegionPresignedUrlMiddlewareOptions = exports.crossRegionPresignedUrlMiddleware = void 0;
|
|
4
|
+
const protocol_http_1 = require("@aws-sdk/protocol-http");
|
|
5
|
+
const signature_v4_1 = require("@aws-sdk/signature-v4");
|
|
6
|
+
const util_format_url_1 = require("@aws-sdk/util-format-url");
|
|
7
|
+
const regARN = /arn:[\w+=/,.@-]+:[\w+=/,.@-]+:([\w+=/,.@-]*)?:[0-9]+:[\w+=/,.@-]+(:[\w+=/,.@-]+)?(:[\w+=/,.@-]+)?/;
|
|
8
|
+
const sourceIdToCommandKeyMap = {
|
|
9
|
+
SourceDBSnapshotIdentifier: "CopyDBSnapshot",
|
|
10
|
+
SourceDBInstanceIdentifier: "CreateDBInstanceReadReplica",
|
|
11
|
+
ReplicationSourceIdentifier: "CreateDBCluster",
|
|
12
|
+
SourceDBClusterSnapshotIdentifier: "CopyDBClusterSnapshot",
|
|
13
|
+
SourceDBInstanceArn: "StartDBInstanceAutomatedBackupsReplication",
|
|
14
|
+
};
|
|
15
|
+
const version = "2014-10-31";
|
|
16
|
+
function crossRegionPresignedUrlMiddleware(options) {
|
|
17
|
+
return (next) => async (args) => {
|
|
18
|
+
const { input } = args;
|
|
19
|
+
const region = await options.region();
|
|
20
|
+
const sourceIdKey = Object.keys(sourceIdToCommandKeyMap).filter((sourceKeyId) => input.hasOwnProperty(sourceKeyId))[0];
|
|
21
|
+
if (!sourceIdKey)
|
|
22
|
+
return next(args);
|
|
23
|
+
const command = sourceIdToCommandKeyMap[sourceIdKey];
|
|
24
|
+
if (!input.PreSignedUrl && isARN(input[sourceIdKey]) && region !== getEndpointFromARN(input[sourceIdKey])) {
|
|
25
|
+
const sourceRegion = getEndpointFromARN(input[sourceIdKey]);
|
|
26
|
+
const resolvedEndpoint = await options.endpoint();
|
|
27
|
+
resolvedEndpoint.hostname = `rds.${sourceRegion}.amazonaws.com`;
|
|
28
|
+
const request = new protocol_http_1.HttpRequest({
|
|
29
|
+
...resolvedEndpoint,
|
|
30
|
+
protocol: "https",
|
|
31
|
+
headers: {
|
|
32
|
+
host: resolvedEndpoint.hostname,
|
|
33
|
+
},
|
|
34
|
+
query: {
|
|
35
|
+
Action: command,
|
|
36
|
+
Version: version,
|
|
37
|
+
KmsKeyId: input.KmsKeyId,
|
|
38
|
+
DestinationRegion: region,
|
|
39
|
+
[sourceIdKey]: input[sourceIdKey],
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
const signer = new signature_v4_1.SignatureV4({
|
|
43
|
+
credentials: options.credentials,
|
|
44
|
+
region: sourceRegion,
|
|
45
|
+
service: "rds",
|
|
46
|
+
sha256: options.sha256,
|
|
47
|
+
uriEscapePath: options.signingEscapePath,
|
|
48
|
+
});
|
|
49
|
+
const presignedRequest = await signer.presign(request, {
|
|
50
|
+
expiresIn: 3600,
|
|
51
|
+
});
|
|
52
|
+
args = {
|
|
53
|
+
...args,
|
|
54
|
+
input: {
|
|
55
|
+
...args.input,
|
|
56
|
+
PreSignedUrl: util_format_url_1.formatUrl(presignedRequest),
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
return next(args);
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
exports.crossRegionPresignedUrlMiddleware = crossRegionPresignedUrlMiddleware;
|
|
64
|
+
exports.crossRegionPresignedUrlMiddlewareOptions = {
|
|
65
|
+
step: "initialize",
|
|
66
|
+
tags: ["CROSS_REGION_PRESIGNED_URL"],
|
|
67
|
+
name: "crossRegionPresignedUrlMiddleware",
|
|
68
|
+
override: true,
|
|
69
|
+
};
|
|
70
|
+
const getCrossRegionPresignedUrlPlugin = (config) => ({
|
|
71
|
+
applyToStack: (clientStack) => {
|
|
72
|
+
clientStack.add(crossRegionPresignedUrlMiddleware(config), exports.crossRegionPresignedUrlMiddlewareOptions);
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
exports.getCrossRegionPresignedUrlPlugin = getCrossRegionPresignedUrlPlugin;
|
|
76
|
+
function isARN(id) {
|
|
77
|
+
if (!id)
|
|
78
|
+
return false;
|
|
79
|
+
return regARN.test(id);
|
|
80
|
+
}
|
|
81
|
+
function getEndpointFromARN(arn) {
|
|
82
|
+
const arnArr = arn.split(":");
|
|
83
|
+
if (arnArr.length < 4) {
|
|
84
|
+
throw new Error(`Cannot infer endpoint from '${arn}'`);
|
|
85
|
+
}
|
|
86
|
+
return arnArr[3];
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQXFEO0FBQ3JELHdEQUFvRDtBQWNwRCw4REFBcUQ7QUFFckQsTUFBTSxNQUFNLEdBQUcsbUdBQW1HLENBQUM7QUFFbkgsTUFBTSx1QkFBdUIsR0FBOEI7SUFDekQsMEJBQTBCLEVBQUUsZ0JBQWdCO0lBQzVDLDBCQUEwQixFQUFFLDZCQUE2QjtJQUN6RCwyQkFBMkIsRUFBRSxpQkFBaUI7SUFDOUMsaUNBQWlDLEVBQUUsdUJBQXVCO0lBQzFELG1CQUFtQixFQUFFLDRDQUE0QztDQUNsRSxDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDO0FBYzdCLFNBQWdCLGlDQUFpQyxDQUFDLE9BQTJCO0lBQzNFLE9BQU8sQ0FBZ0MsSUFBb0MsRUFBa0MsRUFBRSxDQUM3RyxLQUFLLEVBQUUsSUFBcUMsRUFBNEMsRUFBRTtRQUN4RixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUM5RSxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxNQUFNLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksTUFBTSxLQUFLLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFO1lBQ3pHLE1BQU0sWUFBWSxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzVELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEQsZ0JBQWdCLENBQUMsUUFBUSxHQUFHLE9BQU8sWUFBWSxnQkFBZ0IsQ0FBQztZQUNoRSxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFXLENBQUM7Z0JBQzlCLEdBQUcsZ0JBQWdCO2dCQUNuQixRQUFRLEVBQUUsT0FBTztnQkFDakIsT0FBTyxFQUFFO29CQUNQLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRO2lCQUNoQztnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsTUFBTSxFQUFFLE9BQU87b0JBQ2YsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtvQkFDeEIsaUJBQWlCLEVBQUUsTUFBTTtvQkFDekIsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDO2lCQUNsQzthQUNGLENBQUMsQ0FBQztZQUNILE1BQU0sTUFBTSxHQUFHLElBQUksMEJBQVcsQ0FBQztnQkFDN0IsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO2dCQUNoQyxNQUFNLEVBQUUsWUFBWTtnQkFDcEIsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2dCQUN0QixhQUFhLEVBQUUsT0FBTyxDQUFDLGlCQUFpQjthQUN6QyxDQUFDLENBQUM7WUFDSCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQ3JELFNBQVMsRUFBRSxJQUFJO2FBQ2hCLENBQUMsQ0FBQztZQUNILElBQUksR0FBRztnQkFDTCxHQUFHLElBQUk7Z0JBQ1AsS0FBSyxFQUFFO29CQUNMLEdBQUcsSUFBSSxDQUFDLEtBQUs7b0JBQ2IsWUFBWSxFQUFFLDJCQUFTLENBQUMsZ0JBQWdCLENBQUM7aUJBQzFDO2FBQ0YsQ0FBQztTQUNIO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQWxERCw4RUFrREM7QUFFWSxRQUFBLHdDQUF3QyxHQUE2QjtJQUNoRixJQUFJLEVBQUUsWUFBWTtJQUNsQixJQUFJLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztJQUNwQyxJQUFJLEVBQUUsbUNBQW1DO0lBQ3pDLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVLLE1BQU0sZ0NBQWdDLEdBQUcsQ0FBQyxNQUEwQixFQUF1QixFQUFFLENBQUMsQ0FBQztJQUNwRyxZQUFZLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUM1QixXQUFXLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLGdEQUF3QyxDQUFDLENBQUM7SUFDdkcsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUpVLFFBQUEsZ0NBQWdDLG9DQUkxQztBQUVILFNBQVMsS0FBSyxDQUFDLEVBQXNCO0lBQ25DLElBQUksQ0FBQyxFQUFFO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDdEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3pCLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLEdBQVc7SUFDckMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEdBQUcsR0FBRyxDQUFDLENBQUM7S0FDeEQ7SUFDRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGF3cy1zZGsvcHJvdG9jb2wtaHR0cFwiO1xuaW1wb3J0IHsgU2lnbmF0dXJlVjQgfSBmcm9tIFwiQGF3cy1zZGsvc2lnbmF0dXJlLXY0XCI7XG5pbXBvcnQge1xuICBDcmVkZW50aWFscyxcbiAgRW5kcG9pbnQsXG4gIEhhc2hDb25zdHJ1Y3RvcixcbiAgSW5pdGlhbGl6ZUhhbmRsZXIsXG4gIEluaXRpYWxpemVIYW5kbGVyQXJndW1lbnRzLFxuICBJbml0aWFsaXplSGFuZGxlck9wdGlvbnMsXG4gIEluaXRpYWxpemVIYW5kbGVyT3V0cHV0LFxuICBJbml0aWFsaXplTWlkZGxld2FyZSxcbiAgTWV0YWRhdGFCZWFyZXIsXG4gIFBsdWdnYWJsZSxcbiAgUHJvdmlkZXIsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgZm9ybWF0VXJsIH0gZnJvbSBcIkBhd3Mtc2RrL3V0aWwtZm9ybWF0LXVybFwiO1xuXG5jb25zdCByZWdBUk4gPSAvYXJuOltcXHcrPS8sLkAtXSs6W1xcdys9LywuQC1dKzooW1xcdys9LywuQC1dKik/OlswLTldKzpbXFx3Kz0vLC5ALV0rKDpbXFx3Kz0vLC5ALV0rKT8oOltcXHcrPS8sLkAtXSspPy87XG5cbmNvbnN0IHNvdXJjZUlkVG9Db21tYW5kS2V5TWFwOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICBTb3VyY2VEQlNuYXBzaG90SWRlbnRpZmllcjogXCJDb3B5REJTbmFwc2hvdFwiLFxuICBTb3VyY2VEQkluc3RhbmNlSWRlbnRpZmllcjogXCJDcmVhdGVEQkluc3RhbmNlUmVhZFJlcGxpY2FcIixcbiAgUmVwbGljYXRpb25Tb3VyY2VJZGVudGlmaWVyOiBcIkNyZWF0ZURCQ2x1c3RlclwiLCAvLyBUaGlzIGtleSBpcyBvcHRpb25hbC5cbiAgU291cmNlREJDbHVzdGVyU25hcHNob3RJZGVudGlmaWVyOiBcIkNvcHlEQkNsdXN0ZXJTbmFwc2hvdFwiLFxuICBTb3VyY2VEQkluc3RhbmNlQXJuOiBcIlN0YXJ0REJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvblwiLFxufTtcblxuY29uc3QgdmVyc2lvbiA9IFwiMjAxNC0xMC0zMVwiO1xuXG5pbnRlcmZhY2UgUHJldmlvdXNseVJlc29sdmVkIHtcbiAgY3JlZGVudGlhbHM6IFByb3ZpZGVyPENyZWRlbnRpYWxzPjtcbiAgZW5kcG9pbnQ6IFByb3ZpZGVyPEVuZHBvaW50PjtcbiAgcmVnaW9uOiBQcm92aWRlcjxzdHJpbmc+O1xuICBzaGEyNTY6IEhhc2hDb25zdHJ1Y3RvcjtcbiAgc2lnbmluZ0VzY2FwZVBhdGg6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ29uZmlnIG9mIHRoZSBtaWRkbGV3YXJlIHRvIGF1dG9tYXRpY2FsbHkgYWRkIHByZXNpZ25lZCBVUkwgdG8gcmVxdWVzdC5cbiAqIFRoZSBwcmVzaWduZWQgVVJMIGlzIGdlbmVyYXRlZCBieSBzaWdWNFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3Jvc3NSZWdpb25QcmVzaWduZWRVcmxNaWRkbGV3YXJlKG9wdGlvbnM6IFByZXZpb3VzbHlSZXNvbHZlZCk6IEluaXRpYWxpemVNaWRkbGV3YXJlPGFueSwgYW55PiB7XG4gIHJldHVybiA8T3V0cHV0IGV4dGVuZHMgTWV0YWRhdGFCZWFyZXI+KG5leHQ6IEluaXRpYWxpemVIYW5kbGVyPGFueSwgT3V0cHV0Pik6IEluaXRpYWxpemVIYW5kbGVyPGFueSwgT3V0cHV0PiA9PlxuICAgIGFzeW5jIChhcmdzOiBJbml0aWFsaXplSGFuZGxlckFyZ3VtZW50czxhbnk+KTogUHJvbWlzZTxJbml0aWFsaXplSGFuZGxlck91dHB1dDxPdXRwdXQ+PiA9PiB7XG4gICAgICBjb25zdCB7IGlucHV0IH0gPSBhcmdzO1xuICAgICAgY29uc3QgcmVnaW9uID0gYXdhaXQgb3B0aW9ucy5yZWdpb24oKTtcbiAgICAgIGNvbnN0IHNvdXJjZUlkS2V5ID0gT2JqZWN0LmtleXMoc291cmNlSWRUb0NvbW1hbmRLZXlNYXApLmZpbHRlcigoc291cmNlS2V5SWQpID0+XG4gICAgICAgIGlucHV0Lmhhc093blByb3BlcnR5KHNvdXJjZUtleUlkKVxuICAgICAgKVswXTtcbiAgICAgIC8vIFNvdXJjZSBpZCBpcyBvcHRpb25hbC5cbiAgICAgIGlmICghc291cmNlSWRLZXkpIHJldHVybiBuZXh0KGFyZ3MpO1xuXG4gICAgICBjb25zdCBjb21tYW5kID0gc291cmNlSWRUb0NvbW1hbmRLZXlNYXBbc291cmNlSWRLZXldO1xuICAgICAgaWYgKCFpbnB1dC5QcmVTaWduZWRVcmwgJiYgaXNBUk4oaW5wdXRbc291cmNlSWRLZXldKSAmJiByZWdpb24gIT09IGdldEVuZHBvaW50RnJvbUFSTihpbnB1dFtzb3VyY2VJZEtleV0pKSB7XG4gICAgICAgIGNvbnN0IHNvdXJjZVJlZ2lvbiA9IGdldEVuZHBvaW50RnJvbUFSTihpbnB1dFtzb3VyY2VJZEtleV0pO1xuICAgICAgICBjb25zdCByZXNvbHZlZEVuZHBvaW50ID0gYXdhaXQgb3B0aW9ucy5lbmRwb2ludCgpO1xuICAgICAgICByZXNvbHZlZEVuZHBvaW50Lmhvc3RuYW1lID0gYHJkcy4ke3NvdXJjZVJlZ2lvbn0uYW1hem9uYXdzLmNvbWA7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgSHR0cFJlcXVlc3Qoe1xuICAgICAgICAgIC4uLnJlc29sdmVkRW5kcG9pbnQsXG4gICAgICAgICAgcHJvdG9jb2w6IFwiaHR0cHNcIixcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICBob3N0OiByZXNvbHZlZEVuZHBvaW50Lmhvc3RuYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcXVlcnk6IHtcbiAgICAgICAgICAgIEFjdGlvbjogY29tbWFuZCxcbiAgICAgICAgICAgIFZlcnNpb246IHZlcnNpb24sXG4gICAgICAgICAgICBLbXNLZXlJZDogaW5wdXQuS21zS2V5SWQsXG4gICAgICAgICAgICBEZXN0aW5hdGlvblJlZ2lvbjogcmVnaW9uLFxuICAgICAgICAgICAgW3NvdXJjZUlkS2V5XTogaW5wdXRbc291cmNlSWRLZXldLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzaWduZXIgPSBuZXcgU2lnbmF0dXJlVjQoe1xuICAgICAgICAgIGNyZWRlbnRpYWxzOiBvcHRpb25zLmNyZWRlbnRpYWxzLFxuICAgICAgICAgIHJlZ2lvbjogc291cmNlUmVnaW9uLFxuICAgICAgICAgIHNlcnZpY2U6IFwicmRzXCIsXG4gICAgICAgICAgc2hhMjU2OiBvcHRpb25zLnNoYTI1NixcbiAgICAgICAgICB1cmlFc2NhcGVQYXRoOiBvcHRpb25zLnNpZ25pbmdFc2NhcGVQYXRoLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcHJlc2lnbmVkUmVxdWVzdCA9IGF3YWl0IHNpZ25lci5wcmVzaWduKHJlcXVlc3QsIHtcbiAgICAgICAgICBleHBpcmVzSW46IDM2MDAsXG4gICAgICAgIH0pO1xuICAgICAgICBhcmdzID0ge1xuICAgICAgICAgIC4uLmFyZ3MsXG4gICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgIC4uLmFyZ3MuaW5wdXQsXG4gICAgICAgICAgICBQcmVTaWduZWRVcmw6IGZvcm1hdFVybChwcmVzaWduZWRSZXF1ZXN0KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5leHQoYXJncyk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGNyb3NzUmVnaW9uUHJlc2lnbmVkVXJsTWlkZGxld2FyZU9wdGlvbnM6IEluaXRpYWxpemVIYW5kbGVyT3B0aW9ucyA9IHtcbiAgc3RlcDogXCJpbml0aWFsaXplXCIsXG4gIHRhZ3M6IFtcIkNST1NTX1JFR0lPTl9QUkVTSUdORURfVVJMXCJdLFxuICBuYW1lOiBcImNyb3NzUmVnaW9uUHJlc2lnbmVkVXJsTWlkZGxld2FyZVwiLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDcm9zc1JlZ2lvblByZXNpZ25lZFVybFBsdWdpbiA9IChjb25maWc6IFByZXZpb3VzbHlSZXNvbHZlZCk6IFBsdWdnYWJsZTxhbnksIGFueT4gPT4gKHtcbiAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGQoY3Jvc3NSZWdpb25QcmVzaWduZWRVcmxNaWRkbGV3YXJlKGNvbmZpZyksIGNyb3NzUmVnaW9uUHJlc2lnbmVkVXJsTWlkZGxld2FyZU9wdGlvbnMpO1xuICB9LFxufSk7XG5cbmZ1bmN0aW9uIGlzQVJOKGlkOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgaWYgKCFpZCkgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gcmVnQVJOLnRlc3QoaWQpO1xufVxuXG5mdW5jdGlvbiBnZXRFbmRwb2ludEZyb21BUk4oYXJuOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBhcm5BcnIgPSBhcm4uc3BsaXQoXCI6XCIpO1xuICBpZiAoYXJuQXJyLmxlbmd0aCA8IDQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBpbmZlciBlbmRwb2ludCBmcm9tICcke2Fybn0nYCk7XG4gIH1cbiAgcmV0dXJuIGFybkFyclszXTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
var MockSha256 = (function () {
|
|
2
|
+
function MockSha256(secret) {
|
|
3
|
+
}
|
|
4
|
+
MockSha256.prototype.update = function (data) { };
|
|
5
|
+
MockSha256.prototype.digest = function () {
|
|
6
|
+
return Promise.resolve(new Uint8Array(5));
|
|
7
|
+
};
|
|
8
|
+
return MockSha256;
|
|
9
|
+
}());
|
|
10
|
+
export { MockSha256 };
|
|
11
|
+
export var region = function () { return Promise.resolve("mock-region"); };
|
|
12
|
+
export var endpoint = function () {
|
|
13
|
+
return Promise.resolve({
|
|
14
|
+
protocol: "https:",
|
|
15
|
+
path: "/",
|
|
16
|
+
hostname: "ec2.mock-region.amazonaws.com",
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
export var credentials = function () {
|
|
20
|
+
return Promise.resolve({
|
|
21
|
+
accessKeyId: "akid",
|
|
22
|
+
secretAccessKey: "secret",
|
|
23
|
+
sessionToken: "session",
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0lBRUUsb0JBQVksTUFBK0M7SUFBRyxDQUFDO0lBRS9ELDJCQUFNLEdBQU4sVUFBTyxJQUFpQixJQUFHLENBQUM7SUFDNUIsMkJBQU0sR0FBTjtRQUNFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDSCxpQkFBQztBQUFELENBQUMsQUFSRCxJQVFDOztBQUVELE1BQU0sQ0FBQyxJQUFNLE1BQU0sR0FBRyxjQUFNLE9BQUEsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBOUIsQ0FBOEIsQ0FBQztBQUUzRCxNQUFNLENBQUMsSUFBTSxRQUFRLEdBQUc7SUFDdEIsT0FBQSxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsSUFBSSxFQUFFLEdBQUc7UUFDVCxRQUFRLEVBQUUsK0JBQStCO0tBQzFDLENBQUM7QUFKRixDQUlFLENBQUM7QUFFTCxNQUFNLENBQUMsSUFBTSxXQUFXLEdBQUc7SUFDekIsT0FBQSxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ2QsV0FBVyxFQUFFLE1BQU07UUFDbkIsZUFBZSxFQUFFLFFBQVE7UUFDekIsWUFBWSxFQUFFLFNBQVM7S0FDeEIsQ0FBQztBQUpGLENBSUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvdXJjZURhdGEgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGNsYXNzIE1vY2tTaGEyNTYge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIGNvbnN0cnVjdG9yKHNlY3JldD86IHN0cmluZyB8IEFycmF5QnVmZmVyIHwgQXJyYXlCdWZmZXJWaWV3KSB7fVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHVwZGF0ZShkYXRhPzogU291cmNlRGF0YSkge31cbiAgZGlnZXN0KCkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobmV3IFVpbnQ4QXJyYXkoNSkpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCByZWdpb24gPSAoKSA9PiBQcm9taXNlLnJlc29sdmUoXCJtb2NrLXJlZ2lvblwiKTtcblxuZXhwb3J0IGNvbnN0IGVuZHBvaW50ID0gKCkgPT5cbiAgUHJvbWlzZS5yZXNvbHZlKHtcbiAgICBwcm90b2NvbDogXCJodHRwczpcIixcbiAgICBwYXRoOiBcIi9cIixcbiAgICBob3N0bmFtZTogXCJlYzIubW9jay1yZWdpb24uYW1hem9uYXdzLmNvbVwiLFxuICB9KTtcblxuZXhwb3J0IGNvbnN0IGNyZWRlbnRpYWxzID0gKCkgPT5cbiAgUHJvbWlzZS5yZXNvbHZlKHtcbiAgICBhY2Nlc3NLZXlJZDogXCJha2lkXCIsXG4gICAgc2VjcmV0QWNjZXNzS2V5OiBcInNlY3JldFwiLFxuICAgIHNlc3Npb25Ub2tlbjogXCJzZXNzaW9uXCIsXG4gIH0pO1xuIl19
|
package/dist-es/index.js
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { __assign, __awaiter, __generator } from "tslib";
|
|
2
|
+
import { HttpRequest } from "@aws-sdk/protocol-http";
|
|
3
|
+
import { SignatureV4 } from "@aws-sdk/signature-v4";
|
|
4
|
+
import { formatUrl } from "@aws-sdk/util-format-url";
|
|
5
|
+
var regARN = /arn:[\w+=/,.@-]+:[\w+=/,.@-]+:([\w+=/,.@-]*)?:[0-9]+:[\w+=/,.@-]+(:[\w+=/,.@-]+)?(:[\w+=/,.@-]+)?/;
|
|
6
|
+
var sourceIdToCommandKeyMap = {
|
|
7
|
+
SourceDBSnapshotIdentifier: "CopyDBSnapshot",
|
|
8
|
+
SourceDBInstanceIdentifier: "CreateDBInstanceReadReplica",
|
|
9
|
+
ReplicationSourceIdentifier: "CreateDBCluster",
|
|
10
|
+
SourceDBClusterSnapshotIdentifier: "CopyDBClusterSnapshot",
|
|
11
|
+
SourceDBInstanceArn: "StartDBInstanceAutomatedBackupsReplication",
|
|
12
|
+
};
|
|
13
|
+
var version = "2014-10-31";
|
|
14
|
+
export function crossRegionPresignedUrlMiddleware(options) {
|
|
15
|
+
var _this = this;
|
|
16
|
+
return function (next) {
|
|
17
|
+
return function (args) { return __awaiter(_this, void 0, void 0, function () {
|
|
18
|
+
var input, region, sourceIdKey, command, sourceRegion, resolvedEndpoint, request, signer, presignedRequest;
|
|
19
|
+
var _a;
|
|
20
|
+
return __generator(this, function (_b) {
|
|
21
|
+
switch (_b.label) {
|
|
22
|
+
case 0:
|
|
23
|
+
input = args.input;
|
|
24
|
+
return [4, options.region()];
|
|
25
|
+
case 1:
|
|
26
|
+
region = _b.sent();
|
|
27
|
+
sourceIdKey = Object.keys(sourceIdToCommandKeyMap).filter(function (sourceKeyId) {
|
|
28
|
+
return input.hasOwnProperty(sourceKeyId);
|
|
29
|
+
})[0];
|
|
30
|
+
if (!sourceIdKey)
|
|
31
|
+
return [2, next(args)];
|
|
32
|
+
command = sourceIdToCommandKeyMap[sourceIdKey];
|
|
33
|
+
if (!(!input.PreSignedUrl && isARN(input[sourceIdKey]) && region !== getEndpointFromARN(input[sourceIdKey]))) return [3, 4];
|
|
34
|
+
sourceRegion = getEndpointFromARN(input[sourceIdKey]);
|
|
35
|
+
return [4, options.endpoint()];
|
|
36
|
+
case 2:
|
|
37
|
+
resolvedEndpoint = _b.sent();
|
|
38
|
+
resolvedEndpoint.hostname = "rds." + sourceRegion + ".amazonaws.com";
|
|
39
|
+
request = new HttpRequest(__assign(__assign({}, resolvedEndpoint), { protocol: "https", headers: {
|
|
40
|
+
host: resolvedEndpoint.hostname,
|
|
41
|
+
}, query: (_a = {
|
|
42
|
+
Action: command,
|
|
43
|
+
Version: version,
|
|
44
|
+
KmsKeyId: input.KmsKeyId,
|
|
45
|
+
DestinationRegion: region
|
|
46
|
+
},
|
|
47
|
+
_a[sourceIdKey] = input[sourceIdKey],
|
|
48
|
+
_a) }));
|
|
49
|
+
signer = new SignatureV4({
|
|
50
|
+
credentials: options.credentials,
|
|
51
|
+
region: sourceRegion,
|
|
52
|
+
service: "rds",
|
|
53
|
+
sha256: options.sha256,
|
|
54
|
+
uriEscapePath: options.signingEscapePath,
|
|
55
|
+
});
|
|
56
|
+
return [4, signer.presign(request, {
|
|
57
|
+
expiresIn: 3600,
|
|
58
|
+
})];
|
|
59
|
+
case 3:
|
|
60
|
+
presignedRequest = _b.sent();
|
|
61
|
+
args = __assign(__assign({}, args), { input: __assign(__assign({}, args.input), { PreSignedUrl: formatUrl(presignedRequest) }) });
|
|
62
|
+
_b.label = 4;
|
|
63
|
+
case 4: return [2, next(args)];
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}); };
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
export var crossRegionPresignedUrlMiddlewareOptions = {
|
|
70
|
+
step: "initialize",
|
|
71
|
+
tags: ["CROSS_REGION_PRESIGNED_URL"],
|
|
72
|
+
name: "crossRegionPresignedUrlMiddleware",
|
|
73
|
+
override: true,
|
|
74
|
+
};
|
|
75
|
+
export var getCrossRegionPresignedUrlPlugin = function (config) { return ({
|
|
76
|
+
applyToStack: function (clientStack) {
|
|
77
|
+
clientStack.add(crossRegionPresignedUrlMiddleware(config), crossRegionPresignedUrlMiddlewareOptions);
|
|
78
|
+
},
|
|
79
|
+
}); };
|
|
80
|
+
function isARN(id) {
|
|
81
|
+
if (!id)
|
|
82
|
+
return false;
|
|
83
|
+
return regARN.test(id);
|
|
84
|
+
}
|
|
85
|
+
function getEndpointFromARN(arn) {
|
|
86
|
+
var arnArr = arn.split(":");
|
|
87
|
+
if (arnArr.length < 4) {
|
|
88
|
+
throw new Error("Cannot infer endpoint from '" + arn + "'");
|
|
89
|
+
}
|
|
90
|
+
return arnArr[3];
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFjcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELElBQU0sTUFBTSxHQUFHLG1HQUFtRyxDQUFDO0FBRW5ILElBQU0sdUJBQXVCLEdBQThCO0lBQ3pELDBCQUEwQixFQUFFLGdCQUFnQjtJQUM1QywwQkFBMEIsRUFBRSw2QkFBNkI7SUFDekQsMkJBQTJCLEVBQUUsaUJBQWlCO0lBQzlDLGlDQUFpQyxFQUFFLHVCQUF1QjtJQUMxRCxtQkFBbUIsRUFBRSw0Q0FBNEM7Q0FDbEUsQ0FBQztBQUVGLElBQU0sT0FBTyxHQUFHLFlBQVksQ0FBQztBQWM3QixNQUFNLFVBQVUsaUNBQWlDLENBQUMsT0FBMkI7SUFBN0UsaUJBa0RDO0lBakRDLE9BQU8sVUFBZ0MsSUFBb0M7UUFDekUsT0FBQSxVQUFPLElBQXFDOzs7Ozs7d0JBQ2xDLEtBQUssR0FBSyxJQUFJLE1BQVQsQ0FBVTt3QkFDUixXQUFNLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBQTs7d0JBQS9CLE1BQU0sR0FBRyxTQUFzQjt3QkFDL0IsV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQyxXQUFXOzRCQUMxRSxPQUFBLEtBQUssQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO3dCQUFqQyxDQUFpQyxDQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUVMLElBQUksQ0FBQyxXQUFXOzRCQUFFLFdBQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDO3dCQUU5QixPQUFPLEdBQUcsdUJBQXVCLENBQUMsV0FBVyxDQUFDLENBQUM7NkJB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cy1zZGsvcHJvdG9jb2wtaHR0cFwiO1xuaW1wb3J0IHsgU2lnbmF0dXJlVjQgfSBmcm9tIFwiQGF3cy1zZGsvc2lnbmF0dXJlLXY0XCI7XG5pbXBvcnQge1xuICBDcmVkZW50aWFscyxcbiAgRW5kcG9pbnQsXG4gIEhhc2hDb25zdHJ1Y3RvcixcbiAgSW5pdGlhbGl6ZUhhbmRsZXIsXG4gIEluaXRpYWxpemVIYW5kbGVyQXJndW1lbnRzLFxuICBJbml0aWFsaXplSGFuZGxlck9wdGlvbnMsXG4gIEluaXRpYWxpemVIYW5kbGVyT3V0cHV0LFxuICBJbml0aWFsaXplTWlkZGxld2FyZSxcbiAgTWV0YWRhdGFCZWFyZXIsXG4gIFBsdWdnYWJsZSxcbiAgUHJvdmlkZXIsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgZm9ybWF0VXJsIH0gZnJvbSBcIkBhd3Mtc2RrL3V0aWwtZm9ybWF0LXVybFwiO1xuXG5jb25zdCByZWdBUk4gPSAvYXJuOltcXHcrPS8sLkAtXSs6W1xcdys9LywuQC1dKzooW1xcdys9LywuQC1dKik/OlswLTldKzpbXFx3Kz0vLC5ALV0rKDpbXFx3Kz0vLC5ALV0rKT8oOltcXHcrPS8sLkAtXSspPy87XG5cbmNvbnN0IHNvdXJjZUlkVG9Db21tYW5kS2V5TWFwOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICBTb3VyY2VEQlNuYXBzaG90SWRlbnRpZmllcjogXCJDb3B5REJTbmFwc2hvdFwiLFxuICBTb3VyY2VEQkluc3RhbmNlSWRlbnRpZmllcjogXCJDcmVhdGVEQkluc3RhbmNlUmVhZFJlcGxpY2FcIixcbiAgUmVwbGljYXRpb25Tb3VyY2VJZGVudGlmaWVyOiBcIkNyZWF0ZURCQ2x1c3RlclwiLCAvLyBUaGlzIGtleSBpcyBvcHRpb25hbC5cbiAgU291cmNlREJDbHVzdGVyU25hcHNob3RJZGVudGlmaWVyOiBcIkNvcHlEQkNsdXN0ZXJTbmFwc2hvdFwiLFxuICBTb3VyY2VEQkluc3RhbmNlQXJuOiBcIlN0YXJ0REJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvblwiLFxufTtcblxuY29uc3QgdmVyc2lvbiA9IFwiMjAxNC0xMC0zMVwiO1xuXG5pbnRlcmZhY2UgUHJldmlvdXNseVJlc29sdmVkIHtcbiAgY3JlZGVudGlhbHM6IFByb3ZpZGVyPENyZWRlbnRpYWxzPjtcbiAgZW5kcG9pbnQ6IFByb3ZpZGVyPEVuZHBvaW50PjtcbiAgcmVnaW9uOiBQcm92aWRlcjxzdHJpbmc+O1xuICBzaGEyNTY6IEhhc2hDb25zdHJ1Y3RvcjtcbiAgc2lnbmluZ0VzY2FwZVBhdGg6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ29uZmlnIG9mIHRoZSBtaWRkbGV3YXJlIHRvIGF1dG9tYXRpY2FsbHkgYWRkIHByZXNpZ25lZCBVUkwgdG8gcmVxdWVzdC5cbiAqIFRoZSBwcmVzaWduZWQgVVJMIGlzIGdlbmVyYXRlZCBieSBzaWdWNFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3Jvc3NSZWdpb25QcmVzaWduZWRVcmxNaWRkbGV3YXJlKG9wdGlvbnM6IFByZXZpb3VzbHlSZXNvbHZlZCk6IEluaXRpYWxpemVNaWRkbGV3YXJlPGFueSwgYW55PiB7XG4gIHJldHVybiA8T3V0cHV0IGV4dGVuZHMgTWV0YWRhdGFCZWFyZXI+KG5leHQ6IEluaXRpYWxpemVIYW5kbGVyPGFueSwgT3V0cHV0Pik6IEluaXRpYWxpemVIYW5kbGVyPGFueSwgT3V0cHV0PiA9PlxuICAgIGFzeW5jIChhcmdzOiBJbml0aWFsaXplSGFuZGxlckFyZ3VtZW50czxhbnk+KTogUHJvbWlzZTxJbml0aWFsaXplSGFuZGxlck91dHB1dDxPdXRwdXQ+PiA9PiB7XG4gICAgICBjb25zdCB7IGlucHV0IH0gPSBhcmdzO1xuICAgICAgY29uc3QgcmVnaW9uID0gYXdhaXQgb3B0aW9ucy5yZWdpb24oKTtcbiAgICAgIGNvbnN0IHNvdXJjZUlkS2V5ID0gT2JqZWN0LmtleXMoc291cmNlSWRUb0NvbW1hbmRLZXlNYXApLmZpbHRlcigoc291cmNlS2V5SWQpID0+XG4gICAgICAgIGlucHV0Lmhhc093blByb3BlcnR5KHNvdXJjZUtleUlkKVxuICAgICAgKVswXTtcbiAgICAgIC8vIFNvdXJjZSBpZCBpcyBvcHRpb25hbC5cbiAgICAgIGlmICghc291cmNlSWRLZXkpIHJldHVybiBuZXh0KGFyZ3MpO1xuXG4gICAgICBjb25zdCBjb21tYW5kID0gc291cmNlSWRUb0NvbW1hbmRLZXlNYXBbc291cmNlSWRLZXldO1xuICAgICAgaWYgKCFpbnB1dC5QcmVTaWduZWRVcmwgJiYgaXNBUk4oaW5wdXRbc291cmNlSWRLZXldKSAmJiByZWdpb24gIT09IGdldEVuZHBvaW50RnJvbUFSTihpbnB1dFtzb3VyY2VJZEtleV0pKSB7XG4gICAgICAgIGNvbnN0IHNvdXJjZVJlZ2lvbiA9IGdldEVuZHBvaW50RnJvbUFSTihpbnB1dFtzb3VyY2VJZEtleV0pO1xuICAgICAgICBjb25zdCByZXNvbHZlZEVuZHBvaW50ID0gYXdhaXQgb3B0aW9ucy5lbmRwb2ludCgpO1xuICAgICAgICByZXNvbHZlZEVuZHBvaW50Lmhvc3RuYW1lID0gYHJkcy4ke3NvdXJjZVJlZ2lvbn0uYW1hem9uYXdzLmNvbWA7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgSHR0cFJlcXVlc3Qoe1xuICAgICAgICAgIC4uLnJlc29sdmVkRW5kcG9pbnQsXG4gICAgICAgICAgcHJvdG9jb2w6IFwiaHR0cHNcIixcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICBob3N0OiByZXNvbHZlZEVuZHBvaW50Lmhvc3RuYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcXVlcnk6IHtcbiAgICAgICAgICAgIEFjdGlvbjogY29tbWFuZCxcbiAgICAgICAgICAgIFZlcnNpb246IHZlcnNpb24sXG4gICAgICAgICAgICBLbXNLZXlJZDogaW5wdXQuS21zS2V5SWQsXG4gICAgICAgICAgICBEZXN0aW5hdGlvblJlZ2lvbjogcmVnaW9uLFxuICAgICAgICAgICAgW3NvdXJjZUlkS2V5XTogaW5wdXRbc291cmNlSWRLZXldLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzaWduZXIgPSBuZXcgU2lnbmF0dXJlVjQoe1xuICAgICAgICAgIGNyZWRlbnRpYWxzOiBvcHRpb25zLmNyZWRlbnRpYWxzLFxuICAgICAgICAgIHJlZ2lvbjogc291cmNlUmVnaW9uLFxuICAgICAgICAgIHNlcnZpY2U6IFwicmRzXCIsXG4gICAgICAgICAgc2hhMjU2OiBvcHRpb25zLnNoYTI1NixcbiAgICAgICAgICB1cmlFc2NhcGVQYXRoOiBvcHRpb25zLnNpZ25pbmdFc2NhcGVQYXRoLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcHJlc2lnbmVkUmVxdWVzdCA9IGF3YWl0IHNpZ25lci5wcmVzaWduKHJlcXVlc3QsIHtcbiAgICAgICAgICBleHBpcmVzSW46IDM2MDAsXG4gICAgICAgIH0pO1xuICAgICAgICBhcmdzID0ge1xuICAgICAgICAgIC4uLmFyZ3MsXG4gICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgIC4uLmFyZ3MuaW5wdXQsXG4gICAgICAgICAgICBQcmVTaWduZWRVcmw6IGZvcm1hdFVybChwcmVzaWduZWRSZXF1ZXN0KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5leHQoYXJncyk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGNyb3NzUmVnaW9uUHJlc2lnbmVkVXJsTWlkZGxld2FyZU9wdGlvbnM6IEluaXRpYWxpemVIYW5kbGVyT3B0aW9ucyA9IHtcbiAgc3RlcDogXCJpbml0aWFsaXplXCIsXG4gIHRhZ3M6IFtcIkNST1NTX1JFR0lPTl9QUkVTSUdORURfVVJMXCJdLFxuICBuYW1lOiBcImNyb3NzUmVnaW9uUHJlc2lnbmVkVXJsTWlkZGxld2FyZVwiLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDcm9zc1JlZ2lvblByZXNpZ25lZFVybFBsdWdpbiA9IChjb25maWc6IFByZXZpb3VzbHlSZXNvbHZlZCk6IFBsdWdnYWJsZTxhbnksIGFueT4gPT4gKHtcbiAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGQoY3Jvc3NSZWdpb25QcmVzaWduZWRVcmxNaWRkbGV3YXJlKGNvbmZpZyksIGNyb3NzUmVnaW9uUHJlc2lnbmVkVXJsTWlkZGxld2FyZU9wdGlvbnMpO1xuICB9LFxufSk7XG5cbmZ1bmN0aW9uIGlzQVJOKGlkOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgaWYgKCFpZCkgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gcmVnQVJOLnRlc3QoaWQpO1xufVxuXG5mdW5jdGlvbiBnZXRFbmRwb2ludEZyb21BUk4oYXJuOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBhcm5BcnIgPSBhcm4uc3BsaXQoXCI6XCIpO1xuICBpZiAoYXJuQXJyLmxlbmd0aCA8IDQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBpbmZlciBlbmRwb2ludCBmcm9tICcke2Fybn0nYCk7XG4gIH1cbiAgcmV0dXJuIGFybkFyclszXTtcbn1cbiJdfQ==
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,40 +1,41 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/middleware-sdk-rds",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.35.0",
|
|
4
4
|
"scripts": {
|
|
5
|
+
"build": "yarn build:cjs && yarn build:es && yarn build:types",
|
|
5
6
|
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
6
7
|
"build:es": "tsc -p tsconfig.es.json",
|
|
7
|
-
"build": "
|
|
8
|
-
"downlevel-dts": "downlevel-dts dist
|
|
8
|
+
"build:types": "tsc -p tsconfig.types.json",
|
|
9
|
+
"downlevel-dts": "downlevel-dts dist-types dist-types/ts3.4",
|
|
9
10
|
"test": "jest"
|
|
10
11
|
},
|
|
11
|
-
"main": "./dist
|
|
12
|
-
"module": "./dist
|
|
13
|
-
"types": "./dist
|
|
12
|
+
"main": "./dist-cjs/index.js",
|
|
13
|
+
"module": "./dist-es/index.js",
|
|
14
|
+
"types": "./dist-types/index.d.ts",
|
|
14
15
|
"author": {
|
|
15
16
|
"name": "AWS SDK for JavaScript Team",
|
|
16
17
|
"url": "https://aws.amazon.com/javascript/"
|
|
17
18
|
},
|
|
18
19
|
"license": "Apache-2.0",
|
|
19
20
|
"dependencies": {
|
|
20
|
-
"@aws-sdk/protocol-http": "3.
|
|
21
|
-
"@aws-sdk/signature-v4": "3.
|
|
22
|
-
"@aws-sdk/types": "3.
|
|
23
|
-
"@aws-sdk/util-format-url": "3.
|
|
21
|
+
"@aws-sdk/protocol-http": "3.35.0",
|
|
22
|
+
"@aws-sdk/signature-v4": "3.35.0",
|
|
23
|
+
"@aws-sdk/types": "3.35.0",
|
|
24
|
+
"@aws-sdk/util-format-url": "3.35.0",
|
|
24
25
|
"tslib": "^2.3.0"
|
|
25
26
|
},
|
|
26
27
|
"devDependencies": {
|
|
27
28
|
"@types/jest": "^26.0.4",
|
|
28
29
|
"jest": "^26.1.0",
|
|
29
|
-
"typescript": "~4.
|
|
30
|
+
"typescript": "~4.3.5"
|
|
30
31
|
},
|
|
31
32
|
"engines": {
|
|
32
33
|
"node": ">= 10.0.0"
|
|
33
34
|
},
|
|
34
35
|
"typesVersions": {
|
|
35
36
|
"<4.0": {
|
|
36
|
-
"dist
|
|
37
|
-
"dist
|
|
37
|
+
"dist-types/*": [
|
|
38
|
+
"dist-types/ts3.4/*"
|
|
38
39
|
]
|
|
39
40
|
}
|
|
40
41
|
},
|
package/tsconfig.cjs.json
CHANGED
package/tsconfig.es.json
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
|
+
"baseUrl": ".",
|
|
3
4
|
"lib": ["es5", "es2015.promise", "es2015.collection", "es2015.iterable", "es2015.symbol.wellknown"],
|
|
4
|
-
"
|
|
5
|
-
"rootDir": "
|
|
6
|
-
"outDir": "./dist/es",
|
|
7
|
-
"baseUrl": "."
|
|
5
|
+
"outDir": "dist-es",
|
|
6
|
+
"rootDir": "src"
|
|
8
7
|
},
|
|
9
8
|
"extends": "../../tsconfig.es.json",
|
|
10
9
|
"include": ["src/"]
|
package/dist/cjs/fixture.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.credentials = exports.endpoint = exports.region = exports.MockSha256 = void 0;
|
|
4
|
-
class MockSha256 {
|
|
5
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6
|
-
constructor(secret) { }
|
|
7
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8
|
-
update(data) { }
|
|
9
|
-
digest() {
|
|
10
|
-
return Promise.resolve(new Uint8Array(5));
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.MockSha256 = MockSha256;
|
|
14
|
-
const region = () => Promise.resolve("mock-region");
|
|
15
|
-
exports.region = region;
|
|
16
|
-
const endpoint = () => Promise.resolve({
|
|
17
|
-
protocol: "https:",
|
|
18
|
-
path: "/",
|
|
19
|
-
hostname: "ec2.mock-region.amazonaws.com",
|
|
20
|
-
});
|
|
21
|
-
exports.endpoint = endpoint;
|
|
22
|
-
const credentials = () => Promise.resolve({
|
|
23
|
-
accessKeyId: "akid",
|
|
24
|
-
secretAccessKey: "secret",
|
|
25
|
-
sessionToken: "session",
|
|
26
|
-
});
|
|
27
|
-
exports.credentials = credentials;
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQWEsVUFBVTtJQUNyQiw2REFBNkQ7SUFDN0QsWUFBWSxNQUErQyxJQUFHLENBQUM7SUFDL0QsNkRBQTZEO0lBQzdELE1BQU0sQ0FBQyxJQUFpQixJQUFHLENBQUM7SUFDNUIsTUFBTTtRQUNKLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQVJELGdDQVFDO0FBRU0sTUFBTSxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUE5QyxRQUFBLE1BQU0sVUFBd0M7QUFFcEQsTUFBTSxRQUFRLEdBQUcsR0FBRyxFQUFFLENBQzNCLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDZCxRQUFRLEVBQUUsUUFBUTtJQUNsQixJQUFJLEVBQUUsR0FBRztJQUNULFFBQVEsRUFBRSwrQkFBK0I7Q0FDMUMsQ0FBQyxDQUFDO0FBTFEsUUFBQSxRQUFRLFlBS2hCO0FBRUUsTUFBTSxXQUFXLEdBQUcsR0FBRyxFQUFFLENBQzlCLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDZCxXQUFXLEVBQUUsTUFBTTtJQUNuQixlQUFlLEVBQUUsUUFBUTtJQUN6QixZQUFZLEVBQUUsU0FBUztDQUN4QixDQUFDLENBQUM7QUFMUSxRQUFBLFdBQVcsZUFLbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb3VyY2VEYXRhIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmV4cG9ydCBjbGFzcyBNb2NrU2hhMjU2IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBjb25zdHJ1Y3RvcihzZWNyZXQ/OiBzdHJpbmcgfCBBcnJheUJ1ZmZlciB8IEFycmF5QnVmZmVyVmlldykge31cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICB1cGRhdGUoZGF0YT86IFNvdXJjZURhdGEpIHt9XG4gIGRpZ2VzdCgpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyBVaW50OEFycmF5KDUpKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgcmVnaW9uID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKFwibW9jay1yZWdpb25cIik7XG5cbmV4cG9ydCBjb25zdCBlbmRwb2ludCA9ICgpID0+XG4gIFByb21pc2UucmVzb2x2ZSh7XG4gICAgcHJvdG9jb2w6IFwiaHR0cHM6XCIsXG4gICAgcGF0aDogXCIvXCIsXG4gICAgaG9zdG5hbWU6IFwiZWMyLm1vY2stcmVnaW9uLmFtYXpvbmF3cy5jb21cIixcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBjcmVkZW50aWFscyA9ICgpID0+XG4gIFByb21pc2UucmVzb2x2ZSh7XG4gICAgYWNjZXNzS2V5SWQ6IFwiYWtpZFwiLFxuICAgIHNlY3JldEFjY2Vzc0tleTogXCJzZWNyZXRcIixcbiAgICBzZXNzaW9uVG9rZW46IFwic2Vzc2lvblwiLFxuICB9KTtcbiJdfQ==
|
package/dist/cjs/index.js
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getCrossRegionPresignedUrlPlugin = exports.crossRegionPresignedUrlMiddlewareOptions = exports.crossRegionPresignedUrlMiddleware = void 0;
|
|
4
|
-
const protocol_http_1 = require("@aws-sdk/protocol-http");
|
|
5
|
-
const signature_v4_1 = require("@aws-sdk/signature-v4");
|
|
6
|
-
const util_format_url_1 = require("@aws-sdk/util-format-url");
|
|
7
|
-
const regARN = /arn:[\w+=/,.@-]+:[\w+=/,.@-]+:([\w+=/,.@-]*)?:[0-9]+:[\w+=/,.@-]+(:[\w+=/,.@-]+)?(:[\w+=/,.@-]+)?/;
|
|
8
|
-
const sourceIdToCommandKeyMap = {
|
|
9
|
-
SourceDBSnapshotIdentifier: "CopyDBSnapshot",
|
|
10
|
-
SourceDBInstanceIdentifier: "CreateDBInstanceReadReplica",
|
|
11
|
-
ReplicationSourceIdentifier: "CreateDBCluster",
|
|
12
|
-
SourceDBClusterSnapshotIdentifier: "CopyDBClusterSnapshot",
|
|
13
|
-
SourceDBInstanceArn: "StartDBInstanceAutomatedBackupsReplication",
|
|
14
|
-
};
|
|
15
|
-
const version = "2014-10-31";
|
|
16
|
-
/**
|
|
17
|
-
* Config of the middleware to automatically add presigned URL to request.
|
|
18
|
-
* The presigned URL is generated by sigV4
|
|
19
|
-
*/
|
|
20
|
-
function crossRegionPresignedUrlMiddleware(options) {
|
|
21
|
-
return (next) => async (args) => {
|
|
22
|
-
const { input } = args;
|
|
23
|
-
const region = await options.region();
|
|
24
|
-
const sourceIdKey = Object.keys(sourceIdToCommandKeyMap).filter((sourceKeyId) => input.hasOwnProperty(sourceKeyId))[0];
|
|
25
|
-
// Source id is optional.
|
|
26
|
-
if (!sourceIdKey)
|
|
27
|
-
return next(args);
|
|
28
|
-
const command = sourceIdToCommandKeyMap[sourceIdKey];
|
|
29
|
-
if (!input.PreSignedUrl && isARN(input[sourceIdKey]) && region !== getEndpointFromARN(input[sourceIdKey])) {
|
|
30
|
-
const sourceRegion = getEndpointFromARN(input[sourceIdKey]);
|
|
31
|
-
const resolvedEndpoint = await options.endpoint();
|
|
32
|
-
resolvedEndpoint.hostname = `rds.${sourceRegion}.amazonaws.com`;
|
|
33
|
-
const request = new protocol_http_1.HttpRequest({
|
|
34
|
-
...resolvedEndpoint,
|
|
35
|
-
protocol: "https",
|
|
36
|
-
headers: {
|
|
37
|
-
host: resolvedEndpoint.hostname,
|
|
38
|
-
},
|
|
39
|
-
query: {
|
|
40
|
-
Action: command,
|
|
41
|
-
Version: version,
|
|
42
|
-
KmsKeyId: input.KmsKeyId,
|
|
43
|
-
DestinationRegion: region,
|
|
44
|
-
[sourceIdKey]: input[sourceIdKey],
|
|
45
|
-
},
|
|
46
|
-
});
|
|
47
|
-
const signer = new signature_v4_1.SignatureV4({
|
|
48
|
-
credentials: options.credentials,
|
|
49
|
-
region: sourceRegion,
|
|
50
|
-
service: "rds",
|
|
51
|
-
sha256: options.sha256,
|
|
52
|
-
uriEscapePath: options.signingEscapePath,
|
|
53
|
-
});
|
|
54
|
-
const presignedRequest = await signer.presign(request, {
|
|
55
|
-
expiresIn: 3600,
|
|
56
|
-
});
|
|
57
|
-
args = {
|
|
58
|
-
...args,
|
|
59
|
-
input: {
|
|
60
|
-
...args.input,
|
|
61
|
-
PreSignedUrl: (0, util_format_url_1.formatUrl)(presignedRequest),
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
return next(args);
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
exports.crossRegionPresignedUrlMiddleware = crossRegionPresignedUrlMiddleware;
|
|
69
|
-
exports.crossRegionPresignedUrlMiddlewareOptions = {
|
|
70
|
-
step: "initialize",
|
|
71
|
-
tags: ["CROSS_REGION_PRESIGNED_URL"],
|
|
72
|
-
name: "crossRegionPresignedUrlMiddleware",
|
|
73
|
-
override: true,
|
|
74
|
-
};
|
|
75
|
-
const getCrossRegionPresignedUrlPlugin = (config) => ({
|
|
76
|
-
applyToStack: (clientStack) => {
|
|
77
|
-
clientStack.add(crossRegionPresignedUrlMiddleware(config), exports.crossRegionPresignedUrlMiddlewareOptions);
|
|
78
|
-
},
|
|
79
|
-
});
|
|
80
|
-
exports.getCrossRegionPresignedUrlPlugin = getCrossRegionPresignedUrlPlugin;
|
|
81
|
-
function isARN(id) {
|
|
82
|
-
if (!id)
|
|
83
|
-
return false;
|
|
84
|
-
return regARN.test(id);
|
|
85
|
-
}
|
|
86
|
-
function getEndpointFromARN(arn) {
|
|
87
|
-
const arnArr = arn.split(":");
|
|
88
|
-
if (arnArr.length < 4) {
|
|
89
|
-
throw new Error(`Cannot infer endpoint from '${arn}'`);
|
|
90
|
-
}
|
|
91
|
-
return arnArr[3];
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQXFEO0FBQ3JELHdEQUFvRDtBQWNwRCw4REFBcUQ7QUFFckQsTUFBTSxNQUFNLEdBQUcsbUdBQW1HLENBQUM7QUFFbkgsTUFBTSx1QkFBdUIsR0FBOEI7SUFDekQsMEJBQTBCLEVBQUUsZ0JBQWdCO0lBQzVDLDBCQUEwQixFQUFFLDZCQUE2QjtJQUN6RCwyQkFBMkIsRUFBRSxpQkFBaUI7SUFDOUMsaUNBQWlDLEVBQUUsdUJBQXVCO0lBQzFELG1CQUFtQixFQUFFLDRDQUE0QztDQUNsRSxDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDO0FBVTdCOzs7R0FHRztBQUNILFNBQWdCLGlDQUFpQyxDQUFDLE9BQTJCO0lBQzNFLE9BQU8sQ0FBZ0MsSUFBb0MsRUFBa0MsRUFBRSxDQUM3RyxLQUFLLEVBQUUsSUFBcUMsRUFBNEMsRUFBRTtRQUN4RixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUM5RSxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0wseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEMsTUFBTSxPQUFPLEdBQUcsdUJBQXVCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLE1BQU0sS0FBSyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRTtZQUN6RyxNQUFNLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUM1RCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xELGdCQUFnQixDQUFDLFFBQVEsR0FBRyxPQUFPLFlBQVksZ0JBQWdCLENBQUM7WUFDaEUsTUFBTSxPQUFPLEdBQUcsSUFBSSwyQkFBVyxDQUFDO2dCQUM5QixHQUFHLGdCQUFnQjtnQkFDbkIsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsUUFBUTtpQkFDaEM7Z0JBQ0QsS0FBSyxFQUFFO29CQUNMLE1BQU0sRUFBRSxPQUFPO29CQUNmLE9BQU8sRUFBRSxPQUFPO29CQUNoQixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7b0JBQ3hCLGlCQUFpQixFQUFFLE1BQU07b0JBQ3pCLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQztpQkFDbEM7YUFDRixDQUFDLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLDBCQUFXLENBQUM7Z0JBQzdCLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztnQkFDaEMsTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLE9BQU8sRUFBRSxLQUFLO2dCQUNkLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtnQkFDdEIsYUFBYSxFQUFFLE9BQU8sQ0FBQyxpQkFBaUI7YUFDekMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNyRCxTQUFTLEVBQUUsSUFBSTthQUNoQixDQUFDLENBQUM7WUFDSCxJQUFJLEdBQUc7Z0JBQ0wsR0FBRyxJQUFJO2dCQUNQLEtBQUssRUFBRTtvQkFDTCxHQUFHLElBQUksQ0FBQyxLQUFLO29CQUNiLFlBQVksRUFBRSxJQUFBLDJCQUFTLEVBQUMsZ0JBQWdCLENBQUM7aUJBQzFDO2FBQ0YsQ0FBQztTQUNIO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQWxERCw4RUFrREM7QUFFWSxRQUFBLHdDQUF3QyxHQUE2QjtJQUNoRixJQUFJLEVBQUUsWUFBWTtJQUNsQixJQUFJLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztJQUNwQyxJQUFJLEVBQUUsbUNBQW1DO0lBQ3pDLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVLLE1BQU0sZ0NBQWdDLEdBQUcsQ0FBQyxNQUEwQixFQUF1QixFQUFFLENBQUMsQ0FBQztJQUNwRyxZQUFZLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUM1QixXQUFXLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLGdEQUF3QyxDQUFDLENBQUM7SUFDdkcsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUpVLFFBQUEsZ0NBQWdDLG9DQUkxQztBQUVILFNBQVMsS0FBSyxDQUFDLEVBQXNCO0lBQ25DLElBQUksQ0FBQyxFQUFFO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDdEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3pCLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLEdBQVc7SUFDckMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEdBQUcsR0FBRyxDQUFDLENBQUM7S0FDeEQ7SUFDRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGF3cy1zZGsvcHJvdG9jb2wtaHR0cFwiO1xuaW1wb3J0IHsgU2lnbmF0dXJlVjQgfSBmcm9tIFwiQGF3cy1zZGsvc2lnbmF0dXJlLXY0XCI7XG5pbXBvcnQge1xuICBDcmVkZW50aWFscyxcbiAgRW5kcG9pbnQsXG4gIEhhc2hDb25zdHJ1Y3RvcixcbiAgSW5pdGlhbGl6ZUhhbmRsZXIsXG4gIEluaXRpYWxpemVIYW5kbGVyQXJndW1lbnRzLFxuICBJbml0aWFsaXplSGFuZGxlck9wdGlvbnMsXG4gIEluaXRpYWxpemVIYW5kbGVyT3V0cHV0LFxuICBJbml0aWFsaXplTWlkZGxld2FyZSxcbiAgTWV0YWRhdGFCZWFyZXIsXG4gIFBsdWdnYWJsZSxcbiAgUHJvdmlkZXIsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgZm9ybWF0VXJsIH0gZnJvbSBcIkBhd3Mtc2RrL3V0aWwtZm9ybWF0LXVybFwiO1xuXG5jb25zdCByZWdBUk4gPSAvYXJuOltcXHcrPS8sLkAtXSs6W1xcdys9LywuQC1dKzooW1xcdys9LywuQC1dKik/OlswLTldKzpbXFx3Kz0vLC5ALV0rKDpbXFx3Kz0vLC5ALV0rKT8oOltcXHcrPS8sLkAtXSspPy87XG5cbmNvbnN0IHNvdXJjZUlkVG9Db21tYW5kS2V5TWFwOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICBTb3VyY2VEQlNuYXBzaG90SWRlbnRpZmllcjogXCJDb3B5REJTbmFwc2hvdFwiLFxuICBTb3VyY2VEQkluc3RhbmNlSWRlbnRpZmllcjogXCJDcmVhdGVEQkluc3RhbmNlUmVhZFJlcGxpY2FcIixcbiAgUmVwbGljYXRpb25Tb3VyY2VJZGVudGlmaWVyOiBcIkNyZWF0ZURCQ2x1c3RlclwiLCAvLyBUaGlzIGtleSBpcyBvcHRpb25hbC5cbiAgU291cmNlREJDbHVzdGVyU25hcHNob3RJZGVudGlmaWVyOiBcIkNvcHlEQkNsdXN0ZXJTbmFwc2hvdFwiLFxuICBTb3VyY2VEQkluc3RhbmNlQXJuOiBcIlN0YXJ0REJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvblwiLFxufTtcblxuY29uc3QgdmVyc2lvbiA9IFwiMjAxNC0xMC0zMVwiO1xuXG5pbnRlcmZhY2UgUHJldmlvdXNseVJlc29sdmVkIHtcbiAgY3JlZGVudGlhbHM6IFByb3ZpZGVyPENyZWRlbnRpYWxzPjtcbiAgZW5kcG9pbnQ6IFByb3ZpZGVyPEVuZHBvaW50PjtcbiAgcmVnaW9uOiBQcm92aWRlcjxzdHJpbmc+O1xuICBzaGEyNTY6IEhhc2hDb25zdHJ1Y3RvcjtcbiAgc2lnbmluZ0VzY2FwZVBhdGg6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ29uZmlnIG9mIHRoZSBtaWRkbGV3YXJlIHRvIGF1dG9tYXRpY2FsbHkgYWRkIHByZXNpZ25lZCBVUkwgdG8gcmVxdWVzdC5cbiAqIFRoZSBwcmVzaWduZWQgVVJMIGlzIGdlbmVyYXRlZCBieSBzaWdWNFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3Jvc3NSZWdpb25QcmVzaWduZWRVcmxNaWRkbGV3YXJlKG9wdGlvbnM6IFByZXZpb3VzbHlSZXNvbHZlZCk6IEluaXRpYWxpemVNaWRkbGV3YXJlPGFueSwgYW55PiB7XG4gIHJldHVybiA8T3V0cHV0IGV4dGVuZHMgTWV0YWRhdGFCZWFyZXI+KG5leHQ6IEluaXRpYWxpemVIYW5kbGVyPGFueSwgT3V0cHV0Pik6IEluaXRpYWxpemVIYW5kbGVyPGFueSwgT3V0cHV0PiA9PlxuICAgIGFzeW5jIChhcmdzOiBJbml0aWFsaXplSGFuZGxlckFyZ3VtZW50czxhbnk+KTogUHJvbWlzZTxJbml0aWFsaXplSGFuZGxlck91dHB1dDxPdXRwdXQ+PiA9PiB7XG4gICAgICBjb25zdCB7IGlucHV0IH0gPSBhcmdzO1xuICAgICAgY29uc3QgcmVnaW9uID0gYXdhaXQgb3B0aW9ucy5yZWdpb24oKTtcbiAgICAgIGNvbnN0IHNvdXJjZUlkS2V5ID0gT2JqZWN0LmtleXMoc291cmNlSWRUb0NvbW1hbmRLZXlNYXApLmZpbHRlcigoc291cmNlS2V5SWQpID0+XG4gICAgICAgIGlucHV0Lmhhc093blByb3BlcnR5KHNvdXJjZUtleUlkKVxuICAgICAgKVswXTtcbiAgICAgIC8vIFNvdXJjZSBpZCBpcyBvcHRpb25hbC5cbiAgICAgIGlmICghc291cmNlSWRLZXkpIHJldHVybiBuZXh0KGFyZ3MpO1xuXG4gICAgICBjb25zdCBjb21tYW5kID0gc291cmNlSWRUb0NvbW1hbmRLZXlNYXBbc291cmNlSWRLZXldO1xuICAgICAgaWYgKCFpbnB1dC5QcmVTaWduZWRVcmwgJiYgaXNBUk4oaW5wdXRbc291cmNlSWRLZXldKSAmJiByZWdpb24gIT09IGdldEVuZHBvaW50RnJvbUFSTihpbnB1dFtzb3VyY2VJZEtleV0pKSB7XG4gICAgICAgIGNvbnN0IHNvdXJjZVJlZ2lvbiA9IGdldEVuZHBvaW50RnJvbUFSTihpbnB1dFtzb3VyY2VJZEtleV0pO1xuICAgICAgICBjb25zdCByZXNvbHZlZEVuZHBvaW50ID0gYXdhaXQgb3B0aW9ucy5lbmRwb2ludCgpO1xuICAgICAgICByZXNvbHZlZEVuZHBvaW50Lmhvc3RuYW1lID0gYHJkcy4ke3NvdXJjZVJlZ2lvbn0uYW1hem9uYXdzLmNvbWA7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgSHR0cFJlcXVlc3Qoe1xuICAgICAgICAgIC4uLnJlc29sdmVkRW5kcG9pbnQsXG4gICAgICAgICAgcHJvdG9jb2w6IFwiaHR0cHNcIixcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICBob3N0OiByZXNvbHZlZEVuZHBvaW50Lmhvc3RuYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcXVlcnk6IHtcbiAgICAgICAgICAgIEFjdGlvbjogY29tbWFuZCxcbiAgICAgICAgICAgIFZlcnNpb246IHZlcnNpb24sXG4gICAgICAgICAgICBLbXNLZXlJZDogaW5wdXQuS21zS2V5SWQsXG4gICAgICAgICAgICBEZXN0aW5hdGlvblJlZ2lvbjogcmVnaW9uLFxuICAgICAgICAgICAgW3NvdXJjZUlkS2V5XTogaW5wdXRbc291cmNlSWRLZXldLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzaWduZXIgPSBuZXcgU2lnbmF0dXJlVjQoe1xuICAgICAgICAgIGNyZWRlbnRpYWxzOiBvcHRpb25zLmNyZWRlbnRpYWxzLFxuICAgICAgICAgIHJlZ2lvbjogc291cmNlUmVnaW9uLFxuICAgICAgICAgIHNlcnZpY2U6IFwicmRzXCIsXG4gICAgICAgICAgc2hhMjU2OiBvcHRpb25zLnNoYTI1NixcbiAgICAgICAgICB1cmlFc2NhcGVQYXRoOiBvcHRpb25zLnNpZ25pbmdFc2NhcGVQYXRoLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcHJlc2lnbmVkUmVxdWVzdCA9IGF3YWl0IHNpZ25lci5wcmVzaWduKHJlcXVlc3QsIHtcbiAgICAgICAgICBleHBpcmVzSW46IDM2MDAsXG4gICAgICAgIH0pO1xuICAgICAgICBhcmdzID0ge1xuICAgICAgICAgIC4uLmFyZ3MsXG4gICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgIC4uLmFyZ3MuaW5wdXQsXG4gICAgICAgICAgICBQcmVTaWduZWRVcmw6IGZvcm1hdFVybChwcmVzaWduZWRSZXF1ZXN0KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5leHQoYXJncyk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGNyb3NzUmVnaW9uUHJlc2lnbmVkVXJsTWlkZGxld2FyZU9wdGlvbnM6IEluaXRpYWxpemVIYW5kbGVyT3B0aW9ucyA9IHtcbiAgc3RlcDogXCJpbml0aWFsaXplXCIsXG4gIHRhZ3M6IFtcIkNST1NTX1JFR0lPTl9QUkVTSUdORURfVVJMXCJdLFxuICBuYW1lOiBcImNyb3NzUmVnaW9uUHJlc2lnbmVkVXJsTWlkZGxld2FyZVwiLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDcm9zc1JlZ2lvblByZXNpZ25lZFVybFBsdWdpbiA9IChjb25maWc6IFByZXZpb3VzbHlSZXNvbHZlZCk6IFBsdWdnYWJsZTxhbnksIGFueT4gPT4gKHtcbiAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGQoY3Jvc3NSZWdpb25QcmVzaWduZWRVcmxNaWRkbGV3YXJlKGNvbmZpZyksIGNyb3NzUmVnaW9uUHJlc2lnbmVkVXJsTWlkZGxld2FyZU9wdGlvbnMpO1xuICB9LFxufSk7XG5cbmZ1bmN0aW9uIGlzQVJOKGlkOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgaWYgKCFpZCkgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gcmVnQVJOLnRlc3QoaWQpO1xufVxuXG5mdW5jdGlvbiBnZXRFbmRwb2ludEZyb21BUk4oYXJuOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBhcm5BcnIgPSBhcm4uc3BsaXQoXCI6XCIpO1xuICBpZiAoYXJuQXJyLmxlbmd0aCA8IDQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBpbmZlciBlbmRwb2ludCBmcm9tICcke2Fybn0nYCk7XG4gIH1cbiAgcmV0dXJuIGFybkFyclszXTtcbn1cbiJdfQ==
|
package/dist/es/fixture.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
var MockSha256 = /** @class */ (function () {
|
|
2
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3
|
-
function MockSha256(secret) {
|
|
4
|
-
}
|
|
5
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6
|
-
MockSha256.prototype.update = function (data) { };
|
|
7
|
-
MockSha256.prototype.digest = function () {
|
|
8
|
-
return Promise.resolve(new Uint8Array(5));
|
|
9
|
-
};
|
|
10
|
-
return MockSha256;
|
|
11
|
-
}());
|
|
12
|
-
export { MockSha256 };
|
|
13
|
-
export var region = function () { return Promise.resolve("mock-region"); };
|
|
14
|
-
export var endpoint = function () {
|
|
15
|
-
return Promise.resolve({
|
|
16
|
-
protocol: "https:",
|
|
17
|
-
path: "/",
|
|
18
|
-
hostname: "ec2.mock-region.amazonaws.com",
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
export var credentials = function () {
|
|
22
|
-
return Promise.resolve({
|
|
23
|
-
accessKeyId: "akid",
|
|
24
|
-
secretAccessKey: "secret",
|
|
25
|
-
sessionToken: "session",
|
|
26
|
-
});
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0lBQ0UsNkRBQTZEO0lBQzdELG9CQUFZLE1BQStDO0lBQUcsQ0FBQztJQUMvRCw2REFBNkQ7SUFDN0QsMkJBQU0sR0FBTixVQUFPLElBQWlCLElBQUcsQ0FBQztJQUM1QiwyQkFBTSxHQUFOO1FBQ0UsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNILGlCQUFDO0FBQUQsQ0FBQyxBQVJELElBUUM7O0FBRUQsTUFBTSxDQUFDLElBQU0sTUFBTSxHQUFHLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUE5QixDQUE4QixDQUFDO0FBRTNELE1BQU0sQ0FBQyxJQUFNLFFBQVEsR0FBRztJQUN0QixPQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDZCxRQUFRLEVBQUUsUUFBUTtRQUNsQixJQUFJLEVBQUUsR0FBRztRQUNULFFBQVEsRUFBRSwrQkFBK0I7S0FDMUMsQ0FBQztBQUpGLENBSUUsQ0FBQztBQUVMLE1BQU0sQ0FBQyxJQUFNLFdBQVcsR0FBRztJQUN6QixPQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDZCxXQUFXLEVBQUUsTUFBTTtRQUNuQixlQUFlLEVBQUUsUUFBUTtRQUN6QixZQUFZLEVBQUUsU0FBUztLQUN4QixDQUFDO0FBSkYsQ0FJRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU291cmNlRGF0YSB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgY2xhc3MgTW9ja1NoYTI1NiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgY29uc3RydWN0b3Ioc2VjcmV0Pzogc3RyaW5nIHwgQXJyYXlCdWZmZXIgfCBBcnJheUJ1ZmZlclZpZXcpIHt9XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgdXBkYXRlKGRhdGE/OiBTb3VyY2VEYXRhKSB7fVxuICBkaWdlc3QoKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgVWludDhBcnJheSg1KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHJlZ2lvbiA9ICgpID0+IFByb21pc2UucmVzb2x2ZShcIm1vY2stcmVnaW9uXCIpO1xuXG5leHBvcnQgY29uc3QgZW5kcG9pbnQgPSAoKSA9PlxuICBQcm9taXNlLnJlc29sdmUoe1xuICAgIHByb3RvY29sOiBcImh0dHBzOlwiLFxuICAgIHBhdGg6IFwiL1wiLFxuICAgIGhvc3RuYW1lOiBcImVjMi5tb2NrLXJlZ2lvbi5hbWF6b25hd3MuY29tXCIsXG4gIH0pO1xuXG5leHBvcnQgY29uc3QgY3JlZGVudGlhbHMgPSAoKSA9PlxuICBQcm9taXNlLnJlc29sdmUoe1xuICAgIGFjY2Vzc0tleUlkOiBcImFraWRcIixcbiAgICBzZWNyZXRBY2Nlc3NLZXk6IFwic2VjcmV0XCIsXG4gICAgc2Vzc2lvblRva2VuOiBcInNlc3Npb25cIixcbiAgfSk7XG4iXX0=
|
package/dist/es/index.js
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { __assign, __awaiter, __generator } from "tslib";
|
|
2
|
-
import { HttpRequest } from "@aws-sdk/protocol-http";
|
|
3
|
-
import { SignatureV4 } from "@aws-sdk/signature-v4";
|
|
4
|
-
import { formatUrl } from "@aws-sdk/util-format-url";
|
|
5
|
-
var regARN = /arn:[\w+=/,.@-]+:[\w+=/,.@-]+:([\w+=/,.@-]*)?:[0-9]+:[\w+=/,.@-]+(:[\w+=/,.@-]+)?(:[\w+=/,.@-]+)?/;
|
|
6
|
-
var sourceIdToCommandKeyMap = {
|
|
7
|
-
SourceDBSnapshotIdentifier: "CopyDBSnapshot",
|
|
8
|
-
SourceDBInstanceIdentifier: "CreateDBInstanceReadReplica",
|
|
9
|
-
ReplicationSourceIdentifier: "CreateDBCluster",
|
|
10
|
-
SourceDBClusterSnapshotIdentifier: "CopyDBClusterSnapshot",
|
|
11
|
-
SourceDBInstanceArn: "StartDBInstanceAutomatedBackupsReplication",
|
|
12
|
-
};
|
|
13
|
-
var version = "2014-10-31";
|
|
14
|
-
/**
|
|
15
|
-
* Config of the middleware to automatically add presigned URL to request.
|
|
16
|
-
* The presigned URL is generated by sigV4
|
|
17
|
-
*/
|
|
18
|
-
export function crossRegionPresignedUrlMiddleware(options) {
|
|
19
|
-
var _this = this;
|
|
20
|
-
return function (next) {
|
|
21
|
-
return function (args) { return __awaiter(_this, void 0, void 0, function () {
|
|
22
|
-
var input, region, sourceIdKey, command, sourceRegion, resolvedEndpoint, request, signer, presignedRequest;
|
|
23
|
-
var _a;
|
|
24
|
-
return __generator(this, function (_b) {
|
|
25
|
-
switch (_b.label) {
|
|
26
|
-
case 0:
|
|
27
|
-
input = args.input;
|
|
28
|
-
return [4 /*yield*/, options.region()];
|
|
29
|
-
case 1:
|
|
30
|
-
region = _b.sent();
|
|
31
|
-
sourceIdKey = Object.keys(sourceIdToCommandKeyMap).filter(function (sourceKeyId) {
|
|
32
|
-
return input.hasOwnProperty(sourceKeyId);
|
|
33
|
-
})[0];
|
|
34
|
-
// Source id is optional.
|
|
35
|
-
if (!sourceIdKey)
|
|
36
|
-
return [2 /*return*/, next(args)];
|
|
37
|
-
command = sourceIdToCommandKeyMap[sourceIdKey];
|
|
38
|
-
if (!(!input.PreSignedUrl && isARN(input[sourceIdKey]) && region !== getEndpointFromARN(input[sourceIdKey]))) return [3 /*break*/, 4];
|
|
39
|
-
sourceRegion = getEndpointFromARN(input[sourceIdKey]);
|
|
40
|
-
return [4 /*yield*/, options.endpoint()];
|
|
41
|
-
case 2:
|
|
42
|
-
resolvedEndpoint = _b.sent();
|
|
43
|
-
resolvedEndpoint.hostname = "rds." + sourceRegion + ".amazonaws.com";
|
|
44
|
-
request = new HttpRequest(__assign(__assign({}, resolvedEndpoint), { protocol: "https", headers: {
|
|
45
|
-
host: resolvedEndpoint.hostname,
|
|
46
|
-
}, query: (_a = {
|
|
47
|
-
Action: command,
|
|
48
|
-
Version: version,
|
|
49
|
-
KmsKeyId: input.KmsKeyId,
|
|
50
|
-
DestinationRegion: region
|
|
51
|
-
},
|
|
52
|
-
_a[sourceIdKey] = input[sourceIdKey],
|
|
53
|
-
_a) }));
|
|
54
|
-
signer = new SignatureV4({
|
|
55
|
-
credentials: options.credentials,
|
|
56
|
-
region: sourceRegion,
|
|
57
|
-
service: "rds",
|
|
58
|
-
sha256: options.sha256,
|
|
59
|
-
uriEscapePath: options.signingEscapePath,
|
|
60
|
-
});
|
|
61
|
-
return [4 /*yield*/, signer.presign(request, {
|
|
62
|
-
expiresIn: 3600,
|
|
63
|
-
})];
|
|
64
|
-
case 3:
|
|
65
|
-
presignedRequest = _b.sent();
|
|
66
|
-
args = __assign(__assign({}, args), { input: __assign(__assign({}, args.input), { PreSignedUrl: formatUrl(presignedRequest) }) });
|
|
67
|
-
_b.label = 4;
|
|
68
|
-
case 4: return [2 /*return*/, next(args)];
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
}); };
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
export var crossRegionPresignedUrlMiddlewareOptions = {
|
|
75
|
-
step: "initialize",
|
|
76
|
-
tags: ["CROSS_REGION_PRESIGNED_URL"],
|
|
77
|
-
name: "crossRegionPresignedUrlMiddleware",
|
|
78
|
-
override: true,
|
|
79
|
-
};
|
|
80
|
-
export var getCrossRegionPresignedUrlPlugin = function (config) { return ({
|
|
81
|
-
applyToStack: function (clientStack) {
|
|
82
|
-
clientStack.add(crossRegionPresignedUrlMiddleware(config), crossRegionPresignedUrlMiddlewareOptions);
|
|
83
|
-
},
|
|
84
|
-
}); };
|
|
85
|
-
function isARN(id) {
|
|
86
|
-
if (!id)
|
|
87
|
-
return false;
|
|
88
|
-
return regARN.test(id);
|
|
89
|
-
}
|
|
90
|
-
function getEndpointFromARN(arn) {
|
|
91
|
-
var arnArr = arn.split(":");
|
|
92
|
-
if (arnArr.length < 4) {
|
|
93
|
-
throw new Error("Cannot infer endpoint from '" + arn + "'");
|
|
94
|
-
}
|
|
95
|
-
return arnArr[3];
|
|
96
|
-
}
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFjcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELElBQU0sTUFBTSxHQUFHLG1HQUFtRyxDQUFDO0FBRW5ILElBQU0sdUJBQXVCLEdBQThCO0lBQ3pELDBCQUEwQixFQUFFLGdCQUFnQjtJQUM1QywwQkFBMEIsRUFBRSw2QkFBNkI7SUFDekQsMkJBQTJCLEVBQUUsaUJBQWlCO0lBQzlDLGlDQUFpQyxFQUFFLHVCQUF1QjtJQUMxRCxtQkFBbUIsRUFBRSw0Q0FBNEM7Q0FDbEUsQ0FBQztBQUVGLElBQU0sT0FBTyxHQUFHLFlBQVksQ0FBQztBQVU3Qjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsaUNBQWlDLENBQUMsT0FBMkI7SUFBN0UsaUJBa0RDO0lBakRDLE9BQU8sVUFBZ0MsSUFBb0M7UUFDekUsT0FBQSxVQUFPLElBQXFDOzs7Ozs7d0JBQ2xDLEtBQUssR0FBSyxJQUFJLE1BQVQsQ0FBVTt3QkFDUixxQkFBTSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUE7O3dCQUEvQixNQUFNLEdBQUcsU0FBc0I7d0JBQy9CLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsTUFBTSxDQUFDLFVBQUMsV0FBVzs0QkFDMUUsT0FBQSxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQzt3QkFBakMsQ0FBaUMsQ0FDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDTCx5QkFBeUI7d0JBQ3pCLElBQUksQ0FBQyxXQUFXOzRCQUFFLHNCQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQzt3QkFFOUIsT0FBTyxHQUFHLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxDQUFDOzZCQUNqRCxDQUFBLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksTUFBTSxLQUFLLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBLEVBQXJHLHdCQUFxRzt3QkFDakcsWUFBWSxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO3dCQUNuQyxxQkFBTSxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUE7O3dCQUEzQyxnQkFBZ0IsR0FBRyxTQUF3Qjt3QkFDakQsZ0JBQWdCLENBQUMsUUFBUSxHQUFHLFNBQU8sWUFBWSxtQkFBZ0IsQ0FBQzt3QkFDMUQsT0FBTyxHQUFHLElBQUksV0FBVyx1QkFDMUIsZ0JBQWdCLEtBQ25CLFFBQVEsRUFBRSxPQUFPLEVBQ2pCLE9BQU8sRUFBRTtnQ0FDUCxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsUUFBUTs2QkFDaEMsRUFDRCxLQUFLO29DQUNILE1BQU0sRUFBRSxPQUFPO29DQUNmLE9BQU8sRUFBRSxPQUFPO29DQUNoQixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7b0NBQ3hCLGlCQUFpQixFQUFFLE1BQU07O2dDQUN6QixHQUFDLFdBQVcsSUFBRyxLQUFLLENBQUMsV0FBVyxDQUFDO3VDQUVuQyxDQUFDO3dCQUNHLE1BQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQzs0QkFDN0IsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXOzRCQUNoQyxNQUFNLEVBQUUsWUFBWTs0QkFDcEIsT0FBTyxFQUFFLEtBQUs7NEJBQ2QsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNOzRCQUN0QixhQUFhLEVBQUUsT0FBTyxDQUFDLGlCQUFpQjt5QkFDekMsQ0FBQyxDQUFDO3dCQUNzQixxQkFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQ0FDckQsU0FBUyxFQUFFLElBQUk7NkJBQ2hCLENBQUMsRUFBQTs7d0JBRkksZ0JBQWdCLEdBQUcsU0FFdkI7d0JBQ0YsSUFBSSx5QkFDQyxJQUFJLEtBQ1AsS0FBSyx3QkFDQSxJQUFJLENBQUMsS0FBSyxLQUNiLFlBQVksRUFBRSxTQUFTLENBQUMsZ0JBQWdCLENBQUMsTUFFNUMsQ0FBQzs7NEJBRUosc0JBQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDOzs7YUFDbkI7SUEvQ0QsQ0ErQ0MsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLENBQUMsSUFBTSx3Q0FBd0MsR0FBNkI7SUFDaEYsSUFBSSxFQUFFLFlBQVk7SUFDbEIsSUFBSSxFQUFFLENBQUMsNEJBQTRCLENBQUM7SUFDcEMsSUFBSSxFQUFFLG1DQUFtQztJQUN6QyxRQUFRLEVBQUUsSUFBSTtDQUNmLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSxnQ0FBZ0MsR0FBRyxVQUFDLE1BQTBCLElBQTBCLE9BQUEsQ0FBQztJQUNwRyxZQUFZLEVBQUUsVUFBQyxXQUFXO1FBQ3hCLFdBQVcsQ0FBQyxHQUFHLENBQUMsaUNBQWlDLENBQUMsTUFBTSxDQUFDLEVBQUUsd0NBQXdDLENBQUMsQ0FBQztJQUN2RyxDQUFDO0NBQ0YsQ0FBQyxFQUptRyxDQUluRyxDQUFDO0FBRUgsU0FBUyxLQUFLLENBQUMsRUFBc0I7SUFDbkMsSUFBSSxDQUFDLEVBQUU7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUN0QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDekIsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsR0FBVztJQUNyQyxJQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBK0IsR0FBRyxNQUFHLENBQUMsQ0FBQztLQUN4RDtJQUNELE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay9wcm90b2NvbC1odHRwXCI7XG5pbXBvcnQgeyBTaWduYXR1cmVWNCB9IGZyb20gXCJAYXdzLXNkay9zaWduYXR1cmUtdjRcIjtcbmltcG9ydCB7XG4gIENyZWRlbnRpYWxzLFxuICBFbmRwb2ludCxcbiAgSGFzaENvbnN0cnVjdG9yLFxuICBJbml0aWFsaXplSGFuZGxlcixcbiAgSW5pdGlhbGl6ZUhhbmRsZXJBcmd1bWVudHMsXG4gIEluaXRpYWxpemVIYW5kbGVyT3B0aW9ucyxcbiAgSW5pdGlhbGl6ZUhhbmRsZXJPdXRwdXQsXG4gIEluaXRpYWxpemVNaWRkbGV3YXJlLFxuICBNZXRhZGF0YUJlYXJlcixcbiAgUGx1Z2dhYmxlLFxuICBQcm92aWRlcixcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBmb3JtYXRVcmwgfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1mb3JtYXQtdXJsXCI7XG5cbmNvbnN0IHJlZ0FSTiA9IC9hcm46W1xcdys9LywuQC1dKzpbXFx3Kz0vLC5ALV0rOihbXFx3Kz0vLC5ALV0qKT86WzAtOV0rOltcXHcrPS8sLkAtXSsoOltcXHcrPS8sLkAtXSspPyg6W1xcdys9LywuQC1dKyk/LztcblxuY29uc3Qgc291cmNlSWRUb0NvbW1hbmRLZXlNYXA6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gIFNvdXJjZURCU25hcHNob3RJZGVudGlmaWVyOiBcIkNvcHlEQlNuYXBzaG90XCIsXG4gIFNvdXJjZURCSW5zdGFuY2VJZGVudGlmaWVyOiBcIkNyZWF0ZURCSW5zdGFuY2VSZWFkUmVwbGljYVwiLFxuICBSZXBsaWNhdGlvblNvdXJjZUlkZW50aWZpZXI6IFwiQ3JlYXRlREJDbHVzdGVyXCIsIC8vIFRoaXMga2V5IGlzIG9wdGlvbmFsLlxuICBTb3VyY2VEQkNsdXN0ZXJTbmFwc2hvdElkZW50aWZpZXI6IFwiQ29weURCQ2x1c3RlclNuYXBzaG90XCIsXG4gIFNvdXJjZURCSW5zdGFuY2VBcm46IFwiU3RhcnREQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uXCIsXG59O1xuXG5jb25zdCB2ZXJzaW9uID0gXCIyMDE0LTEwLTMxXCI7XG5cbmludGVyZmFjZSBQcmV2aW91c2x5UmVzb2x2ZWQge1xuICBjcmVkZW50aWFsczogUHJvdmlkZXI8Q3JlZGVudGlhbHM+O1xuICBlbmRwb2ludDogUHJvdmlkZXI8RW5kcG9pbnQ+O1xuICByZWdpb246IFByb3ZpZGVyPHN0cmluZz47XG4gIHNoYTI1NjogSGFzaENvbnN0cnVjdG9yO1xuICBzaWduaW5nRXNjYXBlUGF0aDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb25maWcgb2YgdGhlIG1pZGRsZXdhcmUgdG8gYXV0b21hdGljYWxseSBhZGQgcHJlc2lnbmVkIFVSTCB0byByZXF1ZXN0LlxuICogVGhlIHByZXNpZ25lZCBVUkwgaXMgZ2VuZXJhdGVkIGJ5IHNpZ1Y0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcm9zc1JlZ2lvblByZXNpZ25lZFVybE1pZGRsZXdhcmUob3B0aW9uczogUHJldmlvdXNseVJlc29sdmVkKTogSW5pdGlhbGl6ZU1pZGRsZXdhcmU8YW55LCBhbnk+IHtcbiAgcmV0dXJuIDxPdXRwdXQgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlcj4obmV4dDogSW5pdGlhbGl6ZUhhbmRsZXI8YW55LCBPdXRwdXQ+KTogSW5pdGlhbGl6ZUhhbmRsZXI8YW55LCBPdXRwdXQ+ID0+XG4gICAgYXN5bmMgKGFyZ3M6IEluaXRpYWxpemVIYW5kbGVyQXJndW1lbnRzPGFueT4pOiBQcm9taXNlPEluaXRpYWxpemVIYW5kbGVyT3V0cHV0PE91dHB1dD4+ID0+IHtcbiAgICAgIGNvbnN0IHsgaW5wdXQgfSA9IGFyZ3M7XG4gICAgICBjb25zdCByZWdpb24gPSBhd2FpdCBvcHRpb25zLnJlZ2lvbigpO1xuICAgICAgY29uc3Qgc291cmNlSWRLZXkgPSBPYmplY3Qua2V5cyhzb3VyY2VJZFRvQ29tbWFuZEtleU1hcCkuZmlsdGVyKChzb3VyY2VLZXlJZCkgPT5cbiAgICAgICAgaW5wdXQuaGFzT3duUHJvcGVydHkoc291cmNlS2V5SWQpXG4gICAgICApWzBdO1xuICAgICAgLy8gU291cmNlIGlkIGlzIG9wdGlvbmFsLlxuICAgICAgaWYgKCFzb3VyY2VJZEtleSkgcmV0dXJuIG5leHQoYXJncyk7XG5cbiAgICAgIGNvbnN0IGNvbW1hbmQgPSBzb3VyY2VJZFRvQ29tbWFuZEtleU1hcFtzb3VyY2VJZEtleV07XG4gICAgICBpZiAoIWlucHV0LlByZVNpZ25lZFVybCAmJiBpc0FSTihpbnB1dFtzb3VyY2VJZEtleV0pICYmIHJlZ2lvbiAhPT0gZ2V0RW5kcG9pbnRGcm9tQVJOKGlucHV0W3NvdXJjZUlkS2V5XSkpIHtcbiAgICAgICAgY29uc3Qgc291cmNlUmVnaW9uID0gZ2V0RW5kcG9pbnRGcm9tQVJOKGlucHV0W3NvdXJjZUlkS2V5XSk7XG4gICAgICAgIGNvbnN0IHJlc29sdmVkRW5kcG9pbnQgPSBhd2FpdCBvcHRpb25zLmVuZHBvaW50KCk7XG4gICAgICAgIHJlc29sdmVkRW5kcG9pbnQuaG9zdG5hbWUgPSBgcmRzLiR7c291cmNlUmVnaW9ufS5hbWF6b25hd3MuY29tYDtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBIdHRwUmVxdWVzdCh7XG4gICAgICAgICAgLi4ucmVzb2x2ZWRFbmRwb2ludCxcbiAgICAgICAgICBwcm90b2NvbDogXCJodHRwc1wiLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgIGhvc3Q6IHJlc29sdmVkRW5kcG9pbnQuaG9zdG5hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBxdWVyeToge1xuICAgICAgICAgICAgQWN0aW9uOiBjb21tYW5kLFxuICAgICAgICAgICAgVmVyc2lvbjogdmVyc2lvbixcbiAgICAgICAgICAgIEttc0tleUlkOiBpbnB1dC5LbXNLZXlJZCxcbiAgICAgICAgICAgIERlc3RpbmF0aW9uUmVnaW9uOiByZWdpb24sXG4gICAgICAgICAgICBbc291cmNlSWRLZXldOiBpbnB1dFtzb3VyY2VJZEtleV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHNpZ25lciA9IG5ldyBTaWduYXR1cmVWNCh7XG4gICAgICAgICAgY3JlZGVudGlhbHM6IG9wdGlvbnMuY3JlZGVudGlhbHMsXG4gICAgICAgICAgcmVnaW9uOiBzb3VyY2VSZWdpb24sXG4gICAgICAgICAgc2VydmljZTogXCJyZHNcIixcbiAgICAgICAgICBzaGEyNTY6IG9wdGlvbnMuc2hhMjU2LFxuICAgICAgICAgIHVyaUVzY2FwZVBhdGg6IG9wdGlvbnMuc2lnbmluZ0VzY2FwZVBhdGgsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBwcmVzaWduZWRSZXF1ZXN0ID0gYXdhaXQgc2lnbmVyLnByZXNpZ24ocmVxdWVzdCwge1xuICAgICAgICAgIGV4cGlyZXNJbjogMzYwMCxcbiAgICAgICAgfSk7XG4gICAgICAgIGFyZ3MgPSB7XG4gICAgICAgICAgLi4uYXJncyxcbiAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgLi4uYXJncy5pbnB1dCxcbiAgICAgICAgICAgIFByZVNpZ25lZFVybDogZm9ybWF0VXJsKHByZXNpZ25lZFJlcXVlc3QpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV4dChhcmdzKTtcbiAgICB9O1xufVxuXG5leHBvcnQgY29uc3QgY3Jvc3NSZWdpb25QcmVzaWduZWRVcmxNaWRkbGV3YXJlT3B0aW9uczogSW5pdGlhbGl6ZUhhbmRsZXJPcHRpb25zID0ge1xuICBzdGVwOiBcImluaXRpYWxpemVcIixcbiAgdGFnczogW1wiQ1JPU1NfUkVHSU9OX1BSRVNJR05FRF9VUkxcIl0sXG4gIG5hbWU6IFwiY3Jvc3NSZWdpb25QcmVzaWduZWRVcmxNaWRkbGV3YXJlXCIsXG4gIG92ZXJyaWRlOiB0cnVlLFxufTtcblxuZXhwb3J0IGNvbnN0IGdldENyb3NzUmVnaW9uUHJlc2lnbmVkVXJsUGx1Z2luID0gKGNvbmZpZzogUHJldmlvdXNseVJlc29sdmVkKTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IChjbGllbnRTdGFjaykgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZChjcm9zc1JlZ2lvblByZXNpZ25lZFVybE1pZGRsZXdhcmUoY29uZmlnKSwgY3Jvc3NSZWdpb25QcmVzaWduZWRVcmxNaWRkbGV3YXJlT3B0aW9ucyk7XG4gIH0sXG59KTtcblxuZnVuY3Rpb24gaXNBUk4oaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICBpZiAoIWlkKSByZXR1cm4gZmFsc2U7XG4gIHJldHVybiByZWdBUk4udGVzdChpZCk7XG59XG5cbmZ1bmN0aW9uIGdldEVuZHBvaW50RnJvbUFSTihhcm46IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGFybkFyciA9IGFybi5zcGxpdChcIjpcIik7XG4gIGlmIChhcm5BcnIubGVuZ3RoIDwgNCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGluZmVyIGVuZHBvaW50IGZyb20gJyR7YXJufSdgKTtcbiAgfVxuICByZXR1cm4gYXJuQXJyWzNdO1xufVxuIl19
|