@btc-embedded/cdk-extensions 0.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/.jsii +5062 -0
  2. package/API.md +2468 -0
  3. package/LICENSE +202 -0
  4. package/README.md +1 -0
  5. package/lib/extensions/ApiGatewayExtension.d.ts +12 -0
  6. package/lib/extensions/ApiGatewayExtension.js +65 -0
  7. package/lib/extensions/ApplicationLoadBalancerExtension.d.ts +25 -0
  8. package/lib/extensions/ApplicationLoadBalancerExtension.js +103 -0
  9. package/lib/extensions/CloudMapExtension.d.ts +16 -0
  10. package/lib/extensions/CloudMapExtension.js +83 -0
  11. package/lib/extensions/DocumentDbAccessExtension.d.ts +12 -0
  12. package/lib/extensions/DocumentDbAccessExtension.js +51 -0
  13. package/lib/extensions/DomainEventMessagingExtension.d.ts +22 -0
  14. package/lib/extensions/DomainEventMessagingExtension.js +77 -0
  15. package/lib/extensions/ExtraContainerExtension.d.ts +29 -0
  16. package/lib/extensions/ExtraContainerExtension.js +61 -0
  17. package/lib/extensions/ImportValue.d.ts +2 -0
  18. package/lib/extensions/ImportValue.js +12 -0
  19. package/lib/extensions/LogExtension.d.ts +7 -0
  20. package/lib/extensions/LogExtension.js +42 -0
  21. package/lib/extensions/S3BucketAccessExtension.d.ts +13 -0
  22. package/lib/extensions/S3BucketAccessExtension.js +32 -0
  23. package/lib/extensions/TcpKeepAliveExtension.d.ts +11 -0
  24. package/lib/extensions/TcpKeepAliveExtension.js +59 -0
  25. package/lib/extensions/index.d.ts +6 -0
  26. package/lib/extensions/index.js +23 -0
  27. package/lib/index.d.ts +2 -0
  28. package/lib/index.js +19 -0
  29. package/lib/utils/ImportValue.d.ts +2 -0
  30. package/lib/utils/ImportValue.js +12 -0
  31. package/lib/utils/index.d.ts +1 -0
  32. package/lib/utils/index.js +18 -0
  33. package/package.json +129 -0
package/API.md ADDED
@@ -0,0 +1,2468 @@
1
+ # API Reference <a name="API Reference" id="api-reference"></a>
2
+
3
+
4
+ ## Structs <a name="Structs" id="Structs"></a>
5
+
6
+ ### ApiGatewayExtensionProps <a name="ApiGatewayExtensionProps" id="@btc-embedded/cdk-extensions.ApiGatewayExtensionProps"></a>
7
+
8
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.Initializer"></a>
9
+
10
+ ```typescript
11
+ import { ApiGatewayExtensionProps } from '@btc-embedded/cdk-extensions'
12
+
13
+ const apiGatewayExtensionProps: ApiGatewayExtensionProps = { ... }
14
+ ```
15
+
16
+ #### Properties <a name="Properties" id="Properties"></a>
17
+
18
+ | **Name** | **Type** | **Description** |
19
+ | --- | --- | --- |
20
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.platformStackName">platformStackName</a></code> | <code>string</code> | *No description.* |
21
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.prefix">prefix</a></code> | <code>string</code> | *No description.* |
22
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.securityGroupId">securityGroupId</a></code> | <code>string</code> | *No description.* |
23
+
24
+ ---
25
+
26
+ ##### `platformStackName`<sup>Required</sup> <a name="platformStackName" id="@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.platformStackName"></a>
27
+
28
+ ```typescript
29
+ public readonly platformStackName: string;
30
+ ```
31
+
32
+ - *Type:* string
33
+
34
+ ---
35
+
36
+ ##### `prefix`<sup>Required</sup> <a name="prefix" id="@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.prefix"></a>
37
+
38
+ ```typescript
39
+ public readonly prefix: string;
40
+ ```
41
+
42
+ - *Type:* string
43
+
44
+ ---
45
+
46
+ ##### `securityGroupId`<sup>Required</sup> <a name="securityGroupId" id="@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.securityGroupId"></a>
47
+
48
+ ```typescript
49
+ public readonly securityGroupId: string;
50
+ ```
51
+
52
+ - *Type:* string
53
+
54
+ ---
55
+
56
+ ### ApplicationLoadBalancerExtensionProps <a name="ApplicationLoadBalancerExtensionProps" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps"></a>
57
+
58
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.Initializer"></a>
59
+
60
+ ```typescript
61
+ import { ApplicationLoadBalancerExtensionProps } from '@btc-embedded/cdk-extensions'
62
+
63
+ const applicationLoadBalancerExtensionProps: ApplicationLoadBalancerExtensionProps = { ... }
64
+ ```
65
+
66
+ #### Properties <a name="Properties" id="Properties"></a>
67
+
68
+ | **Name** | **Type** | **Description** |
69
+ | --- | --- | --- |
70
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.clientScope">clientScope</a></code> | <code>string</code> | *No description.* |
71
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.platformStackName">platformStackName</a></code> | <code>string</code> | *No description.* |
72
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.securityGroupId">securityGroupId</a></code> | <code>string</code> | *No description.* |
73
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.userPoolClientSecret">userPoolClientSecret</a></code> | <code>string</code> | *No description.* |
74
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.healtCheckPath">healtCheckPath</a></code> | <code>string</code> | *No description.* |
75
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.path">path</a></code> | <code>string</code> | *No description.* |
76
+
77
+ ---
78
+
79
+ ##### `clientScope`<sup>Required</sup> <a name="clientScope" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.clientScope"></a>
80
+
81
+ ```typescript
82
+ public readonly clientScope: string;
83
+ ```
84
+
85
+ - *Type:* string
86
+
87
+ ---
88
+
89
+ ##### `platformStackName`<sup>Required</sup> <a name="platformStackName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.platformStackName"></a>
90
+
91
+ ```typescript
92
+ public readonly platformStackName: string;
93
+ ```
94
+
95
+ - *Type:* string
96
+
97
+ ---
98
+
99
+ ##### `securityGroupId`<sup>Required</sup> <a name="securityGroupId" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.securityGroupId"></a>
100
+
101
+ ```typescript
102
+ public readonly securityGroupId: string;
103
+ ```
104
+
105
+ - *Type:* string
106
+
107
+ ---
108
+
109
+ ##### `userPoolClientSecret`<sup>Required</sup> <a name="userPoolClientSecret" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.userPoolClientSecret"></a>
110
+
111
+ ```typescript
112
+ public readonly userPoolClientSecret: string;
113
+ ```
114
+
115
+ - *Type:* string
116
+
117
+ ---
118
+
119
+ ##### `healtCheckPath`<sup>Optional</sup> <a name="healtCheckPath" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.healtCheckPath"></a>
120
+
121
+ ```typescript
122
+ public readonly healtCheckPath: string;
123
+ ```
124
+
125
+ - *Type:* string
126
+
127
+ ---
128
+
129
+ ##### `path`<sup>Optional</sup> <a name="path" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.path"></a>
130
+
131
+ ```typescript
132
+ public readonly path: string;
133
+ ```
134
+
135
+ - *Type:* string
136
+
137
+ ---
138
+
139
+ ### CloudMapExtensionProps <a name="CloudMapExtensionProps" id="@btc-embedded/cdk-extensions.CloudMapExtensionProps"></a>
140
+
141
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.CloudMapExtensionProps.Initializer"></a>
142
+
143
+ ```typescript
144
+ import { CloudMapExtensionProps } from '@btc-embedded/cdk-extensions'
145
+
146
+ const cloudMapExtensionProps: CloudMapExtensionProps = { ... }
147
+ ```
148
+
149
+ #### Properties <a name="Properties" id="Properties"></a>
150
+
151
+ | **Name** | **Type** | **Description** |
152
+ | --- | --- | --- |
153
+ | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtensionProps.property.platformStackName">platformStackName</a></code> | <code>string</code> | *No description.* |
154
+
155
+ ---
156
+
157
+ ##### `platformStackName`<sup>Required</sup> <a name="platformStackName" id="@btc-embedded/cdk-extensions.CloudMapExtensionProps.property.platformStackName"></a>
158
+
159
+ ```typescript
160
+ public readonly platformStackName: string;
161
+ ```
162
+
163
+ - *Type:* string
164
+
165
+ ---
166
+
167
+ ### ContainerProps <a name="ContainerProps" id="@btc-embedded/cdk-extensions.ContainerProps"></a>
168
+
169
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ContainerProps.Initializer"></a>
170
+
171
+ ```typescript
172
+ import { ContainerProps } from '@btc-embedded/cdk-extensions'
173
+
174
+ const containerProps: ContainerProps = { ... }
175
+ ```
176
+
177
+ #### Properties <a name="Properties" id="Properties"></a>
178
+
179
+ | **Name** | **Type** | **Description** |
180
+ | --- | --- | --- |
181
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.image">image</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerImage</code> | The image used to start a container. |
182
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.command">command</a></code> | <code>string[]</code> | The command that is passed to the container. |
183
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.containerName">containerName</a></code> | <code>string</code> | The name of the container. |
184
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.cpu">cpu</a></code> | <code>number</code> | The minimum number of CPU units to reserve for the container. |
185
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.credentialSpecs">credentialSpecs</a></code> | <code>aws-cdk-lib.aws_ecs.CredentialSpec[]</code> | A list of ARNs in SSM or Amazon S3 to a credential spec (`CredSpec`) file that configures the container for Active Directory authentication. |
186
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.disableNetworking">disableNetworking</a></code> | <code>boolean</code> | Specifies whether networking is disabled within the container. |
187
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.dnsSearchDomains">dnsSearchDomains</a></code> | <code>string[]</code> | A list of DNS search domains that are presented to the container. |
188
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.dnsServers">dnsServers</a></code> | <code>string[]</code> | A list of DNS servers that are presented to the container. |
189
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.dockerLabels">dockerLabels</a></code> | <code>{[ key: string ]: string}</code> | A key/value map of labels to add to the container. |
190
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.dockerSecurityOptions">dockerSecurityOptions</a></code> | <code>string[]</code> | A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems. |
191
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.enableRestartPolicy">enableRestartPolicy</a></code> | <code>boolean</code> | Enable a restart policy for a container. |
192
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.entryPoint">entryPoint</a></code> | <code>string[]</code> | The ENTRYPOINT value to pass to the container. |
193
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.environment">environment</a></code> | <code>{[ key: string ]: string}</code> | The environment variables to pass to the container. |
194
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.environmentFiles">environmentFiles</a></code> | <code>aws-cdk-lib.aws_ecs.EnvironmentFile[]</code> | The environment files to pass to the container. |
195
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.essential">essential</a></code> | <code>boolean</code> | Specifies whether the container is marked essential. |
196
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.extraHosts">extraHosts</a></code> | <code>{[ key: string ]: string}</code> | A list of hostnames and IP address mappings to append to the /etc/hosts file on the container. |
197
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.gpuCount">gpuCount</a></code> | <code>number</code> | The number of GPUs assigned to the container. |
198
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.healthCheck">healthCheck</a></code> | <code>aws-cdk-lib.aws_ecs.HealthCheck</code> | The health check command and associated configuration parameters for the container. |
199
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.hostname">hostname</a></code> | <code>string</code> | The hostname to use for your container. |
200
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.inferenceAcceleratorResources">inferenceAcceleratorResources</a></code> | <code>string[]</code> | The inference accelerators referenced by the container. |
201
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.interactive">interactive</a></code> | <code>boolean</code> | When this parameter is true, you can deploy containerized applications that require stdin or a tty to be allocated. |
202
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.linuxParameters">linuxParameters</a></code> | <code>aws-cdk-lib.aws_ecs.LinuxParameters</code> | Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. |
203
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.logging">logging</a></code> | <code>aws-cdk-lib.aws_ecs.LogDriver</code> | The log configuration specification for the container. |
204
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.memoryLimitMiB">memoryLimitMiB</a></code> | <code>number</code> | The amount (in MiB) of memory to present to the container. |
205
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.memoryReservationMiB">memoryReservationMiB</a></code> | <code>number</code> | The soft limit (in MiB) of memory to reserve for the container. |
206
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.portMappings">portMappings</a></code> | <code>aws-cdk-lib.aws_ecs.PortMapping[]</code> | The port mappings to add to the container definition. |
207
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.privileged">privileged</a></code> | <code>boolean</code> | Specifies whether the container is marked as privileged. |
208
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.pseudoTerminal">pseudoTerminal</a></code> | <code>boolean</code> | When this parameter is true, a TTY is allocated. |
209
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.readonlyRootFilesystem">readonlyRootFilesystem</a></code> | <code>boolean</code> | When this parameter is true, the container is given read-only access to its root file system. |
210
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.restartAttemptPeriod">restartAttemptPeriod</a></code> | <code>aws-cdk-lib.Duration</code> | A period of time that the container must run for before a restart can be attempted. |
211
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.restartIgnoredExitCodes">restartIgnoredExitCodes</a></code> | <code>number[]</code> | A list of exit codes that Amazon ECS will ignore and not attempt a restart on. |
212
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.secrets">secrets</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_ecs.Secret}</code> | The secret environment variables to pass to the container. |
213
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.startTimeout">startTimeout</a></code> | <code>aws-cdk-lib.Duration</code> | Time duration (in seconds) to wait before giving up on resolving dependencies for a container. |
214
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.stopTimeout">stopTimeout</a></code> | <code>aws-cdk-lib.Duration</code> | Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own. |
215
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.systemControls">systemControls</a></code> | <code>aws-cdk-lib.aws_ecs.SystemControl[]</code> | A list of namespaced kernel parameters to set in the container. |
216
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.ulimits">ulimits</a></code> | <code>aws-cdk-lib.aws_ecs.Ulimit[]</code> | An array of ulimits to set in the container. |
217
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.user">user</a></code> | <code>string</code> | The user to use inside the container. |
218
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.workingDirectory">workingDirectory</a></code> | <code>string</code> | The working directory in which to run commands inside the container. |
219
+ | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | The log group into which application container logs should be routed. |
220
+
221
+ ---
222
+
223
+ ##### `image`<sup>Required</sup> <a name="image" id="@btc-embedded/cdk-extensions.ContainerProps.property.image"></a>
224
+
225
+ ```typescript
226
+ public readonly image: ContainerImage;
227
+ ```
228
+
229
+ - *Type:* aws-cdk-lib.aws_ecs.ContainerImage
230
+
231
+ The image used to start a container.
232
+
233
+ This string is passed directly to the Docker daemon.
234
+ Images in the Docker Hub registry are available by default.
235
+ Other repositories are specified with either repository-url/image:tag or repository-url/image@digest.
236
+ TODO: Update these to specify using classes of IContainerImage
237
+
238
+ ---
239
+
240
+ ##### `command`<sup>Optional</sup> <a name="command" id="@btc-embedded/cdk-extensions.ContainerProps.property.command"></a>
241
+
242
+ ```typescript
243
+ public readonly command: string[];
244
+ ```
245
+
246
+ - *Type:* string[]
247
+ - *Default:* CMD value built into container image.
248
+
249
+ The command that is passed to the container.
250
+
251
+ If you provide a shell command as a single string, you have to quote command-line arguments.
252
+
253
+ ---
254
+
255
+ ##### `containerName`<sup>Optional</sup> <a name="containerName" id="@btc-embedded/cdk-extensions.ContainerProps.property.containerName"></a>
256
+
257
+ ```typescript
258
+ public readonly containerName: string;
259
+ ```
260
+
261
+ - *Type:* string
262
+ - *Default:* id of node associated with ContainerDefinition.
263
+
264
+ The name of the container.
265
+
266
+ ---
267
+
268
+ ##### `cpu`<sup>Optional</sup> <a name="cpu" id="@btc-embedded/cdk-extensions.ContainerProps.property.cpu"></a>
269
+
270
+ ```typescript
271
+ public readonly cpu: number;
272
+ ```
273
+
274
+ - *Type:* number
275
+ - *Default:* No minimum CPU units reserved.
276
+
277
+ The minimum number of CPU units to reserve for the container.
278
+
279
+ ---
280
+
281
+ ##### `credentialSpecs`<sup>Optional</sup> <a name="credentialSpecs" id="@btc-embedded/cdk-extensions.ContainerProps.property.credentialSpecs"></a>
282
+
283
+ ```typescript
284
+ public readonly credentialSpecs: CredentialSpec[];
285
+ ```
286
+
287
+ - *Type:* aws-cdk-lib.aws_ecs.CredentialSpec[]
288
+ - *Default:* No credential specs.
289
+
290
+ A list of ARNs in SSM or Amazon S3 to a credential spec (`CredSpec`) file that configures the container for Active Directory authentication.
291
+
292
+ We recommend that you use this parameter instead of the `dockerSecurityOptions`.
293
+
294
+ Currently, only one credential spec is allowed per container definition.
295
+
296
+ ---
297
+
298
+ ##### `disableNetworking`<sup>Optional</sup> <a name="disableNetworking" id="@btc-embedded/cdk-extensions.ContainerProps.property.disableNetworking"></a>
299
+
300
+ ```typescript
301
+ public readonly disableNetworking: boolean;
302
+ ```
303
+
304
+ - *Type:* boolean
305
+ - *Default:* false
306
+
307
+ Specifies whether networking is disabled within the container.
308
+
309
+ When this parameter is true, networking is disabled within the container.
310
+
311
+ ---
312
+
313
+ ##### `dnsSearchDomains`<sup>Optional</sup> <a name="dnsSearchDomains" id="@btc-embedded/cdk-extensions.ContainerProps.property.dnsSearchDomains"></a>
314
+
315
+ ```typescript
316
+ public readonly dnsSearchDomains: string[];
317
+ ```
318
+
319
+ - *Type:* string[]
320
+ - *Default:* No search domains.
321
+
322
+ A list of DNS search domains that are presented to the container.
323
+
324
+ ---
325
+
326
+ ##### `dnsServers`<sup>Optional</sup> <a name="dnsServers" id="@btc-embedded/cdk-extensions.ContainerProps.property.dnsServers"></a>
327
+
328
+ ```typescript
329
+ public readonly dnsServers: string[];
330
+ ```
331
+
332
+ - *Type:* string[]
333
+ - *Default:* Default DNS servers.
334
+
335
+ A list of DNS servers that are presented to the container.
336
+
337
+ ---
338
+
339
+ ##### `dockerLabels`<sup>Optional</sup> <a name="dockerLabels" id="@btc-embedded/cdk-extensions.ContainerProps.property.dockerLabels"></a>
340
+
341
+ ```typescript
342
+ public readonly dockerLabels: {[ key: string ]: string};
343
+ ```
344
+
345
+ - *Type:* {[ key: string ]: string}
346
+ - *Default:* No labels.
347
+
348
+ A key/value map of labels to add to the container.
349
+
350
+ ---
351
+
352
+ ##### `dockerSecurityOptions`<sup>Optional</sup> <a name="dockerSecurityOptions" id="@btc-embedded/cdk-extensions.ContainerProps.property.dockerSecurityOptions"></a>
353
+
354
+ ```typescript
355
+ public readonly dockerSecurityOptions: string[];
356
+ ```
357
+
358
+ - *Type:* string[]
359
+ - *Default:* No security labels.
360
+
361
+ A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems.
362
+
363
+ ---
364
+
365
+ ##### `enableRestartPolicy`<sup>Optional</sup> <a name="enableRestartPolicy" id="@btc-embedded/cdk-extensions.ContainerProps.property.enableRestartPolicy"></a>
366
+
367
+ ```typescript
368
+ public readonly enableRestartPolicy: boolean;
369
+ ```
370
+
371
+ - *Type:* boolean
372
+ - *Default:* false unless `restartIgnoredExitCodes` or `restartAttemptPeriod` is set.
373
+
374
+ Enable a restart policy for a container.
375
+
376
+ When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task.
377
+
378
+ > [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html)
379
+
380
+ ---
381
+
382
+ ##### `entryPoint`<sup>Optional</sup> <a name="entryPoint" id="@btc-embedded/cdk-extensions.ContainerProps.property.entryPoint"></a>
383
+
384
+ ```typescript
385
+ public readonly entryPoint: string[];
386
+ ```
387
+
388
+ - *Type:* string[]
389
+ - *Default:* Entry point configured in container.
390
+
391
+ The ENTRYPOINT value to pass to the container.
392
+
393
+ > [https://docs.docker.com/engine/reference/builder/#entrypoint](https://docs.docker.com/engine/reference/builder/#entrypoint)
394
+
395
+ ---
396
+
397
+ ##### `environment`<sup>Optional</sup> <a name="environment" id="@btc-embedded/cdk-extensions.ContainerProps.property.environment"></a>
398
+
399
+ ```typescript
400
+ public readonly environment: {[ key: string ]: string};
401
+ ```
402
+
403
+ - *Type:* {[ key: string ]: string}
404
+ - *Default:* No environment variables.
405
+
406
+ The environment variables to pass to the container.
407
+
408
+ ---
409
+
410
+ ##### `environmentFiles`<sup>Optional</sup> <a name="environmentFiles" id="@btc-embedded/cdk-extensions.ContainerProps.property.environmentFiles"></a>
411
+
412
+ ```typescript
413
+ public readonly environmentFiles: EnvironmentFile[];
414
+ ```
415
+
416
+ - *Type:* aws-cdk-lib.aws_ecs.EnvironmentFile[]
417
+ - *Default:* No environment files.
418
+
419
+ The environment files to pass to the container.
420
+
421
+ > [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html)
422
+
423
+ ---
424
+
425
+ ##### `essential`<sup>Optional</sup> <a name="essential" id="@btc-embedded/cdk-extensions.ContainerProps.property.essential"></a>
426
+
427
+ ```typescript
428
+ public readonly essential: boolean;
429
+ ```
430
+
431
+ - *Type:* boolean
432
+ - *Default:* true
433
+
434
+ Specifies whether the container is marked essential.
435
+
436
+ If the essential parameter of a container is marked as true, and that container fails
437
+ or stops for any reason, all other containers that are part of the task are stopped.
438
+ If the essential parameter of a container is marked as false, then its failure does not
439
+ affect the rest of the containers in a task. All tasks must have at least one essential container.
440
+
441
+ If this parameter is omitted, a container is assumed to be essential.
442
+
443
+ ---
444
+
445
+ ##### `extraHosts`<sup>Optional</sup> <a name="extraHosts" id="@btc-embedded/cdk-extensions.ContainerProps.property.extraHosts"></a>
446
+
447
+ ```typescript
448
+ public readonly extraHosts: {[ key: string ]: string};
449
+ ```
450
+
451
+ - *Type:* {[ key: string ]: string}
452
+ - *Default:* No extra hosts.
453
+
454
+ A list of hostnames and IP address mappings to append to the /etc/hosts file on the container.
455
+
456
+ ---
457
+
458
+ ##### `gpuCount`<sup>Optional</sup> <a name="gpuCount" id="@btc-embedded/cdk-extensions.ContainerProps.property.gpuCount"></a>
459
+
460
+ ```typescript
461
+ public readonly gpuCount: number;
462
+ ```
463
+
464
+ - *Type:* number
465
+ - *Default:* No GPUs assigned.
466
+
467
+ The number of GPUs assigned to the container.
468
+
469
+ ---
470
+
471
+ ##### `healthCheck`<sup>Optional</sup> <a name="healthCheck" id="@btc-embedded/cdk-extensions.ContainerProps.property.healthCheck"></a>
472
+
473
+ ```typescript
474
+ public readonly healthCheck: HealthCheck;
475
+ ```
476
+
477
+ - *Type:* aws-cdk-lib.aws_ecs.HealthCheck
478
+ - *Default:* Health check configuration from container.
479
+
480
+ The health check command and associated configuration parameters for the container.
481
+
482
+ ---
483
+
484
+ ##### `hostname`<sup>Optional</sup> <a name="hostname" id="@btc-embedded/cdk-extensions.ContainerProps.property.hostname"></a>
485
+
486
+ ```typescript
487
+ public readonly hostname: string;
488
+ ```
489
+
490
+ - *Type:* string
491
+ - *Default:* Automatic hostname.
492
+
493
+ The hostname to use for your container.
494
+
495
+ ---
496
+
497
+ ##### `inferenceAcceleratorResources`<sup>Optional</sup> <a name="inferenceAcceleratorResources" id="@btc-embedded/cdk-extensions.ContainerProps.property.inferenceAcceleratorResources"></a>
498
+
499
+ ```typescript
500
+ public readonly inferenceAcceleratorResources: string[];
501
+ ```
502
+
503
+ - *Type:* string[]
504
+ - *Default:* No inference accelerators assigned.
505
+
506
+ The inference accelerators referenced by the container.
507
+
508
+ ---
509
+
510
+ ##### `interactive`<sup>Optional</sup> <a name="interactive" id="@btc-embedded/cdk-extensions.ContainerProps.property.interactive"></a>
511
+
512
+ ```typescript
513
+ public readonly interactive: boolean;
514
+ ```
515
+
516
+ - *Type:* boolean
517
+ - *Default:* false
518
+
519
+ When this parameter is true, you can deploy containerized applications that require stdin or a tty to be allocated.
520
+
521
+ > [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-interactive](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-interactive)
522
+
523
+ ---
524
+
525
+ ##### `linuxParameters`<sup>Optional</sup> <a name="linuxParameters" id="@btc-embedded/cdk-extensions.ContainerProps.property.linuxParameters"></a>
526
+
527
+ ```typescript
528
+ public readonly linuxParameters: LinuxParameters;
529
+ ```
530
+
531
+ - *Type:* aws-cdk-lib.aws_ecs.LinuxParameters
532
+ - *Default:* No Linux parameters.
533
+
534
+ Linux-specific modifications that are applied to the container, such as Linux kernel capabilities.
535
+
536
+ For more information see [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html).
537
+
538
+ ---
539
+
540
+ ##### `logging`<sup>Optional</sup> <a name="logging" id="@btc-embedded/cdk-extensions.ContainerProps.property.logging"></a>
541
+
542
+ ```typescript
543
+ public readonly logging: LogDriver;
544
+ ```
545
+
546
+ - *Type:* aws-cdk-lib.aws_ecs.LogDriver
547
+ - *Default:* Containers use the same logging driver that the Docker daemon uses.
548
+
549
+ The log configuration specification for the container.
550
+
551
+ ---
552
+
553
+ ##### `memoryLimitMiB`<sup>Optional</sup> <a name="memoryLimitMiB" id="@btc-embedded/cdk-extensions.ContainerProps.property.memoryLimitMiB"></a>
554
+
555
+ ```typescript
556
+ public readonly memoryLimitMiB: number;
557
+ ```
558
+
559
+ - *Type:* number
560
+ - *Default:* No memory limit.
561
+
562
+ The amount (in MiB) of memory to present to the container.
563
+
564
+ If your container attempts to exceed the allocated memory, the container
565
+ is terminated.
566
+
567
+ At least one of memoryLimitMiB and memoryReservationMiB is required for non-Fargate services.
568
+
569
+ ---
570
+
571
+ ##### `memoryReservationMiB`<sup>Optional</sup> <a name="memoryReservationMiB" id="@btc-embedded/cdk-extensions.ContainerProps.property.memoryReservationMiB"></a>
572
+
573
+ ```typescript
574
+ public readonly memoryReservationMiB: number;
575
+ ```
576
+
577
+ - *Type:* number
578
+ - *Default:* No memory reserved.
579
+
580
+ The soft limit (in MiB) of memory to reserve for the container.
581
+
582
+ When system memory is under heavy contention, Docker attempts to keep the
583
+ container memory to this soft limit. However, your container can consume more
584
+ memory when it needs to, up to either the hard limit specified with the memory
585
+ parameter (if applicable), or all of the available memory on the container
586
+ instance, whichever comes first.
587
+
588
+ At least one of memoryLimitMiB and memoryReservationMiB is required for non-Fargate services.
589
+
590
+ ---
591
+
592
+ ##### `portMappings`<sup>Optional</sup> <a name="portMappings" id="@btc-embedded/cdk-extensions.ContainerProps.property.portMappings"></a>
593
+
594
+ ```typescript
595
+ public readonly portMappings: PortMapping[];
596
+ ```
597
+
598
+ - *Type:* aws-cdk-lib.aws_ecs.PortMapping[]
599
+ - *Default:* No ports are mapped.
600
+
601
+ The port mappings to add to the container definition.
602
+
603
+ ---
604
+
605
+ ##### `privileged`<sup>Optional</sup> <a name="privileged" id="@btc-embedded/cdk-extensions.ContainerProps.property.privileged"></a>
606
+
607
+ ```typescript
608
+ public readonly privileged: boolean;
609
+ ```
610
+
611
+ - *Type:* boolean
612
+ - *Default:* false
613
+
614
+ Specifies whether the container is marked as privileged.
615
+
616
+ When this parameter is true, the container is given elevated privileges on the host container instance (similar to the root user).
617
+
618
+ ---
619
+
620
+ ##### `pseudoTerminal`<sup>Optional</sup> <a name="pseudoTerminal" id="@btc-embedded/cdk-extensions.ContainerProps.property.pseudoTerminal"></a>
621
+
622
+ ```typescript
623
+ public readonly pseudoTerminal: boolean;
624
+ ```
625
+
626
+ - *Type:* boolean
627
+ - *Default:* false
628
+
629
+ When this parameter is true, a TTY is allocated.
630
+
631
+ This parameter maps to Tty in the "Create a container section" of the
632
+ Docker Remote API and the --tty option to `docker run`.
633
+
634
+ > [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_pseudoterminal](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_pseudoterminal)
635
+
636
+ ---
637
+
638
+ ##### `readonlyRootFilesystem`<sup>Optional</sup> <a name="readonlyRootFilesystem" id="@btc-embedded/cdk-extensions.ContainerProps.property.readonlyRootFilesystem"></a>
639
+
640
+ ```typescript
641
+ public readonly readonlyRootFilesystem: boolean;
642
+ ```
643
+
644
+ - *Type:* boolean
645
+ - *Default:* false
646
+
647
+ When this parameter is true, the container is given read-only access to its root file system.
648
+
649
+ ---
650
+
651
+ ##### `restartAttemptPeriod`<sup>Optional</sup> <a name="restartAttemptPeriod" id="@btc-embedded/cdk-extensions.ContainerProps.property.restartAttemptPeriod"></a>
652
+
653
+ ```typescript
654
+ public readonly restartAttemptPeriod: Duration;
655
+ ```
656
+
657
+ - *Type:* aws-cdk-lib.Duration
658
+ - *Default:* Duration.seconds(300) if `enableRestartPolicy` is true, otherwise no period.
659
+
660
+ A period of time that the container must run for before a restart can be attempted.
661
+
662
+ A container can be restarted only once every `restartAttemptPeriod` seconds.
663
+ If a container isn't able to run for this time period and exits early, it will not be restarted.
664
+
665
+ This property can't be used if `enableRestartPolicy` is set to false.
666
+
667
+ You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod`
668
+ of 1800 seconds.
669
+
670
+ ---
671
+
672
+ ##### `restartIgnoredExitCodes`<sup>Optional</sup> <a name="restartIgnoredExitCodes" id="@btc-embedded/cdk-extensions.ContainerProps.property.restartIgnoredExitCodes"></a>
673
+
674
+ ```typescript
675
+ public readonly restartIgnoredExitCodes: number[];
676
+ ```
677
+
678
+ - *Type:* number[]
679
+ - *Default:* No exit codes are ignored.
680
+
681
+ A list of exit codes that Amazon ECS will ignore and not attempt a restart on.
682
+
683
+ This property can't be used if `enableRestartPolicy` is set to false.
684
+
685
+ You can specify a maximum of 50 container exit codes.
686
+
687
+ ---
688
+
689
+ ##### `secrets`<sup>Optional</sup> <a name="secrets" id="@btc-embedded/cdk-extensions.ContainerProps.property.secrets"></a>
690
+
691
+ ```typescript
692
+ public readonly secrets: {[ key: string ]: Secret};
693
+ ```
694
+
695
+ - *Type:* {[ key: string ]: aws-cdk-lib.aws_ecs.Secret}
696
+ - *Default:* No secret environment variables.
697
+
698
+ The secret environment variables to pass to the container.
699
+
700
+ ---
701
+
702
+ ##### `startTimeout`<sup>Optional</sup> <a name="startTimeout" id="@btc-embedded/cdk-extensions.ContainerProps.property.startTimeout"></a>
703
+
704
+ ```typescript
705
+ public readonly startTimeout: Duration;
706
+ ```
707
+
708
+ - *Type:* aws-cdk-lib.Duration
709
+ - *Default:* none
710
+
711
+ Time duration (in seconds) to wait before giving up on resolving dependencies for a container.
712
+
713
+ ---
714
+
715
+ ##### `stopTimeout`<sup>Optional</sup> <a name="stopTimeout" id="@btc-embedded/cdk-extensions.ContainerProps.property.stopTimeout"></a>
716
+
717
+ ```typescript
718
+ public readonly stopTimeout: Duration;
719
+ ```
720
+
721
+ - *Type:* aws-cdk-lib.Duration
722
+ - *Default:* none
723
+
724
+ Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own.
725
+
726
+ ---
727
+
728
+ ##### `systemControls`<sup>Optional</sup> <a name="systemControls" id="@btc-embedded/cdk-extensions.ContainerProps.property.systemControls"></a>
729
+
730
+ ```typescript
731
+ public readonly systemControls: SystemControl[];
732
+ ```
733
+
734
+ - *Type:* aws-cdk-lib.aws_ecs.SystemControl[]
735
+ - *Default:* No system controls are set.
736
+
737
+ A list of namespaced kernel parameters to set in the container.
738
+
739
+ > [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_systemcontrols](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_systemcontrols)
740
+
741
+ ---
742
+
743
+ ##### `ulimits`<sup>Optional</sup> <a name="ulimits" id="@btc-embedded/cdk-extensions.ContainerProps.property.ulimits"></a>
744
+
745
+ ```typescript
746
+ public readonly ulimits: Ulimit[];
747
+ ```
748
+
749
+ - *Type:* aws-cdk-lib.aws_ecs.Ulimit[]
750
+
751
+ An array of ulimits to set in the container.
752
+
753
+ ---
754
+
755
+ ##### `user`<sup>Optional</sup> <a name="user" id="@btc-embedded/cdk-extensions.ContainerProps.property.user"></a>
756
+
757
+ ```typescript
758
+ public readonly user: string;
759
+ ```
760
+
761
+ - *Type:* string
762
+ - *Default:* root
763
+
764
+ The user to use inside the container.
765
+
766
+ This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.
767
+
768
+ > [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#ContainerDefinition-user](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#ContainerDefinition-user)
769
+
770
+ ---
771
+
772
+ ##### `workingDirectory`<sup>Optional</sup> <a name="workingDirectory" id="@btc-embedded/cdk-extensions.ContainerProps.property.workingDirectory"></a>
773
+
774
+ ```typescript
775
+ public readonly workingDirectory: string;
776
+ ```
777
+
778
+ - *Type:* string
779
+ - *Default:* /
780
+
781
+ The working directory in which to run commands inside the container.
782
+
783
+ ---
784
+
785
+ ##### `logGroup`<sup>Optional</sup> <a name="logGroup" id="@btc-embedded/cdk-extensions.ContainerProps.property.logGroup"></a>
786
+
787
+ ```typescript
788
+ public readonly logGroup: ILogGroup;
789
+ ```
790
+
791
+ - *Type:* aws-cdk-lib.aws_logs.ILogGroup
792
+ - *Default:* A log group is automatically created for you if the `ECS_SERVICE_EXTENSIONS_ENABLE_DEFAULT_LOG_DRIVER` feature flag is set.
793
+
794
+ The log group into which application container logs should be routed.
795
+
796
+ ---
797
+
798
+ ### DocumentDbAccessExtensionProps <a name="DocumentDbAccessExtensionProps" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps"></a>
799
+
800
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.Initializer"></a>
801
+
802
+ ```typescript
803
+ import { DocumentDbAccessExtensionProps } from '@btc-embedded/cdk-extensions'
804
+
805
+ const documentDbAccessExtensionProps: DocumentDbAccessExtensionProps = { ... }
806
+ ```
807
+
808
+ #### Properties <a name="Properties" id="Properties"></a>
809
+
810
+ | **Name** | **Type** | **Description** |
811
+ | --- | --- | --- |
812
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.secretArn">secretArn</a></code> | <code>string</code> | *No description.* |
813
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.securityGroupId">securityGroupId</a></code> | <code>string</code> | *No description.* |
814
+
815
+ ---
816
+
817
+ ##### `secretArn`<sup>Required</sup> <a name="secretArn" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.secretArn"></a>
818
+
819
+ ```typescript
820
+ public readonly secretArn: string;
821
+ ```
822
+
823
+ - *Type:* string
824
+
825
+ ---
826
+
827
+ ##### `securityGroupId`<sup>Required</sup> <a name="securityGroupId" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.securityGroupId"></a>
828
+
829
+ ```typescript
830
+ public readonly securityGroupId: string;
831
+ ```
832
+
833
+ - *Type:* string
834
+
835
+ ---
836
+
837
+ ### ExtraContainerExtensionProps <a name="ExtraContainerExtensionProps" id="@btc-embedded/cdk-extensions.ExtraContainerExtensionProps"></a>
838
+
839
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ExtraContainerExtensionProps.Initializer"></a>
840
+
841
+ ```typescript
842
+ import { ExtraContainerExtensionProps } from '@btc-embedded/cdk-extensions'
843
+
844
+ const extraContainerExtensionProps: ExtraContainerExtensionProps = { ... }
845
+ ```
846
+
847
+ #### Properties <a name="Properties" id="Properties"></a>
848
+
849
+ | **Name** | **Type** | **Description** |
850
+ | --- | --- | --- |
851
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtensionProps.property.container">container</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps">ContainerProps</a></code> | *No description.* |
852
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtensionProps.property.dbAccess">dbAccess</a></code> | <code>boolean</code> | *No description.* |
853
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtensionProps.property.healthCheckCondition">healthCheckCondition</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDependencyCondition</code> | Specify the condition when this container should be considered healthy such that the main container can start. |
854
+
855
+ ---
856
+
857
+ ##### `container`<sup>Required</sup> <a name="container" id="@btc-embedded/cdk-extensions.ExtraContainerExtensionProps.property.container"></a>
858
+
859
+ ```typescript
860
+ public readonly container: ContainerProps;
861
+ ```
862
+
863
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ContainerProps">ContainerProps</a>
864
+
865
+ ---
866
+
867
+ ##### `dbAccess`<sup>Optional</sup> <a name="dbAccess" id="@btc-embedded/cdk-extensions.ExtraContainerExtensionProps.property.dbAccess"></a>
868
+
869
+ ```typescript
870
+ public readonly dbAccess: boolean;
871
+ ```
872
+
873
+ - *Type:* boolean
874
+
875
+ ---
876
+
877
+ ##### `healthCheckCondition`<sup>Optional</sup> <a name="healthCheckCondition" id="@btc-embedded/cdk-extensions.ExtraContainerExtensionProps.property.healthCheckCondition"></a>
878
+
879
+ ```typescript
880
+ public readonly healthCheckCondition: ContainerDependencyCondition;
881
+ ```
882
+
883
+ - *Type:* aws-cdk-lib.aws_ecs.ContainerDependencyCondition
884
+
885
+ Specify the condition when this container should be considered healthy such that the main container can start.
886
+
887
+ Defaults to ContainerDependencyCondition.HEALTHY.
888
+
889
+ ---
890
+
891
+ ### TcpKeepAliveExtensionProps <a name="TcpKeepAliveExtensionProps" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps"></a>
892
+
893
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.Initializer"></a>
894
+
895
+ ```typescript
896
+ import { TcpKeepAliveExtensionProps } from '@btc-embedded/cdk-extensions'
897
+
898
+ const tcpKeepAliveExtensionProps: TcpKeepAliveExtensionProps = { ... }
899
+ ```
900
+
901
+ #### Properties <a name="Properties" id="Properties"></a>
902
+
903
+ | **Name** | **Type** | **Description** |
904
+ | --- | --- | --- |
905
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.interval">interval</a></code> | <code>number</code> | *No description.* |
906
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.probes">probes</a></code> | <code>number</code> | *No description.* |
907
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.time">time</a></code> | <code>number</code> | *No description.* |
908
+
909
+ ---
910
+
911
+ ##### `interval`<sup>Required</sup> <a name="interval" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.interval"></a>
912
+
913
+ ```typescript
914
+ public readonly interval: number;
915
+ ```
916
+
917
+ - *Type:* number
918
+
919
+ ---
920
+
921
+ ##### `probes`<sup>Required</sup> <a name="probes" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.probes"></a>
922
+
923
+ ```typescript
924
+ public readonly probes: number;
925
+ ```
926
+
927
+ - *Type:* number
928
+
929
+ ---
930
+
931
+ ##### `time`<sup>Required</sup> <a name="time" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps.property.time"></a>
932
+
933
+ ```typescript
934
+ public readonly time: number;
935
+ ```
936
+
937
+ - *Type:* number
938
+
939
+ ---
940
+
941
+ ## Classes <a name="Classes" id="Classes"></a>
942
+
943
+ ### ApiGatewayExtension <a name="ApiGatewayExtension" id="@btc-embedded/cdk-extensions.ApiGatewayExtension"></a>
944
+
945
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.Initializer"></a>
946
+
947
+ ```typescript
948
+ import { ApiGatewayExtension } from '@btc-embedded/cdk-extensions'
949
+
950
+ new ApiGatewayExtension(props: ApiGatewayExtensionProps)
951
+ ```
952
+
953
+ | **Name** | **Type** | **Description** |
954
+ | --- | --- | --- |
955
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtension.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtensionProps">ApiGatewayExtensionProps</a></code> | *No description.* |
956
+
957
+ ---
958
+
959
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.Initializer.parameter.props"></a>
960
+
961
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ApiGatewayExtensionProps">ApiGatewayExtensionProps</a>
962
+
963
+ ---
964
+
965
+ #### Methods <a name="Methods" id="Methods"></a>
966
+
967
+ | **Name** | **Description** |
968
+ | --- | --- |
969
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtension.addContainerMutatingHook">addContainerMutatingHook</a></code> | This hook allows another service extension to register a mutating hook for changing the primary container of this extension. |
970
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtension.addHooks">addHooks</a></code> | A hook that allows the extension to add hooks to other extensions that are registered. |
971
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtension.connectToService">connectToService</a></code> | This hook allows the extension to establish a connection to extensions from another service. |
972
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtension.modifyServiceProps">modifyServiceProps</a></code> | Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created. |
973
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtension.modifyTaskDefinitionProps">modifyTaskDefinitionProps</a></code> | This is a hook which allows extensions to modify the settings of the task definition prior to it being created. |
974
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtension.prehook">prehook</a></code> | A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance. |
975
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtension.resolveContainerDependencies">resolveContainerDependencies</a></code> | Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled. |
976
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtension.useService">useService</a></code> | When this hook is implemented by extension, it allows the extension to use the service which has been created. |
977
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtension.useTaskDefinition">useTaskDefinition</a></code> | Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc. |
978
+
979
+ ---
980
+
981
+ ##### `addContainerMutatingHook` <a name="addContainerMutatingHook" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.addContainerMutatingHook"></a>
982
+
983
+ ```typescript
984
+ public addContainerMutatingHook(hook: ContainerMutatingHook): void
985
+ ```
986
+
987
+ This hook allows another service extension to register a mutating hook for changing the primary container of this extension.
988
+
989
+ This is primarily used
990
+ for the application extension. For example, the Firelens extension wants to
991
+ be able to modify the settings of the application container to
992
+ route logs through Firelens.
993
+
994
+ ###### `hook`<sup>Required</sup> <a name="hook" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.addContainerMutatingHook.parameter.hook"></a>
995
+
996
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ContainerMutatingHook
997
+
998
+ ---
999
+
1000
+ ##### `addHooks` <a name="addHooks" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.addHooks"></a>
1001
+
1002
+ ```typescript
1003
+ public addHooks(): void
1004
+ ```
1005
+
1006
+ A hook that allows the extension to add hooks to other extensions that are registered.
1007
+
1008
+ ##### `connectToService` <a name="connectToService" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.connectToService"></a>
1009
+
1010
+ ```typescript
1011
+ public connectToService(service: Service, connectToProps?: ConnectToProps): void
1012
+ ```
1013
+
1014
+ This hook allows the extension to establish a connection to extensions from another service.
1015
+
1016
+ Usually used for things like
1017
+ allowing one service to talk to the load balancer or service mesh
1018
+ proxy for another service.
1019
+
1020
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.connectToService.parameter.service"></a>
1021
+
1022
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
1023
+
1024
+ The other service to connect to.
1025
+
1026
+ ---
1027
+
1028
+ ###### `connectToProps`<sup>Optional</sup> <a name="connectToProps" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.connectToService.parameter.connectToProps"></a>
1029
+
1030
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ConnectToProps
1031
+
1032
+ ---
1033
+
1034
+ ##### `modifyServiceProps` <a name="modifyServiceProps" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.modifyServiceProps"></a>
1035
+
1036
+ ```typescript
1037
+ public modifyServiceProps(props: ServiceBuild): ServiceBuild
1038
+ ```
1039
+
1040
+ Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created.
1041
+
1042
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.modifyServiceProps.parameter.props"></a>
1043
+
1044
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ServiceBuild
1045
+
1046
+ The service properties to mutate.
1047
+
1048
+ ---
1049
+
1050
+ ##### `modifyTaskDefinitionProps` <a name="modifyTaskDefinitionProps" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.modifyTaskDefinitionProps"></a>
1051
+
1052
+ ```typescript
1053
+ public modifyTaskDefinitionProps(props: TaskDefinitionProps): TaskDefinitionProps
1054
+ ```
1055
+
1056
+ This is a hook which allows extensions to modify the settings of the task definition prior to it being created.
1057
+
1058
+ For example, the App Mesh
1059
+ extension needs to configure an Envoy proxy in the task definition,
1060
+ or the Application extension wants to set the overall resource for
1061
+ the task.
1062
+
1063
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.modifyTaskDefinitionProps.parameter.props"></a>
1064
+
1065
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinitionProps
1066
+
1067
+ Properties of the task definition to be created.
1068
+
1069
+ ---
1070
+
1071
+ ##### `prehook` <a name="prehook" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.prehook"></a>
1072
+
1073
+ ```typescript
1074
+ public prehook(parent: Service, scope: Construct): void
1075
+ ```
1076
+
1077
+ A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance.
1078
+
1079
+ ###### `parent`<sup>Required</sup> <a name="parent" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.prehook.parameter.parent"></a>
1080
+
1081
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
1082
+
1083
+ The parent service which this extension has been added to.
1084
+
1085
+ ---
1086
+
1087
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.prehook.parameter.scope"></a>
1088
+
1089
+ - *Type:* constructs.Construct
1090
+
1091
+ The scope that this extension should create resources in.
1092
+
1093
+ ---
1094
+
1095
+ ##### `resolveContainerDependencies` <a name="resolveContainerDependencies" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.resolveContainerDependencies"></a>
1096
+
1097
+ ```typescript
1098
+ public resolveContainerDependencies(): void
1099
+ ```
1100
+
1101
+ Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled.
1102
+
1103
+ ##### `useService` <a name="useService" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.useService"></a>
1104
+
1105
+ ```typescript
1106
+ public useService(service: Ec2Service | FargateService): void
1107
+ ```
1108
+
1109
+ When this hook is implemented by extension, it allows the extension to use the service which has been created.
1110
+
1111
+ It is generally used to
1112
+ create any final resources which might depend on the service itself.
1113
+
1114
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.useService.parameter.service"></a>
1115
+
1116
+ - *Type:* aws-cdk-lib.aws_ecs.Ec2Service | aws-cdk-lib.aws_ecs.FargateService
1117
+
1118
+ ---
1119
+
1120
+ ##### `useTaskDefinition` <a name="useTaskDefinition" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.useTaskDefinition"></a>
1121
+
1122
+ ```typescript
1123
+ public useTaskDefinition(taskDefinition: TaskDefinition): void
1124
+ ```
1125
+
1126
+ Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc.
1127
+
1128
+ ###### `taskDefinition`<sup>Required</sup> <a name="taskDefinition" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.useTaskDefinition.parameter.taskDefinition"></a>
1129
+
1130
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinition
1131
+
1132
+ The created task definition to add containers to.
1133
+
1134
+ ---
1135
+
1136
+
1137
+ #### Properties <a name="Properties" id="Properties"></a>
1138
+
1139
+ | **Name** | **Type** | **Description** |
1140
+ | --- | --- | --- |
1141
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtension.property.name">name</a></code> | <code>string</code> | The name of the extension. |
1142
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtension.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | The container for this extension. |
1143
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtension.property.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtensionProps">ApiGatewayExtensionProps</a></code> | *No description.* |
1144
+
1145
+ ---
1146
+
1147
+ ##### `name`<sup>Required</sup> <a name="name" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.property.name"></a>
1148
+
1149
+ ```typescript
1150
+ public readonly name: string;
1151
+ ```
1152
+
1153
+ - *Type:* string
1154
+
1155
+ The name of the extension.
1156
+
1157
+ ---
1158
+
1159
+ ##### `container`<sup>Optional</sup> <a name="container" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.property.container"></a>
1160
+
1161
+ ```typescript
1162
+ public readonly container: ContainerDefinition;
1163
+ ```
1164
+
1165
+ - *Type:* aws-cdk-lib.aws_ecs.ContainerDefinition
1166
+
1167
+ The container for this extension.
1168
+
1169
+ Most extensions have a container, but not
1170
+ every extension is required to have a container. Some extensions may just
1171
+ modify the properties of the service, or create external resources
1172
+ connected to the service.
1173
+
1174
+ ---
1175
+
1176
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.ApiGatewayExtension.property.props"></a>
1177
+
1178
+ ```typescript
1179
+ public readonly props: ApiGatewayExtensionProps;
1180
+ ```
1181
+
1182
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ApiGatewayExtensionProps">ApiGatewayExtensionProps</a>
1183
+
1184
+ ---
1185
+
1186
+
1187
+ ### ApplicationLoadBalancerExtension <a name="ApplicationLoadBalancerExtension" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension"></a>
1188
+
1189
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.Initializer"></a>
1190
+
1191
+ ```typescript
1192
+ import { ApplicationLoadBalancerExtension } from '@btc-embedded/cdk-extensions'
1193
+
1194
+ new ApplicationLoadBalancerExtension(props: ApplicationLoadBalancerExtensionProps)
1195
+ ```
1196
+
1197
+ | **Name** | **Type** | **Description** |
1198
+ | --- | --- | --- |
1199
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps">ApplicationLoadBalancerExtensionProps</a></code> | *No description.* |
1200
+
1201
+ ---
1202
+
1203
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.Initializer.parameter.props"></a>
1204
+
1205
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps">ApplicationLoadBalancerExtensionProps</a>
1206
+
1207
+ ---
1208
+
1209
+ #### Methods <a name="Methods" id="Methods"></a>
1210
+
1211
+ | **Name** | **Description** |
1212
+ | --- | --- |
1213
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.addContainerMutatingHook">addContainerMutatingHook</a></code> | This hook allows another service extension to register a mutating hook for changing the primary container of this extension. |
1214
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.addHooks">addHooks</a></code> | A hook that allows the extension to add hooks to other extensions that are registered. |
1215
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.connectToService">connectToService</a></code> | This hook allows the extension to establish a connection to extensions from another service. |
1216
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.modifyServiceProps">modifyServiceProps</a></code> | Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created. |
1217
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.modifyTaskDefinitionProps">modifyTaskDefinitionProps</a></code> | This is a hook which allows extensions to modify the settings of the task definition prior to it being created. |
1218
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.prehook">prehook</a></code> | A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance. |
1219
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.resolveContainerDependencies">resolveContainerDependencies</a></code> | Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled. |
1220
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.useService">useService</a></code> | When this hook is implemented by extension, it allows the extension to use the service which has been created. |
1221
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.useTaskDefinition">useTaskDefinition</a></code> | Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc. |
1222
+
1223
+ ---
1224
+
1225
+ ##### `addContainerMutatingHook` <a name="addContainerMutatingHook" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.addContainerMutatingHook"></a>
1226
+
1227
+ ```typescript
1228
+ public addContainerMutatingHook(hook: ContainerMutatingHook): void
1229
+ ```
1230
+
1231
+ This hook allows another service extension to register a mutating hook for changing the primary container of this extension.
1232
+
1233
+ This is primarily used
1234
+ for the application extension. For example, the Firelens extension wants to
1235
+ be able to modify the settings of the application container to
1236
+ route logs through Firelens.
1237
+
1238
+ ###### `hook`<sup>Required</sup> <a name="hook" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.addContainerMutatingHook.parameter.hook"></a>
1239
+
1240
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ContainerMutatingHook
1241
+
1242
+ ---
1243
+
1244
+ ##### `addHooks` <a name="addHooks" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.addHooks"></a>
1245
+
1246
+ ```typescript
1247
+ public addHooks(): void
1248
+ ```
1249
+
1250
+ A hook that allows the extension to add hooks to other extensions that are registered.
1251
+
1252
+ ##### `connectToService` <a name="connectToService" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.connectToService"></a>
1253
+
1254
+ ```typescript
1255
+ public connectToService(service: Service, connectToProps?: ConnectToProps): void
1256
+ ```
1257
+
1258
+ This hook allows the extension to establish a connection to extensions from another service.
1259
+
1260
+ Usually used for things like
1261
+ allowing one service to talk to the load balancer or service mesh
1262
+ proxy for another service.
1263
+
1264
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.connectToService.parameter.service"></a>
1265
+
1266
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
1267
+
1268
+ The other service to connect to.
1269
+
1270
+ ---
1271
+
1272
+ ###### `connectToProps`<sup>Optional</sup> <a name="connectToProps" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.connectToService.parameter.connectToProps"></a>
1273
+
1274
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ConnectToProps
1275
+
1276
+ ---
1277
+
1278
+ ##### `modifyServiceProps` <a name="modifyServiceProps" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.modifyServiceProps"></a>
1279
+
1280
+ ```typescript
1281
+ public modifyServiceProps(props: ServiceBuild): ServiceBuild
1282
+ ```
1283
+
1284
+ Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created.
1285
+
1286
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.modifyServiceProps.parameter.props"></a>
1287
+
1288
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ServiceBuild
1289
+
1290
+ ---
1291
+
1292
+ ##### `modifyTaskDefinitionProps` <a name="modifyTaskDefinitionProps" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.modifyTaskDefinitionProps"></a>
1293
+
1294
+ ```typescript
1295
+ public modifyTaskDefinitionProps(props: TaskDefinitionProps): TaskDefinitionProps
1296
+ ```
1297
+
1298
+ This is a hook which allows extensions to modify the settings of the task definition prior to it being created.
1299
+
1300
+ For example, the App Mesh
1301
+ extension needs to configure an Envoy proxy in the task definition,
1302
+ or the Application extension wants to set the overall resource for
1303
+ the task.
1304
+
1305
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.modifyTaskDefinitionProps.parameter.props"></a>
1306
+
1307
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinitionProps
1308
+
1309
+ Properties of the task definition to be created.
1310
+
1311
+ ---
1312
+
1313
+ ##### `prehook` <a name="prehook" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.prehook"></a>
1314
+
1315
+ ```typescript
1316
+ public prehook(service: Service, scope: Construct): void
1317
+ ```
1318
+
1319
+ A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance.
1320
+
1321
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.prehook.parameter.service"></a>
1322
+
1323
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
1324
+
1325
+ ---
1326
+
1327
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.prehook.parameter.scope"></a>
1328
+
1329
+ - *Type:* constructs.Construct
1330
+
1331
+ ---
1332
+
1333
+ ##### `resolveContainerDependencies` <a name="resolveContainerDependencies" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.resolveContainerDependencies"></a>
1334
+
1335
+ ```typescript
1336
+ public resolveContainerDependencies(): void
1337
+ ```
1338
+
1339
+ Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled.
1340
+
1341
+ ##### `useService` <a name="useService" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.useService"></a>
1342
+
1343
+ ```typescript
1344
+ public useService(service: Ec2Service | FargateService): void
1345
+ ```
1346
+
1347
+ When this hook is implemented by extension, it allows the extension to use the service which has been created.
1348
+
1349
+ It is generally used to
1350
+ create any final resources which might depend on the service itself.
1351
+
1352
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.useService.parameter.service"></a>
1353
+
1354
+ - *Type:* aws-cdk-lib.aws_ecs.Ec2Service | aws-cdk-lib.aws_ecs.FargateService
1355
+
1356
+ ---
1357
+
1358
+ ##### `useTaskDefinition` <a name="useTaskDefinition" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.useTaskDefinition"></a>
1359
+
1360
+ ```typescript
1361
+ public useTaskDefinition(taskDefinition: TaskDefinition): void
1362
+ ```
1363
+
1364
+ Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc.
1365
+
1366
+ ###### `taskDefinition`<sup>Required</sup> <a name="taskDefinition" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.useTaskDefinition.parameter.taskDefinition"></a>
1367
+
1368
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinition
1369
+
1370
+ The created task definition to add containers to.
1371
+
1372
+ ---
1373
+
1374
+
1375
+ #### Properties <a name="Properties" id="Properties"></a>
1376
+
1377
+ | **Name** | **Type** | **Description** |
1378
+ | --- | --- | --- |
1379
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.property.name">name</a></code> | <code>string</code> | The name of the extension. |
1380
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | The container for this extension. |
1381
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.property.fqdn">fqdn</a></code> | <code>string</code> | *No description.* |
1382
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.property.userPool">userPool</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPool</code> | *No description.* |
1383
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.property.userPoolClient">userPoolClient</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolClient</code> | *No description.* |
1384
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.property.userPoolDomain">userPoolDomain</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolDomain</code> | *No description.* |
1385
+
1386
+ ---
1387
+
1388
+ ##### `name`<sup>Required</sup> <a name="name" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.property.name"></a>
1389
+
1390
+ ```typescript
1391
+ public readonly name: string;
1392
+ ```
1393
+
1394
+ - *Type:* string
1395
+
1396
+ The name of the extension.
1397
+
1398
+ ---
1399
+
1400
+ ##### `container`<sup>Optional</sup> <a name="container" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.property.container"></a>
1401
+
1402
+ ```typescript
1403
+ public readonly container: ContainerDefinition;
1404
+ ```
1405
+
1406
+ - *Type:* aws-cdk-lib.aws_ecs.ContainerDefinition
1407
+
1408
+ The container for this extension.
1409
+
1410
+ Most extensions have a container, but not
1411
+ every extension is required to have a container. Some extensions may just
1412
+ modify the properties of the service, or create external resources
1413
+ connected to the service.
1414
+
1415
+ ---
1416
+
1417
+ ##### `fqdn`<sup>Required</sup> <a name="fqdn" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.property.fqdn"></a>
1418
+
1419
+ ```typescript
1420
+ public readonly fqdn: string;
1421
+ ```
1422
+
1423
+ - *Type:* string
1424
+
1425
+ ---
1426
+
1427
+ ##### `userPool`<sup>Required</sup> <a name="userPool" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.property.userPool"></a>
1428
+
1429
+ ```typescript
1430
+ public readonly userPool: IUserPool;
1431
+ ```
1432
+
1433
+ - *Type:* aws-cdk-lib.aws_cognito.IUserPool
1434
+
1435
+ ---
1436
+
1437
+ ##### `userPoolClient`<sup>Required</sup> <a name="userPoolClient" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.property.userPoolClient"></a>
1438
+
1439
+ ```typescript
1440
+ public readonly userPoolClient: IUserPoolClient;
1441
+ ```
1442
+
1443
+ - *Type:* aws-cdk-lib.aws_cognito.IUserPoolClient
1444
+
1445
+ ---
1446
+
1447
+ ##### `userPoolDomain`<sup>Required</sup> <a name="userPoolDomain" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.property.userPoolDomain"></a>
1448
+
1449
+ ```typescript
1450
+ public readonly userPoolDomain: IUserPoolDomain;
1451
+ ```
1452
+
1453
+ - *Type:* aws-cdk-lib.aws_cognito.IUserPoolDomain
1454
+
1455
+ ---
1456
+
1457
+
1458
+ ### CloudMapExtension <a name="CloudMapExtension" id="@btc-embedded/cdk-extensions.CloudMapExtension"></a>
1459
+
1460
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.CloudMapExtension.Initializer"></a>
1461
+
1462
+ ```typescript
1463
+ import { CloudMapExtension } from '@btc-embedded/cdk-extensions'
1464
+
1465
+ new CloudMapExtension(props: CloudMapExtensionProps)
1466
+ ```
1467
+
1468
+ | **Name** | **Type** | **Description** |
1469
+ | --- | --- | --- |
1470
+ | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtension.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtensionProps">CloudMapExtensionProps</a></code> | *No description.* |
1471
+
1472
+ ---
1473
+
1474
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.CloudMapExtension.Initializer.parameter.props"></a>
1475
+
1476
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.CloudMapExtensionProps">CloudMapExtensionProps</a>
1477
+
1478
+ ---
1479
+
1480
+ #### Methods <a name="Methods" id="Methods"></a>
1481
+
1482
+ | **Name** | **Description** |
1483
+ | --- | --- |
1484
+ | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtension.addContainerMutatingHook">addContainerMutatingHook</a></code> | This hook allows another service extension to register a mutating hook for changing the primary container of this extension. |
1485
+ | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtension.addHooks">addHooks</a></code> | A hook that allows the extension to add hooks to other extensions that are registered. |
1486
+ | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtension.connectToService">connectToService</a></code> | Adjust the security group of the given service to allow traffic from this service. |
1487
+ | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtension.modifyServiceProps">modifyServiceProps</a></code> | Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created. |
1488
+ | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtension.modifyTaskDefinitionProps">modifyTaskDefinitionProps</a></code> | This is a hook which allows extensions to modify the settings of the task definition prior to it being created. |
1489
+ | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtension.prehook">prehook</a></code> | A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance. |
1490
+ | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtension.resolveContainerDependencies">resolveContainerDependencies</a></code> | Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled. |
1491
+ | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtension.useService">useService</a></code> | When this hook is implemented by extension, it allows the extension to use the service which has been created. |
1492
+ | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtension.useTaskDefinition">useTaskDefinition</a></code> | Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc. |
1493
+
1494
+ ---
1495
+
1496
+ ##### `addContainerMutatingHook` <a name="addContainerMutatingHook" id="@btc-embedded/cdk-extensions.CloudMapExtension.addContainerMutatingHook"></a>
1497
+
1498
+ ```typescript
1499
+ public addContainerMutatingHook(hook: ContainerMutatingHook): void
1500
+ ```
1501
+
1502
+ This hook allows another service extension to register a mutating hook for changing the primary container of this extension.
1503
+
1504
+ This is primarily used
1505
+ for the application extension. For example, the Firelens extension wants to
1506
+ be able to modify the settings of the application container to
1507
+ route logs through Firelens.
1508
+
1509
+ ###### `hook`<sup>Required</sup> <a name="hook" id="@btc-embedded/cdk-extensions.CloudMapExtension.addContainerMutatingHook.parameter.hook"></a>
1510
+
1511
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ContainerMutatingHook
1512
+
1513
+ ---
1514
+
1515
+ ##### `addHooks` <a name="addHooks" id="@btc-embedded/cdk-extensions.CloudMapExtension.addHooks"></a>
1516
+
1517
+ ```typescript
1518
+ public addHooks(): void
1519
+ ```
1520
+
1521
+ A hook that allows the extension to add hooks to other extensions that are registered.
1522
+
1523
+ ##### `connectToService` <a name="connectToService" id="@btc-embedded/cdk-extensions.CloudMapExtension.connectToService"></a>
1524
+
1525
+ ```typescript
1526
+ public connectToService(service: Service, _connectToProps?: ConnectToProps): void
1527
+ ```
1528
+
1529
+ Adjust the security group of the given service to allow traffic from this service.
1530
+
1531
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.CloudMapExtension.connectToService.parameter.service"></a>
1532
+
1533
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
1534
+
1535
+ ---
1536
+
1537
+ ###### `_connectToProps`<sup>Optional</sup> <a name="_connectToProps" id="@btc-embedded/cdk-extensions.CloudMapExtension.connectToService.parameter._connectToProps"></a>
1538
+
1539
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ConnectToProps
1540
+
1541
+ ---
1542
+
1543
+ ##### `modifyServiceProps` <a name="modifyServiceProps" id="@btc-embedded/cdk-extensions.CloudMapExtension.modifyServiceProps"></a>
1544
+
1545
+ ```typescript
1546
+ public modifyServiceProps(props: ServiceBuild): ServiceBuild
1547
+ ```
1548
+
1549
+ Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created.
1550
+
1551
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.CloudMapExtension.modifyServiceProps.parameter.props"></a>
1552
+
1553
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ServiceBuild
1554
+
1555
+ ---
1556
+
1557
+ ##### `modifyTaskDefinitionProps` <a name="modifyTaskDefinitionProps" id="@btc-embedded/cdk-extensions.CloudMapExtension.modifyTaskDefinitionProps"></a>
1558
+
1559
+ ```typescript
1560
+ public modifyTaskDefinitionProps(props: TaskDefinitionProps): TaskDefinitionProps
1561
+ ```
1562
+
1563
+ This is a hook which allows extensions to modify the settings of the task definition prior to it being created.
1564
+
1565
+ For example, the App Mesh
1566
+ extension needs to configure an Envoy proxy in the task definition,
1567
+ or the Application extension wants to set the overall resource for
1568
+ the task.
1569
+
1570
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.CloudMapExtension.modifyTaskDefinitionProps.parameter.props"></a>
1571
+
1572
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinitionProps
1573
+
1574
+ Properties of the task definition to be created.
1575
+
1576
+ ---
1577
+
1578
+ ##### `prehook` <a name="prehook" id="@btc-embedded/cdk-extensions.CloudMapExtension.prehook"></a>
1579
+
1580
+ ```typescript
1581
+ public prehook(parent: Service, scope: Construct): void
1582
+ ```
1583
+
1584
+ A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance.
1585
+
1586
+ ###### `parent`<sup>Required</sup> <a name="parent" id="@btc-embedded/cdk-extensions.CloudMapExtension.prehook.parameter.parent"></a>
1587
+
1588
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
1589
+
1590
+ The parent service which this extension has been added to.
1591
+
1592
+ ---
1593
+
1594
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.CloudMapExtension.prehook.parameter.scope"></a>
1595
+
1596
+ - *Type:* constructs.Construct
1597
+
1598
+ The scope that this extension should create resources in.
1599
+
1600
+ ---
1601
+
1602
+ ##### `resolveContainerDependencies` <a name="resolveContainerDependencies" id="@btc-embedded/cdk-extensions.CloudMapExtension.resolveContainerDependencies"></a>
1603
+
1604
+ ```typescript
1605
+ public resolveContainerDependencies(): void
1606
+ ```
1607
+
1608
+ Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled.
1609
+
1610
+ ##### `useService` <a name="useService" id="@btc-embedded/cdk-extensions.CloudMapExtension.useService"></a>
1611
+
1612
+ ```typescript
1613
+ public useService(service: Ec2Service | FargateService): void
1614
+ ```
1615
+
1616
+ When this hook is implemented by extension, it allows the extension to use the service which has been created.
1617
+
1618
+ It is generally used to
1619
+ create any final resources which might depend on the service itself.
1620
+
1621
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.CloudMapExtension.useService.parameter.service"></a>
1622
+
1623
+ - *Type:* aws-cdk-lib.aws_ecs.Ec2Service | aws-cdk-lib.aws_ecs.FargateService
1624
+
1625
+ ---
1626
+
1627
+ ##### `useTaskDefinition` <a name="useTaskDefinition" id="@btc-embedded/cdk-extensions.CloudMapExtension.useTaskDefinition"></a>
1628
+
1629
+ ```typescript
1630
+ public useTaskDefinition(taskDefinition: TaskDefinition): void
1631
+ ```
1632
+
1633
+ Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc.
1634
+
1635
+ ###### `taskDefinition`<sup>Required</sup> <a name="taskDefinition" id="@btc-embedded/cdk-extensions.CloudMapExtension.useTaskDefinition.parameter.taskDefinition"></a>
1636
+
1637
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinition
1638
+
1639
+ The created task definition to add containers to.
1640
+
1641
+ ---
1642
+
1643
+
1644
+ #### Properties <a name="Properties" id="Properties"></a>
1645
+
1646
+ | **Name** | **Type** | **Description** |
1647
+ | --- | --- | --- |
1648
+ | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtension.property.name">name</a></code> | <code>string</code> | The name of the extension. |
1649
+ | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtension.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | The container for this extension. |
1650
+ | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtension.property.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtensionProps">CloudMapExtensionProps</a></code> | *No description.* |
1651
+
1652
+ ---
1653
+
1654
+ ##### `name`<sup>Required</sup> <a name="name" id="@btc-embedded/cdk-extensions.CloudMapExtension.property.name"></a>
1655
+
1656
+ ```typescript
1657
+ public readonly name: string;
1658
+ ```
1659
+
1660
+ - *Type:* string
1661
+
1662
+ The name of the extension.
1663
+
1664
+ ---
1665
+
1666
+ ##### `container`<sup>Optional</sup> <a name="container" id="@btc-embedded/cdk-extensions.CloudMapExtension.property.container"></a>
1667
+
1668
+ ```typescript
1669
+ public readonly container: ContainerDefinition;
1670
+ ```
1671
+
1672
+ - *Type:* aws-cdk-lib.aws_ecs.ContainerDefinition
1673
+
1674
+ The container for this extension.
1675
+
1676
+ Most extensions have a container, but not
1677
+ every extension is required to have a container. Some extensions may just
1678
+ modify the properties of the service, or create external resources
1679
+ connected to the service.
1680
+
1681
+ ---
1682
+
1683
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.CloudMapExtension.property.props"></a>
1684
+
1685
+ ```typescript
1686
+ public readonly props: CloudMapExtensionProps;
1687
+ ```
1688
+
1689
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.CloudMapExtensionProps">CloudMapExtensionProps</a>
1690
+
1691
+ ---
1692
+
1693
+
1694
+ ### DocumentDbAccessExtension <a name="DocumentDbAccessExtension" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension"></a>
1695
+
1696
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.Initializer"></a>
1697
+
1698
+ ```typescript
1699
+ import { DocumentDbAccessExtension } from '@btc-embedded/cdk-extensions'
1700
+
1701
+ new DocumentDbAccessExtension(props: DocumentDbAccessExtensionProps)
1702
+ ```
1703
+
1704
+ | **Name** | **Type** | **Description** |
1705
+ | --- | --- | --- |
1706
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtension.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps">DocumentDbAccessExtensionProps</a></code> | *No description.* |
1707
+
1708
+ ---
1709
+
1710
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.Initializer.parameter.props"></a>
1711
+
1712
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps">DocumentDbAccessExtensionProps</a>
1713
+
1714
+ ---
1715
+
1716
+ #### Methods <a name="Methods" id="Methods"></a>
1717
+
1718
+ | **Name** | **Description** |
1719
+ | --- | --- |
1720
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtension.addContainerMutatingHook">addContainerMutatingHook</a></code> | This hook allows another service extension to register a mutating hook for changing the primary container of this extension. |
1721
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtension.addHooks">addHooks</a></code> | A hook that allows the extension to add hooks to other extensions that are registered. |
1722
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtension.connectToService">connectToService</a></code> | This hook allows the extension to establish a connection to extensions from another service. |
1723
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtension.modifyServiceProps">modifyServiceProps</a></code> | Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created. |
1724
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtension.modifyTaskDefinitionProps">modifyTaskDefinitionProps</a></code> | This is a hook which allows extensions to modify the settings of the task definition prior to it being created. |
1725
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtension.prehook">prehook</a></code> | A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance. |
1726
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtension.resolveContainerDependencies">resolveContainerDependencies</a></code> | Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled. |
1727
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtension.useService">useService</a></code> | When this hook is implemented by extension, it allows the extension to use the service which has been created. |
1728
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtension.useTaskDefinition">useTaskDefinition</a></code> | Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc. |
1729
+
1730
+ ---
1731
+
1732
+ ##### `addContainerMutatingHook` <a name="addContainerMutatingHook" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.addContainerMutatingHook"></a>
1733
+
1734
+ ```typescript
1735
+ public addContainerMutatingHook(hook: ContainerMutatingHook): void
1736
+ ```
1737
+
1738
+ This hook allows another service extension to register a mutating hook for changing the primary container of this extension.
1739
+
1740
+ This is primarily used
1741
+ for the application extension. For example, the Firelens extension wants to
1742
+ be able to modify the settings of the application container to
1743
+ route logs through Firelens.
1744
+
1745
+ ###### `hook`<sup>Required</sup> <a name="hook" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.addContainerMutatingHook.parameter.hook"></a>
1746
+
1747
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ContainerMutatingHook
1748
+
1749
+ ---
1750
+
1751
+ ##### `addHooks` <a name="addHooks" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.addHooks"></a>
1752
+
1753
+ ```typescript
1754
+ public addHooks(): void
1755
+ ```
1756
+
1757
+ A hook that allows the extension to add hooks to other extensions that are registered.
1758
+
1759
+ ##### `connectToService` <a name="connectToService" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.connectToService"></a>
1760
+
1761
+ ```typescript
1762
+ public connectToService(service: Service, connectToProps?: ConnectToProps): void
1763
+ ```
1764
+
1765
+ This hook allows the extension to establish a connection to extensions from another service.
1766
+
1767
+ Usually used for things like
1768
+ allowing one service to talk to the load balancer or service mesh
1769
+ proxy for another service.
1770
+
1771
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.connectToService.parameter.service"></a>
1772
+
1773
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
1774
+
1775
+ The other service to connect to.
1776
+
1777
+ ---
1778
+
1779
+ ###### `connectToProps`<sup>Optional</sup> <a name="connectToProps" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.connectToService.parameter.connectToProps"></a>
1780
+
1781
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ConnectToProps
1782
+
1783
+ ---
1784
+
1785
+ ##### `modifyServiceProps` <a name="modifyServiceProps" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.modifyServiceProps"></a>
1786
+
1787
+ ```typescript
1788
+ public modifyServiceProps(props: ServiceBuild): ServiceBuild
1789
+ ```
1790
+
1791
+ Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created.
1792
+
1793
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.modifyServiceProps.parameter.props"></a>
1794
+
1795
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ServiceBuild
1796
+
1797
+ The service properties to mutate.
1798
+
1799
+ ---
1800
+
1801
+ ##### `modifyTaskDefinitionProps` <a name="modifyTaskDefinitionProps" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.modifyTaskDefinitionProps"></a>
1802
+
1803
+ ```typescript
1804
+ public modifyTaskDefinitionProps(props: TaskDefinitionProps): TaskDefinitionProps
1805
+ ```
1806
+
1807
+ This is a hook which allows extensions to modify the settings of the task definition prior to it being created.
1808
+
1809
+ For example, the App Mesh
1810
+ extension needs to configure an Envoy proxy in the task definition,
1811
+ or the Application extension wants to set the overall resource for
1812
+ the task.
1813
+
1814
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.modifyTaskDefinitionProps.parameter.props"></a>
1815
+
1816
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinitionProps
1817
+
1818
+ Properties of the task definition to be created.
1819
+
1820
+ ---
1821
+
1822
+ ##### `prehook` <a name="prehook" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.prehook"></a>
1823
+
1824
+ ```typescript
1825
+ public prehook(parent: Service, scope: Construct): void
1826
+ ```
1827
+
1828
+ A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance.
1829
+
1830
+ ###### `parent`<sup>Required</sup> <a name="parent" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.prehook.parameter.parent"></a>
1831
+
1832
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
1833
+
1834
+ The parent service which this extension has been added to.
1835
+
1836
+ ---
1837
+
1838
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.prehook.parameter.scope"></a>
1839
+
1840
+ - *Type:* constructs.Construct
1841
+
1842
+ The scope that this extension should create resources in.
1843
+
1844
+ ---
1845
+
1846
+ ##### `resolveContainerDependencies` <a name="resolveContainerDependencies" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.resolveContainerDependencies"></a>
1847
+
1848
+ ```typescript
1849
+ public resolveContainerDependencies(): void
1850
+ ```
1851
+
1852
+ Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled.
1853
+
1854
+ ##### `useService` <a name="useService" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.useService"></a>
1855
+
1856
+ ```typescript
1857
+ public useService(service: Ec2Service | FargateService): void
1858
+ ```
1859
+
1860
+ When this hook is implemented by extension, it allows the extension to use the service which has been created.
1861
+
1862
+ It is generally used to
1863
+ create any final resources which might depend on the service itself.
1864
+
1865
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.useService.parameter.service"></a>
1866
+
1867
+ - *Type:* aws-cdk-lib.aws_ecs.Ec2Service | aws-cdk-lib.aws_ecs.FargateService
1868
+
1869
+ ---
1870
+
1871
+ ##### `useTaskDefinition` <a name="useTaskDefinition" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.useTaskDefinition"></a>
1872
+
1873
+ ```typescript
1874
+ public useTaskDefinition(taskDefinition: TaskDefinition): void
1875
+ ```
1876
+
1877
+ Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc.
1878
+
1879
+ ###### `taskDefinition`<sup>Required</sup> <a name="taskDefinition" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.useTaskDefinition.parameter.taskDefinition"></a>
1880
+
1881
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinition
1882
+
1883
+ The created task definition to add containers to.
1884
+
1885
+ ---
1886
+
1887
+
1888
+ #### Properties <a name="Properties" id="Properties"></a>
1889
+
1890
+ | **Name** | **Type** | **Description** |
1891
+ | --- | --- | --- |
1892
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtension.property.name">name</a></code> | <code>string</code> | The name of the extension. |
1893
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtension.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | The container for this extension. |
1894
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtension.property.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps">DocumentDbAccessExtensionProps</a></code> | *No description.* |
1895
+
1896
+ ---
1897
+
1898
+ ##### `name`<sup>Required</sup> <a name="name" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.property.name"></a>
1899
+
1900
+ ```typescript
1901
+ public readonly name: string;
1902
+ ```
1903
+
1904
+ - *Type:* string
1905
+
1906
+ The name of the extension.
1907
+
1908
+ ---
1909
+
1910
+ ##### `container`<sup>Optional</sup> <a name="container" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.property.container"></a>
1911
+
1912
+ ```typescript
1913
+ public readonly container: ContainerDefinition;
1914
+ ```
1915
+
1916
+ - *Type:* aws-cdk-lib.aws_ecs.ContainerDefinition
1917
+
1918
+ The container for this extension.
1919
+
1920
+ Most extensions have a container, but not
1921
+ every extension is required to have a container. Some extensions may just
1922
+ modify the properties of the service, or create external resources
1923
+ connected to the service.
1924
+
1925
+ ---
1926
+
1927
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtension.property.props"></a>
1928
+
1929
+ ```typescript
1930
+ public readonly props: DocumentDbAccessExtensionProps;
1931
+ ```
1932
+
1933
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps">DocumentDbAccessExtensionProps</a>
1934
+
1935
+ ---
1936
+
1937
+
1938
+ ### ExtraContainerExtension <a name="ExtraContainerExtension" id="@btc-embedded/cdk-extensions.ExtraContainerExtension"></a>
1939
+
1940
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.Initializer"></a>
1941
+
1942
+ ```typescript
1943
+ import { ExtraContainerExtension } from '@btc-embedded/cdk-extensions'
1944
+
1945
+ new ExtraContainerExtension(name: string, extraContainer: ExtraContainerExtensionProps)
1946
+ ```
1947
+
1948
+ | **Name** | **Type** | **Description** |
1949
+ | --- | --- | --- |
1950
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtension.Initializer.parameter.name">name</a></code> | <code>string</code> | The name of the extension. |
1951
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtension.Initializer.parameter.extraContainer">extraContainer</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtensionProps">ExtraContainerExtensionProps</a></code> | *No description.* |
1952
+
1953
+ ---
1954
+
1955
+ ##### `name`<sup>Required</sup> <a name="name" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.Initializer.parameter.name"></a>
1956
+
1957
+ - *Type:* string
1958
+
1959
+ The name of the extension.
1960
+
1961
+ ---
1962
+
1963
+ ##### `extraContainer`<sup>Required</sup> <a name="extraContainer" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.Initializer.parameter.extraContainer"></a>
1964
+
1965
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ExtraContainerExtensionProps">ExtraContainerExtensionProps</a>
1966
+
1967
+ ---
1968
+
1969
+ #### Methods <a name="Methods" id="Methods"></a>
1970
+
1971
+ | **Name** | **Description** |
1972
+ | --- | --- |
1973
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtension.addContainerMutatingHook">addContainerMutatingHook</a></code> | This hook allows another service extension to register a mutating hook for changing the primary container of this extension. |
1974
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtension.addHooks">addHooks</a></code> | A hook that allows the extension to add hooks to other extensions that are registered. |
1975
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtension.connectToService">connectToService</a></code> | This hook allows the extension to establish a connection to extensions from another service. |
1976
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtension.modifyServiceProps">modifyServiceProps</a></code> | Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created. |
1977
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtension.modifyTaskDefinitionProps">modifyTaskDefinitionProps</a></code> | This is a hook which allows extensions to modify the settings of the task definition prior to it being created. |
1978
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtension.prehook">prehook</a></code> | A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance. |
1979
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtension.resolveContainerDependencies">resolveContainerDependencies</a></code> | Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled. |
1980
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtension.useService">useService</a></code> | When this hook is implemented by extension, it allows the extension to use the service which has been created. |
1981
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtension.useTaskDefinition">useTaskDefinition</a></code> | Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc. |
1982
+
1983
+ ---
1984
+
1985
+ ##### `addContainerMutatingHook` <a name="addContainerMutatingHook" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.addContainerMutatingHook"></a>
1986
+
1987
+ ```typescript
1988
+ public addContainerMutatingHook(hook: ContainerMutatingHook): void
1989
+ ```
1990
+
1991
+ This hook allows another service extension to register a mutating hook for changing the primary container of this extension.
1992
+
1993
+ This is primarily used
1994
+ for the application extension. For example, the Firelens extension wants to
1995
+ be able to modify the settings of the application container to
1996
+ route logs through Firelens.
1997
+
1998
+ ###### `hook`<sup>Required</sup> <a name="hook" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.addContainerMutatingHook.parameter.hook"></a>
1999
+
2000
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ContainerMutatingHook
2001
+
2002
+ ---
2003
+
2004
+ ##### `addHooks` <a name="addHooks" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.addHooks"></a>
2005
+
2006
+ ```typescript
2007
+ public addHooks(): void
2008
+ ```
2009
+
2010
+ A hook that allows the extension to add hooks to other extensions that are registered.
2011
+
2012
+ ##### `connectToService` <a name="connectToService" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.connectToService"></a>
2013
+
2014
+ ```typescript
2015
+ public connectToService(service: Service, connectToProps?: ConnectToProps): void
2016
+ ```
2017
+
2018
+ This hook allows the extension to establish a connection to extensions from another service.
2019
+
2020
+ Usually used for things like
2021
+ allowing one service to talk to the load balancer or service mesh
2022
+ proxy for another service.
2023
+
2024
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.connectToService.parameter.service"></a>
2025
+
2026
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
2027
+
2028
+ The other service to connect to.
2029
+
2030
+ ---
2031
+
2032
+ ###### `connectToProps`<sup>Optional</sup> <a name="connectToProps" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.connectToService.parameter.connectToProps"></a>
2033
+
2034
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ConnectToProps
2035
+
2036
+ ---
2037
+
2038
+ ##### `modifyServiceProps` <a name="modifyServiceProps" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.modifyServiceProps"></a>
2039
+
2040
+ ```typescript
2041
+ public modifyServiceProps(props: ServiceBuild): ServiceBuild
2042
+ ```
2043
+
2044
+ Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created.
2045
+
2046
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.modifyServiceProps.parameter.props"></a>
2047
+
2048
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ServiceBuild
2049
+
2050
+ The service properties to mutate.
2051
+
2052
+ ---
2053
+
2054
+ ##### `modifyTaskDefinitionProps` <a name="modifyTaskDefinitionProps" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.modifyTaskDefinitionProps"></a>
2055
+
2056
+ ```typescript
2057
+ public modifyTaskDefinitionProps(props: TaskDefinitionProps): TaskDefinitionProps
2058
+ ```
2059
+
2060
+ This is a hook which allows extensions to modify the settings of the task definition prior to it being created.
2061
+
2062
+ For example, the App Mesh
2063
+ extension needs to configure an Envoy proxy in the task definition,
2064
+ or the Application extension wants to set the overall resource for
2065
+ the task.
2066
+
2067
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.modifyTaskDefinitionProps.parameter.props"></a>
2068
+
2069
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinitionProps
2070
+
2071
+ Properties of the task definition to be created.
2072
+
2073
+ ---
2074
+
2075
+ ##### `prehook` <a name="prehook" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.prehook"></a>
2076
+
2077
+ ```typescript
2078
+ public prehook(parent: Service, scope: Construct): void
2079
+ ```
2080
+
2081
+ A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance.
2082
+
2083
+ ###### `parent`<sup>Required</sup> <a name="parent" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.prehook.parameter.parent"></a>
2084
+
2085
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
2086
+
2087
+ The parent service which this extension has been added to.
2088
+
2089
+ ---
2090
+
2091
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.prehook.parameter.scope"></a>
2092
+
2093
+ - *Type:* constructs.Construct
2094
+
2095
+ The scope that this extension should create resources in.
2096
+
2097
+ ---
2098
+
2099
+ ##### `resolveContainerDependencies` <a name="resolveContainerDependencies" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.resolveContainerDependencies"></a>
2100
+
2101
+ ```typescript
2102
+ public resolveContainerDependencies(): void
2103
+ ```
2104
+
2105
+ Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled.
2106
+
2107
+ ##### `useService` <a name="useService" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.useService"></a>
2108
+
2109
+ ```typescript
2110
+ public useService(service: Ec2Service | FargateService): void
2111
+ ```
2112
+
2113
+ When this hook is implemented by extension, it allows the extension to use the service which has been created.
2114
+
2115
+ It is generally used to
2116
+ create any final resources which might depend on the service itself.
2117
+
2118
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.useService.parameter.service"></a>
2119
+
2120
+ - *Type:* aws-cdk-lib.aws_ecs.Ec2Service | aws-cdk-lib.aws_ecs.FargateService
2121
+
2122
+ ---
2123
+
2124
+ ##### `useTaskDefinition` <a name="useTaskDefinition" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.useTaskDefinition"></a>
2125
+
2126
+ ```typescript
2127
+ public useTaskDefinition(taskDefinition: TaskDefinition): void
2128
+ ```
2129
+
2130
+ Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc.
2131
+
2132
+ ###### `taskDefinition`<sup>Required</sup> <a name="taskDefinition" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.useTaskDefinition.parameter.taskDefinition"></a>
2133
+
2134
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinition
2135
+
2136
+ ---
2137
+
2138
+
2139
+ #### Properties <a name="Properties" id="Properties"></a>
2140
+
2141
+ | **Name** | **Type** | **Description** |
2142
+ | --- | --- | --- |
2143
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtension.property.name">name</a></code> | <code>string</code> | The name of the extension. |
2144
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtension.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | The container for this extension. |
2145
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtension.property.containerName">containerName</a></code> | <code>string</code> | *No description.* |
2146
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtension.property.dbAccess">dbAccess</a></code> | <code>boolean</code> | *No description.* |
2147
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtension.property.healthCondition">healthCondition</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDependencyCondition</code> | *No description.* |
2148
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtension.property.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtensionProps">ExtraContainerExtensionProps</a></code> | *No description.* |
2149
+
2150
+ ---
2151
+
2152
+ ##### `name`<sup>Required</sup> <a name="name" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.property.name"></a>
2153
+
2154
+ ```typescript
2155
+ public readonly name: string;
2156
+ ```
2157
+
2158
+ - *Type:* string
2159
+
2160
+ The name of the extension.
2161
+
2162
+ ---
2163
+
2164
+ ##### `container`<sup>Optional</sup> <a name="container" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.property.container"></a>
2165
+
2166
+ ```typescript
2167
+ public readonly container: ContainerDefinition;
2168
+ ```
2169
+
2170
+ - *Type:* aws-cdk-lib.aws_ecs.ContainerDefinition
2171
+
2172
+ The container for this extension.
2173
+
2174
+ Most extensions have a container, but not
2175
+ every extension is required to have a container. Some extensions may just
2176
+ modify the properties of the service, or create external resources
2177
+ connected to the service.
2178
+
2179
+ ---
2180
+
2181
+ ##### `containerName`<sup>Required</sup> <a name="containerName" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.property.containerName"></a>
2182
+
2183
+ ```typescript
2184
+ public readonly containerName: string;
2185
+ ```
2186
+
2187
+ - *Type:* string
2188
+
2189
+ ---
2190
+
2191
+ ##### `dbAccess`<sup>Required</sup> <a name="dbAccess" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.property.dbAccess"></a>
2192
+
2193
+ ```typescript
2194
+ public readonly dbAccess: boolean;
2195
+ ```
2196
+
2197
+ - *Type:* boolean
2198
+
2199
+ ---
2200
+
2201
+ ##### `healthCondition`<sup>Required</sup> <a name="healthCondition" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.property.healthCondition"></a>
2202
+
2203
+ ```typescript
2204
+ public readonly healthCondition: ContainerDependencyCondition;
2205
+ ```
2206
+
2207
+ - *Type:* aws-cdk-lib.aws_ecs.ContainerDependencyCondition
2208
+
2209
+ ---
2210
+
2211
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.ExtraContainerExtension.property.props"></a>
2212
+
2213
+ ```typescript
2214
+ public readonly props: ExtraContainerExtensionProps;
2215
+ ```
2216
+
2217
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ExtraContainerExtensionProps">ExtraContainerExtensionProps</a>
2218
+
2219
+ ---
2220
+
2221
+
2222
+ ### TcpKeepAliveExtension <a name="TcpKeepAliveExtension" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension"></a>
2223
+
2224
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.Initializer"></a>
2225
+
2226
+ ```typescript
2227
+ import { TcpKeepAliveExtension } from '@btc-embedded/cdk-extensions'
2228
+
2229
+ new TcpKeepAliveExtension(props?: TcpKeepAliveExtensionProps)
2230
+ ```
2231
+
2232
+ | **Name** | **Type** | **Description** |
2233
+ | --- | --- | --- |
2234
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps">TcpKeepAliveExtensionProps</a></code> | *No description.* |
2235
+
2236
+ ---
2237
+
2238
+ ##### `props`<sup>Optional</sup> <a name="props" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.Initializer.parameter.props"></a>
2239
+
2240
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps">TcpKeepAliveExtensionProps</a>
2241
+
2242
+ ---
2243
+
2244
+ #### Methods <a name="Methods" id="Methods"></a>
2245
+
2246
+ | **Name** | **Description** |
2247
+ | --- | --- |
2248
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.addContainerMutatingHook">addContainerMutatingHook</a></code> | This hook allows another service extension to register a mutating hook for changing the primary container of this extension. |
2249
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.addHooks">addHooks</a></code> | A hook that allows the extension to add hooks to other extensions that are registered. |
2250
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.connectToService">connectToService</a></code> | This hook allows the extension to establish a connection to extensions from another service. |
2251
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.modifyServiceProps">modifyServiceProps</a></code> | Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created. |
2252
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.modifyTaskDefinitionProps">modifyTaskDefinitionProps</a></code> | This is a hook which allows extensions to modify the settings of the task definition prior to it being created. |
2253
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.prehook">prehook</a></code> | A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance. |
2254
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.resolveContainerDependencies">resolveContainerDependencies</a></code> | Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled. |
2255
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.useService">useService</a></code> | When this hook is implemented by extension, it allows the extension to use the service which has been created. |
2256
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.useTaskDefinition">useTaskDefinition</a></code> | Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc. |
2257
+
2258
+ ---
2259
+
2260
+ ##### `addContainerMutatingHook` <a name="addContainerMutatingHook" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.addContainerMutatingHook"></a>
2261
+
2262
+ ```typescript
2263
+ public addContainerMutatingHook(hook: ContainerMutatingHook): void
2264
+ ```
2265
+
2266
+ This hook allows another service extension to register a mutating hook for changing the primary container of this extension.
2267
+
2268
+ This is primarily used
2269
+ for the application extension. For example, the Firelens extension wants to
2270
+ be able to modify the settings of the application container to
2271
+ route logs through Firelens.
2272
+
2273
+ ###### `hook`<sup>Required</sup> <a name="hook" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.addContainerMutatingHook.parameter.hook"></a>
2274
+
2275
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ContainerMutatingHook
2276
+
2277
+ ---
2278
+
2279
+ ##### `addHooks` <a name="addHooks" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.addHooks"></a>
2280
+
2281
+ ```typescript
2282
+ public addHooks(): void
2283
+ ```
2284
+
2285
+ A hook that allows the extension to add hooks to other extensions that are registered.
2286
+
2287
+ ##### `connectToService` <a name="connectToService" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.connectToService"></a>
2288
+
2289
+ ```typescript
2290
+ public connectToService(service: Service, connectToProps?: ConnectToProps): void
2291
+ ```
2292
+
2293
+ This hook allows the extension to establish a connection to extensions from another service.
2294
+
2295
+ Usually used for things like
2296
+ allowing one service to talk to the load balancer or service mesh
2297
+ proxy for another service.
2298
+
2299
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.connectToService.parameter.service"></a>
2300
+
2301
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
2302
+
2303
+ The other service to connect to.
2304
+
2305
+ ---
2306
+
2307
+ ###### `connectToProps`<sup>Optional</sup> <a name="connectToProps" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.connectToService.parameter.connectToProps"></a>
2308
+
2309
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ConnectToProps
2310
+
2311
+ ---
2312
+
2313
+ ##### `modifyServiceProps` <a name="modifyServiceProps" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.modifyServiceProps"></a>
2314
+
2315
+ ```typescript
2316
+ public modifyServiceProps(props: ServiceBuild): ServiceBuild
2317
+ ```
2318
+
2319
+ Prior to launching the task definition as a service, this hook is called on each extension to give it a chance to mutate the properties of the service to be created.
2320
+
2321
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.modifyServiceProps.parameter.props"></a>
2322
+
2323
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ServiceBuild
2324
+
2325
+ The service properties to mutate.
2326
+
2327
+ ---
2328
+
2329
+ ##### `modifyTaskDefinitionProps` <a name="modifyTaskDefinitionProps" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.modifyTaskDefinitionProps"></a>
2330
+
2331
+ ```typescript
2332
+ public modifyTaskDefinitionProps(props: TaskDefinitionProps): TaskDefinitionProps
2333
+ ```
2334
+
2335
+ This is a hook which allows extensions to modify the settings of the task definition prior to it being created.
2336
+
2337
+ For example, the App Mesh
2338
+ extension needs to configure an Envoy proxy in the task definition,
2339
+ or the Application extension wants to set the overall resource for
2340
+ the task.
2341
+
2342
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.modifyTaskDefinitionProps.parameter.props"></a>
2343
+
2344
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinitionProps
2345
+
2346
+ Properties of the task definition to be created.
2347
+
2348
+ ---
2349
+
2350
+ ##### `prehook` <a name="prehook" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.prehook"></a>
2351
+
2352
+ ```typescript
2353
+ public prehook(parent: Service, scope: Construct): void
2354
+ ```
2355
+
2356
+ A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance.
2357
+
2358
+ ###### `parent`<sup>Required</sup> <a name="parent" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.prehook.parameter.parent"></a>
2359
+
2360
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
2361
+
2362
+ The parent service which this extension has been added to.
2363
+
2364
+ ---
2365
+
2366
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.prehook.parameter.scope"></a>
2367
+
2368
+ - *Type:* constructs.Construct
2369
+
2370
+ The scope that this extension should create resources in.
2371
+
2372
+ ---
2373
+
2374
+ ##### `resolveContainerDependencies` <a name="resolveContainerDependencies" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.resolveContainerDependencies"></a>
2375
+
2376
+ ```typescript
2377
+ public resolveContainerDependencies(): void
2378
+ ```
2379
+
2380
+ Once all containers are added to the task definition, this hook is called for each extension to give it a chance to resolve its dependency graph so that its container starts in the right order based on the other extensions that were enabled.
2381
+
2382
+ ##### `useService` <a name="useService" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.useService"></a>
2383
+
2384
+ ```typescript
2385
+ public useService(service: Ec2Service | FargateService): void
2386
+ ```
2387
+
2388
+ When this hook is implemented by extension, it allows the extension to use the service which has been created.
2389
+
2390
+ It is generally used to
2391
+ create any final resources which might depend on the service itself.
2392
+
2393
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.useService.parameter.service"></a>
2394
+
2395
+ - *Type:* aws-cdk-lib.aws_ecs.Ec2Service | aws-cdk-lib.aws_ecs.FargateService
2396
+
2397
+ The generated service.
2398
+
2399
+ ---
2400
+
2401
+ ##### `useTaskDefinition` <a name="useTaskDefinition" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.useTaskDefinition"></a>
2402
+
2403
+ ```typescript
2404
+ public useTaskDefinition(taskDefinition: TaskDefinition): void
2405
+ ```
2406
+
2407
+ Once the task definition is created, this hook is called for each extension to give it a chance to add containers to the task definition, change the task definition's role to add permissions, etc.
2408
+
2409
+ ###### `taskDefinition`<sup>Required</sup> <a name="taskDefinition" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.useTaskDefinition.parameter.taskDefinition"></a>
2410
+
2411
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinition
2412
+
2413
+ The created task definition to add containers to.
2414
+
2415
+ ---
2416
+
2417
+
2418
+ #### Properties <a name="Properties" id="Properties"></a>
2419
+
2420
+ | **Name** | **Type** | **Description** |
2421
+ | --- | --- | --- |
2422
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.property.name">name</a></code> | <code>string</code> | The name of the extension. |
2423
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | The container for this extension. |
2424
+ | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtension.property.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps">TcpKeepAliveExtensionProps</a></code> | *No description.* |
2425
+
2426
+ ---
2427
+
2428
+ ##### `name`<sup>Required</sup> <a name="name" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.property.name"></a>
2429
+
2430
+ ```typescript
2431
+ public readonly name: string;
2432
+ ```
2433
+
2434
+ - *Type:* string
2435
+
2436
+ The name of the extension.
2437
+
2438
+ ---
2439
+
2440
+ ##### `container`<sup>Optional</sup> <a name="container" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.property.container"></a>
2441
+
2442
+ ```typescript
2443
+ public readonly container: ContainerDefinition;
2444
+ ```
2445
+
2446
+ - *Type:* aws-cdk-lib.aws_ecs.ContainerDefinition
2447
+
2448
+ The container for this extension.
2449
+
2450
+ Most extensions have a container, but not
2451
+ every extension is required to have a container. Some extensions may just
2452
+ modify the properties of the service, or create external resources
2453
+ connected to the service.
2454
+
2455
+ ---
2456
+
2457
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.TcpKeepAliveExtension.property.props"></a>
2458
+
2459
+ ```typescript
2460
+ public readonly props: TcpKeepAliveExtensionProps;
2461
+ ```
2462
+
2463
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.TcpKeepAliveExtensionProps">TcpKeepAliveExtensionProps</a>
2464
+
2465
+ ---
2466
+
2467
+
2468
+