cdk-import 0.2.144 → 0.2.147
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/lib/index.d.ts +23 -0
- package/lib/index.js +38 -2
- package/lib/service-catalog.d.ts +40 -26
- package/lib/service-catalog.js +113 -63
- package/package.json +5 -5
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DescribeResourceTypeOptions } from './cfn-registry';
|
|
2
|
+
import { DescribeProductAggregateOptions } from './service-catalog';
|
|
2
3
|
export interface ImportResourceTypeOptions extends DescribeResourceTypeOptions {
|
|
3
4
|
/**
|
|
4
5
|
* @default "."
|
|
@@ -14,3 +15,25 @@ export interface ImportResourceTypeOptions extends DescribeResourceTypeOptions {
|
|
|
14
15
|
* @returns name of the resource type
|
|
15
16
|
*/
|
|
16
17
|
export declare function importResourceType(resourceName: string, _resourceVersion: string, options: ImportResourceTypeOptions): Promise<string>;
|
|
18
|
+
/**
|
|
19
|
+
* Configure options for importing products into your local workspace
|
|
20
|
+
*/
|
|
21
|
+
export interface ImportProductOptions extends DescribeProductAggregateOptions {
|
|
22
|
+
/**
|
|
23
|
+
* The folder in which product constructs (as separate class files) will be output to.
|
|
24
|
+
* @default "./sc-products"
|
|
25
|
+
*/
|
|
26
|
+
readonly outdir?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Entry point to import Service Catalog product resource.
|
|
30
|
+
*
|
|
31
|
+
* @returns name of the product version
|
|
32
|
+
*/
|
|
33
|
+
export declare function importProduct(options: ImportProductOptions): Promise<string>;
|
|
34
|
+
/**
|
|
35
|
+
* Entry point to import all available Service Catalog product resources with `DEFAULT` parameters.
|
|
36
|
+
*
|
|
37
|
+
* @returns names of the product versions
|
|
38
|
+
*/
|
|
39
|
+
export declare function importProducts(options: ImportProductOptions): Promise<string[]>;
|
package/lib/index.js
CHANGED
|
@@ -23,11 +23,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.importResourceType = void 0;
|
|
26
|
+
exports.importProducts = exports.importProduct = exports.importResourceType = void 0;
|
|
27
27
|
const fs = __importStar(require("fs"));
|
|
28
28
|
const path = __importStar(require("path"));
|
|
29
29
|
const cfn_registry_1 = require("./cfn-registry");
|
|
30
30
|
const cfn_resource_generator_1 = require("./cfn-resource-generator");
|
|
31
|
+
const service_catalog_1 = require("./service-catalog");
|
|
31
32
|
/**
|
|
32
33
|
* Entry point to import CFN resource types
|
|
33
34
|
*
|
|
@@ -48,4 +49,39 @@ async function importResourceType(resourceName, _resourceVersion, options) {
|
|
|
48
49
|
}
|
|
49
50
|
exports.importResourceType = importResourceType;
|
|
50
51
|
;
|
|
51
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Entry point to import Service Catalog product resource.
|
|
54
|
+
*
|
|
55
|
+
* @returns name of the product version
|
|
56
|
+
*/
|
|
57
|
+
async function importProduct(options) {
|
|
58
|
+
var _a;
|
|
59
|
+
const outdir = (_a = options.outdir) !== null && _a !== void 0 ? _a : '.';
|
|
60
|
+
await (0, service_catalog_1.describeProductAggregate)(options);
|
|
61
|
+
//TODO CodeGen
|
|
62
|
+
return outdir; //just for typechecking
|
|
63
|
+
}
|
|
64
|
+
exports.importProduct = importProduct;
|
|
65
|
+
;
|
|
66
|
+
/**
|
|
67
|
+
* Entry point to import all available Service Catalog product resources with `DEFAULT` parameters.
|
|
68
|
+
*
|
|
69
|
+
* @returns names of the product versions
|
|
70
|
+
*/
|
|
71
|
+
async function importProducts(options) {
|
|
72
|
+
var _a;
|
|
73
|
+
const outdir = (_a = options.outdir) !== null && _a !== void 0 ? _a : '.';
|
|
74
|
+
let productVersions = [];
|
|
75
|
+
const availableProducts = await (0, service_catalog_1.fetchAvailableProducts)();
|
|
76
|
+
await Promise.all(availableProducts.map(async (product) => {
|
|
77
|
+
const productVersion = await importProduct({
|
|
78
|
+
outdir: outdir,
|
|
79
|
+
productId: product.Id,
|
|
80
|
+
});
|
|
81
|
+
productVersions.push(productVersion);
|
|
82
|
+
}));
|
|
83
|
+
return productVersions;
|
|
84
|
+
}
|
|
85
|
+
exports.importProducts = importProducts;
|
|
86
|
+
;
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBeUI7QUFDekIsMkNBQTZCO0FBQzdCLGlEQUFtRjtBQUNuRixxRUFBZ0U7QUFDaEUsdURBQXNIO0FBU3RIOzs7Ozs7O0dBT0c7QUFDSSxLQUFLLFVBQVUsa0JBQWtCLENBQUMsWUFBb0IsRUFBRSxnQkFBd0IsRUFBRSxPQUFrQzs7SUFDekgsTUFBTSxNQUFNLEdBQUcsTUFBQSxPQUFPLENBQUMsTUFBTSxtQ0FBSSxHQUFHLENBQUM7SUFDckMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFBLG1DQUFvQixFQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUUvRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFPLENBQUMsQ0FBQztJQUU1QyxNQUFNLEdBQUcsR0FBRyxJQUFJLDZDQUFvQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBRXRFLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFMUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUU5RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7QUFDdkIsQ0FBQztBQWJELGdEQWFDO0FBQUEsQ0FBQztBQWFGOzs7O0dBSUc7QUFDSSxLQUFLLFVBQVUsYUFBYSxDQUFDLE9BQTZCOztJQUMvRCxNQUFNLE1BQU0sR0FBRyxNQUFBLE9BQU8sQ0FBQyxNQUFNLG1DQUFJLEdBQUcsQ0FBQztJQUVyQyxNQUFNLElBQUEsMENBQXdCLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFFeEMsY0FBYztJQUVkLE9BQU8sTUFBTSxDQUFDLENBQUMsdUJBQXVCO0FBQ3hDLENBQUM7QUFSRCxzQ0FRQztBQUFBLENBQUM7QUFFRjs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLGNBQWMsQ0FBQyxPQUE2Qjs7SUFDaEUsTUFBTSxNQUFNLEdBQUcsTUFBQSxPQUFPLENBQUMsTUFBTSxtQ0FBSSxHQUFHLENBQUM7SUFDckMsSUFBSSxlQUFlLEdBQWEsRUFBRSxDQUFDO0lBRW5DLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxJQUFBLHdDQUFzQixHQUFFLENBQUM7SUFFekQsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDeEQsTUFBTSxjQUFjLEdBQUcsTUFBTSxhQUFhLENBQUU7WUFDMUMsTUFBTSxFQUFFLE1BQU07WUFDZCxTQUFTLEVBQUUsT0FBTyxDQUFDLEVBQUc7U0FDdkIsQ0FBQyxDQUFDO1FBQ0gsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRUosT0FBTyxlQUFlLENBQUM7QUFDekIsQ0FBQztBQWZELHdDQWVDO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBkZXNjcmliZVJlc291cmNlVHlwZSwgRGVzY3JpYmVSZXNvdXJjZVR5cGVPcHRpb25zIH0gZnJvbSAnLi9jZm4tcmVnaXN0cnknO1xuaW1wb3J0IHsgQ2ZuUmVzb3VyY2VHZW5lcmF0b3IgfSBmcm9tICcuL2Nmbi1yZXNvdXJjZS1nZW5lcmF0b3InO1xuaW1wb3J0IHsgZGVzY3JpYmVQcm9kdWN0QWdncmVnYXRlLCBEZXNjcmliZVByb2R1Y3RBZ2dyZWdhdGVPcHRpb25zLCBmZXRjaEF2YWlsYWJsZVByb2R1Y3RzIH0gZnJvbSAnLi9zZXJ2aWNlLWNhdGFsb2cnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEltcG9ydFJlc291cmNlVHlwZU9wdGlvbnMgZXh0ZW5kcyBEZXNjcmliZVJlc291cmNlVHlwZU9wdGlvbnMge1xuICAvKipcbiAgICogQGRlZmF1bHQgXCIuXCJcbiAgICovXG4gIHJlYWRvbmx5IG91dGRpcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBFbnRyeSBwb2ludCB0byBpbXBvcnQgQ0ZOIHJlc291cmNlIHR5cGVzXG4gKlxuICogQHBhcmFtIHJlc291cmNlTmFtZSB0aGUgbmFtZSBvciBBUk4gb2YgdGhlIHJlc291cmNlIHR5cGVcbiAqIEBwYXJhbSBfcmVzb3VyY2VWZXJzaW9uIHRoZSB2ZXJzaW9uIG9mIHRoZSByZXNvdXJjZSB0eXBlIChpZ25vcmVkIGZvciBub3cpXG4gKiBAcGFyYW0gb3V0ZGlyIHRoZSBvdXQgZm9sZGVyIHRvIHVzZSAoZGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgZGlyZWN0b3J5KVxuICogQHJldHVybnMgbmFtZSBvZiB0aGUgcmVzb3VyY2UgdHlwZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaW1wb3J0UmVzb3VyY2VUeXBlKHJlc291cmNlTmFtZTogc3RyaW5nLCBfcmVzb3VyY2VWZXJzaW9uOiBzdHJpbmcsIG9wdGlvbnM6IEltcG9ydFJlc291cmNlVHlwZU9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBvdXRkaXIgPSBvcHRpb25zLm91dGRpciA/PyAnLic7XG4gIGNvbnN0IHR5cGUgPSBhd2FpdCBkZXNjcmliZVJlc291cmNlVHlwZShyZXNvdXJjZU5hbWUsIG9wdGlvbnMpO1xuXG4gIGNvbnN0IHR5cGVTY2hlbWEgPSBKU09OLnBhcnNlKHR5cGUuU2NoZW1hISk7XG5cbiAgY29uc3QgZ2VuID0gbmV3IENmblJlc291cmNlR2VuZXJhdG9yKHR5cGUuVHlwZU5hbWUsIHR5cGUsIHR5cGVTY2hlbWEpO1xuXG4gIGZzLm1rZGlyU3luYyhvdXRkaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKG91dGRpciwgJ2luZGV4LnRzJyksIGdlbi5yZW5kZXIoKSk7XG5cbiAgcmV0dXJuIHR5cGUuVHlwZU5hbWU7XG59O1xuXG4vKipcbiAqIENvbmZpZ3VyZSBvcHRpb25zIGZvciBpbXBvcnRpbmcgcHJvZHVjdHMgaW50byB5b3VyIGxvY2FsIHdvcmtzcGFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltcG9ydFByb2R1Y3RPcHRpb25zIGV4dGVuZHMgRGVzY3JpYmVQcm9kdWN0QWdncmVnYXRlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZm9sZGVyIGluIHdoaWNoIHByb2R1Y3QgY29uc3RydWN0cyAoYXMgc2VwYXJhdGUgY2xhc3MgZmlsZXMpIHdpbGwgYmUgb3V0cHV0IHRvLlxuICAgKiBAZGVmYXVsdCBcIi4vc2MtcHJvZHVjdHNcIlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0ZGlyPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEVudHJ5IHBvaW50IHRvIGltcG9ydCBTZXJ2aWNlIENhdGFsb2cgcHJvZHVjdCByZXNvdXJjZS5cbiAqXG4gKiBAcmV0dXJucyBuYW1lIG9mIHRoZSBwcm9kdWN0IHZlcnNpb25cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGltcG9ydFByb2R1Y3Qob3B0aW9uczogSW1wb3J0UHJvZHVjdE9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBvdXRkaXIgPSBvcHRpb25zLm91dGRpciA/PyAnLic7XG5cbiAgYXdhaXQgZGVzY3JpYmVQcm9kdWN0QWdncmVnYXRlKG9wdGlvbnMpO1xuXG4gIC8vVE9ETyBDb2RlR2VuXG5cbiAgcmV0dXJuIG91dGRpcjsgLy9qdXN0IGZvciB0eXBlY2hlY2tpbmdcbn07XG5cbi8qKlxuICogRW50cnkgcG9pbnQgdG8gaW1wb3J0IGFsbCBhdmFpbGFibGUgU2VydmljZSBDYXRhbG9nIHByb2R1Y3QgcmVzb3VyY2VzIHdpdGggYERFRkFVTFRgIHBhcmFtZXRlcnMuXG4gKlxuICogQHJldHVybnMgbmFtZXMgb2YgdGhlIHByb2R1Y3QgdmVyc2lvbnNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGltcG9ydFByb2R1Y3RzKG9wdGlvbnM6IEltcG9ydFByb2R1Y3RPcHRpb25zKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICBjb25zdCBvdXRkaXIgPSBvcHRpb25zLm91dGRpciA/PyAnLic7XG4gIGxldCBwcm9kdWN0VmVyc2lvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3QgYXZhaWxhYmxlUHJvZHVjdHMgPSBhd2FpdCBmZXRjaEF2YWlsYWJsZVByb2R1Y3RzKCk7XG5cbiAgYXdhaXQgUHJvbWlzZS5hbGwoYXZhaWxhYmxlUHJvZHVjdHMubWFwKGFzeW5jIChwcm9kdWN0KSA9PiB7XG4gICAgY29uc3QgcHJvZHVjdFZlcnNpb24gPSBhd2FpdCBpbXBvcnRQcm9kdWN0KCB7XG4gICAgICBvdXRkaXI6IG91dGRpcixcbiAgICAgIHByb2R1Y3RJZDogcHJvZHVjdC5JZCEsXG4gICAgfSk7XG4gICAgcHJvZHVjdFZlcnNpb25zLnB1c2gocHJvZHVjdFZlcnNpb24pO1xuICB9KSk7XG5cbiAgcmV0dXJuIHByb2R1Y3RWZXJzaW9ucztcbn07XG4iXX0=
|
package/lib/service-catalog.d.ts
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import * as AWS from 'aws-sdk';
|
|
2
2
|
export interface IServiceCatalogClient {
|
|
3
3
|
searchProducts(input: AWS.ServiceCatalog.ListPortfoliosInput): Promise<AWS.ServiceCatalog.ListPortfoliosOutput>;
|
|
4
|
-
listProvisioningArtifacts(input: AWS.ServiceCatalog.ListProvisioningArtifactsInput): Promise<AWS.ServiceCatalog.ListProvisioningArtifactsOutput>;
|
|
5
|
-
listLaunchPaths(input: AWS.ServiceCatalog.ListLaunchPathsInput): Promise<AWS.ServiceCatalog.ListLaunchPathsOutput>;
|
|
6
4
|
describeProvisioningParameters(input: AWS.ServiceCatalog.DescribeProvisioningParametersInput): Promise<AWS.ServiceCatalog.DescribeProvisioningParametersOutput>;
|
|
5
|
+
describeProduct(input: AWS.ServiceCatalog.DescribeProductInput): Promise<AWS.ServiceCatalog.DescribeProductOutput>;
|
|
7
6
|
}
|
|
8
7
|
export declare class ServiceCatalogClient implements IServiceCatalogClient {
|
|
9
8
|
private readonly sc;
|
|
10
9
|
constructor();
|
|
11
10
|
searchProducts(input: AWS.ServiceCatalog.SearchProductsInput): Promise<AWS.ServiceCatalog.SearchProductsOutput>;
|
|
12
|
-
listProvisioningArtifacts(input: AWS.ServiceCatalog.ListProvisioningArtifactsInput): Promise<AWS.ServiceCatalog.ListProvisioningArtifactsOutput>;
|
|
13
|
-
listLaunchPaths(input: AWS.ServiceCatalog.ListLaunchPathsInput): Promise<AWS.ServiceCatalog.ListLaunchPathsOutput>;
|
|
14
11
|
describeProvisioningParameters(input: AWS.ServiceCatalog.DescribeProvisioningParametersInput): Promise<AWS.ServiceCatalog.DescribeProvisioningParametersOutput>;
|
|
12
|
+
describeProduct(input: AWS.ServiceCatalog.DescribeProductInput): Promise<AWS.ServiceCatalog.DescribeProductOutput>;
|
|
15
13
|
}
|
|
16
14
|
/**
|
|
17
15
|
* Provide query values for a specific provisionable product.
|
|
18
|
-
* If no specific IDs are declared for a product, we will use the set DEFAULT value for the provisioning artifact and launch path.
|
|
16
|
+
* If no specific IDs are declared for a product, we will use the set `DEFAULT` value for the provisioning artifact and launch path.
|
|
19
17
|
*/
|
|
20
|
-
export interface
|
|
18
|
+
export interface DescribeProductAggregateOptions {
|
|
21
19
|
/**
|
|
22
20
|
* A client that performs calls to AWS Service Catalog. You can provide a mock here
|
|
23
21
|
* for testing.
|
|
22
|
+
*
|
|
23
|
+
* @default - A real Service Catalog client
|
|
24
24
|
*/
|
|
25
25
|
readonly client?: IServiceCatalogClient;
|
|
26
26
|
/**
|
|
27
|
-
* The product Id
|
|
27
|
+
* The product Id.
|
|
28
28
|
*/
|
|
29
|
-
readonly productId
|
|
29
|
+
readonly productId: string;
|
|
30
30
|
/**
|
|
31
31
|
* The provisioning artifact Id.
|
|
32
32
|
*/
|
|
@@ -37,32 +37,46 @@ export interface DescribeProvisionedProductOptions {
|
|
|
37
37
|
readonly launchPathId?: string;
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
|
-
* Fetches
|
|
40
|
+
* Fetches all the available service catalog product(s) for the caller.
|
|
41
41
|
*
|
|
42
42
|
* @returns list of product view summaries
|
|
43
43
|
*/
|
|
44
|
-
export declare function fetchAvailableProducts(
|
|
44
|
+
export declare function fetchAvailableProducts(client?: IServiceCatalogClient): Promise<AWS.ServiceCatalog.ProductViewSummaries>;
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
46
|
+
* Gets the information required to provision an artifact.
|
|
47
|
+
* Includes information on inputs and outputs of the product.
|
|
47
48
|
*
|
|
48
|
-
* @
|
|
49
|
-
* @returns list of provisioning artifact details for a product
|
|
49
|
+
* @returns the provisoning parameters for an artifact
|
|
50
50
|
*/
|
|
51
|
-
export declare function
|
|
51
|
+
export declare function describeProvisioningParameters(options: DescribeProductAggregateOptions): Promise<AWS.ServiceCatalog.DescribeProvisioningParametersOutput>;
|
|
52
52
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* @param productId the product to list launch paths for
|
|
56
|
-
* @returns list of launchPathSummaries for a product
|
|
53
|
+
* Holds all the information needed to generate a product artifact to provision.
|
|
57
54
|
*/
|
|
58
|
-
export
|
|
55
|
+
export interface ProductDataAggregate {
|
|
56
|
+
/**
|
|
57
|
+
* Core product details.
|
|
58
|
+
*/
|
|
59
|
+
readonly product: AWS.ServiceCatalog.ProductViewSummary;
|
|
60
|
+
/**
|
|
61
|
+
* Details on the selected provisioning artifact for the product.
|
|
62
|
+
* Represents the actual template that contains resources.
|
|
63
|
+
*/
|
|
64
|
+
readonly provisioningArtifact: AWS.ServiceCatalog.ProvisioningArtifact;
|
|
65
|
+
/**
|
|
66
|
+
* Details on the selected launch path for the product.
|
|
67
|
+
* Represents the permissions/ability for end user to provision the product.
|
|
68
|
+
*/
|
|
69
|
+
readonly launchPath: AWS.ServiceCatalog.LaunchPathSummary;
|
|
70
|
+
/**
|
|
71
|
+
* Details on provisioning requirements for the provisioning artifact and launch path.
|
|
72
|
+
* Holds information on the inputs and outputs for the downstream template.
|
|
73
|
+
*/
|
|
74
|
+
readonly params: AWS.ServiceCatalog.DescribeProvisioningParametersOutput;
|
|
75
|
+
}
|
|
59
76
|
/**
|
|
60
|
-
*
|
|
61
|
-
*
|
|
77
|
+
* Makes a series of calls to service catalog to get all information
|
|
78
|
+
* required to provision a service catalog product.
|
|
62
79
|
*
|
|
63
|
-
* @
|
|
64
|
-
* @param provisioningArtifactId the provisioning artifact to get provisioning parameters for
|
|
65
|
-
* @param launchPathId the launch path to get provisioning parameters for
|
|
66
|
-
* @returns the provisoning parameters for an artifact
|
|
80
|
+
* @returns ProductVersionData aggregate of provisioning artifact details.
|
|
67
81
|
*/
|
|
68
|
-
export declare function
|
|
82
|
+
export declare function describeProductAggregate(options: DescribeProductAggregateOptions): Promise<ProductDataAggregate>;
|
package/lib/service-catalog.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
26
|
+
exports.describeProductAggregate = exports.describeProvisioningParameters = exports.fetchAvailableProducts = exports.ServiceCatalogClient = void 0;
|
|
27
27
|
const AWS = __importStar(require("aws-sdk"));
|
|
28
28
|
const aws_1 = require("./aws");
|
|
29
29
|
class ServiceCatalogClient {
|
|
@@ -33,107 +33,157 @@ class ServiceCatalogClient {
|
|
|
33
33
|
async searchProducts(input) {
|
|
34
34
|
return this.sc.searchProducts(input).promise();
|
|
35
35
|
}
|
|
36
|
-
async listProvisioningArtifacts(input) {
|
|
37
|
-
return this.sc.listProvisioningArtifacts(input).promise();
|
|
38
|
-
}
|
|
39
|
-
async listLaunchPaths(input) {
|
|
40
|
-
return this.sc.listLaunchPaths(input).promise();
|
|
41
|
-
}
|
|
42
36
|
async describeProvisioningParameters(input) {
|
|
43
37
|
return this.sc.describeProvisioningParameters(input).promise();
|
|
44
38
|
}
|
|
39
|
+
async describeProduct(input) {
|
|
40
|
+
return this.sc.describeProduct(input).promise();
|
|
41
|
+
}
|
|
45
42
|
}
|
|
46
43
|
exports.ServiceCatalogClient = ServiceCatalogClient;
|
|
47
44
|
/**
|
|
48
|
-
*
|
|
45
|
+
* Returns the provisioning artifact from list of available artifacts.
|
|
46
|
+
* If no query artifact Id is provided, the artifact marked `DEFAULT` will be returned.
|
|
47
|
+
* If no `DEFAULT` artifact exists, the most recently created artifact will be returned.
|
|
49
48
|
*
|
|
50
|
-
* @
|
|
49
|
+
* @param provisioningArtifacts list of provisioning artifacts for a product
|
|
50
|
+
* @param provisioningArtifactId query artifact Id
|
|
51
|
+
* @returns provisioning artifact detail
|
|
51
52
|
*/
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
do {
|
|
58
|
-
const res = await sc.searchProducts({
|
|
59
|
-
PageToken: token,
|
|
60
|
-
...(options.productId ? { SourceProductId: options.productId } : {}),
|
|
61
|
-
});
|
|
62
|
-
if (res.ProductViewSummaries) {
|
|
63
|
-
products.push(...res.ProductViewSummaries);
|
|
53
|
+
function resolveProvisioningArtifact(provisioningArtifacts, provisioningArtifactId) {
|
|
54
|
+
if (provisioningArtifactId) {
|
|
55
|
+
const provisioningArtifact = provisioningArtifacts.filter(pa => pa.Id == provisioningArtifactId);
|
|
56
|
+
if (provisioningArtifact.length == 0) {
|
|
57
|
+
throw new Error(`Could not find specified provisioning artifact id: ${provisioningArtifactId}`);
|
|
64
58
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
59
|
+
else {
|
|
60
|
+
return provisioningArtifact.pop();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
try {
|
|
65
|
+
if (provisioningArtifacts.filter(pa => pa.Guidance == 'DEFAULT').length == 1) {
|
|
66
|
+
return provisioningArtifacts.filter(pa => pa.Guidance == 'DEFAULT').pop();
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
return provisioningArtifacts.sort((a, b) => a.CreatedTime.valueOf() - b.CreatedTime.valueOf()).pop();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
throw new Error('Unable to resolve default or latest provisioning artifact.');
|
|
74
|
+
}
|
|
75
|
+
}
|
|
68
76
|
}
|
|
69
|
-
exports.fetchAvailableProducts = fetchAvailableProducts;
|
|
70
77
|
/**
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
* @param
|
|
74
|
-
* @returns
|
|
78
|
+
* Returns the queried launch path from list of available launch paths.
|
|
79
|
+
* @param launchPaths list of available launch paths for the product
|
|
80
|
+
* @param launchPathId the query launch path's Id
|
|
81
|
+
* @returns the launch path summary for the query launch path
|
|
75
82
|
*/
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
83
|
+
function resolveLaunchPath(launchPaths, launchPathId) {
|
|
84
|
+
if (launchPathId) {
|
|
85
|
+
const launchPath = launchPaths.filter(lp => lp.Id == launchPathId);
|
|
86
|
+
if (launchPath.length == 0) {
|
|
87
|
+
throw new Error(`Could not find specified launch path id: ${launchPathId}`);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
return launchPath.pop();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else if (launchPaths.length == 1) {
|
|
94
|
+
return launchPaths.pop();
|
|
84
95
|
}
|
|
85
96
|
else {
|
|
86
|
-
|
|
97
|
+
throw new Error('Unable to resolve between multiple launch paths.');
|
|
87
98
|
}
|
|
88
99
|
}
|
|
89
|
-
exports.listProvisioningArtifacts = listProvisioningArtifacts;
|
|
90
100
|
/**
|
|
91
|
-
*
|
|
101
|
+
* Fetches the all the available or queried service catalog product(s) for the caller.
|
|
92
102
|
*
|
|
93
|
-
* @
|
|
94
|
-
* @returns list of launchPathSummaries for a product
|
|
103
|
+
* @returns list of product view summaries
|
|
95
104
|
*/
|
|
96
|
-
async function
|
|
105
|
+
async function describeProduct(options) {
|
|
97
106
|
var _a;
|
|
98
107
|
const sc = (_a = options.client) !== null && _a !== void 0 ? _a : new ServiceCatalogClient();
|
|
99
|
-
const
|
|
108
|
+
const describeProductResponse = await sc.describeProduct({
|
|
109
|
+
Id: options.productId,
|
|
110
|
+
});
|
|
111
|
+
validateProductData(options.productId, describeProductResponse);
|
|
112
|
+
const provisioningArtifact = resolveProvisioningArtifact(describeProductResponse.ProvisioningArtifacts, options.provisioningArtifactId);
|
|
113
|
+
const launchPath = resolveLaunchPath(describeProductResponse.LaunchPaths, options.launchPathId);
|
|
114
|
+
const parameters = await describeProvisioningParameters(options);
|
|
115
|
+
return {
|
|
116
|
+
product: describeProductResponse.ProductViewSummary,
|
|
117
|
+
provisioningArtifact: provisioningArtifact,
|
|
118
|
+
launchPath: launchPath,
|
|
119
|
+
params: parameters,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Fetches all the available service catalog product(s) for the caller.
|
|
124
|
+
*
|
|
125
|
+
* @returns list of product view summaries
|
|
126
|
+
*/
|
|
127
|
+
async function fetchAvailableProducts(client) {
|
|
128
|
+
const sc = client !== null && client !== void 0 ? client : new ServiceCatalogClient();
|
|
129
|
+
const products = [];
|
|
100
130
|
let token;
|
|
101
131
|
do {
|
|
102
|
-
const res = await sc.
|
|
103
|
-
ProductId: productId,
|
|
132
|
+
const res = await sc.searchProducts({
|
|
104
133
|
PageToken: token,
|
|
105
134
|
});
|
|
106
|
-
if (res.
|
|
107
|
-
|
|
135
|
+
if (res.ProductViewSummaries) {
|
|
136
|
+
products.push(...res.ProductViewSummaries);
|
|
108
137
|
}
|
|
109
138
|
token = res.NextPageToken;
|
|
110
139
|
} while (token);
|
|
111
|
-
|
|
112
|
-
return launchPaths.filter(lp => lp.Id == options.launchPathId);
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
return launchPaths;
|
|
116
|
-
}
|
|
140
|
+
return products;
|
|
117
141
|
}
|
|
118
|
-
exports.
|
|
142
|
+
exports.fetchAvailableProducts = fetchAvailableProducts;
|
|
119
143
|
/**
|
|
120
144
|
* Gets the information required to provision an artifact.
|
|
121
145
|
* Includes information on inputs and outputs of the product.
|
|
122
146
|
*
|
|
123
|
-
* @param productId the product to get provisioning parameters for
|
|
124
|
-
* @param provisioningArtifactId the provisioning artifact to get provisioning parameters for
|
|
125
|
-
* @param launchPathId the launch path to get provisioning parameters for
|
|
126
147
|
* @returns the provisoning parameters for an artifact
|
|
127
148
|
*/
|
|
128
|
-
async function describeProvisioningParameters(
|
|
149
|
+
async function describeProvisioningParameters(options) {
|
|
129
150
|
var _a;
|
|
130
151
|
const sc = (_a = options.client) !== null && _a !== void 0 ? _a : new ServiceCatalogClient();
|
|
131
152
|
const provisioningParameters = await sc.describeProvisioningParameters({
|
|
132
|
-
ProductId: productId,
|
|
133
|
-
ProvisioningArtifactId: provisioningArtifactId,
|
|
134
|
-
PathId: launchPathId,
|
|
153
|
+
ProductId: options.productId,
|
|
154
|
+
ProvisioningArtifactId: options.provisioningArtifactId,
|
|
155
|
+
PathId: options.launchPathId,
|
|
135
156
|
});
|
|
136
157
|
return provisioningParameters;
|
|
137
158
|
}
|
|
138
159
|
exports.describeProvisioningParameters = describeProvisioningParameters;
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jYXRhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NlcnZpY2UtY2F0YWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUErQjtBQUMvQiwrQkFBd0M7QUFVeEMsTUFBYSxvQkFBb0I7SUFHL0I7UUFDRSxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUEscUJBQWUsRUFBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBNkM7UUFDdkUsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRU0sS0FBSyxDQUFDLHlCQUF5QixDQUFDLEtBQXdEO1FBRTdGLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxLQUE4QztRQUN6RSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFTSxLQUFLLENBQUMsOEJBQThCLENBQUMsS0FBNkQ7UUFFdkcsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pFLENBQUM7Q0FDRjtBQXhCRCxvREF3QkM7QUE2QkQ7Ozs7R0FJRztBQUNJLEtBQUssVUFBVSxzQkFBc0IsQ0FBQyxVQUE2QyxFQUFFOztJQUMxRixNQUFNLEVBQUUsR0FBRyxNQUFBLE9BQU8sQ0FBQyxNQUFNLG1DQUFJLElBQUksb0JBQW9CLEVBQUUsQ0FBQztJQUV4RCxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDcEIsSUFBSSxLQUFLLENBQUM7SUFFVixHQUFHO1FBQ0QsTUFBTSxHQUFHLEdBQTRDLE1BQU0sRUFBRSxDQUFDLGNBQWMsQ0FBQztZQUMzRSxTQUFTLEVBQUUsS0FBSztZQUNoQixHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDckUsQ0FBQyxDQUFDO1FBRUgsSUFBSSxHQUFHLENBQUMsb0JBQW9CLEVBQUU7WUFDNUIsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsS0FBSyxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7S0FDM0IsUUFBUSxLQUFLLEVBQUU7SUFFaEIsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQW5CRCx3REFtQkM7QUFFRDs7Ozs7R0FLRztBQUNJLEtBQUssVUFBVSx5QkFBeUIsQ0FDN0MsU0FBaUIsRUFDakIsVUFBNkMsRUFBRTs7SUFDL0MsTUFBTSxFQUFFLEdBQUcsTUFBQSxPQUFPLENBQUMsTUFBTSxtQ0FBSSxJQUFJLG9CQUFvQixFQUFFLENBQUM7SUFFeEQsTUFBTSxxQkFBcUIsR0FBdUQsTUFBTSxFQUFFLENBQUMseUJBQXlCLENBQUM7UUFDbkgsU0FBUyxFQUFFLFNBQVM7S0FDckIsQ0FBQyxDQUFDO0lBRUgsSUFBSyxPQUFPLENBQUMsc0JBQXNCLElBQUksSUFBSSxFQUFHO1FBQzVDLE9BQU8scUJBQXFCLENBQUMsMkJBQTRCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQUNqSDtTQUFNO1FBQ0wsT0FBTyxxQkFBcUIsQ0FBQywyQkFBNEIsQ0FBQztLQUMzRDtBQUNILENBQUM7QUFkRCw4REFjQztBQUVEOzs7OztHQUtHO0FBQ0ksS0FBSyxVQUFVLGVBQWUsQ0FDbkMsU0FBaUIsRUFDakIsVUFBNkMsRUFBRTs7SUFFL0MsTUFBTSxFQUFFLEdBQUcsTUFBQSxPQUFPLENBQUMsTUFBTSxtQ0FBSSxJQUFJLG9CQUFvQixFQUFFLENBQUM7SUFFeEQsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLElBQUksS0FBSyxDQUFDO0lBRVYsR0FBRztRQUNELE1BQU0sR0FBRyxHQUE2QyxNQUFNLEVBQUUsQ0FBQyxlQUFlLENBQUM7WUFDN0UsU0FBUyxFQUFFLFNBQVM7WUFDcEIsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxHQUFHLENBQUMsbUJBQW1CLEVBQUU7WUFDM0IsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsS0FBSyxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7S0FDM0IsUUFBUSxLQUFLLEVBQUU7SUFFaEIsSUFBSyxPQUFPLENBQUMsWUFBWSxJQUFJLElBQUksRUFBRztRQUNsQyxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQUNoRTtTQUFNO1FBQ0wsT0FBTyxXQUFXLENBQUM7S0FDcEI7QUFDSCxDQUFDO0FBMUJELDBDQTBCQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0ksS0FBSyxVQUFVLDhCQUE4QixDQUFDLFNBQWlCLEVBQUUsc0JBQThCLEVBQUUsWUFBb0IsRUFDMUgsVUFBNkMsRUFBRTs7SUFHL0MsTUFBTSxFQUFFLEdBQUcsTUFBQSxPQUFPLENBQUMsTUFBTSxtQ0FBSSxJQUFJLG9CQUFvQixFQUFFLENBQUM7SUFFeEQsTUFBTSxzQkFBc0IsR0FBNEQsTUFBTSxFQUFFLENBQUMsOEJBQThCLENBQUM7UUFDOUgsU0FBUyxFQUFFLFNBQVM7UUFDcEIsc0JBQXNCLEVBQUUsc0JBQXNCO1FBQzlDLE1BQU0sRUFBRSxZQUFZO0tBQ3JCLENBQUMsQ0FBQztJQUVILE9BQU8sc0JBQXNCLENBQUM7QUFDaEMsQ0FBQztBQWJELHdFQWFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgQVdTIGZyb20gJ2F3cy1zZGsnO1xuaW1wb3J0IHsgY3JlYXRlQXdzQ2xpZW50IH0gZnJvbSAnLi9hd3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZXJ2aWNlQ2F0YWxvZ0NsaWVudCB7XG4gIHNlYXJjaFByb2R1Y3RzKGlucHV0OiBBV1MuU2VydmljZUNhdGFsb2cuTGlzdFBvcnRmb2xpb3NJbnB1dCk6IFByb21pc2U8QVdTLlNlcnZpY2VDYXRhbG9nLkxpc3RQb3J0Zm9saW9zT3V0cHV0PjtcbiAgbGlzdFByb3Zpc2lvbmluZ0FydGlmYWN0cyhpbnB1dDogQVdTLlNlcnZpY2VDYXRhbG9nLkxpc3RQcm92aXNpb25pbmdBcnRpZmFjdHNJbnB1dCk6IFByb21pc2U8QVdTLlNlcnZpY2VDYXRhbG9nLkxpc3RQcm92aXNpb25pbmdBcnRpZmFjdHNPdXRwdXQ+O1xuICBsaXN0TGF1bmNoUGF0aHMoaW5wdXQ6IEFXUy5TZXJ2aWNlQ2F0YWxvZy5MaXN0TGF1bmNoUGF0aHNJbnB1dCk6IFByb21pc2U8QVdTLlNlcnZpY2VDYXRhbG9nLkxpc3RMYXVuY2hQYXRoc091dHB1dD4gO1xuICBkZXNjcmliZVByb3Zpc2lvbmluZ1BhcmFtZXRlcnMoaW5wdXQ6IEFXUy5TZXJ2aWNlQ2F0YWxvZy5EZXNjcmliZVByb3Zpc2lvbmluZ1BhcmFtZXRlcnNJbnB1dCk6XG4gIFByb21pc2U8QVdTLlNlcnZpY2VDYXRhbG9nLkRlc2NyaWJlUHJvdmlzaW9uaW5nUGFyYW1ldGVyc091dHB1dD47XG59XG5cbmV4cG9ydCBjbGFzcyBTZXJ2aWNlQ2F0YWxvZ0NsaWVudCBpbXBsZW1lbnRzIElTZXJ2aWNlQ2F0YWxvZ0NsaWVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2M6IEFXUy5TZXJ2aWNlQ2F0YWxvZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNjID0gY3JlYXRlQXdzQ2xpZW50KEFXUy5TZXJ2aWNlQ2F0YWxvZyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2VhcmNoUHJvZHVjdHMoaW5wdXQ6IEFXUy5TZXJ2aWNlQ2F0YWxvZy5TZWFyY2hQcm9kdWN0c0lucHV0KTogUHJvbWlzZTxBV1MuU2VydmljZUNhdGFsb2cuU2VhcmNoUHJvZHVjdHNPdXRwdXQ+IHtcbiAgICByZXR1cm4gdGhpcy5zYy5zZWFyY2hQcm9kdWN0cyhpbnB1dCkucHJvbWlzZSgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGxpc3RQcm92aXNpb25pbmdBcnRpZmFjdHMoaW5wdXQ6IEFXUy5TZXJ2aWNlQ2F0YWxvZy5MaXN0UHJvdmlzaW9uaW5nQXJ0aWZhY3RzSW5wdXQpOlxuICBQcm9taXNlPEFXUy5TZXJ2aWNlQ2F0YWxvZy5MaXN0UHJvdmlzaW9uaW5nQXJ0aWZhY3RzT3V0cHV0PiB7XG4gICAgcmV0dXJuIHRoaXMuc2MubGlzdFByb3Zpc2lvbmluZ0FydGlmYWN0cyhpbnB1dCkucHJvbWlzZSgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGxpc3RMYXVuY2hQYXRocyhpbnB1dDogQVdTLlNlcnZpY2VDYXRhbG9nLkxpc3RMYXVuY2hQYXRoc0lucHV0KTogUHJvbWlzZTxBV1MuU2VydmljZUNhdGFsb2cuTGlzdExhdW5jaFBhdGhzT3V0cHV0PiB7XG4gICAgcmV0dXJuIHRoaXMuc2MubGlzdExhdW5jaFBhdGhzKGlucHV0KS5wcm9taXNlKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGVzY3JpYmVQcm92aXNpb25pbmdQYXJhbWV0ZXJzKGlucHV0OiBBV1MuU2VydmljZUNhdGFsb2cuRGVzY3JpYmVQcm92aXNpb25pbmdQYXJhbWV0ZXJzSW5wdXQpOlxuICBQcm9taXNlPEFXUy5TZXJ2aWNlQ2F0YWxvZy5EZXNjcmliZVByb3Zpc2lvbmluZ1BhcmFtZXRlcnNPdXRwdXQ+IHtcbiAgICByZXR1cm4gdGhpcy5zYy5kZXNjcmliZVByb3Zpc2lvbmluZ1BhcmFtZXRlcnMoaW5wdXQpLnByb21pc2UoKTtcbiAgfVxufVxuXG4vKipcbiAqIFByb3ZpZGUgcXVlcnkgdmFsdWVzIGZvciBhIHNwZWNpZmljIHByb3Zpc2lvbmFibGUgcHJvZHVjdC5cbiAqIElmIG5vIHNwZWNpZmljIElEcyBhcmUgZGVjbGFyZWQgZm9yIGEgcHJvZHVjdCwgd2Ugd2lsbCB1c2UgdGhlIHNldCBERUZBVUxUIHZhbHVlIGZvciB0aGUgcHJvdmlzaW9uaW5nIGFydGlmYWN0IGFuZCBsYXVuY2ggcGF0aC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXNjcmliZVByb3Zpc2lvbmVkUHJvZHVjdE9wdGlvbnMge1xuICAvKipcbiAgICogQSBjbGllbnQgdGhhdCBwZXJmb3JtcyBjYWxscyB0byBBV1MgU2VydmljZSBDYXRhbG9nLiBZb3UgY2FuIHByb3ZpZGUgYSBtb2NrIGhlcmVcbiAgICogZm9yIHRlc3RpbmcuXG4gICAqL1xuICByZWFkb25seSBjbGllbnQ/OiBJU2VydmljZUNhdGFsb2dDbGllbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBwcm9kdWN0IElkLi5cbiAgICovXG4gIHJlYWRvbmx5IHByb2R1Y3RJZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHByb3Zpc2lvbmluZyBhcnRpZmFjdCBJZC5cbiAgICovXG4gIHJlYWRvbmx5IHByb3Zpc2lvbmluZ0FydGlmYWN0SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsYXVuY2ggcGF0aCBJZC5cbiAgICovXG4gIHJlYWRvbmx5IGxhdW5jaFBhdGhJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBGZXRjaGVzIHRoZSBhbGwgdGhlIGF2YWlsYWJsZSBvciBxdWVyaWVkIHNlcnZpY2UgY2F0YWxvZyBwcm9kdWN0KHMpIGZvciB0aGUgY2FsbGVyLlxuICpcbiAqIEByZXR1cm5zIGxpc3Qgb2YgcHJvZHVjdCB2aWV3IHN1bW1hcmllc1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZmV0Y2hBdmFpbGFibGVQcm9kdWN0cyhvcHRpb25zOiBEZXNjcmliZVByb3Zpc2lvbmVkUHJvZHVjdE9wdGlvbnMgPSB7fSk6IFByb21pc2U8QVdTLlNlcnZpY2VDYXRhbG9nLlByb2R1Y3RWaWV3U3VtbWFyaWVzPiB7XG4gIGNvbnN0IHNjID0gb3B0aW9ucy5jbGllbnQgPz8gbmV3IFNlcnZpY2VDYXRhbG9nQ2xpZW50KCk7XG5cbiAgY29uc3QgcHJvZHVjdHMgPSBbXTtcbiAgbGV0IHRva2VuO1xuXG4gIGRvIHtcbiAgICBjb25zdCByZXM6IEFXUy5TZXJ2aWNlQ2F0YWxvZy5TZWFyY2hQcm9kdWN0c091dHB1dCA9IGF3YWl0IHNjLnNlYXJjaFByb2R1Y3RzKHtcbiAgICAgIFBhZ2VUb2tlbjogdG9rZW4sXG4gICAgICAuLi4ob3B0aW9ucy5wcm9kdWN0SWQgPyB7IFNvdXJjZVByb2R1Y3RJZDogb3B0aW9ucy5wcm9kdWN0SWQgfSA6IHt9KSxcbiAgICB9KTtcblxuICAgIGlmIChyZXMuUHJvZHVjdFZpZXdTdW1tYXJpZXMpIHtcbiAgICAgIHByb2R1Y3RzLnB1c2goLi4ucmVzLlByb2R1Y3RWaWV3U3VtbWFyaWVzKTtcbiAgICB9XG4gICAgdG9rZW4gPSByZXMuTmV4dFBhZ2VUb2tlbjtcbiAgfSB3aGlsZSAodG9rZW4pO1xuXG4gIHJldHVybiBwcm9kdWN0cztcbn1cblxuLyoqXG4gKiBGZXRjaGVzIHRoZSBhbGwgdGhlIGF2YWlsYWJsZSBvciBxdWVyaWVkIHByb3Zpc2lvbmluZyBhcnRpZmFjdChzKSBmb3IgdGhlIGNhbGxlci5cbiAqXG4gKiBAcGFyYW0gcHJvZHVjdElkIHRoZSBwcm9kdWN0IHRvIGZldGNoIHByb3Zpc2lvbmluZyBhcnRpZmFjdHMgZm9yXG4gKiBAcmV0dXJucyBsaXN0IG9mIHByb3Zpc2lvbmluZyBhcnRpZmFjdCBkZXRhaWxzIGZvciBhIHByb2R1Y3RcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxpc3RQcm92aXNpb25pbmdBcnRpZmFjdHMoXG4gIHByb2R1Y3RJZDogc3RyaW5nLFxuICBvcHRpb25zOiBEZXNjcmliZVByb3Zpc2lvbmVkUHJvZHVjdE9wdGlvbnMgPSB7fSk6IFByb21pc2U8QVdTLlNlcnZpY2VDYXRhbG9nLlByb3Zpc2lvbmluZ0FydGlmYWN0RGV0YWlsW10+IHtcbiAgY29uc3Qgc2MgPSBvcHRpb25zLmNsaWVudCA/PyBuZXcgU2VydmljZUNhdGFsb2dDbGllbnQoKTtcblxuICBjb25zdCBwcm92aXNpb25pbmdBcnRpZmFjdHM6IEFXUy5TZXJ2aWNlQ2F0YWxvZy5MaXN0UHJvdmlzaW9uaW5nQXJ0aWZhY3RzT3V0cHV0ID0gYXdhaXQgc2MubGlzdFByb3Zpc2lvbmluZ0FydGlmYWN0cyh7XG4gICAgUHJvZHVjdElkOiBwcm9kdWN0SWQsXG4gIH0pO1xuXG4gIGlmICggb3B0aW9ucy5wcm92aXNpb25pbmdBcnRpZmFjdElkICE9IG51bGwgKSB7XG4gICAgcmV0dXJuIHByb3Zpc2lvbmluZ0FydGlmYWN0cy5Qcm92aXNpb25pbmdBcnRpZmFjdERldGFpbHMhLmZpbHRlcihwYSA9PiBwYS5JZCA9PSBvcHRpb25zLnByb3Zpc2lvbmluZ0FydGlmYWN0SWQpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBwcm92aXNpb25pbmdBcnRpZmFjdHMuUHJvdmlzaW9uaW5nQXJ0aWZhY3REZXRhaWxzITtcbiAgfVxufVxuXG4vKipcbiAqIFJldHJpZXZlcyBhbGwgdGhlIGF2YWlsYWxiZSBvciBxdWVyaWVkIGxhdW5jaCBwYXRoKHMpIGZvciBhIHByb2R1Y3QuXG4gKlxuICogQHBhcmFtIHByb2R1Y3RJZCB0aGUgcHJvZHVjdCB0byBsaXN0IGxhdW5jaCBwYXRocyBmb3JcbiAqIEByZXR1cm5zIGxpc3Qgb2YgbGF1bmNoUGF0aFN1bW1hcmllcyBmb3IgYSBwcm9kdWN0XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsaXN0TGF1bmNoUGF0aHMoXG4gIHByb2R1Y3RJZDogc3RyaW5nLFxuICBvcHRpb25zOiBEZXNjcmliZVByb3Zpc2lvbmVkUHJvZHVjdE9wdGlvbnMgPSB7fSk6XG4gIFByb21pc2U8QVdTLlNlcnZpY2VDYXRhbG9nLkxhdW5jaFBhdGhTdW1tYXJpZXM+IHtcbiAgY29uc3Qgc2MgPSBvcHRpb25zLmNsaWVudCA/PyBuZXcgU2VydmljZUNhdGFsb2dDbGllbnQoKTtcblxuICBjb25zdCBsYXVuY2hQYXRocyA9IFtdO1xuICBsZXQgdG9rZW47XG5cbiAgZG8ge1xuICAgIGNvbnN0IHJlczogQVdTLlNlcnZpY2VDYXRhbG9nLkxpc3RMYXVuY2hQYXRoc091dHB1dCA9IGF3YWl0IHNjLmxpc3RMYXVuY2hQYXRocyh7XG4gICAgICBQcm9kdWN0SWQ6IHByb2R1Y3RJZCxcbiAgICAgIFBhZ2VUb2tlbjogdG9rZW4sXG4gICAgfSk7XG5cbiAgICBpZiAocmVzLkxhdW5jaFBhdGhTdW1tYXJpZXMpIHtcbiAgICAgIGxhdW5jaFBhdGhzLnB1c2goLi4ucmVzLkxhdW5jaFBhdGhTdW1tYXJpZXMpO1xuICAgIH1cbiAgICB0b2tlbiA9IHJlcy5OZXh0UGFnZVRva2VuO1xuICB9IHdoaWxlICh0b2tlbik7XG5cbiAgaWYgKCBvcHRpb25zLmxhdW5jaFBhdGhJZCAhPSBudWxsICkge1xuICAgIHJldHVybiBsYXVuY2hQYXRocy5maWx0ZXIobHAgPT4gbHAuSWQgPT0gb3B0aW9ucy5sYXVuY2hQYXRoSWQpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBsYXVuY2hQYXRocztcbiAgfVxufVxuXG4vKipcbiAqIEdldHMgdGhlIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIHByb3Zpc2lvbiBhbiBhcnRpZmFjdC5cbiAqIEluY2x1ZGVzIGluZm9ybWF0aW9uIG9uIGlucHV0cyBhbmQgb3V0cHV0cyBvZiB0aGUgcHJvZHVjdC5cbiAqXG4gKiBAcGFyYW0gcHJvZHVjdElkIHRoZSBwcm9kdWN0IHRvIGdldCBwcm92aXNpb25pbmcgcGFyYW1ldGVycyBmb3JcbiAqIEBwYXJhbSBwcm92aXNpb25pbmdBcnRpZmFjdElkIHRoZSBwcm92aXNpb25pbmcgYXJ0aWZhY3QgdG8gZ2V0IHByb3Zpc2lvbmluZyBwYXJhbWV0ZXJzIGZvclxuICogQHBhcmFtIGxhdW5jaFBhdGhJZCB0aGUgbGF1bmNoIHBhdGggdG8gZ2V0IHByb3Zpc2lvbmluZyBwYXJhbWV0ZXJzIGZvclxuICogQHJldHVybnMgdGhlIHByb3Zpc29uaW5nIHBhcmFtZXRlcnMgZm9yIGFuIGFydGlmYWN0XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZXNjcmliZVByb3Zpc2lvbmluZ1BhcmFtZXRlcnMocHJvZHVjdElkOiBzdHJpbmcsIHByb3Zpc2lvbmluZ0FydGlmYWN0SWQ6IHN0cmluZywgbGF1bmNoUGF0aElkOiBzdHJpbmcsXG4gIG9wdGlvbnM6IERlc2NyaWJlUHJvdmlzaW9uZWRQcm9kdWN0T3B0aW9ucyA9IHt9KTpcbiAgUHJvbWlzZTxBV1MuU2VydmljZUNhdGFsb2cuRGVzY3JpYmVQcm92aXNpb25pbmdQYXJhbWV0ZXJzT3V0cHV0PiB7XG5cbiAgY29uc3Qgc2MgPSBvcHRpb25zLmNsaWVudCA/PyBuZXcgU2VydmljZUNhdGFsb2dDbGllbnQoKTtcblxuICBjb25zdCBwcm92aXNpb25pbmdQYXJhbWV0ZXJzOiBBV1MuU2VydmljZUNhdGFsb2cuRGVzY3JpYmVQcm92aXNpb25pbmdQYXJhbWV0ZXJzT3V0cHV0ID0gYXdhaXQgc2MuZGVzY3JpYmVQcm92aXNpb25pbmdQYXJhbWV0ZXJzKHtcbiAgICBQcm9kdWN0SWQ6IHByb2R1Y3RJZCxcbiAgICBQcm92aXNpb25pbmdBcnRpZmFjdElkOiBwcm92aXNpb25pbmdBcnRpZmFjdElkLFxuICAgIFBhdGhJZDogbGF1bmNoUGF0aElkLFxuICB9KTtcblxuICByZXR1cm4gcHJvdmlzaW9uaW5nUGFyYW1ldGVycztcbn0iXX0=
|
|
160
|
+
/**
|
|
161
|
+
* Makes a series of calls to service catalog to get all information
|
|
162
|
+
* required to provision a service catalog product.
|
|
163
|
+
*
|
|
164
|
+
* @returns ProductVersionData aggregate of provisioning artifact details.
|
|
165
|
+
*/
|
|
166
|
+
async function describeProductAggregate(options) {
|
|
167
|
+
var _a;
|
|
168
|
+
const sc = (_a = options.client) !== null && _a !== void 0 ? _a : new ServiceCatalogClient();
|
|
169
|
+
const productDataAggregate = await describeProduct({
|
|
170
|
+
productId: options.productId,
|
|
171
|
+
launchPathId: options.launchPathId,
|
|
172
|
+
provisioningArtifactId: options.provisioningArtifactId,
|
|
173
|
+
client: sc,
|
|
174
|
+
});
|
|
175
|
+
return productDataAggregate;
|
|
176
|
+
}
|
|
177
|
+
exports.describeProductAggregate = describeProductAggregate;
|
|
178
|
+
function validateProductData(productId, product) {
|
|
179
|
+
if (product.ProductViewSummary == undefined) {
|
|
180
|
+
throw new Error(`Cannot resolve product details for ${productId}`);
|
|
181
|
+
}
|
|
182
|
+
else if (product.ProvisioningArtifacts == undefined) {
|
|
183
|
+
throw new Error(`Cannot resolve provisioning artifacts for product: ${productId}`);
|
|
184
|
+
}
|
|
185
|
+
else if (product.LaunchPaths == undefined) {
|
|
186
|
+
throw new Error(`Cannot resolve launch paths for product: ${productId}`);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jYXRhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NlcnZpY2UtY2F0YWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUErQjtBQUMvQiwrQkFBd0M7QUFTeEMsTUFBYSxvQkFBb0I7SUFHL0I7UUFDRSxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUEscUJBQWUsRUFBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBNkM7UUFDdkUsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRU0sS0FBSyxDQUFDLDhCQUE4QixDQUFDLEtBQTZEO1FBRXZHLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxLQUE4QztRQUN6RSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xELENBQUM7Q0FDRjtBQW5CRCxvREFtQkM7QUErQkQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLDJCQUEyQixDQUFDLHFCQUErRCxFQUFFLHNCQUErQjtJQUVuSSxJQUFJLHNCQUFzQixFQUFFO1FBQzFCLE1BQU0sb0JBQW9CLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2pHLElBQUksb0JBQW9CLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxzQkFBc0Is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RTtLQUNYLENBQUMsQ0FBQztJQUVILE9BQU8sb0JBQW9CLENBQUM7QUFDOUIsQ0FBQztBQVhELDREQVdDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxTQUFpQixFQUFFLE9BQWlEO0lBQy9GLElBQUksT0FBTyxDQUFDLGtCQUFrQixJQUFJLFNBQVMsRUFBRTtRQUMzQyxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0tBQ3BFO1NBQU0sSUFBSSxPQUFPLENBQUMscUJBQXFCLElBQUksU0FBUyxFQUFFO1FBQ3JELE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELFNBQVMsRUFBRSxDQUFDLENBQUM7S0FDcEY7U0FBTSxJQUFJLE9BQU8sQ0FBQyxXQUFXLElBQUksU0FBUyxFQUFFO1FBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLFNBQVMsRUFBRSxDQUFDLENBQUM7S0FDMUU7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgQVdTIGZyb20gJ2F3cy1zZGsnO1xuaW1wb3J0IHsgY3JlYXRlQXdzQ2xpZW50IH0gZnJvbSAnLi9hd3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZXJ2aWNlQ2F0YWxvZ0NsaWVudCB7XG4gIHNlYXJjaFByb2R1Y3RzKGlucHV0OiBBV1MuU2VydmljZUNhdGFsb2cuTGlzdFBvcnRmb2xpb3NJbnB1dCk6IFByb21pc2U8QVdTLlNlcnZpY2VDYXRhbG9nLkxpc3RQb3J0Zm9saW9zT3V0cHV0PjtcbiAgZGVzY3JpYmVQcm92aXNpb25pbmdQYXJhbWV0ZXJzKGlucHV0OiBBV1MuU2VydmljZUNhdGFsb2cuRGVzY3JpYmVQcm92aXNpb25pbmdQYXJhbWV0ZXJzSW5wdXQpOlxuICBQcm9taXNlPEFXUy5TZXJ2aWNlQ2F0YWxvZy5EZXNjcmliZVByb3Zpc2lvbmluZ1BhcmFtZXRlcnNPdXRwdXQ+O1xuICBkZXNjcmliZVByb2R1Y3QoaW5wdXQ6IEFXUy5TZXJ2aWNlQ2F0YWxvZy5EZXNjcmliZVByb2R1Y3RJbnB1dCk6IFByb21pc2U8QVdTLlNlcnZpY2VDYXRhbG9nLkRlc2NyaWJlUHJvZHVjdE91dHB1dD47XG59XG5cbmV4cG9ydCBjbGFzcyBTZXJ2aWNlQ2F0YWxvZ0NsaWVudCBpbXBsZW1lbnRzIElTZXJ2aWNlQ2F0YWxvZ0NsaWVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2M6IEFXUy5TZXJ2aWNlQ2F0YWxvZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNjID0gY3JlYXRlQXdzQ2xpZW50KEFXUy5TZXJ2aWNlQ2F0YWxvZyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2VhcmNoUHJvZHVjdHMoaW5wdXQ6IEFXUy5TZXJ2aWNlQ2F0YWxvZy5TZWFyY2hQcm9kdWN0c0lucHV0KTogUHJvbWlzZTxBV1MuU2VydmljZUNhdGFsb2cuU2VhcmNoUHJvZHVjdHNPdXRwdXQ+IHtcbiAgICByZXR1cm4gdGhpcy5zYy5zZWFyY2hQcm9kdWN0cyhpbnB1dCkucHJvbWlzZSgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRlc2NyaWJlUHJvdmlzaW9uaW5nUGFyYW1ldGVycyhpbnB1dDogQVdTLlNlcnZpY2VDYXRhbG9nLkRlc2NyaWJlUHJvdmlzaW9uaW5nUGFyYW1ldGVyc0lucHV0KTpcbiAgUHJvbWlzZTxBV1MuU2VydmljZUNhdGFsb2cuRGVzY3JpYmVQcm92aXNpb25pbmdQYXJhbWV0ZXJzT3V0cHV0PiB7XG4gICAgcmV0dXJuIHRoaXMuc2MuZGVzY3JpYmVQcm92aXNpb25pbmdQYXJhbWV0ZXJzKGlucHV0KS5wcm9taXNlKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGVzY3JpYmVQcm9kdWN0KGlucHV0OiBBV1MuU2VydmljZUNhdGFsb2cuRGVzY3JpYmVQcm9kdWN0SW5wdXQpOiBQcm9taXNlPEFXUy5TZXJ2aWNlQ2F0YWxvZy5EZXNjcmliZVByb2R1Y3RPdXRwdXQ+IHtcbiAgICByZXR1cm4gdGhpcy5zYy5kZXNjcmliZVByb2R1Y3QoaW5wdXQpLnByb21pc2UoKTtcbiAgfVxufVxuXG4vKipcbiAqIFByb3ZpZGUgcXVlcnkgdmFsdWVzIGZvciBhIHNwZWNpZmljIHByb3Zpc2lvbmFibGUgcHJvZHVjdC5cbiAqIElmIG5vIHNwZWNpZmljIElEcyBhcmUgZGVjbGFyZWQgZm9yIGEgcHJvZHVjdCwgd2Ugd2lsbCB1c2UgdGhlIHNldCBgREVGQVVMVGAgdmFsdWUgZm9yIHRoZSBwcm92aXNpb25pbmcgYXJ0aWZhY3QgYW5kIGxhdW5jaCBwYXRoLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlc2NyaWJlUHJvZHVjdEFnZ3JlZ2F0ZU9wdGlvbnMge1xuICAvKipcbiAgICogQSBjbGllbnQgdGhhdCBwZXJmb3JtcyBjYWxscyB0byBBV1MgU2VydmljZSBDYXRhbG9nLiBZb3UgY2FuIHByb3ZpZGUgYSBtb2NrIGhlcmVcbiAgICogZm9yIHRlc3RpbmcuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQSByZWFsIFNlcnZpY2UgQ2F0YWxvZyBjbGllbnRcbiAgICovXG4gIHJlYWRvbmx5IGNsaWVudD86IElTZXJ2aWNlQ2F0YWxvZ0NsaWVudDtcblxuICAvKipcbiAgICogVGhlIHByb2R1Y3QgSWQuXG4gICAqL1xuICByZWFkb25seSBwcm9kdWN0SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHByb3Zpc2lvbmluZyBhcnRpZmFjdCBJZC5cbiAgICovXG4gIHJlYWRvbmx5IHByb3Zpc2lvbmluZ0FydGlmYWN0SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsYXVuY2ggcGF0aCBJZC5cbiAgICovXG4gIHJlYWRvbmx5IGxhdW5jaFBhdGhJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBwcm92aXNpb25pbmcgYXJ0aWZhY3QgZnJvbSBsaXN0IG9mIGF2YWlsYWJsZSBhcnRpZmFjdHMuXG4gKiBJZiBubyBxdWVyeSBhcnRpZmFjdCBJZCBpcyBwcm92aWRlZCwgdGhlIGFydGlmYWN0IG1hcmtlZCBgREVGQVVMVGAgd2lsbCBiZSByZXR1cm5lZC5cbiAqIElmIG5vIGBERUZBVUxUYCBhcnRpZmFjdCBleGlzdHMsIHRoZSBtb3N0IHJlY2VudGx5IGNyZWF0ZWQgYXJ0aWZhY3Qgd2lsbCBiZSByZXR1cm5lZC5cbiAqXG4gKiBAcGFyYW0gcHJvdmlzaW9uaW5nQXJ0aWZhY3RzIGxpc3Qgb2YgcHJvdmlzaW9uaW5nIGFydGlmYWN0cyBmb3IgYSBwcm9kdWN0XG4gKiBAcGFyYW0gcHJvdmlzaW9uaW5nQXJ0aWZhY3RJZCBxdWVyeSBhcnRpZmFjdCBJZFxuICogQHJldHVybnMgcHJvdmlzaW9uaW5nIGFydGlmYWN0IGRldGFpbFxuICovXG5mdW5jdGlvbiByZXNvbHZlUHJvdmlzaW9uaW5nQXJ0aWZhY3QocHJvdmlzaW9uaW5nQXJ0aWZhY3RzOiBBV1MuU2VydmljZUNhdGFsb2cuUHJvdmlzaW9uaW5nQXJ0aWZhY3RzLCBwcm92aXNpb25pbmdBcnRpZmFjdElkPzogc3RyaW5nKTpcbkFXUy5TZXJ2aWNlQ2F0YWxvZy5Qcm92aXNpb25pbmdBcnRpZmFjdCB7XG4gIGlmIChwcm92aXNpb25pbmdBcnRpZmFjdElkKSB7XG4gICAgY29uc3QgcHJvdmlzaW9uaW5nQXJ0aWZhY3QgPSBwcm92aXNpb25pbmdBcnRpZmFjdHMuZmlsdGVyKHBhID0+IHBhLklkID09IHByb3Zpc2lvbmluZ0FydGlmYWN0SWQpO1xuICAgIGlmIChwcm92aXNpb25pbmdBcnRpZmFjdC5sZW5ndGggPT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCBzcGVjaWZpZWQgcHJvdmlzaW9uaW5nIGFydGlmYWN0IGlkOiAke3Byb3Zpc2lvbmluZ0FydGlmYWN0SWR9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBwcm92aXNpb25pbmdBcnRpZmFjdC5wb3AoKSE7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHRyeSB7XG4gICAgICBpZiAocHJvdmlzaW9uaW5nQXJ0aWZhY3RzLmZpbHRlcihwYSA9PiBwYS5HdWlkYW5jZSA9PSAnREVGQVVMVCcpLmxlbmd0aCA9PSAxKSB7XG4gICAgICAgIHJldHVybiBwcm92aXNpb25pbmdBcnRpZmFjdHMuZmlsdGVyKHBhID0+IHBhLkd1aWRhbmNlID09ICdERUZBVUxUJykucG9wKCkhO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHByb3Zpc2lvbmluZ0FydGlmYWN0cy5zb3J0KChhLCBiKSA9PiBhLkNyZWF0ZWRUaW1lIS52YWx1ZU9mKCkgLSBiLkNyZWF0ZWRUaW1lIS52YWx1ZU9mKCkpLnBvcCgpITtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHJlc29sdmUgZGVmYXVsdCBvciBsYXRlc3QgcHJvdmlzaW9uaW5nIGFydGlmYWN0LicpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHF1ZXJpZWQgbGF1bmNoIHBhdGggZnJvbSBsaXN0IG9mIGF2YWlsYWJsZSBsYXVuY2ggcGF0aHMuXG4gKiBAcGFyYW0gbGF1bmNoUGF0aHMgbGlzdCBvZiBhdmFpbGFibGUgbGF1bmNoIHBhdGhzIGZvciB0aGUgcHJvZHVjdFxuICogQHBhcmFtIGxhdW5jaFBhdGhJZCB0aGUgcXVlcnkgbGF1bmNoIHBhdGgncyBJZFxuICogQHJldHVybnMgdGhlIGxhdW5jaCBwYXRoIHN1bW1hcnkgZm9yIHRoZSBxdWVyeSBsYXVuY2ggcGF0aFxuICovXG5mdW5jdGlvbiByZXNvbHZlTGF1bmNoUGF0aChsYXVuY2hQYXRoczogQVdTLlNlcnZpY2VDYXRhbG9nLkxhdW5jaFBhdGhTdW1tYXJpZXMsIGxhdW5jaFBhdGhJZD86IHN0cmluZyk6IEFXUy5TZXJ2aWNlQ2F0YWxvZy5MYXVuY2hQYXRoU3VtbWFyeSB7XG4gIGlmIChsYXVuY2hQYXRoSWQpIHtcbiAgICBjb25zdCBsYXVuY2hQYXRoID0gbGF1bmNoUGF0aHMuZmlsdGVyKGxwID0+IGxwLklkID09IGxhdW5jaFBhdGhJZCk7XG4gICAgaWYgKGxhdW5jaFBhdGgubGVuZ3RoID09IDAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBmaW5kIHNwZWNpZmllZCBsYXVuY2ggcGF0aCBpZDogJHtsYXVuY2hQYXRoSWR9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBsYXVuY2hQYXRoLnBvcCgpITtcbiAgICB9XG5cbiAgfSBlbHNlIGlmIChsYXVuY2hQYXRocy5sZW5ndGggPT0gMSkge1xuICAgIHJldHVybiBsYXVuY2hQYXRocy5wb3AoKSE7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gcmVzb2x2ZSBiZXR3ZWVuIG11bHRpcGxlIGxhdW5jaCBwYXRocy4nKTtcbiAgfVxufVxuXG4vKipcbiAqIEZldGNoZXMgdGhlIGFsbCB0aGUgYXZhaWxhYmxlIG9yIHF1ZXJpZWQgc2VydmljZSBjYXRhbG9nIHByb2R1Y3QocykgZm9yIHRoZSBjYWxsZXIuXG4gKlxuICogQHJldHVybnMgbGlzdCBvZiBwcm9kdWN0IHZpZXcgc3VtbWFyaWVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGRlc2NyaWJlUHJvZHVjdChvcHRpb25zOiBEZXNjcmliZVByb2R1Y3RBZ2dyZWdhdGVPcHRpb25zKTogUHJvbWlzZTxQcm9kdWN0RGF0YUFnZ3JlZ2F0ZT4ge1xuICBjb25zdCBzYzogSVNlcnZpY2VDYXRhbG9nQ2xpZW50ID0gb3B0aW9ucy5jbGllbnQgPz8gbmV3IFNlcnZpY2VDYXRhbG9nQ2xpZW50KCk7XG5cbiAgY29uc3QgZGVzY3JpYmVQcm9kdWN0UmVzcG9uc2U6IEFXUy5TZXJ2aWNlQ2F0YWxvZy5EZXNjcmliZVByb2R1Y3RPdXRwdXQgPSBhd2FpdCBzYy5kZXNjcmliZVByb2R1Y3Qoe1xuICAgIElkOiBvcHRpb25zLnByb2R1Y3RJZCxcbiAgfSk7XG4gIHZhbGlkYXRlUHJvZHVjdERhdGEob3B0aW9ucy5wcm9kdWN0SWQsIGRlc2NyaWJlUHJvZHVjdFJlc3BvbnNlKTtcblxuICBjb25zdCBwcm92aXNpb25pbmdBcnRpZmFjdDogQVdTLlNlcnZpY2VDYXRhbG9nLlByb3Zpc2lvbmluZ0FydGlmYWN0ID0gcmVzb2x2ZVByb3Zpc2lvbmluZ0FydGlmYWN0KGRlc2NyaWJlUHJvZHVjdFJlc3BvbnNlLlByb3Zpc2lvbmluZ0FydGlmYWN0cyEsXG4gICAgb3B0aW9ucy5wcm92aXNpb25pbmdBcnRpZmFjdElkKTtcblxuICBjb25zdCBsYXVuY2hQYXRoOiBBV1MuU2VydmljZUNhdGFsb2cuTGF1bmNoUGF0aFN1bW1hcnkgPSByZXNvbHZlTGF1bmNoUGF0aChkZXNjcmliZVByb2R1Y3RSZXNwb25zZS5MYXVuY2hQYXRocyEsIG9wdGlvbnMubGF1bmNoUGF0aElkKTtcblxuICBjb25zdCBwYXJhbWV0ZXJzOiBBV1MuU2VydmljZUNhdGFsb2cuRGVzY3JpYmVQcm92aXNpb25pbmdQYXJhbWV0ZXJzT3V0cHV0ID0gYXdhaXQgZGVzY3JpYmVQcm92aXNpb25pbmdQYXJhbWV0ZXJzKG9wdGlvbnMpO1xuXG4gIHJldHVybiB7XG4gICAgcHJvZHVjdDogZGVzY3JpYmVQcm9kdWN0UmVzcG9uc2UuUHJvZHVjdFZpZXdTdW1tYXJ5ISxcbiAgICBwcm92aXNpb25pbmdBcnRpZmFjdDogcHJvdmlzaW9uaW5nQXJ0aWZhY3QsXG4gICAgbGF1bmNoUGF0aDogbGF1bmNoUGF0aCxcbiAgICBwYXJhbXM6IHBhcmFtZXRlcnMsXG4gIH07XG59XG5cbi8qKlxuICogRmV0Y2hlcyBhbGwgdGhlIGF2YWlsYWJsZSBzZXJ2aWNlIGNhdGFsb2cgcHJvZHVjdChzKSBmb3IgdGhlIGNhbGxlci5cbiAqXG4gKiBAcmV0dXJucyBsaXN0IG9mIHByb2R1Y3QgdmlldyBzdW1tYXJpZXNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZldGNoQXZhaWxhYmxlUHJvZHVjdHMoY2xpZW50PzogSVNlcnZpY2VDYXRhbG9nQ2xpZW50KTogUHJvbWlzZTxBV1MuU2VydmljZUNhdGFsb2cuUHJvZHVjdFZpZXdTdW1tYXJpZXM+IHtcbiAgY29uc3Qgc2MgPSBjbGllbnQgPz8gbmV3IFNlcnZpY2VDYXRhbG9nQ2xpZW50KCk7XG5cbiAgY29uc3QgcHJvZHVjdHM6IEFXUy5TZXJ2aWNlQ2F0YWxvZy5Qcm9kdWN0Vmlld1N1bW1hcmllcyA9IFtdO1xuICBsZXQgdG9rZW47XG5cbiAgZG8ge1xuICAgIGNvbnN0IHJlczogQVdTLlNlcnZpY2VDYXRhbG9nLlNlYXJjaFByb2R1Y3RzT3V0cHV0ID0gYXdhaXQgc2Muc2VhcmNoUHJvZHVjdHMoe1xuICAgICAgUGFnZVRva2VuOiB0b2tlbixcbiAgICB9KTtcblxuICAgIGlmIChyZXMuUHJvZHVjdFZpZXdTdW1tYXJpZXMpIHtcbiAgICAgIHByb2R1Y3RzLnB1c2goLi4ucmVzLlByb2R1Y3RWaWV3U3VtbWFyaWVzKTtcbiAgICB9XG4gICAgdG9rZW4gPSByZXMuTmV4dFBhZ2VUb2tlbjtcbiAgfSB3aGlsZSAodG9rZW4pO1xuXG4gIHJldHVybiBwcm9kdWN0cztcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byBwcm92aXNpb24gYW4gYXJ0aWZhY3QuXG4gKiBJbmNsdWRlcyBpbmZvcm1hdGlvbiBvbiBpbnB1dHMgYW5kIG91dHB1dHMgb2YgdGhlIHByb2R1Y3QuXG4gKlxuICogQHJldHVybnMgdGhlIHByb3Zpc29uaW5nIHBhcmFtZXRlcnMgZm9yIGFuIGFydGlmYWN0XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZXNjcmliZVByb3Zpc2lvbmluZ1BhcmFtZXRlcnMob3B0aW9uczogRGVzY3JpYmVQcm9kdWN0QWdncmVnYXRlT3B0aW9ucyk6XG5Qcm9taXNlPEFXUy5TZXJ2aWNlQ2F0YWxvZy5EZXNjcmliZVByb3Zpc2lvbmluZ1BhcmFtZXRlcnNPdXRwdXQ+IHtcblxuICBjb25zdCBzYyA9IG9wdGlvbnMuY2xpZW50ID8/IG5ldyBTZXJ2aWNlQ2F0YWxvZ0NsaWVudCgpO1xuXG4gIGNvbnN0IHByb3Zpc2lvbmluZ1BhcmFtZXRlcnM6IEFXUy5TZXJ2aWNlQ2F0YWxvZy5EZXNjcmliZVByb3Zpc2lvbmluZ1BhcmFtZXRlcnNPdXRwdXQgPSBhd2FpdCBzYy5kZXNjcmliZVByb3Zpc2lvbmluZ1BhcmFtZXRlcnMoe1xuICAgIFByb2R1Y3RJZDogb3B0aW9ucy5wcm9kdWN0SWQsXG4gICAgUHJvdmlzaW9uaW5nQXJ0aWZhY3RJZDogb3B0aW9ucy5wcm92aXNpb25pbmdBcnRpZmFjdElkLFxuICAgIFBhdGhJZDogb3B0aW9ucy5sYXVuY2hQYXRoSWQsXG4gIH0pO1xuXG4gIHJldHVybiBwcm92aXNpb25pbmdQYXJhbWV0ZXJzO1xufVxuXG4vKipcbiAqIEhvbGRzIGFsbCB0aGUgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGdlbmVyYXRlIGEgcHJvZHVjdCBhcnRpZmFjdCB0byBwcm92aXNpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdERhdGFBZ2dyZWdhdGUge1xuICAvKipcbiAgICogQ29yZSBwcm9kdWN0IGRldGFpbHMuXG4gICAqL1xuICByZWFkb25seSBwcm9kdWN0OiBBV1MuU2VydmljZUNhdGFsb2cuUHJvZHVjdFZpZXdTdW1tYXJ5O1xuICAvKipcbiAgICogRGV0YWlscyBvbiB0aGUgc2VsZWN0ZWQgcHJvdmlzaW9uaW5nIGFydGlmYWN0IGZvciB0aGUgcHJvZHVjdC5cbiAgICogUmVwcmVzZW50cyB0aGUgYWN0dWFsIHRlbXBsYXRlIHRoYXQgY29udGFpbnMgcmVzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdmlzaW9uaW5nQXJ0aWZhY3Q6IEFXUy5TZXJ2aWNlQ2F0YWxvZy5Qcm92aXNpb25pbmdBcnRpZmFjdDtcbiAgLyoqXG4gICAqIERldGFpbHMgb24gdGhlIHNlbGVjdGVkIGxhdW5jaCBwYXRoIGZvciB0aGUgcHJvZHVjdC5cbiAgICogUmVwcmVzZW50cyB0aGUgcGVybWlzc2lvbnMvYWJpbGl0eSBmb3IgZW5kIHVzZXIgdG8gcHJvdmlzaW9uIHRoZSBwcm9kdWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgbGF1bmNoUGF0aDogQVdTLlNlcnZpY2VDYXRhbG9nLkxhdW5jaFBhdGhTdW1tYXJ5O1xuICAvKipcbiAgICogRGV0YWlscyBvbiBwcm92aXNpb25pbmcgcmVxdWlyZW1lbnRzIGZvciB0aGUgcHJvdmlzaW9uaW5nIGFydGlmYWN0IGFuZCBsYXVuY2ggcGF0aC5cbiAgICogSG9sZHMgaW5mb3JtYXRpb24gb24gdGhlIGlucHV0cyBhbmQgb3V0cHV0cyBmb3IgdGhlIGRvd25zdHJlYW0gdGVtcGxhdGUuXG4gICAqL1xuICByZWFkb25seSBwYXJhbXM6IEFXUy5TZXJ2aWNlQ2F0YWxvZy5EZXNjcmliZVByb3Zpc2lvbmluZ1BhcmFtZXRlcnNPdXRwdXQ7XG59XG5cbi8qKlxuICogTWFrZXMgYSBzZXJpZXMgb2YgY2FsbHMgdG8gc2VydmljZSBjYXRhbG9nIHRvIGdldCBhbGwgaW5mb3JtYXRpb25cbiAqIHJlcXVpcmVkIHRvIHByb3Zpc2lvbiBhIHNlcnZpY2UgY2F0YWxvZyBwcm9kdWN0LlxuICpcbiAqIEByZXR1cm5zIFByb2R1Y3RWZXJzaW9uRGF0YSBhZ2dyZWdhdGUgb2YgcHJvdmlzaW9uaW5nIGFydGlmYWN0IGRldGFpbHMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZXNjcmliZVByb2R1Y3RBZ2dyZWdhdGUob3B0aW9uczogRGVzY3JpYmVQcm9kdWN0QWdncmVnYXRlT3B0aW9ucyk6IFByb21pc2U8UHJvZHVjdERhdGFBZ2dyZWdhdGU+IHtcbiAgY29uc3Qgc2MgPSBvcHRpb25zLmNsaWVudCA/PyBuZXcgU2VydmljZUNhdGFsb2dDbGllbnQoKTtcblxuICBjb25zdCBwcm9kdWN0RGF0YUFnZ3JlZ2F0ZSA9IGF3YWl0IGRlc2NyaWJlUHJvZHVjdCh7XG4gICAgcHJvZHVjdElkOiBvcHRpb25zLnByb2R1Y3RJZCxcbiAgICBsYXVuY2hQYXRoSWQ6IG9wdGlvbnMubGF1bmNoUGF0aElkLFxuICAgIHByb3Zpc2lvbmluZ0FydGlmYWN0SWQ6IG9wdGlvbnMucHJvdmlzaW9uaW5nQXJ0aWZhY3RJZCxcbiAgICBjbGllbnQ6IHNjLFxuICB9KTtcblxuICByZXR1cm4gcHJvZHVjdERhdGFBZ2dyZWdhdGU7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvZHVjdERhdGEocHJvZHVjdElkOiBzdHJpbmcsIHByb2R1Y3Q6IEFXUy5TZXJ2aWNlQ2F0YWxvZy5EZXNjcmliZVByb2R1Y3RPdXRwdXQpOiB2b2lkIHtcbiAgaWYgKHByb2R1Y3QuUHJvZHVjdFZpZXdTdW1tYXJ5ID09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IHJlc29sdmUgcHJvZHVjdCBkZXRhaWxzIGZvciAke3Byb2R1Y3RJZH1gKTtcbiAgfSBlbHNlIGlmIChwcm9kdWN0LlByb3Zpc2lvbmluZ0FydGlmYWN0cyA9PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCByZXNvbHZlIHByb3Zpc2lvbmluZyBhcnRpZmFjdHMgZm9yIHByb2R1Y3Q6ICR7cHJvZHVjdElkfWApO1xuICB9IGVsc2UgaWYgKHByb2R1Y3QuTGF1bmNoUGF0aHMgPT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcmVzb2x2ZSBsYXVuY2ggcGF0aHMgZm9yIHByb2R1Y3Q6ICR7cHJvZHVjdElkfWApO1xuICB9XG59Il19
|
package/package.json
CHANGED
|
@@ -40,17 +40,17 @@
|
|
|
40
40
|
"jest-junit": "^13",
|
|
41
41
|
"json-schema": "^0.4.0",
|
|
42
42
|
"npm-check-updates": "^12",
|
|
43
|
-
"projen": "^0.54.
|
|
43
|
+
"projen": "^0.54.39",
|
|
44
44
|
"standard-version": "^9",
|
|
45
45
|
"ts-jest": "^27.1.4",
|
|
46
46
|
"ts-node": "^10.7.0",
|
|
47
47
|
"typescript": "^4.6.3"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"aws-sdk": "^2.
|
|
50
|
+
"aws-sdk": "^2.1119.0",
|
|
51
51
|
"case": "^1.6.3",
|
|
52
|
-
"jsii-srcmak": "^0.1.
|
|
53
|
-
"json2jsii": "^0.2.
|
|
52
|
+
"jsii-srcmak": "^0.1.538",
|
|
53
|
+
"json2jsii": "^0.2.198",
|
|
54
54
|
"minimist": "^1.2.6",
|
|
55
55
|
"proxy-agent": "^5.0.0"
|
|
56
56
|
},
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
},
|
|
60
60
|
"main": "lib/index.js",
|
|
61
61
|
"license": "Apache-2.0",
|
|
62
|
-
"version": "0.2.
|
|
62
|
+
"version": "0.2.147",
|
|
63
63
|
"jest": {
|
|
64
64
|
"testMatch": [
|
|
65
65
|
"<rootDir>/src/**/__tests__/**/*.ts?(x)",
|