@pwrdrvr/microapps-cdk 0.2.8 → 0.2.11

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 (40) hide show
  1. package/.gitattributes +18 -18
  2. package/.jsii +1264 -165
  3. package/API.md +511 -8
  4. package/README.md +29 -0
  5. package/changelog.md +2 -0
  6. package/lib/MicroApps.d.ts +126 -105
  7. package/lib/MicroApps.d.ts.map +1 -0
  8. package/lib/MicroApps.js +32 -30
  9. package/lib/MicroAppsAPIGwy.d.ts +28 -61
  10. package/lib/MicroAppsAPIGwy.d.ts.map +1 -0
  11. package/lib/MicroAppsAPIGwy.js +17 -25
  12. package/lib/MicroAppsCF.d.ts +85 -104
  13. package/lib/MicroAppsCF.d.ts.map +1 -0
  14. package/lib/MicroAppsCF.js +58 -41
  15. package/lib/MicroAppsEdgeToOrigin.d.ts +108 -0
  16. package/lib/MicroAppsEdgeToOrigin.d.ts.map +1 -0
  17. package/lib/MicroAppsEdgeToOrigin.js +139 -0
  18. package/lib/MicroAppsS3.d.ts +19 -69
  19. package/lib/MicroAppsS3.d.ts.map +1 -0
  20. package/lib/MicroAppsS3.js +5 -32
  21. package/lib/MicroAppsSvcs.d.ts +58 -86
  22. package/lib/MicroAppsSvcs.d.ts.map +1 -0
  23. package/lib/MicroAppsSvcs.js +36 -95
  24. package/lib/MicroAppsTable.d.ts +60 -0
  25. package/lib/MicroAppsTable.d.ts.map +1 -0
  26. package/lib/MicroAppsTable.js +42 -0
  27. package/lib/index.d.ts +3 -0
  28. package/lib/index.d.ts.map +1 -0
  29. package/lib/index.js +3 -1
  30. package/lib/microapps-deployer/index.js +174 -113
  31. package/lib/microapps-deployer/index.js.map +3 -3
  32. package/lib/microapps-router/index.js +54 -69
  33. package/lib/microapps-router/index.js.map +3 -3
  34. package/lib/microapps-router/templates/appFrame.html +0 -0
  35. package/lib/utils/ReverseDomain.d.ts +1 -0
  36. package/lib/utils/ReverseDomain.d.ts.map +1 -0
  37. package/package.json +29 -24
  38. package/releasetag.txt +1 -0
  39. package/version.txt +1 -0
  40. package/patches/@aws-cdk+aws-apigatewayv2-alpha+2.8.0-alpha.0.patch +0 -39
@@ -4,142 +4,92 @@ import * as cforigins from 'aws-cdk-lib/aws-cloudfront-origins';
4
4
  import * as s3 from 'aws-cdk-lib/aws-s3';
5
5
  import { Construct } from 'constructs';
6
6
  /**
7
- * (experimental) Represents a MicroApps S3.
8
- *
9
- * @experimental
7
+ * Represents a MicroApps S3
10
8
  */
11
9
  export interface IMicroAppsS3 {
12
10
  /**
13
- * (experimental) S3 bucket for deployed applications.
14
- *
15
- * @experimental
11
+ * S3 bucket for deployed applications
16
12
  */
17
13
  readonly bucketApps: s3.IBucket;
18
14
  /**
19
- * (experimental) CloudFront Origin Access Identity for the deployed applications bucket.
20
- *
21
- * @experimental
15
+ * CloudFront Origin Access Identity for the deployed applications bucket
22
16
  */
23
17
  readonly bucketAppsOAI: cf.OriginAccessIdentity;
24
18
  /**
25
- * (experimental) CloudFront Origin for the deployed applications bucket.
26
- *
27
- * @experimental
19
+ * CloudFront Origin for the deployed applications bucket
28
20
  */
29
21
  readonly bucketAppsOrigin: cforigins.S3Origin;
30
22
  /**
31
- * (experimental) S3 bucket for staged applications (prior to deploy).
32
- *
33
- * @experimental
23
+ * S3 bucket for staged applications (prior to deploy)
34
24
  */
35
25
  readonly bucketAppsStaging: s3.IBucket;
36
26
  /**
37
- * (experimental) S3 bucket for CloudFront logs.
38
- *
39
- * @experimental
27
+ * S3 bucket for CloudFront logs
40
28
  */
41
29
  readonly bucketLogs: s3.IBucket;
42
30
  }
43
31
  /**
44
- * (experimental) Properties to initialize an instance of `MicroAppsS3`.
45
- *
46
- * @experimental
32
+ * Properties to initialize an instance of `MicroAppsS3`.
47
33
  */
48
34
  export interface MicroAppsS3Props {
49
35
  /**
50
- * (experimental) RemovalPolicy override for child resources.
36
+ * RemovalPolicy override for child resources
51
37
  *
52
38
  * Note: if set to DESTROY the S3 buckets will have `autoDeleteObjects` set to `true`
53
39
  *
54
40
  * @default - per resource default
55
- * @experimental
56
41
  */
57
42
  readonly removalPolicy?: RemovalPolicy;
58
43
  /**
59
- * (experimental) S3 deployed apps bucket name.
44
+ * S3 deployed apps bucket name
60
45
  *
61
46
  * @default auto-assigned
62
- * @experimental
63
47
  */
64
48
  readonly bucketAppsName?: string;
65
49
  /**
66
- * (experimental) S3 staging apps bucket name.
50
+ * S3 staging apps bucket name
67
51
  *
68
52
  * @default auto-assigned
69
- * @experimental
70
53
  */
71
54
  readonly bucketAppsStagingName?: string;
72
55
  /**
73
- * (experimental) S3 logs bucket name.
56
+ * S3 logs bucket name
74
57
  *
75
58
  * @default auto-assigned
76
- * @experimental
77
59
  */
78
60
  readonly bucketLogsName?: string;
79
61
  /**
80
- * (experimental) Optional asset name root.
62
+ * Optional asset name root
81
63
  *
64
+ * @example microapps
82
65
  * @default - resource names auto assigned
83
- * @experimental
84
- * @example
85
- *
86
- * microapps
87
66
  */
88
67
  readonly assetNameRoot?: string;
89
68
  /**
90
- * (experimental) Optional asset name suffix.
69
+ * Optional asset name suffix
91
70
  *
71
+ * @example -dev-pr-12
92
72
  * @default none
93
- * @experimental
94
- * @example
95
- *
96
- * -dev-pr-12
97
73
  */
98
74
  readonly assetNameSuffix?: string;
99
75
  }
100
76
  /**
101
- * (experimental) Create a new MicroApps S3 Bucket.
77
+ * Create the durable MicroApps S3 Buckets
102
78
  *
103
- * @experimental
79
+ * These should be created in a stack that will not be deleted if
80
+ * there are breaking changes to MicroApps in the future.
104
81
  */
105
82
  export declare class MicroAppsS3 extends Construct implements IMicroAppsS3 {
106
83
  private _bucketApps;
107
- /**
108
- * (experimental) S3 bucket for deployed applications.
109
- *
110
- * @experimental
111
- */
112
84
  get bucketApps(): s3.IBucket;
113
85
  private _bucketAppsOAI;
114
- /**
115
- * (experimental) CloudFront Origin Access Identity for the deployed applications bucket.
116
- *
117
- * @experimental
118
- */
119
86
  get bucketAppsOAI(): cf.OriginAccessIdentity;
120
87
  private _bucketAppsOrigin;
121
- /**
122
- * (experimental) CloudFront Origin for the deployed applications bucket.
123
- *
124
- * @experimental
125
- */
126
88
  get bucketAppsOrigin(): cforigins.S3Origin;
127
89
  private _bucketAppsStaging;
128
- /**
129
- * (experimental) S3 bucket for staged applications (prior to deploy).
130
- *
131
- * @experimental
132
- */
133
90
  get bucketAppsStaging(): s3.IBucket;
134
91
  private _bucketLogs;
135
- /**
136
- * (experimental) S3 bucket for CloudFront logs.
137
- *
138
- * @experimental
139
- */
140
92
  get bucketLogs(): s3.IBucket;
141
- /**
142
- * @experimental
143
- */
144
93
  constructor(scope: Construct, id: string, props?: MicroAppsS3Props);
145
94
  }
95
+ //# sourceMappingURL=MicroAppsS3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MicroAppsS3.d.ts","sourceRoot":"","sources":["../src/MicroAppsS3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACjD,OAAO,KAAK,SAAS,MAAM,oCAAoC,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,oBAAoB,CAAC;IAEhD;;OAEG;IACH,QAAQ,CAAC,gBAAgB,EAAE,SAAS,CAAC,QAAQ,CAAC;IAE9C;;OAEG;IACH,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC,OAAO,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IAEvC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAExC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,SAAU,YAAW,YAAY;IAChE,OAAO,CAAC,WAAW,CAAa;IAChC,IAAW,UAAU,IAAI,EAAE,CAAC,OAAO,CAElC;IAED,OAAO,CAAC,cAAc,CAA0B;IAChD,IAAW,aAAa,IAAI,EAAE,CAAC,oBAAoB,CAElD;IAED,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,IAAW,gBAAgB,IAAI,SAAS,CAAC,QAAQ,CAEhD;IAED,OAAO,CAAC,kBAAkB,CAAa;IACvC,IAAW,iBAAiB,IAAI,EAAE,CAAC,OAAO,CAEzC;IAED,OAAO,CAAC,WAAW,CAAa;IAChC,IAAW,UAAU,IAAI,EAAE,CAAC,OAAO,CAElC;gBAEW,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,gBAAgB;CAgDnE"}
@@ -9,14 +9,12 @@ const cforigins = require("aws-cdk-lib/aws-cloudfront-origins");
9
9
  const s3 = require("aws-cdk-lib/aws-s3");
10
10
  const constructs_1 = require("constructs");
11
11
  /**
12
- * (experimental) Create a new MicroApps S3 Bucket.
12
+ * Create the durable MicroApps S3 Buckets
13
13
  *
14
- * @experimental
14
+ * These should be created in a stack that will not be deleted if
15
+ * there are breaking changes to MicroApps in the future.
15
16
  */
16
17
  class MicroAppsS3 extends constructs_1.Construct {
17
- /**
18
- * @experimental
19
- */
20
18
  constructor(scope, id, props) {
21
19
  super(scope, id);
22
20
  if (props === undefined) {
@@ -58,48 +56,23 @@ class MicroAppsS3 extends constructs_1.Construct {
58
56
  originAccessIdentity: this.bucketAppsOAI,
59
57
  });
60
58
  }
61
- /**
62
- * (experimental) S3 bucket for deployed applications.
63
- *
64
- * @experimental
65
- */
66
59
  get bucketApps() {
67
60
  return this._bucketApps;
68
61
  }
69
- /**
70
- * (experimental) CloudFront Origin Access Identity for the deployed applications bucket.
71
- *
72
- * @experimental
73
- */
74
62
  get bucketAppsOAI() {
75
63
  return this._bucketAppsOAI;
76
64
  }
77
- /**
78
- * (experimental) CloudFront Origin for the deployed applications bucket.
79
- *
80
- * @experimental
81
- */
82
65
  get bucketAppsOrigin() {
83
66
  return this._bucketAppsOrigin;
84
67
  }
85
- /**
86
- * (experimental) S3 bucket for staged applications (prior to deploy).
87
- *
88
- * @experimental
89
- */
90
68
  get bucketAppsStaging() {
91
69
  return this._bucketAppsStaging;
92
70
  }
93
- /**
94
- * (experimental) S3 bucket for CloudFront logs.
95
- *
96
- * @experimental
97
- */
98
71
  get bucketLogs() {
99
72
  return this._bucketLogs;
100
73
  }
101
74
  }
102
75
  exports.MicroAppsS3 = MicroAppsS3;
103
76
  _a = JSII_RTTI_SYMBOL_1;
104
- MicroAppsS3[_a] = { fqn: "@pwrdrvr/microapps-cdk.MicroAppsS3", version: "0.2.8" };
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9BcHBzUzMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvTWljcm9BcHBzUzMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBNEM7QUFDNUMsaURBQWlEO0FBQ2pELGdFQUFnRTtBQUNoRSx5Q0FBeUM7QUFDekMsMkNBQXVDOzs7Ozs7QUEwQ3ZDLE1BQWEsV0FBWSxTQUFRLHNCQUFTOzs7O0lBMEJ4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQ2hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUN0QztRQUVELE1BQU0sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUVoRSx3REFBd0Q7UUFDeEQsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLEtBQUssMkJBQWEsQ0FBQyxPQUFPLENBQUM7UUFFbEUsRUFBRTtRQUNGLGdEQUFnRDtRQUNoRCxFQUFFO1FBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUM3QyxVQUFVLEVBQUUsS0FBSyxDQUFDLGNBQWM7WUFDaEMsaUJBQWlCLEVBQUUsaUJBQWlCO1lBQ3BDLGFBQWE7U0FDZCxDQUFDLENBQUM7UUFFSCxFQUFFO1FBQ0Ysc0JBQXNCO1FBQ3RCLEVBQUU7UUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQzdDLFVBQVUsRUFBRSxLQUFLLENBQUMsY0FBYztZQUNoQyxpQkFBaUIsRUFBRSxpQkFBaUI7WUFDcEMsYUFBYTtTQUNkLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUN2RCxVQUFVLEVBQUUsS0FBSyxDQUFDLHFCQUFxQjtZQUN2QyxpQkFBaUIsRUFBRSxpQkFBaUI7WUFDcEMsYUFBYTtTQUNkLENBQUMsQ0FBQztRQUVILDRCQUE0QjtRQUM1QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksRUFBRSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDN0QsT0FBTyxFQUFFLGFBQWEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxHQUFHLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ3hGLENBQUMsQ0FBQztRQUNILElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRTtZQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoRSxvQkFBb0IsRUFBRSxJQUFJLENBQUMsYUFBYTtTQUN6QyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7Ozs7SUF2RUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDOzs7Ozs7SUFHRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7Ozs7OztJQUdELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7Ozs7OztJQUdELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7Ozs7OztJQUdELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQzs7QUF4Qkgsa0NBMEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGNmIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250JztcbmltcG9ydCAqIGFzIGNmb3JpZ2lucyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udC1vcmlnaW5zJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIElNaWNyb0FwcHNTMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGJ1Y2tldEFwcHM6IHMzLklCdWNrZXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBidWNrZXRBcHBzT0FJOiBjZi5PcmlnaW5BY2Nlc3NJZGVudGl0eTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYnVja2V0QXBwc09yaWdpbjogY2ZvcmlnaW5zLlMzT3JpZ2luO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBidWNrZXRBcHBzU3RhZ2luZzogczMuSUJ1Y2tldDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBidWNrZXRMb2dzOiBzMy5JQnVja2V0O1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBNaWNyb0FwcHNTM1Byb3BzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHJlbW92YWxQb2xpY3k/OiBSZW1vdmFsUG9saWN5O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYnVja2V0QXBwc05hbWU/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGJ1Y2tldEFwcHNTdGFnaW5nTmFtZT86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGJ1Y2tldExvZ3NOYW1lPzogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGFzc2V0TmFtZVJvb3Q/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGFzc2V0TmFtZVN1ZmZpeD86IHN0cmluZztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBNaWNyb0FwcHNTMyBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElNaWNyb0FwcHNTMyB7XG4gIHByaXZhdGUgX2J1Y2tldEFwcHM6IHMzLklCdWNrZXQ7XG4gIHB1YmxpYyBnZXQgYnVja2V0QXBwcygpOiBzMy5JQnVja2V0IHtcbiAgICByZXR1cm4gdGhpcy5fYnVja2V0QXBwcztcbiAgfVxuXG4gIHByaXZhdGUgX2J1Y2tldEFwcHNPQUk6IGNmLk9yaWdpbkFjY2Vzc0lkZW50aXR5O1xuICBwdWJsaWMgZ2V0IGJ1Y2tldEFwcHNPQUkoKTogY2YuT3JpZ2luQWNjZXNzSWRlbnRpdHkge1xuICAgIHJldHVybiB0aGlzLl9idWNrZXRBcHBzT0FJO1xuICB9XG5cbiAgcHJpdmF0ZSBfYnVja2V0QXBwc09yaWdpbjogY2ZvcmlnaW5zLlMzT3JpZ2luO1xuICBwdWJsaWMgZ2V0IGJ1Y2tldEFwcHNPcmlnaW4oKTogY2ZvcmlnaW5zLlMzT3JpZ2luIHtcbiAgICByZXR1cm4gdGhpcy5fYnVja2V0QXBwc09yaWdpbjtcbiAgfVxuXG4gIHByaXZhdGUgX2J1Y2tldEFwcHNTdGFnaW5nOiBzMy5JQnVja2V0O1xuICBwdWJsaWMgZ2V0IGJ1Y2tldEFwcHNTdGFnaW5nKCk6IHMzLklCdWNrZXQge1xuICAgIHJldHVybiB0aGlzLl9idWNrZXRBcHBzU3RhZ2luZztcbiAgfVxuXG4gIHByaXZhdGUgX2J1Y2tldExvZ3M6IHMzLklCdWNrZXQ7XG4gIHB1YmxpYyBnZXQgYnVja2V0TG9ncygpOiBzMy5JQnVja2V0IHtcbiAgICByZXR1cm4gdGhpcy5fYnVja2V0TG9ncztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogTWljcm9BcHBzUzNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAocHJvcHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdwcm9wcyBtdXN0IGJlIHNldCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHsgcmVtb3ZhbFBvbGljeSwgYXNzZXROYW1lUm9vdCwgYXNzZXROYW1lU3VmZml4IH0gPSBwcm9wcztcblxuICAgIC8vIFVzZSBBdXRvLURlbGV0ZSBTM0J1Y2tldCBpZiByZW1vdmFsIHBvbGljeSBpcyBERVNUUk9ZXG4gICAgY29uc3QgczNBdXRvRGVsZXRlSXRlbXMgPSByZW1vdmFsUG9saWN5ID09PSBSZW1vdmFsUG9saWN5LkRFU1RST1k7XG5cbiAgICAvL1xuICAgIC8vIFMzIEJ1Y2tldCBmb3IgTG9nZ2luZyAtIFVzYWJsZSBieSBtYW55IHN0YWNrc1xuICAgIC8vXG4gICAgdGhpcy5fYnVja2V0TG9ncyA9IG5ldyBzMy5CdWNrZXQodGhpcywgJ2xvZ3MnLCB7XG4gICAgICBidWNrZXROYW1lOiBwcm9wcy5idWNrZXRMb2dzTmFtZSxcbiAgICAgIGF1dG9EZWxldGVPYmplY3RzOiBzM0F1dG9EZWxldGVJdGVtcyxcbiAgICAgIHJlbW92YWxQb2xpY3ksXG4gICAgfSk7XG5cbiAgICAvL1xuICAgIC8vIFMzIEJ1Y2tldHMgZm9yIEFwcHNcbiAgICAvL1xuICAgIHRoaXMuX2J1Y2tldEFwcHMgPSBuZXcgczMuQnVja2V0KHRoaXMsICdhcHBzJywge1xuICAgICAgYnVja2V0TmFtZTogcHJvcHMuYnVja2V0QXBwc05hbWUsXG4gICAgICBhdXRvRGVsZXRlT2JqZWN0czogczNBdXRvRGVsZXRlSXRlbXMsXG4gICAgICByZW1vdmFsUG9saWN5LFxuICAgIH0pO1xuICAgIHRoaXMuX2J1Y2tldEFwcHNTdGFnaW5nID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCAnc3RhZ2luZycsIHtcbiAgICAgIGJ1Y2tldE5hbWU6IHByb3BzLmJ1Y2tldEFwcHNTdGFnaW5nTmFtZSxcbiAgICAgIGF1dG9EZWxldGVPYmplY3RzOiBzM0F1dG9EZWxldGVJdGVtcyxcbiAgICAgIHJlbW92YWxQb2xpY3ksXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgUzMgT3JpZ2luIElkZW50aXR5XG4gICAgdGhpcy5fYnVja2V0QXBwc09BSSA9IG5ldyBjZi5PcmlnaW5BY2Nlc3NJZGVudGl0eSh0aGlzLCAnb2FpJywge1xuICAgICAgY29tbWVudDogYXNzZXROYW1lUm9vdCAhPT0gdW5kZWZpbmVkID8gYCR7YXNzZXROYW1lUm9vdH0ke2Fzc2V0TmFtZVN1ZmZpeH1gIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuICAgIGlmIChyZW1vdmFsUG9saWN5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2J1Y2tldEFwcHNPQUkuYXBwbHlSZW1vdmFsUG9saWN5KHJlbW92YWxQb2xpY3kpO1xuICAgIH1cblxuICAgIC8vIEFkZCBPcmlnaW4gZm9yIENsb3VkRnJvbnRcbiAgICB0aGlzLl9idWNrZXRBcHBzT3JpZ2luID0gbmV3IGNmb3JpZ2lucy5TM09yaWdpbih0aGlzLl9idWNrZXRBcHBzLCB7XG4gICAgICBvcmlnaW5BY2Nlc3NJZGVudGl0eTogdGhpcy5idWNrZXRBcHBzT0FJLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
77
+ MicroAppsS3[_a] = { fqn: "@pwrdrvr/microapps-cdk.MicroAppsS3", version: "0.2.11" };
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9BcHBzUzMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvTWljcm9BcHBzUzMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBNEM7QUFDNUMsaURBQWlEO0FBQ2pELGdFQUFnRTtBQUNoRSx5Q0FBeUM7QUFDekMsMkNBQXVDO0FBbUZ2Qzs7Ozs7R0FLRztBQUNILE1BQWEsV0FBWSxTQUFRLHNCQUFTO0lBMEJ4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQ2hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUN0QztRQUVELE1BQU0sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUVoRSx3REFBd0Q7UUFDeEQsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLEtBQUssMkJBQWEsQ0FBQyxPQUFPLENBQUM7UUFFbEUsRUFBRTtRQUNGLGdEQUFnRDtRQUNoRCxFQUFFO1FBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUM3QyxVQUFVLEVBQUUsS0FBSyxDQUFDLGNBQWM7WUFDaEMsaUJBQWlCLEVBQUUsaUJBQWlCO1lBQ3BDLGFBQWE7U0FDZCxDQUFDLENBQUM7UUFFSCxFQUFFO1FBQ0Ysc0JBQXNCO1FBQ3RCLEVBQUU7UUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQzdDLFVBQVUsRUFBRSxLQUFLLENBQUMsY0FBYztZQUNoQyxpQkFBaUIsRUFBRSxpQkFBaUI7WUFDcEMsYUFBYTtTQUNkLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUN2RCxVQUFVLEVBQUUsS0FBSyxDQUFDLHFCQUFxQjtZQUN2QyxpQkFBaUIsRUFBRSxpQkFBaUI7WUFDcEMsYUFBYTtTQUNkLENBQUMsQ0FBQztRQUVILDRCQUE0QjtRQUM1QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksRUFBRSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDN0QsT0FBTyxFQUFFLGFBQWEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxHQUFHLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ3hGLENBQUMsQ0FBQztRQUNILElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRTtZQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoRSxvQkFBb0IsRUFBRSxJQUFJLENBQUMsYUFBYTtTQUN6QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBdkVELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUdELElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUdELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFHRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBR0QsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDOztBQXhCSCxrQ0EwRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW1vdmFsUG9saWN5IH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY2YgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQnO1xuaW1wb3J0ICogYXMgY2ZvcmlnaW5zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250LW9yaWdpbnMnO1xuaW1wb3J0ICogYXMgczMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBNaWNyb0FwcHMgUzNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTWljcm9BcHBzUzMge1xuICAvKipcbiAgICogUzMgYnVja2V0IGZvciBkZXBsb3llZCBhcHBsaWNhdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldEFwcHM6IHMzLklCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIENsb3VkRnJvbnQgT3JpZ2luIEFjY2VzcyBJZGVudGl0eSBmb3IgdGhlIGRlcGxveWVkIGFwcGxpY2F0aW9ucyBidWNrZXRcbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldEFwcHNPQUk6IGNmLk9yaWdpbkFjY2Vzc0lkZW50aXR5O1xuXG4gIC8qKlxuICAgKiBDbG91ZEZyb250IE9yaWdpbiBmb3IgdGhlIGRlcGxveWVkIGFwcGxpY2F0aW9ucyBidWNrZXRcbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldEFwcHNPcmlnaW46IGNmb3JpZ2lucy5TM09yaWdpbjtcblxuICAvKipcbiAgICogUzMgYnVja2V0IGZvciBzdGFnZWQgYXBwbGljYXRpb25zIChwcmlvciB0byBkZXBsb3kpXG4gICAqL1xuICByZWFkb25seSBidWNrZXRBcHBzU3RhZ2luZzogczMuSUJ1Y2tldDtcblxuICAvKipcbiAgICogUzMgYnVja2V0IGZvciBDbG91ZEZyb250IGxvZ3NcbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldExvZ3M6IHMzLklCdWNrZXQ7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyB0byBpbml0aWFsaXplIGFuIGluc3RhbmNlIG9mIGBNaWNyb0FwcHNTM2AuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWljcm9BcHBzUzNQcm9wcyB7XG4gIC8qKlxuICAgKiBSZW1vdmFsUG9saWN5IG92ZXJyaWRlIGZvciBjaGlsZCByZXNvdXJjZXNcbiAgICpcbiAgICogTm90ZTogaWYgc2V0IHRvIERFU1RST1kgdGhlIFMzIGJ1Y2tldHMgd2lsbCBoYXZlIGBhdXRvRGVsZXRlT2JqZWN0c2Agc2V0IHRvIGB0cnVlYFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHBlciByZXNvdXJjZSBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcblxuICAvKipcbiAgICogUzMgZGVwbG95ZWQgYXBwcyBidWNrZXQgbmFtZVxuICAgKlxuICAgKiBAZGVmYXVsdCBhdXRvLWFzc2lnbmVkXG4gICAqL1xuICByZWFkb25seSBidWNrZXRBcHBzTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogUzMgc3RhZ2luZyBhcHBzIGJ1Y2tldCBuYW1lXG4gICAqXG4gICAqIEBkZWZhdWx0IGF1dG8tYXNzaWduZWRcbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldEFwcHNTdGFnaW5nTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogUzMgbG9ncyBidWNrZXQgbmFtZVxuICAgKlxuICAgKiBAZGVmYXVsdCBhdXRvLWFzc2lnbmVkXG4gICAqL1xuICByZWFkb25seSBidWNrZXRMb2dzTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgYXNzZXQgbmFtZSByb290XG4gICAqXG4gICAqIEBleGFtcGxlIG1pY3JvYXBwc1xuICAgKiBAZGVmYXVsdCAtIHJlc291cmNlIG5hbWVzIGF1dG8gYXNzaWduZWRcbiAgICovXG4gIHJlYWRvbmx5IGFzc2V0TmFtZVJvb3Q/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGFzc2V0IG5hbWUgc3VmZml4XG4gICAqXG4gICAqIEBleGFtcGxlIC1kZXYtcHItMTJcbiAgICogQGRlZmF1bHQgbm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgYXNzZXROYW1lU3VmZml4Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENyZWF0ZSB0aGUgZHVyYWJsZSBNaWNyb0FwcHMgUzMgQnVja2V0c1xuICpcbiAqIFRoZXNlIHNob3VsZCBiZSBjcmVhdGVkIGluIGEgc3RhY2sgdGhhdCB3aWxsIG5vdCBiZSBkZWxldGVkIGlmXG4gKiB0aGVyZSBhcmUgYnJlYWtpbmcgY2hhbmdlcyB0byBNaWNyb0FwcHMgaW4gdGhlIGZ1dHVyZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE1pY3JvQXBwc1MzIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSU1pY3JvQXBwc1MzIHtcbiAgcHJpdmF0ZSBfYnVja2V0QXBwczogczMuSUJ1Y2tldDtcbiAgcHVibGljIGdldCBidWNrZXRBcHBzKCk6IHMzLklCdWNrZXQge1xuICAgIHJldHVybiB0aGlzLl9idWNrZXRBcHBzO1xuICB9XG5cbiAgcHJpdmF0ZSBfYnVja2V0QXBwc09BSTogY2YuT3JpZ2luQWNjZXNzSWRlbnRpdHk7XG4gIHB1YmxpYyBnZXQgYnVja2V0QXBwc09BSSgpOiBjZi5PcmlnaW5BY2Nlc3NJZGVudGl0eSB7XG4gICAgcmV0dXJuIHRoaXMuX2J1Y2tldEFwcHNPQUk7XG4gIH1cblxuICBwcml2YXRlIF9idWNrZXRBcHBzT3JpZ2luOiBjZm9yaWdpbnMuUzNPcmlnaW47XG4gIHB1YmxpYyBnZXQgYnVja2V0QXBwc09yaWdpbigpOiBjZm9yaWdpbnMuUzNPcmlnaW4ge1xuICAgIHJldHVybiB0aGlzLl9idWNrZXRBcHBzT3JpZ2luO1xuICB9XG5cbiAgcHJpdmF0ZSBfYnVja2V0QXBwc1N0YWdpbmc6IHMzLklCdWNrZXQ7XG4gIHB1YmxpYyBnZXQgYnVja2V0QXBwc1N0YWdpbmcoKTogczMuSUJ1Y2tldCB7XG4gICAgcmV0dXJuIHRoaXMuX2J1Y2tldEFwcHNTdGFnaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBfYnVja2V0TG9nczogczMuSUJ1Y2tldDtcbiAgcHVibGljIGdldCBidWNrZXRMb2dzKCk6IHMzLklCdWNrZXQge1xuICAgIHJldHVybiB0aGlzLl9idWNrZXRMb2dzO1xuICB9XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBNaWNyb0FwcHNTM1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGlmIChwcm9wcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Byb3BzIG11c3QgYmUgc2V0Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgeyByZW1vdmFsUG9saWN5LCBhc3NldE5hbWVSb290LCBhc3NldE5hbWVTdWZmaXggfSA9IHByb3BzO1xuXG4gICAgLy8gVXNlIEF1dG8tRGVsZXRlIFMzQnVja2V0IGlmIHJlbW92YWwgcG9saWN5IGlzIERFU1RST1lcbiAgICBjb25zdCBzM0F1dG9EZWxldGVJdGVtcyA9IHJlbW92YWxQb2xpY3kgPT09IFJlbW92YWxQb2xpY3kuREVTVFJPWTtcblxuICAgIC8vXG4gICAgLy8gUzMgQnVja2V0IGZvciBMb2dnaW5nIC0gVXNhYmxlIGJ5IG1hbnkgc3RhY2tzXG4gICAgLy9cbiAgICB0aGlzLl9idWNrZXRMb2dzID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCAnbG9ncycsIHtcbiAgICAgIGJ1Y2tldE5hbWU6IHByb3BzLmJ1Y2tldExvZ3NOYW1lLFxuICAgICAgYXV0b0RlbGV0ZU9iamVjdHM6IHMzQXV0b0RlbGV0ZUl0ZW1zLFxuICAgICAgcmVtb3ZhbFBvbGljeSxcbiAgICB9KTtcblxuICAgIC8vXG4gICAgLy8gUzMgQnVja2V0cyBmb3IgQXBwc1xuICAgIC8vXG4gICAgdGhpcy5fYnVja2V0QXBwcyA9IG5ldyBzMy5CdWNrZXQodGhpcywgJ2FwcHMnLCB7XG4gICAgICBidWNrZXROYW1lOiBwcm9wcy5idWNrZXRBcHBzTmFtZSxcbiAgICAgIGF1dG9EZWxldGVPYmplY3RzOiBzM0F1dG9EZWxldGVJdGVtcyxcbiAgICAgIHJlbW92YWxQb2xpY3ksXG4gICAgfSk7XG4gICAgdGhpcy5fYnVja2V0QXBwc1N0YWdpbmcgPSBuZXcgczMuQnVja2V0KHRoaXMsICdzdGFnaW5nJywge1xuICAgICAgYnVja2V0TmFtZTogcHJvcHMuYnVja2V0QXBwc1N0YWdpbmdOYW1lLFxuICAgICAgYXV0b0RlbGV0ZU9iamVjdHM6IHMzQXV0b0RlbGV0ZUl0ZW1zLFxuICAgICAgcmVtb3ZhbFBvbGljeSxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBTMyBPcmlnaW4gSWRlbnRpdHlcbiAgICB0aGlzLl9idWNrZXRBcHBzT0FJID0gbmV3IGNmLk9yaWdpbkFjY2Vzc0lkZW50aXR5KHRoaXMsICdvYWknLCB7XG4gICAgICBjb21tZW50OiBhc3NldE5hbWVSb290ICE9PSB1bmRlZmluZWQgPyBgJHthc3NldE5hbWVSb290fSR7YXNzZXROYW1lU3VmZml4fWAgOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gICAgaWYgKHJlbW92YWxQb2xpY3kgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fYnVja2V0QXBwc09BSS5hcHBseVJlbW92YWxQb2xpY3kocmVtb3ZhbFBvbGljeSk7XG4gICAgfVxuXG4gICAgLy8gQWRkIE9yaWdpbiBmb3IgQ2xvdWRGcm9udFxuICAgIHRoaXMuX2J1Y2tldEFwcHNPcmlnaW4gPSBuZXcgY2ZvcmlnaW5zLlMzT3JpZ2luKHRoaXMuX2J1Y2tldEFwcHMsIHtcbiAgICAgIG9yaWdpbkFjY2Vzc0lkZW50aXR5OiB0aGlzLmJ1Y2tldEFwcHNPQUksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -6,82 +6,65 @@ import * as lambda from 'aws-cdk-lib/aws-lambda';
6
6
  import * as s3 from 'aws-cdk-lib/aws-s3';
7
7
  import { Construct } from 'constructs';
8
8
  /**
9
- * (experimental) Properties to initialize an instance of `MicroAppsSvcs`.
10
- *
11
- * @experimental
9
+ * Properties to initialize an instance of `MicroAppsSvcs`.
12
10
  */
13
11
  export interface MicroAppsSvcsProps {
14
12
  /**
15
- * (experimental) RemovalPolicy override for child resources.
13
+ * RemovalPolicy override for child resources
16
14
  *
17
15
  * Note: if set to DESTROY the S3 buckes will have `autoDeleteObjects` set to `true`
18
16
  *
19
17
  * @default - per resource default
20
- * @experimental
21
18
  */
22
19
  readonly removalPolicy?: RemovalPolicy;
23
20
  /**
24
- * (experimental) S3 bucket for deployed applications.
25
- *
26
- * @experimental
21
+ * S3 bucket for deployed applications
27
22
  */
28
23
  readonly bucketApps: s3.IBucket;
29
24
  /**
30
- * (experimental) CloudFront Origin Access Identity for the deployed applications bucket.
31
- *
32
- * @experimental
25
+ * CloudFront Origin Access Identity for the deployed applications bucket
33
26
  */
34
27
  readonly bucketAppsOAI: cf.OriginAccessIdentity;
35
28
  /**
36
- * (experimental) S3 bucket for staged applications (prior to deploy).
37
- *
38
- * @experimental
29
+ * S3 bucket for staged applications (prior to deploy)
39
30
  */
40
31
  readonly bucketAppsStaging: s3.IBucket;
41
32
  /**
42
- * (experimental) API Gateway v2 HTTP for Router and app.
43
- *
44
- * @experimental
33
+ * API Gateway v2 HTTP for Router and app
45
34
  */
46
35
  readonly httpApi: apigwy.HttpApi;
47
36
  /**
48
- * (experimental) Application environment, passed as `NODE_ENV` to the Router and Deployer Lambda functions.
49
- *
50
- * @experimental
37
+ * Application environment, passed as `NODE_ENV`
38
+ * to the Router and Deployer Lambda functions
51
39
  */
52
40
  readonly appEnv: string;
53
41
  /**
54
- * (experimental) Optional asset name root.
42
+ * Optional asset name root
55
43
  *
44
+ * @example microapps
56
45
  * @default - resource names auto assigned
57
- * @experimental
58
- * @example
59
- *
60
- * microapps
61
46
  */
62
47
  readonly assetNameRoot?: string;
63
48
  /**
64
- * (experimental) Optional asset name suffix.
49
+ * Optional asset name suffix
65
50
  *
51
+ * @example -dev-pr-12
66
52
  * @default none
67
- * @experimental
68
- * @example
69
- *
70
- * -dev-pr-12
71
53
  */
72
54
  readonly assetNameSuffix?: string;
73
55
  /**
74
- * (experimental) Use a strict S3 Bucket Policy that prevents applications from reading/writing/modifying/deleting files in the S3 Bucket outside of the path that is specific to their app/version.
56
+ * Use a strict S3 Bucket Policy that prevents applications
57
+ * from reading/writing/modifying/deleting files in the S3 Bucket
58
+ * outside of the path that is specific to their app/version.
75
59
  *
76
60
  * This setting should be used when applications are less than
77
61
  * fully trusted.
78
62
  *
79
63
  * @default false
80
- * @experimental
81
64
  */
82
65
  readonly s3StrictBucketPolicy?: boolean;
83
66
  /**
84
- * (experimental) Applies when using s3StrictBucketPolicy = true.
67
+ * Applies when using s3StrictBucketPolicy = true
85
68
  *
86
69
  * IAM Role or IAM User names to exclude from the DENY rules on the S3 Bucket Policy.
87
70
  *
@@ -90,15 +73,13 @@ export interface MicroAppsSvcsProps {
90
73
  * Typically any admin roles / users that need to view or manage the S3 Bucket
91
74
  * would be added to this list.
92
75
  *
93
- * @see s3PolicyBypassAROAs
94
- * @experimental
95
- * @example
76
+ * @example ['arn:aws:iam::1234567890123:role/AdminAccess', 'arn:aws:iam::1234567890123:user/MyAdminUser']
96
77
  *
97
- * ['arn:aws:iam::1234567890123:role/AdminAccess', 'arn:aws:iam::1234567890123:user/MyAdminUser']
78
+ * @see s3PolicyBypassAROAs
98
79
  */
99
80
  readonly s3PolicyBypassPrincipalARNs?: string[];
100
81
  /**
101
- * (experimental) Applies when using s3StrictBucketPolicy = true.
82
+ * Applies when using s3StrictBucketPolicy = true
102
83
  *
103
84
  * AROAs of the IAM Role to exclude from the DENY rules on the S3 Bucket Policy.
104
85
  * This allows sessions that assume the IAM Role to be excluded from the
@@ -117,95 +98,86 @@ export interface MicroAppsSvcsProps {
117
98
  * wildcard matches and does not do wildcard matches implicitly either.
118
99
  *
119
100
  * The AROA must be used because there are only 3 Principal variables available:
120
- * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#principaltable
121
- * aws:username, aws:userid, aws:PrincipalTag
101
+ * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#principaltable
102
+ * aws:username, aws:userid, aws:PrincipalTag
122
103
  *
123
104
  * For an assumed role, aws:username is blank, aws:userid is:
124
- * [unique id AKA AROA for Role]:[session name]
105
+ * [unique id AKA AROA for Role]:[session name]
125
106
  *
126
107
  * Table of unique ID prefixes such as AROA:
127
- * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-prefixes
108
+ * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-prefixes
128
109
  *
129
110
  * The name of the role is simply not available for an assumed role and, if it was,
130
111
  * a complicated comparison would be requierd to prevent exclusion
131
112
  * of applying the Deny Rule to roles from other accounts.
132
113
  *
133
114
  * To get the AROA with the AWS CLI:
134
- * aws iam get-role --role-name ROLE-NAME
135
- * aws iam get-user -–user-name USER-NAME
115
+ * aws iam get-role --role-name ROLE-NAME
116
+ * aws iam get-user -–user-name USER-NAME
136
117
  *
137
- * @see s3StrictBucketPolicy
138
- * @experimental
139
- * @example
118
+ * @example [ 'AROA1234567890123' ]
140
119
  *
141
- * [ 'AROA1234567890123' ]
120
+ * @see s3StrictBucketPolicy
142
121
  */
143
122
  readonly s3PolicyBypassAROAs?: string[];
144
123
  /**
145
- * (experimental) Path prefix on the root of the deployment.
124
+ * Path prefix on the root of the deployment
146
125
  *
126
+ * @example dev/
147
127
  * @default none
148
- * @experimental
149
- * @example
150
- *
151
- * dev/
152
128
  */
153
129
  readonly rootPathPrefix?: string;
130
+ /**
131
+ * Require IAM auth on API Gateway
132
+ *
133
+ * @default true
134
+ */
135
+ readonly requireIAMAuthorization?: boolean;
136
+ /**
137
+ * Existing table for apps/versions/rules
138
+ *
139
+ * @warning - It is *strongly* suggested that production stacks create
140
+ * their own DynamoDB Table and pass it into this construct, for protection
141
+ * against data loss due to logical ID changes, the ability to configure
142
+ * Provisioned capacity with Auto Scaling, the ability to add additional indices, etc.
143
+ *
144
+ * Requirements:
145
+ * - Hash Key: `PK`
146
+ * - Sort Key: `SK`
147
+ *
148
+ * @default created by construct
149
+ */
150
+ readonly table?: dynamodb.ITable;
154
151
  }
155
152
  /**
156
- * (experimental) Represents a MicroApps Services.
157
- *
158
- * @experimental
153
+ * Represents a MicroApps Services
159
154
  */
160
155
  export interface IMicroAppsSvcs {
161
156
  /**
162
- * (experimental) DynamoDB table used by Router, Deployer, and Release console app.
163
- *
164
- * @experimental
157
+ * DynamoDB table used by Router, Deployer, and Release console app
165
158
  */
166
159
  readonly table: dynamodb.ITable;
167
160
  /**
168
- * (experimental) Lambda function for the Deployer.
169
- *
170
- * @experimental
161
+ * Lambda function for the Deployer
171
162
  */
172
163
  readonly deployerFunc: lambda.IFunction;
173
164
  /**
174
- * (experimental) Lambda function for the Router.
175
- *
176
- * @experimental
165
+ * Lambda function for the Router
177
166
  */
178
167
  readonly routerFunc: lambda.IFunction;
179
168
  }
180
169
  /**
181
- * (experimental) Create a new MicroApps Services construct, including the Deployer and Router Lambda Functions, and the DynamoDB Table used by both.
182
- *
183
- * @experimental
170
+ * Create a new MicroApps Services construct, including the Deployer
171
+ * and Router Lambda Functions, and the DynamoDB Table used by both.
184
172
  */
185
173
  export declare class MicroAppsSvcs extends Construct implements IMicroAppsSvcs {
174
+ private _ownedTable?;
186
175
  private _table;
187
- /**
188
- * (experimental) DynamoDB table used by Router, Deployer, and Release console app.
189
- *
190
- * @experimental
191
- */
192
176
  get table(): dynamodb.ITable;
193
177
  private _deployerFunc;
194
- /**
195
- * (experimental) Lambda function for the Deployer.
196
- *
197
- * @experimental
198
- */
199
178
  get deployerFunc(): lambda.IFunction;
200
179
  private _routerFunc;
201
- /**
202
- * (experimental) Lambda function for the Router.
203
- *
204
- * @experimental
205
- */
206
180
  get routerFunc(): lambda.IFunction;
207
- /**
208
- * @experimental
209
- */
210
181
  constructor(scope: Construct, id: string, props?: MicroAppsSvcsProps);
211
182
  }
183
+ //# sourceMappingURL=MicroAppsSvcs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MicroAppsSvcs.d.ts","sourceRoot":"","sources":["../src/MicroAppsSvcs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,iCAAiC,CAAC;AAG1D,OAAO,EAAiB,aAAa,EAAS,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACjD,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAGjD,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,oBAAoB,CAAC;IAEhD;;OAEG;IACH,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC,OAAO,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAElC;;;;;;;;;OASG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAExC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAE3C;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;CACvC;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,SAAU,YAAW,cAAc;IACpE,OAAO,CAAC,WAAW,CAAC,CAAiB;IACrC,OAAO,CAAC,MAAM,CAAkB;IAChC,IAAW,KAAK,IAAI,QAAQ,CAAC,MAAM,CAElC;IAED,OAAO,CAAC,aAAa,CAAkB;IACvC,IAAW,YAAY,IAAI,MAAM,CAAC,SAAS,CAE1C;IAED,OAAO,CAAC,WAAW,CAAkB;IACrC,IAAW,UAAU,IAAI,MAAM,CAAC,SAAS,CAExC;gBAEW,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,kBAAkB;CAibrE"}