@pwrdrvr/microapps-cdk 1.0.3 → 1.1.2

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/API.md CHANGED
@@ -1,10 +1,10 @@
1
- # API Reference <a name="API Reference"></a>
1
+ # API Reference <a name="API Reference" id="api-reference"></a>
2
2
 
3
- ## Constructs <a name="Constructs"></a>
3
+ ## Constructs <a name="Constructs" id="Constructs"></a>
4
4
 
5
- ### MicroApps <a name="@pwrdrvr/microapps-cdk.MicroApps"></a>
5
+ ### MicroApps <a name="MicroApps" id="@pwrdrvr/microapps-cdk.MicroApps"></a>
6
6
 
7
- - *Implements:* [`@pwrdrvr/microapps-cdk.IMicroApps`](#@pwrdrvr/microapps-cdk.IMicroApps)
7
+ - *Implements:* <a href="#@pwrdrvr/microapps-cdk.IMicroApps">IMicroApps</a>
8
8
 
9
9
  Create a new MicroApps "turnkey" construct for simple deployments and for initial evaulation of the MicroApps framework.
10
10
 
@@ -16,9 +16,9 @@ to all features of the AWS Resources are needed (e.g. to
16
16
  add additional Behaviors to the CloudFront distribution, set authorizors
17
17
  on API Gateway, etc.).
18
18
 
19
- > {@link https://github.com/pwrdrvr/microapps-core/blob/main/packages/cdk/lib/MicroApps.ts example usage in a CDK Stack }
19
+ > [{@link https://github.com/pwrdrvr/microapps-core/blob/main/packages/cdk/lib/MicroApps.ts example usage in a CDK Stack }]({@link https://github.com/pwrdrvr/microapps-core/blob/main/packages/cdk/lib/MicroApps.ts example usage in a CDK Stack })
20
20
 
21
- #### Initializer <a name="@pwrdrvr/microapps-cdk.MicroApps.Initializer"></a>
21
+ #### Initializers <a name="Initializers" id="@pwrdrvr/microapps-cdk.MicroApps.Initializer"></a>
22
22
 
23
23
  ```typescript
24
24
  import { MicroApps } from '@pwrdrvr/microapps-cdk'
@@ -26,68 +26,168 @@ import { MicroApps } from '@pwrdrvr/microapps-cdk'
26
26
  new MicroApps(scope: Construct, id: string, props?: MicroAppsProps)
27
27
  ```
28
28
 
29
- ##### `scope`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroApps.scope"></a>
29
+ | **Name** | **Type** | **Description** |
30
+ | --- | --- | --- |
31
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroApps.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
32
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroApps.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
33
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroApps.Initializer.parameter.props">props</a></code> | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps">MicroAppsProps</a></code> | *No description.* |
30
34
 
31
- - *Type:* [`constructs.Construct`](#constructs.Construct)
35
+ ---
36
+
37
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@pwrdrvr/microapps-cdk.MicroApps.Initializer.parameter.scope"></a>
38
+
39
+ - *Type:* constructs.Construct
40
+
41
+ ---
42
+
43
+ ##### `id`<sup>Required</sup> <a name="id" id="@pwrdrvr/microapps-cdk.MicroApps.Initializer.parameter.id"></a>
44
+
45
+ - *Type:* string
32
46
 
33
47
  ---
34
48
 
35
- ##### `id`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroApps.id"></a>
49
+ ##### `props`<sup>Optional</sup> <a name="props" id="@pwrdrvr/microapps-cdk.MicroApps.Initializer.parameter.props"></a>
50
+
51
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.MicroAppsProps">MicroAppsProps</a>
52
+
53
+ ---
54
+
55
+ #### Methods <a name="Methods" id="Methods"></a>
56
+
57
+ | **Name** | **Description** |
58
+ | --- | --- |
59
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroApps.toString">toString</a></code> | Returns a string representation of this construct. |
60
+
61
+ ---
62
+
63
+ ##### `toString` <a name="toString" id="@pwrdrvr/microapps-cdk.MicroApps.toString"></a>
64
+
65
+ ```typescript
66
+ public toString(): string
67
+ ```
68
+
69
+ Returns a string representation of this construct.
70
+
71
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
72
+
73
+ | **Name** | **Description** |
74
+ | --- | --- |
75
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroApps.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
76
+
77
+ ---
78
+
79
+ ##### `isConstruct` <a name="isConstruct" id="@pwrdrvr/microapps-cdk.MicroApps.isConstruct"></a>
80
+
81
+ ```typescript
82
+ import { MicroApps } from '@pwrdrvr/microapps-cdk'
83
+
84
+ MicroApps.isConstruct(x: any)
85
+ ```
86
+
87
+ Checks if `x` is a construct.
88
+
89
+ Use this method instead of `instanceof` to properly detect `Construct`
90
+ instances, even when the construct library is symlinked.
91
+
92
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
93
+ disk are seen as independent, completely different libraries. As a
94
+ consequence, the class `Construct` in each copy of the `constructs` library
95
+ is seen as a different class, and an instance of one class will not test as
96
+ `instanceof` the other class. `npm install` will not create installations
97
+ like this, but users may manually symlink construct libraries together or
98
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
99
+ library can be accidentally installed, and `instanceof` will behave
100
+ unpredictably. It is safest to avoid using `instanceof`, and using
101
+ this type-testing method instead.
36
102
 
37
- - *Type:* `string`
103
+ ###### `x`<sup>Required</sup> <a name="x" id="@pwrdrvr/microapps-cdk.MicroApps.isConstruct.parameter.x"></a>
104
+
105
+ - *Type:* any
106
+
107
+ Any object.
38
108
 
39
109
  ---
40
110
 
41
- ##### `props`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroApps.props"></a>
111
+ #### Properties <a name="Properties" id="Properties"></a>
42
112
 
43
- - *Type:* [`@pwrdrvr/microapps-cdk.MicroAppsProps`](#@pwrdrvr/microapps-cdk.MicroAppsProps)
113
+ | **Name** | **Type** | **Description** |
114
+ | --- | --- | --- |
115
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroApps.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
116
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroApps.property.cf">cf</a></code> | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsCF">IMicroAppsCF</a></code> | {@inheritdoc IMicroAppsCF}. |
117
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroApps.property.s3">s3</a></code> | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3">IMicroAppsS3</a></code> | {@inheritdoc IMicroAppsS3}. |
118
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroApps.property.svcs">svcs</a></code> | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsSvcs">IMicroAppsSvcs</a></code> | {@inheritdoc IMicroAppsSvcs}. |
119
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroApps.property.edgeToOrigin">edgeToOrigin</a></code> | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin">IMicroAppsEdgeToOrigin</a></code> | {@inheritdoc IMicroAppsEdgeToOrigin}. |
44
120
 
45
121
  ---
46
122
 
123
+ ##### `node`<sup>Required</sup> <a name="node" id="@pwrdrvr/microapps-cdk.MicroApps.property.node"></a>
124
+
125
+ ```typescript
126
+ public readonly node: Node;
127
+ ```
47
128
 
129
+ - *Type:* constructs.Node
48
130
 
49
- #### Properties <a name="Properties"></a>
131
+ The tree node.
50
132
 
51
- ##### `cf`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroApps.cf"></a>
133
+ ---
52
134
 
53
- - *Type:* [`@pwrdrvr/microapps-cdk.IMicroAppsCF`](#@pwrdrvr/microapps-cdk.IMicroAppsCF)
135
+ ##### `cf`<sup>Required</sup> <a name="cf" id="@pwrdrvr/microapps-cdk.MicroApps.property.cf"></a>
136
+
137
+ ```typescript
138
+ public readonly cf: IMicroAppsCF;
139
+ ```
140
+
141
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.IMicroAppsCF">IMicroAppsCF</a>
54
142
 
55
143
  {@inheritdoc IMicroAppsCF}.
56
144
 
57
145
  ---
58
146
 
59
- ##### `s3`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroApps.s3"></a>
147
+ ##### `s3`<sup>Required</sup> <a name="s3" id="@pwrdrvr/microapps-cdk.MicroApps.property.s3"></a>
148
+
149
+ ```typescript
150
+ public readonly s3: IMicroAppsS3;
151
+ ```
60
152
 
61
- - *Type:* [`@pwrdrvr/microapps-cdk.IMicroAppsS3`](#@pwrdrvr/microapps-cdk.IMicroAppsS3)
153
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3">IMicroAppsS3</a>
62
154
 
63
155
  {@inheritdoc IMicroAppsS3}.
64
156
 
65
157
  ---
66
158
 
67
- ##### `svcs`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroApps.svcs"></a>
159
+ ##### `svcs`<sup>Required</sup> <a name="svcs" id="@pwrdrvr/microapps-cdk.MicroApps.property.svcs"></a>
160
+
161
+ ```typescript
162
+ public readonly svcs: IMicroAppsSvcs;
163
+ ```
68
164
 
69
- - *Type:* [`@pwrdrvr/microapps-cdk.IMicroAppsSvcs`](#@pwrdrvr/microapps-cdk.IMicroAppsSvcs)
165
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.IMicroAppsSvcs">IMicroAppsSvcs</a>
70
166
 
71
167
  {@inheritdoc IMicroAppsSvcs}.
72
168
 
73
169
  ---
74
170
 
75
- ##### `edgeToOrigin`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroApps.edgeToOrigin"></a>
171
+ ##### `edgeToOrigin`<sup>Optional</sup> <a name="edgeToOrigin" id="@pwrdrvr/microapps-cdk.MicroApps.property.edgeToOrigin"></a>
172
+
173
+ ```typescript
174
+ public readonly edgeToOrigin: IMicroAppsEdgeToOrigin;
175
+ ```
76
176
 
77
- - *Type:* [`@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin`](#@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin)
177
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin">IMicroAppsEdgeToOrigin</a>
78
178
 
79
179
  {@inheritdoc IMicroAppsEdgeToOrigin}.
80
180
 
81
181
  ---
82
182
 
83
183
 
84
- ### MicroAppsCF <a name="@pwrdrvr/microapps-cdk.MicroAppsCF"></a>
184
+ ### MicroAppsCF <a name="MicroAppsCF" id="@pwrdrvr/microapps-cdk.MicroAppsCF"></a>
85
185
 
86
- - *Implements:* [`@pwrdrvr/microapps-cdk.IMicroAppsCF`](#@pwrdrvr/microapps-cdk.IMicroAppsCF)
186
+ - *Implements:* <a href="#@pwrdrvr/microapps-cdk.IMicroAppsCF">IMicroAppsCF</a>
87
187
 
88
188
  Create a new MicroApps CloudFront Distribution.
89
189
 
90
- #### Initializer <a name="@pwrdrvr/microapps-cdk.MicroAppsCF.Initializer"></a>
190
+ #### Initializers <a name="Initializers" id="@pwrdrvr/microapps-cdk.MicroAppsCF.Initializer"></a>
91
191
 
92
192
  ```typescript
93
193
  import { MicroAppsCF } from '@pwrdrvr/microapps-cdk'
@@ -95,28 +195,91 @@ import { MicroAppsCF } from '@pwrdrvr/microapps-cdk'
95
195
  new MicroAppsCF(scope: Construct, id: string, props: MicroAppsCFProps)
96
196
  ```
97
197
 
98
- ##### `scope`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCF.scope"></a>
198
+ | **Name** | **Type** | **Description** |
199
+ | --- | --- | --- |
200
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCF.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
201
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCF.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
202
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCF.Initializer.parameter.props">props</a></code> | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps">MicroAppsCFProps</a></code> | *No description.* |
203
+
204
+ ---
205
+
206
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@pwrdrvr/microapps-cdk.MicroAppsCF.Initializer.parameter.scope"></a>
99
207
 
100
- - *Type:* [`constructs.Construct`](#constructs.Construct)
208
+ - *Type:* constructs.Construct
101
209
 
102
210
  ---
103
211
 
104
- ##### `id`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCF.id"></a>
212
+ ##### `id`<sup>Required</sup> <a name="id" id="@pwrdrvr/microapps-cdk.MicroAppsCF.Initializer.parameter.id"></a>
105
213
 
106
- - *Type:* `string`
214
+ - *Type:* string
107
215
 
108
216
  ---
109
217
 
110
- ##### `props`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCF.props"></a>
218
+ ##### `props`<sup>Required</sup> <a name="props" id="@pwrdrvr/microapps-cdk.MicroAppsCF.Initializer.parameter.props"></a>
111
219
 
112
- - *Type:* [`@pwrdrvr/microapps-cdk.MicroAppsCFProps`](#@pwrdrvr/microapps-cdk.MicroAppsCFProps)
220
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps">MicroAppsCFProps</a>
113
221
 
114
222
  ---
115
223
 
224
+ #### Methods <a name="Methods" id="Methods"></a>
225
+
226
+ | **Name** | **Description** |
227
+ | --- | --- |
228
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCF.toString">toString</a></code> | Returns a string representation of this construct. |
229
+
230
+ ---
231
+
232
+ ##### `toString` <a name="toString" id="@pwrdrvr/microapps-cdk.MicroAppsCF.toString"></a>
233
+
234
+ ```typescript
235
+ public toString(): string
236
+ ```
237
+
238
+ Returns a string representation of this construct.
239
+
240
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
241
+
242
+ | **Name** | **Description** |
243
+ | --- | --- |
244
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCF.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
245
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCF.addRoutes">addRoutes</a></code> | Add API Gateway and S3 routes to an existing CloudFront Distribution. |
246
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCF.createAPIOriginPolicy">createAPIOriginPolicy</a></code> | Create or get the origin request policy. |
247
+
248
+ ---
249
+
250
+ ##### `isConstruct` <a name="isConstruct" id="@pwrdrvr/microapps-cdk.MicroAppsCF.isConstruct"></a>
251
+
252
+ ```typescript
253
+ import { MicroAppsCF } from '@pwrdrvr/microapps-cdk'
254
+
255
+ MicroAppsCF.isConstruct(x: any)
256
+ ```
257
+
258
+ Checks if `x` is a construct.
259
+
260
+ Use this method instead of `instanceof` to properly detect `Construct`
261
+ instances, even when the construct library is symlinked.
262
+
263
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
264
+ disk are seen as independent, completely different libraries. As a
265
+ consequence, the class `Construct` in each copy of the `constructs` library
266
+ is seen as a different class, and an instance of one class will not test as
267
+ `instanceof` the other class. `npm install` will not create installations
268
+ like this, but users may manually symlink construct libraries together or
269
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
270
+ library can be accidentally installed, and `instanceof` will behave
271
+ unpredictably. It is safest to avoid using `instanceof`, and using
272
+ this type-testing method instead.
116
273
 
117
- #### Static Functions <a name="Static Functions"></a>
274
+ ###### `x`<sup>Required</sup> <a name="x" id="@pwrdrvr/microapps-cdk.MicroAppsCF.isConstruct.parameter.x"></a>
118
275
 
119
- ##### `addRoutes` <a name="@pwrdrvr/microapps-cdk.MicroAppsCF.addRoutes"></a>
276
+ - *Type:* any
277
+
278
+ Any object.
279
+
280
+ ---
281
+
282
+ ##### `addRoutes` <a name="addRoutes" id="@pwrdrvr/microapps-cdk.MicroAppsCF.addRoutes"></a>
120
283
 
121
284
  ```typescript
122
285
  import { MicroAppsCF } from '@pwrdrvr/microapps-cdk'
@@ -124,19 +287,21 @@ import { MicroAppsCF } from '@pwrdrvr/microapps-cdk'
124
287
  MicroAppsCF.addRoutes(_scope: Construct, props: AddRoutesOptions)
125
288
  ```
126
289
 
127
- ###### `_scope`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCF._scope"></a>
290
+ Add API Gateway and S3 routes to an existing CloudFront Distribution.
128
291
 
129
- - *Type:* [`constructs.Construct`](#constructs.Construct)
292
+ ###### `_scope`<sup>Required</sup> <a name="_scope" id="@pwrdrvr/microapps-cdk.MicroAppsCF.addRoutes.parameter._scope"></a>
293
+
294
+ - *Type:* constructs.Construct
130
295
 
131
296
  ---
132
297
 
133
- ###### `props`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCF.props"></a>
298
+ ###### `props`<sup>Required</sup> <a name="props" id="@pwrdrvr/microapps-cdk.MicroAppsCF.addRoutes.parameter.props"></a>
134
299
 
135
- - *Type:* [`@pwrdrvr/microapps-cdk.AddRoutesOptions`](#@pwrdrvr/microapps-cdk.AddRoutesOptions)
300
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.AddRoutesOptions">AddRoutesOptions</a>
136
301
 
137
302
  ---
138
303
 
139
- ##### `createAPIOriginPolicy` <a name="@pwrdrvr/microapps-cdk.MicroAppsCF.createAPIOriginPolicy"></a>
304
+ ##### `createAPIOriginPolicy` <a name="createAPIOriginPolicy" id="@pwrdrvr/microapps-cdk.MicroAppsCF.createAPIOriginPolicy"></a>
140
305
 
141
306
  ```typescript
142
307
  import { MicroAppsCF } from '@pwrdrvr/microapps-cdk'
@@ -144,36 +309,68 @@ import { MicroAppsCF } from '@pwrdrvr/microapps-cdk'
144
309
  MicroAppsCF.createAPIOriginPolicy(_scope: Construct, _props: CreateAPIOriginPolicyOptions)
145
310
  ```
146
311
 
147
- ###### `_scope`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCF._scope"></a>
312
+ Create or get the origin request policy.
313
+
314
+ If a custom domain name is NOT used for the origin then a policy
315
+ will be created.
316
+
317
+ If a custom domain name IS used for the origin then the ALL_VIEWER
318
+ policy will be returned. This policy passes the Host header to the
319
+ origin, which is fine when using a custom domain name on the origin.
148
320
 
149
- - *Type:* [`constructs.Construct`](#constructs.Construct)
321
+ ###### `_scope`<sup>Required</sup> <a name="_scope" id="@pwrdrvr/microapps-cdk.MicroAppsCF.createAPIOriginPolicy.parameter._scope"></a>
322
+
323
+ - *Type:* constructs.Construct
150
324
 
151
325
  ---
152
326
 
153
- ###### `_props`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCF._props"></a>
327
+ ###### `_props`<sup>Required</sup> <a name="_props" id="@pwrdrvr/microapps-cdk.MicroAppsCF.createAPIOriginPolicy.parameter._props"></a>
154
328
 
155
- - *Type:* [`@pwrdrvr/microapps-cdk.CreateAPIOriginPolicyOptions`](#@pwrdrvr/microapps-cdk.CreateAPIOriginPolicyOptions)
329
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.CreateAPIOriginPolicyOptions">CreateAPIOriginPolicyOptions</a>
156
330
 
157
331
  ---
158
332
 
159
- #### Properties <a name="Properties"></a>
333
+ #### Properties <a name="Properties" id="Properties"></a>
334
+
335
+ | **Name** | **Type** | **Description** |
336
+ | --- | --- | --- |
337
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCF.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
338
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCF.property.cloudFrontDistro">cloudFrontDistro</a></code> | <code>aws-cdk-lib.aws_cloudfront.Distribution</code> | The CloudFront distribution. |
339
+
340
+ ---
160
341
 
161
- ##### `cloudFrontDistro`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCF.cloudFrontDistro"></a>
342
+ ##### `node`<sup>Required</sup> <a name="node" id="@pwrdrvr/microapps-cdk.MicroAppsCF.property.node"></a>
162
343
 
163
- - *Type:* [`aws-cdk-lib.aws_cloudfront.Distribution`](#aws-cdk-lib.aws_cloudfront.Distribution)
344
+ ```typescript
345
+ public readonly node: Node;
346
+ ```
347
+
348
+ - *Type:* constructs.Node
349
+
350
+ The tree node.
351
+
352
+ ---
353
+
354
+ ##### `cloudFrontDistro`<sup>Required</sup> <a name="cloudFrontDistro" id="@pwrdrvr/microapps-cdk.MicroAppsCF.property.cloudFrontDistro"></a>
355
+
356
+ ```typescript
357
+ public readonly cloudFrontDistro: Distribution;
358
+ ```
359
+
360
+ - *Type:* aws-cdk-lib.aws_cloudfront.Distribution
164
361
 
165
362
  The CloudFront distribution.
166
363
 
167
364
  ---
168
365
 
169
366
 
170
- ### MicroAppsChildDeployer <a name="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer"></a>
367
+ ### MicroAppsChildDeployer <a name="MicroAppsChildDeployer" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer"></a>
171
368
 
172
- - *Implements:* [`@pwrdrvr/microapps-cdk.IMicroAppsChildDeployer`](#@pwrdrvr/microapps-cdk.IMicroAppsChildDeployer)
369
+ - *Implements:* <a href="#@pwrdrvr/microapps-cdk.IMicroAppsChildDeployer">IMicroAppsChildDeployer</a>
173
370
 
174
371
  Create a new MicroApps Child Deployer construct.
175
372
 
176
- #### Initializer <a name="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.Initializer"></a>
373
+ #### Initializers <a name="Initializers" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.Initializer"></a>
177
374
 
178
375
  ```typescript
179
376
  import { MicroAppsChildDeployer } from '@pwrdrvr/microapps-cdk'
@@ -181,44 +378,129 @@ import { MicroAppsChildDeployer } from '@pwrdrvr/microapps-cdk'
181
378
  new MicroAppsChildDeployer(scope: Construct, id: string, props?: MicroAppsChildDeployerProps)
182
379
  ```
183
380
 
184
- ##### `scope`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.scope"></a>
381
+ | **Name** | **Type** | **Description** |
382
+ | --- | --- | --- |
383
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
384
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
385
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.Initializer.parameter.props">props</a></code> | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps">MicroAppsChildDeployerProps</a></code> | *No description.* |
386
+
387
+ ---
388
+
389
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.Initializer.parameter.scope"></a>
185
390
 
186
- - *Type:* [`constructs.Construct`](#constructs.Construct)
391
+ - *Type:* constructs.Construct
187
392
 
188
393
  ---
189
394
 
190
- ##### `id`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.id"></a>
395
+ ##### `id`<sup>Required</sup> <a name="id" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.Initializer.parameter.id"></a>
191
396
 
192
- - *Type:* `string`
397
+ - *Type:* string
193
398
 
194
399
  ---
195
400
 
196
- ##### `props`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.props"></a>
401
+ ##### `props`<sup>Optional</sup> <a name="props" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.Initializer.parameter.props"></a>
197
402
 
198
- - *Type:* [`@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps`](#@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps)
403
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps">MicroAppsChildDeployerProps</a>
199
404
 
200
405
  ---
201
406
 
407
+ #### Methods <a name="Methods" id="Methods"></a>
202
408
 
409
+ | **Name** | **Description** |
410
+ | --- | --- |
411
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.toString">toString</a></code> | Returns a string representation of this construct. |
203
412
 
204
- #### Properties <a name="Properties"></a>
413
+ ---
414
+
415
+ ##### `toString` <a name="toString" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.toString"></a>
416
+
417
+ ```typescript
418
+ public toString(): string
419
+ ```
420
+
421
+ Returns a string representation of this construct.
422
+
423
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
424
+
425
+ | **Name** | **Description** |
426
+ | --- | --- |
427
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
428
+
429
+ ---
430
+
431
+ ##### `isConstruct` <a name="isConstruct" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.isConstruct"></a>
432
+
433
+ ```typescript
434
+ import { MicroAppsChildDeployer } from '@pwrdrvr/microapps-cdk'
435
+
436
+ MicroAppsChildDeployer.isConstruct(x: any)
437
+ ```
438
+
439
+ Checks if `x` is a construct.
440
+
441
+ Use this method instead of `instanceof` to properly detect `Construct`
442
+ instances, even when the construct library is symlinked.
443
+
444
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
445
+ disk are seen as independent, completely different libraries. As a
446
+ consequence, the class `Construct` in each copy of the `constructs` library
447
+ is seen as a different class, and an instance of one class will not test as
448
+ `instanceof` the other class. `npm install` will not create installations
449
+ like this, but users may manually symlink construct libraries together or
450
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
451
+ library can be accidentally installed, and `instanceof` will behave
452
+ unpredictably. It is safest to avoid using `instanceof`, and using
453
+ this type-testing method instead.
454
+
455
+ ###### `x`<sup>Required</sup> <a name="x" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.isConstruct.parameter.x"></a>
456
+
457
+ - *Type:* any
458
+
459
+ Any object.
460
+
461
+ ---
462
+
463
+ #### Properties <a name="Properties" id="Properties"></a>
205
464
 
206
- ##### `deployerFunc`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.deployerFunc"></a>
465
+ | **Name** | **Type** | **Description** |
466
+ | --- | --- | --- |
467
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
468
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.property.deployerFunc">deployerFunc</a></code> | <code>aws-cdk-lib.aws_lambda.IFunction</code> | Lambda function for the Deployer. |
207
469
 
208
- - *Type:* [`aws-cdk-lib.aws_lambda.IFunction`](#aws-cdk-lib.aws_lambda.IFunction)
470
+ ---
471
+
472
+ ##### `node`<sup>Required</sup> <a name="node" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.property.node"></a>
473
+
474
+ ```typescript
475
+ public readonly node: Node;
476
+ ```
477
+
478
+ - *Type:* constructs.Node
479
+
480
+ The tree node.
481
+
482
+ ---
483
+
484
+ ##### `deployerFunc`<sup>Required</sup> <a name="deployerFunc" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.property.deployerFunc"></a>
485
+
486
+ ```typescript
487
+ public readonly deployerFunc: IFunction;
488
+ ```
489
+
490
+ - *Type:* aws-cdk-lib.aws_lambda.IFunction
209
491
 
210
492
  Lambda function for the Deployer.
211
493
 
212
494
  ---
213
495
 
214
496
 
215
- ### MicroAppsEdgeToOrigin <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin"></a>
497
+ ### MicroAppsEdgeToOrigin <a name="MicroAppsEdgeToOrigin" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin"></a>
216
498
 
217
- - *Implements:* [`@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin`](#@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin)
499
+ - *Implements:* <a href="#@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin">IMicroAppsEdgeToOrigin</a>
218
500
 
219
501
  Create a new MicroApps Edge to Origin Function w/ `config.yml`.
220
502
 
221
- #### Initializer <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.Initializer"></a>
503
+ #### Initializers <a name="Initializers" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.Initializer"></a>
222
504
 
223
505
  ```typescript
224
506
  import { MicroAppsEdgeToOrigin } from '@pwrdrvr/microapps-cdk'
@@ -226,28 +508,90 @@ import { MicroAppsEdgeToOrigin } from '@pwrdrvr/microapps-cdk'
226
508
  new MicroAppsEdgeToOrigin(scope: Construct, id: string, props: MicroAppsEdgeToOriginProps)
227
509
  ```
228
510
 
229
- ##### `scope`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.scope"></a>
511
+ | **Name** | **Type** | **Description** |
512
+ | --- | --- | --- |
513
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
514
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
515
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.Initializer.parameter.props">props</a></code> | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps">MicroAppsEdgeToOriginProps</a></code> | *No description.* |
516
+
517
+ ---
518
+
519
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.Initializer.parameter.scope"></a>
230
520
 
231
- - *Type:* [`constructs.Construct`](#constructs.Construct)
521
+ - *Type:* constructs.Construct
232
522
 
233
523
  ---
234
524
 
235
- ##### `id`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.id"></a>
525
+ ##### `id`<sup>Required</sup> <a name="id" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.Initializer.parameter.id"></a>
236
526
 
237
- - *Type:* `string`
527
+ - *Type:* string
238
528
 
239
529
  ---
240
530
 
241
- ##### `props`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.props"></a>
531
+ ##### `props`<sup>Required</sup> <a name="props" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.Initializer.parameter.props"></a>
242
532
 
243
- - *Type:* [`@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps`](#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps)
533
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps">MicroAppsEdgeToOriginProps</a>
244
534
 
245
535
  ---
246
536
 
537
+ #### Methods <a name="Methods" id="Methods"></a>
538
+
539
+ | **Name** | **Description** |
540
+ | --- | --- |
541
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.toString">toString</a></code> | Returns a string representation of this construct. |
247
542
 
248
- #### Static Functions <a name="Static Functions"></a>
543
+ ---
249
544
 
250
- ##### `generateEdgeToOriginConfig` <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.generateEdgeToOriginConfig"></a>
545
+ ##### `toString` <a name="toString" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.toString"></a>
546
+
547
+ ```typescript
548
+ public toString(): string
549
+ ```
550
+
551
+ Returns a string representation of this construct.
552
+
553
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
554
+
555
+ | **Name** | **Description** |
556
+ | --- | --- |
557
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
558
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.generateEdgeToOriginConfig">generateEdgeToOriginConfig</a></code> | Generate the yaml config for the edge lambda. |
559
+
560
+ ---
561
+
562
+ ##### `isConstruct` <a name="isConstruct" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.isConstruct"></a>
563
+
564
+ ```typescript
565
+ import { MicroAppsEdgeToOrigin } from '@pwrdrvr/microapps-cdk'
566
+
567
+ MicroAppsEdgeToOrigin.isConstruct(x: any)
568
+ ```
569
+
570
+ Checks if `x` is a construct.
571
+
572
+ Use this method instead of `instanceof` to properly detect `Construct`
573
+ instances, even when the construct library is symlinked.
574
+
575
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
576
+ disk are seen as independent, completely different libraries. As a
577
+ consequence, the class `Construct` in each copy of the `constructs` library
578
+ is seen as a different class, and an instance of one class will not test as
579
+ `instanceof` the other class. `npm install` will not create installations
580
+ like this, but users may manually symlink construct libraries together or
581
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
582
+ library can be accidentally installed, and `instanceof` will behave
583
+ unpredictably. It is safest to avoid using `instanceof`, and using
584
+ this type-testing method instead.
585
+
586
+ ###### `x`<sup>Required</sup> <a name="x" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.isConstruct.parameter.x"></a>
587
+
588
+ - *Type:* any
589
+
590
+ Any object.
591
+
592
+ ---
593
+
594
+ ##### `generateEdgeToOriginConfig` <a name="generateEdgeToOriginConfig" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.generateEdgeToOriginConfig"></a>
251
595
 
252
596
  ```typescript
253
597
  import { MicroAppsEdgeToOrigin } from '@pwrdrvr/microapps-cdk'
@@ -255,17 +599,44 @@ import { MicroAppsEdgeToOrigin } from '@pwrdrvr/microapps-cdk'
255
599
  MicroAppsEdgeToOrigin.generateEdgeToOriginConfig(props: GenerateEdgeToOriginConfigOptions)
256
600
  ```
257
601
 
258
- ###### `props`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.props"></a>
602
+ Generate the yaml config for the edge lambda.
603
+
604
+ ###### `props`<sup>Required</sup> <a name="props" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.generateEdgeToOriginConfig.parameter.props"></a>
605
+
606
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions">GenerateEdgeToOriginConfigOptions</a>
259
607
 
260
- - *Type:* [`@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions`](#@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions)
608
+ ---
609
+
610
+ #### Properties <a name="Properties" id="Properties"></a>
611
+
612
+ | **Name** | **Type** | **Description** |
613
+ | --- | --- | --- |
614
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
615
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.property.edgeToOriginFunction">edgeToOriginFunction</a></code> | <code>aws-cdk-lib.aws_lambda.Function \| aws-cdk-lib.aws_cloudfront.experimental.EdgeFunction</code> | The edge to origin function for API Gateway Request Origin Edge Lambda. |
616
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.property.edgeToOriginLambdas">edgeToOriginLambdas</a></code> | <code>aws-cdk-lib.aws_cloudfront.EdgeLambda[]</code> | Configuration of the edge to origin lambda functions. |
617
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.property.edgeToOriginRole">edgeToOriginRole</a></code> | <code>aws-cdk-lib.aws_iam.Role</code> | The IAM Role for the edge to origin function. |
261
618
 
262
619
  ---
263
620
 
264
- #### Properties <a name="Properties"></a>
621
+ ##### `node`<sup>Required</sup> <a name="node" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.property.node"></a>
622
+
623
+ ```typescript
624
+ public readonly node: Node;
625
+ ```
265
626
 
266
- ##### `edgeToOriginFunction`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.edgeToOriginFunction"></a>
627
+ - *Type:* constructs.Node
267
628
 
268
- - *Type:* [`aws-cdk-lib.aws_lambda.Function`](#aws-cdk-lib.aws_lambda.Function) | [`aws-cdk-lib.aws_cloudfront.experimental.EdgeFunction`](#aws-cdk-lib.aws_cloudfront.experimental.EdgeFunction)
629
+ The tree node.
630
+
631
+ ---
632
+
633
+ ##### `edgeToOriginFunction`<sup>Required</sup> <a name="edgeToOriginFunction" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.property.edgeToOriginFunction"></a>
634
+
635
+ ```typescript
636
+ public readonly edgeToOriginFunction: Function | EdgeFunction;
637
+ ```
638
+
639
+ - *Type:* aws-cdk-lib.aws_lambda.Function | aws-cdk-lib.aws_cloudfront.experimental.EdgeFunction
269
640
 
270
641
  The edge to origin function for API Gateway Request Origin Edge Lambda.
271
642
 
@@ -273,33 +644,41 @@ The generated `config.yml` is included in the Lambda's code.
273
644
 
274
645
  ---
275
646
 
276
- ##### `edgeToOriginLambdas`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.edgeToOriginLambdas"></a>
647
+ ##### `edgeToOriginLambdas`<sup>Required</sup> <a name="edgeToOriginLambdas" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.property.edgeToOriginLambdas"></a>
648
+
649
+ ```typescript
650
+ public readonly edgeToOriginLambdas: EdgeLambda[];
651
+ ```
277
652
 
278
- - *Type:* [`aws-cdk-lib.aws_cloudfront.EdgeLambda`](#aws-cdk-lib.aws_cloudfront.EdgeLambda)[]
653
+ - *Type:* aws-cdk-lib.aws_cloudfront.EdgeLambda[]
279
654
 
280
655
  Configuration of the edge to origin lambda functions.
281
656
 
282
657
  ---
283
658
 
284
- ##### `edgeToOriginRole`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.edgeToOriginRole"></a>
659
+ ##### `edgeToOriginRole`<sup>Required</sup> <a name="edgeToOriginRole" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.property.edgeToOriginRole"></a>
660
+
661
+ ```typescript
662
+ public readonly edgeToOriginRole: Role;
663
+ ```
285
664
 
286
- - *Type:* [`aws-cdk-lib.aws_iam.Role`](#aws-cdk-lib.aws_iam.Role)
665
+ - *Type:* aws-cdk-lib.aws_iam.Role
287
666
 
288
667
  The IAM Role for the edge to origin function.
289
668
 
290
669
  ---
291
670
 
292
671
 
293
- ### MicroAppsS3 <a name="@pwrdrvr/microapps-cdk.MicroAppsS3"></a>
672
+ ### MicroAppsS3 <a name="MicroAppsS3" id="@pwrdrvr/microapps-cdk.MicroAppsS3"></a>
294
673
 
295
- - *Implements:* [`@pwrdrvr/microapps-cdk.IMicroAppsS3`](#@pwrdrvr/microapps-cdk.IMicroAppsS3)
674
+ - *Implements:* <a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3">IMicroAppsS3</a>
296
675
 
297
676
  Create the durable MicroApps S3 Buckets.
298
677
 
299
678
  These should be created in a stack that will not be deleted if
300
679
  there are breaking changes to MicroApps in the future.
301
680
 
302
- #### Initializer <a name="@pwrdrvr/microapps-cdk.MicroAppsS3.Initializer"></a>
681
+ #### Initializers <a name="Initializers" id="@pwrdrvr/microapps-cdk.MicroAppsS3.Initializer"></a>
303
682
 
304
683
  ```typescript
305
684
  import { MicroAppsS3 } from '@pwrdrvr/microapps-cdk'
@@ -307,84 +686,194 @@ import { MicroAppsS3 } from '@pwrdrvr/microapps-cdk'
307
686
  new MicroAppsS3(scope: Construct, id: string, props?: MicroAppsS3Props)
308
687
  ```
309
688
 
310
- ##### `scope`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsS3.scope"></a>
689
+ | **Name** | **Type** | **Description** |
690
+ | --- | --- | --- |
691
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
692
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
693
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.Initializer.parameter.props">props</a></code> | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3Props">MicroAppsS3Props</a></code> | *No description.* |
694
+
695
+ ---
696
+
697
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@pwrdrvr/microapps-cdk.MicroAppsS3.Initializer.parameter.scope"></a>
698
+
699
+ - *Type:* constructs.Construct
700
+
701
+ ---
702
+
703
+ ##### `id`<sup>Required</sup> <a name="id" id="@pwrdrvr/microapps-cdk.MicroAppsS3.Initializer.parameter.id"></a>
704
+
705
+ - *Type:* string
706
+
707
+ ---
708
+
709
+ ##### `props`<sup>Optional</sup> <a name="props" id="@pwrdrvr/microapps-cdk.MicroAppsS3.Initializer.parameter.props"></a>
710
+
711
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.MicroAppsS3Props">MicroAppsS3Props</a>
712
+
713
+ ---
714
+
715
+ #### Methods <a name="Methods" id="Methods"></a>
716
+
717
+ | **Name** | **Description** |
718
+ | --- | --- |
719
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.toString">toString</a></code> | Returns a string representation of this construct. |
720
+
721
+ ---
722
+
723
+ ##### `toString` <a name="toString" id="@pwrdrvr/microapps-cdk.MicroAppsS3.toString"></a>
724
+
725
+ ```typescript
726
+ public toString(): string
727
+ ```
728
+
729
+ Returns a string representation of this construct.
730
+
731
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
311
732
 
312
- - *Type:* [`constructs.Construct`](#constructs.Construct)
733
+ | **Name** | **Description** |
734
+ | --- | --- |
735
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
313
736
 
314
737
  ---
315
738
 
316
- ##### `id`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsS3.id"></a>
739
+ ##### `isConstruct` <a name="isConstruct" id="@pwrdrvr/microapps-cdk.MicroAppsS3.isConstruct"></a>
317
740
 
318
- - *Type:* `string`
741
+ ```typescript
742
+ import { MicroAppsS3 } from '@pwrdrvr/microapps-cdk'
743
+
744
+ MicroAppsS3.isConstruct(x: any)
745
+ ```
746
+
747
+ Checks if `x` is a construct.
748
+
749
+ Use this method instead of `instanceof` to properly detect `Construct`
750
+ instances, even when the construct library is symlinked.
751
+
752
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
753
+ disk are seen as independent, completely different libraries. As a
754
+ consequence, the class `Construct` in each copy of the `constructs` library
755
+ is seen as a different class, and an instance of one class will not test as
756
+ `instanceof` the other class. `npm install` will not create installations
757
+ like this, but users may manually symlink construct libraries together or
758
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
759
+ library can be accidentally installed, and `instanceof` will behave
760
+ unpredictably. It is safest to avoid using `instanceof`, and using
761
+ this type-testing method instead.
762
+
763
+ ###### `x`<sup>Required</sup> <a name="x" id="@pwrdrvr/microapps-cdk.MicroAppsS3.isConstruct.parameter.x"></a>
764
+
765
+ - *Type:* any
766
+
767
+ Any object.
319
768
 
320
769
  ---
321
770
 
322
- ##### `props`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsS3.props"></a>
771
+ #### Properties <a name="Properties" id="Properties"></a>
323
772
 
324
- - *Type:* [`@pwrdrvr/microapps-cdk.MicroAppsS3Props`](#@pwrdrvr/microapps-cdk.MicroAppsS3Props)
773
+ | **Name** | **Type** | **Description** |
774
+ | --- | --- | --- |
775
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
776
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketApps">bucketApps</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | S3 bucket for deployed applications. |
777
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketAppsOAI">bucketAppsOAI</a></code> | <code>aws-cdk-lib.aws_cloudfront.OriginAccessIdentity</code> | CloudFront Origin Access Identity for the deployed applications bucket. |
778
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketAppsOriginApp">bucketAppsOriginApp</a></code> | <code>aws-cdk-lib.aws_cloudfront_origins.S3Origin</code> | CloudFront Origin for the deployed applications bucket Marked with `x-microapps-origin: app` so the OriginRequest function knows to send the request to the application origin first, if configured for a particular application. |
779
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketAppsOriginS3">bucketAppsOriginS3</a></code> | <code>aws-cdk-lib.aws_cloudfront_origins.S3Origin</code> | CloudFront Origin for the deployed applications bucket Marked with `x-microapps-origin: s3` so the OriginRequest function knows to NOT send the request to the application origin and instead let it fall through to the S3 bucket. |
780
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketAppsStaging">bucketAppsStaging</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | S3 bucket for staged applications (prior to deploy). |
781
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketLogs">bucketLogs</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | S3 bucket for CloudFront logs. |
325
782
 
326
783
  ---
327
784
 
785
+ ##### `node`<sup>Required</sup> <a name="node" id="@pwrdrvr/microapps-cdk.MicroAppsS3.property.node"></a>
786
+
787
+ ```typescript
788
+ public readonly node: Node;
789
+ ```
790
+
791
+ - *Type:* constructs.Node
328
792
 
793
+ The tree node.
329
794
 
330
- #### Properties <a name="Properties"></a>
795
+ ---
331
796
 
332
- ##### `bucketApps`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsS3.bucketApps"></a>
797
+ ##### `bucketApps`<sup>Required</sup> <a name="bucketApps" id="@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketApps"></a>
333
798
 
334
- - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket)
799
+ ```typescript
800
+ public readonly bucketApps: IBucket;
801
+ ```
802
+
803
+ - *Type:* aws-cdk-lib.aws_s3.IBucket
335
804
 
336
805
  S3 bucket for deployed applications.
337
806
 
338
807
  ---
339
808
 
340
- ##### `bucketAppsOAI`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsS3.bucketAppsOAI"></a>
809
+ ##### `bucketAppsOAI`<sup>Required</sup> <a name="bucketAppsOAI" id="@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketAppsOAI"></a>
341
810
 
342
- - *Type:* [`aws-cdk-lib.aws_cloudfront.OriginAccessIdentity`](#aws-cdk-lib.aws_cloudfront.OriginAccessIdentity)
811
+ ```typescript
812
+ public readonly bucketAppsOAI: OriginAccessIdentity;
813
+ ```
814
+
815
+ - *Type:* aws-cdk-lib.aws_cloudfront.OriginAccessIdentity
343
816
 
344
817
  CloudFront Origin Access Identity for the deployed applications bucket.
345
818
 
346
819
  ---
347
820
 
348
- ##### `bucketAppsOriginApp`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsS3.bucketAppsOriginApp"></a>
821
+ ##### `bucketAppsOriginApp`<sup>Required</sup> <a name="bucketAppsOriginApp" id="@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketAppsOriginApp"></a>
822
+
823
+ ```typescript
824
+ public readonly bucketAppsOriginApp: S3Origin;
825
+ ```
349
826
 
350
- - *Type:* [`aws-cdk-lib.aws_cloudfront_origins.S3Origin`](#aws-cdk-lib.aws_cloudfront_origins.S3Origin)
827
+ - *Type:* aws-cdk-lib.aws_cloudfront_origins.S3Origin
351
828
 
352
829
  CloudFront Origin for the deployed applications bucket Marked with `x-microapps-origin: app` so the OriginRequest function knows to send the request to the application origin first, if configured for a particular application.
353
830
 
354
831
  ---
355
832
 
356
- ##### `bucketAppsOriginS3`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsS3.bucketAppsOriginS3"></a>
833
+ ##### `bucketAppsOriginS3`<sup>Required</sup> <a name="bucketAppsOriginS3" id="@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketAppsOriginS3"></a>
357
834
 
358
- - *Type:* [`aws-cdk-lib.aws_cloudfront_origins.S3Origin`](#aws-cdk-lib.aws_cloudfront_origins.S3Origin)
835
+ ```typescript
836
+ public readonly bucketAppsOriginS3: S3Origin;
837
+ ```
838
+
839
+ - *Type:* aws-cdk-lib.aws_cloudfront_origins.S3Origin
359
840
 
360
841
  CloudFront Origin for the deployed applications bucket Marked with `x-microapps-origin: s3` so the OriginRequest function knows to NOT send the request to the application origin and instead let it fall through to the S3 bucket.
361
842
 
362
843
  ---
363
844
 
364
- ##### `bucketAppsStaging`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsS3.bucketAppsStaging"></a>
845
+ ##### `bucketAppsStaging`<sup>Required</sup> <a name="bucketAppsStaging" id="@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketAppsStaging"></a>
846
+
847
+ ```typescript
848
+ public readonly bucketAppsStaging: IBucket;
849
+ ```
365
850
 
366
- - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket)
851
+ - *Type:* aws-cdk-lib.aws_s3.IBucket
367
852
 
368
853
  S3 bucket for staged applications (prior to deploy).
369
854
 
370
855
  ---
371
856
 
372
- ##### `bucketLogs`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsS3.bucketLogs"></a>
857
+ ##### `bucketLogs`<sup>Required</sup> <a name="bucketLogs" id="@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketLogs"></a>
858
+
859
+ ```typescript
860
+ public readonly bucketLogs: IBucket;
861
+ ```
373
862
 
374
- - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket)
863
+ - *Type:* aws-cdk-lib.aws_s3.IBucket
375
864
 
376
865
  S3 bucket for CloudFront logs.
377
866
 
378
867
  ---
379
868
 
380
869
 
381
- ### MicroAppsSvcs <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcs"></a>
870
+ ### MicroAppsSvcs <a name="MicroAppsSvcs" id="@pwrdrvr/microapps-cdk.MicroAppsSvcs"></a>
382
871
 
383
- - *Implements:* [`@pwrdrvr/microapps-cdk.IMicroAppsSvcs`](#@pwrdrvr/microapps-cdk.IMicroAppsSvcs)
872
+ - *Implements:* <a href="#@pwrdrvr/microapps-cdk.IMicroAppsSvcs">IMicroAppsSvcs</a>
384
873
 
385
874
  Create a new MicroApps Services construct, including the Deployer and Router Lambda Functions, and the DynamoDB Table used by both.
386
875
 
387
- #### Initializer <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcs.Initializer"></a>
876
+ #### Initializers <a name="Initializers" id="@pwrdrvr/microapps-cdk.MicroAppsSvcs.Initializer"></a>
388
877
 
389
878
  ```typescript
390
879
  import { MicroAppsSvcs } from '@pwrdrvr/microapps-cdk'
@@ -392,60 +881,155 @@ import { MicroAppsSvcs } from '@pwrdrvr/microapps-cdk'
392
881
  new MicroAppsSvcs(scope: Construct, id: string, props?: MicroAppsSvcsProps)
393
882
  ```
394
883
 
395
- ##### `scope`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcs.scope"></a>
884
+ | **Name** | **Type** | **Description** |
885
+ | --- | --- | --- |
886
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcs.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
887
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcs.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
888
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcs.Initializer.parameter.props">props</a></code> | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps">MicroAppsSvcsProps</a></code> | *No description.* |
889
+
890
+ ---
891
+
892
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@pwrdrvr/microapps-cdk.MicroAppsSvcs.Initializer.parameter.scope"></a>
893
+
894
+ - *Type:* constructs.Construct
895
+
896
+ ---
897
+
898
+ ##### `id`<sup>Required</sup> <a name="id" id="@pwrdrvr/microapps-cdk.MicroAppsSvcs.Initializer.parameter.id"></a>
899
+
900
+ - *Type:* string
901
+
902
+ ---
903
+
904
+ ##### `props`<sup>Optional</sup> <a name="props" id="@pwrdrvr/microapps-cdk.MicroAppsSvcs.Initializer.parameter.props"></a>
905
+
906
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps">MicroAppsSvcsProps</a>
907
+
908
+ ---
909
+
910
+ #### Methods <a name="Methods" id="Methods"></a>
911
+
912
+ | **Name** | **Description** |
913
+ | --- | --- |
914
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcs.toString">toString</a></code> | Returns a string representation of this construct. |
915
+
916
+ ---
917
+
918
+ ##### `toString` <a name="toString" id="@pwrdrvr/microapps-cdk.MicroAppsSvcs.toString"></a>
919
+
920
+ ```typescript
921
+ public toString(): string
922
+ ```
923
+
924
+ Returns a string representation of this construct.
396
925
 
397
- - *Type:* [`constructs.Construct`](#constructs.Construct)
926
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
927
+
928
+ | **Name** | **Description** |
929
+ | --- | --- |
930
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcs.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
398
931
 
399
932
  ---
400
933
 
401
- ##### `id`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcs.id"></a>
934
+ ##### `isConstruct` <a name="isConstruct" id="@pwrdrvr/microapps-cdk.MicroAppsSvcs.isConstruct"></a>
935
+
936
+ ```typescript
937
+ import { MicroAppsSvcs } from '@pwrdrvr/microapps-cdk'
938
+
939
+ MicroAppsSvcs.isConstruct(x: any)
940
+ ```
941
+
942
+ Checks if `x` is a construct.
943
+
944
+ Use this method instead of `instanceof` to properly detect `Construct`
945
+ instances, even when the construct library is symlinked.
946
+
947
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
948
+ disk are seen as independent, completely different libraries. As a
949
+ consequence, the class `Construct` in each copy of the `constructs` library
950
+ is seen as a different class, and an instance of one class will not test as
951
+ `instanceof` the other class. `npm install` will not create installations
952
+ like this, but users may manually symlink construct libraries together or
953
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
954
+ library can be accidentally installed, and `instanceof` will behave
955
+ unpredictably. It is safest to avoid using `instanceof`, and using
956
+ this type-testing method instead.
957
+
958
+ ###### `x`<sup>Required</sup> <a name="x" id="@pwrdrvr/microapps-cdk.MicroAppsSvcs.isConstruct.parameter.x"></a>
402
959
 
403
- - *Type:* `string`
960
+ - *Type:* any
961
+
962
+ Any object.
404
963
 
405
964
  ---
406
965
 
407
- ##### `props`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcs.props"></a>
966
+ #### Properties <a name="Properties" id="Properties"></a>
408
967
 
409
- - *Type:* [`@pwrdrvr/microapps-cdk.MicroAppsSvcsProps`](#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps)
968
+ | **Name** | **Type** | **Description** |
969
+ | --- | --- | --- |
970
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcs.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
971
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcs.property.deployerFunc">deployerFunc</a></code> | <code>aws-cdk-lib.aws_lambda.Function</code> | Lambda function for the Deployer. |
972
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcs.property.table">table</a></code> | <code>aws-cdk-lib.aws_dynamodb.ITable</code> | DynamoDB table used by Router, Deployer, and Release console app. |
973
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcs.property.routerFunc">routerFunc</a></code> | <code>aws-cdk-lib.aws_lambda.Function</code> | Lambda function for the Router. |
410
974
 
411
975
  ---
412
976
 
977
+ ##### `node`<sup>Required</sup> <a name="node" id="@pwrdrvr/microapps-cdk.MicroAppsSvcs.property.node"></a>
413
978
 
979
+ ```typescript
980
+ public readonly node: Node;
981
+ ```
414
982
 
415
- #### Properties <a name="Properties"></a>
983
+ - *Type:* constructs.Node
416
984
 
417
- ##### `deployerFunc`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcs.deployerFunc"></a>
985
+ The tree node.
986
+
987
+ ---
988
+
989
+ ##### `deployerFunc`<sup>Required</sup> <a name="deployerFunc" id="@pwrdrvr/microapps-cdk.MicroAppsSvcs.property.deployerFunc"></a>
990
+
991
+ ```typescript
992
+ public readonly deployerFunc: Function;
993
+ ```
418
994
 
419
- - *Type:* [`aws-cdk-lib.aws_lambda.Function`](#aws-cdk-lib.aws_lambda.Function)
995
+ - *Type:* aws-cdk-lib.aws_lambda.Function
420
996
 
421
997
  Lambda function for the Deployer.
422
998
 
423
999
  ---
424
1000
 
425
- ##### `table`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcs.table"></a>
1001
+ ##### `table`<sup>Required</sup> <a name="table" id="@pwrdrvr/microapps-cdk.MicroAppsSvcs.property.table"></a>
426
1002
 
427
- - *Type:* [`aws-cdk-lib.aws_dynamodb.ITable`](#aws-cdk-lib.aws_dynamodb.ITable)
1003
+ ```typescript
1004
+ public readonly table: ITable;
1005
+ ```
1006
+
1007
+ - *Type:* aws-cdk-lib.aws_dynamodb.ITable
428
1008
 
429
1009
  DynamoDB table used by Router, Deployer, and Release console app.
430
1010
 
431
1011
  ---
432
1012
 
433
- ##### `routerFunc`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcs.routerFunc"></a>
1013
+ ##### `routerFunc`<sup>Optional</sup> <a name="routerFunc" id="@pwrdrvr/microapps-cdk.MicroAppsSvcs.property.routerFunc"></a>
1014
+
1015
+ ```typescript
1016
+ public readonly routerFunc: Function;
1017
+ ```
434
1018
 
435
- - *Type:* [`aws-cdk-lib.aws_lambda.Function`](#aws-cdk-lib.aws_lambda.Function)
1019
+ - *Type:* aws-cdk-lib.aws_lambda.Function
436
1020
 
437
1021
  Lambda function for the Router.
438
1022
 
439
1023
  ---
440
1024
 
441
1025
 
442
- ### MicroAppsTable <a name="@pwrdrvr/microapps-cdk.MicroAppsTable"></a>
1026
+ ### MicroAppsTable <a name="MicroAppsTable" id="@pwrdrvr/microapps-cdk.MicroAppsTable"></a>
443
1027
 
444
- - *Implements:* [`@pwrdrvr/microapps-cdk.IMicroAppsTable`](#@pwrdrvr/microapps-cdk.IMicroAppsTable)
1028
+ - *Implements:* <a href="#@pwrdrvr/microapps-cdk.IMicroAppsTable">IMicroAppsTable</a>
445
1029
 
446
1030
  Create a new MicroApps Table for apps / versions / rules.
447
1031
 
448
- #### Initializer <a name="@pwrdrvr/microapps-cdk.MicroAppsTable.Initializer"></a>
1032
+ #### Initializers <a name="Initializers" id="@pwrdrvr/microapps-cdk.MicroAppsTable.Initializer"></a>
449
1033
 
450
1034
  ```typescript
451
1035
  import { MicroAppsTable } from '@pwrdrvr/microapps-cdk'
@@ -453,44 +1037,129 @@ import { MicroAppsTable } from '@pwrdrvr/microapps-cdk'
453
1037
  new MicroAppsTable(scope: Construct, id: string, props?: MicroAppsTableProps)
454
1038
  ```
455
1039
 
456
- ##### `scope`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsTable.scope"></a>
1040
+ | **Name** | **Type** | **Description** |
1041
+ | --- | --- | --- |
1042
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsTable.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
1043
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsTable.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
1044
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsTable.Initializer.parameter.props">props</a></code> | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsTableProps">MicroAppsTableProps</a></code> | *No description.* |
457
1045
 
458
- - *Type:* [`constructs.Construct`](#constructs.Construct)
1046
+ ---
1047
+
1048
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@pwrdrvr/microapps-cdk.MicroAppsTable.Initializer.parameter.scope"></a>
1049
+
1050
+ - *Type:* constructs.Construct
459
1051
 
460
1052
  ---
461
1053
 
462
- ##### `id`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsTable.id"></a>
1054
+ ##### `id`<sup>Required</sup> <a name="id" id="@pwrdrvr/microapps-cdk.MicroAppsTable.Initializer.parameter.id"></a>
463
1055
 
464
- - *Type:* `string`
1056
+ - *Type:* string
465
1057
 
466
1058
  ---
467
1059
 
468
- ##### `props`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsTable.props"></a>
1060
+ ##### `props`<sup>Optional</sup> <a name="props" id="@pwrdrvr/microapps-cdk.MicroAppsTable.Initializer.parameter.props"></a>
469
1061
 
470
- - *Type:* [`@pwrdrvr/microapps-cdk.MicroAppsTableProps`](#@pwrdrvr/microapps-cdk.MicroAppsTableProps)
1062
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.MicroAppsTableProps">MicroAppsTableProps</a>
471
1063
 
472
1064
  ---
473
1065
 
1066
+ #### Methods <a name="Methods" id="Methods"></a>
474
1067
 
1068
+ | **Name** | **Description** |
1069
+ | --- | --- |
1070
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsTable.toString">toString</a></code> | Returns a string representation of this construct. |
475
1071
 
476
- #### Properties <a name="Properties"></a>
1072
+ ---
477
1073
 
478
- ##### `table`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsTable.table"></a>
1074
+ ##### `toString` <a name="toString" id="@pwrdrvr/microapps-cdk.MicroAppsTable.toString"></a>
479
1075
 
480
- - *Type:* [`aws-cdk-lib.aws_dynamodb.Table`](#aws-cdk-lib.aws_dynamodb.Table)
1076
+ ```typescript
1077
+ public toString(): string
1078
+ ```
1079
+
1080
+ Returns a string representation of this construct.
1081
+
1082
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1083
+
1084
+ | **Name** | **Description** |
1085
+ | --- | --- |
1086
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsTable.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
1087
+
1088
+ ---
1089
+
1090
+ ##### `isConstruct` <a name="isConstruct" id="@pwrdrvr/microapps-cdk.MicroAppsTable.isConstruct"></a>
1091
+
1092
+ ```typescript
1093
+ import { MicroAppsTable } from '@pwrdrvr/microapps-cdk'
1094
+
1095
+ MicroAppsTable.isConstruct(x: any)
1096
+ ```
1097
+
1098
+ Checks if `x` is a construct.
1099
+
1100
+ Use this method instead of `instanceof` to properly detect `Construct`
1101
+ instances, even when the construct library is symlinked.
1102
+
1103
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
1104
+ disk are seen as independent, completely different libraries. As a
1105
+ consequence, the class `Construct` in each copy of the `constructs` library
1106
+ is seen as a different class, and an instance of one class will not test as
1107
+ `instanceof` the other class. `npm install` will not create installations
1108
+ like this, but users may manually symlink construct libraries together or
1109
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
1110
+ library can be accidentally installed, and `instanceof` will behave
1111
+ unpredictably. It is safest to avoid using `instanceof`, and using
1112
+ this type-testing method instead.
1113
+
1114
+ ###### `x`<sup>Required</sup> <a name="x" id="@pwrdrvr/microapps-cdk.MicroAppsTable.isConstruct.parameter.x"></a>
1115
+
1116
+ - *Type:* any
1117
+
1118
+ Any object.
1119
+
1120
+ ---
1121
+
1122
+ #### Properties <a name="Properties" id="Properties"></a>
1123
+
1124
+ | **Name** | **Type** | **Description** |
1125
+ | --- | --- | --- |
1126
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsTable.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
1127
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsTable.property.table">table</a></code> | <code>aws-cdk-lib.aws_dynamodb.Table</code> | DynamoDB table used by Router, Deployer, and Release console app. |
1128
+
1129
+ ---
1130
+
1131
+ ##### `node`<sup>Required</sup> <a name="node" id="@pwrdrvr/microapps-cdk.MicroAppsTable.property.node"></a>
1132
+
1133
+ ```typescript
1134
+ public readonly node: Node;
1135
+ ```
1136
+
1137
+ - *Type:* constructs.Node
1138
+
1139
+ The tree node.
1140
+
1141
+ ---
1142
+
1143
+ ##### `table`<sup>Required</sup> <a name="table" id="@pwrdrvr/microapps-cdk.MicroAppsTable.property.table"></a>
1144
+
1145
+ ```typescript
1146
+ public readonly table: Table;
1147
+ ```
1148
+
1149
+ - *Type:* aws-cdk-lib.aws_dynamodb.Table
481
1150
 
482
1151
  DynamoDB table used by Router, Deployer, and Release console app.
483
1152
 
484
1153
  ---
485
1154
 
486
1155
 
487
- ## Structs <a name="Structs"></a>
1156
+ ## Structs <a name="Structs" id="Structs"></a>
488
1157
 
489
- ### AddRoutesOptions <a name="@pwrdrvr/microapps-cdk.AddRoutesOptions"></a>
1158
+ ### AddRoutesOptions <a name="AddRoutesOptions" id="@pwrdrvr/microapps-cdk.AddRoutesOptions"></a>
490
1159
 
491
1160
  Options for `AddRoutes`.
492
1161
 
493
- #### Initializer <a name="[object Object].Initializer"></a>
1162
+ #### Initializer <a name="Initializer" id="@pwrdrvr/microapps-cdk.AddRoutesOptions.Initializer"></a>
494
1163
 
495
1164
  ```typescript
496
1165
  import { AddRoutesOptions } from '@pwrdrvr/microapps-cdk'
@@ -498,9 +1167,26 @@ import { AddRoutesOptions } from '@pwrdrvr/microapps-cdk'
498
1167
  const addRoutesOptions: AddRoutesOptions = { ... }
499
1168
  ```
500
1169
 
501
- ##### `appOnlyOrigin`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.AddRoutesOptions.appOnlyOrigin"></a>
1170
+ #### Properties <a name="Properties" id="Properties"></a>
1171
+
1172
+ | **Name** | **Type** | **Description** |
1173
+ | --- | --- | --- |
1174
+ | <code><a href="#@pwrdrvr/microapps-cdk.AddRoutesOptions.property.appOnlyOrigin">appOnlyOrigin</a></code> | <code>aws-cdk-lib.aws_cloudfront.IOrigin</code> | Application origin. |
1175
+ | <code><a href="#@pwrdrvr/microapps-cdk.AddRoutesOptions.property.appOriginRequestPolicy">appOriginRequestPolicy</a></code> | <code>aws-cdk-lib.aws_cloudfront.IOriginRequestPolicy</code> | Origin Request policy for API Gateway Origin. |
1176
+ | <code><a href="#@pwrdrvr/microapps-cdk.AddRoutesOptions.property.bucketOriginFallbackToApp">bucketOriginFallbackToApp</a></code> | <code>aws-cdk-lib.aws_cloudfront_origins.OriginGroup</code> | Origin Group with Primary of S3 bucket with `x-microapps-origin: s3` custom header and Fallback of `appOnlyOrigin`. |
1177
+ | <code><a href="#@pwrdrvr/microapps-cdk.AddRoutesOptions.property.distro">distro</a></code> | <code>aws-cdk-lib.aws_cloudfront.Distribution</code> | CloudFront Distribution to add the Behaviors (Routes) to. |
1178
+ | <code><a href="#@pwrdrvr/microapps-cdk.AddRoutesOptions.property.edgeLambdas">edgeLambdas</a></code> | <code>aws-cdk-lib.aws_cloudfront.EdgeLambda[]</code> | Edge lambdas to associate with the API Gateway routes. |
1179
+ | <code><a href="#@pwrdrvr/microapps-cdk.AddRoutesOptions.property.rootPathPrefix">rootPathPrefix</a></code> | <code>string</code> | Path prefix on the root of the CloudFront distribution. |
502
1180
 
503
- - *Type:* [`aws-cdk-lib.aws_cloudfront.IOrigin`](#aws-cdk-lib.aws_cloudfront.IOrigin)
1181
+ ---
1182
+
1183
+ ##### `appOnlyOrigin`<sup>Required</sup> <a name="appOnlyOrigin" id="@pwrdrvr/microapps-cdk.AddRoutesOptions.property.appOnlyOrigin"></a>
1184
+
1185
+ ```typescript
1186
+ public readonly appOnlyOrigin: IOrigin;
1187
+ ```
1188
+
1189
+ - *Type:* aws-cdk-lib.aws_cloudfront.IOrigin
504
1190
 
505
1191
  Application origin.
506
1192
 
@@ -510,51 +1196,78 @@ The request never actually falls through to the S3 bucket.
510
1196
 
511
1197
  ---
512
1198
 
513
- ##### `appOriginRequestPolicy`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.AddRoutesOptions.appOriginRequestPolicy"></a>
1199
+ ##### `appOriginRequestPolicy`<sup>Required</sup> <a name="appOriginRequestPolicy" id="@pwrdrvr/microapps-cdk.AddRoutesOptions.property.appOriginRequestPolicy"></a>
1200
+
1201
+ ```typescript
1202
+ public readonly appOriginRequestPolicy: IOriginRequestPolicy;
1203
+ ```
514
1204
 
515
- - *Type:* [`aws-cdk-lib.aws_cloudfront.IOriginRequestPolicy`](#aws-cdk-lib.aws_cloudfront.IOriginRequestPolicy)
1205
+ - *Type:* aws-cdk-lib.aws_cloudfront.IOriginRequestPolicy
516
1206
 
517
1207
  Origin Request policy for API Gateway Origin.
518
1208
 
519
1209
  ---
520
1210
 
521
- ##### `bucketOriginFallbackToApp`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.AddRoutesOptions.bucketOriginFallbackToApp"></a>
1211
+ ##### `bucketOriginFallbackToApp`<sup>Required</sup> <a name="bucketOriginFallbackToApp" id="@pwrdrvr/microapps-cdk.AddRoutesOptions.property.bucketOriginFallbackToApp"></a>
1212
+
1213
+ ```typescript
1214
+ public readonly bucketOriginFallbackToApp: OriginGroup;
1215
+ ```
522
1216
 
523
- - *Type:* [`aws-cdk-lib.aws_cloudfront_origins.OriginGroup`](#aws-cdk-lib.aws_cloudfront_origins.OriginGroup)
1217
+ - *Type:* aws-cdk-lib.aws_cloudfront_origins.OriginGroup
524
1218
 
525
1219
  Origin Group with Primary of S3 bucket with `x-microapps-origin: s3` custom header and Fallback of `appOnlyOrigin`.
526
1220
 
527
1221
  ---
528
1222
 
529
- ##### `distro`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.AddRoutesOptions.distro"></a>
1223
+ ##### `distro`<sup>Required</sup> <a name="distro" id="@pwrdrvr/microapps-cdk.AddRoutesOptions.property.distro"></a>
530
1224
 
531
- - *Type:* [`aws-cdk-lib.aws_cloudfront.Distribution`](#aws-cdk-lib.aws_cloudfront.Distribution)
1225
+ ```typescript
1226
+ public readonly distro: Distribution;
1227
+ ```
1228
+
1229
+ - *Type:* aws-cdk-lib.aws_cloudfront.Distribution
532
1230
 
533
1231
  CloudFront Distribution to add the Behaviors (Routes) to.
534
1232
 
535
1233
  ---
536
1234
 
537
- ##### `edgeLambdas`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.AddRoutesOptions.edgeLambdas"></a>
1235
+ ##### `edgeLambdas`<sup>Optional</sup> <a name="edgeLambdas" id="@pwrdrvr/microapps-cdk.AddRoutesOptions.property.edgeLambdas"></a>
538
1236
 
539
- - *Type:* [`aws-cdk-lib.aws_cloudfront.EdgeLambda`](#aws-cdk-lib.aws_cloudfront.EdgeLambda)[]
1237
+ ```typescript
1238
+ public readonly edgeLambdas: EdgeLambda[];
1239
+ ```
1240
+
1241
+ - *Type:* aws-cdk-lib.aws_cloudfront.EdgeLambda[]
540
1242
 
541
1243
  Edge lambdas to associate with the API Gateway routes.
542
1244
 
543
1245
  ---
544
1246
 
545
- ##### `rootPathPrefix`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.AddRoutesOptions.rootPathPrefix"></a>
1247
+ ##### `rootPathPrefix`<sup>Optional</sup> <a name="rootPathPrefix" id="@pwrdrvr/microapps-cdk.AddRoutesOptions.property.rootPathPrefix"></a>
546
1248
 
547
- - *Type:* `string`
1249
+ ```typescript
1250
+ public readonly rootPathPrefix: string;
1251
+ ```
1252
+
1253
+ - *Type:* string
548
1254
 
549
1255
  Path prefix on the root of the CloudFront distribution.
550
1256
 
551
1257
  ---
552
1258
 
553
- ### CreateAPIOriginPolicyOptions <a name="@pwrdrvr/microapps-cdk.CreateAPIOriginPolicyOptions"></a>
1259
+ *Example*
1260
+
1261
+ ```typescript
1262
+ dev/
1263
+ ```
1264
+
1265
+
1266
+ ### CreateAPIOriginPolicyOptions <a name="CreateAPIOriginPolicyOptions" id="@pwrdrvr/microapps-cdk.CreateAPIOriginPolicyOptions"></a>
554
1267
 
555
1268
  Options for the `CreateAPIOriginPolicy`.
556
1269
 
557
- #### Initializer <a name="[object Object].Initializer"></a>
1270
+ #### Initializer <a name="Initializer" id="@pwrdrvr/microapps-cdk.CreateAPIOriginPolicyOptions.Initializer"></a>
558
1271
 
559
1272
  ```typescript
560
1273
  import { CreateAPIOriginPolicyOptions } from '@pwrdrvr/microapps-cdk'
@@ -562,35 +1275,71 @@ import { CreateAPIOriginPolicyOptions } from '@pwrdrvr/microapps-cdk'
562
1275
  const createAPIOriginPolicyOptions: CreateAPIOriginPolicyOptions = { ... }
563
1276
  ```
564
1277
 
565
- ##### `assetNameRoot`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.CreateAPIOriginPolicyOptions.assetNameRoot"></a>
1278
+ #### Properties <a name="Properties" id="Properties"></a>
566
1279
 
567
- - *Type:* `string`
1280
+ | **Name** | **Type** | **Description** |
1281
+ | --- | --- | --- |
1282
+ | <code><a href="#@pwrdrvr/microapps-cdk.CreateAPIOriginPolicyOptions.property.assetNameRoot">assetNameRoot</a></code> | <code>string</code> | Optional asset name root. |
1283
+ | <code><a href="#@pwrdrvr/microapps-cdk.CreateAPIOriginPolicyOptions.property.assetNameSuffix">assetNameSuffix</a></code> | <code>string</code> | Optional asset name suffix. |
1284
+ | <code><a href="#@pwrdrvr/microapps-cdk.CreateAPIOriginPolicyOptions.property.domainNameEdge">domainNameEdge</a></code> | <code>string</code> | Edge domain name used by CloudFront - If set a custom OriginRequestPolicy will be created that prevents the Host header from being passed to the origin. |
1285
+
1286
+ ---
1287
+
1288
+ ##### `assetNameRoot`<sup>Optional</sup> <a name="assetNameRoot" id="@pwrdrvr/microapps-cdk.CreateAPIOriginPolicyOptions.property.assetNameRoot"></a>
1289
+
1290
+ ```typescript
1291
+ public readonly assetNameRoot: string;
1292
+ ```
1293
+
1294
+ - *Type:* string
568
1295
  - *Default:* resource names auto assigned
569
1296
 
570
1297
  Optional asset name root.
571
1298
 
572
1299
  ---
573
1300
 
574
- ##### `assetNameSuffix`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.CreateAPIOriginPolicyOptions.assetNameSuffix"></a>
1301
+ *Example*
1302
+
1303
+ ```typescript
1304
+ microapps
1305
+ ```
1306
+
1307
+
1308
+ ##### `assetNameSuffix`<sup>Optional</sup> <a name="assetNameSuffix" id="@pwrdrvr/microapps-cdk.CreateAPIOriginPolicyOptions.property.assetNameSuffix"></a>
575
1309
 
576
- - *Type:* `string`
1310
+ ```typescript
1311
+ public readonly assetNameSuffix: string;
1312
+ ```
1313
+
1314
+ - *Type:* string
577
1315
  - *Default:* none
578
1316
 
579
1317
  Optional asset name suffix.
580
1318
 
581
1319
  ---
582
1320
 
583
- ##### `domainNameEdge`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.CreateAPIOriginPolicyOptions.domainNameEdge"></a>
1321
+ *Example*
1322
+
1323
+ ```typescript
1324
+ -dev-pr-12
1325
+ ```
1326
+
1327
+
1328
+ ##### `domainNameEdge`<sup>Optional</sup> <a name="domainNameEdge" id="@pwrdrvr/microapps-cdk.CreateAPIOriginPolicyOptions.property.domainNameEdge"></a>
1329
+
1330
+ ```typescript
1331
+ public readonly domainNameEdge: string;
1332
+ ```
584
1333
 
585
- - *Type:* `string`
1334
+ - *Type:* string
586
1335
 
587
1336
  Edge domain name used by CloudFront - If set a custom OriginRequestPolicy will be created that prevents the Host header from being passed to the origin.
588
1337
 
589
1338
  ---
590
1339
 
591
- ### GenerateEdgeToOriginConfigOptions <a name="@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions"></a>
1340
+ ### GenerateEdgeToOriginConfigOptions <a name="GenerateEdgeToOriginConfigOptions" id="@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions"></a>
592
1341
 
593
- #### Initializer <a name="[object Object].Initializer"></a>
1342
+ #### Initializer <a name="Initializer" id="@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.Initializer"></a>
594
1343
 
595
1344
  ```typescript
596
1345
  import { GenerateEdgeToOriginConfigOptions } from '@pwrdrvr/microapps-cdk'
@@ -598,53 +1347,95 @@ import { GenerateEdgeToOriginConfigOptions } from '@pwrdrvr/microapps-cdk'
598
1347
  const generateEdgeToOriginConfigOptions: GenerateEdgeToOriginConfigOptions = { ... }
599
1348
  ```
600
1349
 
601
- ##### `addXForwardedHostHeader`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.addXForwardedHostHeader"></a>
1350
+ #### Properties <a name="Properties" id="Properties"></a>
1351
+
1352
+ | **Name** | **Type** | **Description** |
1353
+ | --- | --- | --- |
1354
+ | <code><a href="#@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.property.addXForwardedHostHeader">addXForwardedHostHeader</a></code> | <code>boolean</code> | *No description.* |
1355
+ | <code><a href="#@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.property.originRegion">originRegion</a></code> | <code>string</code> | *No description.* |
1356
+ | <code><a href="#@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.property.replaceHostHeader">replaceHostHeader</a></code> | <code>boolean</code> | *No description.* |
1357
+ | <code><a href="#@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.property.signingMode">signingMode</a></code> | <code>string</code> | *No description.* |
1358
+ | <code><a href="#@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.property.locales">locales</a></code> | <code>string[]</code> | *No description.* |
1359
+ | <code><a href="#@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.property.rootPathPrefix">rootPathPrefix</a></code> | <code>string</code> | *No description.* |
1360
+ | <code><a href="#@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.property.tableName">tableName</a></code> | <code>string</code> | *No description.* |
602
1361
 
603
- - *Type:* `boolean`
1362
+ ---
1363
+
1364
+ ##### `addXForwardedHostHeader`<sup>Required</sup> <a name="addXForwardedHostHeader" id="@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.property.addXForwardedHostHeader"></a>
1365
+
1366
+ ```typescript
1367
+ public readonly addXForwardedHostHeader: boolean;
1368
+ ```
1369
+
1370
+ - *Type:* boolean
604
1371
 
605
1372
  ---
606
1373
 
607
- ##### `originRegion`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.originRegion"></a>
1374
+ ##### `originRegion`<sup>Required</sup> <a name="originRegion" id="@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.property.originRegion"></a>
608
1375
 
609
- - *Type:* `string`
1376
+ ```typescript
1377
+ public readonly originRegion: string;
1378
+ ```
1379
+
1380
+ - *Type:* string
610
1381
 
611
1382
  ---
612
1383
 
613
- ##### `replaceHostHeader`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.replaceHostHeader"></a>
1384
+ ##### `replaceHostHeader`<sup>Required</sup> <a name="replaceHostHeader" id="@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.property.replaceHostHeader"></a>
1385
+
1386
+ ```typescript
1387
+ public readonly replaceHostHeader: boolean;
1388
+ ```
614
1389
 
615
- - *Type:* `boolean`
1390
+ - *Type:* boolean
616
1391
 
617
1392
  ---
618
1393
 
619
- ##### `signingMode`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.signingMode"></a>
1394
+ ##### `signingMode`<sup>Required</sup> <a name="signingMode" id="@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.property.signingMode"></a>
620
1395
 
621
- - *Type:* `string`
1396
+ ```typescript
1397
+ public readonly signingMode: string;
1398
+ ```
1399
+
1400
+ - *Type:* string
622
1401
 
623
1402
  ---
624
1403
 
625
- ##### `locales`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.locales"></a>
1404
+ ##### `locales`<sup>Optional</sup> <a name="locales" id="@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.property.locales"></a>
1405
+
1406
+ ```typescript
1407
+ public readonly locales: string[];
1408
+ ```
626
1409
 
627
- - *Type:* `string`[]
1410
+ - *Type:* string[]
628
1411
 
629
1412
  ---
630
1413
 
631
- ##### `rootPathPrefix`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.rootPathPrefix"></a>
1414
+ ##### `rootPathPrefix`<sup>Optional</sup> <a name="rootPathPrefix" id="@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.property.rootPathPrefix"></a>
1415
+
1416
+ ```typescript
1417
+ public readonly rootPathPrefix: string;
1418
+ ```
632
1419
 
633
- - *Type:* `string`
1420
+ - *Type:* string
634
1421
 
635
1422
  ---
636
1423
 
637
- ##### `tableName`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.tableName"></a>
1424
+ ##### `tableName`<sup>Optional</sup> <a name="tableName" id="@pwrdrvr/microapps-cdk.GenerateEdgeToOriginConfigOptions.property.tableName"></a>
1425
+
1426
+ ```typescript
1427
+ public readonly tableName: string;
1428
+ ```
638
1429
 
639
- - *Type:* `string`
1430
+ - *Type:* string
640
1431
 
641
1432
  ---
642
1433
 
643
- ### MicroAppsCFProps <a name="@pwrdrvr/microapps-cdk.MicroAppsCFProps"></a>
1434
+ ### MicroAppsCFProps <a name="MicroAppsCFProps" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps"></a>
644
1435
 
645
1436
  Properties to initialize an instance of `MicroAppsCF`.
646
1437
 
647
- #### Initializer <a name="[object Object].Initializer"></a>
1438
+ #### Initializer <a name="Initializer" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.Initializer"></a>
648
1439
 
649
1440
  ```typescript
650
1441
  import { MicroAppsCFProps } from '@pwrdrvr/microapps-cdk'
@@ -652,59 +1443,123 @@ import { MicroAppsCFProps } from '@pwrdrvr/microapps-cdk'
652
1443
  const microAppsCFProps: MicroAppsCFProps = { ... }
653
1444
  ```
654
1445
 
655
- ##### `bucketAppsOriginApp`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCFProps.bucketAppsOriginApp"></a>
1446
+ #### Properties <a name="Properties" id="Properties"></a>
1447
+
1448
+ | **Name** | **Type** | **Description** |
1449
+ | --- | --- | --- |
1450
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.bucketAppsOriginApp">bucketAppsOriginApp</a></code> | <code>aws-cdk-lib.aws_cloudfront_origins.S3Origin</code> | S3 bucket origin for deployed applications Marked with `x-microapps-origin: app`. |
1451
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.bucketAppsOriginS3">bucketAppsOriginS3</a></code> | <code>aws-cdk-lib.aws_cloudfront_origins.S3Origin</code> | S3 bucket origin for deployed applications Marked with `x-microapps-origin: s3`. |
1452
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.assetNameRoot">assetNameRoot</a></code> | <code>string</code> | Optional asset name root. |
1453
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.assetNameSuffix">assetNameSuffix</a></code> | <code>string</code> | Optional asset name suffix. |
1454
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.bucketLogs">bucketLogs</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | S3 bucket for CloudFront logs. |
1455
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.certEdge">certEdge</a></code> | <code>aws-cdk-lib.aws_certificatemanager.ICertificate</code> | ACM Certificate that covers `domainNameEdge` name. |
1456
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.createAPIPathRoute">createAPIPathRoute</a></code> | <code>boolean</code> | Create an extra Behavior (Route) for /api/ that allows API routes to have a period in them. |
1457
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.createNextDataPathRoute">createNextDataPathRoute</a></code> | <code>boolean</code> | Create an extra Behavior (Route) for /_next/data/ This route is used by Next.js to load data from the API Gateway on `getServerSideProps` calls. The requests can end in `.json`, which would cause them to be routed to S3 if this route is not created. |
1458
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.domainNameEdge">domainNameEdge</a></code> | <code>string</code> | CloudFront Distribution domain name. |
1459
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.domainNameOrigin">domainNameOrigin</a></code> | <code>string</code> | API Gateway custom origin domain name. |
1460
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.edgeLambdas">edgeLambdas</a></code> | <code>aws-cdk-lib.aws_cloudfront.EdgeLambda[]</code> | Configuration of the edge to origin lambda functions. |
1461
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.originShieldRegion">originShieldRegion</a></code> | <code>string</code> | Optional Origin Shield Region. |
1462
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.r53Zone">r53Zone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | Route53 zone in which to create optional `domainNameEdge` record. |
1463
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.removalPolicy">removalPolicy</a></code> | <code>aws-cdk-lib.RemovalPolicy</code> | RemovalPolicy override for child resources. |
1464
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.rootPathPrefix">rootPathPrefix</a></code> | <code>string</code> | Path prefix on the root of the CloudFront distribution. |
1465
+
1466
+ ---
1467
+
1468
+ ##### `bucketAppsOriginApp`<sup>Required</sup> <a name="bucketAppsOriginApp" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.bucketAppsOriginApp"></a>
656
1469
 
657
- - *Type:* [`aws-cdk-lib.aws_cloudfront_origins.S3Origin`](#aws-cdk-lib.aws_cloudfront_origins.S3Origin)
1470
+ ```typescript
1471
+ public readonly bucketAppsOriginApp: S3Origin;
1472
+ ```
1473
+
1474
+ - *Type:* aws-cdk-lib.aws_cloudfront_origins.S3Origin
658
1475
 
659
1476
  S3 bucket origin for deployed applications Marked with `x-microapps-origin: app`.
660
1477
 
661
1478
  ---
662
1479
 
663
- ##### `bucketAppsOriginS3`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCFProps.bucketAppsOriginS3"></a>
1480
+ ##### `bucketAppsOriginS3`<sup>Required</sup> <a name="bucketAppsOriginS3" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.bucketAppsOriginS3"></a>
1481
+
1482
+ ```typescript
1483
+ public readonly bucketAppsOriginS3: S3Origin;
1484
+ ```
664
1485
 
665
- - *Type:* [`aws-cdk-lib.aws_cloudfront_origins.S3Origin`](#aws-cdk-lib.aws_cloudfront_origins.S3Origin)
1486
+ - *Type:* aws-cdk-lib.aws_cloudfront_origins.S3Origin
666
1487
 
667
1488
  S3 bucket origin for deployed applications Marked with `x-microapps-origin: s3`.
668
1489
 
669
1490
  ---
670
1491
 
671
- ##### `assetNameRoot`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCFProps.assetNameRoot"></a>
1492
+ ##### `assetNameRoot`<sup>Optional</sup> <a name="assetNameRoot" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.assetNameRoot"></a>
1493
+
1494
+ ```typescript
1495
+ public readonly assetNameRoot: string;
1496
+ ```
672
1497
 
673
- - *Type:* `string`
1498
+ - *Type:* string
674
1499
  - *Default:* resource names auto assigned
675
1500
 
676
1501
  Optional asset name root.
677
1502
 
678
1503
  ---
679
1504
 
680
- ##### `assetNameSuffix`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCFProps.assetNameSuffix"></a>
1505
+ *Example*
1506
+
1507
+ ```typescript
1508
+ microapps
1509
+ ```
1510
+
1511
+
1512
+ ##### `assetNameSuffix`<sup>Optional</sup> <a name="assetNameSuffix" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.assetNameSuffix"></a>
1513
+
1514
+ ```typescript
1515
+ public readonly assetNameSuffix: string;
1516
+ ```
681
1517
 
682
- - *Type:* `string`
1518
+ - *Type:* string
683
1519
  - *Default:* none
684
1520
 
685
1521
  Optional asset name suffix.
686
1522
 
687
1523
  ---
688
1524
 
689
- ##### `bucketLogs`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCFProps.bucketLogs"></a>
1525
+ *Example*
1526
+
1527
+ ```typescript
1528
+ -dev-pr-12
1529
+ ```
1530
+
1531
+
1532
+ ##### `bucketLogs`<sup>Optional</sup> <a name="bucketLogs" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.bucketLogs"></a>
1533
+
1534
+ ```typescript
1535
+ public readonly bucketLogs: IBucket;
1536
+ ```
690
1537
 
691
- - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket)
1538
+ - *Type:* aws-cdk-lib.aws_s3.IBucket
692
1539
 
693
1540
  S3 bucket for CloudFront logs.
694
1541
 
695
1542
  ---
696
1543
 
697
- ##### `certEdge`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCFProps.certEdge"></a>
1544
+ ##### `certEdge`<sup>Optional</sup> <a name="certEdge" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.certEdge"></a>
1545
+
1546
+ ```typescript
1547
+ public readonly certEdge: ICertificate;
1548
+ ```
698
1549
 
699
- - *Type:* [`aws-cdk-lib.aws_certificatemanager.ICertificate`](#aws-cdk-lib.aws_certificatemanager.ICertificate)
1550
+ - *Type:* aws-cdk-lib.aws_certificatemanager.ICertificate
700
1551
 
701
1552
  ACM Certificate that covers `domainNameEdge` name.
702
1553
 
703
1554
  ---
704
1555
 
705
- ##### `createAPIPathRoute`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCFProps.createAPIPathRoute"></a>
1556
+ ##### `createAPIPathRoute`<sup>Optional</sup> <a name="createAPIPathRoute" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.createAPIPathRoute"></a>
706
1557
 
707
- - *Type:* `boolean`
1558
+ ```typescript
1559
+ public readonly createAPIPathRoute: boolean;
1560
+ ```
1561
+
1562
+ - *Type:* boolean
708
1563
  - *Default:* true if httpApi is provided
709
1564
 
710
1565
  Create an extra Behavior (Route) for /api/ that allows API routes to have a period in them.
@@ -716,9 +1571,13 @@ even if they have a period in the path.
716
1571
 
717
1572
  ---
718
1573
 
719
- ##### `createNextDataPathRoute`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCFProps.createNextDataPathRoute"></a>
1574
+ ##### `createNextDataPathRoute`<sup>Optional</sup> <a name="createNextDataPathRoute" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.createNextDataPathRoute"></a>
1575
+
1576
+ ```typescript
1577
+ public readonly createNextDataPathRoute: boolean;
1578
+ ```
720
1579
 
721
- - *Type:* `boolean`
1580
+ - *Type:* boolean
722
1581
  - *Default:* true if httpApi is provided
723
1582
 
724
1583
  Create an extra Behavior (Route) for /_next/data/ This route is used by Next.js to load data from the API Gateway on `getServerSideProps` calls. The requests can end in `.json`, which would cause them to be routed to S3 if this route is not created.
@@ -730,36 +1589,66 @@ even if they have a period in the path.
730
1589
 
731
1590
  ---
732
1591
 
733
- ##### `domainNameEdge`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCFProps.domainNameEdge"></a>
1592
+ ##### `domainNameEdge`<sup>Optional</sup> <a name="domainNameEdge" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.domainNameEdge"></a>
1593
+
1594
+ ```typescript
1595
+ public readonly domainNameEdge: string;
1596
+ ```
734
1597
 
735
- - *Type:* `string`
1598
+ - *Type:* string
736
1599
  - *Default:* auto-assigned
737
1600
 
738
1601
  CloudFront Distribution domain name.
739
1602
 
740
1603
  ---
741
1604
 
742
- ##### `domainNameOrigin`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCFProps.domainNameOrigin"></a>
1605
+ *Example*
1606
+
1607
+ ```typescript
1608
+ apps.pwrdrvr.com
1609
+ ```
1610
+
1611
+
1612
+ ##### `domainNameOrigin`<sup>Optional</sup> <a name="domainNameOrigin" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.domainNameOrigin"></a>
1613
+
1614
+ ```typescript
1615
+ public readonly domainNameOrigin: string;
1616
+ ```
743
1617
 
744
- - *Type:* `string`
1618
+ - *Type:* string
745
1619
  - *Default:* retrieved from httpApi, if possible
746
1620
 
747
1621
  API Gateway custom origin domain name.
748
1622
 
749
1623
  ---
750
1624
 
751
- ##### `edgeLambdas`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCFProps.edgeLambdas"></a>
1625
+ *Example*
1626
+
1627
+ ```typescript
1628
+ apps.pwrdrvr.com
1629
+ ```
1630
+
1631
+
1632
+ ##### `edgeLambdas`<sup>Optional</sup> <a name="edgeLambdas" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.edgeLambdas"></a>
1633
+
1634
+ ```typescript
1635
+ public readonly edgeLambdas: EdgeLambda[];
1636
+ ```
752
1637
 
753
- - *Type:* [`aws-cdk-lib.aws_cloudfront.EdgeLambda`](#aws-cdk-lib.aws_cloudfront.EdgeLambda)[]
1638
+ - *Type:* aws-cdk-lib.aws_cloudfront.EdgeLambda[]
754
1639
  - *Default:* no edge to API Gateway origin functions added
755
1640
 
756
1641
  Configuration of the edge to origin lambda functions.
757
1642
 
758
1643
  ---
759
1644
 
760
- ##### `originShieldRegion`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCFProps.originShieldRegion"></a>
1645
+ ##### `originShieldRegion`<sup>Optional</sup> <a name="originShieldRegion" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.originShieldRegion"></a>
1646
+
1647
+ ```typescript
1648
+ public readonly originShieldRegion: string;
1649
+ ```
761
1650
 
762
- - *Type:* `string`
1651
+ - *Type:* string
763
1652
  - *Default:* none
764
1653
 
765
1654
  Optional Origin Shield Region.
@@ -769,17 +1658,25 @@ EdgeToOrigin calls have the lowest latency (~1 ms).
769
1658
 
770
1659
  ---
771
1660
 
772
- ##### `r53Zone`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCFProps.r53Zone"></a>
1661
+ ##### `r53Zone`<sup>Optional</sup> <a name="r53Zone" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.r53Zone"></a>
773
1662
 
774
- - *Type:* [`aws-cdk-lib.aws_route53.IHostedZone`](#aws-cdk-lib.aws_route53.IHostedZone)
1663
+ ```typescript
1664
+ public readonly r53Zone: IHostedZone;
1665
+ ```
1666
+
1667
+ - *Type:* aws-cdk-lib.aws_route53.IHostedZone
775
1668
 
776
1669
  Route53 zone in which to create optional `domainNameEdge` record.
777
1670
 
778
1671
  ---
779
1672
 
780
- ##### `removalPolicy`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCFProps.removalPolicy"></a>
1673
+ ##### `removalPolicy`<sup>Optional</sup> <a name="removalPolicy" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.removalPolicy"></a>
1674
+
1675
+ ```typescript
1676
+ public readonly removalPolicy: RemovalPolicy;
1677
+ ```
781
1678
 
782
- - *Type:* [`aws-cdk-lib.RemovalPolicy`](#aws-cdk-lib.RemovalPolicy)
1679
+ - *Type:* aws-cdk-lib.RemovalPolicy
783
1680
  - *Default:* per resource default
784
1681
 
785
1682
  RemovalPolicy override for child resources.
@@ -788,19 +1685,30 @@ Note: if set to DESTROY the S3 buckes will have `autoDeleteObjects` set to `true
788
1685
 
789
1686
  ---
790
1687
 
791
- ##### `rootPathPrefix`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsCFProps.rootPathPrefix"></a>
1688
+ ##### `rootPathPrefix`<sup>Optional</sup> <a name="rootPathPrefix" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.rootPathPrefix"></a>
1689
+
1690
+ ```typescript
1691
+ public readonly rootPathPrefix: string;
1692
+ ```
792
1693
 
793
- - *Type:* `string`
1694
+ - *Type:* string
794
1695
 
795
1696
  Path prefix on the root of the CloudFront distribution.
796
1697
 
797
1698
  ---
798
1699
 
799
- ### MicroAppsChildDeployerProps <a name="@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps"></a>
1700
+ *Example*
1701
+
1702
+ ```typescript
1703
+ dev/
1704
+ ```
1705
+
1706
+
1707
+ ### MicroAppsChildDeployerProps <a name="MicroAppsChildDeployerProps" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps"></a>
800
1708
 
801
1709
  Properties to initialize an instance of `MicroAppsChildDeployer`.
802
1710
 
803
- #### Initializer <a name="[object Object].Initializer"></a>
1711
+ #### Initializer <a name="Initializer" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.Initializer"></a>
804
1712
 
805
1713
  ```typescript
806
1714
  import { MicroAppsChildDeployerProps } from '@pwrdrvr/microapps-cdk'
@@ -808,43 +1716,91 @@ import { MicroAppsChildDeployerProps } from '@pwrdrvr/microapps-cdk'
808
1716
  const microAppsChildDeployerProps: MicroAppsChildDeployerProps = { ... }
809
1717
  ```
810
1718
 
811
- ##### `appEnv`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.appEnv"></a>
1719
+ #### Properties <a name="Properties" id="Properties"></a>
1720
+
1721
+ | **Name** | **Type** | **Description** |
1722
+ | --- | --- | --- |
1723
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.property.appEnv">appEnv</a></code> | <code>string</code> | Application environment, passed as `NODE_ENV` to the Router and Deployer Lambda functions. |
1724
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.property.parentDeployerLambdaARN">parentDeployerLambdaARN</a></code> | <code>string</code> | ARN of the parent Deployer Lambda Function. |
1725
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.property.assetNameRoot">assetNameRoot</a></code> | <code>string</code> | Optional asset name root. |
1726
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.property.assetNameSuffix">assetNameSuffix</a></code> | <code>string</code> | Optional asset name suffix. |
1727
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.property.deployerTimeout">deployerTimeout</a></code> | <code>aws-cdk-lib.Duration</code> | Deployer timeout. |
1728
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.property.edgeToOriginRoleARN">edgeToOriginRoleARN</a></code> | <code>string</code> | ARN of the IAM Role for the Edge to Origin Lambda Function. |
1729
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.property.removalPolicy">removalPolicy</a></code> | <code>aws-cdk-lib.RemovalPolicy</code> | RemovalPolicy override for child resources. |
1730
+
1731
+ ---
1732
+
1733
+ ##### `appEnv`<sup>Required</sup> <a name="appEnv" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.property.appEnv"></a>
1734
+
1735
+ ```typescript
1736
+ public readonly appEnv: string;
1737
+ ```
812
1738
 
813
- - *Type:* `string`
1739
+ - *Type:* string
814
1740
 
815
1741
  Application environment, passed as `NODE_ENV` to the Router and Deployer Lambda functions.
816
1742
 
817
1743
  ---
818
1744
 
819
- ##### `parentDeployerLambdaARN`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.parentDeployerLambdaARN"></a>
1745
+ ##### `parentDeployerLambdaARN`<sup>Required</sup> <a name="parentDeployerLambdaARN" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.property.parentDeployerLambdaARN"></a>
1746
+
1747
+ ```typescript
1748
+ public readonly parentDeployerLambdaARN: string;
1749
+ ```
820
1750
 
821
- - *Type:* `string`
1751
+ - *Type:* string
822
1752
 
823
1753
  ARN of the parent Deployer Lambda Function.
824
1754
 
825
1755
  ---
826
1756
 
827
- ##### `assetNameRoot`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.assetNameRoot"></a>
1757
+ ##### `assetNameRoot`<sup>Optional</sup> <a name="assetNameRoot" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.property.assetNameRoot"></a>
828
1758
 
829
- - *Type:* `string`
1759
+ ```typescript
1760
+ public readonly assetNameRoot: string;
1761
+ ```
1762
+
1763
+ - *Type:* string
830
1764
  - *Default:* resource names auto assigned
831
1765
 
832
1766
  Optional asset name root.
833
1767
 
834
1768
  ---
835
1769
 
836
- ##### `assetNameSuffix`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.assetNameSuffix"></a>
1770
+ *Example*
1771
+
1772
+ ```typescript
1773
+ microapps
1774
+ ```
1775
+
1776
+
1777
+ ##### `assetNameSuffix`<sup>Optional</sup> <a name="assetNameSuffix" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.property.assetNameSuffix"></a>
837
1778
 
838
- - *Type:* `string`
1779
+ ```typescript
1780
+ public readonly assetNameSuffix: string;
1781
+ ```
1782
+
1783
+ - *Type:* string
839
1784
  - *Default:* none
840
1785
 
841
1786
  Optional asset name suffix.
842
1787
 
843
1788
  ---
844
1789
 
845
- ##### `deployerTimeout`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.deployerTimeout"></a>
1790
+ *Example*
1791
+
1792
+ ```typescript
1793
+ -dev-pr-12
1794
+ ```
1795
+
1796
+
1797
+ ##### `deployerTimeout`<sup>Optional</sup> <a name="deployerTimeout" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.property.deployerTimeout"></a>
846
1798
 
847
- - *Type:* [`aws-cdk-lib.Duration`](#aws-cdk-lib.Duration)
1799
+ ```typescript
1800
+ public readonly deployerTimeout: Duration;
1801
+ ```
1802
+
1803
+ - *Type:* aws-cdk-lib.Duration
848
1804
  - *Default:* 2 minutes
849
1805
 
850
1806
  Deployer timeout.
@@ -853,9 +1809,13 @@ For larger applications this needs to be set up to 2-5 minutes for the S3 copy
853
1809
 
854
1810
  ---
855
1811
 
856
- ##### `edgeToOriginRoleARN`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.edgeToOriginRoleARN"></a>
1812
+ ##### `edgeToOriginRoleARN`<sup>Optional</sup> <a name="edgeToOriginRoleARN" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.property.edgeToOriginRoleARN"></a>
1813
+
1814
+ ```typescript
1815
+ public readonly edgeToOriginRoleARN: string;
1816
+ ```
857
1817
 
858
- - *Type:* `string`
1818
+ - *Type:* string
859
1819
 
860
1820
  ARN of the IAM Role for the Edge to Origin Lambda Function.
861
1821
 
@@ -863,9 +1823,13 @@ For child accounts this can be blank as it is retrieved from the parent Deployer
863
1823
 
864
1824
  ---
865
1825
 
866
- ##### `removalPolicy`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.removalPolicy"></a>
1826
+ ##### `removalPolicy`<sup>Optional</sup> <a name="removalPolicy" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployerProps.property.removalPolicy"></a>
1827
+
1828
+ ```typescript
1829
+ public readonly removalPolicy: RemovalPolicy;
1830
+ ```
867
1831
 
868
- - *Type:* [`aws-cdk-lib.RemovalPolicy`](#aws-cdk-lib.RemovalPolicy)
1832
+ - *Type:* aws-cdk-lib.RemovalPolicy
869
1833
  - *Default:* per resource default
870
1834
 
871
1835
  RemovalPolicy override for child resources.
@@ -874,11 +1838,11 @@ Note: if set to DESTROY the S3 buckes will have `autoDeleteObjects` set to `true
874
1838
 
875
1839
  ---
876
1840
 
877
- ### MicroAppsEdgeToOriginProps <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps"></a>
1841
+ ### MicroAppsEdgeToOriginProps <a name="MicroAppsEdgeToOriginProps" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps"></a>
878
1842
 
879
1843
  Properties to initialize an instance of `MicroAppsEdgeToOrigin`.
880
1844
 
881
- #### Initializer <a name="[object Object].Initializer"></a>
1845
+ #### Initializer <a name="Initializer" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.Initializer"></a>
882
1846
 
883
1847
  ```typescript
884
1848
  import { MicroAppsEdgeToOriginProps } from '@pwrdrvr/microapps-cdk'
@@ -886,9 +1850,32 @@ import { MicroAppsEdgeToOriginProps } from '@pwrdrvr/microapps-cdk'
886
1850
  const microAppsEdgeToOriginProps: MicroAppsEdgeToOriginProps = { ... }
887
1851
  ```
888
1852
 
889
- ##### `addXForwardedHostHeader`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.addXForwardedHostHeader"></a>
1853
+ #### Properties <a name="Properties" id="Properties"></a>
1854
+
1855
+ | **Name** | **Type** | **Description** |
1856
+ | --- | --- | --- |
1857
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.addXForwardedHostHeader">addXForwardedHostHeader</a></code> | <code>boolean</code> | Adds an X-Forwarded-Host-Header when calling API Gateway. |
1858
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.allowedFunctionUrlAccounts">allowedFunctionUrlAccounts</a></code> | <code>string[]</code> | Account IDs allowed for cross-account Function URL invocations. |
1859
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.allowedLocalePrefixes">allowedLocalePrefixes</a></code> | <code>string[]</code> | List of allowed locale prefixes for pages. |
1860
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.assetNameRoot">assetNameRoot</a></code> | <code>string</code> | Optional asset name root. |
1861
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.assetNameSuffix">assetNameSuffix</a></code> | <code>string</code> | Optional asset name suffix. |
1862
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.originRegion">originRegion</a></code> | <code>string</code> | Origin region that API Gateway will be deployed to, used for the config.yml on the Edge function to sign requests for the correct region. |
1863
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.removalPolicy">removalPolicy</a></code> | <code>aws-cdk-lib.RemovalPolicy</code> | RemovalPolicy override for child resources. |
1864
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.replaceHostHeader">replaceHostHeader</a></code> | <code>boolean</code> | Replaces Host header (which will be the Edge domain name) with the Origin domain name when enabled. |
1865
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.rootPathPrefix">rootPathPrefix</a></code> | <code>string</code> | Path prefix on the root of the API Gateway Stage. |
1866
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.setupApiGatewayPermissions">setupApiGatewayPermissions</a></code> | <code>boolean</code> | Enable invoking API Gateway from the Edge Lambda. |
1867
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.signingMode">signingMode</a></code> | <code>string</code> | Requires IAM auth on the API Gateway origin if not set to 'none'. |
1868
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.tableRulesArn">tableRulesArn</a></code> | <code>string</code> | DynamoDB Table Name for apps/versions/rules. |
1869
+
1870
+ ---
1871
+
1872
+ ##### `addXForwardedHostHeader`<sup>Optional</sup> <a name="addXForwardedHostHeader" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.addXForwardedHostHeader"></a>
1873
+
1874
+ ```typescript
1875
+ public readonly addXForwardedHostHeader: boolean;
1876
+ ```
890
1877
 
891
- - *Type:* `boolean`
1878
+ - *Type:* boolean
892
1879
  - *Default:* true
893
1880
 
894
1881
  Adds an X-Forwarded-Host-Header when calling API Gateway.
@@ -900,45 +1887,86 @@ Note: if true, creates OriginRequest Lambda @ Edge function for API Gateway Orig
900
1887
 
901
1888
  ---
902
1889
 
903
- ##### `allowedFunctionUrlAccounts`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.allowedFunctionUrlAccounts"></a>
1890
+ ##### `allowedFunctionUrlAccounts`<sup>Optional</sup> <a name="allowedFunctionUrlAccounts" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.allowedFunctionUrlAccounts"></a>
904
1891
 
905
- - *Type:* `string`[]
1892
+ ```typescript
1893
+ public readonly allowedFunctionUrlAccounts: string[];
1894
+ ```
1895
+
1896
+ - *Type:* string[]
906
1897
  - *Default:* []
907
1898
 
908
1899
  Account IDs allowed for cross-account Function URL invocations.
909
1900
 
910
1901
  ---
911
1902
 
912
- ##### `allowedLocalePrefixes`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.allowedLocalePrefixes"></a>
1903
+ ##### `allowedLocalePrefixes`<sup>Optional</sup> <a name="allowedLocalePrefixes" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.allowedLocalePrefixes"></a>
1904
+
1905
+ ```typescript
1906
+ public readonly allowedLocalePrefixes: string[];
1907
+ ```
913
1908
 
914
- - *Type:* `string`[]
1909
+ - *Type:* string[]
915
1910
  - *Default:* none
916
1911
 
917
1912
  List of allowed locale prefixes for pages.
918
1913
 
919
1914
  ---
920
1915
 
921
- ##### `assetNameRoot`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.assetNameRoot"></a>
1916
+ *Example*
1917
+
1918
+ ```typescript
1919
+ : ['en', 'fr', 'es']
1920
+ ```
1921
+
1922
+
1923
+ ##### `assetNameRoot`<sup>Optional</sup> <a name="assetNameRoot" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.assetNameRoot"></a>
1924
+
1925
+ ```typescript
1926
+ public readonly assetNameRoot: string;
1927
+ ```
922
1928
 
923
- - *Type:* `string`
1929
+ - *Type:* string
924
1930
  - *Default:* resource names auto assigned
925
1931
 
926
1932
  Optional asset name root.
927
1933
 
928
1934
  ---
929
1935
 
930
- ##### `assetNameSuffix`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.assetNameSuffix"></a>
1936
+ *Example*
1937
+
1938
+ ```typescript
1939
+ microapps
1940
+ ```
1941
+
1942
+
1943
+ ##### `assetNameSuffix`<sup>Optional</sup> <a name="assetNameSuffix" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.assetNameSuffix"></a>
1944
+
1945
+ ```typescript
1946
+ public readonly assetNameSuffix: string;
1947
+ ```
931
1948
 
932
- - *Type:* `string`
1949
+ - *Type:* string
933
1950
  - *Default:* none
934
1951
 
935
1952
  Optional asset name suffix.
936
1953
 
937
1954
  ---
938
1955
 
939
- ##### `originRegion`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.originRegion"></a>
1956
+ *Example*
1957
+
1958
+ ```typescript
1959
+ -dev-pr-12
1960
+ ```
1961
+
1962
+
1963
+ ##### `originRegion`<sup>Optional</sup> <a name="originRegion" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.originRegion"></a>
1964
+
1965
+ ```typescript
1966
+ public readonly originRegion: string;
1967
+ ```
940
1968
 
941
- - *Type:* `string`
1969
+ - *Type:* string
942
1970
  - *Default:* undefined
943
1971
 
944
1972
  Origin region that API Gateway will be deployed to, used for the config.yml on the Edge function to sign requests for the correct region.
@@ -948,18 +1976,26 @@ and do not need this to be configured.
948
1976
 
949
1977
  ---
950
1978
 
951
- ##### `removalPolicy`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.removalPolicy"></a>
1979
+ ##### `removalPolicy`<sup>Optional</sup> <a name="removalPolicy" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.removalPolicy"></a>
1980
+
1981
+ ```typescript
1982
+ public readonly removalPolicy: RemovalPolicy;
1983
+ ```
952
1984
 
953
- - *Type:* [`aws-cdk-lib.RemovalPolicy`](#aws-cdk-lib.RemovalPolicy)
1985
+ - *Type:* aws-cdk-lib.RemovalPolicy
954
1986
  - *Default:* per resource default
955
1987
 
956
1988
  RemovalPolicy override for child resources.
957
1989
 
958
1990
  ---
959
1991
 
960
- ##### `replaceHostHeader`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.replaceHostHeader"></a>
1992
+ ##### `replaceHostHeader`<sup>Optional</sup> <a name="replaceHostHeader" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.replaceHostHeader"></a>
1993
+
1994
+ ```typescript
1995
+ public readonly replaceHostHeader: boolean;
1996
+ ```
961
1997
 
962
- - *Type:* `boolean`
1998
+ - *Type:* boolean
963
1999
  - *Default:* true
964
2000
 
965
2001
  Replaces Host header (which will be the Edge domain name) with the Origin domain name when enabled.
@@ -973,27 +2009,46 @@ Note: if true, creates OriginRequest Lambda @ Edge function for API Gateway Orig
973
2009
 
974
2010
  ---
975
2011
 
976
- ##### `rootPathPrefix`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.rootPathPrefix"></a>
2012
+ ##### `rootPathPrefix`<sup>Optional</sup> <a name="rootPathPrefix" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.rootPathPrefix"></a>
977
2013
 
978
- - *Type:* `string`
2014
+ ```typescript
2015
+ public readonly rootPathPrefix: string;
2016
+ ```
2017
+
2018
+ - *Type:* string
979
2019
  - *Default:* none
980
2020
 
981
2021
  Path prefix on the root of the API Gateway Stage.
982
2022
 
983
2023
  ---
984
2024
 
985
- ##### `setupApiGatewayPermissions`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.setupApiGatewayPermissions"></a>
2025
+ *Example*
2026
+
2027
+ ```typescript
2028
+ dev/
2029
+ ```
2030
+
2031
+
2032
+ ##### `setupApiGatewayPermissions`<sup>Optional</sup> <a name="setupApiGatewayPermissions" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.setupApiGatewayPermissions"></a>
986
2033
 
987
- - *Type:* `boolean`
2034
+ ```typescript
2035
+ public readonly setupApiGatewayPermissions: boolean;
2036
+ ```
2037
+
2038
+ - *Type:* boolean
988
2039
  - *Default:* false
989
2040
 
990
2041
  Enable invoking API Gateway from the Edge Lambda.
991
2042
 
992
2043
  ---
993
2044
 
994
- ##### `signingMode`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.signingMode"></a>
2045
+ ##### `signingMode`<sup>Optional</sup> <a name="signingMode" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.signingMode"></a>
2046
+
2047
+ ```typescript
2048
+ public readonly signingMode: string;
2049
+ ```
995
2050
 
996
- - *Type:* `string`
2051
+ - *Type:* string
997
2052
  - *Default:* 'sign'
998
2053
 
999
2054
  Requires IAM auth on the API Gateway origin if not set to 'none'.
@@ -1007,9 +2062,13 @@ Note: if 'sign' or 'presign', creates OriginRequest Lambda @ Edge function for A
1007
2062
 
1008
2063
  ---
1009
2064
 
1010
- ##### `tableRulesArn`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.tableRulesArn"></a>
2065
+ ##### `tableRulesArn`<sup>Optional</sup> <a name="tableRulesArn" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOriginProps.property.tableRulesArn"></a>
2066
+
2067
+ ```typescript
2068
+ public readonly tableRulesArn: string;
2069
+ ```
1011
2070
 
1012
- - *Type:* `string`
2071
+ - *Type:* string
1013
2072
 
1014
2073
  DynamoDB Table Name for apps/versions/rules.
1015
2074
 
@@ -1019,11 +2078,11 @@ Implies that 2nd generation routing is enabled.
1019
2078
 
1020
2079
  ---
1021
2080
 
1022
- ### MicroAppsProps <a name="@pwrdrvr/microapps-cdk.MicroAppsProps"></a>
2081
+ ### MicroAppsProps <a name="MicroAppsProps" id="@pwrdrvr/microapps-cdk.MicroAppsProps"></a>
1023
2082
 
1024
2083
  Properties to initialize an instance of `MicroApps`.
1025
2084
 
1026
- #### Initializer <a name="[object Object].Initializer"></a>
2085
+ #### Initializer <a name="Initializer" id="@pwrdrvr/microapps-cdk.MicroAppsProps.Initializer"></a>
1027
2086
 
1028
2087
  ```typescript
1029
2088
  import { MicroAppsProps } from '@pwrdrvr/microapps-cdk'
@@ -1031,18 +2090,60 @@ import { MicroAppsProps } from '@pwrdrvr/microapps-cdk'
1031
2090
  const microAppsProps: MicroAppsProps = { ... }
1032
2091
  ```
1033
2092
 
1034
- ##### `appEnv`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.appEnv"></a>
2093
+ #### Properties <a name="Properties" id="Properties"></a>
2094
+
2095
+ | **Name** | **Type** | **Description** |
2096
+ | --- | --- | --- |
2097
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.appEnv">appEnv</a></code> | <code>string</code> | Passed to NODE_ENV of Router and Deployer Lambda functions. |
2098
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.addXForwardedHostHeader">addXForwardedHostHeader</a></code> | <code>boolean</code> | Adds an X-Forwarded-Host-Header when calling API Gateway. |
2099
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.allowedFunctionUrlAccounts">allowedFunctionUrlAccounts</a></code> | <code>string[]</code> | Account IDs allowed for cross-account Function URL invocations. |
2100
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.allowedLocalePrefixes">allowedLocalePrefixes</a></code> | <code>string[]</code> | List of allowed locale prefixes for pages. |
2101
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.assetNameRoot">assetNameRoot</a></code> | <code>string</code> | Optional asset name root. |
2102
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.assetNameSuffix">assetNameSuffix</a></code> | <code>string</code> | Optional asset name suffix. |
2103
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.certEdge">certEdge</a></code> | <code>aws-cdk-lib.aws_certificatemanager.ICertificate</code> | Certificate in US-East-1 for the CloudFront distribution. |
2104
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.certOrigin">certOrigin</a></code> | <code>aws-cdk-lib.aws_certificatemanager.ICertificate</code> | Certificate in deployed region for the API Gateway. |
2105
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.createAPIGateway">createAPIGateway</a></code> | <code>boolean</code> | Create API Gateway for non-edge invocation. |
2106
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.createAPIPathRoute">createAPIPathRoute</a></code> | <code>boolean</code> | Create an extra Behavior (Route) for /api/ that allows API routes to have a period in them. |
2107
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.createNextDataPathRoute">createNextDataPathRoute</a></code> | <code>boolean</code> | Create an extra Behavior (Route) for /_next/data/ This route is used by Next.js to load data from the API Gateway on `getServerSideProps` calls. The requests can end in `.json`, which would cause them to be routed to S3 if this route is not created. |
2108
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.domainNameEdge">domainNameEdge</a></code> | <code>string</code> | Optional custom domain name for the CloudFront distribution. |
2109
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.domainNameOrigin">domainNameOrigin</a></code> | <code>string</code> | Optional custom domain name for the API Gateway HTTPv2 API. |
2110
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.edgeLambdas">edgeLambdas</a></code> | <code>aws-cdk-lib.aws_cloudfront.EdgeLambda[]</code> | Additional edge lambda functions. |
2111
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.edgeToOriginRoleARNs">edgeToOriginRoleARNs</a></code> | <code>string[]</code> | Additional IAM Role ARNs that should be allowed to invoke apps in child accounts. |
2112
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.originRegion">originRegion</a></code> | <code>string</code> | Origin region that API Gateway or Lambda function will be deployed to, used for the config.yml on the Edge function to sign requests for the correct region. |
2113
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.originShieldRegion">originShieldRegion</a></code> | <code>string</code> | Optional Origin Shield Region. |
2114
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.r53Zone">r53Zone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | Route53 zone in which to create optional `domainNameEdge` record. |
2115
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.removalPolicy">removalPolicy</a></code> | <code>aws-cdk-lib.RemovalPolicy</code> | RemovalPolicy override for child resources. |
2116
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.replaceHostHeader">replaceHostHeader</a></code> | <code>boolean</code> | Replaces Host header (which will be the Edge domain name) with the Origin domain name when enabled. |
2117
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.rootPathPrefix">rootPathPrefix</a></code> | <code>string</code> | Path prefix on the root of the CloudFront distribution. |
2118
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.s3PolicyBypassAROAs">s3PolicyBypassAROAs</a></code> | <code>string[]</code> | Applies when using s3StrictBucketPolicy = true. |
2119
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.s3PolicyBypassPrincipalARNs">s3PolicyBypassPrincipalARNs</a></code> | <code>string[]</code> | Applies when using s3StrictBucketPolicy = true. |
2120
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.s3StrictBucketPolicy">s3StrictBucketPolicy</a></code> | <code>boolean</code> | 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. |
2121
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.signingMode">signingMode</a></code> | <code>string</code> | Requires IAM auth on the API Gateway origin if not set to 'none'. |
2122
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.table">table</a></code> | <code>aws-cdk-lib.aws_dynamodb.ITable \| aws-cdk-lib.aws_dynamodb.ITableV2</code> | Existing table for apps/versions/rules. |
2123
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsProps.property.tableNameForEdgeToOrigin">tableNameForEdgeToOrigin</a></code> | <code>string</code> | Pre-set table name for apps/versions/rules. |
2124
+
2125
+ ---
2126
+
2127
+ ##### `appEnv`<sup>Required</sup> <a name="appEnv" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.appEnv"></a>
2128
+
2129
+ ```typescript
2130
+ public readonly appEnv: string;
2131
+ ```
1035
2132
 
1036
- - *Type:* `string`
2133
+ - *Type:* string
1037
2134
  - *Default:* dev
1038
2135
 
1039
2136
  Passed to NODE_ENV of Router and Deployer Lambda functions.
1040
2137
 
1041
2138
  ---
1042
2139
 
1043
- ##### `addXForwardedHostHeader`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.addXForwardedHostHeader"></a>
2140
+ ##### `addXForwardedHostHeader`<sup>Optional</sup> <a name="addXForwardedHostHeader" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.addXForwardedHostHeader"></a>
1044
2141
 
1045
- - *Type:* `boolean`
2142
+ ```typescript
2143
+ public readonly addXForwardedHostHeader: boolean;
2144
+ ```
2145
+
2146
+ - *Type:* boolean
1046
2147
  - *Default:* true
1047
2148
 
1048
2149
  Adds an X-Forwarded-Host-Header when calling API Gateway.
@@ -1054,70 +2155,123 @@ Note: if true, creates OriginRequest Lambda @ Edge function for API Gateway Orig
1054
2155
 
1055
2156
  ---
1056
2157
 
1057
- ##### `allowedFunctionUrlAccounts`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.allowedFunctionUrlAccounts"></a>
2158
+ ##### `allowedFunctionUrlAccounts`<sup>Optional</sup> <a name="allowedFunctionUrlAccounts" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.allowedFunctionUrlAccounts"></a>
2159
+
2160
+ ```typescript
2161
+ public readonly allowedFunctionUrlAccounts: string[];
2162
+ ```
1058
2163
 
1059
- - *Type:* `string`[]
2164
+ - *Type:* string[]
1060
2165
  - *Default:* []
1061
2166
 
1062
2167
  Account IDs allowed for cross-account Function URL invocations.
1063
2168
 
1064
2169
  ---
1065
2170
 
1066
- ##### `allowedLocalePrefixes`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.allowedLocalePrefixes"></a>
2171
+ ##### `allowedLocalePrefixes`<sup>Optional</sup> <a name="allowedLocalePrefixes" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.allowedLocalePrefixes"></a>
2172
+
2173
+ ```typescript
2174
+ public readonly allowedLocalePrefixes: string[];
2175
+ ```
1067
2176
 
1068
- - *Type:* `string`[]
2177
+ - *Type:* string[]
1069
2178
  - *Default:* none
1070
2179
 
1071
2180
  List of allowed locale prefixes for pages.
1072
2181
 
1073
2182
  ---
1074
2183
 
1075
- ##### `assetNameRoot`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.assetNameRoot"></a>
2184
+ *Example*
2185
+
2186
+ ```typescript
2187
+ : ['en', 'fr', 'es']
2188
+ ```
2189
+
2190
+
2191
+ ##### `assetNameRoot`<sup>Optional</sup> <a name="assetNameRoot" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.assetNameRoot"></a>
2192
+
2193
+ ```typescript
2194
+ public readonly assetNameRoot: string;
2195
+ ```
1076
2196
 
1077
- - *Type:* `string`
2197
+ - *Type:* string
1078
2198
  - *Default:* resource names auto assigned
1079
2199
 
1080
2200
  Optional asset name root.
1081
2201
 
1082
2202
  ---
1083
2203
 
1084
- ##### `assetNameSuffix`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.assetNameSuffix"></a>
2204
+ *Example*
2205
+
2206
+ ```typescript
2207
+ microapps
2208
+ ```
2209
+
2210
+
2211
+ ##### `assetNameSuffix`<sup>Optional</sup> <a name="assetNameSuffix" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.assetNameSuffix"></a>
2212
+
2213
+ ```typescript
2214
+ public readonly assetNameSuffix: string;
2215
+ ```
1085
2216
 
1086
- - *Type:* `string`
2217
+ - *Type:* string
1087
2218
  - *Default:* none
1088
2219
 
1089
2220
  Optional asset name suffix.
1090
2221
 
1091
2222
  ---
1092
2223
 
1093
- ##### `certEdge`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.certEdge"></a>
2224
+ *Example*
2225
+
2226
+ ```typescript
2227
+ -dev-pr-12
2228
+ ```
2229
+
2230
+
2231
+ ##### `certEdge`<sup>Optional</sup> <a name="certEdge" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.certEdge"></a>
2232
+
2233
+ ```typescript
2234
+ public readonly certEdge: ICertificate;
2235
+ ```
1094
2236
 
1095
- - *Type:* [`aws-cdk-lib.aws_certificatemanager.ICertificate`](#aws-cdk-lib.aws_certificatemanager.ICertificate)
2237
+ - *Type:* aws-cdk-lib.aws_certificatemanager.ICertificate
1096
2238
 
1097
2239
  Certificate in US-East-1 for the CloudFront distribution.
1098
2240
 
1099
2241
  ---
1100
2242
 
1101
- ##### `certOrigin`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.certOrigin"></a>
2243
+ ##### `certOrigin`<sup>Optional</sup> <a name="certOrigin" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.certOrigin"></a>
2244
+
2245
+ ```typescript
2246
+ public readonly certOrigin: ICertificate;
2247
+ ```
1102
2248
 
1103
- - *Type:* [`aws-cdk-lib.aws_certificatemanager.ICertificate`](#aws-cdk-lib.aws_certificatemanager.ICertificate)
2249
+ - *Type:* aws-cdk-lib.aws_certificatemanager.ICertificate
1104
2250
 
1105
2251
  Certificate in deployed region for the API Gateway.
1106
2252
 
1107
2253
  ---
1108
2254
 
1109
- ##### `createAPIGateway`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.createAPIGateway"></a>
2255
+ ##### `createAPIGateway`<sup>Optional</sup> <a name="createAPIGateway" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.createAPIGateway"></a>
1110
2256
 
1111
- - *Type:* `boolean`
2257
+ ```typescript
2258
+ public readonly createAPIGateway: boolean;
2259
+ ```
2260
+
2261
+ - *Type:* boolean
1112
2262
  - *Default:* false
1113
2263
 
1114
2264
  Create API Gateway for non-edge invocation.
1115
2265
 
1116
2266
  ---
1117
2267
 
1118
- ##### `createAPIPathRoute`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.createAPIPathRoute"></a>
2268
+ ##### `createAPIPathRoute`<sup>Optional</sup> <a name="createAPIPathRoute" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.createAPIPathRoute"></a>
2269
+
2270
+ ```typescript
2271
+ public readonly createAPIPathRoute: boolean;
2272
+ ```
1119
2273
 
1120
- - *Type:* `boolean`
2274
+ - *Type:* boolean
1121
2275
  - *Default:* true
1122
2276
 
1123
2277
  Create an extra Behavior (Route) for /api/ that allows API routes to have a period in them.
@@ -1129,9 +2283,13 @@ even if they have a period in the path.
1129
2283
 
1130
2284
  ---
1131
2285
 
1132
- ##### `createNextDataPathRoute`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.createNextDataPathRoute"></a>
2286
+ ##### `createNextDataPathRoute`<sup>Optional</sup> <a name="createNextDataPathRoute" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.createNextDataPathRoute"></a>
2287
+
2288
+ ```typescript
2289
+ public readonly createNextDataPathRoute: boolean;
2290
+ ```
1133
2291
 
1134
- - *Type:* `boolean`
2292
+ - *Type:* boolean
1135
2293
  - *Default:* true
1136
2294
 
1137
2295
  Create an extra Behavior (Route) for /_next/data/ This route is used by Next.js to load data from the API Gateway on `getServerSideProps` calls. The requests can end in `.json`, which would cause them to be routed to S3 if this route is not created.
@@ -1143,52 +2301,90 @@ even if they have a period in the path.
1143
2301
 
1144
2302
  ---
1145
2303
 
1146
- ##### `domainNameEdge`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.domainNameEdge"></a>
2304
+ ##### `domainNameEdge`<sup>Optional</sup> <a name="domainNameEdge" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.domainNameEdge"></a>
2305
+
2306
+ ```typescript
2307
+ public readonly domainNameEdge: string;
2308
+ ```
1147
2309
 
1148
- - *Type:* `string`
2310
+ - *Type:* string
1149
2311
  - *Default:* auto-assigned
1150
2312
 
1151
2313
  Optional custom domain name for the CloudFront distribution.
1152
2314
 
1153
2315
  ---
1154
2316
 
1155
- ##### `domainNameOrigin`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.domainNameOrigin"></a>
2317
+ *Example*
2318
+
2319
+ ```typescript
2320
+ apps.pwrdrvr.com
2321
+ ```
2322
+
2323
+
2324
+ ##### `domainNameOrigin`<sup>Optional</sup> <a name="domainNameOrigin" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.domainNameOrigin"></a>
2325
+
2326
+ ```typescript
2327
+ public readonly domainNameOrigin: string;
2328
+ ```
1156
2329
 
1157
- - *Type:* `string`
2330
+ - *Type:* string
1158
2331
  - *Default:* auto-assigned
1159
2332
 
1160
2333
  Optional custom domain name for the API Gateway HTTPv2 API.
1161
2334
 
1162
2335
  ---
1163
2336
 
1164
- ##### `edgeLambdas`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.edgeLambdas"></a>
2337
+ *Example*
1165
2338
 
1166
- - *Type:* [`aws-cdk-lib.aws_cloudfront.EdgeLambda`](#aws-cdk-lib.aws_cloudfront.EdgeLambda)[]
2339
+ ```typescript
2340
+ apps-origin.pwrdrvr.com
2341
+ ```
2342
+
2343
+
2344
+ ##### `edgeLambdas`<sup>Optional</sup> <a name="edgeLambdas" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.edgeLambdas"></a>
2345
+
2346
+ ```typescript
2347
+ public readonly edgeLambdas: EdgeLambda[];
2348
+ ```
2349
+
2350
+ - *Type:* aws-cdk-lib.aws_cloudfront.EdgeLambda[]
1167
2351
 
1168
2352
  Additional edge lambda functions.
1169
2353
 
1170
2354
  ---
1171
2355
 
1172
- ##### `edgeToOriginRoleARNs`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.edgeToOriginRoleARNs"></a>
2356
+ ##### `edgeToOriginRoleARNs`<sup>Optional</sup> <a name="edgeToOriginRoleARNs" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.edgeToOriginRoleARNs"></a>
1173
2357
 
1174
- - *Type:* `string`[]
2358
+ ```typescript
2359
+ public readonly edgeToOriginRoleARNs: string[];
2360
+ ```
2361
+
2362
+ - *Type:* string[]
1175
2363
 
1176
2364
  Additional IAM Role ARNs that should be allowed to invoke apps in child accounts.
1177
2365
 
1178
2366
  ---
1179
2367
 
1180
- ##### `originRegion`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.originRegion"></a>
2368
+ ##### `originRegion`<sup>Optional</sup> <a name="originRegion" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.originRegion"></a>
2369
+
2370
+ ```typescript
2371
+ public readonly originRegion: string;
2372
+ ```
1181
2373
 
1182
- - *Type:* `string`
2374
+ - *Type:* string
1183
2375
  - *Default:* undefined
1184
2376
 
1185
2377
  Origin region that API Gateway or Lambda function will be deployed to, used for the config.yml on the Edge function to sign requests for the correct region.
1186
2378
 
1187
2379
  ---
1188
2380
 
1189
- ##### `originShieldRegion`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.originShieldRegion"></a>
2381
+ ##### `originShieldRegion`<sup>Optional</sup> <a name="originShieldRegion" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.originShieldRegion"></a>
2382
+
2383
+ ```typescript
2384
+ public readonly originShieldRegion: string;
2385
+ ```
1190
2386
 
1191
- - *Type:* `string`
2387
+ - *Type:* string
1192
2388
  - *Default:* originRegion if specified, otherwise undefined
1193
2389
 
1194
2390
  Optional Origin Shield Region.
@@ -1198,17 +2394,25 @@ EdgeToOrigin calls have the lowest latency (~1 ms).
1198
2394
 
1199
2395
  ---
1200
2396
 
1201
- ##### `r53Zone`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.r53Zone"></a>
2397
+ ##### `r53Zone`<sup>Optional</sup> <a name="r53Zone" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.r53Zone"></a>
2398
+
2399
+ ```typescript
2400
+ public readonly r53Zone: IHostedZone;
2401
+ ```
1202
2402
 
1203
- - *Type:* [`aws-cdk-lib.aws_route53.IHostedZone`](#aws-cdk-lib.aws_route53.IHostedZone)
2403
+ - *Type:* aws-cdk-lib.aws_route53.IHostedZone
1204
2404
 
1205
2405
  Route53 zone in which to create optional `domainNameEdge` record.
1206
2406
 
1207
2407
  ---
1208
2408
 
1209
- ##### `removalPolicy`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.removalPolicy"></a>
2409
+ ##### `removalPolicy`<sup>Optional</sup> <a name="removalPolicy" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.removalPolicy"></a>
1210
2410
 
1211
- - *Type:* [`aws-cdk-lib.RemovalPolicy`](#aws-cdk-lib.RemovalPolicy)
2411
+ ```typescript
2412
+ public readonly removalPolicy: RemovalPolicy;
2413
+ ```
2414
+
2415
+ - *Type:* aws-cdk-lib.RemovalPolicy
1212
2416
  - *Default:* per resource default
1213
2417
 
1214
2418
  RemovalPolicy override for child resources.
@@ -1217,9 +2421,13 @@ Note: if set to DESTROY the S3 buckes will have `autoDeleteObjects` set to `true
1217
2421
 
1218
2422
  ---
1219
2423
 
1220
- ##### `replaceHostHeader`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.replaceHostHeader"></a>
2424
+ ##### `replaceHostHeader`<sup>Optional</sup> <a name="replaceHostHeader" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.replaceHostHeader"></a>
2425
+
2426
+ ```typescript
2427
+ public readonly replaceHostHeader: boolean;
2428
+ ```
1221
2429
 
1222
- - *Type:* `boolean`
2430
+ - *Type:* boolean
1223
2431
  - *Default:* true
1224
2432
 
1225
2433
  Replaces Host header (which will be the Edge domain name) with the Origin domain name when enabled.
@@ -1233,17 +2441,32 @@ Note: if true, creates OriginRequest Lambda @ Edge function for API Gateway Orig
1233
2441
 
1234
2442
  ---
1235
2443
 
1236
- ##### `rootPathPrefix`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.rootPathPrefix"></a>
2444
+ ##### `rootPathPrefix`<sup>Optional</sup> <a name="rootPathPrefix" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.rootPathPrefix"></a>
2445
+
2446
+ ```typescript
2447
+ public readonly rootPathPrefix: string;
2448
+ ```
1237
2449
 
1238
- - *Type:* `string`
2450
+ - *Type:* string
1239
2451
 
1240
2452
  Path prefix on the root of the CloudFront distribution.
1241
2453
 
1242
2454
  ---
1243
2455
 
1244
- ##### `s3PolicyBypassAROAs`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.s3PolicyBypassAROAs"></a>
2456
+ *Example*
2457
+
2458
+ ```typescript
2459
+ dev/
2460
+ ```
2461
+
2462
+
2463
+ ##### `s3PolicyBypassAROAs`<sup>Optional</sup> <a name="s3PolicyBypassAROAs" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.s3PolicyBypassAROAs"></a>
2464
+
2465
+ ```typescript
2466
+ public readonly s3PolicyBypassAROAs: string[];
2467
+ ```
1245
2468
 
1246
- - *Type:* `string`[]
2469
+ - *Type:* string[]
1247
2470
 
1248
2471
  Applies when using s3StrictBucketPolicy = true.
1249
2472
 
@@ -1281,13 +2504,24 @@ To get the AROA with the AWS CLI:
1281
2504
  aws iam get-role --role-name ROLE-NAME
1282
2505
  aws iam get-user --user-name USER-NAME
1283
2506
 
1284
- > s3StrictBucketPolicy
2507
+ > [s3StrictBucketPolicy](s3StrictBucketPolicy)
1285
2508
 
1286
2509
  ---
1287
2510
 
1288
- ##### `s3PolicyBypassPrincipalARNs`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.s3PolicyBypassPrincipalARNs"></a>
2511
+ *Example*
2512
+
2513
+ ```typescript
2514
+ [ 'AROA1234567890123' ]
2515
+ ```
2516
+
2517
+
2518
+ ##### `s3PolicyBypassPrincipalARNs`<sup>Optional</sup> <a name="s3PolicyBypassPrincipalARNs" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.s3PolicyBypassPrincipalARNs"></a>
2519
+
2520
+ ```typescript
2521
+ public readonly s3PolicyBypassPrincipalARNs: string[];
2522
+ ```
1289
2523
 
1290
- - *Type:* `string`[]
2524
+ - *Type:* string[]
1291
2525
 
1292
2526
  Applies when using s3StrictBucketPolicy = true.
1293
2527
 
@@ -1298,13 +2532,24 @@ Roles that are Assumed must instead have their AROA added to `s3PolicyBypassAROA
1298
2532
  Typically any admin roles / users that need to view or manage the S3 Bucket
1299
2533
  would be added to this list.
1300
2534
 
1301
- > s3PolicyBypassAROAs
2535
+ > [s3PolicyBypassAROAs](s3PolicyBypassAROAs)
1302
2536
 
1303
2537
  ---
1304
2538
 
1305
- ##### `s3StrictBucketPolicy`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.s3StrictBucketPolicy"></a>
2539
+ *Example*
2540
+
2541
+ ```typescript
2542
+ ['arn:aws:iam::1234567890123:role/AdminAccess', 'arn:aws:iam::1234567890123:user/MyAdminUser']
2543
+ ```
2544
+
2545
+
2546
+ ##### `s3StrictBucketPolicy`<sup>Optional</sup> <a name="s3StrictBucketPolicy" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.s3StrictBucketPolicy"></a>
2547
+
2548
+ ```typescript
2549
+ public readonly s3StrictBucketPolicy: boolean;
2550
+ ```
1306
2551
 
1307
- - *Type:* `boolean`
2552
+ - *Type:* boolean
1308
2553
  - *Default:* false
1309
2554
 
1310
2555
  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.
@@ -1314,9 +2559,13 @@ fully trusted.
1314
2559
 
1315
2560
  ---
1316
2561
 
1317
- ##### `signingMode`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.signingMode"></a>
2562
+ ##### `signingMode`<sup>Optional</sup> <a name="signingMode" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.signingMode"></a>
2563
+
2564
+ ```typescript
2565
+ public readonly signingMode: string;
2566
+ ```
1318
2567
 
1319
- - *Type:* `string`
2568
+ - *Type:* string
1320
2569
  - *Default:* 'sign'
1321
2570
 
1322
2571
  Requires IAM auth on the API Gateway origin if not set to 'none'.
@@ -1330,18 +2579,26 @@ Note: if 'sign' or 'presign', creates OriginRequest Lambda @ Edge function for A
1330
2579
 
1331
2580
  ---
1332
2581
 
1333
- ##### `table`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.table"></a>
2582
+ ##### `table`<sup>Optional</sup> <a name="table" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.table"></a>
1334
2583
 
1335
- - *Type:* [`aws-cdk-lib.aws_dynamodb.ITable`](#aws-cdk-lib.aws_dynamodb.ITable) | [`aws-cdk-lib.aws_dynamodb.ITableV2`](#aws-cdk-lib.aws_dynamodb.ITableV2)
2584
+ ```typescript
2585
+ public readonly table: ITable | ITableV2;
2586
+ ```
2587
+
2588
+ - *Type:* aws-cdk-lib.aws_dynamodb.ITable | aws-cdk-lib.aws_dynamodb.ITableV2
1336
2589
  - *Default:* created by construct
1337
2590
 
1338
2591
  Existing table for apps/versions/rules.
1339
2592
 
1340
2593
  ---
1341
2594
 
1342
- ##### `tableNameForEdgeToOrigin`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsProps.tableNameForEdgeToOrigin"></a>
2595
+ ##### `tableNameForEdgeToOrigin`<sup>Optional</sup> <a name="tableNameForEdgeToOrigin" id="@pwrdrvr/microapps-cdk.MicroAppsProps.property.tableNameForEdgeToOrigin"></a>
2596
+
2597
+ ```typescript
2598
+ public readonly tableNameForEdgeToOrigin: string;
2599
+ ```
1343
2600
 
1344
- - *Type:* `string`
2601
+ - *Type:* string
1345
2602
 
1346
2603
  Pre-set table name for apps/versions/rules.
1347
2604
 
@@ -1349,11 +2606,11 @@ This is required when using v2 routing
1349
2606
 
1350
2607
  ---
1351
2608
 
1352
- ### MicroAppsS3Props <a name="@pwrdrvr/microapps-cdk.MicroAppsS3Props"></a>
2609
+ ### MicroAppsS3Props <a name="MicroAppsS3Props" id="@pwrdrvr/microapps-cdk.MicroAppsS3Props"></a>
1353
2610
 
1354
2611
  Properties to initialize an instance of `MicroAppsS3`.
1355
2612
 
1356
- #### Initializer <a name="[object Object].Initializer"></a>
2613
+ #### Initializer <a name="Initializer" id="@pwrdrvr/microapps-cdk.MicroAppsS3Props.Initializer"></a>
1357
2614
 
1358
2615
  ```typescript
1359
2616
  import { MicroAppsS3Props } from '@pwrdrvr/microapps-cdk'
@@ -1361,54 +2618,106 @@ import { MicroAppsS3Props } from '@pwrdrvr/microapps-cdk'
1361
2618
  const microAppsS3Props: MicroAppsS3Props = { ... }
1362
2619
  ```
1363
2620
 
1364
- ##### `assetNameRoot`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsS3Props.assetNameRoot"></a>
2621
+ #### Properties <a name="Properties" id="Properties"></a>
2622
+
2623
+ | **Name** | **Type** | **Description** |
2624
+ | --- | --- | --- |
2625
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3Props.property.assetNameRoot">assetNameRoot</a></code> | <code>string</code> | Optional asset name root. |
2626
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3Props.property.assetNameSuffix">assetNameSuffix</a></code> | <code>string</code> | Optional asset name suffix. |
2627
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3Props.property.bucketAppsName">bucketAppsName</a></code> | <code>string</code> | S3 deployed apps bucket name. |
2628
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3Props.property.bucketAppsStagingName">bucketAppsStagingName</a></code> | <code>string</code> | S3 staging apps bucket name. |
2629
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3Props.property.bucketLogsName">bucketLogsName</a></code> | <code>string</code> | S3 logs bucket name. |
2630
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3Props.property.originShieldRegion">originShieldRegion</a></code> | <code>string</code> | Optional Origin Shield Region. |
2631
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3Props.property.removalPolicy">removalPolicy</a></code> | <code>aws-cdk-lib.RemovalPolicy</code> | RemovalPolicy override for child resources. |
2632
+
2633
+ ---
2634
+
2635
+ ##### `assetNameRoot`<sup>Optional</sup> <a name="assetNameRoot" id="@pwrdrvr/microapps-cdk.MicroAppsS3Props.property.assetNameRoot"></a>
2636
+
2637
+ ```typescript
2638
+ public readonly assetNameRoot: string;
2639
+ ```
1365
2640
 
1366
- - *Type:* `string`
2641
+ - *Type:* string
1367
2642
  - *Default:* resource names auto assigned
1368
2643
 
1369
2644
  Optional asset name root.
1370
2645
 
1371
2646
  ---
1372
2647
 
1373
- ##### `assetNameSuffix`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsS3Props.assetNameSuffix"></a>
2648
+ *Example*
2649
+
2650
+ ```typescript
2651
+ microapps
2652
+ ```
2653
+
2654
+
2655
+ ##### `assetNameSuffix`<sup>Optional</sup> <a name="assetNameSuffix" id="@pwrdrvr/microapps-cdk.MicroAppsS3Props.property.assetNameSuffix"></a>
2656
+
2657
+ ```typescript
2658
+ public readonly assetNameSuffix: string;
2659
+ ```
1374
2660
 
1375
- - *Type:* `string`
2661
+ - *Type:* string
1376
2662
  - *Default:* none
1377
2663
 
1378
2664
  Optional asset name suffix.
1379
2665
 
1380
2666
  ---
1381
2667
 
1382
- ##### `bucketAppsName`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsS3Props.bucketAppsName"></a>
2668
+ *Example*
2669
+
2670
+ ```typescript
2671
+ -dev-pr-12
2672
+ ```
2673
+
2674
+
2675
+ ##### `bucketAppsName`<sup>Optional</sup> <a name="bucketAppsName" id="@pwrdrvr/microapps-cdk.MicroAppsS3Props.property.bucketAppsName"></a>
2676
+
2677
+ ```typescript
2678
+ public readonly bucketAppsName: string;
2679
+ ```
1383
2680
 
1384
- - *Type:* `string`
2681
+ - *Type:* string
1385
2682
  - *Default:* auto-assigned
1386
2683
 
1387
2684
  S3 deployed apps bucket name.
1388
2685
 
1389
2686
  ---
1390
2687
 
1391
- ##### `bucketAppsStagingName`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsS3Props.bucketAppsStagingName"></a>
2688
+ ##### `bucketAppsStagingName`<sup>Optional</sup> <a name="bucketAppsStagingName" id="@pwrdrvr/microapps-cdk.MicroAppsS3Props.property.bucketAppsStagingName"></a>
2689
+
2690
+ ```typescript
2691
+ public readonly bucketAppsStagingName: string;
2692
+ ```
1392
2693
 
1393
- - *Type:* `string`
2694
+ - *Type:* string
1394
2695
  - *Default:* auto-assigned
1395
2696
 
1396
2697
  S3 staging apps bucket name.
1397
2698
 
1398
2699
  ---
1399
2700
 
1400
- ##### `bucketLogsName`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsS3Props.bucketLogsName"></a>
2701
+ ##### `bucketLogsName`<sup>Optional</sup> <a name="bucketLogsName" id="@pwrdrvr/microapps-cdk.MicroAppsS3Props.property.bucketLogsName"></a>
1401
2702
 
1402
- - *Type:* `string`
2703
+ ```typescript
2704
+ public readonly bucketLogsName: string;
2705
+ ```
2706
+
2707
+ - *Type:* string
1403
2708
  - *Default:* auto-assigned
1404
2709
 
1405
2710
  S3 logs bucket name.
1406
2711
 
1407
2712
  ---
1408
2713
 
1409
- ##### `originShieldRegion`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsS3Props.originShieldRegion"></a>
2714
+ ##### `originShieldRegion`<sup>Optional</sup> <a name="originShieldRegion" id="@pwrdrvr/microapps-cdk.MicroAppsS3Props.property.originShieldRegion"></a>
2715
+
2716
+ ```typescript
2717
+ public readonly originShieldRegion: string;
2718
+ ```
1410
2719
 
1411
- - *Type:* `string`
2720
+ - *Type:* string
1412
2721
  - *Default:* none
1413
2722
 
1414
2723
  Optional Origin Shield Region.
@@ -1418,9 +2727,13 @@ EdgeToOrigin calls have the lowest latency (~1 ms).
1418
2727
 
1419
2728
  ---
1420
2729
 
1421
- ##### `removalPolicy`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsS3Props.removalPolicy"></a>
2730
+ ##### `removalPolicy`<sup>Optional</sup> <a name="removalPolicy" id="@pwrdrvr/microapps-cdk.MicroAppsS3Props.property.removalPolicy"></a>
2731
+
2732
+ ```typescript
2733
+ public readonly removalPolicy: RemovalPolicy;
2734
+ ```
1422
2735
 
1423
- - *Type:* [`aws-cdk-lib.RemovalPolicy`](#aws-cdk-lib.RemovalPolicy)
2736
+ - *Type:* aws-cdk-lib.RemovalPolicy
1424
2737
  - *Default:* per resource default
1425
2738
 
1426
2739
  RemovalPolicy override for child resources.
@@ -1429,11 +2742,11 @@ Note: if set to DESTROY the S3 buckets will have `autoDeleteObjects` set to `tru
1429
2742
 
1430
2743
  ---
1431
2744
 
1432
- ### MicroAppsSvcsProps <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps"></a>
2745
+ ### MicroAppsSvcsProps <a name="MicroAppsSvcsProps" id="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps"></a>
1433
2746
 
1434
2747
  Properties to initialize an instance of `MicroAppsSvcs`.
1435
2748
 
1436
- #### Initializer <a name="[object Object].Initializer"></a>
2749
+ #### Initializer <a name="Initializer" id="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.Initializer"></a>
1437
2750
 
1438
2751
  ```typescript
1439
2752
  import { MicroAppsSvcsProps } from '@pwrdrvr/microapps-cdk'
@@ -1441,59 +2754,123 @@ import { MicroAppsSvcsProps } from '@pwrdrvr/microapps-cdk'
1441
2754
  const microAppsSvcsProps: MicroAppsSvcsProps = { ... }
1442
2755
  ```
1443
2756
 
1444
- ##### `appEnv`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.appEnv"></a>
2757
+ #### Properties <a name="Properties" id="Properties"></a>
2758
+
2759
+ | **Name** | **Type** | **Description** |
2760
+ | --- | --- | --- |
2761
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.appEnv">appEnv</a></code> | <code>string</code> | Application environment, passed as `NODE_ENV` to the Router and Deployer Lambda functions. |
2762
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.bucketApps">bucketApps</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | S3 bucket for deployed applications. |
2763
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.bucketAppsOAI">bucketAppsOAI</a></code> | <code>aws-cdk-lib.aws_cloudfront.OriginAccessIdentity</code> | CloudFront Origin Access Identity for the deployed applications bucket. |
2764
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.bucketAppsStaging">bucketAppsStaging</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | S3 bucket for staged applications (prior to deploy). |
2765
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.assetNameRoot">assetNameRoot</a></code> | <code>string</code> | Optional asset name root. |
2766
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.assetNameSuffix">assetNameSuffix</a></code> | <code>string</code> | Optional asset name suffix. |
2767
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.deployerTimeout">deployerTimeout</a></code> | <code>aws-cdk-lib.Duration</code> | Deployer timeout. |
2768
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.edgeToOriginRoleARN">edgeToOriginRoleARN</a></code> | <code>string[]</code> | ARN of the IAM Role for the Edge to Origin Lambda Function. |
2769
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.removalPolicy">removalPolicy</a></code> | <code>aws-cdk-lib.RemovalPolicy</code> | RemovalPolicy override for child resources. |
2770
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.requireIAMAuthorization">requireIAMAuthorization</a></code> | <code>boolean</code> | Require IAM auth on API Gateway and Lambda Function URLs. |
2771
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.rootPathPrefix">rootPathPrefix</a></code> | <code>string</code> | Path prefix on the root of the deployment. |
2772
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.s3PolicyBypassAROAs">s3PolicyBypassAROAs</a></code> | <code>string[]</code> | Applies when using s3StrictBucketPolicy = true. |
2773
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.s3PolicyBypassPrincipalARNs">s3PolicyBypassPrincipalARNs</a></code> | <code>string[]</code> | Applies when using s3StrictBucketPolicy = true. |
2774
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.s3StrictBucketPolicy">s3StrictBucketPolicy</a></code> | <code>boolean</code> | 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. |
2775
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.table">table</a></code> | <code>aws-cdk-lib.aws_dynamodb.ITable</code> | Existing table for apps/versions/rules. |
2776
+
2777
+ ---
2778
+
2779
+ ##### `appEnv`<sup>Required</sup> <a name="appEnv" id="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.appEnv"></a>
2780
+
2781
+ ```typescript
2782
+ public readonly appEnv: string;
2783
+ ```
1445
2784
 
1446
- - *Type:* `string`
2785
+ - *Type:* string
1447
2786
 
1448
2787
  Application environment, passed as `NODE_ENV` to the Router and Deployer Lambda functions.
1449
2788
 
1450
2789
  ---
1451
2790
 
1452
- ##### `bucketApps`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.bucketApps"></a>
2791
+ ##### `bucketApps`<sup>Required</sup> <a name="bucketApps" id="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.bucketApps"></a>
1453
2792
 
1454
- - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket)
2793
+ ```typescript
2794
+ public readonly bucketApps: IBucket;
2795
+ ```
2796
+
2797
+ - *Type:* aws-cdk-lib.aws_s3.IBucket
1455
2798
 
1456
2799
  S3 bucket for deployed applications.
1457
2800
 
1458
2801
  ---
1459
2802
 
1460
- ##### `bucketAppsOAI`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.bucketAppsOAI"></a>
2803
+ ##### `bucketAppsOAI`<sup>Required</sup> <a name="bucketAppsOAI" id="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.bucketAppsOAI"></a>
2804
+
2805
+ ```typescript
2806
+ public readonly bucketAppsOAI: OriginAccessIdentity;
2807
+ ```
1461
2808
 
1462
- - *Type:* [`aws-cdk-lib.aws_cloudfront.OriginAccessIdentity`](#aws-cdk-lib.aws_cloudfront.OriginAccessIdentity)
2809
+ - *Type:* aws-cdk-lib.aws_cloudfront.OriginAccessIdentity
1463
2810
 
1464
2811
  CloudFront Origin Access Identity for the deployed applications bucket.
1465
2812
 
1466
2813
  ---
1467
2814
 
1468
- ##### `bucketAppsStaging`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.bucketAppsStaging"></a>
2815
+ ##### `bucketAppsStaging`<sup>Required</sup> <a name="bucketAppsStaging" id="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.bucketAppsStaging"></a>
2816
+
2817
+ ```typescript
2818
+ public readonly bucketAppsStaging: IBucket;
2819
+ ```
1469
2820
 
1470
- - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket)
2821
+ - *Type:* aws-cdk-lib.aws_s3.IBucket
1471
2822
 
1472
2823
  S3 bucket for staged applications (prior to deploy).
1473
2824
 
1474
2825
  ---
1475
2826
 
1476
- ##### `assetNameRoot`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.assetNameRoot"></a>
2827
+ ##### `assetNameRoot`<sup>Optional</sup> <a name="assetNameRoot" id="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.assetNameRoot"></a>
2828
+
2829
+ ```typescript
2830
+ public readonly assetNameRoot: string;
2831
+ ```
1477
2832
 
1478
- - *Type:* `string`
2833
+ - *Type:* string
1479
2834
  - *Default:* resource names auto assigned
1480
2835
 
1481
2836
  Optional asset name root.
1482
2837
 
1483
2838
  ---
1484
2839
 
1485
- ##### `assetNameSuffix`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.assetNameSuffix"></a>
2840
+ *Example*
2841
+
2842
+ ```typescript
2843
+ microapps
2844
+ ```
2845
+
1486
2846
 
1487
- - *Type:* `string`
2847
+ ##### `assetNameSuffix`<sup>Optional</sup> <a name="assetNameSuffix" id="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.assetNameSuffix"></a>
2848
+
2849
+ ```typescript
2850
+ public readonly assetNameSuffix: string;
2851
+ ```
2852
+
2853
+ - *Type:* string
1488
2854
  - *Default:* none
1489
2855
 
1490
2856
  Optional asset name suffix.
1491
2857
 
1492
2858
  ---
1493
2859
 
1494
- ##### `deployerTimeout`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.deployerTimeout"></a>
2860
+ *Example*
2861
+
2862
+ ```typescript
2863
+ -dev-pr-12
2864
+ ```
2865
+
1495
2866
 
1496
- - *Type:* [`aws-cdk-lib.Duration`](#aws-cdk-lib.Duration)
2867
+ ##### `deployerTimeout`<sup>Optional</sup> <a name="deployerTimeout" id="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.deployerTimeout"></a>
2868
+
2869
+ ```typescript
2870
+ public readonly deployerTimeout: Duration;
2871
+ ```
2872
+
2873
+ - *Type:* aws-cdk-lib.Duration
1497
2874
  - *Default:* 2 minutes
1498
2875
 
1499
2876
  Deployer timeout.
@@ -1502,17 +2879,25 @@ For larger applications this needs to be set up to 2-5 minutes for the S3 copy
1502
2879
 
1503
2880
  ---
1504
2881
 
1505
- ##### `edgeToOriginRoleARN`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.edgeToOriginRoleARN"></a>
2882
+ ##### `edgeToOriginRoleARN`<sup>Optional</sup> <a name="edgeToOriginRoleARN" id="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.edgeToOriginRoleARN"></a>
1506
2883
 
1507
- - *Type:* `string`[]
2884
+ ```typescript
2885
+ public readonly edgeToOriginRoleARN: string[];
2886
+ ```
2887
+
2888
+ - *Type:* string[]
1508
2889
 
1509
2890
  ARN of the IAM Role for the Edge to Origin Lambda Function.
1510
2891
 
1511
2892
  ---
1512
2893
 
1513
- ##### `removalPolicy`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.removalPolicy"></a>
2894
+ ##### `removalPolicy`<sup>Optional</sup> <a name="removalPolicy" id="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.removalPolicy"></a>
2895
+
2896
+ ```typescript
2897
+ public readonly removalPolicy: RemovalPolicy;
2898
+ ```
1514
2899
 
1515
- - *Type:* [`aws-cdk-lib.RemovalPolicy`](#aws-cdk-lib.RemovalPolicy)
2900
+ - *Type:* aws-cdk-lib.RemovalPolicy
1516
2901
  - *Default:* per resource default
1517
2902
 
1518
2903
  RemovalPolicy override for child resources.
@@ -1521,27 +2906,46 @@ Note: if set to DESTROY the S3 buckes will have `autoDeleteObjects` set to `true
1521
2906
 
1522
2907
  ---
1523
2908
 
1524
- ##### `requireIAMAuthorization`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.requireIAMAuthorization"></a>
2909
+ ##### `requireIAMAuthorization`<sup>Optional</sup> <a name="requireIAMAuthorization" id="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.requireIAMAuthorization"></a>
2910
+
2911
+ ```typescript
2912
+ public readonly requireIAMAuthorization: boolean;
2913
+ ```
1525
2914
 
1526
- - *Type:* `boolean`
2915
+ - *Type:* boolean
1527
2916
  - *Default:* true
1528
2917
 
1529
2918
  Require IAM auth on API Gateway and Lambda Function URLs.
1530
2919
 
1531
2920
  ---
1532
2921
 
1533
- ##### `rootPathPrefix`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.rootPathPrefix"></a>
2922
+ ##### `rootPathPrefix`<sup>Optional</sup> <a name="rootPathPrefix" id="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.rootPathPrefix"></a>
2923
+
2924
+ ```typescript
2925
+ public readonly rootPathPrefix: string;
2926
+ ```
1534
2927
 
1535
- - *Type:* `string`
2928
+ - *Type:* string
1536
2929
  - *Default:* none
1537
2930
 
1538
2931
  Path prefix on the root of the deployment.
1539
2932
 
1540
2933
  ---
1541
2934
 
1542
- ##### `s3PolicyBypassAROAs`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.s3PolicyBypassAROAs"></a>
2935
+ *Example*
1543
2936
 
1544
- - *Type:* `string`[]
2937
+ ```typescript
2938
+ dev/
2939
+ ```
2940
+
2941
+
2942
+ ##### `s3PolicyBypassAROAs`<sup>Optional</sup> <a name="s3PolicyBypassAROAs" id="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.s3PolicyBypassAROAs"></a>
2943
+
2944
+ ```typescript
2945
+ public readonly s3PolicyBypassAROAs: string[];
2946
+ ```
2947
+
2948
+ - *Type:* string[]
1545
2949
 
1546
2950
  Applies when using s3StrictBucketPolicy = true.
1547
2951
 
@@ -1579,13 +2983,24 @@ To get the AROA with the AWS CLI:
1579
2983
  aws iam get-role --role-name ROLE-NAME
1580
2984
  aws iam get-user --user-name USER-NAME
1581
2985
 
1582
- > s3StrictBucketPolicy
2986
+ > [s3StrictBucketPolicy](s3StrictBucketPolicy)
1583
2987
 
1584
2988
  ---
1585
2989
 
1586
- ##### `s3PolicyBypassPrincipalARNs`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.s3PolicyBypassPrincipalARNs"></a>
2990
+ *Example*
2991
+
2992
+ ```typescript
2993
+ [ 'AROA1234567890123' ]
2994
+ ```
2995
+
2996
+
2997
+ ##### `s3PolicyBypassPrincipalARNs`<sup>Optional</sup> <a name="s3PolicyBypassPrincipalARNs" id="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.s3PolicyBypassPrincipalARNs"></a>
2998
+
2999
+ ```typescript
3000
+ public readonly s3PolicyBypassPrincipalARNs: string[];
3001
+ ```
1587
3002
 
1588
- - *Type:* `string`[]
3003
+ - *Type:* string[]
1589
3004
 
1590
3005
  Applies when using s3StrictBucketPolicy = true.
1591
3006
 
@@ -1596,13 +3011,24 @@ Roles that are Assumed must instead have their AROA added to `s3PolicyBypassAROA
1596
3011
  Typically any admin roles / users that need to view or manage the S3 Bucket
1597
3012
  would be added to this list.
1598
3013
 
1599
- > s3PolicyBypassAROAs
3014
+ > [s3PolicyBypassAROAs](s3PolicyBypassAROAs)
1600
3015
 
1601
3016
  ---
1602
3017
 
1603
- ##### `s3StrictBucketPolicy`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.s3StrictBucketPolicy"></a>
3018
+ *Example*
1604
3019
 
1605
- - *Type:* `boolean`
3020
+ ```typescript
3021
+ ['arn:aws:iam::1234567890123:role/AdminAccess', 'arn:aws:iam::1234567890123:user/MyAdminUser']
3022
+ ```
3023
+
3024
+
3025
+ ##### `s3StrictBucketPolicy`<sup>Optional</sup> <a name="s3StrictBucketPolicy" id="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.s3StrictBucketPolicy"></a>
3026
+
3027
+ ```typescript
3028
+ public readonly s3StrictBucketPolicy: boolean;
3029
+ ```
3030
+
3031
+ - *Type:* boolean
1606
3032
  - *Default:* false
1607
3033
 
1608
3034
  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.
@@ -1612,20 +3038,24 @@ fully trusted.
1612
3038
 
1613
3039
  ---
1614
3040
 
1615
- ##### `table`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.table"></a>
3041
+ ##### `table`<sup>Optional</sup> <a name="table" id="@pwrdrvr/microapps-cdk.MicroAppsSvcsProps.property.table"></a>
1616
3042
 
1617
- - *Type:* [`aws-cdk-lib.aws_dynamodb.ITable`](#aws-cdk-lib.aws_dynamodb.ITable)
3043
+ ```typescript
3044
+ public readonly table: ITable;
3045
+ ```
3046
+
3047
+ - *Type:* aws-cdk-lib.aws_dynamodb.ITable
1618
3048
  - *Default:* created by construct
1619
3049
 
1620
3050
  Existing table for apps/versions/rules.
1621
3051
 
1622
3052
  ---
1623
3053
 
1624
- ### MicroAppsTableProps <a name="@pwrdrvr/microapps-cdk.MicroAppsTableProps"></a>
3054
+ ### MicroAppsTableProps <a name="MicroAppsTableProps" id="@pwrdrvr/microapps-cdk.MicroAppsTableProps"></a>
1625
3055
 
1626
3056
  Properties to initialize an instance of `MicroAppsTable`.
1627
3057
 
1628
- #### Initializer <a name="[object Object].Initializer"></a>
3058
+ #### Initializer <a name="Initializer" id="@pwrdrvr/microapps-cdk.MicroAppsTableProps.Initializer"></a>
1629
3059
 
1630
3060
  ```typescript
1631
3061
  import { MicroAppsTableProps } from '@pwrdrvr/microapps-cdk'
@@ -1633,27 +3063,63 @@ import { MicroAppsTableProps } from '@pwrdrvr/microapps-cdk'
1633
3063
  const microAppsTableProps: MicroAppsTableProps = { ... }
1634
3064
  ```
1635
3065
 
1636
- ##### `assetNameRoot`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsTableProps.assetNameRoot"></a>
3066
+ #### Properties <a name="Properties" id="Properties"></a>
3067
+
3068
+ | **Name** | **Type** | **Description** |
3069
+ | --- | --- | --- |
3070
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsTableProps.property.assetNameRoot">assetNameRoot</a></code> | <code>string</code> | Optional asset name root. |
3071
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsTableProps.property.assetNameSuffix">assetNameSuffix</a></code> | <code>string</code> | Optional asset name suffix. |
3072
+ | <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsTableProps.property.removalPolicy">removalPolicy</a></code> | <code>aws-cdk-lib.RemovalPolicy</code> | RemovalPolicy override for child resources. |
3073
+
3074
+ ---
3075
+
3076
+ ##### `assetNameRoot`<sup>Optional</sup> <a name="assetNameRoot" id="@pwrdrvr/microapps-cdk.MicroAppsTableProps.property.assetNameRoot"></a>
3077
+
3078
+ ```typescript
3079
+ public readonly assetNameRoot: string;
3080
+ ```
1637
3081
 
1638
- - *Type:* `string`
3082
+ - *Type:* string
1639
3083
  - *Default:* resource names auto assigned
1640
3084
 
1641
3085
  Optional asset name root.
1642
3086
 
1643
3087
  ---
1644
3088
 
1645
- ##### `assetNameSuffix`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsTableProps.assetNameSuffix"></a>
3089
+ *Example*
3090
+
3091
+ ```typescript
3092
+ microapps
3093
+ ```
3094
+
3095
+
3096
+ ##### `assetNameSuffix`<sup>Optional</sup> <a name="assetNameSuffix" id="@pwrdrvr/microapps-cdk.MicroAppsTableProps.property.assetNameSuffix"></a>
3097
+
3098
+ ```typescript
3099
+ public readonly assetNameSuffix: string;
3100
+ ```
1646
3101
 
1647
- - *Type:* `string`
3102
+ - *Type:* string
1648
3103
  - *Default:* none
1649
3104
 
1650
3105
  Optional asset name suffix.
1651
3106
 
1652
3107
  ---
1653
3108
 
1654
- ##### `removalPolicy`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.MicroAppsTableProps.removalPolicy"></a>
3109
+ *Example*
3110
+
3111
+ ```typescript
3112
+ -dev-pr-12
3113
+ ```
3114
+
3115
+
3116
+ ##### `removalPolicy`<sup>Optional</sup> <a name="removalPolicy" id="@pwrdrvr/microapps-cdk.MicroAppsTableProps.property.removalPolicy"></a>
3117
+
3118
+ ```typescript
3119
+ public readonly removalPolicy: RemovalPolicy;
3120
+ ```
1655
3121
 
1656
- - *Type:* [`aws-cdk-lib.RemovalPolicy`](#aws-cdk-lib.RemovalPolicy)
3122
+ - *Type:* aws-cdk-lib.RemovalPolicy
1657
3123
  - *Default:* per resource default
1658
3124
 
1659
3125
  RemovalPolicy override for child resources.
@@ -1663,95 +3129,152 @@ Note: if set to DESTROY the S3 buckes will have `autoDeleteObjects` set to `true
1663
3129
  ---
1664
3130
 
1665
3131
 
1666
- ## Protocols <a name="Protocols"></a>
3132
+ ## Protocols <a name="Protocols" id="Protocols"></a>
1667
3133
 
1668
- ### IMicroApps <a name="@pwrdrvr/microapps-cdk.IMicroApps"></a>
3134
+ ### IMicroApps <a name="IMicroApps" id="@pwrdrvr/microapps-cdk.IMicroApps"></a>
1669
3135
 
1670
- - *Implemented By:* [`@pwrdrvr/microapps-cdk.MicroApps`](#@pwrdrvr/microapps-cdk.MicroApps), [`@pwrdrvr/microapps-cdk.IMicroApps`](#@pwrdrvr/microapps-cdk.IMicroApps)
3136
+ - *Implemented By:* <a href="#@pwrdrvr/microapps-cdk.MicroApps">MicroApps</a>, <a href="#@pwrdrvr/microapps-cdk.IMicroApps">IMicroApps</a>
1671
3137
 
1672
3138
  Represents a MicroApps.
1673
3139
 
1674
3140
 
1675
- #### Properties <a name="Properties"></a>
3141
+ #### Properties <a name="Properties" id="Properties"></a>
3142
+
3143
+ | **Name** | **Type** | **Description** |
3144
+ | --- | --- | --- |
3145
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroApps.property.cf">cf</a></code> | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsCF">IMicroAppsCF</a></code> | {@inheritdoc IMicroAppsCF}. |
3146
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroApps.property.s3">s3</a></code> | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3">IMicroAppsS3</a></code> | {@inheritdoc IMicroAppsS3}. |
3147
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroApps.property.svcs">svcs</a></code> | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsSvcs">IMicroAppsSvcs</a></code> | {@inheritdoc IMicroAppsSvcs}. |
3148
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroApps.property.edgeToOrigin">edgeToOrigin</a></code> | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin">IMicroAppsEdgeToOrigin</a></code> | {@inheritdoc IMicroAppsEdgeToOrigin}. |
3149
+
3150
+ ---
3151
+
3152
+ ##### `cf`<sup>Required</sup> <a name="cf" id="@pwrdrvr/microapps-cdk.IMicroApps.property.cf"></a>
1676
3153
 
1677
- ##### `cf`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.IMicroApps.cf"></a>
3154
+ ```typescript
3155
+ public readonly cf: IMicroAppsCF;
3156
+ ```
1678
3157
 
1679
- - *Type:* [`@pwrdrvr/microapps-cdk.IMicroAppsCF`](#@pwrdrvr/microapps-cdk.IMicroAppsCF)
3158
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.IMicroAppsCF">IMicroAppsCF</a>
1680
3159
 
1681
3160
  {@inheritdoc IMicroAppsCF}.
1682
3161
 
1683
3162
  ---
1684
3163
 
1685
- ##### `s3`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.IMicroApps.s3"></a>
3164
+ ##### `s3`<sup>Required</sup> <a name="s3" id="@pwrdrvr/microapps-cdk.IMicroApps.property.s3"></a>
1686
3165
 
1687
- - *Type:* [`@pwrdrvr/microapps-cdk.IMicroAppsS3`](#@pwrdrvr/microapps-cdk.IMicroAppsS3)
3166
+ ```typescript
3167
+ public readonly s3: IMicroAppsS3;
3168
+ ```
3169
+
3170
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3">IMicroAppsS3</a>
1688
3171
 
1689
3172
  {@inheritdoc IMicroAppsS3}.
1690
3173
 
1691
3174
  ---
1692
3175
 
1693
- ##### `svcs`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.IMicroApps.svcs"></a>
3176
+ ##### `svcs`<sup>Required</sup> <a name="svcs" id="@pwrdrvr/microapps-cdk.IMicroApps.property.svcs"></a>
3177
+
3178
+ ```typescript
3179
+ public readonly svcs: IMicroAppsSvcs;
3180
+ ```
1694
3181
 
1695
- - *Type:* [`@pwrdrvr/microapps-cdk.IMicroAppsSvcs`](#@pwrdrvr/microapps-cdk.IMicroAppsSvcs)
3182
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.IMicroAppsSvcs">IMicroAppsSvcs</a>
1696
3183
 
1697
3184
  {@inheritdoc IMicroAppsSvcs}.
1698
3185
 
1699
3186
  ---
1700
3187
 
1701
- ##### `edgeToOrigin`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.IMicroApps.edgeToOrigin"></a>
3188
+ ##### `edgeToOrigin`<sup>Optional</sup> <a name="edgeToOrigin" id="@pwrdrvr/microapps-cdk.IMicroApps.property.edgeToOrigin"></a>
3189
+
3190
+ ```typescript
3191
+ public readonly edgeToOrigin: IMicroAppsEdgeToOrigin;
3192
+ ```
1702
3193
 
1703
- - *Type:* [`@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin`](#@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin)
3194
+ - *Type:* <a href="#@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin">IMicroAppsEdgeToOrigin</a>
1704
3195
 
1705
3196
  {@inheritdoc IMicroAppsEdgeToOrigin}.
1706
3197
 
1707
3198
  ---
1708
3199
 
1709
- ### IMicroAppsCF <a name="@pwrdrvr/microapps-cdk.IMicroAppsCF"></a>
3200
+ ### IMicroAppsCF <a name="IMicroAppsCF" id="@pwrdrvr/microapps-cdk.IMicroAppsCF"></a>
1710
3201
 
1711
- - *Implemented By:* [`@pwrdrvr/microapps-cdk.MicroAppsCF`](#@pwrdrvr/microapps-cdk.MicroAppsCF), [`@pwrdrvr/microapps-cdk.IMicroAppsCF`](#@pwrdrvr/microapps-cdk.IMicroAppsCF)
3202
+ - *Implemented By:* <a href="#@pwrdrvr/microapps-cdk.MicroAppsCF">MicroAppsCF</a>, <a href="#@pwrdrvr/microapps-cdk.IMicroAppsCF">IMicroAppsCF</a>
1712
3203
 
1713
3204
  Represents a MicroApps CloudFront.
1714
3205
 
1715
3206
 
1716
- #### Properties <a name="Properties"></a>
3207
+ #### Properties <a name="Properties" id="Properties"></a>
3208
+
3209
+ | **Name** | **Type** | **Description** |
3210
+ | --- | --- | --- |
3211
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsCF.property.cloudFrontDistro">cloudFrontDistro</a></code> | <code>aws-cdk-lib.aws_cloudfront.Distribution</code> | The CloudFront distribution. |
3212
+
3213
+ ---
3214
+
3215
+ ##### `cloudFrontDistro`<sup>Required</sup> <a name="cloudFrontDistro" id="@pwrdrvr/microapps-cdk.IMicroAppsCF.property.cloudFrontDistro"></a>
1717
3216
 
1718
- ##### `cloudFrontDistro`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.IMicroAppsCF.cloudFrontDistro"></a>
3217
+ ```typescript
3218
+ public readonly cloudFrontDistro: Distribution;
3219
+ ```
1719
3220
 
1720
- - *Type:* [`aws-cdk-lib.aws_cloudfront.Distribution`](#aws-cdk-lib.aws_cloudfront.Distribution)
3221
+ - *Type:* aws-cdk-lib.aws_cloudfront.Distribution
1721
3222
 
1722
3223
  The CloudFront distribution.
1723
3224
 
1724
3225
  ---
1725
3226
 
1726
- ### IMicroAppsChildDeployer <a name="@pwrdrvr/microapps-cdk.IMicroAppsChildDeployer"></a>
3227
+ ### IMicroAppsChildDeployer <a name="IMicroAppsChildDeployer" id="@pwrdrvr/microapps-cdk.IMicroAppsChildDeployer"></a>
1727
3228
 
1728
- - *Implemented By:* [`@pwrdrvr/microapps-cdk.MicroAppsChildDeployer`](#@pwrdrvr/microapps-cdk.MicroAppsChildDeployer), [`@pwrdrvr/microapps-cdk.IMicroAppsChildDeployer`](#@pwrdrvr/microapps-cdk.IMicroAppsChildDeployer)
3229
+ - *Implemented By:* <a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployer">MicroAppsChildDeployer</a>, <a href="#@pwrdrvr/microapps-cdk.IMicroAppsChildDeployer">IMicroAppsChildDeployer</a>
1729
3230
 
1730
3231
  Represents a MicroApps Child Deployer.
1731
3232
 
1732
3233
 
1733
- #### Properties <a name="Properties"></a>
3234
+ #### Properties <a name="Properties" id="Properties"></a>
3235
+
3236
+ | **Name** | **Type** | **Description** |
3237
+ | --- | --- | --- |
3238
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsChildDeployer.property.deployerFunc">deployerFunc</a></code> | <code>aws-cdk-lib.aws_lambda.IFunction</code> | Lambda function for the Deployer. |
1734
3239
 
1735
- ##### `deployerFunc`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.IMicroAppsChildDeployer.deployerFunc"></a>
3240
+ ---
3241
+
3242
+ ##### `deployerFunc`<sup>Required</sup> <a name="deployerFunc" id="@pwrdrvr/microapps-cdk.IMicroAppsChildDeployer.property.deployerFunc"></a>
3243
+
3244
+ ```typescript
3245
+ public readonly deployerFunc: IFunction;
3246
+ ```
1736
3247
 
1737
- - *Type:* [`aws-cdk-lib.aws_lambda.IFunction`](#aws-cdk-lib.aws_lambda.IFunction)
3248
+ - *Type:* aws-cdk-lib.aws_lambda.IFunction
1738
3249
 
1739
3250
  Lambda function for the Deployer.
1740
3251
 
1741
3252
  ---
1742
3253
 
1743
- ### IMicroAppsEdgeToOrigin <a name="@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin"></a>
3254
+ ### IMicroAppsEdgeToOrigin <a name="IMicroAppsEdgeToOrigin" id="@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin"></a>
1744
3255
 
1745
- - *Implemented By:* [`@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin`](#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin), [`@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin`](#@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin)
3256
+ - *Implemented By:* <a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin">MicroAppsEdgeToOrigin</a>, <a href="#@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin">IMicroAppsEdgeToOrigin</a>
1746
3257
 
1747
3258
  Represents a MicroApps Edge to Origin Function.
1748
3259
 
1749
3260
 
1750
- #### Properties <a name="Properties"></a>
3261
+ #### Properties <a name="Properties" id="Properties"></a>
3262
+
3263
+ | **Name** | **Type** | **Description** |
3264
+ | --- | --- | --- |
3265
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin.property.edgeToOriginFunction">edgeToOriginFunction</a></code> | <code>aws-cdk-lib.aws_lambda.Function \| aws-cdk-lib.aws_cloudfront.experimental.EdgeFunction</code> | The edge to origin function for API Gateway Request Origin Edge Lambda. |
3266
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin.property.edgeToOriginLambdas">edgeToOriginLambdas</a></code> | <code>aws-cdk-lib.aws_cloudfront.EdgeLambda[]</code> | Configuration of the edge to origin lambda functions. |
3267
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin.property.edgeToOriginRole">edgeToOriginRole</a></code> | <code>aws-cdk-lib.aws_iam.Role</code> | The IAM Role for the edge to origin function. |
3268
+
3269
+ ---
3270
+
3271
+ ##### `edgeToOriginFunction`<sup>Required</sup> <a name="edgeToOriginFunction" id="@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin.property.edgeToOriginFunction"></a>
1751
3272
 
1752
- ##### `edgeToOriginFunction`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin.edgeToOriginFunction"></a>
3273
+ ```typescript
3274
+ public readonly edgeToOriginFunction: Function | EdgeFunction;
3275
+ ```
1753
3276
 
1754
- - *Type:* [`aws-cdk-lib.aws_lambda.Function`](#aws-cdk-lib.aws_lambda.Function) | [`aws-cdk-lib.aws_cloudfront.experimental.EdgeFunction`](#aws-cdk-lib.aws_cloudfront.experimental.EdgeFunction)
3277
+ - *Type:* aws-cdk-lib.aws_lambda.Function | aws-cdk-lib.aws_cloudfront.experimental.EdgeFunction
1755
3278
 
1756
3279
  The edge to origin function for API Gateway Request Origin Edge Lambda.
1757
3280
 
@@ -1759,124 +3282,197 @@ The generated `config.yml` is included in the Lambda's code.
1759
3282
 
1760
3283
  ---
1761
3284
 
1762
- ##### `edgeToOriginLambdas`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin.edgeToOriginLambdas"></a>
3285
+ ##### `edgeToOriginLambdas`<sup>Required</sup> <a name="edgeToOriginLambdas" id="@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin.property.edgeToOriginLambdas"></a>
3286
+
3287
+ ```typescript
3288
+ public readonly edgeToOriginLambdas: EdgeLambda[];
3289
+ ```
1763
3290
 
1764
- - *Type:* [`aws-cdk-lib.aws_cloudfront.EdgeLambda`](#aws-cdk-lib.aws_cloudfront.EdgeLambda)[]
3291
+ - *Type:* aws-cdk-lib.aws_cloudfront.EdgeLambda[]
1765
3292
 
1766
3293
  Configuration of the edge to origin lambda functions.
1767
3294
 
1768
3295
  ---
1769
3296
 
1770
- ##### `edgeToOriginRole`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin.edgeToOriginRole"></a>
3297
+ ##### `edgeToOriginRole`<sup>Required</sup> <a name="edgeToOriginRole" id="@pwrdrvr/microapps-cdk.IMicroAppsEdgeToOrigin.property.edgeToOriginRole"></a>
3298
+
3299
+ ```typescript
3300
+ public readonly edgeToOriginRole: Role;
3301
+ ```
1771
3302
 
1772
- - *Type:* [`aws-cdk-lib.aws_iam.Role`](#aws-cdk-lib.aws_iam.Role)
3303
+ - *Type:* aws-cdk-lib.aws_iam.Role
1773
3304
 
1774
3305
  The IAM Role for the edge to origin function.
1775
3306
 
1776
3307
  ---
1777
3308
 
1778
- ### IMicroAppsS3 <a name="@pwrdrvr/microapps-cdk.IMicroAppsS3"></a>
3309
+ ### IMicroAppsS3 <a name="IMicroAppsS3" id="@pwrdrvr/microapps-cdk.IMicroAppsS3"></a>
1779
3310
 
1780
- - *Implemented By:* [`@pwrdrvr/microapps-cdk.MicroAppsS3`](#@pwrdrvr/microapps-cdk.MicroAppsS3), [`@pwrdrvr/microapps-cdk.IMicroAppsS3`](#@pwrdrvr/microapps-cdk.IMicroAppsS3)
3311
+ - *Implemented By:* <a href="#@pwrdrvr/microapps-cdk.MicroAppsS3">MicroAppsS3</a>, <a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3">IMicroAppsS3</a>
1781
3312
 
1782
3313
  Represents a MicroApps S3.
1783
3314
 
1784
3315
 
1785
- #### Properties <a name="Properties"></a>
3316
+ #### Properties <a name="Properties" id="Properties"></a>
3317
+
3318
+ | **Name** | **Type** | **Description** |
3319
+ | --- | --- | --- |
3320
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketApps">bucketApps</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | S3 bucket for deployed applications. |
3321
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketAppsOAI">bucketAppsOAI</a></code> | <code>aws-cdk-lib.aws_cloudfront.OriginAccessIdentity</code> | CloudFront Origin Access Identity for the deployed applications bucket. |
3322
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketAppsOriginApp">bucketAppsOriginApp</a></code> | <code>aws-cdk-lib.aws_cloudfront_origins.S3Origin</code> | CloudFront Origin for the deployed applications bucket Marked with `x-microapps-origin: app` so the OriginRequest function knows to send the request to the application origin first, if configured for a particular application. |
3323
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketAppsOriginS3">bucketAppsOriginS3</a></code> | <code>aws-cdk-lib.aws_cloudfront_origins.S3Origin</code> | CloudFront Origin for the deployed applications bucket Marked with `x-microapps-origin: s3` so the OriginRequest function knows to NOT send the request to the application origin and instead let it fall through to the S3 bucket. |
3324
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketAppsStaging">bucketAppsStaging</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | S3 bucket for staged applications (prior to deploy). |
3325
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketLogs">bucketLogs</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | S3 bucket for CloudFront logs. |
3326
+
3327
+ ---
3328
+
3329
+ ##### `bucketApps`<sup>Required</sup> <a name="bucketApps" id="@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketApps"></a>
1786
3330
 
1787
- ##### `bucketApps`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.IMicroAppsS3.bucketApps"></a>
3331
+ ```typescript
3332
+ public readonly bucketApps: IBucket;
3333
+ ```
1788
3334
 
1789
- - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket)
3335
+ - *Type:* aws-cdk-lib.aws_s3.IBucket
1790
3336
 
1791
3337
  S3 bucket for deployed applications.
1792
3338
 
1793
3339
  ---
1794
3340
 
1795
- ##### `bucketAppsOAI`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.IMicroAppsS3.bucketAppsOAI"></a>
3341
+ ##### `bucketAppsOAI`<sup>Required</sup> <a name="bucketAppsOAI" id="@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketAppsOAI"></a>
3342
+
3343
+ ```typescript
3344
+ public readonly bucketAppsOAI: OriginAccessIdentity;
3345
+ ```
1796
3346
 
1797
- - *Type:* [`aws-cdk-lib.aws_cloudfront.OriginAccessIdentity`](#aws-cdk-lib.aws_cloudfront.OriginAccessIdentity)
3347
+ - *Type:* aws-cdk-lib.aws_cloudfront.OriginAccessIdentity
1798
3348
 
1799
3349
  CloudFront Origin Access Identity for the deployed applications bucket.
1800
3350
 
1801
3351
  ---
1802
3352
 
1803
- ##### `bucketAppsOriginApp`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.IMicroAppsS3.bucketAppsOriginApp"></a>
3353
+ ##### `bucketAppsOriginApp`<sup>Required</sup> <a name="bucketAppsOriginApp" id="@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketAppsOriginApp"></a>
3354
+
3355
+ ```typescript
3356
+ public readonly bucketAppsOriginApp: S3Origin;
3357
+ ```
1804
3358
 
1805
- - *Type:* [`aws-cdk-lib.aws_cloudfront_origins.S3Origin`](#aws-cdk-lib.aws_cloudfront_origins.S3Origin)
3359
+ - *Type:* aws-cdk-lib.aws_cloudfront_origins.S3Origin
1806
3360
 
1807
3361
  CloudFront Origin for the deployed applications bucket Marked with `x-microapps-origin: app` so the OriginRequest function knows to send the request to the application origin first, if configured for a particular application.
1808
3362
 
1809
3363
  ---
1810
3364
 
1811
- ##### `bucketAppsOriginS3`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.IMicroAppsS3.bucketAppsOriginS3"></a>
3365
+ ##### `bucketAppsOriginS3`<sup>Required</sup> <a name="bucketAppsOriginS3" id="@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketAppsOriginS3"></a>
3366
+
3367
+ ```typescript
3368
+ public readonly bucketAppsOriginS3: S3Origin;
3369
+ ```
1812
3370
 
1813
- - *Type:* [`aws-cdk-lib.aws_cloudfront_origins.S3Origin`](#aws-cdk-lib.aws_cloudfront_origins.S3Origin)
3371
+ - *Type:* aws-cdk-lib.aws_cloudfront_origins.S3Origin
1814
3372
 
1815
3373
  CloudFront Origin for the deployed applications bucket Marked with `x-microapps-origin: s3` so the OriginRequest function knows to NOT send the request to the application origin and instead let it fall through to the S3 bucket.
1816
3374
 
1817
3375
  ---
1818
3376
 
1819
- ##### `bucketAppsStaging`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.IMicroAppsS3.bucketAppsStaging"></a>
3377
+ ##### `bucketAppsStaging`<sup>Required</sup> <a name="bucketAppsStaging" id="@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketAppsStaging"></a>
1820
3378
 
1821
- - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket)
3379
+ ```typescript
3380
+ public readonly bucketAppsStaging: IBucket;
3381
+ ```
3382
+
3383
+ - *Type:* aws-cdk-lib.aws_s3.IBucket
1822
3384
 
1823
3385
  S3 bucket for staged applications (prior to deploy).
1824
3386
 
1825
3387
  ---
1826
3388
 
1827
- ##### `bucketLogs`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.IMicroAppsS3.bucketLogs"></a>
3389
+ ##### `bucketLogs`<sup>Required</sup> <a name="bucketLogs" id="@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketLogs"></a>
3390
+
3391
+ ```typescript
3392
+ public readonly bucketLogs: IBucket;
3393
+ ```
1828
3394
 
1829
- - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket)
3395
+ - *Type:* aws-cdk-lib.aws_s3.IBucket
1830
3396
 
1831
3397
  S3 bucket for CloudFront logs.
1832
3398
 
1833
3399
  ---
1834
3400
 
1835
- ### IMicroAppsSvcs <a name="@pwrdrvr/microapps-cdk.IMicroAppsSvcs"></a>
3401
+ ### IMicroAppsSvcs <a name="IMicroAppsSvcs" id="@pwrdrvr/microapps-cdk.IMicroAppsSvcs"></a>
1836
3402
 
1837
- - *Implemented By:* [`@pwrdrvr/microapps-cdk.MicroAppsSvcs`](#@pwrdrvr/microapps-cdk.MicroAppsSvcs), [`@pwrdrvr/microapps-cdk.IMicroAppsSvcs`](#@pwrdrvr/microapps-cdk.IMicroAppsSvcs)
3403
+ - *Implemented By:* <a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcs">MicroAppsSvcs</a>, <a href="#@pwrdrvr/microapps-cdk.IMicroAppsSvcs">IMicroAppsSvcs</a>
1838
3404
 
1839
3405
  Represents a MicroApps Services.
1840
3406
 
1841
3407
 
1842
- #### Properties <a name="Properties"></a>
3408
+ #### Properties <a name="Properties" id="Properties"></a>
3409
+
3410
+ | **Name** | **Type** | **Description** |
3411
+ | --- | --- | --- |
3412
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsSvcs.property.deployerFunc">deployerFunc</a></code> | <code>aws-cdk-lib.aws_lambda.Function</code> | Lambda function for the Deployer. |
3413
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsSvcs.property.table">table</a></code> | <code>aws-cdk-lib.aws_dynamodb.ITable</code> | DynamoDB table used by Router, Deployer, and Release console app. |
3414
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsSvcs.property.routerFunc">routerFunc</a></code> | <code>aws-cdk-lib.aws_lambda.Function</code> | Lambda function for the Router. |
3415
+
3416
+ ---
3417
+
3418
+ ##### `deployerFunc`<sup>Required</sup> <a name="deployerFunc" id="@pwrdrvr/microapps-cdk.IMicroAppsSvcs.property.deployerFunc"></a>
1843
3419
 
1844
- ##### `deployerFunc`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.IMicroAppsSvcs.deployerFunc"></a>
3420
+ ```typescript
3421
+ public readonly deployerFunc: Function;
3422
+ ```
1845
3423
 
1846
- - *Type:* [`aws-cdk-lib.aws_lambda.Function`](#aws-cdk-lib.aws_lambda.Function)
3424
+ - *Type:* aws-cdk-lib.aws_lambda.Function
1847
3425
 
1848
3426
  Lambda function for the Deployer.
1849
3427
 
1850
3428
  ---
1851
3429
 
1852
- ##### `table`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.IMicroAppsSvcs.table"></a>
3430
+ ##### `table`<sup>Required</sup> <a name="table" id="@pwrdrvr/microapps-cdk.IMicroAppsSvcs.property.table"></a>
1853
3431
 
1854
- - *Type:* [`aws-cdk-lib.aws_dynamodb.ITable`](#aws-cdk-lib.aws_dynamodb.ITable)
3432
+ ```typescript
3433
+ public readonly table: ITable;
3434
+ ```
3435
+
3436
+ - *Type:* aws-cdk-lib.aws_dynamodb.ITable
1855
3437
 
1856
3438
  DynamoDB table used by Router, Deployer, and Release console app.
1857
3439
 
1858
3440
  ---
1859
3441
 
1860
- ##### `routerFunc`<sup>Optional</sup> <a name="@pwrdrvr/microapps-cdk.IMicroAppsSvcs.routerFunc"></a>
3442
+ ##### `routerFunc`<sup>Optional</sup> <a name="routerFunc" id="@pwrdrvr/microapps-cdk.IMicroAppsSvcs.property.routerFunc"></a>
3443
+
3444
+ ```typescript
3445
+ public readonly routerFunc: Function;
3446
+ ```
1861
3447
 
1862
- - *Type:* [`aws-cdk-lib.aws_lambda.Function`](#aws-cdk-lib.aws_lambda.Function)
3448
+ - *Type:* aws-cdk-lib.aws_lambda.Function
1863
3449
 
1864
3450
  Lambda function for the Router.
1865
3451
 
1866
3452
  ---
1867
3453
 
1868
- ### IMicroAppsTable <a name="@pwrdrvr/microapps-cdk.IMicroAppsTable"></a>
3454
+ ### IMicroAppsTable <a name="IMicroAppsTable" id="@pwrdrvr/microapps-cdk.IMicroAppsTable"></a>
1869
3455
 
1870
- - *Implemented By:* [`@pwrdrvr/microapps-cdk.MicroAppsTable`](#@pwrdrvr/microapps-cdk.MicroAppsTable), [`@pwrdrvr/microapps-cdk.IMicroAppsTable`](#@pwrdrvr/microapps-cdk.IMicroAppsTable)
3456
+ - *Implemented By:* <a href="#@pwrdrvr/microapps-cdk.MicroAppsTable">MicroAppsTable</a>, <a href="#@pwrdrvr/microapps-cdk.IMicroAppsTable">IMicroAppsTable</a>
1871
3457
 
1872
3458
  Represents a MicroAppsTable.
1873
3459
 
1874
3460
 
1875
- #### Properties <a name="Properties"></a>
3461
+ #### Properties <a name="Properties" id="Properties"></a>
3462
+
3463
+ | **Name** | **Type** | **Description** |
3464
+ | --- | --- | --- |
3465
+ | <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsTable.property.table">table</a></code> | <code>aws-cdk-lib.aws_dynamodb.Table</code> | DynamoDB table used by Router, Deployer, and Release console app. |
3466
+
3467
+ ---
3468
+
3469
+ ##### `table`<sup>Required</sup> <a name="table" id="@pwrdrvr/microapps-cdk.IMicroAppsTable.property.table"></a>
1876
3470
 
1877
- ##### `table`<sup>Required</sup> <a name="@pwrdrvr/microapps-cdk.IMicroAppsTable.table"></a>
3471
+ ```typescript
3472
+ public readonly table: Table;
3473
+ ```
1878
3474
 
1879
- - *Type:* [`aws-cdk-lib.aws_dynamodb.Table`](#aws-cdk-lib.aws_dynamodb.Table)
3475
+ - *Type:* aws-cdk-lib.aws_dynamodb.Table
1880
3476
 
1881
3477
  DynamoDB table used by Router, Deployer, and Release console app.
1882
3478