cdktn 0.25.0-pre.20 → 0.25.0-pre.21
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/.jsii +840 -21
- package/lib/annotations.js +1 -1
- package/lib/app.js +1 -1
- package/lib/aspect.js +1 -1
- package/lib/asset-hash.d.ts +75 -0
- package/lib/asset-hash.js +129 -0
- package/lib/assets.d.ts +168 -0
- package/lib/assets.js +128 -0
- package/lib/backends/azurerm-backend.js +2 -2
- package/lib/backends/cloud-backend.js +4 -4
- package/lib/backends/consul-backend.js +2 -2
- package/lib/backends/cos-backend.js +2 -2
- package/lib/backends/gcs-backend.js +2 -2
- package/lib/backends/http-backend.js +2 -2
- package/lib/backends/local-backend.js +2 -2
- package/lib/backends/oss-backend.js +2 -2
- package/lib/backends/pg-backend.js +2 -2
- package/lib/backends/remote-backend.js +4 -4
- package/lib/backends/s3-backend.js +2 -2
- package/lib/backends/swift-backend.js +2 -2
- package/lib/complex-computed-list.js +26 -26
- package/lib/errors.d.ts +6 -0
- package/lib/errors.js +24 -3
- package/lib/functions/provider-function.js +1 -1
- package/lib/functions/terraform-functions.generated.js +1 -1
- package/lib/ignore-strategy.d.ts +82 -0
- package/lib/ignore-strategy.js +29 -0
- package/lib/importable-resource.js +1 -1
- package/lib/index.d.ts +3 -0
- package/lib/index.js +4 -1
- package/lib/manifest.js +1 -1
- package/lib/private/fs.d.ts +74 -2
- package/lib/private/fs.js +93 -14
- package/lib/resource.js +1 -1
- package/lib/terraform-asset.d.ts +33 -2
- package/lib/terraform-asset.js +77 -30
- package/lib/terraform-backend.js +1 -1
- package/lib/terraform-count.js +1 -1
- package/lib/terraform-data-resource.js +1 -1
- package/lib/terraform-data-source.js +1 -1
- package/lib/terraform-element.js +1 -1
- package/lib/terraform-ephemeral-resource.js +1 -1
- package/lib/terraform-functions.js +1 -1
- package/lib/terraform-hcl-module.js +1 -1
- package/lib/terraform-iterator.js +5 -5
- package/lib/terraform-local.js +1 -1
- package/lib/terraform-module.js +1 -1
- package/lib/terraform-operators.js +1 -1
- package/lib/terraform-output.js +1 -1
- package/lib/terraform-provider.js +1 -1
- package/lib/terraform-provisioner.js +1 -1
- package/lib/terraform-remote-state.js +1 -1
- package/lib/terraform-resource-targets.js +1 -1
- package/lib/terraform-resource.js +1 -1
- package/lib/terraform-stack.js +1 -1
- package/lib/terraform-variable.js +2 -2
- package/lib/testing/index.js +1 -1
- package/lib/testing/matchers.js +1 -1
- package/lib/tokens/lazy.js +2 -2
- package/lib/tokens/resolvable.js +2 -2
- package/lib/tokens/string-fragments.js +1 -1
- package/lib/tokens/token.js +2 -2
- package/lib/upgrade-id-aspect.js +1 -1
- package/package.json +1 -1
package/lib/annotations.js
CHANGED
|
@@ -14,7 +14,7 @@ exports.DISABLE_STACK_TRACE_IN_METADATA = "@cdktf/disable_stack_trace_in_metadat
|
|
|
14
14
|
*/
|
|
15
15
|
class Annotations {
|
|
16
16
|
scope;
|
|
17
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Annotations", version: "0.25.0-pre.
|
|
17
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Annotations", version: "0.25.0-pre.21" };
|
|
18
18
|
/**
|
|
19
19
|
* Returns the annotations API for a construct scope.
|
|
20
20
|
* @param scope The scope
|
package/lib/app.js
CHANGED
|
@@ -51,7 +51,7 @@ exports.CONTEXT_ENV = "CDKTF_CONTEXT_JSON";
|
|
|
51
51
|
* Represents a cdktn application.
|
|
52
52
|
*/
|
|
53
53
|
class App extends constructs_1.Construct {
|
|
54
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.App", version: "0.25.0-pre.
|
|
54
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.App", version: "0.25.0-pre.21" };
|
|
55
55
|
/**
|
|
56
56
|
* The output directory into which resources will be synthesized.
|
|
57
57
|
*/
|
package/lib/aspect.js
CHANGED
|
@@ -8,7 +8,7 @@ const ASPECTS_SYMBOL = Symbol("cdktf-aspects");
|
|
|
8
8
|
* synthesis.
|
|
9
9
|
*/
|
|
10
10
|
class Aspects {
|
|
11
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Aspects", version: "0.25.0-pre.
|
|
11
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Aspects", version: "0.25.0-pre.21" };
|
|
12
12
|
/**
|
|
13
13
|
* Returns the `Aspects` object associated with a construct scope.
|
|
14
14
|
* @param scope The scope for which these aspects will apply.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { IIgnoreStrategy } from "./ignore-strategy";
|
|
2
|
+
/**
|
|
3
|
+
* Options for {@link AssetHash.of}.
|
|
4
|
+
*/
|
|
5
|
+
export interface AssetHashOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Paths to exclude, relative to the hashed path. Cannot be combined with
|
|
8
|
+
* `ignoreStrategy`, which replaces this matcher rather than layering on
|
|
9
|
+
* top of it.
|
|
10
|
+
*
|
|
11
|
+
* @default - nothing is excluded
|
|
12
|
+
*/
|
|
13
|
+
readonly exclude?: string[];
|
|
14
|
+
/**
|
|
15
|
+
* Extra information to fold into the hash.
|
|
16
|
+
*
|
|
17
|
+
* @default - no extra data
|
|
18
|
+
*/
|
|
19
|
+
readonly extraHash?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Exclusion matching, for callers that need `.gitignore` / `.dockerignore`
|
|
22
|
+
* parity rather than the built-in exact-path / suffix / directory matcher.
|
|
23
|
+
*
|
|
24
|
+
* @default - `exclude` is used with the built-in matcher
|
|
25
|
+
*/
|
|
26
|
+
readonly ignoreStrategy?: IIgnoreStrategy;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Computes a content hash of a file or directory without staging it.
|
|
30
|
+
*
|
|
31
|
+
* Providers that read a local path directly — a Docker build `context`, for
|
|
32
|
+
* example — need a content hash to drive `triggers`, but have no use for a
|
|
33
|
+
* staged copy of the source. `Asset` and `TerraformAsset` always produce a
|
|
34
|
+
* staged copy; this is the identity half without the staging half.
|
|
35
|
+
*/
|
|
36
|
+
export declare class AssetHash {
|
|
37
|
+
/**
|
|
38
|
+
* Content hash of a file or directory, without staging it.
|
|
39
|
+
*
|
|
40
|
+
* This is a hash of the source tree, and it does not depend on how the
|
|
41
|
+
* source is later packaged. `hashPath` is always called with `archive`
|
|
42
|
+
* unset, so directory records are part of the digest; the hash of a given
|
|
43
|
+
* tree is therefore the same whether it is later copied, zipped, or packed
|
|
44
|
+
* by a custom `IAssetPackaging` such as `tar.bz2`.
|
|
45
|
+
*
|
|
46
|
+
* A consequence worth stating: this does not equal
|
|
47
|
+
* `TerraformAsset(dir, { type: ARCHIVE }).assetHash` for a directory with
|
|
48
|
+
* subdirectories. That asset frames its hash to the emitted ZIP, which has
|
|
49
|
+
* no directory entries (see #323), so directory-only changes move it and
|
|
50
|
+
* not this. It equals a `FILE` / `DIRECTORY` `TerraformAsset` hash only
|
|
51
|
+
* when the `canonicalAssetHashes` flag is enabled, since that flag is what
|
|
52
|
+
* puts the asset on this same canonical scheme.
|
|
53
|
+
*
|
|
54
|
+
* A relative `filePath` is resolved against the directory containing
|
|
55
|
+
* `cdktf.json`, the same base `TerraformAsset` uses, so both hash the same
|
|
56
|
+
* source regardless of the process working directory. Absolute paths are
|
|
57
|
+
* used as-is. Throws if `filePath` is relative and no `cdktf.json` is found
|
|
58
|
+
* above the working directory.
|
|
59
|
+
* @param filePath - path to a file or directory to hash
|
|
60
|
+
* @param options - see {@link AssetHashOptions}
|
|
61
|
+
*/
|
|
62
|
+
static of(filePath: string, options?: AssetHashOptions): string;
|
|
63
|
+
/**
|
|
64
|
+
* Resolve `filePath` to an absolute path using the same base as
|
|
65
|
+
* `TerraformAsset`: relative paths are anchored to the directory holding
|
|
66
|
+
* `cdktf.json`, not `process.cwd()`, so a hash taken here matches the one
|
|
67
|
+
* `TerraformAsset` computes for the same source even when the app is run
|
|
68
|
+
* from a subdirectory or a test runner. Unlike `TerraformAsset`, there is
|
|
69
|
+
* no construct scope to read the `cdktfJsonPath` context from, so this uses
|
|
70
|
+
* the `findFileAboveCwd` fallback directly.
|
|
71
|
+
* @param filePath - path passed to {@link AssetHash.of}
|
|
72
|
+
*/
|
|
73
|
+
private static resolvePath;
|
|
74
|
+
private constructor();
|
|
75
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.AssetHash = void 0;
|
|
37
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
38
|
+
// Copyright (c) HashiCorp, Inc
|
|
39
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
40
|
+
const crypto = __importStar(require("crypto"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
const fs_1 = require("./private/fs");
|
|
43
|
+
const ignore_strategy_1 = require("./ignore-strategy");
|
|
44
|
+
const errors_1 = require("./errors");
|
|
45
|
+
/**
|
|
46
|
+
* Computes a content hash of a file or directory without staging it.
|
|
47
|
+
*
|
|
48
|
+
* Providers that read a local path directly — a Docker build `context`, for
|
|
49
|
+
* example — need a content hash to drive `triggers`, but have no use for a
|
|
50
|
+
* staged copy of the source. `Asset` and `TerraformAsset` always produce a
|
|
51
|
+
* staged copy; this is the identity half without the staging half.
|
|
52
|
+
*/
|
|
53
|
+
class AssetHash {
|
|
54
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.AssetHash", version: "0.25.0-pre.21" };
|
|
55
|
+
/**
|
|
56
|
+
* Content hash of a file or directory, without staging it.
|
|
57
|
+
*
|
|
58
|
+
* This is a hash of the source tree, and it does not depend on how the
|
|
59
|
+
* source is later packaged. `hashPath` is always called with `archive`
|
|
60
|
+
* unset, so directory records are part of the digest; the hash of a given
|
|
61
|
+
* tree is therefore the same whether it is later copied, zipped, or packed
|
|
62
|
+
* by a custom `IAssetPackaging` such as `tar.bz2`.
|
|
63
|
+
*
|
|
64
|
+
* A consequence worth stating: this does not equal
|
|
65
|
+
* `TerraformAsset(dir, { type: ARCHIVE }).assetHash` for a directory with
|
|
66
|
+
* subdirectories. That asset frames its hash to the emitted ZIP, which has
|
|
67
|
+
* no directory entries (see #323), so directory-only changes move it and
|
|
68
|
+
* not this. It equals a `FILE` / `DIRECTORY` `TerraformAsset` hash only
|
|
69
|
+
* when the `canonicalAssetHashes` flag is enabled, since that flag is what
|
|
70
|
+
* puts the asset on this same canonical scheme.
|
|
71
|
+
*
|
|
72
|
+
* A relative `filePath` is resolved against the directory containing
|
|
73
|
+
* `cdktf.json`, the same base `TerraformAsset` uses, so both hash the same
|
|
74
|
+
* source regardless of the process working directory. Absolute paths are
|
|
75
|
+
* used as-is. Throws if `filePath` is relative and no `cdktf.json` is found
|
|
76
|
+
* above the working directory.
|
|
77
|
+
* @param filePath - path to a file or directory to hash
|
|
78
|
+
* @param options - see {@link AssetHashOptions}
|
|
79
|
+
*/
|
|
80
|
+
static of(filePath, options = {}) {
|
|
81
|
+
if (options.exclude?.length && options.ignoreStrategy) {
|
|
82
|
+
throw (0, errors_1.assetHashConflictingExcludeOptions)();
|
|
83
|
+
}
|
|
84
|
+
const resolved = AssetHash.resolvePath(filePath);
|
|
85
|
+
const strategy = options.ignoreStrategy ??
|
|
86
|
+
new ignore_strategy_1.ExcludeIgnoreStrategy(options.exclude ?? []);
|
|
87
|
+
// Pinned to the canonical scheme: this is a brand-new API with no
|
|
88
|
+
// existing hashes to preserve, so it has no reason to start on the
|
|
89
|
+
// legacy scheme that `canonicalAssetHashes` exists to move away from.
|
|
90
|
+
const baseHash = (0, fs_1.hashPath)(resolved, {
|
|
91
|
+
canonical: true,
|
|
92
|
+
shouldExclude: (relativePath, isDirectory) => strategy.ignores({ relativePath, isDirectory }),
|
|
93
|
+
descendIntoExcludedDirectories: strategy.pruneExcludedDirectories === false,
|
|
94
|
+
});
|
|
95
|
+
if (!options.extraHash) {
|
|
96
|
+
return baseHash;
|
|
97
|
+
}
|
|
98
|
+
return crypto
|
|
99
|
+
.createHash("md5")
|
|
100
|
+
.update(baseHash)
|
|
101
|
+
.update(options.extraHash)
|
|
102
|
+
.digest("hex")
|
|
103
|
+
.slice(0, 32)
|
|
104
|
+
.toUpperCase();
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Resolve `filePath` to an absolute path using the same base as
|
|
108
|
+
* `TerraformAsset`: relative paths are anchored to the directory holding
|
|
109
|
+
* `cdktf.json`, not `process.cwd()`, so a hash taken here matches the one
|
|
110
|
+
* `TerraformAsset` computes for the same source even when the app is run
|
|
111
|
+
* from a subdirectory or a test runner. Unlike `TerraformAsset`, there is
|
|
112
|
+
* no construct scope to read the `cdktfJsonPath` context from, so this uses
|
|
113
|
+
* the `findFileAboveCwd` fallback directly.
|
|
114
|
+
* @param filePath - path passed to {@link AssetHash.of}
|
|
115
|
+
*/
|
|
116
|
+
static resolvePath(filePath) {
|
|
117
|
+
if (path.isAbsolute(filePath)) {
|
|
118
|
+
return filePath;
|
|
119
|
+
}
|
|
120
|
+
const cdktfJsonPath = (0, fs_1.findFileAboveCwd)("cdktf.json");
|
|
121
|
+
if (!cdktfJsonPath) {
|
|
122
|
+
throw (0, errors_1.assetHashOutOfScopeCdktnJson)(filePath);
|
|
123
|
+
}
|
|
124
|
+
return path.resolve(path.dirname(cdktfJsonPath), filePath);
|
|
125
|
+
}
|
|
126
|
+
constructor() { }
|
|
127
|
+
}
|
|
128
|
+
exports.AssetHash = AssetHash;
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtaGFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hc3NldC1oYXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLCtDQUFpQztBQUNqQywyQ0FBNkI7QUFDN0IscUNBQTBEO0FBQzFELHVEQUEyRTtBQUMzRSxxQ0FHa0I7QUErQmxCOzs7Ozs7O0dBT0c7QUFDSCxNQUFhLFNBQVM7O0lBQ3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0F3Qkc7SUFDSSxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQWdCLEVBQUUsVUFBNEIsRUFBRTtRQUMvRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0RCxNQUFNLElBQUEsMkNBQWtDLEdBQUUsQ0FBQztRQUM3QyxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRCxNQUFNLFFBQVEsR0FDWixPQUFPLENBQUMsY0FBYztZQUN0QixJQUFJLHVDQUFxQixDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7UUFFbkQsa0VBQWtFO1FBQ2xFLG1FQUFtRTtRQUNuRSxzRUFBc0U7UUFDdEUsTUFBTSxRQUFRLEdBQUcsSUFBQSxhQUFRLEVBQUMsUUFBUSxFQUFFO1lBQ2xDLFNBQVMsRUFBRSxJQUFJO1lBQ2YsYUFBYSxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQzNDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFDakQsOEJBQThCLEVBQzVCLFFBQVEsQ0FBQyx3QkFBd0IsS0FBSyxLQUFLO1NBQzlDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdkIsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUVELE9BQU8sTUFBTTthQUNWLFVBQVUsQ0FBQyxLQUFLLENBQUM7YUFDakIsTUFBTSxDQUFDLFFBQVEsQ0FBQzthQUNoQixNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQzthQUN6QixNQUFNLENBQUMsS0FBSyxDQUFDO2FBQ2IsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7YUFDWixXQUFXLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ssTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFnQjtRQUN6QyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsSUFBQSxxQkFBZ0IsRUFBQyxZQUFZLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkIsTUFBTSxJQUFBLHFDQUE0QixFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsZ0JBQXVCLENBQUM7O0FBakYxQiw4QkFrRkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gXCJjcnlwdG9cIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IGhhc2hQYXRoLCBmaW5kRmlsZUFib3ZlQ3dkIH0gZnJvbSBcIi4vcHJpdmF0ZS9mc1wiO1xuaW1wb3J0IHsgRXhjbHVkZUlnbm9yZVN0cmF0ZWd5LCBJSWdub3JlU3RyYXRlZ3kgfSBmcm9tIFwiLi9pZ25vcmUtc3RyYXRlZ3lcIjtcbmltcG9ydCB7XG4gIGFzc2V0SGFzaENvbmZsaWN0aW5nRXhjbHVkZU9wdGlvbnMsXG4gIGFzc2V0SGFzaE91dE9mU2NvcGVDZGt0bkpzb24sXG59IGZyb20gXCIuL2Vycm9yc1wiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBBc3NldEhhc2gub2Z9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFzc2V0SGFzaE9wdGlvbnMge1xuICAvKipcbiAgICogUGF0aHMgdG8gZXhjbHVkZSwgcmVsYXRpdmUgdG8gdGhlIGhhc2hlZCBwYXRoLiBDYW5ub3QgYmUgY29tYmluZWQgd2l0aFxuICAgKiBgaWdub3JlU3RyYXRlZ3lgLCB3aGljaCByZXBsYWNlcyB0aGlzIG1hdGNoZXIgcmF0aGVyIHRoYW4gbGF5ZXJpbmcgb25cbiAgICogdG9wIG9mIGl0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vdGhpbmcgaXMgZXhjbHVkZWRcbiAgICovXG4gIHJlYWRvbmx5IGV4Y2x1ZGU/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRXh0cmEgaW5mb3JtYXRpb24gdG8gZm9sZCBpbnRvIHRoZSBoYXNoLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGV4dHJhIGRhdGFcbiAgICovXG4gIHJlYWRvbmx5IGV4dHJhSGFzaD86IHN0cmluZztcblxuICAvKipcbiAgICogRXhjbHVzaW9uIG1hdGNoaW5nLCBmb3IgY2FsbGVycyB0aGF0IG5lZWQgYC5naXRpZ25vcmVgIC8gYC5kb2NrZXJpZ25vcmVgXG4gICAqIHBhcml0eSByYXRoZXIgdGhhbiB0aGUgYnVpbHQtaW4gZXhhY3QtcGF0aCAvIHN1ZmZpeCAvIGRpcmVjdG9yeSBtYXRjaGVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGBleGNsdWRlYCBpcyB1c2VkIHdpdGggdGhlIGJ1aWx0LWluIG1hdGNoZXJcbiAgICovXG4gIHJlYWRvbmx5IGlnbm9yZVN0cmF0ZWd5PzogSUlnbm9yZVN0cmF0ZWd5O1xufVxuXG4vKipcbiAqIENvbXB1dGVzIGEgY29udGVudCBoYXNoIG9mIGEgZmlsZSBvciBkaXJlY3Rvcnkgd2l0aG91dCBzdGFnaW5nIGl0LlxuICpcbiAqIFByb3ZpZGVycyB0aGF0IHJlYWQgYSBsb2NhbCBwYXRoIGRpcmVjdGx5IOKAlCBhIERvY2tlciBidWlsZCBgY29udGV4dGAsIGZvclxuICogZXhhbXBsZSDigJQgbmVlZCBhIGNvbnRlbnQgaGFzaCB0byBkcml2ZSBgdHJpZ2dlcnNgLCBidXQgaGF2ZSBubyB1c2UgZm9yIGFcbiAqIHN0YWdlZCBjb3B5IG9mIHRoZSBzb3VyY2UuIGBBc3NldGAgYW5kIGBUZXJyYWZvcm1Bc3NldGAgYWx3YXlzIHByb2R1Y2UgYVxuICogc3RhZ2VkIGNvcHk7IHRoaXMgaXMgdGhlIGlkZW50aXR5IGhhbGYgd2l0aG91dCB0aGUgc3RhZ2luZyBoYWxmLlxuICovXG5leHBvcnQgY2xhc3MgQXNzZXRIYXNoIHtcbiAgLyoqXG4gICAqIENvbnRlbnQgaGFzaCBvZiBhIGZpbGUgb3IgZGlyZWN0b3J5LCB3aXRob3V0IHN0YWdpbmcgaXQuXG4gICAqXG4gICAqIFRoaXMgaXMgYSBoYXNoIG9mIHRoZSBzb3VyY2UgdHJlZSwgYW5kIGl0IGRvZXMgbm90IGRlcGVuZCBvbiBob3cgdGhlXG4gICAqIHNvdXJjZSBpcyBsYXRlciBwYWNrYWdlZC4gYGhhc2hQYXRoYCBpcyBhbHdheXMgY2FsbGVkIHdpdGggYGFyY2hpdmVgXG4gICAqIHVuc2V0LCBzbyBkaXJlY3RvcnkgcmVjb3JkcyBhcmUgcGFydCBvZiB0aGUgZGlnZXN0OyB0aGUgaGFzaCBvZiBhIGdpdmVuXG4gICAqIHRyZWUgaXMgdGhlcmVmb3JlIHRoZSBzYW1lIHdoZXRoZXIgaXQgaXMgbGF0ZXIgY29waWVkLCB6aXBwZWQsIG9yIHBhY2tlZFxuICAgKiBieSBhIGN1c3RvbSBgSUFzc2V0UGFja2FnaW5nYCBzdWNoIGFzIGB0YXIuYnoyYC5cbiAgICpcbiAgICogQSBjb25zZXF1ZW5jZSB3b3J0aCBzdGF0aW5nOiB0aGlzIGRvZXMgbm90IGVxdWFsXG4gICAqIGBUZXJyYWZvcm1Bc3NldChkaXIsIHsgdHlwZTogQVJDSElWRSB9KS5hc3NldEhhc2hgIGZvciBhIGRpcmVjdG9yeSB3aXRoXG4gICAqIHN1YmRpcmVjdG9yaWVzLiBUaGF0IGFzc2V0IGZyYW1lcyBpdHMgaGFzaCB0byB0aGUgZW1pdHRlZCBaSVAsIHdoaWNoIGhhc1xuICAgKiBubyBkaXJlY3RvcnkgZW50cmllcyAoc2VlICMzMjMpLCBzbyBkaXJlY3Rvcnktb25seSBjaGFuZ2VzIG1vdmUgaXQgYW5kXG4gICAqIG5vdCB0aGlzLiBJdCBlcXVhbHMgYSBgRklMRWAgLyBgRElSRUNUT1JZYCBgVGVycmFmb3JtQXNzZXRgIGhhc2ggb25seVxuICAgKiB3aGVuIHRoZSBgY2Fub25pY2FsQXNzZXRIYXNoZXNgIGZsYWcgaXMgZW5hYmxlZCwgc2luY2UgdGhhdCBmbGFnIGlzIHdoYXRcbiAgICogcHV0cyB0aGUgYXNzZXQgb24gdGhpcyBzYW1lIGNhbm9uaWNhbCBzY2hlbWUuXG4gICAqXG4gICAqIEEgcmVsYXRpdmUgYGZpbGVQYXRoYCBpcyByZXNvbHZlZCBhZ2FpbnN0IHRoZSBkaXJlY3RvcnkgY29udGFpbmluZ1xuICAgKiBgY2RrdGYuanNvbmAsIHRoZSBzYW1lIGJhc2UgYFRlcnJhZm9ybUFzc2V0YCB1c2VzLCBzbyBib3RoIGhhc2ggdGhlIHNhbWVcbiAgICogc291cmNlIHJlZ2FyZGxlc3Mgb2YgdGhlIHByb2Nlc3Mgd29ya2luZyBkaXJlY3RvcnkuIEFic29sdXRlIHBhdGhzIGFyZVxuICAgKiB1c2VkIGFzLWlzLiBUaHJvd3MgaWYgYGZpbGVQYXRoYCBpcyByZWxhdGl2ZSBhbmQgbm8gYGNka3RmLmpzb25gIGlzIGZvdW5kXG4gICAqIGFib3ZlIHRoZSB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICogQHBhcmFtIGZpbGVQYXRoIC0gcGF0aCB0byBhIGZpbGUgb3IgZGlyZWN0b3J5IHRvIGhhc2hcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBzZWUge0BsaW5rIEFzc2V0SGFzaE9wdGlvbnN9XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG9mKGZpbGVQYXRoOiBzdHJpbmcsIG9wdGlvbnM6IEFzc2V0SGFzaE9wdGlvbnMgPSB7fSk6IHN0cmluZyB7XG4gICAgaWYgKG9wdGlvbnMuZXhjbHVkZT8ubGVuZ3RoICYmIG9wdGlvbnMuaWdub3JlU3RyYXRlZ3kpIHtcbiAgICAgIHRocm93IGFzc2V0SGFzaENvbmZsaWN0aW5nRXhjbHVkZU9wdGlvbnMoKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNvbHZlZCA9IEFzc2V0SGFzaC5yZXNvbHZlUGF0aChmaWxlUGF0aCk7XG4gICAgY29uc3Qgc3RyYXRlZ3kgPVxuICAgICAgb3B0aW9ucy5pZ25vcmVTdHJhdGVneSA/P1xuICAgICAgbmV3IEV4Y2x1ZGVJZ25vcmVTdHJhdGVneShvcHRpb25zLmV4Y2x1ZGUgPz8gW10pO1xuXG4gICAgLy8gUGlubmVkIHRvIHRoZSBjYW5vbmljYWwgc2NoZW1lOiB0aGlzIGlzIGEgYnJhbmQtbmV3IEFQSSB3aXRoIG5vXG4gICAgLy8gZXhpc3RpbmcgaGFzaGVzIHRvIHByZXNlcnZlLCBzbyBpdCBoYXMgbm8gcmVhc29uIHRvIHN0YXJ0IG9uIHRoZVxuICAgIC8vIGxlZ2FjeSBzY2hlbWUgdGhhdCBgY2Fub25pY2FsQXNzZXRIYXNoZXNgIGV4aXN0cyB0byBtb3ZlIGF3YXkgZnJvbS5cbiAgICBjb25zdCBiYXNlSGFzaCA9IGhhc2hQYXRoKHJlc29sdmVkLCB7XG4gICAgICBjYW5vbmljYWw6IHRydWUsXG4gICAgICBzaG91bGRFeGNsdWRlOiAocmVsYXRpdmVQYXRoLCBpc0RpcmVjdG9yeSkgPT5cbiAgICAgICAgc3RyYXRlZ3kuaWdub3Jlcyh7IHJlbGF0aXZlUGF0aCwgaXNEaXJlY3RvcnkgfSksXG4gICAgICBkZXNjZW5kSW50b0V4Y2x1ZGVkRGlyZWN0b3JpZXM6XG4gICAgICAgIHN0cmF0ZWd5LnBydW5lRXhjbHVkZWREaXJlY3RvcmllcyA9PT0gZmFsc2UsXG4gICAgfSk7XG5cbiAgICBpZiAoIW9wdGlvbnMuZXh0cmFIYXNoKSB7XG4gICAgICByZXR1cm4gYmFzZUhhc2g7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNyeXB0b1xuICAgICAgLmNyZWF0ZUhhc2goXCJtZDVcIilcbiAgICAgIC51cGRhdGUoYmFzZUhhc2gpXG4gICAgICAudXBkYXRlKG9wdGlvbnMuZXh0cmFIYXNoKVxuICAgICAgLmRpZ2VzdChcImhleFwiKVxuICAgICAgLnNsaWNlKDAsIDMyKVxuICAgICAgLnRvVXBwZXJDYXNlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZSBgZmlsZVBhdGhgIHRvIGFuIGFic29sdXRlIHBhdGggdXNpbmcgdGhlIHNhbWUgYmFzZSBhc1xuICAgKiBgVGVycmFmb3JtQXNzZXRgOiByZWxhdGl2ZSBwYXRocyBhcmUgYW5jaG9yZWQgdG8gdGhlIGRpcmVjdG9yeSBob2xkaW5nXG4gICAqIGBjZGt0Zi5qc29uYCwgbm90IGBwcm9jZXNzLmN3ZCgpYCwgc28gYSBoYXNoIHRha2VuIGhlcmUgbWF0Y2hlcyB0aGUgb25lXG4gICAqIGBUZXJyYWZvcm1Bc3NldGAgY29tcHV0ZXMgZm9yIHRoZSBzYW1lIHNvdXJjZSBldmVuIHdoZW4gdGhlIGFwcCBpcyBydW5cbiAgICogZnJvbSBhIHN1YmRpcmVjdG9yeSBvciBhIHRlc3QgcnVubmVyLiBVbmxpa2UgYFRlcnJhZm9ybUFzc2V0YCwgdGhlcmUgaXNcbiAgICogbm8gY29uc3RydWN0IHNjb3BlIHRvIHJlYWQgdGhlIGBjZGt0Zkpzb25QYXRoYCBjb250ZXh0IGZyb20sIHNvIHRoaXMgdXNlc1xuICAgKiB0aGUgYGZpbmRGaWxlQWJvdmVDd2RgIGZhbGxiYWNrIGRpcmVjdGx5LlxuICAgKiBAcGFyYW0gZmlsZVBhdGggLSBwYXRoIHBhc3NlZCB0byB7QGxpbmsgQXNzZXRIYXNoLm9mfVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgcmVzb2x2ZVBhdGgoZmlsZVBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHBhdGguaXNBYnNvbHV0ZShmaWxlUGF0aCkpIHtcbiAgICAgIHJldHVybiBmaWxlUGF0aDtcbiAgICB9XG4gICAgY29uc3QgY2RrdGZKc29uUGF0aCA9IGZpbmRGaWxlQWJvdmVDd2QoXCJjZGt0Zi5qc29uXCIpO1xuICAgIGlmICghY2RrdGZKc29uUGF0aCkge1xuICAgICAgdGhyb3cgYXNzZXRIYXNoT3V0T2ZTY29wZUNka3RuSnNvbihmaWxlUGF0aCk7XG4gICAgfVxuICAgIHJldHVybiBwYXRoLnJlc29sdmUocGF0aC5kaXJuYW1lKGNka3RmSnNvblBhdGgpLCBmaWxlUGF0aCk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
|
package/lib/assets.d.ts
ADDED
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { IIgnoreStrategy } from "./ignore-strategy";
|
|
2
|
+
/**
|
|
3
|
+
* Common interface for all assets.
|
|
4
|
+
*/
|
|
5
|
+
export interface IAsset {
|
|
6
|
+
/**
|
|
7
|
+
* A hash of this asset, which is available at construction time. As this is a plain string, it
|
|
8
|
+
* can be used in construct IDs in order to enforce creation of a new resource when the content
|
|
9
|
+
* hash has changed.
|
|
10
|
+
*/
|
|
11
|
+
readonly assetHash: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Asset hash options
|
|
15
|
+
*/
|
|
16
|
+
export interface AssetOptions {
|
|
17
|
+
/**
|
|
18
|
+
* Specify a custom hash for this asset. If `assetHashType` is set it must
|
|
19
|
+
* be set to `AssetHashType.CUSTOM`. The value is used verbatim as the asset
|
|
20
|
+
* hash, and because it names the staged asset file it may only contain
|
|
21
|
+
* letters, digits, `_`, `.` and `-`.
|
|
22
|
+
*
|
|
23
|
+
* NOTE: the hash is used in order to identify a specific revision of the asset, and
|
|
24
|
+
* used for optimizing and caching deployment activities related to this asset such as
|
|
25
|
+
* packaging, uploading to cloud storage, etc. If you chose to customize the hash, you will
|
|
26
|
+
* need to make sure it is updated every time the asset changes, or otherwise it is
|
|
27
|
+
* possible that some deployments will not be invalidated.
|
|
28
|
+
*
|
|
29
|
+
* @default - based on `assetHashType`
|
|
30
|
+
*/
|
|
31
|
+
readonly assetHash?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Specifies the type of hash to calculate for this asset.
|
|
34
|
+
*
|
|
35
|
+
* If `assetHash` is configured, this option must be `undefined` or
|
|
36
|
+
* `AssetHashType.CUSTOM`.
|
|
37
|
+
*
|
|
38
|
+
* @default - the default is `AssetHashType.SOURCE`, but if `assetHash` is
|
|
39
|
+
* explicitly specified this value defaults to `AssetHashType.CUSTOM`.
|
|
40
|
+
*/
|
|
41
|
+
readonly assetHashType?: AssetHashType;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The type of asset hash
|
|
45
|
+
*
|
|
46
|
+
* NOTE: the hash is used in order to identify a specific revision of the asset, and
|
|
47
|
+
* used for optimizing and caching deployment activities related to this asset such as
|
|
48
|
+
* packaging, uploading to cloud storage, etc.
|
|
49
|
+
*/
|
|
50
|
+
export declare enum AssetHashType {
|
|
51
|
+
/**
|
|
52
|
+
* Based on the content of the source path
|
|
53
|
+
*
|
|
54
|
+
* Use `SOURCE` when the content of the asset changes frequently or when
|
|
55
|
+
* you want to track changes to the source files directly.
|
|
56
|
+
*/
|
|
57
|
+
SOURCE = "source",
|
|
58
|
+
/**
|
|
59
|
+
* Based on the content of the bundling output
|
|
60
|
+
*
|
|
61
|
+
* Use `OUTPUT` when the source of the asset is a top level folder containing
|
|
62
|
+
* code and/or dependencies that are not directly linked to the asset.
|
|
63
|
+
*/
|
|
64
|
+
OUTPUT = "output",
|
|
65
|
+
/**
|
|
66
|
+
* Use a custom hash
|
|
67
|
+
*/
|
|
68
|
+
CUSTOM = "custom"
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* How a staged asset is produced and what shape it takes on disk.
|
|
72
|
+
*
|
|
73
|
+
* Packaging answers two independent questions: how the artifact is produced
|
|
74
|
+
* (copy, zip, tar.gz, ...) and whether the result is a directory or a single
|
|
75
|
+
* file. A closed enum can only ever answer the second one, so it is an
|
|
76
|
+
* interface rather than an enum — custom formats (e.g. `tar.bz2`) need no
|
|
77
|
+
* core change.
|
|
78
|
+
*/
|
|
79
|
+
export interface IAssetPackaging {
|
|
80
|
+
/**
|
|
81
|
+
* Appended to the staged artifact name, e.g. ".zip", "", ".tar.bz2".
|
|
82
|
+
*/
|
|
83
|
+
readonly extension: string;
|
|
84
|
+
/**
|
|
85
|
+
* Whether the staged result is a directory rather than a single file.
|
|
86
|
+
*
|
|
87
|
+
* Publishers branch on this to decide whether they upload one object or
|
|
88
|
+
* sync a tree.
|
|
89
|
+
*/
|
|
90
|
+
readonly producesDirectory: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Perform the staging transformation, writing the packaged result to
|
|
93
|
+
* `options.target`.
|
|
94
|
+
* @param options - see {@link PackOptions}
|
|
95
|
+
*/
|
|
96
|
+
pack(options: PackOptions): void;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Options for {@link IAssetPackaging.pack}.
|
|
100
|
+
*
|
|
101
|
+
* A struct rather than positional parameters: adding a struct field is
|
|
102
|
+
* additive, adding a method parameter is not, and `pack` is called through
|
|
103
|
+
* JSII where that distinction is a breaking-change boundary.
|
|
104
|
+
*/
|
|
105
|
+
export interface PackOptions {
|
|
106
|
+
/**
|
|
107
|
+
* Path to the resolved (already bundled, if applicable) source.
|
|
108
|
+
*/
|
|
109
|
+
readonly source: string;
|
|
110
|
+
/**
|
|
111
|
+
* Path the packaged result should be written to.
|
|
112
|
+
*/
|
|
113
|
+
readonly target: string;
|
|
114
|
+
/**
|
|
115
|
+
* Entries to omit from the packaged result. Must match the strategy used
|
|
116
|
+
* to hash the same source, or the hash and the artifact describe
|
|
117
|
+
* different sets of files.
|
|
118
|
+
*
|
|
119
|
+
* @default - nothing is excluded
|
|
120
|
+
*/
|
|
121
|
+
readonly ignoreStrategy?: IIgnoreStrategy;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Built-in packaging strategies. Custom formats implement `IAssetPackaging`
|
|
125
|
+
* directly rather than extending this class.
|
|
126
|
+
*/
|
|
127
|
+
export declare class AssetPackaging {
|
|
128
|
+
/**
|
|
129
|
+
* Copy a single file as-is.
|
|
130
|
+
*/
|
|
131
|
+
static readonly FILE: IAssetPackaging;
|
|
132
|
+
/**
|
|
133
|
+
* Copy a directory tree as-is, without archiving.
|
|
134
|
+
*/
|
|
135
|
+
static readonly DIRECTORY: IAssetPackaging;
|
|
136
|
+
/**
|
|
137
|
+
* Archive a directory tree into a single zip file.
|
|
138
|
+
*/
|
|
139
|
+
static readonly ZIP: IAssetPackaging;
|
|
140
|
+
private constructor();
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* A staged artifact, ready to hand to an `IAssetPublisher`.
|
|
144
|
+
*
|
|
145
|
+
* Deliberately narrower than a location: `path` and `isDirectory` are known
|
|
146
|
+
* once staging runs, at synth time, before anything is published. Where an
|
|
147
|
+
* asset ends up — a bucket name, an object key, a URL — is resolved at
|
|
148
|
+
* apply time and belongs on the publisher's own reference type instead.
|
|
149
|
+
*/
|
|
150
|
+
export interface StagedAsset {
|
|
151
|
+
/**
|
|
152
|
+
* A hash on the content source. This hash is used to uniquely identify this
|
|
153
|
+
* asset throughout the system. If this value doesn't change, the asset will
|
|
154
|
+
* not be rebuilt or republished.
|
|
155
|
+
*/
|
|
156
|
+
readonly assetHash: string;
|
|
157
|
+
/**
|
|
158
|
+
* The path to the staged artifact, relative to the stack directory.
|
|
159
|
+
*/
|
|
160
|
+
readonly path: string;
|
|
161
|
+
/**
|
|
162
|
+
* Whether the staged artifact is a directory rather than a single file.
|
|
163
|
+
*
|
|
164
|
+
* Publishers branch on this to decide whether they upload one object or
|
|
165
|
+
* sync a tree; see `IAssetPackaging.producesDirectory`.
|
|
166
|
+
*/
|
|
167
|
+
readonly isDirectory: boolean;
|
|
168
|
+
}
|
package/lib/assets.js
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.AssetPackaging = exports.AssetHashType = void 0;
|
|
37
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
38
|
+
// Copyright (c) HashiCorp, Inc
|
|
39
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const fs_1 = require("./private/fs");
|
|
42
|
+
/**
|
|
43
|
+
* The type of asset hash
|
|
44
|
+
*
|
|
45
|
+
* NOTE: the hash is used in order to identify a specific revision of the asset, and
|
|
46
|
+
* used for optimizing and caching deployment activities related to this asset such as
|
|
47
|
+
* packaging, uploading to cloud storage, etc.
|
|
48
|
+
*/
|
|
49
|
+
var AssetHashType;
|
|
50
|
+
(function (AssetHashType) {
|
|
51
|
+
/**
|
|
52
|
+
* Based on the content of the source path
|
|
53
|
+
*
|
|
54
|
+
* Use `SOURCE` when the content of the asset changes frequently or when
|
|
55
|
+
* you want to track changes to the source files directly.
|
|
56
|
+
*/
|
|
57
|
+
AssetHashType["SOURCE"] = "source";
|
|
58
|
+
/**
|
|
59
|
+
* Based on the content of the bundling output
|
|
60
|
+
*
|
|
61
|
+
* Use `OUTPUT` when the source of the asset is a top level folder containing
|
|
62
|
+
* code and/or dependencies that are not directly linked to the asset.
|
|
63
|
+
*/
|
|
64
|
+
AssetHashType["OUTPUT"] = "output";
|
|
65
|
+
/**
|
|
66
|
+
* Use a custom hash
|
|
67
|
+
*/
|
|
68
|
+
AssetHashType["CUSTOM"] = "custom";
|
|
69
|
+
})(AssetHashType || (exports.AssetHashType = AssetHashType = {}));
|
|
70
|
+
/**
|
|
71
|
+
* Copies a single file verbatim.
|
|
72
|
+
*/
|
|
73
|
+
class FilePackaging {
|
|
74
|
+
extension = "";
|
|
75
|
+
producesDirectory = false;
|
|
76
|
+
pack(options) {
|
|
77
|
+
fs.copyFileSync(options.source, options.target);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Copies a directory tree verbatim, without archiving it.
|
|
82
|
+
*/
|
|
83
|
+
class DirectoryPackaging {
|
|
84
|
+
extension = "";
|
|
85
|
+
producesDirectory = true;
|
|
86
|
+
pack(options) {
|
|
87
|
+
(0, fs_1.copySync)(options.source, options.target, {
|
|
88
|
+
shouldExclude: options.ignoreStrategy
|
|
89
|
+
? (relativePath, isDirectory) => options.ignoreStrategy.ignores({ relativePath, isDirectory })
|
|
90
|
+
: undefined,
|
|
91
|
+
descendIntoExcludedDirectories: options.ignoreStrategy?.pruneExcludedDirectories === false,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Archives a directory tree into a single zip file.
|
|
97
|
+
*/
|
|
98
|
+
class ZipPackaging {
|
|
99
|
+
extension = ".zip";
|
|
100
|
+
producesDirectory = false;
|
|
101
|
+
pack(options) {
|
|
102
|
+
(0, fs_1.archiveSync)(options.source, options.target, options.ignoreStrategy
|
|
103
|
+
? (relativePath, isDirectory) => options.ignoreStrategy.ignores({ relativePath, isDirectory })
|
|
104
|
+
: undefined, options.ignoreStrategy?.pruneExcludedDirectories === false);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Built-in packaging strategies. Custom formats implement `IAssetPackaging`
|
|
109
|
+
* directly rather than extending this class.
|
|
110
|
+
*/
|
|
111
|
+
class AssetPackaging {
|
|
112
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.AssetPackaging", version: "0.25.0-pre.21" };
|
|
113
|
+
/**
|
|
114
|
+
* Copy a single file as-is.
|
|
115
|
+
*/
|
|
116
|
+
static FILE = new FilePackaging();
|
|
117
|
+
/**
|
|
118
|
+
* Copy a directory tree as-is, without archiving.
|
|
119
|
+
*/
|
|
120
|
+
static DIRECTORY = new DirectoryPackaging();
|
|
121
|
+
/**
|
|
122
|
+
* Archive a directory tree into a single zip file.
|
|
123
|
+
*/
|
|
124
|
+
static ZIP = new ZipPackaging();
|
|
125
|
+
constructor() { }
|
|
126
|
+
}
|
|
127
|
+
exports.AssetPackaging = AssetPackaging;
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Fzc2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUVuQyx1Q0FBeUI7QUFDekIscUNBQXFEO0FBK0NyRDs7Ozs7O0dBTUc7QUFDSCxJQUFZLGFBcUJYO0FBckJELFdBQVksYUFBYTtJQUN2Qjs7Ozs7T0FLRztJQUNILGtDQUFpQixDQUFBO0lBRWpCOzs7OztPQUtHO0lBQ0gsa0NBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCxrQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBckJXLGFBQWEsNkJBQWIsYUFBYSxRQXFCeEI7QUE2REQ7O0dBRUc7QUFDSCxNQUFNLGFBQWE7SUFDRCxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ2YsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLElBQUksQ0FBQyxPQUFvQjtRQUM5QixFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxrQkFBa0I7SUFDTixTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ2YsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLElBQUksQ0FBQyxPQUFvQjtRQUM5QixJQUFBLGFBQVEsRUFBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDdkMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxjQUFjO2dCQUNuQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FDNUIsT0FBTyxDQUFDLGNBQWUsQ0FBQyxPQUFPLENBQUMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7Z0JBQ2xFLENBQUMsQ0FBQyxTQUFTO1lBQ2IsOEJBQThCLEVBQzVCLE9BQU8sQ0FBQyxjQUFjLEVBQUUsd0JBQXdCLEtBQUssS0FBSztTQUM3RCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sWUFBWTtJQUNBLFNBQVMsR0FBRyxNQUFNLENBQUM7SUFDbkIsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLElBQUksQ0FBQyxPQUFvQjtRQUM5QixJQUFBLGdCQUFXLEVBQ1QsT0FBTyxDQUFDLE1BQU0sRUFDZCxPQUFPLENBQUMsTUFBTSxFQUNkLE9BQU8sQ0FBQyxjQUFjO1lBQ3BCLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUM1QixPQUFPLENBQUMsY0FBZSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUNsRSxDQUFDLENBQUMsU0FBUyxFQUNiLE9BQU8sQ0FBQyxjQUFjLEVBQUUsd0JBQXdCLEtBQUssS0FBSyxDQUMzRCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQ7OztHQUdHO0FBQ0gsTUFBYSxjQUFjOztJQUN6Qjs7T0FFRztJQUNJLE1BQU0sQ0FBVSxJQUFJLEdBQW9CLElBQUksYUFBYSxFQUFFLENBQUM7SUFFbkU7O09BRUc7SUFDSSxNQUFNLENBQVUsU0FBUyxHQUFvQixJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFFN0U7O09BRUc7SUFDSSxNQUFNLENBQVUsR0FBRyxHQUFvQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRWpFLGdCQUF1QixDQUFDOztBQWhCMUIsd0NBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcblxuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgeyBhcmNoaXZlU3luYywgY29weVN5bmMgfSBmcm9tIFwiLi9wcml2YXRlL2ZzXCI7XG5pbXBvcnQgeyBJSWdub3JlU3RyYXRlZ3kgfSBmcm9tIFwiLi9pZ25vcmUtc3RyYXRlZ3lcIjtcblxuLyoqXG4gKiBDb21tb24gaW50ZXJmYWNlIGZvciBhbGwgYXNzZXRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBc3NldCB7XG4gIC8qKlxuICAgKiBBIGhhc2ggb2YgdGhpcyBhc3NldCwgd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGNvbnN0cnVjdGlvbiB0aW1lLiBBcyB0aGlzIGlzIGEgcGxhaW4gc3RyaW5nLCBpdFxuICAgKiBjYW4gYmUgdXNlZCBpbiBjb25zdHJ1Y3QgSURzIGluIG9yZGVyIHRvIGVuZm9yY2UgY3JlYXRpb24gb2YgYSBuZXcgcmVzb3VyY2Ugd2hlbiB0aGUgY29udGVudFxuICAgKiBoYXNoIGhhcyBjaGFuZ2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXNzZXRIYXNoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQXNzZXQgaGFzaCBvcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXNzZXRPcHRpb25zIHtcbiAgLyoqXG4gICAqIFNwZWNpZnkgYSBjdXN0b20gaGFzaCBmb3IgdGhpcyBhc3NldC4gSWYgYGFzc2V0SGFzaFR5cGVgIGlzIHNldCBpdCBtdXN0XG4gICAqIGJlIHNldCB0byBgQXNzZXRIYXNoVHlwZS5DVVNUT01gLiBUaGUgdmFsdWUgaXMgdXNlZCB2ZXJiYXRpbSBhcyB0aGUgYXNzZXRcbiAgICogaGFzaCwgYW5kIGJlY2F1c2UgaXQgbmFtZXMgdGhlIHN0YWdlZCBhc3NldCBmaWxlIGl0IG1heSBvbmx5IGNvbnRhaW5cbiAgICogbGV0dGVycywgZGlnaXRzLCBgX2AsIGAuYCBhbmQgYC1gLlxuICAgKlxuICAgKiBOT1RFOiB0aGUgaGFzaCBpcyB1c2VkIGluIG9yZGVyIHRvIGlkZW50aWZ5IGEgc3BlY2lmaWMgcmV2aXNpb24gb2YgdGhlIGFzc2V0LCBhbmRcbiAgICogdXNlZCBmb3Igb3B0aW1pemluZyBhbmQgY2FjaGluZyBkZXBsb3ltZW50IGFjdGl2aXRpZXMgcmVsYXRlZCB0byB0aGlzIGFzc2V0IHN1Y2ggYXNcbiAgICogcGFja2FnaW5nLCB1cGxvYWRpbmcgdG8gY2xvdWQgc3RvcmFnZSwgZXRjLiBJZiB5b3UgY2hvc2UgdG8gY3VzdG9taXplIHRoZSBoYXNoLCB5b3Ugd2lsbFxuICAgKiBuZWVkIHRvIG1ha2Ugc3VyZSBpdCBpcyB1cGRhdGVkIGV2ZXJ5IHRpbWUgdGhlIGFzc2V0IGNoYW5nZXMsIG9yIG90aGVyd2lzZSBpdCBpc1xuICAgKiBwb3NzaWJsZSB0aGF0IHNvbWUgZGVwbG95bWVudHMgd2lsbCBub3QgYmUgaW52YWxpZGF0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYmFzZWQgb24gYGFzc2V0SGFzaFR5cGVgXG4gICAqL1xuICByZWFkb25seSBhc3NldEhhc2g/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgdHlwZSBvZiBoYXNoIHRvIGNhbGN1bGF0ZSBmb3IgdGhpcyBhc3NldC5cbiAgICpcbiAgICogSWYgYGFzc2V0SGFzaGAgaXMgY29uZmlndXJlZCwgdGhpcyBvcHRpb24gbXVzdCBiZSBgdW5kZWZpbmVkYCBvclxuICAgKiBgQXNzZXRIYXNoVHlwZS5DVVNUT01gLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBkZWZhdWx0IGlzIGBBc3NldEhhc2hUeXBlLlNPVVJDRWAsIGJ1dCBpZiBgYXNzZXRIYXNoYCBpc1xuICAgKiBleHBsaWNpdGx5IHNwZWNpZmllZCB0aGlzIHZhbHVlIGRlZmF1bHRzIHRvIGBBc3NldEhhc2hUeXBlLkNVU1RPTWAuXG4gICAqL1xuICByZWFkb25seSBhc3NldEhhc2hUeXBlPzogQXNzZXRIYXNoVHlwZTtcbn1cblxuLyoqXG4gKiBUaGUgdHlwZSBvZiBhc3NldCBoYXNoXG4gKlxuICogTk9URTogdGhlIGhhc2ggaXMgdXNlZCBpbiBvcmRlciB0byBpZGVudGlmeSBhIHNwZWNpZmljIHJldmlzaW9uIG9mIHRoZSBhc3NldCwgYW5kXG4gKiB1c2VkIGZvciBvcHRpbWl6aW5nIGFuZCBjYWNoaW5nIGRlcGxveW1lbnQgYWN0aXZpdGllcyByZWxhdGVkIHRvIHRoaXMgYXNzZXQgc3VjaCBhc1xuICogcGFja2FnaW5nLCB1cGxvYWRpbmcgdG8gY2xvdWQgc3RvcmFnZSwgZXRjLlxuICovXG5leHBvcnQgZW51bSBBc3NldEhhc2hUeXBlIHtcbiAgLyoqXG4gICAqIEJhc2VkIG9uIHRoZSBjb250ZW50IG9mIHRoZSBzb3VyY2UgcGF0aFxuICAgKlxuICAgKiBVc2UgYFNPVVJDRWAgd2hlbiB0aGUgY29udGVudCBvZiB0aGUgYXNzZXQgY2hhbmdlcyBmcmVxdWVudGx5IG9yIHdoZW5cbiAgICogeW91IHdhbnQgdG8gdHJhY2sgY2hhbmdlcyB0byB0aGUgc291cmNlIGZpbGVzIGRpcmVjdGx5LlxuICAgKi9cbiAgU09VUkNFID0gXCJzb3VyY2VcIixcblxuICAvKipcbiAgICogQmFzZWQgb24gdGhlIGNvbnRlbnQgb2YgdGhlIGJ1bmRsaW5nIG91dHB1dFxuICAgKlxuICAgKiBVc2UgYE9VVFBVVGAgd2hlbiB0aGUgc291cmNlIG9mIHRoZSBhc3NldCBpcyBhIHRvcCBsZXZlbCBmb2xkZXIgY29udGFpbmluZ1xuICAgKiBjb2RlIGFuZC9vciBkZXBlbmRlbmNpZXMgdGhhdCBhcmUgbm90IGRpcmVjdGx5IGxpbmtlZCB0byB0aGUgYXNzZXQuXG4gICAqL1xuICBPVVRQVVQgPSBcIm91dHB1dFwiLFxuXG4gIC8qKlxuICAgKiBVc2UgYSBjdXN0b20gaGFzaFxuICAgKi9cbiAgQ1VTVE9NID0gXCJjdXN0b21cIixcbn1cblxuLyoqXG4gKiBIb3cgYSBzdGFnZWQgYXNzZXQgaXMgcHJvZHVjZWQgYW5kIHdoYXQgc2hhcGUgaXQgdGFrZXMgb24gZGlzay5cbiAqXG4gKiBQYWNrYWdpbmcgYW5zd2VycyB0d28gaW5kZXBlbmRlbnQgcXVlc3Rpb25zOiBob3cgdGhlIGFydGlmYWN0IGlzIHByb2R1Y2VkXG4gKiAoY29weSwgemlwLCB0YXIuZ3osIC4uLikgYW5kIHdoZXRoZXIgdGhlIHJlc3VsdCBpcyBhIGRpcmVjdG9yeSBvciBhIHNpbmdsZVxuICogZmlsZS4gQSBjbG9zZWQgZW51bSBjYW4gb25seSBldmVyIGFuc3dlciB0aGUgc2Vjb25kIG9uZSwgc28gaXQgaXMgYW5cbiAqIGludGVyZmFjZSByYXRoZXIgdGhhbiBhbiBlbnVtIOKAlCBjdXN0b20gZm9ybWF0cyAoZS5nLiBgdGFyLmJ6MmApIG5lZWQgbm9cbiAqIGNvcmUgY2hhbmdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBc3NldFBhY2thZ2luZyB7XG4gIC8qKlxuICAgKiBBcHBlbmRlZCB0byB0aGUgc3RhZ2VkIGFydGlmYWN0IG5hbWUsIGUuZy4gXCIuemlwXCIsIFwiXCIsIFwiLnRhci5iejJcIi5cbiAgICovXG4gIHJlYWRvbmx5IGV4dGVuc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzdGFnZWQgcmVzdWx0IGlzIGEgZGlyZWN0b3J5IHJhdGhlciB0aGFuIGEgc2luZ2xlIGZpbGUuXG4gICAqXG4gICAqIFB1Ymxpc2hlcnMgYnJhbmNoIG9uIHRoaXMgdG8gZGVjaWRlIHdoZXRoZXIgdGhleSB1cGxvYWQgb25lIG9iamVjdCBvclxuICAgKiBzeW5jIGEgdHJlZS5cbiAgICovXG4gIHJlYWRvbmx5IHByb2R1Y2VzRGlyZWN0b3J5OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQZXJmb3JtIHRoZSBzdGFnaW5nIHRyYW5zZm9ybWF0aW9uLCB3cml0aW5nIHRoZSBwYWNrYWdlZCByZXN1bHQgdG9cbiAgICogYG9wdGlvbnMudGFyZ2V0YC5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBzZWUge0BsaW5rIFBhY2tPcHRpb25zfVxuICAgKi9cbiAgcGFjayhvcHRpb25zOiBQYWNrT3B0aW9ucyk6IHZvaWQ7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIElBc3NldFBhY2thZ2luZy5wYWNrfS5cbiAqXG4gKiBBIHN0cnVjdCByYXRoZXIgdGhhbiBwb3NpdGlvbmFsIHBhcmFtZXRlcnM6IGFkZGluZyBhIHN0cnVjdCBmaWVsZCBpc1xuICogYWRkaXRpdmUsIGFkZGluZyBhIG1ldGhvZCBwYXJhbWV0ZXIgaXMgbm90LCBhbmQgYHBhY2tgIGlzIGNhbGxlZCB0aHJvdWdoXG4gKiBKU0lJIHdoZXJlIHRoYXQgZGlzdGluY3Rpb24gaXMgYSBicmVha2luZy1jaGFuZ2UgYm91bmRhcnkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFja09wdGlvbnMge1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgcmVzb2x2ZWQgKGFscmVhZHkgYnVuZGxlZCwgaWYgYXBwbGljYWJsZSkgc291cmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdGhlIHBhY2thZ2VkIHJlc3VsdCBzaG91bGQgYmUgd3JpdHRlbiB0by5cbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbnRyaWVzIHRvIG9taXQgZnJvbSB0aGUgcGFja2FnZWQgcmVzdWx0LiBNdXN0IG1hdGNoIHRoZSBzdHJhdGVneSB1c2VkXG4gICAqIHRvIGhhc2ggdGhlIHNhbWUgc291cmNlLCBvciB0aGUgaGFzaCBhbmQgdGhlIGFydGlmYWN0IGRlc2NyaWJlXG4gICAqIGRpZmZlcmVudCBzZXRzIG9mIGZpbGVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vdGhpbmcgaXMgZXhjbHVkZWRcbiAgICovXG4gIHJlYWRvbmx5IGlnbm9yZVN0cmF0ZWd5PzogSUlnbm9yZVN0cmF0ZWd5O1xufVxuXG4vKipcbiAqIENvcGllcyBhIHNpbmdsZSBmaWxlIHZlcmJhdGltLlxuICovXG5jbGFzcyBGaWxlUGFja2FnaW5nIGltcGxlbWVudHMgSUFzc2V0UGFja2FnaW5nIHtcbiAgcHVibGljIHJlYWRvbmx5IGV4dGVuc2lvbiA9IFwiXCI7XG4gIHB1YmxpYyByZWFkb25seSBwcm9kdWNlc0RpcmVjdG9yeSA9IGZhbHNlO1xuICBwdWJsaWMgcGFjayhvcHRpb25zOiBQYWNrT3B0aW9ucyk6IHZvaWQge1xuICAgIGZzLmNvcHlGaWxlU3luYyhvcHRpb25zLnNvdXJjZSwgb3B0aW9ucy50YXJnZXQpO1xuICB9XG59XG5cbi8qKlxuICogQ29waWVzIGEgZGlyZWN0b3J5IHRyZWUgdmVyYmF0aW0sIHdpdGhvdXQgYXJjaGl2aW5nIGl0LlxuICovXG5jbGFzcyBEaXJlY3RvcnlQYWNrYWdpbmcgaW1wbGVtZW50cyBJQXNzZXRQYWNrYWdpbmcge1xuICBwdWJsaWMgcmVhZG9ubHkgZXh0ZW5zaW9uID0gXCJcIjtcbiAgcHVibGljIHJlYWRvbmx5IHByb2R1Y2VzRGlyZWN0b3J5ID0gdHJ1ZTtcbiAgcHVibGljIHBhY2sob3B0aW9uczogUGFja09wdGlvbnMpOiB2b2lkIHtcbiAgICBjb3B5U3luYyhvcHRpb25zLnNvdXJjZSwgb3B0aW9ucy50YXJnZXQsIHtcbiAgICAgIHNob3VsZEV4Y2x1ZGU6IG9wdGlvbnMuaWdub3JlU3RyYXRlZ3lcbiAgICAgICAgPyAocmVsYXRpdmVQYXRoLCBpc0RpcmVjdG9yeSkgPT5cbiAgICAgICAgICAgIG9wdGlvbnMuaWdub3JlU3RyYXRlZ3khLmlnbm9yZXMoeyByZWxhdGl2ZVBhdGgsIGlzRGlyZWN0b3J5IH0pXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgZGVzY2VuZEludG9FeGNsdWRlZERpcmVjdG9yaWVzOlxuICAgICAgICBvcHRpb25zLmlnbm9yZVN0cmF0ZWd5Py5wcnVuZUV4Y2x1ZGVkRGlyZWN0b3JpZXMgPT09IGZhbHNlLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogQXJjaGl2ZXMgYSBkaXJlY3RvcnkgdHJlZSBpbnRvIGEgc2luZ2xlIHppcCBmaWxlLlxuICovXG5jbGFzcyBaaXBQYWNrYWdpbmcgaW1wbGVtZW50cyBJQXNzZXRQYWNrYWdpbmcge1xuICBwdWJsaWMgcmVhZG9ubHkgZXh0ZW5zaW9uID0gXCIuemlwXCI7XG4gIHB1YmxpYyByZWFkb25seSBwcm9kdWNlc0RpcmVjdG9yeSA9IGZhbHNlO1xuICBwdWJsaWMgcGFjayhvcHRpb25zOiBQYWNrT3B0aW9ucyk6IHZvaWQge1xuICAgIGFyY2hpdmVTeW5jKFxuICAgICAgb3B0aW9ucy5zb3VyY2UsXG4gICAgICBvcHRpb25zLnRhcmdldCxcbiAgICAgIG9wdGlvbnMuaWdub3JlU3RyYXRlZ3lcbiAgICAgICAgPyAocmVsYXRpdmVQYXRoLCBpc0RpcmVjdG9yeSkgPT5cbiAgICAgICAgICAgIG9wdGlvbnMuaWdub3JlU3RyYXRlZ3khLmlnbm9yZXMoeyByZWxhdGl2ZVBhdGgsIGlzRGlyZWN0b3J5IH0pXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgb3B0aW9ucy5pZ25vcmVTdHJhdGVneT8ucHJ1bmVFeGNsdWRlZERpcmVjdG9yaWVzID09PSBmYWxzZSxcbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogQnVpbHQtaW4gcGFja2FnaW5nIHN0cmF0ZWdpZXMuIEN1c3RvbSBmb3JtYXRzIGltcGxlbWVudCBgSUFzc2V0UGFja2FnaW5nYFxuICogZGlyZWN0bHkgcmF0aGVyIHRoYW4gZXh0ZW5kaW5nIHRoaXMgY2xhc3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBBc3NldFBhY2thZ2luZyB7XG4gIC8qKlxuICAgKiBDb3B5IGEgc2luZ2xlIGZpbGUgYXMtaXMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEZJTEU6IElBc3NldFBhY2thZ2luZyA9IG5ldyBGaWxlUGFja2FnaW5nKCk7XG5cbiAgLyoqXG4gICAqIENvcHkgYSBkaXJlY3RvcnkgdHJlZSBhcy1pcywgd2l0aG91dCBhcmNoaXZpbmcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERJUkVDVE9SWTogSUFzc2V0UGFja2FnaW5nID0gbmV3IERpcmVjdG9yeVBhY2thZ2luZygpO1xuXG4gIC8qKlxuICAgKiBBcmNoaXZlIGEgZGlyZWN0b3J5IHRyZWUgaW50byBhIHNpbmdsZSB6aXAgZmlsZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWklQOiBJQXNzZXRQYWNrYWdpbmcgPSBuZXcgWmlwUGFja2FnaW5nKCk7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHt9XG59XG5cbi8qKlxuICogQSBzdGFnZWQgYXJ0aWZhY3QsIHJlYWR5IHRvIGhhbmQgdG8gYW4gYElBc3NldFB1Ymxpc2hlcmAuXG4gKlxuICogRGVsaWJlcmF0ZWx5IG5hcnJvd2VyIHRoYW4gYSBsb2NhdGlvbjogYHBhdGhgIGFuZCBgaXNEaXJlY3RvcnlgIGFyZSBrbm93blxuICogb25jZSBzdGFnaW5nIHJ1bnMsIGF0IHN5bnRoIHRpbWUsIGJlZm9yZSBhbnl0aGluZyBpcyBwdWJsaXNoZWQuIFdoZXJlIGFuXG4gKiBhc3NldCBlbmRzIHVwIOKAlCBhIGJ1Y2tldCBuYW1lLCBhbiBvYmplY3Qga2V5LCBhIFVSTCDigJQgaXMgcmVzb2x2ZWQgYXRcbiAqIGFwcGx5IHRpbWUgYW5kIGJlbG9uZ3Mgb24gdGhlIHB1Ymxpc2hlcidzIG93biByZWZlcmVuY2UgdHlwZSBpbnN0ZWFkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YWdlZEFzc2V0IHtcbiAgLyoqXG4gICAqIEEgaGFzaCBvbiB0aGUgY29udGVudCBzb3VyY2UuIFRoaXMgaGFzaCBpcyB1c2VkIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoaXNcbiAgICogYXNzZXQgdGhyb3VnaG91dCB0aGUgc3lzdGVtLiBJZiB0aGlzIHZhbHVlIGRvZXNuJ3QgY2hhbmdlLCB0aGUgYXNzZXQgd2lsbFxuICAgKiBub3QgYmUgcmVidWlsdCBvciByZXB1Ymxpc2hlZC5cbiAgICovXG4gIHJlYWRvbmx5IGFzc2V0SGFzaDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgc3RhZ2VkIGFydGlmYWN0LCByZWxhdGl2ZSB0byB0aGUgc3RhY2sgZGlyZWN0b3J5LlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzdGFnZWQgYXJ0aWZhY3QgaXMgYSBkaXJlY3RvcnkgcmF0aGVyIHRoYW4gYSBzaW5nbGUgZmlsZS5cbiAgICpcbiAgICogUHVibGlzaGVycyBicmFuY2ggb24gdGhpcyB0byBkZWNpZGUgd2hldGhlciB0aGV5IHVwbG9hZCBvbmUgb2JqZWN0IG9yXG4gICAqIHN5bmMgYSB0cmVlOyBzZWUgYElBc3NldFBhY2thZ2luZy5wcm9kdWNlc0RpcmVjdG9yeWAuXG4gICAqL1xuICByZWFkb25seSBpc0RpcmVjdG9yeTogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -8,7 +8,7 @@ const terraform_remote_state_1 = require("../terraform-remote-state");
|
|
|
8
8
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
9
9
|
class AzurermBackend extends terraform_backend_1.TerraformBackend {
|
|
10
10
|
props;
|
|
11
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.AzurermBackend", version: "0.25.0-pre.
|
|
11
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.AzurermBackend", version: "0.25.0-pre.21" };
|
|
12
12
|
constructor(scope, props) {
|
|
13
13
|
super(scope, "backend", "azurerm");
|
|
14
14
|
this.props = props;
|
|
@@ -29,7 +29,7 @@ class AzurermBackend extends terraform_backend_1.TerraformBackend {
|
|
|
29
29
|
exports.AzurermBackend = AzurermBackend;
|
|
30
30
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
31
31
|
class DataTerraformRemoteStateAzurerm extends terraform_remote_state_1.TerraformRemoteState {
|
|
32
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DataTerraformRemoteStateAzurerm", version: "0.25.0-pre.
|
|
32
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DataTerraformRemoteStateAzurerm", version: "0.25.0-pre.21" };
|
|
33
33
|
constructor(scope, id, config) {
|
|
34
34
|
super(scope, id, "azurerm", config);
|
|
35
35
|
}
|
|
@@ -28,7 +28,7 @@ function getHostNameType(hostname) {
|
|
|
28
28
|
*/
|
|
29
29
|
class CloudBackend extends terraform_backend_1.TerraformBackend {
|
|
30
30
|
props;
|
|
31
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.CloudBackend", version: "0.25.0-pre.
|
|
31
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.CloudBackend", version: "0.25.0-pre.21" };
|
|
32
32
|
constructor(scope, props) {
|
|
33
33
|
super(scope, "backend", "cloud");
|
|
34
34
|
this.props = props;
|
|
@@ -91,7 +91,7 @@ exports.CloudBackend = CloudBackend;
|
|
|
91
91
|
* A cloud workspace can either be a single named workspace, or a list of tagged workspaces.
|
|
92
92
|
*/
|
|
93
93
|
class CloudWorkspace {
|
|
94
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.CloudWorkspace", version: "0.25.0-pre.
|
|
94
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.CloudWorkspace", version: "0.25.0-pre.21" };
|
|
95
95
|
}
|
|
96
96
|
exports.CloudWorkspace = CloudWorkspace;
|
|
97
97
|
/**
|
|
@@ -101,7 +101,7 @@ exports.CloudWorkspace = CloudWorkspace;
|
|
|
101
101
|
class NamedCloudWorkspace extends CloudWorkspace {
|
|
102
102
|
name;
|
|
103
103
|
project;
|
|
104
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.NamedCloudWorkspace", version: "0.25.0-pre.
|
|
104
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.NamedCloudWorkspace", version: "0.25.0-pre.21" };
|
|
105
105
|
constructor(name, project) {
|
|
106
106
|
super();
|
|
107
107
|
this.name = name;
|
|
@@ -130,7 +130,7 @@ exports.NamedCloudWorkspace = NamedCloudWorkspace;
|
|
|
130
130
|
class TaggedCloudWorkspaces extends CloudWorkspace {
|
|
131
131
|
tags;
|
|
132
132
|
project;
|
|
133
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TaggedCloudWorkspaces", version: "0.25.0-pre.
|
|
133
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TaggedCloudWorkspaces", version: "0.25.0-pre.21" };
|
|
134
134
|
constructor(tags, project) {
|
|
135
135
|
super();
|
|
136
136
|
this.tags = tags;
|
|
@@ -8,7 +8,7 @@ const terraform_remote_state_1 = require("../terraform-remote-state");
|
|
|
8
8
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
9
9
|
class ConsulBackend extends terraform_backend_1.TerraformBackend {
|
|
10
10
|
props;
|
|
11
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.ConsulBackend", version: "0.25.0-pre.
|
|
11
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.ConsulBackend", version: "0.25.0-pre.21" };
|
|
12
12
|
constructor(scope, props) {
|
|
13
13
|
super(scope, "backend", "consul");
|
|
14
14
|
this.props = props;
|
|
@@ -29,7 +29,7 @@ class ConsulBackend extends terraform_backend_1.TerraformBackend {
|
|
|
29
29
|
exports.ConsulBackend = ConsulBackend;
|
|
30
30
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
31
31
|
class DataTerraformRemoteStateConsul extends terraform_remote_state_1.TerraformRemoteState {
|
|
32
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DataTerraformRemoteStateConsul", version: "0.25.0-pre.
|
|
32
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DataTerraformRemoteStateConsul", version: "0.25.0-pre.21" };
|
|
33
33
|
constructor(scope, id, config) {
|
|
34
34
|
super(scope, id, "consul", config);
|
|
35
35
|
}
|
|
@@ -8,7 +8,7 @@ const terraform_remote_state_1 = require("../terraform-remote-state");
|
|
|
8
8
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
9
9
|
class CosBackend extends terraform_backend_1.TerraformBackend {
|
|
10
10
|
props;
|
|
11
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.CosBackend", version: "0.25.0-pre.
|
|
11
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.CosBackend", version: "0.25.0-pre.21" };
|
|
12
12
|
constructor(scope, props) {
|
|
13
13
|
super(scope, "backend", "cos");
|
|
14
14
|
this.props = props;
|
|
@@ -29,7 +29,7 @@ class CosBackend extends terraform_backend_1.TerraformBackend {
|
|
|
29
29
|
exports.CosBackend = CosBackend;
|
|
30
30
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
31
31
|
class DataTerraformRemoteStateCos extends terraform_remote_state_1.TerraformRemoteState {
|
|
32
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DataTerraformRemoteStateCos", version: "0.25.0-pre.
|
|
32
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.DataTerraformRemoteStateCos", version: "0.25.0-pre.21" };
|
|
33
33
|
constructor(scope, id, config) {
|
|
34
34
|
super(scope, id, "cos", config);
|
|
35
35
|
}
|