cloudstructs 0.4.16 → 0.4.20

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.
Files changed (77) hide show
  1. package/.gitattributes +1 -0
  2. package/.jsii +10 -10
  3. package/assets/slack-textract/detect.lambda/index.js +5 -2
  4. package/assets/toolkit-cleaner/clean-images.lambda/index.js +7 -1
  5. package/assets/toolkit-cleaner/clean-objects.lambda/index.js +9 -2
  6. package/assets/toolkit-cleaner/extract-template-hashes.lambda/index.js +45 -0
  7. package/changelog.md +1 -1
  8. package/lib/codecommit-mirror/index.d.ts +14 -39
  9. package/lib/codecommit-mirror/index.js +10 -19
  10. package/lib/ecs-service-roller/index.d.ts +10 -30
  11. package/lib/ecs-service-roller/index.js +7 -18
  12. package/lib/email-receiver/receiver.d.ts +7 -23
  13. package/lib/email-receiver/receiver.js +4 -8
  14. package/lib/saml-identity-provider/index.d.ts +6 -17
  15. package/lib/saml-identity-provider/index.js +5 -11
  16. package/lib/slack-app/manifest.d.ts +52 -133
  17. package/lib/slack-app/manifest.js +15 -12
  18. package/lib/slack-app/slack-app.d.ts +21 -53
  19. package/lib/slack-app/slack-app.js +8 -20
  20. package/lib/slack-events/index.d.ts +6 -19
  21. package/lib/slack-events/index.js +3 -8
  22. package/lib/slack-textract/index.d.ts +3 -16
  23. package/lib/slack-textract/index.js +3 -8
  24. package/lib/state-machine-cr-provider/index.d.ts +7 -23
  25. package/lib/state-machine-cr-provider/index.js +3 -8
  26. package/lib/static-website/index.d.ts +14 -36
  27. package/lib/static-website/index.js +5 -12
  28. package/lib/toolkit-cleaner/clean-images.lambda.js +8 -2
  29. package/lib/toolkit-cleaner/clean-objects.lambda.js +10 -3
  30. package/lib/toolkit-cleaner/extract-template-hashes-function.d.ts +13 -0
  31. package/lib/toolkit-cleaner/extract-template-hashes-function.js +23 -0
  32. package/lib/toolkit-cleaner/extract-template-hashes.lambda.d.ts +1 -0
  33. package/lib/toolkit-cleaner/extract-template-hashes.lambda.js +17 -0
  34. package/lib/toolkit-cleaner/index.d.ts +5 -18
  35. package/lib/toolkit-cleaner/index.js +15 -19
  36. package/lib/url-shortener/index.d.ts +9 -25
  37. package/lib/url-shortener/index.js +3 -8
  38. package/node_modules/@slack/logger/node_modules/@types/node/README.md +1 -1
  39. package/node_modules/@slack/logger/node_modules/@types/node/buffer.d.ts +91 -1
  40. package/node_modules/@slack/logger/node_modules/@types/node/package.json +2 -2
  41. package/node_modules/@slack/logger/node_modules/@types/node/url.d.ts +10 -6
  42. package/node_modules/@slack/web-api/node_modules/@types/node/README.md +1 -1
  43. package/node_modules/@slack/web-api/node_modules/@types/node/buffer.d.ts +91 -1
  44. package/node_modules/@slack/web-api/node_modules/@types/node/package.json +2 -2
  45. package/node_modules/@slack/web-api/node_modules/@types/node/url.d.ts +10 -6
  46. package/node_modules/@types/cacheable-request/node_modules/@types/node/README.md +1 -1
  47. package/node_modules/@types/cacheable-request/node_modules/@types/node/buffer.d.ts +91 -1
  48. package/node_modules/@types/cacheable-request/node_modules/@types/node/package.json +2 -2
  49. package/node_modules/@types/cacheable-request/node_modules/@types/node/url.d.ts +10 -6
  50. package/node_modules/@types/is-stream/node_modules/@types/node/README.md +1 -1
  51. package/node_modules/@types/is-stream/node_modules/@types/node/buffer.d.ts +91 -1
  52. package/node_modules/@types/is-stream/node_modules/@types/node/package.json +2 -2
  53. package/node_modules/@types/is-stream/node_modules/@types/node/url.d.ts +10 -6
  54. package/node_modules/@types/keyv/node_modules/@types/node/README.md +1 -1
  55. package/node_modules/@types/keyv/node_modules/@types/node/buffer.d.ts +91 -1
  56. package/node_modules/@types/keyv/node_modules/@types/node/package.json +2 -2
  57. package/node_modules/@types/keyv/node_modules/@types/node/url.d.ts +10 -6
  58. package/node_modules/@types/responselike/node_modules/@types/node/README.md +1 -1
  59. package/node_modules/@types/responselike/node_modules/@types/node/buffer.d.ts +91 -1
  60. package/node_modules/@types/responselike/node_modules/@types/node/package.json +2 -2
  61. package/node_modules/@types/responselike/node_modules/@types/node/url.d.ts +10 -6
  62. package/node_modules/follow-redirects/index.js +7 -3
  63. package/node_modules/follow-redirects/package.json +1 -1
  64. package/node_modules/keyv/.nyc_output/{adb04494-7d0a-443f-9130-94b19c3fa19c.json → 5d6b8dd1-67cf-42ee-8492-c8ae62ce826c.json} +0 -0
  65. package/node_modules/keyv/.nyc_output/{17c338d1-cd21-4d2f-9d97-398f18a945cf.json → ce27532e-5888-46d4-ae10-5a71058d3f0c.json} +0 -0
  66. package/node_modules/keyv/.nyc_output/processinfo/5d6b8dd1-67cf-42ee-8492-c8ae62ce826c.json +1 -0
  67. package/node_modules/keyv/.nyc_output/processinfo/ce27532e-5888-46d4-ae10-5a71058d3f0c.json +1 -0
  68. package/node_modules/keyv/.nyc_output/processinfo/index.json +1 -1
  69. package/node_modules/keyv/package.json +7 -7
  70. package/node_modules/keyv/test/testdb.sqlite +0 -0
  71. package/package.json +8 -6
  72. package/releasetag.txt +1 -1
  73. package/version.txt +1 -1
  74. package/node_modules/keyv/.nyc_output/67b1f344-0eec-41a3-a665-c824c346e898.json +0 -1
  75. package/node_modules/keyv/.nyc_output/processinfo/17c338d1-cd21-4d2f-9d97-398f18a945cf.json +0 -1
  76. package/node_modules/keyv/.nyc_output/processinfo/67b1f344-0eec-41a3-a665-c824c346e898.json +0 -1
  77. package/node_modules/keyv/.nyc_output/processinfo/adb04494-7d0a-443f-9130-94b19c3fa19c.json +0 -1
package/.gitattributes CHANGED
@@ -25,6 +25,7 @@
25
25
  /src/slack-textract/detect-function.ts linguist-generated
26
26
  /src/toolkit-cleaner/clean-images-function.ts linguist-generated
27
27
  /src/toolkit-cleaner/clean-objects-function.ts linguist-generated
28
+ /src/toolkit-cleaner/extract-template-hashes-function.ts linguist-generated
28
29
  /src/toolkit-cleaner/get-stack-names-function.ts linguist-generated
29
30
  /src/url-shortener/shortener-function.ts linguist-generated
30
31
  /tsconfig.dev.json linguist-generated
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.52.1 (build 5ccc8f6)",
2847
+ "jsiiVersion": "1.54.0 (build b1b977a)",
2848
2848
  "keywords": [
2849
2849
  "cdk"
2850
2850
  ],
@@ -5816,7 +5816,7 @@
5816
5816
  },
5817
5817
  "locationInModule": {
5818
5818
  "filename": "src/toolkit-cleaner/index.ts",
5819
- "line": 52
5819
+ "line": 53
5820
5820
  },
5821
5821
  "parameters": [
5822
5822
  {
@@ -5843,7 +5843,7 @@
5843
5843
  "kind": "class",
5844
5844
  "locationInModule": {
5845
5845
  "filename": "src/toolkit-cleaner/index.ts",
5846
- "line": 51
5846
+ "line": 52
5847
5847
  },
5848
5848
  "name": "ToolkitCleaner",
5849
5849
  "symbolId": "src/toolkit-cleaner/index:ToolkitCleaner"
@@ -5859,7 +5859,7 @@
5859
5859
  "kind": "interface",
5860
5860
  "locationInModule": {
5861
5861
  "filename": "src/toolkit-cleaner/index.ts",
5862
- "line": 18
5862
+ "line": 19
5863
5863
  },
5864
5864
  "name": "ToolkitCleanerProps",
5865
5865
  "properties": [
@@ -5872,7 +5872,7 @@
5872
5872
  "immutable": true,
5873
5873
  "locationInModule": {
5874
5874
  "filename": "src/toolkit-cleaner/index.ts",
5875
- "line": 38
5875
+ "line": 39
5876
5876
  },
5877
5877
  "name": "dryRun",
5878
5878
  "optional": true,
@@ -5890,7 +5890,7 @@
5890
5890
  "immutable": true,
5891
5891
  "locationInModule": {
5892
5892
  "filename": "src/toolkit-cleaner/index.ts",
5893
- "line": 45
5893
+ "line": 46
5894
5894
  },
5895
5895
  "name": "retainAssetsNewerThan",
5896
5896
  "optional": true,
@@ -5908,7 +5908,7 @@
5908
5908
  "immutable": true,
5909
5909
  "locationInModule": {
5910
5910
  "filename": "src/toolkit-cleaner/index.ts",
5911
- "line": 24
5911
+ "line": 25
5912
5912
  },
5913
5913
  "name": "schedule",
5914
5914
  "optional": true,
@@ -5927,7 +5927,7 @@
5927
5927
  "immutable": true,
5928
5928
  "locationInModule": {
5929
5929
  "filename": "src/toolkit-cleaner/index.ts",
5930
- "line": 32
5930
+ "line": 33
5931
5931
  },
5932
5932
  "name": "scheduleEnabled",
5933
5933
  "optional": true,
@@ -6088,6 +6088,6 @@
6088
6088
  "symbolId": "src/url-shortener/index:UrlShortenerProps"
6089
6089
  }
6090
6090
  },
6091
- "version": "0.4.16",
6092
- "fingerprint": "4awhBCAE82mOYDueMVEPByrPZHAuWlDwQ1YwcY7BOh4="
6091
+ "version": "0.4.20",
6092
+ "fingerprint": "S0pnPVlyzmLP0xrQBlVIU0fK4eY8XRO8nRZz7Ypg4rY="
6093
6093
  }
@@ -2540,7 +2540,7 @@ var require_follow_redirects = __commonJS({
2540
2540
  this._isRedirect = true;
2541
2541
  var redirectUrlParts = url.parse(redirectUrl);
2542
2542
  Object.assign(this._options, redirectUrlParts);
2543
- if (!(redirectUrlParts.host === currentHost || isSubdomainOf(redirectUrlParts.host, currentHost))) {
2543
+ if (redirectUrlParts.protocol !== currentUrlParts.protocol || !isSameOrSubdomain(redirectUrlParts.host, currentHost)) {
2544
2544
  removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers);
2545
2545
  }
2546
2546
  if (typeof this._options.beforeRedirect === "function") {
@@ -2665,7 +2665,10 @@ var require_follow_redirects = __commonJS({
2665
2665
  request.on("error", noop);
2666
2666
  request.abort();
2667
2667
  }
2668
- function isSubdomainOf(subdomain, domain) {
2668
+ function isSameOrSubdomain(subdomain, domain) {
2669
+ if (subdomain === domain) {
2670
+ return true;
2671
+ }
2669
2672
  const dot = subdomain.length - domain.length - 1;
2670
2673
  return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain);
2671
2674
  }
@@ -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
- let pred = x.imageTags && !assetHashes.includes(x.imageTags[0]);
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
  }
@@ -49,10 +49,17 @@ async function handler(assetHashes) {
49
49
  ContinuationToken: nextToken
50
50
  }).promise();
51
51
  const toDelete = (_a = response.Contents) == null ? void 0 : _a.filter((x) => {
52
- let pred = x.Key && !assetHashes.includes(path.basename(x.Key));
52
+ if (!x.Key) {
53
+ return false;
54
+ }
55
+ const hash = path.basename(x.Key, path.extname(x.Key));
56
+ let pred = !assetHashes.includes(hash);
53
57
  if (process.env.RETAIN_MILLISECONDS) {
58
+ if (!x.LastModified) {
59
+ return false;
60
+ }
54
61
  const limitDate = new Date(Date.now() - parseInt(process.env.RETAIN_MILLISECONDS));
55
- pred = pred && x.LastModified && x.LastModified < limitDate;
62
+ pred = pred && x.LastModified < limitDate;
56
63
  }
57
64
  return pred;
58
65
  });
@@ -0,0 +1,45 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __reExport = (target, module2, copyDefault, desc) => {
11
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
12
+ for (let key of __getOwnPropNames(module2))
13
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
14
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
15
+ }
16
+ return target;
17
+ };
18
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
19
+ return (module2, temp) => {
20
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
21
+ };
22
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
23
+
24
+ // src/toolkit-cleaner/extract-template-hashes.lambda.ts
25
+ var extract_template_hashes_lambda_exports = {};
26
+ __export(extract_template_hashes_lambda_exports, {
27
+ handler: () => handler
28
+ });
29
+ var import_aws_sdk = require("aws-sdk");
30
+ var cloudFormation = new import_aws_sdk.CloudFormation();
31
+ async function handler(stackName) {
32
+ const template = await cloudFormation.getTemplate({
33
+ StackName: stackName
34
+ }).promise();
35
+ if (!template.TemplateBody) {
36
+ return [];
37
+ }
38
+ const hashes = template.TemplateBody.match(/[a-f0-9]{64}/g);
39
+ return [...new Set(hashes)];
40
+ }
41
+ module.exports = __toCommonJS(extract_template_hashes_lambda_exports);
42
+ // Annotate the CommonJS export names for ESM import in node:
43
+ 0 && (module.exports = {
44
+ handler
45
+ });
package/changelog.md CHANGED
@@ -1,2 +1,2 @@
1
1
 
2
- ### [0.4.16](https://github.com/jogold/cloudstructs/compare/v0.4.15...v0.4.16) (2022-02-07)
2
+ ### [0.4.20](https://github.com/jogold/cloudstructs/compare/v0.4.19...v0.4.20) (2022-02-17)
@@ -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 a AWS Systems Manager secure string parameter.
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 a AWS Systems Manager secure string parameter.
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.16" };
44
+ CodeCommitMirrorSourceRepository[_a] = { fqn: "cloudstructs.CodeCommitMirrorSourceRepository", version: "0.4.20" };
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.16" };
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29kZWNvbW1pdC1taXJyb3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0IseURBQXlEO0FBQ3pELDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsaURBQWlEO0FBQ2pELDBEQUEwRDtBQUMxRCwyQ0FBMkM7QUFDM0MsNkNBQTZDO0FBQzdDLDJDQUF1Qzs7Ozs7O0FBa0J2QyxNQUFzQixnQ0FBZ0M7Ozs7OztJQUU3QyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQzlDLE9BQU87WUFDTCxJQUFJO1lBQ0osWUFBWSxFQUFFLHNCQUFzQixLQUFLLElBQUksSUFBSSxFQUFFO1NBQ3BELENBQUM7SUFDSixDQUFDOzs7Ozs7OztJQUdNLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBWSxFQUFFLEdBQWU7UUFDakQsT0FBTztZQUNMLElBQUk7WUFDSixTQUFTLEVBQUUsR0FBRztTQUNmLENBQUM7SUFDSixDQUFDOztBQWZILDRFQXlCQzs7Ozs7Ozs7QUFHRCxNQUFhLGdCQUFpQixTQUFRLHNCQUFTOzs7O0lBQzdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7O1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxXQUFXLEdBQUcsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDaEUsY0FBYyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSTtZQUNyQyxXQUFXLEVBQUUsYUFBYSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtTQUNsRCxDQUFDLENBQUM7UUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUU3RSxjQUFjLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRTtZQUN2QyxLQUFLLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDOUcsT0FBTyxFQUFFLElBQUksR0FBRyxDQUFDLFlBQVksQ0FBQztnQkFDNUIsWUFBWSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSTtnQkFDbkMsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVTthQUM1QyxDQUFDO1lBQ0YsV0FBVyxFQUFFO2dCQUNYLElBQUksRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUk7Z0JBQzNCLFdBQVcsRUFBRSxXQUFXLENBQUMscUJBQXFCO2dCQUM5QyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWTtvQkFDOUIsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFO29CQUMzQyxDQUFDLENBQUMsRUFBRTthQUNQO1lBQ0QsT0FBTyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUztnQkFDakMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFO2dCQUN4QyxDQUFDLENBQUMsU0FBUztTQUNkLENBQUMsQ0FBQztRQUVILGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDekQsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7WUFDL0IsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztTQUN2QyxDQUFDLENBQUMsQ0FBQztRQUVKLE1BQU0sSUFBSSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3pDLFFBQVEsUUFBRSxLQUFLLENBQUMsUUFBUSxtQ0FBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDL0MsTUFBTSxFQUFFLEdBQUc7Z0JBQ1gsSUFBSSxFQUFFLEdBQUc7YUFDVixDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDakMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3RCLGNBQWM7WUFDZCxlQUFlLFFBQUUsS0FBSyxDQUFDLGVBQWUsbUNBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUU7U0FDaEYsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDOztBQTlDSCw0Q0ErQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY29kZWNvbW1pdCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWNvbW1pdCc7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcyc7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBDb2RlQ29tbWl0TWlycm9yUHJvcHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcmVwb3NpdG9yeTogQ29kZUNvbW1pdE1pcnJvclNvdXJjZVJlcG9zaXRvcnk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjbHVzdGVyOiBlY3MuSUNsdXN0ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzY2hlZHVsZT86IGV2ZW50cy5TY2hlZHVsZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHN1Ym5ldFNlbGVjdGlvbj86IGVjMi5TdWJuZXRTZWxlY3Rpb247XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29kZUNvbW1pdE1pcnJvclNvdXJjZVJlcG9zaXRvcnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyBnaXRIdWIob3duZXI6IHN0cmluZywgbmFtZTogc3RyaW5nKTogQ29kZUNvbW1pdE1pcnJvclNvdXJjZVJlcG9zaXRvcnkge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lLFxuICAgICAgcGxhaW5UZXh0VXJsOiBgaHR0cHM6Ly9naXRodWIuY29tLyR7b3duZXJ9LyR7bmFtZX1gLFxuICAgIH07XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHByaXZhdGUobmFtZTogc3RyaW5nLCB1cmw6IGVjcy5TZWNyZXQpOiBDb2RlQ29tbWl0TWlycm9yU291cmNlUmVwb3NpdG9yeSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWUsXG4gICAgICBzZWNyZXRVcmw6IHVybCxcbiAgICB9O1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBwbGFpblRleHRVcmw/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHNlY3JldFVybD86IGVjcy5TZWNyZXQ7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIENvZGVDb21taXRNaXJyb3IgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ29kZUNvbW1pdE1pcnJvclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gbmV3IGNvZGVjb21taXQuUmVwb3NpdG9yeSh0aGlzLCAnUmVwb3NpdG9yeScsIHtcbiAgICAgIHJlcG9zaXRvcnlOYW1lOiBwcm9wcy5yZXBvc2l0b3J5Lm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogYE1pcnJvciBvZiAke3Byb3BzLnJlcG9zaXRvcnkubmFtZX1gLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdGFza0RlZmluaXRpb24gPSBuZXcgZWNzLkZhcmdhdGVUYXNrRGVmaW5pdGlvbih0aGlzLCAnVGFza0RlZmluaXRpb24nKTtcblxuICAgIHRhc2tEZWZpbml0aW9uLmFkZENvbnRhaW5lcignQ29udGFpbmVyJywge1xuICAgICAgaW1hZ2U6IGVjcy5Db250YWluZXJJbWFnZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJ2Fzc2V0cycsICdjb2RlY29tbWl0LW1pcnJvcicsICdkb2NrZXInKSksXG4gICAgICBsb2dnaW5nOiBuZXcgZWNzLkF3c0xvZ0RyaXZlcih7XG4gICAgICAgIHN0cmVhbVByZWZpeDogcHJvcHMucmVwb3NpdG9yeS5uYW1lLFxuICAgICAgICBsb2dSZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5UV09fTU9OVEhTLFxuICAgICAgfSksXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBOQU1FOiBwcm9wcy5yZXBvc2l0b3J5Lm5hbWUsXG4gICAgICAgIERFU1RJTkFUSU9OOiBkZXN0aW5hdGlvbi5yZXBvc2l0b3J5Q2xvbmVVcmxHcmMsXG4gICAgICAgIC4uLnByb3BzLnJlcG9zaXRvcnkucGxhaW5UZXh0VXJsXG4gICAgICAgICAgPyB7IFNPVVJDRTogcHJvcHMucmVwb3NpdG9yeS5wbGFpblRleHRVcmwgfVxuICAgICAgICAgIDoge30sXG4gICAgICB9LFxuICAgICAgc2VjcmV0czogcHJvcHMucmVwb3NpdG9yeS5zZWNyZXRVcmxcbiAgICAgICAgPyB7IFNPVVJDRTogcHJvcHMucmVwb3NpdG9yeS5zZWNyZXRVcmwgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHRhc2tEZWZpbml0aW9uLmFkZFRvVGFza1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogWydjb2RlY29tbWl0OkdpdFB1c2gnXSxcbiAgICAgIHJlc291cmNlczogW2Rlc3RpbmF0aW9uLnJlcG9zaXRvcnlBcm5dLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHJ1bGUgPSBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1J1bGUnLCB7XG4gICAgICBzY2hlZHVsZTogcHJvcHMuc2NoZWR1bGUgPz8gZXZlbnRzLlNjaGVkdWxlLmNyb24oe1xuICAgICAgICBtaW51dGU6ICcwJyxcbiAgICAgICAgaG91cjogJzAnLFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICBydWxlLmFkZFRhcmdldChuZXcgdGFyZ2V0cy5FY3NUYXNrKHtcbiAgICAgIGNsdXN0ZXI6IHByb3BzLmNsdXN0ZXIsXG4gICAgICB0YXNrRGVmaW5pdGlvbixcbiAgICAgIHN1Ym5ldFNlbGVjdGlvbjogcHJvcHMuc3VibmV0U2VsZWN0aW9uID8/IHsgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDIH0sXG4gICAgfSkpO1xuICB9XG59XG4iXX0=
93
+ CodeCommitMirror[_b] = { fqn: "cloudstructs.CodeCommitMirror", version: "0.4.20" };
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.16" };
30
+ RollTrigger[_a] = { fqn: "cloudstructs.RollTrigger", version: "0.4.20" };
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.16" };
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWNzLXNlcnZpY2Utcm9sbGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQW9DO0FBRXBDLGlEQUFpRDtBQUNqRCwwREFBMEQ7QUFDMUQsMkNBQTJDO0FBQzNDLDJDQUF1Qzs7Ozs7O0FBZXZDLE1BQXNCLFdBQVc7Ozs7OztJQUV4QixNQUFNLENBQUMsWUFBWSxDQUFDLFFBQXlCO1FBQ2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7Ozs7SUFHTSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQWlCO1FBQ3RDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsQixDQUFDOztBQVRILGtDQWdCQzs7Ozs7Ozs7QUFHRCxNQUFhLGdCQUFpQixTQUFRLHNCQUFTOzs7O0lBQzdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7O1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxJQUFJLGVBQUcsS0FBSyxDQUFDLE9BQU8sMENBQUUsSUFBSSxtQ0FBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNoRSxRQUFRLGNBQUUsS0FBSyxDQUFDLE9BQU8sMENBQUUsUUFBUSxtQ0FBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDeEQsTUFBTSxFQUFFLEdBQUc7Z0JBQ1gsSUFBSSxFQUFFLEdBQUc7YUFDVixDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBR0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDaEMsT0FBTyxFQUFFLEtBQUs7WUFDZCxNQUFNLEVBQUUsZUFBZTtZQUN2QixVQUFVLEVBQUU7Z0JBQ1YsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVztnQkFDbEMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVztnQkFDbEMsa0JBQWtCLEVBQUUsSUFBSTthQUNPO1lBQ2pDLHVHQUF1RztZQUN2Ryx1RUFBdUU7WUFDdkUsZUFBZSxFQUFFLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztnQkFDdkMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7Z0JBQzlCLFNBQVMsRUFBRSxDQUFDLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQzt3QkFDbkMsT0FBTyxFQUFFLEtBQUs7d0JBQ2QsUUFBUSxFQUFFLFNBQVM7d0JBQ25CLFlBQVksRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO3FCQUMxRSxDQUFDLENBQUM7YUFDSixDQUFDO1NBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDOztBQS9CSCw0Q0FnQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGVjcyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNzJztcbmltcG9ydCAqIGFzIGV2ZW50cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzJztcbmltcG9ydCAqIGFzIHRhcmdldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cy10YXJnZXRzJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBFY3NTZXJ2aWNlUm9sbGVyUHJvcHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjbHVzdGVyOiBlY3MuSUNsdXN0ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNlcnZpY2U6IGVjcy5JU2VydmljZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRyaWdnZXI/OiBSb2xsVHJpZ2dlcjtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJvbGxUcmlnZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyBmcm9tU2NoZWR1bGUoc2NoZWR1bGU6IGV2ZW50cy5TY2hlZHVsZSk6IFJvbGxUcmlnZ2VyIHtcbiAgICByZXR1cm4geyBzY2hlZHVsZSB9O1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIGZyb21SdWxlKHJ1bGU6IGV2ZW50cy5SdWxlKTogUm9sbFRyaWdnZXIge1xuICAgIHJldHVybiB7IHJ1bGUgfTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgc2NoZWR1bGU/OiBldmVudHMuU2NoZWR1bGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHJ1bGU/OiBldmVudHMuUnVsZTtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBFY3NTZXJ2aWNlUm9sbGVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEVjc1NlcnZpY2VSb2xsZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBydWxlID0gcHJvcHMudHJpZ2dlcj8ucnVsZSA/PyBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1J1bGUnLCB7XG4gICAgICBzY2hlZHVsZTogcHJvcHMudHJpZ2dlcj8uc2NoZWR1bGUgPz8gZXZlbnRzLlNjaGVkdWxlLmNyb24oe1xuICAgICAgICBtaW51dGU6ICcwJyxcbiAgICAgICAgaG91cjogJzAnLFxuICAgICAgfSksXG4gICAgfSk7XG5cblxuICAgIHJ1bGUuYWRkVGFyZ2V0KG5ldyB0YXJnZXRzLkF3c0FwaSh7XG4gICAgICBzZXJ2aWNlOiAnRUNTJyxcbiAgICAgIGFjdGlvbjogJ3VwZGF0ZVNlcnZpY2UnLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBzZXJ2aWNlOiBwcm9wcy5zZXJ2aWNlLnNlcnZpY2VOYW1lLFxuICAgICAgICBjbHVzdGVyOiBwcm9wcy5jbHVzdGVyLmNsdXN0ZXJOYW1lLFxuICAgICAgICBmb3JjZU5ld0RlcGxveW1lbnQ6IHRydWUsXG4gICAgICB9IGFzIEFXUy5FQ1MuVXBkYXRlU2VydmljZVJlcXVlc3QsXG4gICAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9lY3Mtc3VwcG9ydGVkLWlhbS1hY3Rpb25zLXJlc291cmNlcy5odG1sXG4gICAgICAvLyBhcm46YXdzOmVjczo8cmVnaW9uPjo8YWNjb3VudD46c2VydmljZS88Y2x1c3Rlci1uYW1lPi88c2VydmljZS1uYW1lPlxuICAgICAgcG9saWN5U3RhdGVtZW50OiBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFsnZWNzOlVwZGF0ZVNlcnZpY2UnXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgICAgICBzZXJ2aWNlOiAnZWNzJyxcbiAgICAgICAgICByZXNvdXJjZTogJ3NlcnZpY2UnLFxuICAgICAgICAgIHJlc291cmNlTmFtZTogYCR7cHJvcHMuY2x1c3Rlci5jbHVzdGVyTmFtZX0vJHtwcm9wcy5zZXJ2aWNlLnNlcnZpY2VOYW1lfWAsXG4gICAgICAgIH0pXSxcbiAgICAgIH0pLFxuICAgIH0pKTtcbiAgfVxufVxuIl19
67
+ EcsServiceRoller[_b] = { fqn: "cloudstructs.EcsServiceRoller", version: "0.4.20" };
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWNzLXNlcnZpY2Utcm9sbGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQW9DO0FBRXBDLGlEQUFpRDtBQUNqRCwwREFBMEQ7QUFDMUQsMkNBQTJDO0FBQzNDLDJDQUF1QztBQXdCdkM7O0dBRUc7QUFDSCxNQUFzQixXQUFXO0lBQy9COztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUF5QjtRQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFpQjtRQUN0QyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7QUFiSCxrQ0E0QkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUztJQUM3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCOztRQUNwRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sSUFBSSxlQUFHLEtBQUssQ0FBQyxPQUFPLDBDQUFFLElBQUksbUNBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDaEUsUUFBUSxjQUFFLEtBQUssQ0FBQyxPQUFPLDBDQUFFLFFBQVEsbUNBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hELE1BQU0sRUFBRSxHQUFHO2dCQUNYLElBQUksRUFBRSxHQUFHO2FBQ1YsQ0FBQztTQUNILENBQUMsQ0FBQztRQUdILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ2hDLE9BQU8sRUFBRSxLQUFLO1lBQ2QsTUFBTSxFQUFFLGVBQWU7WUFDdkIsVUFBVSxFQUFFO2dCQUNWLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVc7Z0JBQ2xDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVc7Z0JBQ2xDLGtCQUFrQixFQUFFLElBQUk7YUFDTztZQUNqQyx1R0FBdUc7WUFDdkcsdUVBQXVFO1lBQ3ZFLGVBQWUsRUFBRSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7Z0JBQ3ZDLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUM5QixTQUFTLEVBQUUsQ0FBQyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7d0JBQ25DLE9BQU8sRUFBRSxLQUFLO3dCQUNkLFFBQVEsRUFBRSxTQUFTO3dCQUNuQixZQUFZLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTtxQkFDMUUsQ0FBQyxDQUFDO2FBQ0osQ0FBQztTQUNILENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQzs7QUEvQkgsNENBZ0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcyc7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIEVjc1NlcnZpY2VSb2xsZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFY3NTZXJ2aWNlUm9sbGVyUHJvcHMge1xuICAvKipcbiAgICogVGhlIEVDUyBjbHVzdGVyIHdoZXJlIHRoZSBzZXJ2aWNlcyBydW5cbiAgICovXG4gIHJlYWRvbmx5IGNsdXN0ZXI6IGVjcy5JQ2x1c3RlcjtcblxuICAvKipcbiAgICogVGhlIEVDUyBzZXJ2aWNlIGZvciB3aGljaCB0YXNrcyBzaG91bGQgYmUgcm9sbGVkXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlOiBlY3MuSVNlcnZpY2U7XG5cbiAgLyoqXG4gICAqIFRoZSBydWxlIG9yIHNjaGVkdWxlIHRoYXQgc2hvdWxkIHRyaWdnZXIgYSByb2xsXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcm9sbCBldmVyeWRheSBhdCBtaWRuaWdodFxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlcj86IFJvbGxUcmlnZ2VyO1xufVxuXG4vKipcbiAqIFRoZSBydWxlIG9yIHNjaGVkdWxlIHRoYXQgc2hvdWxkIHRyaWdnZXIgYSByb2xsXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSb2xsVHJpZ2dlciB7XG4gIC8qKlxuICAgKiBTY2hlZHVsZSB0aGF0IHNob3VsZCB0cmlnZ2VyIGEgcm9sbFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tU2NoZWR1bGUoc2NoZWR1bGU6IGV2ZW50cy5TY2hlZHVsZSk6IFJvbGxUcmlnZ2VyIHtcbiAgICByZXR1cm4geyBzY2hlZHVsZSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bGUgdGhhdCBzaG91bGQgdHJpZ2dlciBhIHJvbGxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJ1bGUocnVsZTogZXZlbnRzLlJ1bGUpOiBSb2xsVHJpZ2dlciB7XG4gICAgcmV0dXJuIHsgcnVsZSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJvbGwgc2NoZWR1bGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSByb2xsIGV2ZXJ5ZGF5IGF0IG1pZG5pZ2h0XG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgc2NoZWR1bGU/OiBldmVudHMuU2NoZWR1bGU7XG5cbiAgLyoqXG4gICAqIFJvbGwgcnVsZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHJvbGwgZXZlcnlkYXkgYXQgbWlkbmlnaHRcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBydWxlPzogZXZlbnRzLlJ1bGU7XG59XG5cbi8qKlxuICogUm9sbCB5b3VyIEVDUyBzZXJ2aWNlIHRhc2tzIG9uIHNjaGVkdWxlIG9yIHdpdGggYSBydWxlXG4gKi9cbmV4cG9ydCBjbGFzcyBFY3NTZXJ2aWNlUm9sbGVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEVjc1NlcnZpY2VSb2xsZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBydWxlID0gcHJvcHMudHJpZ2dlcj8ucnVsZSA/PyBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ1J1bGUnLCB7XG4gICAgICBzY2hlZHVsZTogcHJvcHMudHJpZ2dlcj8uc2NoZWR1bGUgPz8gZXZlbnRzLlNjaGVkdWxlLmNyb24oe1xuICAgICAgICBtaW51dGU6ICcwJyxcbiAgICAgICAgaG91cjogJzAnLFxuICAgICAgfSksXG4gICAgfSk7XG5cblxuICAgIHJ1bGUuYWRkVGFyZ2V0KG5ldyB0YXJnZXRzLkF3c0FwaSh7XG4gICAgICBzZXJ2aWNlOiAnRUNTJyxcbiAgICAgIGFjdGlvbjogJ3VwZGF0ZVNlcnZpY2UnLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBzZXJ2aWNlOiBwcm9wcy5zZXJ2aWNlLnNlcnZpY2VOYW1lLFxuICAgICAgICBjbHVzdGVyOiBwcm9wcy5jbHVzdGVyLmNsdXN0ZXJOYW1lLFxuICAgICAgICBmb3JjZU5ld0RlcGxveW1lbnQ6IHRydWUsXG4gICAgICB9IGFzIEFXUy5FQ1MuVXBkYXRlU2VydmljZVJlcXVlc3QsXG4gICAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9lY3Mtc3VwcG9ydGVkLWlhbS1hY3Rpb25zLXJlc291cmNlcy5odG1sXG4gICAgICAvLyBhcm46YXdzOmVjczo8cmVnaW9uPjo8YWNjb3VudD46c2VydmljZS88Y2x1c3Rlci1uYW1lPi88c2VydmljZS1uYW1lPlxuICAgICAgcG9saWN5U3RhdGVtZW50OiBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFsnZWNzOlVwZGF0ZVNlcnZpY2UnXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgICAgICBzZXJ2aWNlOiAnZWNzJyxcbiAgICAgICAgICByZXNvdXJjZTogJ3NlcnZpY2UnLFxuICAgICAgICAgIHJlc291cmNlTmFtZTogYCR7cHJvcHMuY2x1c3Rlci5jbHVzdGVyTmFtZX0vJHtwcm9wcy5zZXJ2aWNlLnNlcnZpY2VOYW1lfWAsXG4gICAgICAgIH0pXSxcbiAgICAgIH0pLFxuICAgIH0pKTtcbiAgfVxufVxuIl19
@@ -2,55 +2,39 @@ import * as lambda from 'aws-cdk-lib/aws-lambda';
2
2
  import * as ses from 'aws-cdk-lib/aws-ses';
3
3
  import { Construct } from 'constructs';
4
4
  /**
5
- * Properties for an EmailReceiver.
6
- *
7
- * @stability stable
5
+ * Properties for an EmailReceiver
8
6
  */
9
7
  export interface EmailReceiverProps {
10
8
  /**
11
- * The SES receipt rule set where a receipt rule will be added.
12
- *
13
- * @stability stable
9
+ * The SES receipt rule set where a receipt rule will be added
14
10
  */
15
11
  readonly receiptRuleSet: ses.IReceiptRuleSet;
16
12
  /**
17
- * The recipients for which emails should be received.
18
- *
19
- * @stability stable
13
+ * The recipients for which emails should be received
20
14
  */
21
15
  readonly recipients: string[];
22
16
  /**
23
- * A Lambda function to invoke after the message is saved to S3.
24
- *
25
- * The Lambda
17
+ * A Lambda function to invoke after the message is saved to S3. The Lambda
26
18
  * function will be invoked with a SESMessage as event.
27
- *
28
- * @stability stable
29
19
  */
30
20
  readonly function: lambda.IFunction;
31
21
  /**
32
- * A regular expression to whitelist source email addresses.
22
+ * A regular expression to whitelist source email addresses
33
23
  *
34
24
  * @default - no whitelisting of source email addresses
35
- * @stability stable
36
25
  */
37
26
  readonly sourceWhitelist?: string;
38
27
  /**
39
28
  * An existing rule after which the new rule will be placed in the rule set.
40
29
  *
41
30
  * @default - The new rule is inserted at the beginning of the rule list.
42
- * @stability stable
43
31
  */
44
32
  readonly afterRule?: ses.IReceiptRule;
45
33
  }
46
34
  /**
47
- * Receive emails through SES, save them to S3 and invokes a Lambda function.
48
- *
49
- * @stability stable
35
+ * Receive emails through SES, save them to S3 and invokes a
36
+ * Lambda function
50
37
  */
51
38
  export declare class EmailReceiver extends Construct {
52
- /**
53
- * @stability stable
54
- */
55
39
  constructor(scope: Construct, id: string, props: EmailReceiverProps);
56
40
  }