@aws-cdk/toolkit-lib 0.3.0 → 0.3.2
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/README.md +1 -1
- package/build-info.json +2 -2
- package/db.json.gz +0 -0
- package/lib/api/aws-auth/types.d.ts +79 -1
- package/lib/api/aws-auth/types.js +74 -1
- package/lib/api/cloud-assembly/cached-source.d.ts +1 -0
- package/lib/api/cloud-assembly/cached-source.js +2 -1
- package/lib/api/cloud-assembly/private/borrowed-assembly.d.ts +1 -0
- package/lib/api/cloud-assembly/private/borrowed-assembly.js +2 -1
- package/lib/api/cloud-assembly/private/context-aware-source.js +2 -2
- package/lib/api/cloud-assembly/private/prepare-source.d.ts +1 -0
- package/lib/api/cloud-assembly/private/prepare-source.js +2 -1
- package/lib/api/cloud-assembly/private/source-builder.js +3 -3
- package/lib/api/cloud-assembly/private/stack-assembly.d.ts +1 -0
- package/lib/api/cloud-assembly/private/stack-assembly.js +2 -5
- package/lib/api/shared-private.d.ts +1 -0
- package/lib/api/shared-private.js +99 -49
- package/lib/api/shared-private.js.map +2 -2
- package/lib/api/shared-public.d.ts +162 -0
- package/lib/api/shared-public.js +940 -12
- package/lib/api/shared-public.js.map +4 -4
- package/lib/index_bg.wasm +0 -0
- package/lib/toolkit/private/index.d.ts +2 -1
- package/lib/toolkit/private/index.js +1 -1
- package/lib/toolkit/toolkit.d.ts +17 -0
- package/lib/toolkit/toolkit.js +22 -5
- package/package.json +11 -11
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StackAssembly = void 0;
|
|
4
|
+
require("../../../private/dispose-polyfill");
|
|
4
5
|
const semver_1 = require("semver");
|
|
5
6
|
const shared_private_1 = require("../../shared-private");
|
|
6
7
|
const shared_public_1 = require("../../shared-public");
|
|
7
8
|
const stack_selector_1 = require("../stack-selector");
|
|
8
|
-
if (!Symbol.asyncDispose) {
|
|
9
|
-
// eslint-disable-next-line @cdklabs/no-throw-default-error
|
|
10
|
-
throw new Error('Symbol.asyncDispose is not defined on the current JavaScript platform!');
|
|
11
|
-
}
|
|
12
9
|
/**
|
|
13
10
|
* A single Cloud Assembly wrapped to provide additional stack operations.
|
|
14
11
|
*/
|
|
@@ -109,4 +106,4 @@ function expandToExtendEnum(extend) {
|
|
|
109
106
|
return undefined;
|
|
110
107
|
}
|
|
111
108
|
}
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stYXNzZW1ibHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFjay1hc3NlbWJseS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBK0I7QUFFL0IseURBQStIO0FBQy9ILHVEQUFtRDtBQUVuRCxzREFBaUY7QUFHakYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QiwyREFBMkQ7SUFDM0QsTUFBTSxJQUFJLEtBQUssQ0FBQyx3RUFBd0UsQ0FBQyxDQUFDO0FBQzVGLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQWEsYUFBYyxTQUFRLGtDQUFpQjtJQUNyQjtJQUE3QixZQUE2QixJQUE0QixFQUFFLFFBQWtCO1FBQzNFLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRFQsU0FBSSxHQUFKLElBQUksQ0FBd0I7SUFFekQsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTztRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxjQUFjLENBQUMsUUFBdUI7UUFDakQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMxQixNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ2xDLE1BQU0sU0FBUyxHQUFHLElBQUEsY0FBSyxF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QyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDO1FBQzdHLE9BQU8sSUFBSSxnQ0FBZSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLHlCQUF5QjtRQUM5QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekMsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Q0FDRjtBQXBHRCxzQ0FvR0M7QUFFRCxTQUFTLGtCQUFrQixDQUFDLE1BQTZCO0lBQ3ZELFFBQVEsTUFBTSxFQUFFLENBQUM7UUFDZixLQUFLLHFDQUFvQixDQUFDLFVBQVU7WUFDbEMsT0FBTyx1Q0FBeUIsQ0FBQyxVQUFVLENBQUM7UUFDOUMsS0FBSyxxQ0FBb0IsQ0FBQyxRQUFRO1lBQ2hDLE9BQU8sdUNBQXlCLENBQUMsUUFBUSxDQUFDO1FBQzVDLEtBQUsscUNBQW9CLENBQUMsSUFBSTtZQUM1QixPQUFPLHVDQUF5QixDQUFDLElBQUksQ0FBQztRQUN4QztZQUNFLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFqb3IgfSBmcm9tICdzZW12ZXInO1xuaW1wb3J0IHR5cGUgeyBJb0hlbHBlciB9IGZyb20gJy4uLy4uL3NoYXJlZC1wcml2YXRlJztcbmltcG9ydCB7IEJhc2VTdGFja0Fzc2VtYmx5LCBTdGFja0NvbGxlY3Rpb24sIEV4dGVuZGVkU3RhY2tTZWxlY3Rpb24gYXMgQ2xpRXh0ZW5kZWRTdGFja1NlbGVjdGlvbiB9IGZyb20gJy4uLy4uL3NoYXJlZC1wcml2YXRlJztcbmltcG9ydCB7IFRvb2xraXRFcnJvciB9IGZyb20gJy4uLy4uL3NoYXJlZC1wdWJsaWMnO1xuaW1wb3J0IHR5cGUgeyBTdGFja1NlbGVjdG9yIH0gZnJvbSAnLi4vc3RhY2stc2VsZWN0b3InO1xuaW1wb3J0IHsgRXhwYW5kU3RhY2tTZWxlY3Rpb24sIFN0YWNrU2VsZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICcuLi9zdGFjay1zZWxlY3Rvcic7XG5pbXBvcnQgdHlwZSB7IElSZWFkYWJsZUNsb3VkQXNzZW1ibHkgfSBmcm9tICcuLi90eXBlcyc7XG5cbmlmICghU3ltYm9sLmFzeW5jRGlzcG9zZSkge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGNka2xhYnMvbm8tdGhyb3ctZGVmYXVsdC1lcnJvclxuICB0aHJvdyBuZXcgRXJyb3IoJ1N5bWJvbC5hc3luY0Rpc3Bvc2UgaXMgbm90IGRlZmluZWQgb24gdGhlIGN1cnJlbnQgSmF2YVNjcmlwdCBwbGF0Zm9ybSEnKTtcbn1cblxuLyoqXG4gKiBBIHNpbmdsZSBDbG91ZCBBc3NlbWJseSB3cmFwcGVkIHRvIHByb3ZpZGUgYWRkaXRpb25hbCBzdGFjayBvcGVyYXRpb25zLlxuICovXG5leHBvcnQgY2xhc3MgU3RhY2tBc3NlbWJseSBleHRlbmRzIEJhc2VTdGFja0Fzc2VtYmx5IGltcGxlbWVudHMgSVJlYWRhYmxlQ2xvdWRBc3NlbWJseSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2FzbTogSVJlYWRhYmxlQ2xvdWRBc3NlbWJseSwgaW9IZWxwZXI6IElvSGVscGVyKSB7XG4gICAgc3VwZXIoX2FzbS5jbG91ZEFzc2VtYmx5LCBpb0hlbHBlcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNsb3VkQXNzZW1ibHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FzbS5jbG91ZEFzc2VtYmx5O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIF91bmxvY2soKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FzbS5fdW5sb2NrKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGlzcG9zZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fYXNtLmRpc3Bvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBbU3ltYm9sLmFzeW5jRGlzcG9zZV0oKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzcG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcHJvdmVkIHN0YWNrIHNlbGVjdGlvbiBpbnRlcmZhY2Ugd2l0aCBhIHNpbmdsZSBzZWxlY3RvclxuICAgKiBAdGhyb3dzIHdoZW4gdGhlIGFzc2VtYmx5IGRvZXMgbm90IGNvbnRhaW4gYW55IHN0YWNrcywgdW5sZXNzIGBzZWxlY3Rvci5mYWlsT25FbXB0eWAgaXMgYGZhbHNlYFxuICAgKiBAdGhyb3dzIHdoZW4gaW5kaXZpZHVhbCBzZWxlY3Rpb24gc3RyYXRlZ2llcyBhcmUgbm90IHNhdGlzZmllZFxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNlbGVjdFN0YWNrc1YyKHNlbGVjdG9yOiBTdGFja1NlbGVjdG9yKTogUHJvbWlzZTxTdGFja0NvbGxlY3Rpb24+IHtcbiAgICBjb25zdCBhc20gPSB0aGlzLmFzc2VtYmx5O1xuICAgIGNvbnN0IHRvcExldmVsU3RhY2tzID0gYXNtLnN0YWNrcztcbiAgICBjb25zdCBhbGxTdGFja3MgPSBtYWpvcihhc20udmVyc2lvbikgPCAxMCA/IGFzbS5zdGFja3MgOiBhc20uc3RhY2tzUmVjdXJzaXZlbHk7XG5cbiAgICBpZiAoYWxsU3RhY2tzLmxlbmd0aCA9PT0gMCAmJiAoc2VsZWN0b3IuZmFpbE9uRW1wdHkgPz8gdHJ1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoJ1RoaXMgYXBwIGNvbnRhaW5zIG5vIHN0YWNrcycpO1xuICAgIH1cblxuICAgIGNvbnN0IGV4dGVuZCA9IGV4cGFuZFRvRXh0ZW5kRW51bShzZWxlY3Rvci5leHBhbmQpO1xuICAgIGNvbnN0IHBhdHRlcm5zID0gU3RhY2tBc3NlbWJseS5zYW5pdGl6ZVBhdHRlcm5zKHNlbGVjdG9yLnBhdHRlcm5zID8/IFtdKTtcblxuICAgIHN3aXRjaCAoc2VsZWN0b3Iuc3RyYXRlZ3kpIHtcbiAgICAgIGNhc2UgU3RhY2tTZWxlY3Rpb25TdHJhdGVneS5BTExfU1RBQ0tTOlxuICAgICAgICByZXR1cm4gbmV3IFN0YWNrQ29sbGVjdGlvbih0aGlzLCBhbGxTdGFja3MpO1xuICAgICAgY2FzZSBTdGFja1NlbGVjdGlvblN0cmF0ZWd5Lk1BSU5fQVNTRU1CTFk6XG4gICAgICAgIGlmICh0b3BMZXZlbFN0YWNrcy5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgLy8gQHRvZG8gdGV4dCBzaG91bGQgcHJvYmFibHkgYmUgaGFuZGxlZCBpbiBpbyBob3N0XG4gICAgICAgICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcignTm8gc3RhY2sgZm91bmQgaW4gdGhlIG1haW4gY2xvdWQgYXNzZW1ibHkuIFVzZSBcImxpc3RcIiB0byBwcmludCBtYW5pZmVzdCcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmV4dGVuZFN0YWNrcyh0b3BMZXZlbFN0YWNrcywgYWxsU3RhY2tzLCBleHRlbmQpO1xuICAgICAgY2FzZSBTdGFja1NlbGVjdGlvblN0cmF0ZWd5Lk9OTFlfU0lOR0xFOlxuICAgICAgICBpZiAodG9wTGV2ZWxTdGFja3MubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgLy8gQHRvZG8gdGV4dCBzaG91bGQgcHJvYmFibHkgYmUgaGFuZGxlZCBpbiBpbyBob3N0XG4gICAgICAgICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcignU2luY2UgdGhpcyBhcHAgaW5jbHVkZXMgbW9yZSB0aGFuIGEgc2luZ2xlIHN0YWNrLCBzcGVjaWZ5IHdoaWNoIHN0YWNrcyB0byB1c2UgKHdpbGRjYXJkcyBhcmUgc3VwcG9ydGVkKSBvciBzcGVjaWZ5IGAtLWFsbGBcXG4nICtcbiAgICAgICAgICBgU3RhY2tzOiAke2FsbFN0YWNrcy5tYXAoeCA9PiB4LmhpZXJhcmNoaWNhbElkKS5qb2luKCcgwrcgJyl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBTdGFja0NvbGxlY3Rpb24odGhpcywgdG9wTGV2ZWxTdGFja3MpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgY29uc3QgbWF0Y2hlZCA9IGF3YWl0IHRoaXMuc2VsZWN0TWF0Y2hpbmdTdGFja3MoYWxsU3RhY2tzLCBwYXR0ZXJucywgZXh0ZW5kKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHNlbGVjdG9yLnN0cmF0ZWd5ID09PSBTdGFja1NlbGVjdGlvblN0cmF0ZWd5LlBBVFRFUk5fTVVTVF9NQVRDSF9TSU5HTEVcbiAgICAgICAgICAmJiBtYXRjaGVkLnN0YWNrQ291bnQgIT09IDFcbiAgICAgICAgKSB7XG4gICAgICAgICAgLy8gQHRvZG8gdGV4dCBzaG91bGQgcHJvYmFibHkgYmUgaGFuZGxlZCBpbiBpbyBob3N0XG4gICAgICAgICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcihcbiAgICAgICAgICAgIGBTdGFjayBzZWxlY3Rpb24gaXMgYW1iaWd1b3VzLCBwbGVhc2UgY2hvb3NlIGEgc3BlY2lmaWMgc3RhY2sgZm9yIGltcG9ydCBbJHthbGxTdGFja3MubWFwKHggPT4geC5oaWVyYXJjaGljYWxJZCkuam9pbignLCcpfV1gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHNlbGVjdG9yLnN0cmF0ZWd5ID09PSBTdGFja1NlbGVjdGlvblN0cmF0ZWd5LlBBVFRFUk5fTVVTVF9NQVRDSFxuICAgICAgICAgICYmIG1hdGNoZWQuc3RhY2tDb3VudCA8IDFcbiAgICAgICAgKSB7XG4gICAgICAgICAgLy8gQHRvZG8gdGV4dCBzaG91bGQgcHJvYmFibHkgYmUgaGFuZGxlZCBpbiBpbyBob3N0XG4gICAgICAgICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcihcbiAgICAgICAgICAgIGBTdGFjayBzZWxlY3Rpb24gaXMgYW1iaWd1b3VzLCBwbGVhc2UgY2hvb3NlIGEgc3BlY2lmaWMgc3RhY2sgZm9yIGltcG9ydCBbJHthbGxTdGFja3MubWFwKHggPT4geC5oaWVyYXJjaGljYWxJZCkuam9pbignLCcpfV1gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWF0Y2hlZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGFsbCBzdGFja3MuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIG5ldmVyIHRocm93cyBhbmQgY2FuIHNhZmVseSBiZSB1c2VkIGFzIGEgYmFzaXMgZm9yIG90aGVyIGNhbGN1bGF0aW9ucy5cbiAgICpcbiAgICogQHJldHVybnMgYSBgU3RhY2tDb2xsZWN0aW9uYCBvZiBhbGwgc3RhY2tzXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0QWxsU3RhY2tzKCkge1xuICAgIGNvbnN0IGFsbFN0YWNrcyA9IG1ham9yKHRoaXMuYXNzZW1ibHkudmVyc2lvbikgPCAxMCA/IHRoaXMuYXNzZW1ibHkuc3RhY2tzIDogdGhpcy5hc3NlbWJseS5zdGFja3NSZWN1cnNpdmVseTtcbiAgICByZXR1cm4gbmV3IFN0YWNrQ29sbGVjdGlvbih0aGlzLCBhbGxTdGFja3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBhbGwgc3RhY2tzIHRoYXQgaGF2ZSB0aGUgdmFsaWRhdGVPblN5bnRoIGZsYWcgZXQuXG4gICAqXG4gICAqIEByZXR1cm5zIGEgYFN0YWNrQ29sbGVjdGlvbmAgb2YgYWxsIHN0YWNrcyB0aGF0IG5lZWRzIHRvIGJlIHZhbGlkYXRlZFxuICAgKi9cbiAgcHVibGljIHNlbGVjdFN0YWNrc0ZvclZhbGlkYXRpb24oKSB7XG4gICAgY29uc3QgYWxsU3RhY2tzID0gdGhpcy5zZWxlY3RBbGxTdGFja3MoKTtcbiAgICByZXR1cm4gYWxsU3RhY2tzLmZpbHRlcigoYXJ0KSA9PiBhcnQudmFsaWRhdGVPblN5bnRoID8/IGZhbHNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBleHBhbmRUb0V4dGVuZEVudW0oZXh0ZW5kPzogRXhwYW5kU3RhY2tTZWxlY3Rpb24pOiBDbGlFeHRlbmRlZFN0YWNrU2VsZWN0aW9uIHwgdW5kZWZpbmVkIHtcbiAgc3dpdGNoIChleHRlbmQpIHtcbiAgICBjYXNlIEV4cGFuZFN0YWNrU2VsZWN0aW9uLkRPV05TVFJFQU06XG4gICAgICByZXR1cm4gQ2xpRXh0ZW5kZWRTdGFja1NlbGVjdGlvbi5Eb3duc3RyZWFtO1xuICAgIGNhc2UgRXhwYW5kU3RhY2tTZWxlY3Rpb24uVVBTVFJFQU06XG4gICAgICByZXR1cm4gQ2xpRXh0ZW5kZWRTdGFja1NlbGVjdGlvbi5VcHN0cmVhbTtcbiAgICBjYXNlIEV4cGFuZFN0YWNrU2VsZWN0aW9uLk5PTkU6XG4gICAgICByZXR1cm4gQ2xpRXh0ZW5kZWRTdGFja1NlbGVjdGlvbi5Ob25lO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stYXNzZW1ibHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFjay1hc3NlbWJseS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBMkM7QUFDM0MsbUNBQStCO0FBRS9CLHlEQUErSDtBQUMvSCx1REFBbUQ7QUFFbkQsc0RBQWlGO0FBR2pGOztHQUVHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsa0NBQWlCO0lBQ3JCO0lBQTdCLFlBQTZCLElBQTRCLEVBQUUsUUFBa0I7UUFDM0UsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFEVCxTQUFJLEdBQUosSUFBSSxDQUF3QjtJQUV6RCxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDakMsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU87UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUF1QjtRQUNqRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzFCLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDbEMsTUFBTSxTQUFTLEdBQUcsSUFBQSxjQUFLLEVBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlCQUFp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QUM7SUFFRDs7OztPQUlHO0lBQ0kseUJBQXlCO1FBQzlCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QyxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxlQUFlLElBQUksS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztDQUNGO0FBcEdELHNDQW9HQztBQUVELFNBQVMsa0JBQWtCLENBQUMsTUFBNkI7SUFDdkQsUUFBUSxNQUFNLEVBQUUsQ0FBQztRQUNmLEtBQUsscUNBQW9CLENBQUMsVUFBVTtZQUNsQyxPQUFPLHVDQUF5QixDQUFDLFVBQVUsQ0FBQztRQUM5QyxLQUFLLHFDQUFvQixDQUFDLFFBQVE7WUFDaEMsT0FBTyx1Q0FBeUIsQ0FBQyxRQUFRLENBQUM7UUFDNUMsS0FBSyxxQ0FBb0IsQ0FBQyxJQUFJO1lBQzVCLE9BQU8sdUNBQXlCLENBQUMsSUFBSSxDQUFDO1FBQ3hDO1lBQ0UsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJy4uLy4uLy4uL3ByaXZhdGUvZGlzcG9zZS1wb2x5ZmlsbCc7XG5pbXBvcnQgeyBtYWpvciB9IGZyb20gJ3NlbXZlcic7XG5pbXBvcnQgdHlwZSB7IElvSGVscGVyIH0gZnJvbSAnLi4vLi4vc2hhcmVkLXByaXZhdGUnO1xuaW1wb3J0IHsgQmFzZVN0YWNrQXNzZW1ibHksIFN0YWNrQ29sbGVjdGlvbiwgRXh0ZW5kZWRTdGFja1NlbGVjdGlvbiBhcyBDbGlFeHRlbmRlZFN0YWNrU2VsZWN0aW9uIH0gZnJvbSAnLi4vLi4vc2hhcmVkLXByaXZhdGUnO1xuaW1wb3J0IHsgVG9vbGtpdEVycm9yIH0gZnJvbSAnLi4vLi4vc2hhcmVkLXB1YmxpYyc7XG5pbXBvcnQgdHlwZSB7IFN0YWNrU2VsZWN0b3IgfSBmcm9tICcuLi9zdGFjay1zZWxlY3Rvcic7XG5pbXBvcnQgeyBFeHBhbmRTdGFja1NlbGVjdGlvbiwgU3RhY2tTZWxlY3Rpb25TdHJhdGVneSB9IGZyb20gJy4uL3N0YWNrLXNlbGVjdG9yJztcbmltcG9ydCB0eXBlIHsgSVJlYWRhYmxlQ2xvdWRBc3NlbWJseSB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiBBIHNpbmdsZSBDbG91ZCBBc3NlbWJseSB3cmFwcGVkIHRvIHByb3ZpZGUgYWRkaXRpb25hbCBzdGFjayBvcGVyYXRpb25zLlxuICovXG5leHBvcnQgY2xhc3MgU3RhY2tBc3NlbWJseSBleHRlbmRzIEJhc2VTdGFja0Fzc2VtYmx5IGltcGxlbWVudHMgSVJlYWRhYmxlQ2xvdWRBc3NlbWJseSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2FzbTogSVJlYWRhYmxlQ2xvdWRBc3NlbWJseSwgaW9IZWxwZXI6IElvSGVscGVyKSB7XG4gICAgc3VwZXIoX2FzbS5jbG91ZEFzc2VtYmx5LCBpb0hlbHBlcik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNsb3VkQXNzZW1ibHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FzbS5jbG91ZEFzc2VtYmx5O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIF91bmxvY2soKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FzbS5fdW5sb2NrKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGlzcG9zZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fYXNtLmRpc3Bvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBbU3ltYm9sLmFzeW5jRGlzcG9zZV0oKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzcG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcHJvdmVkIHN0YWNrIHNlbGVjdGlvbiBpbnRlcmZhY2Ugd2l0aCBhIHNpbmdsZSBzZWxlY3RvclxuICAgKiBAdGhyb3dzIHdoZW4gdGhlIGFzc2VtYmx5IGRvZXMgbm90IGNvbnRhaW4gYW55IHN0YWNrcywgdW5sZXNzIGBzZWxlY3Rvci5mYWlsT25FbXB0eWAgaXMgYGZhbHNlYFxuICAgKiBAdGhyb3dzIHdoZW4gaW5kaXZpZHVhbCBzZWxlY3Rpb24gc3RyYXRlZ2llcyBhcmUgbm90IHNhdGlzZmllZFxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNlbGVjdFN0YWNrc1YyKHNlbGVjdG9yOiBTdGFja1NlbGVjdG9yKTogUHJvbWlzZTxTdGFja0NvbGxlY3Rpb24+IHtcbiAgICBjb25zdCBhc20gPSB0aGlzLmFzc2VtYmx5O1xuICAgIGNvbnN0IHRvcExldmVsU3RhY2tzID0gYXNtLnN0YWNrcztcbiAgICBjb25zdCBhbGxTdGFja3MgPSBtYWpvcihhc20udmVyc2lvbikgPCAxMCA/IGFzbS5zdGFja3MgOiBhc20uc3RhY2tzUmVjdXJzaXZlbHk7XG5cbiAgICBpZiAoYWxsU3RhY2tzLmxlbmd0aCA9PT0gMCAmJiAoc2VsZWN0b3IuZmFpbE9uRW1wdHkgPz8gdHJ1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBUb29sa2l0RXJyb3IoJ1RoaXMgYXBwIGNvbnRhaW5zIG5vIHN0YWNrcycpO1xuICAgIH1cblxuICAgIGNvbnN0IGV4dGVuZCA9IGV4cGFuZFRvRXh0ZW5kRW51bShzZWxlY3Rvci5leHBhbmQpO1xuICAgIGNvbnN0IHBhdHRlcm5zID0gU3RhY2tBc3NlbWJseS5zYW5pdGl6ZVBhdHRlcm5zKHNlbGVjdG9yLnBhdHRlcm5zID8/IFtdKTtcblxuICAgIHN3aXRjaCAoc2VsZWN0b3Iuc3RyYXRlZ3kpIHtcbiAgICAgIGNhc2UgU3RhY2tTZWxlY3Rpb25TdHJhdGVneS5BTExfU1RBQ0tTOlxuICAgICAgICByZXR1cm4gbmV3IFN0YWNrQ29sbGVjdGlvbih0aGlzLCBhbGxTdGFja3MpO1xuICAgICAgY2FzZSBTdGFja1NlbGVjdGlvblN0cmF0ZWd5Lk1BSU5fQVNTRU1CTFk6XG4gICAgICAgIGlmICh0b3BMZXZlbFN0YWNrcy5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgLy8gQHRvZG8gdGV4dCBzaG91bGQgcHJvYmFibHkgYmUgaGFuZGxlZCBpbiBpbyBob3N0XG4gICAgICAgICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcignTm8gc3RhY2sgZm91bmQgaW4gdGhlIG1haW4gY2xvdWQgYXNzZW1ibHkuIFVzZSBcImxpc3RcIiB0byBwcmludCBtYW5pZmVzdCcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmV4dGVuZFN0YWNrcyh0b3BMZXZlbFN0YWNrcywgYWxsU3RhY2tzLCBleHRlbmQpO1xuICAgICAgY2FzZSBTdGFja1NlbGVjdGlvblN0cmF0ZWd5Lk9OTFlfU0lOR0xFOlxuICAgICAgICBpZiAodG9wTGV2ZWxTdGFja3MubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgLy8gQHRvZG8gdGV4dCBzaG91bGQgcHJvYmFibHkgYmUgaGFuZGxlZCBpbiBpbyBob3N0XG4gICAgICAgICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcignU2luY2UgdGhpcyBhcHAgaW5jbHVkZXMgbW9yZSB0aGFuIGEgc2luZ2xlIHN0YWNrLCBzcGVjaWZ5IHdoaWNoIHN0YWNrcyB0byB1c2UgKHdpbGRjYXJkcyBhcmUgc3VwcG9ydGVkKSBvciBzcGVjaWZ5IGAtLWFsbGBcXG4nICtcbiAgICAgICAgICBgU3RhY2tzOiAke2FsbFN0YWNrcy5tYXAoeCA9PiB4LmhpZXJhcmNoaWNhbElkKS5qb2luKCcgwrcgJyl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBTdGFja0NvbGxlY3Rpb24odGhpcywgdG9wTGV2ZWxTdGFja3MpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgY29uc3QgbWF0Y2hlZCA9IGF3YWl0IHRoaXMuc2VsZWN0TWF0Y2hpbmdTdGFja3MoYWxsU3RhY2tzLCBwYXR0ZXJucywgZXh0ZW5kKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHNlbGVjdG9yLnN0cmF0ZWd5ID09PSBTdGFja1NlbGVjdGlvblN0cmF0ZWd5LlBBVFRFUk5fTVVTVF9NQVRDSF9TSU5HTEVcbiAgICAgICAgICAmJiBtYXRjaGVkLnN0YWNrQ291bnQgIT09IDFcbiAgICAgICAgKSB7XG4gICAgICAgICAgLy8gQHRvZG8gdGV4dCBzaG91bGQgcHJvYmFibHkgYmUgaGFuZGxlZCBpbiBpbyBob3N0XG4gICAgICAgICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcihcbiAgICAgICAgICAgIGBTdGFjayBzZWxlY3Rpb24gaXMgYW1iaWd1b3VzLCBwbGVhc2UgY2hvb3NlIGEgc3BlY2lmaWMgc3RhY2sgZm9yIGltcG9ydCBbJHthbGxTdGFja3MubWFwKHggPT4geC5oaWVyYXJjaGljYWxJZCkuam9pbignLCcpfV1gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHNlbGVjdG9yLnN0cmF0ZWd5ID09PSBTdGFja1NlbGVjdGlvblN0cmF0ZWd5LlBBVFRFUk5fTVVTVF9NQVRDSFxuICAgICAgICAgICYmIG1hdGNoZWQuc3RhY2tDb3VudCA8IDFcbiAgICAgICAgKSB7XG4gICAgICAgICAgLy8gQHRvZG8gdGV4dCBzaG91bGQgcHJvYmFibHkgYmUgaGFuZGxlZCBpbiBpbyBob3N0XG4gICAgICAgICAgdGhyb3cgbmV3IFRvb2xraXRFcnJvcihcbiAgICAgICAgICAgIGBTdGFjayBzZWxlY3Rpb24gaXMgYW1iaWd1b3VzLCBwbGVhc2UgY2hvb3NlIGEgc3BlY2lmaWMgc3RhY2sgZm9yIGltcG9ydCBbJHthbGxTdGFja3MubWFwKHggPT4geC5oaWVyYXJjaGljYWxJZCkuam9pbignLCcpfV1gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWF0Y2hlZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGFsbCBzdGFja3MuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIG5ldmVyIHRocm93cyBhbmQgY2FuIHNhZmVseSBiZSB1c2VkIGFzIGEgYmFzaXMgZm9yIG90aGVyIGNhbGN1bGF0aW9ucy5cbiAgICpcbiAgICogQHJldHVybnMgYSBgU3RhY2tDb2xsZWN0aW9uYCBvZiBhbGwgc3RhY2tzXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0QWxsU3RhY2tzKCkge1xuICAgIGNvbnN0IGFsbFN0YWNrcyA9IG1ham9yKHRoaXMuYXNzZW1ibHkudmVyc2lvbikgPCAxMCA/IHRoaXMuYXNzZW1ibHkuc3RhY2tzIDogdGhpcy5hc3NlbWJseS5zdGFja3NSZWN1cnNpdmVseTtcbiAgICByZXR1cm4gbmV3IFN0YWNrQ29sbGVjdGlvbih0aGlzLCBhbGxTdGFja3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBhbGwgc3RhY2tzIHRoYXQgaGF2ZSB0aGUgdmFsaWRhdGVPblN5bnRoIGZsYWcgZXQuXG4gICAqXG4gICAqIEByZXR1cm5zIGEgYFN0YWNrQ29sbGVjdGlvbmAgb2YgYWxsIHN0YWNrcyB0aGF0IG5lZWRzIHRvIGJlIHZhbGlkYXRlZFxuICAgKi9cbiAgcHVibGljIHNlbGVjdFN0YWNrc0ZvclZhbGlkYXRpb24oKSB7XG4gICAgY29uc3QgYWxsU3RhY2tzID0gdGhpcy5zZWxlY3RBbGxTdGFja3MoKTtcbiAgICByZXR1cm4gYWxsU3RhY2tzLmZpbHRlcigoYXJ0KSA9PiBhcnQudmFsaWRhdGVPblN5bnRoID8/IGZhbHNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBleHBhbmRUb0V4dGVuZEVudW0oZXh0ZW5kPzogRXhwYW5kU3RhY2tTZWxlY3Rpb24pOiBDbGlFeHRlbmRlZFN0YWNrU2VsZWN0aW9uIHwgdW5kZWZpbmVkIHtcbiAgc3dpdGNoIChleHRlbmQpIHtcbiAgICBjYXNlIEV4cGFuZFN0YWNrU2VsZWN0aW9uLkRPV05TVFJFQU06XG4gICAgICByZXR1cm4gQ2xpRXh0ZW5kZWRTdGFja1NlbGVjdGlvbi5Eb3duc3RyZWFtO1xuICAgIGNhc2UgRXhwYW5kU3RhY2tTZWxlY3Rpb24uVVBTVFJFQU06XG4gICAgICByZXR1cm4gQ2xpRXh0ZW5kZWRTdGFja1NlbGVjdGlvbi5VcHN0cmVhbTtcbiAgICBjYXNlIEV4cGFuZFN0YWNrU2VsZWN0aW9uLk5PTkU6XG4gICAgICByZXR1cm4gQ2xpRXh0ZW5kZWRTdGFja1NlbGVjdGlvbi5Ob25lO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
|
|
@@ -2,4 +2,5 @@ export * from '../../../tmp-toolkit-helpers/src/api/io/private';
|
|
|
2
2
|
export * from '../../../tmp-toolkit-helpers/src/private';
|
|
3
3
|
export * from '../../../tmp-toolkit-helpers/src/api';
|
|
4
4
|
export * as cfnApi from '../../../tmp-toolkit-helpers/src/api/deployments/cfn-api';
|
|
5
|
+
export { makeRequestHandler } from '../../../tmp-toolkit-helpers/src/api/aws-auth/awscli-compatible';
|
|
5
6
|
export * as contextproviders from '../../../tmp-toolkit-helpers/src/context-providers';
|
|
@@ -156,6 +156,7 @@ __export(shared_private_exports, {
|
|
|
156
156
|
loadTree: () => loadTree,
|
|
157
157
|
loadTreeFromDir: () => loadTreeFromDir,
|
|
158
158
|
makeBodyParameter: () => makeBodyParameter,
|
|
159
|
+
makeRequestHandler: () => makeRequestHandler,
|
|
159
160
|
markTesting: () => markTesting,
|
|
160
161
|
nonHotswappableChange: () => nonHotswappableChange,
|
|
161
162
|
nonHotswappableResource: () => nonHotswappableResource,
|
|
@@ -2468,8 +2469,20 @@ var DEFAULT_CONNECTION_TIMEOUT = 1e4;
|
|
|
2468
2469
|
var DEFAULT_TIMEOUT = 3e5;
|
|
2469
2470
|
var AwsCliCompatible = class {
|
|
2470
2471
|
ioHelper;
|
|
2471
|
-
|
|
2472
|
+
requestHandler;
|
|
2473
|
+
logger;
|
|
2474
|
+
constructor(ioHelper, requestHandler, logger) {
|
|
2472
2475
|
this.ioHelper = ioHelper;
|
|
2476
|
+
this.requestHandler = requestHandler;
|
|
2477
|
+
this.logger = logger;
|
|
2478
|
+
}
|
|
2479
|
+
async baseConfig(profile) {
|
|
2480
|
+
const credentialProvider = await this.credentialChainBuilder({
|
|
2481
|
+
profile,
|
|
2482
|
+
logger: this.logger
|
|
2483
|
+
});
|
|
2484
|
+
const defaultRegion = await this.region(profile);
|
|
2485
|
+
return { credentialProvider, defaultRegion };
|
|
2473
2486
|
}
|
|
2474
2487
|
/**
|
|
2475
2488
|
* Build an AWS CLI-compatible credential chain provider
|
|
@@ -2478,7 +2491,7 @@ var AwsCliCompatible = class {
|
|
|
2478
2491
|
*/
|
|
2479
2492
|
async credentialChainBuilder(options = {}) {
|
|
2480
2493
|
const clientConfig = {
|
|
2481
|
-
requestHandler:
|
|
2494
|
+
requestHandler: this.requestHandler,
|
|
2482
2495
|
customUserAgent: "aws-cdk",
|
|
2483
2496
|
logger: options.logger
|
|
2484
2497
|
};
|
|
@@ -2506,15 +2519,6 @@ var AwsCliCompatible = class {
|
|
|
2506
2519
|
});
|
|
2507
2520
|
return shouldPrioritizeEnv() ? (0, import_credential_providers.createCredentialChain)((0, import_credential_providers.fromEnv)(), nodeProviderChain).expireAfter(60 * 6e4) : nodeProviderChain;
|
|
2508
2521
|
}
|
|
2509
|
-
async requestHandlerBuilder(options = {}) {
|
|
2510
|
-
const agent = await new ProxyAgentProvider(this.ioHelper).create(options);
|
|
2511
|
-
return {
|
|
2512
|
-
connectionTimeout: DEFAULT_CONNECTION_TIMEOUT,
|
|
2513
|
-
requestTimeout: DEFAULT_TIMEOUT,
|
|
2514
|
-
httpsAgent: agent,
|
|
2515
|
-
httpAgent: agent
|
|
2516
|
-
};
|
|
2517
|
-
}
|
|
2518
2522
|
/**
|
|
2519
2523
|
* Attempts to get the region from a number of sources and falls back to us-east-1 if no region can be found,
|
|
2520
2524
|
* as is done in the AWS CLI.
|
|
@@ -2614,17 +2618,24 @@ function shouldPrioritizeEnv() {
|
|
|
2614
2618
|
}
|
|
2615
2619
|
return false;
|
|
2616
2620
|
}
|
|
2621
|
+
async function makeRequestHandler(ioHelper, options = {}) {
|
|
2622
|
+
const agent = await new ProxyAgentProvider(ioHelper).create(options);
|
|
2623
|
+
return {
|
|
2624
|
+
connectionTimeout: DEFAULT_CONNECTION_TIMEOUT,
|
|
2625
|
+
requestTimeout: DEFAULT_TIMEOUT,
|
|
2626
|
+
httpsAgent: agent,
|
|
2627
|
+
httpAgent: agent
|
|
2628
|
+
};
|
|
2629
|
+
}
|
|
2617
2630
|
|
|
2618
2631
|
// ../tmp-toolkit-helpers/src/api/aws-auth/credential-plugins.ts
|
|
2619
2632
|
var import_util9 = require("util");
|
|
2620
2633
|
var CredentialPlugins = class {
|
|
2621
|
-
cache = {};
|
|
2622
|
-
host;
|
|
2623
|
-
ioHelper;
|
|
2624
2634
|
constructor(host, ioHelper) {
|
|
2625
2635
|
this.host = host;
|
|
2626
2636
|
this.ioHelper = ioHelper;
|
|
2627
2637
|
}
|
|
2638
|
+
cache = {};
|
|
2628
2639
|
async fetchCredentialsFor(awsAccountId, mode) {
|
|
2629
2640
|
const key = `${awsAccountId}-${mode}`;
|
|
2630
2641
|
if (!(key in this.cache)) {
|
|
@@ -2731,35 +2742,56 @@ var TESTING = false;
|
|
|
2731
2742
|
function markTesting() {
|
|
2732
2743
|
TESTING = true;
|
|
2733
2744
|
}
|
|
2734
|
-
var PluginHost = class
|
|
2735
|
-
static instance = new _PluginHost();
|
|
2745
|
+
var PluginHost = class {
|
|
2736
2746
|
/**
|
|
2737
2747
|
* Access the currently registered CredentialProviderSources. New sources can
|
|
2738
2748
|
* be registered using the +registerCredentialProviderSource+ method.
|
|
2739
2749
|
*/
|
|
2740
2750
|
credentialProviderSources = new Array();
|
|
2741
2751
|
contextProviderPlugins = {};
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
throw new ToolkitError("New instances of PluginHost must not be built. Use PluginHost.instance instead!");
|
|
2745
|
-
}
|
|
2746
|
-
}
|
|
2752
|
+
ioHost;
|
|
2753
|
+
alreadyLoaded = /* @__PURE__ */ new Set();
|
|
2747
2754
|
/**
|
|
2748
2755
|
* Loads a plug-in into this PluginHost.
|
|
2749
2756
|
*
|
|
2757
|
+
* Will use `require.resolve()` to get the most accurate representation of what
|
|
2758
|
+
* code will get loaded in error messages. As such, it will not work in
|
|
2759
|
+
* unit tests with Jest virtual modules becauase of <https://github.com/jestjs/jest/issues/9543>.
|
|
2760
|
+
*
|
|
2750
2761
|
* @param moduleSpec the specification (path or name) of the plug-in module to be loaded.
|
|
2762
|
+
* @param ioHost the I/O host to use for printing progress information
|
|
2763
|
+
*/
|
|
2764
|
+
load(moduleSpec, ioHost) {
|
|
2765
|
+
try {
|
|
2766
|
+
const resolved = require.resolve(moduleSpec);
|
|
2767
|
+
if (ioHost) {
|
|
2768
|
+
new IoDefaultMessages(IoHelper.fromIoHost(ioHost, "init")).debug(`Loading plug-in: ${resolved} from ${moduleSpec}`);
|
|
2769
|
+
}
|
|
2770
|
+
return this._doLoad(resolved);
|
|
2771
|
+
} catch (e) {
|
|
2772
|
+
throw new ToolkitError(`Unable to resolve plug-in: Cannot find module '${moduleSpec}': ${e}`);
|
|
2773
|
+
}
|
|
2774
|
+
}
|
|
2775
|
+
/**
|
|
2776
|
+
* Do the loading given an already-resolved module name
|
|
2777
|
+
*
|
|
2778
|
+
* @internal
|
|
2751
2779
|
*/
|
|
2752
|
-
|
|
2780
|
+
_doLoad(resolved) {
|
|
2753
2781
|
try {
|
|
2754
|
-
|
|
2782
|
+
if (this.alreadyLoaded.has(resolved)) {
|
|
2783
|
+
return;
|
|
2784
|
+
}
|
|
2785
|
+
const plugin = require(resolved);
|
|
2755
2786
|
if (!isPlugin(plugin)) {
|
|
2756
|
-
throw new ToolkitError(`Module ${
|
|
2787
|
+
throw new ToolkitError(`Module ${resolved} is not a valid plug-in, or has an unsupported version.`);
|
|
2757
2788
|
}
|
|
2758
2789
|
if (plugin.init) {
|
|
2759
2790
|
plugin.init(this);
|
|
2760
2791
|
}
|
|
2792
|
+
this.alreadyLoaded.add(resolved);
|
|
2761
2793
|
} catch (e) {
|
|
2762
|
-
throw ToolkitError.withCause(`Unable to load plug-in '${
|
|
2794
|
+
throw ToolkitError.withCause(`Unable to load plug-in '${resolved}'`, e);
|
|
2763
2795
|
}
|
|
2764
2796
|
function isPlugin(x) {
|
|
2765
2797
|
return x != null && x.version === "1";
|
|
@@ -2823,14 +2855,6 @@ var Mode = /* @__PURE__ */ ((Mode2) => {
|
|
|
2823
2855
|
// ../tmp-toolkit-helpers/src/api/aws-auth/sdk-provider.ts
|
|
2824
2856
|
var CACHED_ACCOUNT = Symbol("cached_account");
|
|
2825
2857
|
var SdkProvider = class {
|
|
2826
|
-
constructor(defaultCredentialProvider, defaultRegion, requestHandler = {}, ioHelper, logger) {
|
|
2827
|
-
this.defaultCredentialProvider = defaultCredentialProvider;
|
|
2828
|
-
this.defaultRegion = defaultRegion;
|
|
2829
|
-
this.requestHandler = requestHandler;
|
|
2830
|
-
this.ioHelper = ioHelper;
|
|
2831
|
-
this.logger = logger;
|
|
2832
|
-
this.plugins = new CredentialPlugins(PluginHost.instance, ioHelper);
|
|
2833
|
-
}
|
|
2834
2858
|
/**
|
|
2835
2859
|
* Create a new SdkProvider which gets its defaults in a way that behaves like the AWS CLI does
|
|
2836
2860
|
*
|
|
@@ -2838,18 +2862,24 @@ var SdkProvider = class {
|
|
|
2838
2862
|
* class `AwsCliCompatible` for the details.
|
|
2839
2863
|
*/
|
|
2840
2864
|
static async withAwsCliCompatibleDefaults(options) {
|
|
2841
|
-
const builder = new AwsCliCompatible(options.ioHelper);
|
|
2842
2865
|
callTrace(SdkProvider.withAwsCliCompatibleDefaults.name, SdkProvider.constructor.name, options.logger);
|
|
2843
|
-
const
|
|
2844
|
-
|
|
2845
|
-
httpOptions: options.httpOptions,
|
|
2846
|
-
logger: options.logger
|
|
2847
|
-
});
|
|
2848
|
-
const region = await builder.region(options.profile);
|
|
2849
|
-
const requestHandler = await builder.requestHandlerBuilder(options.httpOptions);
|
|
2850
|
-
return new SdkProvider(credentialProvider, region, requestHandler, options.ioHelper, options.logger);
|
|
2866
|
+
const config = await new AwsCliCompatible(options.ioHelper, options.requestHandler ?? {}, options.logger).baseConfig(options.profile);
|
|
2867
|
+
return new SdkProvider(config.credentialProvider, config.defaultRegion, options);
|
|
2851
2868
|
}
|
|
2869
|
+
defaultRegion;
|
|
2870
|
+
defaultCredentialProvider;
|
|
2852
2871
|
plugins;
|
|
2872
|
+
requestHandler;
|
|
2873
|
+
ioHelper;
|
|
2874
|
+
logger;
|
|
2875
|
+
constructor(defaultCredentialProvider, defaultRegion, services) {
|
|
2876
|
+
this.defaultCredentialProvider = defaultCredentialProvider;
|
|
2877
|
+
this.defaultRegion = defaultRegion ?? "us-east-1";
|
|
2878
|
+
this.requestHandler = services.requestHandler ?? {};
|
|
2879
|
+
this.ioHelper = services.ioHelper;
|
|
2880
|
+
this.logger = services.logger;
|
|
2881
|
+
this.plugins = new CredentialPlugins(services.pluginHost ?? new PluginHost(), this.ioHelper);
|
|
2882
|
+
}
|
|
2853
2883
|
/**
|
|
2854
2884
|
* Return an SDK which can do operations in the given environment
|
|
2855
2885
|
*
|
|
@@ -2865,7 +2895,7 @@ var SdkProvider = class {
|
|
|
2865
2895
|
if (baseCreds.source === "incorrectDefault") {
|
|
2866
2896
|
throw new AuthenticationError(fmtObtainCredentialsError(env.account, baseCreds));
|
|
2867
2897
|
}
|
|
2868
|
-
const sdk =
|
|
2898
|
+
const sdk = this._makeSdk(baseCreds.credentials, env.region);
|
|
2869
2899
|
await sdk.validateCredentials();
|
|
2870
2900
|
return { sdk, didAssumeRole: false };
|
|
2871
2901
|
}
|
|
@@ -2889,7 +2919,7 @@ var SdkProvider = class {
|
|
|
2889
2919
|
`${fmtObtainedCredentials(baseCreds)} could not be used to assume '${options.assumeRoleArn}', but are for the right account. Proceeding anyway.`
|
|
2890
2920
|
));
|
|
2891
2921
|
return {
|
|
2892
|
-
sdk:
|
|
2922
|
+
sdk: this._makeSdk(baseCreds.credentials, env.region),
|
|
2893
2923
|
didAssumeRole: false
|
|
2894
2924
|
};
|
|
2895
2925
|
}
|
|
@@ -2907,7 +2937,7 @@ var SdkProvider = class {
|
|
|
2907
2937
|
if (baseCreds.source === "none") {
|
|
2908
2938
|
return void 0;
|
|
2909
2939
|
}
|
|
2910
|
-
return (await
|
|
2940
|
+
return (await this._makeSdk(baseCreds.credentials, env.region).currentAccount()).partition;
|
|
2911
2941
|
}
|
|
2912
2942
|
/**
|
|
2913
2943
|
* Resolve the environment for a stack
|
|
@@ -2949,7 +2979,7 @@ var SdkProvider = class {
|
|
|
2949
2979
|
async defaultAccount() {
|
|
2950
2980
|
return cached(this, CACHED_ACCOUNT, async () => {
|
|
2951
2981
|
try {
|
|
2952
|
-
return await
|
|
2982
|
+
return await this._makeSdk(this.defaultCredentialProvider, this.defaultRegion).currentAccount();
|
|
2953
2983
|
} catch (e) {
|
|
2954
2984
|
if (e.name === "ExpiredToken") {
|
|
2955
2985
|
await this.ioHelper.notify(IO.DEFAULT_SDK_WARN.msg(
|
|
@@ -3026,7 +3056,7 @@ var SdkProvider = class {
|
|
|
3026
3056
|
logger: this.logger
|
|
3027
3057
|
}));
|
|
3028
3058
|
await credentials();
|
|
3029
|
-
return
|
|
3059
|
+
return this._makeSdk(credentials, region);
|
|
3030
3060
|
} catch (err) {
|
|
3031
3061
|
if (err.name === "ExpiredToken") {
|
|
3032
3062
|
throw err;
|
|
@@ -3042,6 +3072,25 @@ var SdkProvider = class {
|
|
|
3042
3072
|
);
|
|
3043
3073
|
}
|
|
3044
3074
|
}
|
|
3075
|
+
/**
|
|
3076
|
+
* Factory function that creates a new SDK instance
|
|
3077
|
+
*
|
|
3078
|
+
* This is a function here, instead of all the places where this is used creating a `new SDK`
|
|
3079
|
+
* instance, so that it is trivial to mock from tests.
|
|
3080
|
+
*
|
|
3081
|
+
* Use like this:
|
|
3082
|
+
*
|
|
3083
|
+
* ```ts
|
|
3084
|
+
* const mockSdk = jest.spyOn(SdkProvider.prototype, '_makeSdk').mockReturnValue(new MockSdk());
|
|
3085
|
+
* // ...
|
|
3086
|
+
* mockSdk.mockRestore();
|
|
3087
|
+
* ```
|
|
3088
|
+
*
|
|
3089
|
+
* @internal
|
|
3090
|
+
*/
|
|
3091
|
+
_makeSdk(credProvider, region) {
|
|
3092
|
+
return new SDK(credProvider, region, this.requestHandler, this.ioHelper, this.logger);
|
|
3093
|
+
}
|
|
3045
3094
|
};
|
|
3046
3095
|
SdkProvider = __decorateClass([
|
|
3047
3096
|
traceMemberMethods
|
|
@@ -12315,13 +12364,13 @@ var ContextProviderMessages = class {
|
|
|
12315
12364
|
}));
|
|
12316
12365
|
}
|
|
12317
12366
|
};
|
|
12318
|
-
async function provideContextValues(missingValues, context, sdk, ioHelper) {
|
|
12367
|
+
async function provideContextValues(missingValues, context, sdk, pluginHost, ioHelper) {
|
|
12319
12368
|
for (const missingContext of missingValues) {
|
|
12320
12369
|
const key = missingContext.key;
|
|
12321
12370
|
const providerName = missingContext.provider === cxschema4.ContextProvider.PLUGIN ? `${PLUGIN_PROVIDER_PREFIX}:${missingContext.props.pluginName}` : missingContext.provider;
|
|
12322
12371
|
let factory;
|
|
12323
12372
|
if (providerName.startsWith(`${PLUGIN_PROVIDER_PREFIX}:`)) {
|
|
12324
|
-
const plugin =
|
|
12373
|
+
const plugin = pluginHost.contextProviderPlugins[providerName.substring(PLUGIN_PROVIDER_PREFIX.length + 1)];
|
|
12325
12374
|
if (!plugin) {
|
|
12326
12375
|
throw new ContextProviderError(`Unrecognized plugin context provider name: ${missingContext.provider}.`);
|
|
12327
12376
|
}
|
|
@@ -12490,6 +12539,7 @@ var availableContextProviders = {
|
|
|
12490
12539
|
loadTree,
|
|
12491
12540
|
loadTreeFromDir,
|
|
12492
12541
|
makeBodyParameter,
|
|
12542
|
+
makeRequestHandler,
|
|
12493
12543
|
markTesting,
|
|
12494
12544
|
nonHotswappableChange,
|
|
12495
12545
|
nonHotswappableResource,
|