cloudstructs 0.4.18 → 0.4.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 +3 -3
- package/assets/slack-app/provider.lambda/index.js +7 -2
- package/assets/slack-textract/detect.lambda/index.js +54 -49
- package/assets/toolkit-cleaner/clean-images.lambda/index.js +7 -1
- package/changelog.md +1 -6
- package/lib/codecommit-mirror/index.d.ts +14 -39
- package/lib/codecommit-mirror/index.js +10 -19
- package/lib/ecs-service-roller/index.d.ts +10 -30
- package/lib/ecs-service-roller/index.js +7 -18
- package/lib/email-receiver/receiver.d.ts +7 -23
- package/lib/email-receiver/receiver.js +4 -8
- package/lib/saml-identity-provider/index.d.ts +6 -17
- package/lib/saml-identity-provider/index.js +5 -11
- package/lib/slack-app/manifest.d.ts +52 -133
- package/lib/slack-app/manifest.js +15 -12
- package/lib/slack-app/slack-app.d.ts +21 -53
- package/lib/slack-app/slack-app.js +8 -20
- package/lib/slack-events/index.d.ts +6 -19
- package/lib/slack-events/index.js +3 -8
- package/lib/slack-textract/index.d.ts +3 -16
- package/lib/slack-textract/index.js +3 -8
- package/lib/state-machine-cr-provider/index.d.ts +7 -23
- package/lib/state-machine-cr-provider/index.js +3 -8
- package/lib/static-website/index.d.ts +14 -36
- package/lib/static-website/index.js +5 -12
- package/lib/toolkit-cleaner/clean-images.lambda.js +8 -2
- package/lib/toolkit-cleaner/index.d.ts +5 -18
- package/lib/toolkit-cleaner/index.js +2 -7
- package/lib/url-shortener/index.d.ts +9 -25
- package/lib/url-shortener/index.js +3 -8
- package/node_modules/@sindresorhus/is/dist/index.d.ts +9 -4
- package/node_modules/@sindresorhus/is/dist/index.js +9 -3
- package/node_modules/@sindresorhus/is/package.json +1 -1
- package/node_modules/@sindresorhus/is/readme.md +24 -4
- package/node_modules/@slack/logger/node_modules/@types/node/README.md +1 -1
- package/node_modules/@slack/logger/node_modules/@types/node/buffer.d.ts +92 -2
- package/node_modules/@slack/logger/node_modules/@types/node/package.json +2 -2
- package/node_modules/@slack/logger/node_modules/@types/node/process.d.ts +1 -1
- package/node_modules/@slack/logger/node_modules/@types/node/stream/web.d.ts +2 -1
- package/node_modules/@slack/logger/node_modules/@types/node/url.d.ts +10 -6
- package/node_modules/@slack/web-api/node_modules/@types/node/README.md +1 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/buffer.d.ts +92 -2
- package/node_modules/@slack/web-api/node_modules/@types/node/package.json +2 -2
- package/node_modules/@slack/web-api/node_modules/@types/node/process.d.ts +1 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/stream/web.d.ts +2 -1
- package/node_modules/@slack/web-api/node_modules/@types/node/url.d.ts +10 -6
- package/node_modules/@types/cacheable-request/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/cacheable-request/node_modules/@types/node/buffer.d.ts +92 -2
- package/node_modules/@types/cacheable-request/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/cacheable-request/node_modules/@types/node/process.d.ts +1 -1
- package/node_modules/@types/cacheable-request/node_modules/@types/node/stream/web.d.ts +2 -1
- package/node_modules/@types/cacheable-request/node_modules/@types/node/url.d.ts +10 -6
- package/node_modules/@types/is-stream/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/is-stream/node_modules/@types/node/buffer.d.ts +92 -2
- package/node_modules/@types/is-stream/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/is-stream/node_modules/@types/node/process.d.ts +1 -1
- package/node_modules/@types/is-stream/node_modules/@types/node/stream/web.d.ts +2 -1
- package/node_modules/@types/is-stream/node_modules/@types/node/url.d.ts +10 -6
- package/node_modules/@types/keyv/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/keyv/node_modules/@types/node/buffer.d.ts +92 -2
- package/node_modules/@types/keyv/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/keyv/node_modules/@types/node/process.d.ts +1 -1
- package/node_modules/@types/keyv/node_modules/@types/node/stream/web.d.ts +2 -1
- package/node_modules/@types/keyv/node_modules/@types/node/url.d.ts +10 -6
- package/node_modules/@types/responselike/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/responselike/node_modules/@types/node/buffer.d.ts +92 -2
- package/node_modules/@types/responselike/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/responselike/node_modules/@types/node/process.d.ts +1 -1
- package/node_modules/@types/responselike/node_modules/@types/node/stream/web.d.ts +2 -1
- package/node_modules/@types/responselike/node_modules/@types/node/url.d.ts +10 -6
- package/node_modules/follow-redirects/index.js +82 -77
- package/node_modules/follow-redirects/package.json +1 -1
- package/node_modules/keyv/.nyc_output/{adb04494-7d0a-443f-9130-94b19c3fa19c.json → 5d6b8dd1-67cf-42ee-8492-c8ae62ce826c.json} +0 -0
- package/node_modules/keyv/.nyc_output/{17c338d1-cd21-4d2f-9d97-398f18a945cf.json → ce27532e-5888-46d4-ae10-5a71058d3f0c.json} +0 -0
- package/node_modules/keyv/.nyc_output/processinfo/5d6b8dd1-67cf-42ee-8492-c8ae62ce826c.json +1 -0
- package/node_modules/keyv/.nyc_output/processinfo/ce27532e-5888-46d4-ae10-5a71058d3f0c.json +1 -0
- package/node_modules/keyv/.nyc_output/processinfo/index.json +1 -1
- package/node_modules/keyv/package.json +7 -7
- package/node_modules/keyv/test/testdb.sqlite +0 -0
- package/package.json +7 -7
- package/releasetag.txt +1 -1
- package/version.txt +1 -1
- package/node_modules/keyv/.nyc_output/67b1f344-0eec-41a3-a665-c824c346e898.json +0 -1
- package/node_modules/keyv/.nyc_output/processinfo/17c338d1-cd21-4d2f-9d97-398f18a945cf.json +0 -1
- package/node_modules/keyv/.nyc_output/processinfo/67b1f344-0eec-41a3-a665-c824c346e898.json +0 -1
- package/node_modules/keyv/.nyc_output/processinfo/adb04494-7d0a-443f-9130-94b19c3fa19c.json +0 -1
package/.jsii
CHANGED
|
@@ -2844,7 +2844,7 @@
|
|
|
2844
2844
|
"stability": "stable"
|
|
2845
2845
|
},
|
|
2846
2846
|
"homepage": "https://github.com/jogold/cloudstructs.git",
|
|
2847
|
-
"jsiiVersion": "1.
|
|
2847
|
+
"jsiiVersion": "1.54.0 (build b1b977a)",
|
|
2848
2848
|
"keywords": [
|
|
2849
2849
|
"cdk"
|
|
2850
2850
|
],
|
|
@@ -6088,6 +6088,6 @@
|
|
|
6088
6088
|
"symbolId": "src/url-shortener/index:UrlShortenerProps"
|
|
6089
6089
|
}
|
|
6090
6090
|
},
|
|
6091
|
-
"version": "0.4.
|
|
6092
|
-
"fingerprint": "
|
|
6091
|
+
"version": "0.4.21",
|
|
6092
|
+
"fingerprint": "ZS5VSa2gHyr6/UUpJOaroA4qvUjVnv9NZTMsvMc2Jhw="
|
|
6093
6093
|
}
|
|
@@ -77,6 +77,7 @@ var require_dist = __commonJS({
|
|
|
77
77
|
"Observable",
|
|
78
78
|
"Array",
|
|
79
79
|
"Buffer",
|
|
80
|
+
"Blob",
|
|
80
81
|
"Object",
|
|
81
82
|
"RegExp",
|
|
82
83
|
"Date",
|
|
@@ -188,6 +189,7 @@ var require_dist = __commonJS({
|
|
|
188
189
|
var _a, _b, _c, _d;
|
|
189
190
|
return (_d = (_c = (_b = (_a = value) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.isBuffer) === null || _c === void 0 ? void 0 : _c.call(_b, value)) !== null && _d !== void 0 ? _d : false;
|
|
190
191
|
};
|
|
192
|
+
is.blob = (value) => isObjectOfType("Blob")(value);
|
|
191
193
|
is.nullOrUndefined = (value) => is.null_(value) || is.undefined(value);
|
|
192
194
|
is.object = (value) => !is.null_(value) && (typeof value === "object" || is.function_(value));
|
|
193
195
|
is.iterable = (value) => {
|
|
@@ -305,9 +307,10 @@ var require_dist = __commonJS({
|
|
|
305
307
|
is.emptyArray = (value) => is.array(value) && value.length === 0;
|
|
306
308
|
is.nonEmptyArray = (value) => is.array(value) && value.length > 0;
|
|
307
309
|
is.emptyString = (value) => is.string(value) && value.length === 0;
|
|
308
|
-
is.nonEmptyString = (value) => is.string(value) && value.length > 0;
|
|
309
310
|
var isWhiteSpaceString = (value) => is.string(value) && !/\S/.test(value);
|
|
310
311
|
is.emptyStringOrWhitespace = (value) => is.emptyString(value) || isWhiteSpaceString(value);
|
|
312
|
+
is.nonEmptyString = (value) => is.string(value) && value.length > 0;
|
|
313
|
+
is.nonEmptyStringAndNotWhitespace = (value) => is.string(value) && !is.emptyStringOrWhitespace(value);
|
|
311
314
|
is.emptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length === 0;
|
|
312
315
|
is.nonEmptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length > 0;
|
|
313
316
|
is.emptySet = (value) => is.set(value) && value.size === 0;
|
|
@@ -359,6 +362,7 @@ var require_dist = __commonJS({
|
|
|
359
362
|
}
|
|
360
363
|
},
|
|
361
364
|
buffer: (value) => assertType(is.buffer(value), "Buffer", value),
|
|
365
|
+
blob: (value) => assertType(is.blob(value), "Blob", value),
|
|
362
366
|
nullOrUndefined: (value) => assertType(is.nullOrUndefined(value), "null or undefined", value),
|
|
363
367
|
object: (value) => assertType(is.object(value), "Object", value),
|
|
364
368
|
iterable: (value) => assertType(is.iterable(value), "Iterable", value),
|
|
@@ -411,8 +415,9 @@ var require_dist = __commonJS({
|
|
|
411
415
|
emptyArray: (value) => assertType(is.emptyArray(value), "empty array", value),
|
|
412
416
|
nonEmptyArray: (value) => assertType(is.nonEmptyArray(value), "non-empty array", value),
|
|
413
417
|
emptyString: (value) => assertType(is.emptyString(value), "empty string", value),
|
|
414
|
-
nonEmptyString: (value) => assertType(is.nonEmptyString(value), "non-empty string", value),
|
|
415
418
|
emptyStringOrWhitespace: (value) => assertType(is.emptyStringOrWhitespace(value), "empty string or whitespace", value),
|
|
419
|
+
nonEmptyString: (value) => assertType(is.nonEmptyString(value), "non-empty string", value),
|
|
420
|
+
nonEmptyStringAndNotWhitespace: (value) => assertType(is.nonEmptyStringAndNotWhitespace(value), "non-empty string and not whitespace", value),
|
|
416
421
|
emptyObject: (value) => assertType(is.emptyObject(value), "empty object", value),
|
|
417
422
|
nonEmptyObject: (value) => assertType(is.nonEmptyObject(value), "non-empty object", value),
|
|
418
423
|
emptySet: (value) => assertType(is.emptySet(value), "empty set", value),
|
|
@@ -2513,56 +2513,56 @@ var require_follow_redirects = __commonJS({
|
|
|
2513
2513
|
});
|
|
2514
2514
|
}
|
|
2515
2515
|
var location = response.headers.location;
|
|
2516
|
-
if (location
|
|
2517
|
-
abortRequest(this._currentRequest);
|
|
2518
|
-
response.destroy();
|
|
2519
|
-
if (++this._redirectCount > this._options.maxRedirects) {
|
|
2520
|
-
this.emit("error", new TooManyRedirectsError());
|
|
2521
|
-
return;
|
|
2522
|
-
}
|
|
2523
|
-
if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || statusCode === 303 && !/^(?:GET|HEAD)$/.test(this._options.method)) {
|
|
2524
|
-
this._options.method = "GET";
|
|
2525
|
-
this._requestBodyBuffers = [];
|
|
2526
|
-
removeMatchingHeaders(/^content-/i, this._options.headers);
|
|
2527
|
-
}
|
|
2528
|
-
var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);
|
|
2529
|
-
var currentUrlParts = url.parse(this._currentUrl);
|
|
2530
|
-
var currentHost = currentHostHeader || currentUrlParts.host;
|
|
2531
|
-
var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url.format(Object.assign(currentUrlParts, { host: currentHost }));
|
|
2532
|
-
var redirectUrl;
|
|
2533
|
-
try {
|
|
2534
|
-
redirectUrl = url.resolve(currentUrl, location);
|
|
2535
|
-
} catch (cause) {
|
|
2536
|
-
this.emit("error", new RedirectionError(cause));
|
|
2537
|
-
return;
|
|
2538
|
-
}
|
|
2539
|
-
debug("redirecting to", redirectUrl);
|
|
2540
|
-
this._isRedirect = true;
|
|
2541
|
-
var redirectUrlParts = url.parse(redirectUrl);
|
|
2542
|
-
Object.assign(this._options, redirectUrlParts);
|
|
2543
|
-
if (!(redirectUrlParts.host === currentHost || isSubdomainOf(redirectUrlParts.host, currentHost))) {
|
|
2544
|
-
removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers);
|
|
2545
|
-
}
|
|
2546
|
-
if (typeof this._options.beforeRedirect === "function") {
|
|
2547
|
-
var responseDetails = { headers: response.headers };
|
|
2548
|
-
try {
|
|
2549
|
-
this._options.beforeRedirect.call(null, this._options, responseDetails);
|
|
2550
|
-
} catch (err) {
|
|
2551
|
-
this.emit("error", err);
|
|
2552
|
-
return;
|
|
2553
|
-
}
|
|
2554
|
-
this._sanitizeOptions(this._options);
|
|
2555
|
-
}
|
|
2556
|
-
try {
|
|
2557
|
-
this._performRequest();
|
|
2558
|
-
} catch (cause) {
|
|
2559
|
-
this.emit("error", new RedirectionError(cause));
|
|
2560
|
-
}
|
|
2561
|
-
} else {
|
|
2516
|
+
if (!location || this._options.followRedirects === false || statusCode < 300 || statusCode >= 400) {
|
|
2562
2517
|
response.responseUrl = this._currentUrl;
|
|
2563
2518
|
response.redirects = this._redirects;
|
|
2564
2519
|
this.emit("response", response);
|
|
2565
2520
|
this._requestBodyBuffers = [];
|
|
2521
|
+
return;
|
|
2522
|
+
}
|
|
2523
|
+
abortRequest(this._currentRequest);
|
|
2524
|
+
response.destroy();
|
|
2525
|
+
if (++this._redirectCount > this._options.maxRedirects) {
|
|
2526
|
+
this.emit("error", new TooManyRedirectsError());
|
|
2527
|
+
return;
|
|
2528
|
+
}
|
|
2529
|
+
if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || statusCode === 303 && !/^(?:GET|HEAD)$/.test(this._options.method)) {
|
|
2530
|
+
this._options.method = "GET";
|
|
2531
|
+
this._requestBodyBuffers = [];
|
|
2532
|
+
removeMatchingHeaders(/^content-/i, this._options.headers);
|
|
2533
|
+
}
|
|
2534
|
+
var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);
|
|
2535
|
+
var currentUrlParts = url.parse(this._currentUrl);
|
|
2536
|
+
var currentHost = currentHostHeader || currentUrlParts.host;
|
|
2537
|
+
var currentUrl = /^\w+:/.test(location) ? this._currentUrl : url.format(Object.assign(currentUrlParts, { host: currentHost }));
|
|
2538
|
+
var redirectUrl;
|
|
2539
|
+
try {
|
|
2540
|
+
redirectUrl = url.resolve(currentUrl, location);
|
|
2541
|
+
} catch (cause) {
|
|
2542
|
+
this.emit("error", new RedirectionError(cause));
|
|
2543
|
+
return;
|
|
2544
|
+
}
|
|
2545
|
+
debug("redirecting to", redirectUrl);
|
|
2546
|
+
this._isRedirect = true;
|
|
2547
|
+
var redirectUrlParts = url.parse(redirectUrl);
|
|
2548
|
+
Object.assign(this._options, redirectUrlParts);
|
|
2549
|
+
if (redirectUrlParts.protocol !== currentUrlParts.protocol && redirectUrlParts.protocol !== "https:" || redirectUrlParts.host !== currentHost && !isSubdomain(redirectUrlParts.host, currentHost)) {
|
|
2550
|
+
removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers);
|
|
2551
|
+
}
|
|
2552
|
+
if (typeof this._options.beforeRedirect === "function") {
|
|
2553
|
+
var responseDetails = { headers: response.headers };
|
|
2554
|
+
try {
|
|
2555
|
+
this._options.beforeRedirect.call(null, this._options, responseDetails);
|
|
2556
|
+
} catch (err) {
|
|
2557
|
+
this.emit("error", err);
|
|
2558
|
+
return;
|
|
2559
|
+
}
|
|
2560
|
+
this._sanitizeOptions(this._options);
|
|
2561
|
+
}
|
|
2562
|
+
try {
|
|
2563
|
+
this._performRequest();
|
|
2564
|
+
} catch (cause) {
|
|
2565
|
+
this.emit("error", new RedirectionError(cause));
|
|
2566
2566
|
}
|
|
2567
2567
|
};
|
|
2568
2568
|
function wrap(protocols) {
|
|
@@ -2665,7 +2665,7 @@ var require_follow_redirects = __commonJS({
|
|
|
2665
2665
|
request.on("error", noop);
|
|
2666
2666
|
request.abort();
|
|
2667
2667
|
}
|
|
2668
|
-
function
|
|
2668
|
+
function isSubdomain(subdomain, domain) {
|
|
2669
2669
|
const dot = subdomain.length - domain.length - 1;
|
|
2670
2670
|
return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain);
|
|
2671
2671
|
}
|
|
@@ -14333,6 +14333,7 @@ var require_dist5 = __commonJS({
|
|
|
14333
14333
|
"Observable",
|
|
14334
14334
|
"Array",
|
|
14335
14335
|
"Buffer",
|
|
14336
|
+
"Blob",
|
|
14336
14337
|
"Object",
|
|
14337
14338
|
"RegExp",
|
|
14338
14339
|
"Date",
|
|
@@ -14444,6 +14445,7 @@ var require_dist5 = __commonJS({
|
|
|
14444
14445
|
var _a, _b, _c, _d;
|
|
14445
14446
|
return (_d = (_c = (_b = (_a = value) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.isBuffer) === null || _c === void 0 ? void 0 : _c.call(_b, value)) !== null && _d !== void 0 ? _d : false;
|
|
14446
14447
|
};
|
|
14448
|
+
is.blob = (value) => isObjectOfType("Blob")(value);
|
|
14447
14449
|
is.nullOrUndefined = (value) => is.null_(value) || is.undefined(value);
|
|
14448
14450
|
is.object = (value) => !is.null_(value) && (typeof value === "object" || is.function_(value));
|
|
14449
14451
|
is.iterable = (value) => {
|
|
@@ -14561,9 +14563,10 @@ var require_dist5 = __commonJS({
|
|
|
14561
14563
|
is.emptyArray = (value) => is.array(value) && value.length === 0;
|
|
14562
14564
|
is.nonEmptyArray = (value) => is.array(value) && value.length > 0;
|
|
14563
14565
|
is.emptyString = (value) => is.string(value) && value.length === 0;
|
|
14564
|
-
is.nonEmptyString = (value) => is.string(value) && value.length > 0;
|
|
14565
14566
|
var isWhiteSpaceString = (value) => is.string(value) && !/\S/.test(value);
|
|
14566
14567
|
is.emptyStringOrWhitespace = (value) => is.emptyString(value) || isWhiteSpaceString(value);
|
|
14568
|
+
is.nonEmptyString = (value) => is.string(value) && value.length > 0;
|
|
14569
|
+
is.nonEmptyStringAndNotWhitespace = (value) => is.string(value) && !is.emptyStringOrWhitespace(value);
|
|
14567
14570
|
is.emptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length === 0;
|
|
14568
14571
|
is.nonEmptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length > 0;
|
|
14569
14572
|
is.emptySet = (value) => is.set(value) && value.size === 0;
|
|
@@ -14615,6 +14618,7 @@ var require_dist5 = __commonJS({
|
|
|
14615
14618
|
}
|
|
14616
14619
|
},
|
|
14617
14620
|
buffer: (value) => assertType(is.buffer(value), "Buffer", value),
|
|
14621
|
+
blob: (value) => assertType(is.blob(value), "Blob", value),
|
|
14618
14622
|
nullOrUndefined: (value) => assertType(is.nullOrUndefined(value), "null or undefined", value),
|
|
14619
14623
|
object: (value) => assertType(is.object(value), "Object", value),
|
|
14620
14624
|
iterable: (value) => assertType(is.iterable(value), "Iterable", value),
|
|
@@ -14667,8 +14671,9 @@ var require_dist5 = __commonJS({
|
|
|
14667
14671
|
emptyArray: (value) => assertType(is.emptyArray(value), "empty array", value),
|
|
14668
14672
|
nonEmptyArray: (value) => assertType(is.nonEmptyArray(value), "non-empty array", value),
|
|
14669
14673
|
emptyString: (value) => assertType(is.emptyString(value), "empty string", value),
|
|
14670
|
-
nonEmptyString: (value) => assertType(is.nonEmptyString(value), "non-empty string", value),
|
|
14671
14674
|
emptyStringOrWhitespace: (value) => assertType(is.emptyStringOrWhitespace(value), "empty string or whitespace", value),
|
|
14675
|
+
nonEmptyString: (value) => assertType(is.nonEmptyString(value), "non-empty string", value),
|
|
14676
|
+
nonEmptyStringAndNotWhitespace: (value) => assertType(is.nonEmptyStringAndNotWhitespace(value), "non-empty string and not whitespace", value),
|
|
14672
14677
|
emptyObject: (value) => assertType(is.emptyObject(value), "empty object", value),
|
|
14673
14678
|
nonEmptyObject: (value) => assertType(is.nonEmptyObject(value), "non-empty object", value),
|
|
14674
14679
|
emptySet: (value) => assertType(is.emptySet(value), "empty set", value),
|
|
@@ -43,8 +43,14 @@ async function handler(assetHashes) {
|
|
|
43
43
|
nextToken
|
|
44
44
|
}).promise();
|
|
45
45
|
const toDelete = (_a = response.imageDetails) == null ? void 0 : _a.filter((x) => {
|
|
46
|
-
|
|
46
|
+
if (!x.imageTags) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
let pred = !assetHashes.includes(x.imageTags[0]);
|
|
47
50
|
if (process.env.RETAIN_MILLISECONDS) {
|
|
51
|
+
if (!x.imagePushedAt) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
48
54
|
const limitDate = new Date(Date.now() - parseInt(process.env.RETAIN_MILLISECONDS));
|
|
49
55
|
pred = pred && x.imagePushedAt && x.imagePushedAt < limitDate;
|
|
50
56
|
}
|
package/changelog.md
CHANGED
|
@@ -1,7 +1,2 @@
|
|
|
1
1
|
|
|
2
|
-
### [0.4.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
### Bug Fixes
|
|
6
|
-
|
|
7
|
-
* **toolkit-cleaner:** used S3 assets could be deleted ([#166](https://github.com/jogold/cloudstructs/issues/166)) ([a18db5e](https://github.com/jogold/cloudstructs/commit/a18db5e2877d18e2f18d1bf1440ccc02e9774a46))
|
|
2
|
+
### [0.4.21](https://github.com/jogold/cloudstructs/compare/v0.4.20...v0.4.21) (2022-03-08)
|
|
@@ -3,91 +3,66 @@ import * as ecs from 'aws-cdk-lib/aws-ecs';
|
|
|
3
3
|
import * as events from 'aws-cdk-lib/aws-events';
|
|
4
4
|
import { Construct } from 'constructs';
|
|
5
5
|
/**
|
|
6
|
-
* Properties for a CodeCommitMirror
|
|
7
|
-
*
|
|
8
|
-
* @stability stable
|
|
6
|
+
* Properties for a CodeCommitMirror
|
|
9
7
|
*/
|
|
10
8
|
export interface CodeCommitMirrorProps {
|
|
11
9
|
/**
|
|
12
|
-
* The source repository
|
|
13
|
-
*
|
|
14
|
-
* @stability stable
|
|
10
|
+
* The source repository
|
|
15
11
|
*/
|
|
16
12
|
readonly repository: CodeCommitMirrorSourceRepository;
|
|
17
13
|
/**
|
|
18
|
-
* The ECS cluster where to run the mirroring operation
|
|
19
|
-
*
|
|
20
|
-
* @stability stable
|
|
14
|
+
* The ECS cluster where to run the mirroring operation
|
|
21
15
|
*/
|
|
22
16
|
readonly cluster: ecs.ICluster;
|
|
23
17
|
/**
|
|
24
|
-
* The schedule for the mirroring operation
|
|
18
|
+
* The schedule for the mirroring operation
|
|
25
19
|
*
|
|
26
20
|
* @default - everyday at midnight
|
|
27
|
-
* @stability stable
|
|
28
21
|
*/
|
|
29
22
|
readonly schedule?: events.Schedule;
|
|
30
23
|
/**
|
|
31
|
-
* Where to run the mirroring Fargate tasks
|
|
24
|
+
* Where to run the mirroring Fargate tasks
|
|
32
25
|
*
|
|
33
26
|
* @default - public subnets
|
|
34
|
-
* @stability stable
|
|
35
27
|
*/
|
|
36
28
|
readonly subnetSelection?: ec2.SubnetSelection;
|
|
37
29
|
}
|
|
38
30
|
/**
|
|
39
|
-
* A source repository for AWS CodeCommit mirroring
|
|
40
|
-
*
|
|
41
|
-
* @stability stable
|
|
31
|
+
* A source repository for AWS CodeCommit mirroring
|
|
42
32
|
*/
|
|
43
33
|
export declare abstract class CodeCommitMirrorSourceRepository {
|
|
44
34
|
/**
|
|
45
|
-
* Public GitHub repository
|
|
46
|
-
*
|
|
47
|
-
* @stability stable
|
|
35
|
+
* Public GitHub repository
|
|
48
36
|
*/
|
|
49
37
|
static gitHub(owner: string, name: string): CodeCommitMirrorSourceRepository;
|
|
50
38
|
/**
|
|
51
|
-
* Private repository with HTTPS clone URL stored in a AWS Secrets Manager secret or
|
|
39
|
+
* Private repository with HTTPS clone URL stored in a AWS Secrets Manager secret or
|
|
40
|
+
* a AWS Systems Manager secure string parameter.
|
|
52
41
|
*
|
|
53
|
-
* @param name the repository name
|
|
54
|
-
* @param url the secret containing the HTTPS clone URL
|
|
55
|
-
* @stability stable
|
|
42
|
+
* @param name the repository name
|
|
43
|
+
* @param url the secret containing the HTTPS clone URL
|
|
56
44
|
*/
|
|
57
45
|
static private(name: string, url: ecs.Secret): CodeCommitMirrorSourceRepository;
|
|
58
46
|
/**
|
|
59
|
-
* The name of the repository
|
|
60
|
-
*
|
|
61
|
-
* @stability stable
|
|
47
|
+
* The name of the repository
|
|
62
48
|
*/
|
|
63
49
|
abstract readonly name: string;
|
|
64
|
-
/**
|
|
65
|
-
* The HTTPS clone URL in plain text, used for a public repository.
|
|
66
|
-
*
|
|
67
|
-
* @stability stable
|
|
68
|
-
*/
|
|
50
|
+
/** The HTTPS clone URL in plain text, used for a public repository */
|
|
69
51
|
abstract readonly plainTextUrl?: string;
|
|
70
52
|
/**
|
|
71
53
|
* The HTTPS clone URL if the repository is private.
|
|
72
54
|
*
|
|
73
55
|
* The secret should contain the username and/or token.
|
|
74
56
|
*
|
|
75
|
-
* @stability stable
|
|
76
57
|
* @example
|
|
77
|
-
*
|
|
78
58
|
* `https://TOKEN@github.com/owner/name`
|
|
79
59
|
* `https://USERNAME:TOKEN@bitbucket.org/owner/name.git`
|
|
80
60
|
*/
|
|
81
61
|
abstract readonly secretUrl?: ecs.Secret;
|
|
82
62
|
}
|
|
83
63
|
/**
|
|
84
|
-
* Mirror a repository to AWS CodeCommit on schedule
|
|
85
|
-
*
|
|
86
|
-
* @stability stable
|
|
64
|
+
* Mirror a repository to AWS CodeCommit on schedule
|
|
87
65
|
*/
|
|
88
66
|
export declare class CodeCommitMirror extends Construct {
|
|
89
|
-
/**
|
|
90
|
-
* @stability stable
|
|
91
|
-
*/
|
|
92
67
|
constructor(scope: Construct, id: string, props: CodeCommitMirrorProps);
|
|
93
68
|
}
|
|
@@ -13,15 +13,11 @@ const iam = require("aws-cdk-lib/aws-iam");
|
|
|
13
13
|
const logs = require("aws-cdk-lib/aws-logs");
|
|
14
14
|
const constructs_1 = require("constructs");
|
|
15
15
|
/**
|
|
16
|
-
* A source repository for AWS CodeCommit mirroring
|
|
17
|
-
*
|
|
18
|
-
* @stability stable
|
|
16
|
+
* A source repository for AWS CodeCommit mirroring
|
|
19
17
|
*/
|
|
20
18
|
class CodeCommitMirrorSourceRepository {
|
|
21
19
|
/**
|
|
22
|
-
* Public GitHub repository
|
|
23
|
-
*
|
|
24
|
-
* @stability stable
|
|
20
|
+
* Public GitHub repository
|
|
25
21
|
*/
|
|
26
22
|
static gitHub(owner, name) {
|
|
27
23
|
return {
|
|
@@ -30,11 +26,11 @@ class CodeCommitMirrorSourceRepository {
|
|
|
30
26
|
};
|
|
31
27
|
}
|
|
32
28
|
/**
|
|
33
|
-
* Private repository with HTTPS clone URL stored in a AWS Secrets Manager secret or
|
|
29
|
+
* Private repository with HTTPS clone URL stored in a AWS Secrets Manager secret or
|
|
30
|
+
* a AWS Systems Manager secure string parameter.
|
|
34
31
|
*
|
|
35
|
-
* @param name the repository name
|
|
36
|
-
* @param url the secret containing the HTTPS clone URL
|
|
37
|
-
* @stability stable
|
|
32
|
+
* @param name the repository name
|
|
33
|
+
* @param url the secret containing the HTTPS clone URL
|
|
38
34
|
*/
|
|
39
35
|
static private(name, url) {
|
|
40
36
|
return {
|
|
@@ -45,16 +41,11 @@ class CodeCommitMirrorSourceRepository {
|
|
|
45
41
|
}
|
|
46
42
|
exports.CodeCommitMirrorSourceRepository = CodeCommitMirrorSourceRepository;
|
|
47
43
|
_a = JSII_RTTI_SYMBOL_1;
|
|
48
|
-
CodeCommitMirrorSourceRepository[_a] = { fqn: "cloudstructs.CodeCommitMirrorSourceRepository", version: "0.4.
|
|
44
|
+
CodeCommitMirrorSourceRepository[_a] = { fqn: "cloudstructs.CodeCommitMirrorSourceRepository", version: "0.4.21" };
|
|
49
45
|
/**
|
|
50
|
-
* Mirror a repository to AWS CodeCommit on schedule
|
|
51
|
-
*
|
|
52
|
-
* @stability stable
|
|
46
|
+
* Mirror a repository to AWS CodeCommit on schedule
|
|
53
47
|
*/
|
|
54
48
|
class CodeCommitMirror extends constructs_1.Construct {
|
|
55
|
-
/**
|
|
56
|
-
* @stability stable
|
|
57
|
-
*/
|
|
58
49
|
constructor(scope, id, props) {
|
|
59
50
|
var _c, _d;
|
|
60
51
|
super(scope, id);
|
|
@@ -99,5 +90,5 @@ class CodeCommitMirror extends constructs_1.Construct {
|
|
|
99
90
|
}
|
|
100
91
|
exports.CodeCommitMirror = CodeCommitMirror;
|
|
101
92
|
_b = JSII_RTTI_SYMBOL_1;
|
|
102
|
-
CodeCommitMirror[_b] = { fqn: "cloudstructs.CodeCommitMirror", version: "0.4.
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
CodeCommitMirror[_b] = { fqn: "cloudstructs.CodeCommitMirror", version: "0.4.21" };
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZWNvbW1pdC1taXJyb3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0IseURBQXlEO0FBQ3pELDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsaURBQWlEO0FBQ2pELDBEQUEwRDtBQUMxRCwyQ0FBMkM7QUFDM0MsNkNBQTZDO0FBQzdDLDJDQUF1QztBQStCdkM7O0dBRUc7QUFDSCxNQUFzQixnQ0FBZ0M7SUFDcEQ7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQzlDLE9BQU87WUFDTCxJQUFJO1lBQ0osWUFBWSxFQUFFLHNCQUFzQixLQUFLLElBQUksSUFBSSxFQUFFO1NBQ3BELENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFZLEVBQUUsR0FBZTtRQUNqRCxPQUFPO1lBQ0wsSUFBSTtZQUNKLFNBQVMsRUFBRSxHQUFHO1NBQ2YsQ0FBQztJQUNKLENBQUM7O0FBdkJILDRFQTJDQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBQzdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7O1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxXQUFXLEdBQUcsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDaEUsY0FBYyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSTtZQUNyQyxXQUFXLEVBQUUsYUFBYSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtTQUNsRCxDQUFDLENBQUM7UUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUU3RSxjQUFjLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRTtZQUN2QyxLQUFLLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDOUcsT0FBTyxFQUFFLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQztnQkFDNUIsWUFBWSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSTtnQkFDbkMsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVTthQUM1QyxDQUFDO1lBQ0YsV0FBVyxFQUFFO2dCQUNYLElBQUksRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUk7Z0JBQzNCLFdBQVcsRUFBRSxXQUFXLENBQUMscUJBQXFCO2dCQUM5QyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWTtvQkFDOUIsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFO29CQUMzQyxDQUFDLENBQUMsRUFBRTthQUNQO1lBQ0QsT0FBTyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUztnQkFDakMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFO2dCQUN4QyxDQUFDLENBQUMsU0FBUztTQUNkLENBQUMsQ0FBQztRQUVILGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDekQsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7WUFDL0IsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztTQUN2QyxDQUFDLENBQUMsQ0FBQztRQUVKLE1BQU0sSUFBSSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3pDLFFBQVEsUUFBRSxLQUFLLENBQUMsUUFBUSxtQ0FBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDL0MsTUFBTSxFQUFFLEdBQUc7Z0JBQ1gsSUFBSSxFQUFFLEdBQUc7YUFDVixDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDakMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLGNBQWM7WUFDZCxlQUFlLFFBQUUsS0FBSyxDQUFDLGVBQWUsbUNBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7U0FDaEYsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDOztBQTlDSCw0Q0ErQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY29kZWNvbW1pdCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWNvbW1pdCc7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcyc7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgQ29kZUNvbW1pdE1pcnJvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVDb21taXRNaXJyb3JQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgc291cmNlIHJlcG9zaXRvcnlcbiAgICovXG4gIHJlYWRvbmx5IHJlcG9zaXRvcnk6IENvZGVDb21taXRNaXJyb3JTb3VyY2VSZXBvc2l0b3J5O1xuXG4gIC8qKlxuICAgKiBUaGUgRUNTIGNsdXN0ZXIgd2hlcmUgdG8gcnVuIHRoZSBtaXJyb3Jpbmcgb3BlcmF0aW9uXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBlY3MuSUNsdXN0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBzY2hlZHVsZSBmb3IgdGhlIG1pcnJvcmluZyBvcGVyYXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBldmVyeWRheSBhdCBtaWRuaWdodFxuICAgKi9cbiAgcmVhZG9ubHkgc2NoZWR1bGU/OiBldmVudHMuU2NoZWR1bGU7XG5cbiAgLyoqXG4gICAqIFdoZXJlIHRvIHJ1biB0aGUgbWlycm9yaW5nIEZhcmdhdGUgdGFza3NcbiAgICpcbiAgICogQGRlZmF1bHQgLSBwdWJsaWMgc3VibmV0c1xuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0U2VsZWN0aW9uPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcbn1cblxuLyoqXG4gKiBBIHNvdXJjZSByZXBvc2l0b3J5IGZvciBBV1MgQ29kZUNvbW1pdCBtaXJyb3JpbmdcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvZGVDb21taXRNaXJyb3JTb3VyY2VSZXBvc2l0b3J5IHtcbiAgLyoqXG4gICAqIFB1YmxpYyBHaXRIdWIgcmVwb3NpdG9yeVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnaXRIdWIob3duZXI6IHN0cmluZywgbmFtZTogc3RyaW5nKTogQ29kZUNvbW1pdE1pcnJvclNvdXJjZVJlcG9zaXRvcnkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lLFxuICAgICAgcGxhaW5UZXh0VXJsOiBgaHR0cHM6Ly9naXRodWIuY29tLyR7b3duZXJ9LyR7bmFtZX1gLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUHJpdmF0ZSByZXBvc2l0b3J5IHdpdGggSFRUUFMgY2xvbmUgVVJMIHN0b3JlZCBpbiBhIEFXUyBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IG9yXG4gICAqIGEgQVdTIFN5c3RlbXMgTWFuYWdlciBzZWN1cmUgc3RyaW5nIHBhcmFtZXRlci5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgdGhlIHJlcG9zaXRvcnkgbmFtZVxuICAgKiBAcGFyYW0gdXJsIHRoZSBzZWNyZXQgY29udGFpbmluZyB0aGUgSFRUUFMgY2xvbmUgVVJMXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHByaXZhdGUobmFtZTogc3RyaW5nLCB1cmw6IGVjcy5TZWNyZXQpOiBDb2RlQ29tbWl0TWlycm9yU291cmNlUmVwb3NpdG9yeSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWUsXG4gICAgICBzZWNyZXRVcmw6IHVybCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByZXBvc2l0b3J5XG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKiBUaGUgSFRUUFMgY2xvbmUgVVJMIGluIHBsYWluIHRleHQsIHVzZWQgZm9yIGEgcHVibGljIHJlcG9zaXRvcnkgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHBsYWluVGV4dFVybD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEhUVFBTIGNsb25lIFVSTCBpZiB0aGUgcmVwb3NpdG9yeSBpcyBwcml2YXRlLlxuICAgKlxuICAgKiBUaGUgc2VjcmV0IHNob3VsZCBjb250YWluIHRoZSB1c2VybmFtZSBhbmQvb3IgdG9rZW4uXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBodHRwczovL1RPS0VOQGdpdGh1Yi5jb20vb3duZXIvbmFtZWBcbiAgICogYGh0dHBzOi8vVVNFUk5BTUU6VE9LRU5AYml0YnVja2V0Lm9yZy9vd25lci9uYW1lLmdpdGBcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBzZWNyZXRVcmw/OiBlY3MuU2VjcmV0O1xufVxuXG4vKipcbiAqIE1pcnJvciBhIHJlcG9zaXRvcnkgdG8gQVdTIENvZGVDb21taXQgb24gc2NoZWR1bGVcbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVDb21taXRNaXJyb3IgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ29kZUNvbW1pdE1pcnJvclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gbmV3IGNvZGVjb21taXQuUmVwb3NpdG9yeSh0aGlzLCAnUmVwb3NpdG9yeScsIHtcbiAgICAgIHJlcG9zaXRvcnlOYW1lOiBwcm9wcy5yZXBvc2l0b3J5Lm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogYE1pcnJvciBvZiAke3Byb3BzLnJlcG9zaXRvcnkubmFtZX1gLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdGFza0RlZmluaXRpb24gPSBuZXcgZWNzLkZhcmdhdGVUYXNrRGVmaW5pdGlvbih0aGlzLCAnVGFza0RlZmluaXRpb24nKTtcblxuICAgIHRhc2tEZWZpbml0aW9uLmFkZENvbnRhaW5lcignQ29udGFpbmVyJywge1xuICAgICAgaW1hZ2U6IGVjcy5Db250YWluZXJJbWFnZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJ2Fzc2V0cycsICdjb2RlY29tbWl0LW1pcnJvcicsICdkb2NrZXInKSksXG4gICAgICBsb2dnaW5nOiBuZXcgZWNzLkF3c0xvZ0RyaXZlcih7XG4gICAgICAgIHN0cmVhbVByZWZpeDogcHJvcHMucmVwb3NpdG9yeS5uYW1lLFxuICAgICAgICBsb2dSZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5UV09fTU9OVEhTLFxuICAgICAgfSksXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBOQU1FOiBwcm9wcy5yZXBvc2l0b3J5Lm5hbWUsXG4gICAgICAgIERFU1RJTkFUSU9OOiBkZXN0aW5hdGlvbi5yZXBvc2l0b3J5Q2xvbmVVcmxHcmMsXG4gICAgICAgIC4uLnByb3BzLnJlcG9zaXRvcnkucGxhaW5UZXh0VXJsXG4gICAgICAgICAgPyB7IFNPVVJDRTogcHJvcHMucmVwb3NpdG9yeS5wbGFpblRleHRVcmwgfVxuICAgICAgICAgIDoge30sXG4gICAgICB9LFxuICAgICAgc2VjcmV0czogcHJvcHMucmVwb3NpdG9yeS5zZWNyZXRVcmxcbiAgICAgICAgPyB7IFNPVVJDRTogcHJvcHMucmVwb3NpdG9yeS5zZWNyZXRVcmwgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHRhc2tEZWZpbml0aW9uLmFkZFRvVGFza1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogWydjb2RlY29tbWl0OkdpdFB1c2gnXSxcbiAgICAgIHJlc291cmNlczogW2Rlc3RpbmF0aW9uLnJlcG9zaXRvcnlBcm5dLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHJ1bGUgPSBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1J1bGUnLCB7XG4gICAgICBzY2hlZHVsZTogcHJvcHMuc2NoZWR1bGUgPz8gZXZlbnRzLlNjaGVkdWxlLmNyb24oe1xuICAgICAgICBtaW51dGU6ICcwJyxcbiAgICAgICAgaG91cjogJzAnLFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICBydWxlLmFkZFRhcmdldChuZXcgdGFyZ2V0cy5FY3NUYXNrKHtcbiAgICAgIGNsdXN0ZXI6IHByb3BzLmNsdXN0ZXIsXG4gICAgICB0YXNrRGVmaW5pdGlvbixcbiAgICAgIHN1Ym5ldFNlbGVjdGlvbjogcHJvcHMuc3VibmV0U2VsZWN0aW9uID8/IHsgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDIH0sXG4gICAgfSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -2,72 +2,52 @@ import * as ecs from 'aws-cdk-lib/aws-ecs';
|
|
|
2
2
|
import * as events from 'aws-cdk-lib/aws-events';
|
|
3
3
|
import { Construct } from 'constructs';
|
|
4
4
|
/**
|
|
5
|
-
* Properties for a EcsServiceRoller
|
|
6
|
-
*
|
|
7
|
-
* @stability stable
|
|
5
|
+
* Properties for a EcsServiceRoller
|
|
8
6
|
*/
|
|
9
7
|
export interface EcsServiceRollerProps {
|
|
10
8
|
/**
|
|
11
|
-
* The ECS cluster where the services run
|
|
12
|
-
*
|
|
13
|
-
* @stability stable
|
|
9
|
+
* The ECS cluster where the services run
|
|
14
10
|
*/
|
|
15
11
|
readonly cluster: ecs.ICluster;
|
|
16
12
|
/**
|
|
17
|
-
* The ECS service for which tasks should be rolled
|
|
18
|
-
*
|
|
19
|
-
* @stability stable
|
|
13
|
+
* The ECS service for which tasks should be rolled
|
|
20
14
|
*/
|
|
21
15
|
readonly service: ecs.IService;
|
|
22
16
|
/**
|
|
23
|
-
* The rule or schedule that should trigger a roll
|
|
17
|
+
* The rule or schedule that should trigger a roll
|
|
24
18
|
*
|
|
25
19
|
* @default - roll everyday at midnight
|
|
26
|
-
* @stability stable
|
|
27
20
|
*/
|
|
28
21
|
readonly trigger?: RollTrigger;
|
|
29
22
|
}
|
|
30
23
|
/**
|
|
31
|
-
* The rule or schedule that should trigger a roll
|
|
32
|
-
*
|
|
33
|
-
* @stability stable
|
|
24
|
+
* The rule or schedule that should trigger a roll
|
|
34
25
|
*/
|
|
35
26
|
export declare abstract class RollTrigger {
|
|
36
27
|
/**
|
|
37
|
-
* Schedule that should trigger a roll
|
|
38
|
-
*
|
|
39
|
-
* @stability stable
|
|
28
|
+
* Schedule that should trigger a roll
|
|
40
29
|
*/
|
|
41
30
|
static fromSchedule(schedule: events.Schedule): RollTrigger;
|
|
42
31
|
/**
|
|
43
|
-
* Rule that should trigger a roll
|
|
44
|
-
*
|
|
45
|
-
* @stability stable
|
|
32
|
+
* Rule that should trigger a roll
|
|
46
33
|
*/
|
|
47
34
|
static fromRule(rule: events.Rule): RollTrigger;
|
|
48
35
|
/**
|
|
49
|
-
* Roll schedule
|
|
36
|
+
* Roll schedule
|
|
50
37
|
*
|
|
51
38
|
* @default - roll everyday at midnight
|
|
52
|
-
* @stability stable
|
|
53
39
|
*/
|
|
54
40
|
abstract readonly schedule?: events.Schedule;
|
|
55
41
|
/**
|
|
56
|
-
* Roll rule
|
|
42
|
+
* Roll rule
|
|
57
43
|
*
|
|
58
44
|
* @default - roll everyday at midnight
|
|
59
|
-
* @stability stable
|
|
60
45
|
*/
|
|
61
46
|
abstract readonly rule?: events.Rule;
|
|
62
47
|
}
|
|
63
48
|
/**
|
|
64
|
-
* Roll your ECS service tasks on schedule or with a rule
|
|
65
|
-
*
|
|
66
|
-
* @stability stable
|
|
49
|
+
* Roll your ECS service tasks on schedule or with a rule
|
|
67
50
|
*/
|
|
68
51
|
export declare class EcsServiceRoller extends Construct {
|
|
69
|
-
/**
|
|
70
|
-
* @stability stable
|
|
71
|
-
*/
|
|
72
52
|
constructor(scope: Construct, id: string, props: EcsServiceRollerProps);
|
|
73
53
|
}
|
|
@@ -9,23 +9,17 @@ const targets = require("aws-cdk-lib/aws-events-targets");
|
|
|
9
9
|
const iam = require("aws-cdk-lib/aws-iam");
|
|
10
10
|
const constructs_1 = require("constructs");
|
|
11
11
|
/**
|
|
12
|
-
* The rule or schedule that should trigger a roll
|
|
13
|
-
*
|
|
14
|
-
* @stability stable
|
|
12
|
+
* The rule or schedule that should trigger a roll
|
|
15
13
|
*/
|
|
16
14
|
class RollTrigger {
|
|
17
15
|
/**
|
|
18
|
-
* Schedule that should trigger a roll
|
|
19
|
-
*
|
|
20
|
-
* @stability stable
|
|
16
|
+
* Schedule that should trigger a roll
|
|
21
17
|
*/
|
|
22
18
|
static fromSchedule(schedule) {
|
|
23
19
|
return { schedule };
|
|
24
20
|
}
|
|
25
21
|
/**
|
|
26
|
-
* Rule that should trigger a roll
|
|
27
|
-
*
|
|
28
|
-
* @stability stable
|
|
22
|
+
* Rule that should trigger a roll
|
|
29
23
|
*/
|
|
30
24
|
static fromRule(rule) {
|
|
31
25
|
return { rule };
|
|
@@ -33,16 +27,11 @@ class RollTrigger {
|
|
|
33
27
|
}
|
|
34
28
|
exports.RollTrigger = RollTrigger;
|
|
35
29
|
_a = JSII_RTTI_SYMBOL_1;
|
|
36
|
-
RollTrigger[_a] = { fqn: "cloudstructs.RollTrigger", version: "0.4.
|
|
30
|
+
RollTrigger[_a] = { fqn: "cloudstructs.RollTrigger", version: "0.4.21" };
|
|
37
31
|
/**
|
|
38
|
-
* Roll your ECS service tasks on schedule or with a rule
|
|
39
|
-
*
|
|
40
|
-
* @stability stable
|
|
32
|
+
* Roll your ECS service tasks on schedule or with a rule
|
|
41
33
|
*/
|
|
42
34
|
class EcsServiceRoller extends constructs_1.Construct {
|
|
43
|
-
/**
|
|
44
|
-
* @stability stable
|
|
45
|
-
*/
|
|
46
35
|
constructor(scope, id, props) {
|
|
47
36
|
var _c, _d, _e, _f;
|
|
48
37
|
super(scope, id);
|
|
@@ -75,5 +64,5 @@ class EcsServiceRoller extends constructs_1.Construct {
|
|
|
75
64
|
}
|
|
76
65
|
exports.EcsServiceRoller = EcsServiceRoller;
|
|
77
66
|
_b = JSII_RTTI_SYMBOL_1;
|
|
78
|
-
EcsServiceRoller[_b] = { fqn: "cloudstructs.EcsServiceRoller", version: "0.4.
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
EcsServiceRoller[_b] = { fqn: "cloudstructs.EcsServiceRoller", version: "0.4.21" };
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWNzLXNlcnZpY2Utcm9sbGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQW9DO0FBRXBDLGlEQUFpRDtBQUNqRCwwREFBMEQ7QUFDMUQsMkNBQTJDO0FBQzNDLDJDQUF1QztBQXdCdkM7O0dBRUc7QUFDSCxNQUFzQixXQUFXO0lBQy9COztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUF5QjtRQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFpQjtRQUN0QyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7QUFiSCxrQ0E0QkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUztJQUM3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCOztRQUNwRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sSUFBSSxlQUFHLEtBQUssQ0FBQyxPQUFPLDBDQUFFLElBQUksbUNBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDaEUsUUFBUSxjQUFFLEtBQUssQ0FBQyxPQUFPLDBDQUFFLFFBQVEsbUNBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hELE1BQU0sRUFBRSxHQUFHO2dCQUNYLElBQUksRUFBRSxHQUFHO2FBQ1YsQ0FBQztTQUNILENBQUMsQ0FBQztRQUdILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ2hDLE9BQU8sRUFBRSxLQUFLO1lBQ2QsTUFBTSxFQUFFLGVBQWU7WUFDdkIsVUFBVSxFQUFFO2dCQUNWLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVc7Z0JBQ2xDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVc7Z0JBQ2xDLGtCQUFrQixFQUFFLElBQUk7YUFDTztZQUNqQyx1R0FBdUc7WUFDdkcsdUVBQXVFO1lBQ3ZFLGVBQWUsRUFBRSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7Z0JBQ3ZDLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUM5QixTQUFTLEVBQUUsQ0FBQyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7d0JBQ25DLE9BQU8sRUFBRSxLQUFLO3dCQUNkLFFBQVEsRUFBRSxTQUFTO3dCQUNuQixZQUFZLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTtxQkFDMUUsQ0FBQyxDQUFDO2FBQ0osQ0FBQztTQUNILENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQzs7QUEvQkgsNENBZ0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcyc7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIEVjc1NlcnZpY2VSb2xsZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFY3NTZXJ2aWNlUm9sbGVyUHJvcHMge1xuICAvKipcbiAgICogVGhlIEVDUyBjbHVzdGVyIHdoZXJlIHRoZSBzZXJ2aWNlcyBydW5cbiAgICovXG4gIHJlYWRvbmx5IGNsdXN0ZXI6IGVjcy5JQ2x1c3RlcjtcblxuICAvKipcbiAgICogVGhlIEVDUyBzZXJ2aWNlIGZvciB3aGljaCB0YXNrcyBzaG91bGQgYmUgcm9sbGVkXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlOiBlY3MuSVNlcnZpY2U7XG5cbiAgLyoqXG4gICAqIFRoZSBydWxlIG9yIHNjaGVkdWxlIHRoYXQgc2hvdWxkIHRyaWdnZXIgYSByb2xsXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcm9sbCBldmVyeWRheSBhdCBtaWRuaWdodFxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlcj86IFJvbGxUcmlnZ2VyO1xufVxuXG4vKipcbiAqIFRoZSBydWxlIG9yIHNjaGVkdWxlIHRoYXQgc2hvdWxkIHRyaWdnZXIgYSByb2xsXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSb2xsVHJpZ2dlciB7XG4gIC8qKlxuICAgKiBTY2hlZHVsZSB0aGF0IHNob3VsZCB0cmlnZ2VyIGEgcm9sbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tU2NoZWR1bGUoc2NoZWR1bGU6IGV2ZW50cy5TY2hlZHVsZSk6IFJvbGxUcmlnZ2VyIHtcbiAgICByZXR1cm4geyBzY2hlZHVsZSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bGUgdGhhdCBzaG91bGQgdHJpZ2dlciBhIHJvbGxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJ1bGUocnVsZTogZXZlbnRzLlJ1bGUpOiBSb2xsVHJpZ2dlciB7XG4gICAgcmV0dXJuIHsgcnVsZSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJvbGwgc2NoZWR1bGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSByb2xsIGV2ZXJ5ZGF5IGF0IG1pZG5pZ2h0XG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgc2NoZWR1bGU/OiBldmVudHMuU2NoZWR1bGU7XG5cbiAgLyoqXG4gICAqIFJvbGwgcnVsZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHJvbGwgZXZlcnlkYXkgYXQgbWlkbmlnaHRcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBydWxlPzogZXZlbnRzLlJ1bGU7XG59XG5cbi8qKlxuICogUm9sbCB5b3VyIEVDUyBzZXJ2aWNlIHRhc2tzIG9uIHNjaGVkdWxlIG9yIHdpdGggYSBydWxlXG4gKi9cbmV4cG9ydCBjbGFzcyBFY3NTZXJ2aWNlUm9sbGVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEVjc1NlcnZpY2VSb2xsZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBydWxlID0gcHJvcHMudHJpZ2dlcj8ucnVsZSA/PyBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1J1bGUnLCB7XG4gICAgICBzY2hlZHVsZTogcHJvcHMudHJpZ2dlcj8uc2NoZWR1bGUgPz8gZXZlbnRzLlNjaGVkdWxlLmNyb24oe1xuICAgICAgICBtaW51dGU6ICcwJyxcbiAgICAgICAgaG91cjogJzAnLFxuICAgICAgfSksXG4gICAgfSk7XG5cblxuICAgIHJ1bGUuYWRkVGFyZ2V0KG5ldyB0YXJnZXRzLkF3c0FwaSh7XG4gICAgICBzZXJ2aWNlOiAnRUNTJyxcbiAgICAgIGFjdGlvbjogJ3VwZGF0ZVNlcnZpY2UnLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBzZXJ2aWNlOiBwcm9wcy5zZXJ2aWNlLnNlcnZpY2VOYW1lLFxuICAgICAgICBjbHVzdGVyOiBwcm9wcy5jbHVzdGVyLmNsdXN0ZXJOYW1lLFxuICAgICAgICBmb3JjZU5ld0RlcGxveW1lbnQ6IHRydWUsXG4gICAgICB9IGFzIEFXUy5FQ1MuVXBkYXRlU2VydmljZVJlcXVlc3QsXG4gICAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9lY3Mtc3VwcG9ydGVkLWlhbS1hY3Rpb25zLXJlc291cmNlcy5odG1sXG4gICAgICAvLyBhcm46YXdzOmVjczo8cmVnaW9uPjo8YWNjb3VudD46c2VydmljZS88Y2x1c3Rlci1uYW1lPi88c2VydmljZS1uYW1lPlxuICAgICAgcG9saWN5U3RhdGVtZW50OiBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFsnZWNzOlVwZGF0ZVNlcnZpY2UnXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgICAgICBzZXJ2aWNlOiAnZWNzJyxcbiAgICAgICAgICByZXNvdXJjZTogJ3NlcnZpY2UnLFxuICAgICAgICAgIHJlc291cmNlTmFtZTogYCR7cHJvcHMuY2x1c3Rlci5jbHVzdGVyTmFtZX0vJHtwcm9wcy5zZXJ2aWNlLnNlcnZpY2VOYW1lfWAsXG4gICAgICAgIH0pXSxcbiAgICAgIH0pLFxuICAgIH0pKTtcbiAgfVxufVxuIl19
|