@aws-sdk/middleware-sdk-rds 3.34.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 CHANGED
@@ -3,6 +3,14 @@
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
+
6
14
  # [3.34.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.33.0...v3.34.0) (2021-09-24)
7
15
 
8
16
 
@@ -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
@@ -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,27 +1,27 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-sdk-rds",
3
- "version": "3.34.0",
3
+ "version": "3.35.0",
4
4
  "scripts": {
5
5
  "build": "yarn build:cjs && yarn build:es && yarn build:types",
6
6
  "build:cjs": "tsc -p tsconfig.cjs.json",
7
7
  "build:es": "tsc -p tsconfig.es.json",
8
8
  "build:types": "tsc -p tsconfig.types.json",
9
- "downlevel-dts": "downlevel-dts dist/types dist/types/ts3.4",
9
+ "downlevel-dts": "downlevel-dts dist-types dist-types/ts3.4",
10
10
  "test": "jest"
11
11
  },
12
- "main": "./dist/cjs/index.js",
13
- "module": "./dist/es/index.js",
14
- "types": "./dist/types/index.d.ts",
12
+ "main": "./dist-cjs/index.js",
13
+ "module": "./dist-es/index.js",
14
+ "types": "./dist-types/index.d.ts",
15
15
  "author": {
16
16
  "name": "AWS SDK for JavaScript Team",
17
17
  "url": "https://aws.amazon.com/javascript/"
18
18
  },
19
19
  "license": "Apache-2.0",
20
20
  "dependencies": {
21
- "@aws-sdk/protocol-http": "3.34.0",
22
- "@aws-sdk/signature-v4": "3.34.0",
23
- "@aws-sdk/types": "3.34.0",
24
- "@aws-sdk/util-format-url": "3.34.0",
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",
25
25
  "tslib": "^2.3.0"
26
26
  },
27
27
  "devDependencies": {
@@ -34,8 +34,8 @@
34
34
  },
35
35
  "typesVersions": {
36
36
  "<4.0": {
37
- "dist/types/*": [
38
- "dist/types/ts3.4/*"
37
+ "dist-types/*": [
38
+ "dist-types/ts3.4/*"
39
39
  ]
40
40
  }
41
41
  },
package/tsconfig.cjs.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  "baseUrl": ".",
4
- "outDir": "dist/cjs",
4
+ "outDir": "dist-cjs",
5
5
  "rootDir": "src"
6
6
  },
7
7
  "extends": "../../tsconfig.cjs.json",
package/tsconfig.es.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "compilerOptions": {
3
3
  "baseUrl": ".",
4
4
  "lib": ["es5", "es2015.promise", "es2015.collection", "es2015.iterable", "es2015.symbol.wellknown"],
5
- "outDir": "dist/es",
5
+ "outDir": "dist-es",
6
6
  "rootDir": "src"
7
7
  },
8
8
  "extends": "../../tsconfig.es.json",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  "baseUrl": ".",
4
- "declarationDir": "dist/types",
4
+ "declarationDir": "dist-types",
5
5
  "rootDir": "src"
6
6
  },
7
7
  "extends": "../../tsconfig.types.json",
@@ -1,26 +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
- 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQWEsVUFBVTtJQUVyQixZQUFZLE1BQStDLElBQUcsQ0FBQztJQUUvRCxNQUFNLENBQUMsSUFBaUIsSUFBRyxDQUFDO0lBQzVCLE1BQU07UUFDSixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0Y7QUFSRCxnQ0FRQztBQUVNLE1BQU0sTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7QUFBOUMsUUFBQSxNQUFNLFVBQXdDO0FBRXBELE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRSxDQUMzQixPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ2QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLEdBQUc7SUFDVCxRQUFRLEVBQUUsK0JBQStCO0NBQzFDLENBQUMsQ0FBQztBQUxRLFFBQUEsUUFBUSxZQUtoQjtBQUVFLE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRSxDQUM5QixPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ2QsV0FBVyxFQUFFLE1BQU07SUFDbkIsZUFBZSxFQUFFLFFBQVE7SUFDekIsWUFBWSxFQUFFLFNBQVM7Q0FDeEIsQ0FBQyxDQUFDO0FBTFEsUUFBQSxXQUFXLGVBS25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU291cmNlRGF0YSB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgY2xhc3MgTW9ja1NoYTI1NiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgY29uc3RydWN0b3Ioc2VjcmV0Pzogc3RyaW5nIHwgQXJyYXlCdWZmZXIgfCBBcnJheUJ1ZmZlclZpZXcpIHt9XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgdXBkYXRlKGRhdGE/OiBTb3VyY2VEYXRhKSB7fVxuICBkaWdlc3QoKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgVWludDhBcnJheSg1KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHJlZ2lvbiA9ICgpID0+IFByb21pc2UucmVzb2x2ZShcIm1vY2stcmVnaW9uXCIpO1xuXG5leHBvcnQgY29uc3QgZW5kcG9pbnQgPSAoKSA9PlxuICBQcm9taXNlLnJlc29sdmUoe1xuICAgIHByb3RvY29sOiBcImh0dHBzOlwiLFxuICAgIHBhdGg6IFwiL1wiLFxuICAgIGhvc3RuYW1lOiBcImVjMi5tb2NrLXJlZ2lvbi5hbWF6b25hd3MuY29tXCIsXG4gIH0pO1xuXG5leHBvcnQgY29uc3QgY3JlZGVudGlhbHMgPSAoKSA9PlxuICBQcm9taXNlLnJlc29sdmUoe1xuICAgIGFjY2Vzc0tleUlkOiBcImFraWRcIixcbiAgICBzZWNyZXRBY2Nlc3NLZXk6IFwic2VjcmV0XCIsXG4gICAgc2Vzc2lvblRva2VuOiBcInNlc3Npb25cIixcbiAgfSk7XG4iXX0=
package/dist/cjs/index.js DELETED
@@ -1,88 +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
- 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQXFEO0FBQ3JELHdEQUFvRDtBQWNwRCw4REFBcUQ7QUFFckQsTUFBTSxNQUFNLEdBQUcsbUdBQW1HLENBQUM7QUFFbkgsTUFBTSx1QkFBdUIsR0FBOEI7SUFDekQsMEJBQTBCLEVBQUUsZ0JBQWdCO0lBQzVDLDBCQUEwQixFQUFFLDZCQUE2QjtJQUN6RCwyQkFBMkIsRUFBRSxpQkFBaUI7SUFDOUMsaUNBQWlDLEVBQUUsdUJBQXVCO0lBQzFELG1CQUFtQixFQUFFLDRDQUE0QztDQUNsRSxDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDO0FBYzdCLFNBQWdCLGlDQUFpQyxDQUFDLE9BQTJCO0lBQzNFLE9BQU8sQ0FBZ0MsSUFBb0MsRUFBa0MsRUFBRSxDQUM3RyxLQUFLLEVBQUUsSUFBcUMsRUFBNEMsRUFBRTtRQUN4RixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUM5RSxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQyxNQUFNLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksTUFBTSxLQUFLLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFO1lBQ3pHLE1BQU0sWUFBWSxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzVELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEQsZ0JBQWdCLENBQUMsUUFBUSxHQUFHLE9BQU8sWUFBWSxnQkFBZ0IsQ0FBQztZQUNoRSxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFXLENBQUM7Z0JBQzlCLEdBQUcsZ0JBQWdCO2dCQUNuQixRQUFRLEVBQUUsT0FBTztnQkFDakIsT0FBTyxFQUFFO29CQUNQLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRO2lCQUNoQztnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsTUFBTSxFQUFFLE9BQU87b0JBQ2YsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtvQkFDeEIsaUJBQWlCLEVBQUUsTUFBTTtvQkFDekIsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDO2lCQUNsQzthQUNGLENBQUMsQ0FBQztZQUNILE1BQU0sTUFBTSxHQUFHLElBQUksMEJBQVcsQ0FBQztnQkFDN0IsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO2dCQUNoQyxNQUFNLEVBQUUsWUFBWTtnQkFDcEIsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2dCQUN0QixhQUFhLEVBQUUsT0FBTyxDQUFDLGlCQUFpQjthQUN6QyxDQUFDLENBQUM7WUFDSCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQ3JELFNBQVMsRUFBRSxJQUFJO2FBQ2hCLENBQUMsQ0FBQztZQUNILElBQUksR0FBRztnQkFDTCxHQUFHLElBQUk7Z0JBQ1AsS0FBSyxFQUFFO29CQUNMLEdBQUcsSUFBSSxDQUFDLEtBQUs7b0JBQ2IsWUFBWSxFQUFFLDJCQUFTLENBQUMsZ0JBQWdCLENBQUM7aUJBQzFDO2FBQ0YsQ0FBQztTQUNIO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQWxERCw4RUFrREM7QUFFWSxRQUFBLHdDQUF3QyxHQUE2QjtJQUNoRixJQUFJLEVBQUUsWUFBWTtJQUNsQixJQUFJLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztJQUNwQyxJQUFJLEVBQUUsbUNBQW1DO0lBQ3pDLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVLLE1BQU0sZ0NBQWdDLEdBQUcsQ0FBQyxNQUEwQixFQUF1QixFQUFFLENBQUMsQ0FBQztJQUNwRyxZQUFZLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUM1QixXQUFXLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLGdEQUF3QyxDQUFDLENBQUM7SUFDdkcsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUpVLFFBQUEsZ0NBQWdDLG9DQUkxQztBQUVILFNBQVMsS0FBSyxDQUFDLEVBQXNCO0lBQ25DLElBQUksQ0FBQyxFQUFFO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDdEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3pCLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLEdBQVc7SUFDckMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEdBQUcsR0FBRyxDQUFDLENBQUM7S0FDeEQ7SUFDRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGF3cy1zZGsvcHJvdG9jb2wtaHR0cFwiO1xuaW1wb3J0IHsgU2lnbmF0dXJlVjQgfSBmcm9tIFwiQGF3cy1zZGsvc2lnbmF0dXJlLXY0XCI7XG5pbXBvcnQge1xuICBDcmVkZW50aWFscyxcbiAgRW5kcG9pbnQsXG4gIEhhc2hDb25zdHJ1Y3RvcixcbiAgSW5pdGlhbGl6ZUhhbmRsZXIsXG4gIEluaXRpYWxpemVIYW5kbGVyQXJndW1lbnRzLFxuICBJbml0aWFsaXplSGFuZGxlck9wdGlvbnMsXG4gIEluaXRpYWxpemVIYW5kbGVyT3V0cHV0LFxuICBJbml0aWFsaXplTWlkZGxld2FyZSxcbiAgTWV0YWRhdGFCZWFyZXIsXG4gIFBsdWdnYWJsZSxcbiAgUHJvdmlkZXIsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgZm9ybWF0VXJsIH0gZnJvbSBcIkBhd3Mtc2RrL3V0aWwtZm9ybWF0LXVybFwiO1xuXG5jb25zdCByZWdBUk4gPSAvYXJuOltcXHcrPS8sLkAtXSs6W1xcdys9LywuQC1dKzooW1xcdys9LywuQC1dKik/OlswLTldKzpbXFx3Kz0vLC5ALV0rKDpbXFx3Kz0vLC5ALV0rKT8oOltcXHcrPS8sLkAtXSspPy87XG5cbmNvbnN0IHNvdXJjZUlkVG9Db21tYW5kS2V5TWFwOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICBTb3VyY2VEQlNuYXBzaG90SWRlbnRpZmllcjogXCJDb3B5REJTbmFwc2hvdFwiLFxuICBTb3VyY2VEQkluc3RhbmNlSWRlbnRpZmllcjogXCJDcmVhdGVEQkluc3RhbmNlUmVhZFJlcGxpY2FcIixcbiAgUmVwbGljYXRpb25Tb3VyY2VJZGVudGlmaWVyOiBcIkNyZWF0ZURCQ2x1c3RlclwiLCAvLyBUaGlzIGtleSBpcyBvcHRpb25hbC5cbiAgU291cmNlREJDbHVzdGVyU25hcHNob3RJZGVudGlmaWVyOiBcIkNvcHlEQkNsdXN0ZXJTbmFwc2hvdFwiLFxuICBTb3VyY2VEQkluc3RhbmNlQXJuOiBcIlN0YXJ0REJJbnN0YW5jZUF1dG9tYXRlZEJhY2t1cHNSZXBsaWNhdGlvblwiLFxufTtcblxuY29uc3QgdmVyc2lvbiA9IFwiMjAxNC0xMC0zMVwiO1xuXG5pbnRlcmZhY2UgUHJldmlvdXNseVJlc29sdmVkIHtcbiAgY3JlZGVudGlhbHM6IFByb3ZpZGVyPENyZWRlbnRpYWxzPjtcbiAgZW5kcG9pbnQ6IFByb3ZpZGVyPEVuZHBvaW50PjtcbiAgcmVnaW9uOiBQcm92aWRlcjxzdHJpbmc+O1xuICBzaGEyNTY6IEhhc2hDb25zdHJ1Y3RvcjtcbiAgc2lnbmluZ0VzY2FwZVBhdGg6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ29uZmlnIG9mIHRoZSBtaWRkbGV3YXJlIHRvIGF1dG9tYXRpY2FsbHkgYWRkIHByZXNpZ25lZCBVUkwgdG8gcmVxdWVzdC5cbiAqIFRoZSBwcmVzaWduZWQgVVJMIGlzIGdlbmVyYXRlZCBieSBzaWdWNFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3Jvc3NSZWdpb25QcmVzaWduZWRVcmxNaWRkbGV3YXJlKG9wdGlvbnM6IFByZXZpb3VzbHlSZXNvbHZlZCk6IEluaXRpYWxpemVNaWRkbGV3YXJlPGFueSwgYW55PiB7XG4gIHJldHVybiA8T3V0cHV0IGV4dGVuZHMgTWV0YWRhdGFCZWFyZXI+KG5leHQ6IEluaXRpYWxpemVIYW5kbGVyPGFueSwgT3V0cHV0Pik6IEluaXRpYWxpemVIYW5kbGVyPGFueSwgT3V0cHV0PiA9PlxuICAgIGFzeW5jIChhcmdzOiBJbml0aWFsaXplSGFuZGxlckFyZ3VtZW50czxhbnk+KTogUHJvbWlzZTxJbml0aWFsaXplSGFuZGxlck91dHB1dDxPdXRwdXQ+PiA9PiB7XG4gICAgICBjb25zdCB7IGlucHV0IH0gPSBhcmdzO1xuICAgICAgY29uc3QgcmVnaW9uID0gYXdhaXQgb3B0aW9ucy5yZWdpb24oKTtcbiAgICAgIGNvbnN0IHNvdXJjZUlkS2V5ID0gT2JqZWN0LmtleXMoc291cmNlSWRUb0NvbW1hbmRLZXlNYXApLmZpbHRlcigoc291cmNlS2V5SWQpID0+XG4gICAgICAgIGlucHV0Lmhhc093blByb3BlcnR5KHNvdXJjZUtleUlkKVxuICAgICAgKVswXTtcbiAgICAgIC8vIFNvdXJjZSBpZCBpcyBvcHRpb25hbC5cbiAgICAgIGlmICghc291cmNlSWRLZXkpIHJldHVybiBuZXh0KGFyZ3MpO1xuXG4gICAgICBjb25zdCBjb21tYW5kID0gc291cmNlSWRUb0NvbW1hbmRLZXlNYXBbc291cmNlSWRLZXldO1xuICAgICAgaWYgKCFpbnB1dC5QcmVTaWduZWRVcmwgJiYgaXNBUk4oaW5wdXRbc291cmNlSWRLZXldKSAmJiByZWdpb24gIT09IGdldEVuZHBvaW50RnJvbUFSTihpbnB1dFtzb3VyY2VJZEtleV0pKSB7XG4gICAgICAgIGNvbnN0IHNvdXJjZVJlZ2lvbiA9IGdldEVuZHBvaW50RnJvbUFSTihpbnB1dFtzb3VyY2VJZEtleV0pO1xuICAgICAgICBjb25zdCByZXNvbHZlZEVuZHBvaW50ID0gYXdhaXQgb3B0aW9ucy5lbmRwb2ludCgpO1xuICAgICAgICByZXNvbHZlZEVuZHBvaW50Lmhvc3RuYW1lID0gYHJkcy4ke3NvdXJjZVJlZ2lvbn0uYW1hem9uYXdzLmNvbWA7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgSHR0cFJlcXVlc3Qoe1xuICAgICAgICAgIC4uLnJlc29sdmVkRW5kcG9pbnQsXG4gICAgICAgICAgcHJvdG9jb2w6IFwiaHR0cHNcIixcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICBob3N0OiByZXNvbHZlZEVuZHBvaW50Lmhvc3RuYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcXVlcnk6IHtcbiAgICAgICAgICAgIEFjdGlvbjogY29tbWFuZCxcbiAgICAgICAgICAgIFZlcnNpb246IHZlcnNpb24sXG4gICAgICAgICAgICBLbXNLZXlJZDogaW5wdXQuS21zS2V5SWQsXG4gICAgICAgICAgICBEZXN0aW5hdGlvblJlZ2lvbjogcmVnaW9uLFxuICAgICAgICAgICAgW3NvdXJjZUlkS2V5XTogaW5wdXRbc291cmNlSWRLZXldLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzaWduZXIgPSBuZXcgU2lnbmF0dXJlVjQoe1xuICAgICAgICAgIGNyZWRlbnRpYWxzOiBvcHRpb25zLmNyZWRlbnRpYWxzLFxuICAgICAgICAgIHJlZ2lvbjogc291cmNlUmVnaW9uLFxuICAgICAgICAgIHNlcnZpY2U6IFwicmRzXCIsXG4gICAgICAgICAgc2hhMjU2OiBvcHRpb25zLnNoYTI1NixcbiAgICAgICAgICB1cmlFc2NhcGVQYXRoOiBvcHRpb25zLnNpZ25pbmdFc2NhcGVQYXRoLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcHJlc2lnbmVkUmVxdWVzdCA9IGF3YWl0IHNpZ25lci5wcmVzaWduKHJlcXVlc3QsIHtcbiAgICAgICAgICBleHBpcmVzSW46IDM2MDAsXG4gICAgICAgIH0pO1xuICAgICAgICBhcmdzID0ge1xuICAgICAgICAgIC4uLmFyZ3MsXG4gICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgIC4uLmFyZ3MuaW5wdXQsXG4gICAgICAgICAgICBQcmVTaWduZWRVcmw6IGZvcm1hdFVybChwcmVzaWduZWRSZXF1ZXN0KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5leHQoYXJncyk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGNyb3NzUmVnaW9uUHJlc2lnbmVkVXJsTWlkZGxld2FyZU9wdGlvbnM6IEluaXRpYWxpemVIYW5kbGVyT3B0aW9ucyA9IHtcbiAgc3RlcDogXCJpbml0aWFsaXplXCIsXG4gIHRhZ3M6IFtcIkNST1NTX1JFR0lPTl9QUkVTSUdORURfVVJMXCJdLFxuICBuYW1lOiBcImNyb3NzUmVnaW9uUHJlc2lnbmVkVXJsTWlkZGxld2FyZVwiLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDcm9zc1JlZ2lvblByZXNpZ25lZFVybFBsdWdpbiA9IChjb25maWc6IFByZXZpb3VzbHlSZXNvbHZlZCk6IFBsdWdnYWJsZTxhbnksIGFueT4gPT4gKHtcbiAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGQoY3Jvc3NSZWdpb25QcmVzaWduZWRVcmxNaWRkbGV3YXJlKGNvbmZpZyksIGNyb3NzUmVnaW9uUHJlc2lnbmVkVXJsTWlkZGxld2FyZU9wdGlvbnMpO1xuICB9LFxufSk7XG5cbmZ1bmN0aW9uIGlzQVJOKGlkOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgaWYgKCFpZCkgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gcmVnQVJOLnRlc3QoaWQpO1xufVxuXG5mdW5jdGlvbiBnZXRFbmRwb2ludEZyb21BUk4oYXJuOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBhcm5BcnIgPSBhcm4uc3BsaXQoXCI6XCIpO1xuICBpZiAoYXJuQXJyLmxlbmd0aCA8IDQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBpbmZlciBlbmRwb2ludCBmcm9tICcke2Fybn0nYCk7XG4gIH1cbiAgcmV0dXJuIGFybkFyclszXTtcbn1cbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFjcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELElBQU0sTUFBTSxHQUFHLG1HQUFtRyxDQUFDO0FBRW5ILElBQU0sdUJBQXVCLEdBQThCO0lBQ3pELDBCQUEwQixFQUFFLGdCQUFnQjtJQUM1QywwQkFBMEIsRUFBRSw2QkFBNkI7SUFDekQsMkJBQTJCLEVBQUUsaUJBQWlCO0lBQzlDLGlDQUFpQyxFQUFFLHVCQUF1QjtJQUMxRCxtQkFBbUIsRUFBRSw0Q0FBNEM7Q0FDbEUsQ0FBQztBQUVGLElBQU0sT0FBTyxHQUFHLFlBQVksQ0FBQztBQVU3Qjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsaUNBQWlDLENBQUMsT0FBMkI7SUFBN0UsaUJBa0RDO0lBakRDLE9BQU8sVUFBZ0MsSUFBb0M7UUFDekUsT0FBQSxVQUFPLElBQXFDOzs7Ozs7d0JBQ2xDLEtBQUssR0FBSyxJQUFJLE1BQVQsQ0FBVTt3QkFDUixxQkFBTSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUE7O3dCQUEvQixNQUFNLEdBQUcsU0FBc0I7d0JBQy9CLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsTUFBTSxDQUFDLFVBQUMsV0FBVzs0QkFDMUUsT0FBQSxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQzt3QkFBakMsQ0FBaUMsQ0FDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDTCx5QkFBeUI7d0JBQ3pCLElBQUksQ0FBQyxXQUFXOzRCQUFFLHNCQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQzt3QkFFOUIsT0FBTyxHQUFH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WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay9wcm90b2NvbC1odHRwXCI7XG5pbXBvcnQgeyBTaWduYXR1cmVWNCB9IGZyb20gXCJAYXdzLXNkay9zaWduYXR1cmUtdjRcIjtcbmltcG9ydCB7XG4gIENyZWRlbnRpYWxzLFxuICBFbmRwb2ludCxcbiAgSGFzaENvbnN0cnVjdG9yLFxuICBJbml0aWFsaXplSGFuZGxlcixcbiAgSW5pdGlhbGl6ZUhhbmRsZXJBcmd1bWVudHMsXG4gIEluaXRpYWxpemVIYW5kbGVyT3B0aW9ucyxcbiAgSW5pdGlhbGl6ZUhhbmRsZXJPdXRwdXQsXG4gIEluaXRpYWxpemVNaWRkbGV3YXJlLFxuICBNZXRhZGF0YUJlYXJlcixcbiAgUGx1Z2dhYmxlLFxuICBQcm92aWRlcixcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBmb3JtYXRVcmwgfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1mb3JtYXQtdXJsXCI7XG5cbmNvbnN0IHJlZ0FSTiA9IC9hcm46W1xcdys9LywuQC1dKzpbXFx3Kz0vLC5ALV0rOihbXFx3Kz0vLC5ALV0qKT86WzAtOV0rOltcXHcrPS8sLkAtXSsoOltcXHcrPS8sLkAtXSspPyg6W1xcdys9LywuQC1dKyk/LztcblxuY29uc3Qgc291cmNlSWRUb0NvbW1hbmRLZXlNYXA6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gIFNvdXJjZURCU25hcHNob3RJZGVudGlmaWVyOiBcIkNvcHlEQlNuYXBzaG90XCIsXG4gIFNvdXJjZURCSW5zdGFuY2VJZGVudGlmaWVyOiBcIkNyZWF0ZURCSW5zdGFuY2VSZWFkUmVwbGljYVwiLFxuICBSZXBsaWNhdGlvblNvdXJjZUlkZW50aWZpZXI6IFwiQ3JlYXRlREJDbHVzdGVyXCIsIC8vIFRoaXMga2V5IGlzIG9wdGlvbmFsLlxuICBTb3VyY2VEQkNsdXN0ZXJTbmFwc2hvdElkZW50aWZpZXI6IFwiQ29weURCQ2x1c3RlclNuYXBzaG90XCIsXG4gIFNvdXJjZURCSW5zdGFuY2VBcm46IFwiU3RhcnREQkluc3RhbmNlQXV0b21hdGVkQmFja3Vwc1JlcGxpY2F0aW9uXCIsXG59O1xuXG5jb25zdCB2ZXJzaW9uID0gXCIyMDE0LTEwLTMxXCI7XG5cbmludGVyZmFjZSBQcmV2aW91c2x5UmVzb2x2ZWQge1xuICBjcmVkZW50aWFsczogUHJvdmlkZXI8Q3JlZGVudGlhbHM+O1xuICBlbmRwb2ludDogUHJvdmlkZXI8RW5kcG9pbnQ+O1xuICByZWdpb246IFByb3ZpZGVyPHN0cmluZz47XG4gIHNoYTI1NjogSGFzaENvbnN0cnVjdG9yO1xuICBzaWduaW5nRXNjYXBlUGF0aDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb25maWcgb2YgdGhlIG1pZGRsZXdhcmUgdG8gYXV0b21hdGljYWxseSBhZGQgcHJlc2lnbmVkIFVSTCB0byByZXF1ZXN0LlxuICogVGhlIHByZXNpZ25lZCBVUkwgaXMgZ2VuZXJhdGVkIGJ5IHNpZ1Y0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcm9zc1JlZ2lvblByZXNpZ25lZFVybE1pZGRsZXdhcmUob3B0aW9uczogUHJldmlvdXNseVJlc29sdmVkKTogSW5pdGlhbGl6ZU1pZGRsZXdhcmU8YW55LCBhbnk+IHtcbiAgcmV0dXJuIDxPdXRwdXQgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlcj4obmV4dDogSW5pdGlhbGl6ZUhhbmRsZXI8YW55LCBPdXRwdXQ+KTogSW5pdGlhbGl6ZUhhbmRsZXI8YW55LCBPdXRwdXQ+ID0+XG4gICAgYXN5bmMgKGFyZ3M6IEluaXRpYWxpemVIYW5kbGVyQXJndW1lbnRzPGFueT4pOiBQcm9taXNlPEluaXRpYWxpemVIYW5kbGVyT3V0cHV0PE91dHB1dD4+ID0+IHtcbiAgICAgIGNvbnN0IHsgaW5wdXQgfSA9IGFyZ3M7XG4gICAgICBjb25zdCByZWdpb24gPSBhd2FpdCBvcHRpb25zLnJlZ2lvbigpO1xuICAgICAgY29uc3Qgc291cmNlSWRLZXkgPSBPYmplY3Qua2V5cyhzb3VyY2VJZFRvQ29tbWFuZEtleU1hcCkuZmlsdGVyKChzb3VyY2VLZXlJZCkgPT5cbiAgICAgICAgaW5wdXQuaGFzT3duUHJvcGVydHkoc291cmNlS2V5SWQpXG4gICAgICApWzBdO1xuICAgICAgLy8gU291cmNlIGlkIGlzIG9wdGlvbmFsLlxuICAgICAgaWYgKCFzb3VyY2VJZEtleSkgcmV0dXJuIG5leHQoYXJncyk7XG5cbiAgICAgIGNvbnN0IGNvbW1hbmQgPSBzb3VyY2VJZFRvQ29tbWFuZEtleU1hcFtzb3VyY2VJZEtleV07XG4gICAgICBpZiAoIWlucHV0LlByZVNpZ25lZFVybCAmJiBpc0FSTihpbnB1dFtzb3VyY2VJZEtleV0pICYmIHJlZ2lvbiAhPT0gZ2V0RW5kcG9pbnRGcm9tQVJOKGlucHV0W3NvdXJjZUlkS2V5XSkpIHtcbiAgICAgICAgY29uc3Qgc291cmNlUmVnaW9uID0gZ2V0RW5kcG9pbnRGcm9tQVJOKGlucHV0W3NvdXJjZUlkS2V5XSk7XG4gICAgICAgIGNvbnN0IHJlc29sdmVkRW5kcG9pbnQgPSBhd2FpdCBvcHRpb25zLmVuZHBvaW50KCk7XG4gICAgICAgIHJlc29sdmVkRW5kcG9pbnQuaG9zdG5hbWUgPSBgcmRzLiR7c291cmNlUmVnaW9ufS5hbWF6b25hd3MuY29tYDtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBIdHRwUmVxdWVzdCh7XG4gICAgICAgICAgLi4ucmVzb2x2ZWRFbmRwb2ludCxcbiAgICAgICAgICBwcm90b2NvbDogXCJodHRwc1wiLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgIGhvc3Q6IHJlc29sdmVkRW5kcG9pbnQuaG9zdG5hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBxdWVyeToge1xuICAgICAgICAgICAgQWN0aW9uOiBjb21tYW5kLFxuICAgICAgICAgICAgVmVyc2lvbjogdmVyc2lvbixcbiAgICAgICAgICAgIEttc0tleUlkOiBpbnB1dC5LbXNLZXlJZCxcbiAgICAgICAgICAgIERlc3RpbmF0aW9uUmVnaW9uOiByZWdpb24sXG4gICAgICAgICAgICBbc291cmNlSWRLZXldOiBpbnB1dFtzb3VyY2VJZEtleV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHNpZ25lciA9IG5ldyBTaWduYXR1cmVWNCh7XG4gICAgICAgICAgY3JlZGVudGlhbHM6IG9wdGlvbnMuY3JlZGVudGlhbHMsXG4gICAgICAgICAgcmVnaW9uOiBzb3VyY2VSZWdpb24sXG4gICAgICAgICAgc2VydmljZTogXCJyZHNcIixcbiAgICAgICAgICBzaGEyNTY6IG9wdGlvbnMuc2hhMjU2LFxuICAgICAgICAgIHVyaUVzY2FwZVBhdGg6IG9wdGlvbnMuc2lnbmluZ0VzY2FwZVBhdGgsXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBwcmVzaWduZWRSZXF1ZXN0ID0gYXdhaXQgc2lnbmVyLnByZXNpZ24ocmVxdWVzdCwge1xuICAgICAgICAgIGV4cGlyZXNJbjogMzYwMCxcbiAgICAgICAgfSk7XG4gICAgICAgIGFyZ3MgPSB7XG4gICAgICAgICAgLi4uYXJncyxcbiAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgLi4uYXJncy5pbnB1dCxcbiAgICAgICAgICAgIFByZVNpZ25lZFVybDogZm9ybWF0VXJsKHByZXNpZ25lZFJlcXVlc3QpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV4dChhcmdzKTtcbiAgICB9O1xufVxuXG5leHBvcnQgY29uc3QgY3Jvc3NSZWdpb25QcmVzaWduZWRVcmxNaWRkbGV3YXJlT3B0aW9uczogSW5pdGlhbGl6ZUhhbmRsZXJPcHRpb25zID0ge1xuICBzdGVwOiBcImluaXRpYWxpemVcIixcbiAgdGFnczogW1wiQ1JPU1NfUkVHSU9OX1BSRVNJR05FRF9VUkxcIl0sXG4gIG5hbWU6IFwiY3Jvc3NSZWdpb25QcmVzaWduZWRVcmxNaWRkbGV3YXJlXCIsXG4gIG92ZXJyaWRlOiB0cnVlLFxufTtcblxuZXhwb3J0IGNvbnN0IGdldENyb3NzUmVnaW9uUHJlc2lnbmVkVXJsUGx1Z2luID0gKGNvbmZpZzogUHJldmlvdXNseVJlc29sdmVkKTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IChjbGllbnRTdGFjaykgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZChjcm9zc1JlZ2lvblByZXNpZ25lZFVybE1pZGRsZXdhcmUoY29uZmlnKSwgY3Jvc3NSZWdpb25QcmVzaWduZWRVcmxNaWRkbGV3YXJlT3B0aW9ucyk7XG4gIH0sXG59KTtcblxuZnVuY3Rpb24gaXNBUk4oaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICBpZiAoIWlkKSByZXR1cm4gZmFsc2U7XG4gIHJldHVybiByZWdBUk4udGVzdChpZCk7XG59XG5cbmZ1bmN0aW9uIGdldEVuZHBvaW50RnJvbUFSTihhcm46IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGFybkFyciA9IGFybi5zcGxpdChcIjpcIik7XG4gIGlmIChhcm5BcnIubGVuZ3RoIDwgNCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGluZmVyIGVuZHBvaW50IGZyb20gJyR7YXJufSdgKTtcbiAgfVxuICByZXR1cm4gYXJuQXJyWzNdO1xufVxuIl19