@btc-embedded/cdk-extensions 0.22.4 → 0.22.6

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 (61) hide show
  1. package/.jsii +203 -86
  2. package/API.md +1838 -776
  3. package/CHANGELOG.md +9 -0
  4. package/README.md +11 -8
  5. package/lib/constructs/EventPipe.js +1 -1
  6. package/lib/constructs/ExportedService.js +1 -1
  7. package/lib/constructs/S3Bucket.js +1 -1
  8. package/lib/constructs/SecureRestApi.js +1 -1
  9. package/lib/constructs/SecureRestApiV2.js +1 -1
  10. package/lib/constructs/api-keys/ApiKeyClientAuthorization.js +1 -1
  11. package/lib/constructs/api-keys/ApiKeyManagement.js +1 -1
  12. package/lib/constructs/api-keys/ApiKeyPreTokenHandler.js +1 -1
  13. package/lib/constructs/api-keys/ApiKeyStore.js +1 -1
  14. package/lib/extensions/ApiGatewayExtension.js +1 -1
  15. package/lib/extensions/ApplicationContainer.d.ts +66 -0
  16. package/lib/extensions/ApplicationContainer.js +107 -0
  17. package/lib/extensions/ApplicationLoadBalancerExtension.js +1 -1
  18. package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +1 -1
  19. package/lib/extensions/CloudMapExtension.js +1 -1
  20. package/lib/extensions/DeactivatableServiceExtension.js +1 -1
  21. package/lib/extensions/DeploymentConfigExtension.js +1 -1
  22. package/lib/extensions/DocumentDbAccessExtension.js +1 -1
  23. package/lib/extensions/DomainEventMessagingExtension.js +1 -1
  24. package/lib/extensions/EfsMountExtension.js +1 -1
  25. package/lib/extensions/ExtraContainerExtension.d.ts +16 -29
  26. package/lib/extensions/ExtraContainerExtension.js +30 -3
  27. package/lib/extensions/HTTPApiExtension.js +1 -1
  28. package/lib/extensions/LogExtension.js +1 -1
  29. package/lib/extensions/ModifyContainerDefinitionExtension.js +1 -1
  30. package/lib/extensions/ModifyTaskDefinitionExtension.js +1 -1
  31. package/lib/extensions/OpenIdExtension.js +1 -1
  32. package/lib/extensions/OpenTelemetryExtension.js +1 -1
  33. package/lib/extensions/PostgresDbAccessExtension.js +1 -1
  34. package/lib/extensions/SharedVolumeExtension.js +1 -1
  35. package/lib/extensions/TcpKeepAliveExtension.js +1 -1
  36. package/lib/extensions/container-common.d.ts +63 -0
  37. package/lib/extensions/container-common.js +3 -0
  38. package/lib/extensions/index.d.ts +2 -0
  39. package/lib/extensions/index.js +3 -1
  40. package/lib/platform/ApiGateway.js +1 -1
  41. package/lib/platform/ApiGatewayVpcLink.js +2 -2
  42. package/lib/platform/ApplicationLoadBalancer.js +1 -1
  43. package/lib/platform/ApplicationLoadBalancerV2.js +2 -2
  44. package/lib/platform/BTCLogGroup.js +1 -1
  45. package/lib/platform/CognitoUserPool.js +2 -2
  46. package/lib/platform/DefaultUserPoolClients.js +1 -1
  47. package/lib/platform/DocumentDB.js +2 -2
  48. package/lib/platform/EcsCluster.js +1 -1
  49. package/lib/platform/EfsFileSystem.js +1 -1
  50. package/lib/platform/HostedZone.js +1 -1
  51. package/lib/platform/PrivateDnsNamespace.js +1 -1
  52. package/lib/platform/ResourceServer.js +1 -1
  53. package/lib/platform/Vpc.js +1 -1
  54. package/lib/platform/VpcV2.js +1 -1
  55. package/lib/stacks/ApplicationStack.js +1 -1
  56. package/lib/utils/BasePlatformStackResolver.js +1 -1
  57. package/lib/utils/StackParameter.js +1 -1
  58. package/lib/utils/healthcheck.d.ts +43 -0
  59. package/lib/utils/healthcheck.js +59 -0
  60. package/package.json +1 -1
  61. package/typedoc.json +1 -0
package/API.md CHANGED
@@ -7752,322 +7752,1044 @@ Additional table options to overwrite the defaults for the created table.
7752
7752
 
7753
7753
  ---
7754
7754
 
7755
- ### ApplicationLoadBalancerExtensionProps <a name="ApplicationLoadBalancerExtensionProps" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps"></a>
7755
+ ### ApplicationContainerProps <a name="ApplicationContainerProps" id="@btc-embedded/cdk-extensions.ApplicationContainerProps"></a>
7756
7756
 
7757
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.Initializer"></a>
7757
+ Properties for ApplicationContainer. All properties from EnhancedContainerProps are supported.
7758
+
7759
+ **Required properties:**
7760
+ - cpu: How much CPU the container requires
7761
+ - memoryMiB: How much memory in megabytes the container requires
7762
+ - image: The image to run
7763
+ - trafficPort: What port the image listens for traffic on
7764
+
7765
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.Initializer"></a>
7758
7766
 
7759
7767
  ```typescript
7760
- import { ApplicationLoadBalancerExtensionProps } from '@btc-embedded/cdk-extensions'
7768
+ import { ApplicationContainerProps } from '@btc-embedded/cdk-extensions'
7761
7769
 
7762
- const applicationLoadBalancerExtensionProps: ApplicationLoadBalancerExtensionProps = { ... }
7770
+ const applicationContainerProps: ApplicationContainerProps = { ... }
7763
7771
  ```
7764
7772
 
7765
7773
  #### Properties <a name="Properties" id="Properties"></a>
7766
7774
 
7767
7775
  | **Name** | **Type** | **Description** |
7768
7776
  | --- | --- | --- |
7769
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.clientScope">clientScope</a></code> | <code>string</code> | *No description.* |
7770
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.securityGroupId">securityGroupId</a></code> | <code>string</code> | *No description.* |
7771
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.userPoolClientSecret">userPoolClientSecret</a></code> | <code>string</code> | *No description.* |
7772
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | *No description.* |
7773
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.healtCheckPath">healtCheckPath</a></code> | <code>string</code> | *No description.* |
7774
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.listener">listener</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationListener</code> | *No description.* |
7775
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.path">path</a></code> | <code>string</code> | *No description.* |
7776
-
7777
- ---
7778
-
7779
- ##### `clientScope`<sup>Required</sup> <a name="clientScope" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.clientScope"></a>
7777
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.image">image</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerImage</code> | The image used to start a container. |
7778
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.command">command</a></code> | <code>string[]</code> | The command that is passed to the container. |
7779
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.containerName">containerName</a></code> | <code>string</code> | The name of the container. |
7780
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.cpu">cpu</a></code> | <code>number</code> | The minimum number of CPU units to reserve for the container. |
7781
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.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. |
7782
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.disableNetworking">disableNetworking</a></code> | <code>boolean</code> | Specifies whether networking is disabled within the container. |
7783
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.dnsSearchDomains">dnsSearchDomains</a></code> | <code>string[]</code> | A list of DNS search domains that are presented to the container. |
7784
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.dnsServers">dnsServers</a></code> | <code>string[]</code> | A list of DNS servers that are presented to the container. |
7785
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.dockerLabels">dockerLabels</a></code> | <code>{[ key: string ]: string}</code> | A key/value map of labels to add to the container. |
7786
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.dockerSecurityOptions">dockerSecurityOptions</a></code> | <code>string[]</code> | A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems. |
7787
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.enableRestartPolicy">enableRestartPolicy</a></code> | <code>boolean</code> | Enable a restart policy for a container. |
7788
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.entryPoint">entryPoint</a></code> | <code>string[]</code> | The ENTRYPOINT value to pass to the container. |
7789
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.environment">environment</a></code> | <code>{[ key: string ]: string}</code> | The environment variables to pass to the container. |
7790
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.environmentFiles">environmentFiles</a></code> | <code>aws-cdk-lib.aws_ecs.EnvironmentFile[]</code> | The environment files to pass to the container. |
7791
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.essential">essential</a></code> | <code>boolean</code> | Specifies whether the container is marked essential. |
7792
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.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. |
7793
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.gpuCount">gpuCount</a></code> | <code>number</code> | The number of GPUs assigned to the container. |
7794
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.healthCheck">healthCheck</a></code> | <code>aws-cdk-lib.aws_ecs.HealthCheck</code> | The health check command and associated configuration parameters for the container. |
7795
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.hostname">hostname</a></code> | <code>string</code> | The hostname to use for your container. |
7796
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.inferenceAcceleratorResources">inferenceAcceleratorResources</a></code> | <code>string[]</code> | The inference accelerators referenced by the container. |
7797
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.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. |
7798
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.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. |
7799
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.logging">logging</a></code> | <code>aws-cdk-lib.aws_ecs.LogDriver</code> | The log configuration specification for the container. |
7800
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.memoryLimitMiB">memoryLimitMiB</a></code> | <code>number</code> | The amount (in MiB) of memory to present to the container. |
7801
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.memoryReservationMiB">memoryReservationMiB</a></code> | <code>number</code> | The soft limit (in MiB) of memory to reserve for the container. |
7802
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.portMappings">portMappings</a></code> | <code>aws-cdk-lib.aws_ecs.PortMapping[]</code> | The port mappings to add to the container definition. |
7803
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.privileged">privileged</a></code> | <code>boolean</code> | Specifies whether the container is marked as privileged. |
7804
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.pseudoTerminal">pseudoTerminal</a></code> | <code>boolean</code> | When this parameter is true, a TTY is allocated. |
7805
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.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. |
7806
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.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. |
7807
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.restartIgnoredExitCodes">restartIgnoredExitCodes</a></code> | <code>number[]</code> | A list of exit codes that Amazon ECS will ignore and not attempt a restart on. |
7808
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.secrets">secrets</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_ecs.Secret}</code> | The secret environment variables to pass to the container. |
7809
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.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. |
7810
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.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. |
7811
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.systemControls">systemControls</a></code> | <code>aws-cdk-lib.aws_ecs.SystemControl[]</code> | A list of namespaced kernel parameters to set in the container. |
7812
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.ulimits">ulimits</a></code> | <code>aws-cdk-lib.aws_ecs.Ulimit[]</code> | An array of ulimits to set in the container. |
7813
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.user">user</a></code> | <code>string</code> | The user to use inside the container. |
7814
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.versionConsistency">versionConsistency</a></code> | <code>aws-cdk-lib.aws_ecs.VersionConsistency</code> | Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. |
7815
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.workingDirectory">workingDirectory</a></code> | <code>string</code> | The working directory in which to run commands inside the container. |
7816
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.containerDependencies">containerDependencies</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ContainerDependency">ContainerDependency</a>[]</code> | Container dependencies (used by ExtraContainerExtension). |
7817
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.healthCheckEndpoint">healthCheckEndpoint</a></code> | <code>string</code> | Simplified health check - just specify the HTTP endpoint path. |
7818
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | The log group into which application container logs should be routed. |
7819
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.memoryMiB">memoryMiB</a></code> | <code>number</code> | How much memory in megabytes the container requires. |
7820
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps.property.trafficPort">trafficPort</a></code> | <code>number</code> | What port the image listens for traffic on. |
7821
+
7822
+ ---
7823
+
7824
+ ##### `image`<sup>Required</sup> <a name="image" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.image"></a>
7780
7825
 
7781
7826
  ```typescript
7782
- public readonly clientScope: string;
7827
+ public readonly image: ContainerImage;
7783
7828
  ```
7784
7829
 
7785
- - *Type:* string
7830
+ - *Type:* aws-cdk-lib.aws_ecs.ContainerImage
7831
+
7832
+ The image used to start a container.
7833
+
7834
+ This string is passed directly to the Docker daemon.
7835
+ Images in the Docker Hub registry are available by default.
7836
+ Other repositories are specified with either repository-url/image:tag or repository-url/image@digest.
7837
+ TODO: Update these to specify using classes of IContainerImage
7786
7838
 
7787
7839
  ---
7788
7840
 
7789
- ##### `securityGroupId`<sup>Required</sup> <a name="securityGroupId" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.securityGroupId"></a>
7841
+ ##### `command`<sup>Optional</sup> <a name="command" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.command"></a>
7790
7842
 
7791
7843
  ```typescript
7792
- public readonly securityGroupId: string;
7844
+ public readonly command: string[];
7793
7845
  ```
7794
7846
 
7795
- - *Type:* string
7847
+ - *Type:* string[]
7848
+ - *Default:* CMD value built into container image.
7849
+
7850
+ The command that is passed to the container.
7851
+
7852
+ If you provide a shell command as a single string, you have to quote command-line arguments.
7796
7853
 
7797
7854
  ---
7798
7855
 
7799
- ##### `userPoolClientSecret`<sup>Required</sup> <a name="userPoolClientSecret" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.userPoolClientSecret"></a>
7856
+ ##### `containerName`<sup>Optional</sup> <a name="containerName" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.containerName"></a>
7800
7857
 
7801
7858
  ```typescript
7802
- public readonly userPoolClientSecret: string;
7859
+ public readonly containerName: string;
7803
7860
  ```
7804
7861
 
7805
7862
  - *Type:* string
7863
+ - *Default:* id of node associated with ContainerDefinition.
7864
+
7865
+ The name of the container.
7806
7866
 
7807
7867
  ---
7808
7868
 
7809
- ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.basePlatformStackName"></a>
7869
+ ##### `cpu`<sup>Optional</sup> <a name="cpu" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.cpu"></a>
7810
7870
 
7811
7871
  ```typescript
7812
- public readonly basePlatformStackName: string;
7872
+ public readonly cpu: number;
7813
7873
  ```
7814
7874
 
7815
- - *Type:* string
7875
+ - *Type:* number
7876
+ - *Default:* No minimum CPU units reserved.
7877
+
7878
+ The minimum number of CPU units to reserve for the container.
7816
7879
 
7817
7880
  ---
7818
7881
 
7819
- ##### `healtCheckPath`<sup>Optional</sup> <a name="healtCheckPath" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.healtCheckPath"></a>
7882
+ ##### `credentialSpecs`<sup>Optional</sup> <a name="credentialSpecs" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.credentialSpecs"></a>
7820
7883
 
7821
7884
  ```typescript
7822
- public readonly healtCheckPath: string;
7885
+ public readonly credentialSpecs: CredentialSpec[];
7823
7886
  ```
7824
7887
 
7825
- - *Type:* string
7826
-
7827
- ---
7888
+ - *Type:* aws-cdk-lib.aws_ecs.CredentialSpec[]
7889
+ - *Default:* No credential specs.
7828
7890
 
7829
- ##### `listener`<sup>Optional</sup> <a name="listener" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.listener"></a>
7891
+ A list of ARNs in SSM or Amazon S3 to a credential spec (`CredSpec`) file that configures the container for Active Directory authentication.
7830
7892
 
7831
- ```typescript
7832
- public readonly listener: IApplicationListener;
7833
- ```
7893
+ We recommend that you use this parameter instead of the `dockerSecurityOptions`.
7834
7894
 
7835
- - *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationListener
7895
+ Currently, only one credential spec is allowed per container definition.
7836
7896
 
7837
7897
  ---
7838
7898
 
7839
- ##### `path`<sup>Optional</sup> <a name="path" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.path"></a>
7899
+ ##### `disableNetworking`<sup>Optional</sup> <a name="disableNetworking" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.disableNetworking"></a>
7840
7900
 
7841
7901
  ```typescript
7842
- public readonly path: string;
7902
+ public readonly disableNetworking: boolean;
7843
7903
  ```
7844
7904
 
7845
- - *Type:* string
7905
+ - *Type:* boolean
7906
+ - *Default:* false
7846
7907
 
7847
- ---
7908
+ Specifies whether networking is disabled within the container.
7848
7909
 
7849
- ### ApplicationLoadBalancerExtensionPropsV2 <a name="ApplicationLoadBalancerExtensionPropsV2" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2"></a>
7910
+ When this parameter is true, networking is disabled within the container.
7850
7911
 
7851
- Properties for the ApplicationLoadBalancerExtensionV2.
7912
+ ---
7852
7913
 
7853
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.Initializer"></a>
7914
+ ##### `dnsSearchDomains`<sup>Optional</sup> <a name="dnsSearchDomains" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.dnsSearchDomains"></a>
7854
7915
 
7855
7916
  ```typescript
7856
- import { ApplicationLoadBalancerExtensionPropsV2 } from '@btc-embedded/cdk-extensions'
7857
-
7858
- const applicationLoadBalancerExtensionPropsV2: ApplicationLoadBalancerExtensionPropsV2 = { ... }
7917
+ public readonly dnsSearchDomains: string[];
7859
7918
  ```
7860
7919
 
7861
- #### Properties <a name="Properties" id="Properties"></a>
7920
+ - *Type:* string[]
7921
+ - *Default:* No search domains.
7862
7922
 
7863
- | **Name** | **Type** | **Description** |
7864
- | --- | --- | --- |
7865
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the platform stack to use for the load balancer. |
7866
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.loadBalancer">loadBalancer</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2">ApplicationLoadBalancerV2</a></code> | The Application Load Balancer to use. |
7923
+ A list of DNS search domains that are presented to the container.
7867
7924
 
7868
7925
  ---
7869
7926
 
7870
- ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.basePlatformStackName"></a>
7927
+ ##### `dnsServers`<sup>Optional</sup> <a name="dnsServers" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.dnsServers"></a>
7871
7928
 
7872
7929
  ```typescript
7873
- public readonly basePlatformStackName: string;
7930
+ public readonly dnsServers: string[];
7874
7931
  ```
7875
7932
 
7876
- - *Type:* string
7877
-
7878
- The name of the platform stack to use for the load balancer.
7933
+ - *Type:* string[]
7934
+ - *Default:* Default DNS servers.
7879
7935
 
7880
- Either this or `loadBalancer` must be provided.
7936
+ A list of DNS servers that are presented to the container.
7881
7937
 
7882
7938
  ---
7883
7939
 
7884
- ##### `loadBalancer`<sup>Optional</sup> <a name="loadBalancer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.loadBalancer"></a>
7940
+ ##### `dockerLabels`<sup>Optional</sup> <a name="dockerLabels" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.dockerLabels"></a>
7885
7941
 
7886
7942
  ```typescript
7887
- public readonly loadBalancer: ApplicationLoadBalancerV2;
7943
+ public readonly dockerLabels: {[ key: string ]: string};
7888
7944
  ```
7889
7945
 
7890
- - *Type:* <a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2">ApplicationLoadBalancerV2</a>
7891
-
7892
- The Application Load Balancer to use.
7946
+ - *Type:* {[ key: string ]: string}
7947
+ - *Default:* No labels.
7893
7948
 
7894
- Either this or `platformStackName` must be provided.
7949
+ A key/value map of labels to add to the container.
7895
7950
 
7896
7951
  ---
7897
7952
 
7898
- ### ApplicationLoadBalancerProps <a name="ApplicationLoadBalancerProps" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps"></a>
7899
-
7900
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.Initializer"></a>
7953
+ ##### `dockerSecurityOptions`<sup>Optional</sup> <a name="dockerSecurityOptions" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.dockerSecurityOptions"></a>
7901
7954
 
7902
7955
  ```typescript
7903
- import { ApplicationLoadBalancerProps } from '@btc-embedded/cdk-extensions'
7904
-
7905
- const applicationLoadBalancerProps: ApplicationLoadBalancerProps = { ... }
7956
+ public readonly dockerSecurityOptions: string[];
7906
7957
  ```
7907
7958
 
7908
- #### Properties <a name="Properties" id="Properties"></a>
7959
+ - *Type:* string[]
7960
+ - *Default:* No security labels.
7909
7961
 
7910
- | **Name** | **Type** | **Description** |
7911
- | --- | --- | --- |
7912
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.fqdn">fqdn</a></code> | <code>string</code> | *No description.* |
7913
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.hostedZone">hostedZone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | *No description.* |
7914
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPool">userPool</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPool</code> | *No description.* |
7915
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolClient">userPoolClient</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolClient</code> | *No description.* |
7916
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolDomain">userPoolDomain</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolDomain</code> | *No description.* |
7917
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | *No description.* |
7962
+ A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems.
7918
7963
 
7919
7964
  ---
7920
7965
 
7921
- ##### `fqdn`<sup>Required</sup> <a name="fqdn" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.fqdn"></a>
7966
+ ##### `enableRestartPolicy`<sup>Optional</sup> <a name="enableRestartPolicy" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.enableRestartPolicy"></a>
7922
7967
 
7923
7968
  ```typescript
7924
- public readonly fqdn: string;
7969
+ public readonly enableRestartPolicy: boolean;
7925
7970
  ```
7926
7971
 
7927
- - *Type:* string
7928
-
7929
- ---
7972
+ - *Type:* boolean
7973
+ - *Default:* false unless `restartIgnoredExitCodes` or `restartAttemptPeriod` is set.
7930
7974
 
7931
- ##### `hostedZone`<sup>Required</sup> <a name="hostedZone" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.hostedZone"></a>
7975
+ Enable a restart policy for a container.
7932
7976
 
7933
- ```typescript
7934
- public readonly hostedZone: IHostedZone;
7935
- ```
7977
+ When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task.
7936
7978
 
7937
- - *Type:* aws-cdk-lib.aws_route53.IHostedZone
7979
+ > [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html)
7938
7980
 
7939
7981
  ---
7940
7982
 
7941
- ##### `userPool`<sup>Required</sup> <a name="userPool" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPool"></a>
7983
+ ##### `entryPoint`<sup>Optional</sup> <a name="entryPoint" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.entryPoint"></a>
7942
7984
 
7943
7985
  ```typescript
7944
- public readonly userPool: IUserPool;
7986
+ public readonly entryPoint: string[];
7945
7987
  ```
7946
7988
 
7947
- - *Type:* aws-cdk-lib.aws_cognito.IUserPool
7989
+ - *Type:* string[]
7990
+ - *Default:* Entry point configured in container.
7991
+
7992
+ The ENTRYPOINT value to pass to the container.
7993
+
7994
+ > [https://docs.docker.com/engine/reference/builder/#entrypoint](https://docs.docker.com/engine/reference/builder/#entrypoint)
7948
7995
 
7949
7996
  ---
7950
7997
 
7951
- ##### `userPoolClient`<sup>Required</sup> <a name="userPoolClient" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolClient"></a>
7998
+ ##### `environment`<sup>Optional</sup> <a name="environment" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.environment"></a>
7952
7999
 
7953
8000
  ```typescript
7954
- public readonly userPoolClient: IUserPoolClient;
8001
+ public readonly environment: {[ key: string ]: string};
7955
8002
  ```
7956
8003
 
7957
- - *Type:* aws-cdk-lib.aws_cognito.IUserPoolClient
8004
+ - *Type:* {[ key: string ]: string}
8005
+ - *Default:* No environment variables.
8006
+
8007
+ The environment variables to pass to the container.
7958
8008
 
7959
8009
  ---
7960
8010
 
7961
- ##### `userPoolDomain`<sup>Required</sup> <a name="userPoolDomain" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolDomain"></a>
8011
+ ##### `environmentFiles`<sup>Optional</sup> <a name="environmentFiles" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.environmentFiles"></a>
7962
8012
 
7963
8013
  ```typescript
7964
- public readonly userPoolDomain: IUserPoolDomain;
8014
+ public readonly environmentFiles: EnvironmentFile[];
7965
8015
  ```
7966
8016
 
7967
- - *Type:* aws-cdk-lib.aws_cognito.IUserPoolDomain
8017
+ - *Type:* aws-cdk-lib.aws_ecs.EnvironmentFile[]
8018
+ - *Default:* No environment files.
8019
+
8020
+ The environment files to pass to the container.
8021
+
8022
+ > [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html)
7968
8023
 
7969
8024
  ---
7970
8025
 
7971
- ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.vpc"></a>
8026
+ ##### `essential`<sup>Optional</sup> <a name="essential" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.essential"></a>
7972
8027
 
7973
8028
  ```typescript
7974
- public readonly vpc: IVpc;
8029
+ public readonly essential: boolean;
7975
8030
  ```
7976
8031
 
7977
- - *Type:* aws-cdk-lib.aws_ec2.IVpc
8032
+ - *Type:* boolean
8033
+ - *Default:* true
7978
8034
 
7979
- ---
8035
+ Specifies whether the container is marked essential.
7980
8036
 
7981
- ### ApplicationLoadBalancerPropsV2 <a name="ApplicationLoadBalancerPropsV2" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2"></a>
8037
+ If the essential parameter of a container is marked as true, and that container fails
8038
+ or stops for any reason, all other containers that are part of the task are stopped.
8039
+ If the essential parameter of a container is marked as false, then its failure does not
8040
+ affect the rest of the containers in a task. All tasks must have at least one essential container.
7982
8041
 
7983
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.Initializer"></a>
8042
+ If this parameter is omitted, a container is assumed to be essential.
7984
8043
 
7985
- ```typescript
7986
- import { ApplicationLoadBalancerPropsV2 } from '@btc-embedded/cdk-extensions'
8044
+ ---
7987
8045
 
7988
- const applicationLoadBalancerPropsV2: ApplicationLoadBalancerPropsV2 = { ... }
8046
+ ##### `extraHosts`<sup>Optional</sup> <a name="extraHosts" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.extraHosts"></a>
8047
+
8048
+ ```typescript
8049
+ public readonly extraHosts: {[ key: string ]: string};
7989
8050
  ```
7990
8051
 
7991
- #### Properties <a name="Properties" id="Properties"></a>
8052
+ - *Type:* {[ key: string ]: string}
8053
+ - *Default:* No extra hosts.
7992
8054
 
7993
- | **Name** | **Type** | **Description** |
7994
- | --- | --- | --- |
7995
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.healtCheckPath">healtCheckPath</a></code> | <code>string</code> | The health check path for the target group. |
7996
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.hostedZone">hostedZone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | The Route 53 hosted zone where the ALB's DNS record will be created. |
7997
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.trafficPort">trafficPort</a></code> | <code>number</code> | The port on which the target group will receive traffic. |
7998
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.userPool">userPool</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a></code> | The Cognito User Pool of this base platform. |
7999
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | The VPC in which the Application Load Balancer will be deployed. |
8000
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.recordName">recordName</a></code> | <code>string</code> | The domain prefix or record name for configuring the ALB domain. |
8055
+ A list of hostnames and IP address mappings to append to the /etc/hosts file on the container.
8001
8056
 
8002
8057
  ---
8003
8058
 
8004
- ##### `healtCheckPath`<sup>Required</sup> <a name="healtCheckPath" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.healtCheckPath"></a>
8059
+ ##### `gpuCount`<sup>Optional</sup> <a name="gpuCount" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.gpuCount"></a>
8005
8060
 
8006
8061
  ```typescript
8007
- public readonly healtCheckPath: string;
8062
+ public readonly gpuCount: number;
8008
8063
  ```
8009
8064
 
8010
- - *Type:* string
8065
+ - *Type:* number
8066
+ - *Default:* No GPUs assigned.
8011
8067
 
8012
- The health check path for the target group.
8068
+ The number of GPUs assigned to the container.
8013
8069
 
8014
8070
  ---
8015
8071
 
8016
- ##### `hostedZone`<sup>Required</sup> <a name="hostedZone" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.hostedZone"></a>
8072
+ ##### `healthCheck`<sup>Optional</sup> <a name="healthCheck" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.healthCheck"></a>
8017
8073
 
8018
8074
  ```typescript
8019
- public readonly hostedZone: IHostedZone;
8075
+ public readonly healthCheck: HealthCheck;
8020
8076
  ```
8021
8077
 
8022
- - *Type:* aws-cdk-lib.aws_route53.IHostedZone
8078
+ - *Type:* aws-cdk-lib.aws_ecs.HealthCheck
8079
+ - *Default:* Health check configuration from container.
8023
8080
 
8024
- The Route 53 hosted zone where the ALB's DNS record will be created.
8081
+ The health check command and associated configuration parameters for the container.
8025
8082
 
8026
8083
  ---
8027
8084
 
8028
- ##### `trafficPort`<sup>Required</sup> <a name="trafficPort" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.trafficPort"></a>
8085
+ ##### `hostname`<sup>Optional</sup> <a name="hostname" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.hostname"></a>
8029
8086
 
8030
8087
  ```typescript
8031
- public readonly trafficPort: number;
8088
+ public readonly hostname: string;
8032
8089
  ```
8033
8090
 
8034
- - *Type:* number
8091
+ - *Type:* string
8092
+ - *Default:* Automatic hostname.
8035
8093
 
8036
- The port on which the target group will receive traffic.
8094
+ The hostname to use for your container.
8037
8095
 
8038
8096
  ---
8039
8097
 
8040
- ##### `userPool`<sup>Required</sup> <a name="userPool" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.userPool"></a>
8098
+ ##### `inferenceAcceleratorResources`<sup>Optional</sup> <a name="inferenceAcceleratorResources" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.inferenceAcceleratorResources"></a>
8041
8099
 
8042
8100
  ```typescript
8043
- public readonly userPool: ICognitoUserPool;
8101
+ public readonly inferenceAcceleratorResources: string[];
8044
8102
  ```
8045
8103
 
8046
- - *Type:* <a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a>
8104
+ - *Type:* string[]
8105
+ - *Default:* No inference accelerators assigned.
8047
8106
 
8048
- The Cognito User Pool of this base platform.
8107
+ The inference accelerators referenced by the container.
8049
8108
 
8050
8109
  ---
8051
8110
 
8052
- ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.vpc"></a>
8111
+ ##### `interactive`<sup>Optional</sup> <a name="interactive" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.interactive"></a>
8053
8112
 
8054
8113
  ```typescript
8055
- public readonly vpc: IVpc;
8114
+ public readonly interactive: boolean;
8056
8115
  ```
8057
8116
 
8058
- - *Type:* aws-cdk-lib.aws_ec2.IVpc
8117
+ - *Type:* boolean
8118
+ - *Default:* false
8059
8119
 
8060
- The VPC in which the Application Load Balancer will be deployed.
8120
+ When this parameter is true, you can deploy containerized applications that require stdin or a tty to be allocated.
8121
+
8122
+ > [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)
8061
8123
 
8062
8124
  ---
8063
8125
 
8064
- ##### `recordName`<sup>Optional</sup> <a name="recordName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.recordName"></a>
8126
+ ##### `linuxParameters`<sup>Optional</sup> <a name="linuxParameters" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.linuxParameters"></a>
8065
8127
 
8066
8128
  ```typescript
8067
- public readonly recordName: string;
8129
+ public readonly linuxParameters: LinuxParameters;
8068
8130
  ```
8069
8131
 
8070
- - *Type:* string
8132
+ - *Type:* aws-cdk-lib.aws_ecs.LinuxParameters
8133
+ - *Default:* No Linux parameters.
8134
+
8135
+ Linux-specific modifications that are applied to the container, such as Linux kernel capabilities.
8136
+
8137
+ For more information see [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html).
8138
+
8139
+ ---
8140
+
8141
+ ##### `logging`<sup>Optional</sup> <a name="logging" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.logging"></a>
8142
+
8143
+ ```typescript
8144
+ public readonly logging: LogDriver;
8145
+ ```
8146
+
8147
+ - *Type:* aws-cdk-lib.aws_ecs.LogDriver
8148
+ - *Default:* Containers use the same logging driver that the Docker daemon uses.
8149
+
8150
+ The log configuration specification for the container.
8151
+
8152
+ ---
8153
+
8154
+ ##### `memoryLimitMiB`<sup>Optional</sup> <a name="memoryLimitMiB" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.memoryLimitMiB"></a>
8155
+
8156
+ ```typescript
8157
+ public readonly memoryLimitMiB: number;
8158
+ ```
8159
+
8160
+ - *Type:* number
8161
+ - *Default:* No memory limit.
8162
+
8163
+ The amount (in MiB) of memory to present to the container.
8164
+
8165
+ If your container attempts to exceed the allocated memory, the container
8166
+ is terminated.
8167
+
8168
+ At least one of memoryLimitMiB and memoryReservationMiB is required for non-Fargate services.
8169
+
8170
+ ---
8171
+
8172
+ ##### `memoryReservationMiB`<sup>Optional</sup> <a name="memoryReservationMiB" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.memoryReservationMiB"></a>
8173
+
8174
+ ```typescript
8175
+ public readonly memoryReservationMiB: number;
8176
+ ```
8177
+
8178
+ - *Type:* number
8179
+ - *Default:* No memory reserved.
8180
+
8181
+ The soft limit (in MiB) of memory to reserve for the container.
8182
+
8183
+ When system memory is under heavy contention, Docker attempts to keep the
8184
+ container memory to this soft limit. However, your container can consume more
8185
+ memory when it needs to, up to either the hard limit specified with the memory
8186
+ parameter (if applicable), or all of the available memory on the container
8187
+ instance, whichever comes first.
8188
+
8189
+ At least one of memoryLimitMiB and memoryReservationMiB is required for non-Fargate services.
8190
+
8191
+ ---
8192
+
8193
+ ##### `portMappings`<sup>Optional</sup> <a name="portMappings" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.portMappings"></a>
8194
+
8195
+ ```typescript
8196
+ public readonly portMappings: PortMapping[];
8197
+ ```
8198
+
8199
+ - *Type:* aws-cdk-lib.aws_ecs.PortMapping[]
8200
+ - *Default:* No ports are mapped.
8201
+
8202
+ The port mappings to add to the container definition.
8203
+
8204
+ ---
8205
+
8206
+ ##### `privileged`<sup>Optional</sup> <a name="privileged" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.privileged"></a>
8207
+
8208
+ ```typescript
8209
+ public readonly privileged: boolean;
8210
+ ```
8211
+
8212
+ - *Type:* boolean
8213
+ - *Default:* false
8214
+
8215
+ Specifies whether the container is marked as privileged.
8216
+
8217
+ When this parameter is true, the container is given elevated privileges on the host container instance (similar to the root user).
8218
+
8219
+ ---
8220
+
8221
+ ##### `pseudoTerminal`<sup>Optional</sup> <a name="pseudoTerminal" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.pseudoTerminal"></a>
8222
+
8223
+ ```typescript
8224
+ public readonly pseudoTerminal: boolean;
8225
+ ```
8226
+
8227
+ - *Type:* boolean
8228
+ - *Default:* false
8229
+
8230
+ When this parameter is true, a TTY is allocated.
8231
+
8232
+ This parameter maps to Tty in the "Create a container section" of the
8233
+ Docker Remote API and the --tty option to `docker run`.
8234
+
8235
+ > [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)
8236
+
8237
+ ---
8238
+
8239
+ ##### `readonlyRootFilesystem`<sup>Optional</sup> <a name="readonlyRootFilesystem" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.readonlyRootFilesystem"></a>
8240
+
8241
+ ```typescript
8242
+ public readonly readonlyRootFilesystem: boolean;
8243
+ ```
8244
+
8245
+ - *Type:* boolean
8246
+ - *Default:* false
8247
+
8248
+ When this parameter is true, the container is given read-only access to its root file system.
8249
+
8250
+ ---
8251
+
8252
+ ##### `restartAttemptPeriod`<sup>Optional</sup> <a name="restartAttemptPeriod" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.restartAttemptPeriod"></a>
8253
+
8254
+ ```typescript
8255
+ public readonly restartAttemptPeriod: Duration;
8256
+ ```
8257
+
8258
+ - *Type:* aws-cdk-lib.Duration
8259
+ - *Default:* Duration.seconds(300) if `enableRestartPolicy` is true, otherwise no period.
8260
+
8261
+ A period of time that the container must run for before a restart can be attempted.
8262
+
8263
+ A container can be restarted only once every `restartAttemptPeriod` seconds.
8264
+ If a container isn't able to run for this time period and exits early, it will not be restarted.
8265
+
8266
+ This property can't be used if `enableRestartPolicy` is set to false.
8267
+
8268
+ You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod`
8269
+ of 1800 seconds.
8270
+
8271
+ ---
8272
+
8273
+ ##### `restartIgnoredExitCodes`<sup>Optional</sup> <a name="restartIgnoredExitCodes" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.restartIgnoredExitCodes"></a>
8274
+
8275
+ ```typescript
8276
+ public readonly restartIgnoredExitCodes: number[];
8277
+ ```
8278
+
8279
+ - *Type:* number[]
8280
+ - *Default:* No exit codes are ignored.
8281
+
8282
+ A list of exit codes that Amazon ECS will ignore and not attempt a restart on.
8283
+
8284
+ This property can't be used if `enableRestartPolicy` is set to false.
8285
+
8286
+ You can specify a maximum of 50 container exit codes.
8287
+
8288
+ ---
8289
+
8290
+ ##### `secrets`<sup>Optional</sup> <a name="secrets" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.secrets"></a>
8291
+
8292
+ ```typescript
8293
+ public readonly secrets: {[ key: string ]: Secret};
8294
+ ```
8295
+
8296
+ - *Type:* {[ key: string ]: aws-cdk-lib.aws_ecs.Secret}
8297
+ - *Default:* No secret environment variables.
8298
+
8299
+ The secret environment variables to pass to the container.
8300
+
8301
+ ---
8302
+
8303
+ ##### `startTimeout`<sup>Optional</sup> <a name="startTimeout" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.startTimeout"></a>
8304
+
8305
+ ```typescript
8306
+ public readonly startTimeout: Duration;
8307
+ ```
8308
+
8309
+ - *Type:* aws-cdk-lib.Duration
8310
+ - *Default:* none
8311
+
8312
+ Time duration (in seconds) to wait before giving up on resolving dependencies for a container.
8313
+
8314
+ ---
8315
+
8316
+ ##### `stopTimeout`<sup>Optional</sup> <a name="stopTimeout" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.stopTimeout"></a>
8317
+
8318
+ ```typescript
8319
+ public readonly stopTimeout: Duration;
8320
+ ```
8321
+
8322
+ - *Type:* aws-cdk-lib.Duration
8323
+ - *Default:* none
8324
+
8325
+ Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own.
8326
+
8327
+ ---
8328
+
8329
+ ##### `systemControls`<sup>Optional</sup> <a name="systemControls" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.systemControls"></a>
8330
+
8331
+ ```typescript
8332
+ public readonly systemControls: SystemControl[];
8333
+ ```
8334
+
8335
+ - *Type:* aws-cdk-lib.aws_ecs.SystemControl[]
8336
+ - *Default:* No system controls are set.
8337
+
8338
+ A list of namespaced kernel parameters to set in the container.
8339
+
8340
+ > [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)
8341
+
8342
+ ---
8343
+
8344
+ ##### `ulimits`<sup>Optional</sup> <a name="ulimits" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.ulimits"></a>
8345
+
8346
+ ```typescript
8347
+ public readonly ulimits: Ulimit[];
8348
+ ```
8349
+
8350
+ - *Type:* aws-cdk-lib.aws_ecs.Ulimit[]
8351
+
8352
+ An array of ulimits to set in the container.
8353
+
8354
+ ---
8355
+
8356
+ ##### `user`<sup>Optional</sup> <a name="user" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.user"></a>
8357
+
8358
+ ```typescript
8359
+ public readonly user: string;
8360
+ ```
8361
+
8362
+ - *Type:* string
8363
+ - *Default:* root
8364
+
8365
+ The user to use inside the container.
8366
+
8367
+ This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.
8368
+
8369
+ > [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)
8370
+
8371
+ ---
8372
+
8373
+ ##### `versionConsistency`<sup>Optional</sup> <a name="versionConsistency" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.versionConsistency"></a>
8374
+
8375
+ ```typescript
8376
+ public readonly versionConsistency: VersionConsistency;
8377
+ ```
8378
+
8379
+ - *Type:* aws-cdk-lib.aws_ecs.VersionConsistency
8380
+ - *Default:* VersionConsistency.DISABLED if `image` is a CDK asset, VersionConsistency.ENABLED otherwise
8381
+
8382
+ Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest.
8383
+
8384
+ If you set the value for a container as disabled, Amazon ECS will
8385
+ not resolve the provided container image tag to a digest and will use the
8386
+ original image URI specified in the container definition for deployment.
8387
+
8388
+ > [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-versionconsistency](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-versionconsistency)
8389
+
8390
+ ---
8391
+
8392
+ ##### `workingDirectory`<sup>Optional</sup> <a name="workingDirectory" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.workingDirectory"></a>
8393
+
8394
+ ```typescript
8395
+ public readonly workingDirectory: string;
8396
+ ```
8397
+
8398
+ - *Type:* string
8399
+ - *Default:* /
8400
+
8401
+ The working directory in which to run commands inside the container.
8402
+
8403
+ ---
8404
+
8405
+ ##### `containerDependencies`<sup>Optional</sup> <a name="containerDependencies" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.containerDependencies"></a>
8406
+
8407
+ ```typescript
8408
+ public readonly containerDependencies: ContainerDependency[];
8409
+ ```
8410
+
8411
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ContainerDependency">ContainerDependency</a>[]
8412
+
8413
+ Container dependencies (used by ExtraContainerExtension).
8414
+
8415
+ Specify additional container dependencies which should be added after the
8416
+ container has been created in the task definition.
8417
+
8418
+ ---
8419
+
8420
+ ##### `healthCheckEndpoint`<sup>Optional</sup> <a name="healthCheckEndpoint" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.healthCheckEndpoint"></a>
8421
+
8422
+ ```typescript
8423
+ public readonly healthCheckEndpoint: string;
8424
+ ```
8425
+
8426
+ - *Type:* string
8427
+ - *Default:* no health check
8428
+
8429
+ Simplified health check - just specify the HTTP endpoint path.
8430
+
8431
+ A curl-based health check will be auto-generated using the container's traffic port.
8432
+
8433
+ Example: "/health" becomes:
8434
+ curl -f http://localhost:3000/health || exit 1
8435
+
8436
+ Cannot be used with `healthCheck`.
8437
+
8438
+ ---
8439
+
8440
+ ##### `logGroup`<sup>Optional</sup> <a name="logGroup" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.logGroup"></a>
8441
+
8442
+ ```typescript
8443
+ public readonly logGroup: ILogGroup;
8444
+ ```
8445
+
8446
+ - *Type:* aws-cdk-lib.aws_logs.ILogGroup
8447
+ - *Default:* A log group is automatically created for you if the `ECS_SERVICE_EXTENSIONS_ENABLE_DEFAULT_LOG_DRIVER` feature flag is set.
8448
+
8449
+ The log group into which application container logs should be routed.
8450
+
8451
+ ---
8452
+
8453
+ ##### `memoryMiB`<sup>Optional</sup> <a name="memoryMiB" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.memoryMiB"></a>
8454
+
8455
+ ```typescript
8456
+ public readonly memoryMiB: number;
8457
+ ```
8458
+
8459
+ - *Type:* number
8460
+
8461
+ How much memory in megabytes the container requires.
8462
+
8463
+ ---
8464
+
8465
+ ##### `trafficPort`<sup>Optional</sup> <a name="trafficPort" id="@btc-embedded/cdk-extensions.ApplicationContainerProps.property.trafficPort"></a>
8466
+
8467
+ ```typescript
8468
+ public readonly trafficPort: number;
8469
+ ```
8470
+
8471
+ - *Type:* number
8472
+
8473
+ What port the image listens for traffic on.
8474
+
8475
+ ---
8476
+
8477
+ ### ApplicationLoadBalancerExtensionProps <a name="ApplicationLoadBalancerExtensionProps" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps"></a>
8478
+
8479
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.Initializer"></a>
8480
+
8481
+ ```typescript
8482
+ import { ApplicationLoadBalancerExtensionProps } from '@btc-embedded/cdk-extensions'
8483
+
8484
+ const applicationLoadBalancerExtensionProps: ApplicationLoadBalancerExtensionProps = { ... }
8485
+ ```
8486
+
8487
+ #### Properties <a name="Properties" id="Properties"></a>
8488
+
8489
+ | **Name** | **Type** | **Description** |
8490
+ | --- | --- | --- |
8491
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.clientScope">clientScope</a></code> | <code>string</code> | *No description.* |
8492
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.securityGroupId">securityGroupId</a></code> | <code>string</code> | *No description.* |
8493
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.userPoolClientSecret">userPoolClientSecret</a></code> | <code>string</code> | *No description.* |
8494
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | *No description.* |
8495
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.healtCheckPath">healtCheckPath</a></code> | <code>string</code> | *No description.* |
8496
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.listener">listener</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationListener</code> | *No description.* |
8497
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.path">path</a></code> | <code>string</code> | *No description.* |
8498
+
8499
+ ---
8500
+
8501
+ ##### `clientScope`<sup>Required</sup> <a name="clientScope" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.clientScope"></a>
8502
+
8503
+ ```typescript
8504
+ public readonly clientScope: string;
8505
+ ```
8506
+
8507
+ - *Type:* string
8508
+
8509
+ ---
8510
+
8511
+ ##### `securityGroupId`<sup>Required</sup> <a name="securityGroupId" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.securityGroupId"></a>
8512
+
8513
+ ```typescript
8514
+ public readonly securityGroupId: string;
8515
+ ```
8516
+
8517
+ - *Type:* string
8518
+
8519
+ ---
8520
+
8521
+ ##### `userPoolClientSecret`<sup>Required</sup> <a name="userPoolClientSecret" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.userPoolClientSecret"></a>
8522
+
8523
+ ```typescript
8524
+ public readonly userPoolClientSecret: string;
8525
+ ```
8526
+
8527
+ - *Type:* string
8528
+
8529
+ ---
8530
+
8531
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.basePlatformStackName"></a>
8532
+
8533
+ ```typescript
8534
+ public readonly basePlatformStackName: string;
8535
+ ```
8536
+
8537
+ - *Type:* string
8538
+
8539
+ ---
8540
+
8541
+ ##### `healtCheckPath`<sup>Optional</sup> <a name="healtCheckPath" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.healtCheckPath"></a>
8542
+
8543
+ ```typescript
8544
+ public readonly healtCheckPath: string;
8545
+ ```
8546
+
8547
+ - *Type:* string
8548
+
8549
+ ---
8550
+
8551
+ ##### `listener`<sup>Optional</sup> <a name="listener" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.listener"></a>
8552
+
8553
+ ```typescript
8554
+ public readonly listener: IApplicationListener;
8555
+ ```
8556
+
8557
+ - *Type:* aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationListener
8558
+
8559
+ ---
8560
+
8561
+ ##### `path`<sup>Optional</sup> <a name="path" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.path"></a>
8562
+
8563
+ ```typescript
8564
+ public readonly path: string;
8565
+ ```
8566
+
8567
+ - *Type:* string
8568
+
8569
+ ---
8570
+
8571
+ ### ApplicationLoadBalancerExtensionPropsV2 <a name="ApplicationLoadBalancerExtensionPropsV2" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2"></a>
8572
+
8573
+ Properties for the ApplicationLoadBalancerExtensionV2.
8574
+
8575
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.Initializer"></a>
8576
+
8577
+ ```typescript
8578
+ import { ApplicationLoadBalancerExtensionPropsV2 } from '@btc-embedded/cdk-extensions'
8579
+
8580
+ const applicationLoadBalancerExtensionPropsV2: ApplicationLoadBalancerExtensionPropsV2 = { ... }
8581
+ ```
8582
+
8583
+ #### Properties <a name="Properties" id="Properties"></a>
8584
+
8585
+ | **Name** | **Type** | **Description** |
8586
+ | --- | --- | --- |
8587
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the platform stack to use for the load balancer. |
8588
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.loadBalancer">loadBalancer</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2">ApplicationLoadBalancerV2</a></code> | The Application Load Balancer to use. |
8589
+
8590
+ ---
8591
+
8592
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.basePlatformStackName"></a>
8593
+
8594
+ ```typescript
8595
+ public readonly basePlatformStackName: string;
8596
+ ```
8597
+
8598
+ - *Type:* string
8599
+
8600
+ The name of the platform stack to use for the load balancer.
8601
+
8602
+ Either this or `loadBalancer` must be provided.
8603
+
8604
+ ---
8605
+
8606
+ ##### `loadBalancer`<sup>Optional</sup> <a name="loadBalancer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.loadBalancer"></a>
8607
+
8608
+ ```typescript
8609
+ public readonly loadBalancer: ApplicationLoadBalancerV2;
8610
+ ```
8611
+
8612
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2">ApplicationLoadBalancerV2</a>
8613
+
8614
+ The Application Load Balancer to use.
8615
+
8616
+ Either this or `platformStackName` must be provided.
8617
+
8618
+ ---
8619
+
8620
+ ### ApplicationLoadBalancerProps <a name="ApplicationLoadBalancerProps" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps"></a>
8621
+
8622
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.Initializer"></a>
8623
+
8624
+ ```typescript
8625
+ import { ApplicationLoadBalancerProps } from '@btc-embedded/cdk-extensions'
8626
+
8627
+ const applicationLoadBalancerProps: ApplicationLoadBalancerProps = { ... }
8628
+ ```
8629
+
8630
+ #### Properties <a name="Properties" id="Properties"></a>
8631
+
8632
+ | **Name** | **Type** | **Description** |
8633
+ | --- | --- | --- |
8634
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.fqdn">fqdn</a></code> | <code>string</code> | *No description.* |
8635
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.hostedZone">hostedZone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | *No description.* |
8636
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPool">userPool</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPool</code> | *No description.* |
8637
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolClient">userPoolClient</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolClient</code> | *No description.* |
8638
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolDomain">userPoolDomain</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolDomain</code> | *No description.* |
8639
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | *No description.* |
8640
+
8641
+ ---
8642
+
8643
+ ##### `fqdn`<sup>Required</sup> <a name="fqdn" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.fqdn"></a>
8644
+
8645
+ ```typescript
8646
+ public readonly fqdn: string;
8647
+ ```
8648
+
8649
+ - *Type:* string
8650
+
8651
+ ---
8652
+
8653
+ ##### `hostedZone`<sup>Required</sup> <a name="hostedZone" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.hostedZone"></a>
8654
+
8655
+ ```typescript
8656
+ public readonly hostedZone: IHostedZone;
8657
+ ```
8658
+
8659
+ - *Type:* aws-cdk-lib.aws_route53.IHostedZone
8660
+
8661
+ ---
8662
+
8663
+ ##### `userPool`<sup>Required</sup> <a name="userPool" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPool"></a>
8664
+
8665
+ ```typescript
8666
+ public readonly userPool: IUserPool;
8667
+ ```
8668
+
8669
+ - *Type:* aws-cdk-lib.aws_cognito.IUserPool
8670
+
8671
+ ---
8672
+
8673
+ ##### `userPoolClient`<sup>Required</sup> <a name="userPoolClient" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolClient"></a>
8674
+
8675
+ ```typescript
8676
+ public readonly userPoolClient: IUserPoolClient;
8677
+ ```
8678
+
8679
+ - *Type:* aws-cdk-lib.aws_cognito.IUserPoolClient
8680
+
8681
+ ---
8682
+
8683
+ ##### `userPoolDomain`<sup>Required</sup> <a name="userPoolDomain" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolDomain"></a>
8684
+
8685
+ ```typescript
8686
+ public readonly userPoolDomain: IUserPoolDomain;
8687
+ ```
8688
+
8689
+ - *Type:* aws-cdk-lib.aws_cognito.IUserPoolDomain
8690
+
8691
+ ---
8692
+
8693
+ ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.vpc"></a>
8694
+
8695
+ ```typescript
8696
+ public readonly vpc: IVpc;
8697
+ ```
8698
+
8699
+ - *Type:* aws-cdk-lib.aws_ec2.IVpc
8700
+
8701
+ ---
8702
+
8703
+ ### ApplicationLoadBalancerPropsV2 <a name="ApplicationLoadBalancerPropsV2" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2"></a>
8704
+
8705
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.Initializer"></a>
8706
+
8707
+ ```typescript
8708
+ import { ApplicationLoadBalancerPropsV2 } from '@btc-embedded/cdk-extensions'
8709
+
8710
+ const applicationLoadBalancerPropsV2: ApplicationLoadBalancerPropsV2 = { ... }
8711
+ ```
8712
+
8713
+ #### Properties <a name="Properties" id="Properties"></a>
8714
+
8715
+ | **Name** | **Type** | **Description** |
8716
+ | --- | --- | --- |
8717
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.healtCheckPath">healtCheckPath</a></code> | <code>string</code> | The health check path for the target group. |
8718
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.hostedZone">hostedZone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | The Route 53 hosted zone where the ALB's DNS record will be created. |
8719
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.trafficPort">trafficPort</a></code> | <code>number</code> | The port on which the target group will receive traffic. |
8720
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.userPool">userPool</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a></code> | The Cognito User Pool of this base platform. |
8721
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | The VPC in which the Application Load Balancer will be deployed. |
8722
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.recordName">recordName</a></code> | <code>string</code> | The domain prefix or record name for configuring the ALB domain. |
8723
+
8724
+ ---
8725
+
8726
+ ##### `healtCheckPath`<sup>Required</sup> <a name="healtCheckPath" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.healtCheckPath"></a>
8727
+
8728
+ ```typescript
8729
+ public readonly healtCheckPath: string;
8730
+ ```
8731
+
8732
+ - *Type:* string
8733
+
8734
+ The health check path for the target group.
8735
+
8736
+ ---
8737
+
8738
+ ##### `hostedZone`<sup>Required</sup> <a name="hostedZone" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.hostedZone"></a>
8739
+
8740
+ ```typescript
8741
+ public readonly hostedZone: IHostedZone;
8742
+ ```
8743
+
8744
+ - *Type:* aws-cdk-lib.aws_route53.IHostedZone
8745
+
8746
+ The Route 53 hosted zone where the ALB's DNS record will be created.
8747
+
8748
+ ---
8749
+
8750
+ ##### `trafficPort`<sup>Required</sup> <a name="trafficPort" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.trafficPort"></a>
8751
+
8752
+ ```typescript
8753
+ public readonly trafficPort: number;
8754
+ ```
8755
+
8756
+ - *Type:* number
8757
+
8758
+ The port on which the target group will receive traffic.
8759
+
8760
+ ---
8761
+
8762
+ ##### `userPool`<sup>Required</sup> <a name="userPool" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.userPool"></a>
8763
+
8764
+ ```typescript
8765
+ public readonly userPool: ICognitoUserPool;
8766
+ ```
8767
+
8768
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a>
8769
+
8770
+ The Cognito User Pool of this base platform.
8771
+
8772
+ ---
8773
+
8774
+ ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.vpc"></a>
8775
+
8776
+ ```typescript
8777
+ public readonly vpc: IVpc;
8778
+ ```
8779
+
8780
+ - *Type:* aws-cdk-lib.aws_ec2.IVpc
8781
+
8782
+ The VPC in which the Application Load Balancer will be deployed.
8783
+
8784
+ ---
8785
+
8786
+ ##### `recordName`<sup>Optional</sup> <a name="recordName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.recordName"></a>
8787
+
8788
+ ```typescript
8789
+ public readonly recordName: string;
8790
+ ```
8791
+
8792
+ - *Type:* string
8071
8793
  - *Default:* zone root
8072
8794
 
8073
8795
  The domain prefix or record name for configuring the ALB domain.
@@ -9484,1368 +10206,1423 @@ ContainerDependencyCondition.SUCCESS and ContainerDependencyCondition.HEALTHY.
9484
10206
 
9485
10207
  ---
9486
10208
 
9487
- ### ContainerProps <a name="ContainerProps" id="@btc-embedded/cdk-extensions.ContainerProps"></a>
10209
+ ### DefaultUserPoolClientsProps <a name="DefaultUserPoolClientsProps" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps"></a>
9488
10210
 
9489
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ContainerProps.Initializer"></a>
10211
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.Initializer"></a>
9490
10212
 
9491
10213
  ```typescript
9492
- import { ContainerProps } from '@btc-embedded/cdk-extensions'
10214
+ import { DefaultUserPoolClientsProps } from '@btc-embedded/cdk-extensions'
9493
10215
 
9494
- const containerProps: ContainerProps = { ... }
10216
+ const defaultUserPoolClientsProps: DefaultUserPoolClientsProps = { ... }
9495
10217
  ```
9496
10218
 
9497
10219
  #### Properties <a name="Properties" id="Properties"></a>
9498
10220
 
9499
10221
  | **Name** | **Type** | **Description** |
9500
10222
  | --- | --- | --- |
9501
- | <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. |
9502
- | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.command">command</a></code> | <code>string[]</code> | The command that is passed to the container. |
9503
- | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.containerName">containerName</a></code> | <code>string</code> | The name of the container. |
9504
- | <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. |
9505
- | <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. |
9506
- | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.disableNetworking">disableNetworking</a></code> | <code>boolean</code> | Specifies whether networking is disabled within the container. |
9507
- | <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. |
9508
- | <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. |
9509
- | <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. |
9510
- | <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. |
9511
- | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.enableRestartPolicy">enableRestartPolicy</a></code> | <code>boolean</code> | Enable a restart policy for a container. |
9512
- | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.entryPoint">entryPoint</a></code> | <code>string[]</code> | The ENTRYPOINT value to pass to the container. |
9513
- | <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. |
9514
- | <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. |
9515
- | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.essential">essential</a></code> | <code>boolean</code> | Specifies whether the container is marked essential. |
9516
- | <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. |
9517
- | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.gpuCount">gpuCount</a></code> | <code>number</code> | The number of GPUs assigned to the container. |
9518
- | <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. |
9519
- | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.hostname">hostname</a></code> | <code>string</code> | The hostname to use for your container. |
9520
- | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.inferenceAcceleratorResources">inferenceAcceleratorResources</a></code> | <code>string[]</code> | The inference accelerators referenced by the container. |
9521
- | <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. |
9522
- | <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. |
9523
- | <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. |
9524
- | <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. |
9525
- | <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. |
9526
- | <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. |
9527
- | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.privileged">privileged</a></code> | <code>boolean</code> | Specifies whether the container is marked as privileged. |
9528
- | <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. |
9529
- | <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. |
9530
- | <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. |
9531
- | <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. |
9532
- | <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. |
9533
- | <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. |
9534
- | <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. |
9535
- | <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. |
9536
- | <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. |
9537
- | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.user">user</a></code> | <code>string</code> | The user to use inside the container. |
9538
- | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.versionConsistency">versionConsistency</a></code> | <code>aws-cdk-lib.aws_ecs.VersionConsistency</code> | Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. |
9539
- | <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. |
9540
- | <code><a href="#@btc-embedded/cdk-extensions.ContainerProps.property.containerDependencies">containerDependencies</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ContainerDependency">ContainerDependency</a>[]</code> | Specify additional container dependencies which should be added after the container has been created in the task definition. |
9541
- | <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. |
9542
-
9543
- ---
9544
-
9545
- ##### `image`<sup>Required</sup> <a name="image" id="@btc-embedded/cdk-extensions.ContainerProps.property.image"></a>
10223
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.fqdn">fqdn</a></code> | <code>string</code> | The fully qualified domain name which the ALB will listen to. |
10224
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.userPool">userPool</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPool</code> | The user pool which should be attached to the clients. |
10225
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.additonalUserPoolIdentityProviders">additonalUserPoolIdentityProviders</a></code> | <code>string[]</code> | Specify additional user pool identity providers to enable federated login. |
10226
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.apiClientOptions">apiClientOptions</a></code> | <code>aws-cdk-lib.aws_cognito.UserPoolClientOptions</code> | Client options for the API client, extending and overwriting the defaults. |
10227
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.callbackUrls">callbackUrls</a></code> | <code>string[]</code> | Specify additional callback URLs which the frontend uses for OIDC authentication. |
10228
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.frontendClientOptions">frontendClientOptions</a></code> | <code>aws-cdk-lib.aws_cognito.UserPoolClientOptions</code> | Client options for the frontend client, extending and overwriting the defaults. |
10229
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.frontendOAuthScopes">frontendOAuthScopes</a></code> | <code>aws-cdk-lib.aws_cognito.OAuthScope[]</code> | Additional OAuth scopes for the frontend. |
10230
+ | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.logoutUrls">logoutUrls</a></code> | <code>string[]</code> | Specify valid logout URLs which should be added to the frontend user pool client. |
10231
+
10232
+ ---
10233
+
10234
+ ##### `fqdn`<sup>Required</sup> <a name="fqdn" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.fqdn"></a>
9546
10235
 
9547
10236
  ```typescript
9548
- public readonly image: ContainerImage;
10237
+ public readonly fqdn: string;
9549
10238
  ```
9550
10239
 
9551
- - *Type:* aws-cdk-lib.aws_ecs.ContainerImage
10240
+ - *Type:* string
9552
10241
 
9553
- The image used to start a container.
10242
+ The fully qualified domain name which the ALB will listen to.
9554
10243
 
9555
- This string is passed directly to the Docker daemon.
9556
- Images in the Docker Hub registry are available by default.
9557
- Other repositories are specified with either repository-url/image:tag or repository-url/image@digest.
9558
- TODO: Update these to specify using classes of IContainerImage
10244
+ This setting is used to configure the correct callback URL for user pool
10245
+ client such that the ALB can perform authentication.
9559
10246
 
9560
10247
  ---
9561
10248
 
9562
- ##### `command`<sup>Optional</sup> <a name="command" id="@btc-embedded/cdk-extensions.ContainerProps.property.command"></a>
10249
+ ##### `userPool`<sup>Required</sup> <a name="userPool" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.userPool"></a>
9563
10250
 
9564
10251
  ```typescript
9565
- public readonly command: string[];
10252
+ public readonly userPool: IUserPool;
10253
+ ```
10254
+
10255
+ - *Type:* aws-cdk-lib.aws_cognito.IUserPool
10256
+
10257
+ The user pool which should be attached to the clients.
10258
+
10259
+ ---
10260
+
10261
+ ##### `additonalUserPoolIdentityProviders`<sup>Optional</sup> <a name="additonalUserPoolIdentityProviders" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.additonalUserPoolIdentityProviders"></a>
10262
+
10263
+ ```typescript
10264
+ public readonly additonalUserPoolIdentityProviders: string[];
9566
10265
  ```
9567
10266
 
9568
10267
  - *Type:* string[]
9569
- - *Default:* CMD value built into container image.
9570
10268
 
9571
- The command that is passed to the container.
10269
+ Specify additional user pool identity providers to enable federated login.
10270
+
10271
+ ---
10272
+
10273
+ ##### `apiClientOptions`<sup>Optional</sup> <a name="apiClientOptions" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.apiClientOptions"></a>
10274
+
10275
+ ```typescript
10276
+ public readonly apiClientOptions: UserPoolClientOptions;
10277
+ ```
10278
+
10279
+ - *Type:* aws-cdk-lib.aws_cognito.UserPoolClientOptions
10280
+
10281
+ Client options for the API client, extending and overwriting the defaults.
10282
+
10283
+ ---
10284
+
10285
+ ##### `callbackUrls`<sup>Optional</sup> <a name="callbackUrls" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.callbackUrls"></a>
10286
+
10287
+ ```typescript
10288
+ public readonly callbackUrls: string[];
10289
+ ```
10290
+
10291
+ - *Type:* string[]
9572
10292
 
9573
- If you provide a shell command as a single string, you have to quote command-line arguments.
10293
+ Specify additional callback URLs which the frontend uses for OIDC authentication.
9574
10294
 
9575
10295
  ---
9576
10296
 
9577
- ##### `containerName`<sup>Optional</sup> <a name="containerName" id="@btc-embedded/cdk-extensions.ContainerProps.property.containerName"></a>
10297
+ ##### `frontendClientOptions`<sup>Optional</sup> <a name="frontendClientOptions" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.frontendClientOptions"></a>
9578
10298
 
9579
10299
  ```typescript
9580
- public readonly containerName: string;
10300
+ public readonly frontendClientOptions: UserPoolClientOptions;
9581
10301
  ```
9582
10302
 
9583
- - *Type:* string
9584
- - *Default:* id of node associated with ContainerDefinition.
10303
+ - *Type:* aws-cdk-lib.aws_cognito.UserPoolClientOptions
9585
10304
 
9586
- The name of the container.
10305
+ Client options for the frontend client, extending and overwriting the defaults.
9587
10306
 
9588
10307
  ---
9589
10308
 
9590
- ##### `cpu`<sup>Optional</sup> <a name="cpu" id="@btc-embedded/cdk-extensions.ContainerProps.property.cpu"></a>
10309
+ ##### `frontendOAuthScopes`<sup>Optional</sup> <a name="frontendOAuthScopes" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.frontendOAuthScopes"></a>
9591
10310
 
9592
10311
  ```typescript
9593
- public readonly cpu: number;
10312
+ public readonly frontendOAuthScopes: OAuthScope[];
9594
10313
  ```
9595
10314
 
9596
- - *Type:* number
9597
- - *Default:* No minimum CPU units reserved.
10315
+ - *Type:* aws-cdk-lib.aws_cognito.OAuthScope[]
9598
10316
 
9599
- The minimum number of CPU units to reserve for the container.
10317
+ Additional OAuth scopes for the frontend.
9600
10318
 
9601
10319
  ---
9602
10320
 
9603
- ##### `credentialSpecs`<sup>Optional</sup> <a name="credentialSpecs" id="@btc-embedded/cdk-extensions.ContainerProps.property.credentialSpecs"></a>
10321
+ ##### `logoutUrls`<sup>Optional</sup> <a name="logoutUrls" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.logoutUrls"></a>
9604
10322
 
9605
10323
  ```typescript
9606
- public readonly credentialSpecs: CredentialSpec[];
10324
+ public readonly logoutUrls: string[];
9607
10325
  ```
9608
10326
 
9609
- - *Type:* aws-cdk-lib.aws_ecs.CredentialSpec[]
9610
- - *Default:* No credential specs.
10327
+ - *Type:* string[]
9611
10328
 
9612
- A list of ARNs in SSM or Amazon S3 to a credential spec (`CredSpec`) file that configures the container for Active Directory authentication.
10329
+ Specify valid logout URLs which should be added to the frontend user pool client.
9613
10330
 
9614
- We recommend that you use this parameter instead of the `dockerSecurityOptions`.
10331
+ ---
9615
10332
 
9616
- Currently, only one credential spec is allowed per container definition.
10333
+ ### DeploymentConfigExtensionProps <a name="DeploymentConfigExtensionProps" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps"></a>
9617
10334
 
9618
- ---
10335
+ Properties for configuring service deployment and capacity provider strategy.
9619
10336
 
9620
- ##### `disableNetworking`<sup>Optional</sup> <a name="disableNetworking" id="@btc-embedded/cdk-extensions.ContainerProps.property.disableNetworking"></a>
10337
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.Initializer"></a>
9621
10338
 
9622
10339
  ```typescript
9623
- public readonly disableNetworking: boolean;
9624
- ```
10340
+ import { DeploymentConfigExtensionProps } from '@btc-embedded/cdk-extensions'
9625
10341
 
9626
- - *Type:* boolean
9627
- - *Default:* false
10342
+ const deploymentConfigExtensionProps: DeploymentConfigExtensionProps = { ... }
10343
+ ```
9628
10344
 
9629
- Specifies whether networking is disabled within the container.
10345
+ #### Properties <a name="Properties" id="Properties"></a>
9630
10346
 
9631
- When this parameter is true, networking is disabled within the container.
10347
+ | **Name** | **Type** | **Description** |
10348
+ | --- | --- | --- |
10349
+ | <code><a href="#@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.capacityProviderBase">capacityProviderBase</a></code> | <code>number</code> | The base value for the FARGATE_SPOT capacity provider. |
10350
+ | <code><a href="#@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.capacityProviderWeight">capacityProviderWeight</a></code> | <code>number</code> | The weight value for the FARGATE_SPOT capacity provider. |
10351
+ | <code><a href="#@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.circuitBreakerRollback">circuitBreakerRollback</a></code> | <code>boolean</code> | Whether the circuit breaker should automatically roll back failed deployments. |
10352
+ | <code><a href="#@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.enableCircuitBreaker">enableCircuitBreaker</a></code> | <code>boolean</code> | Whether to enable the ECS deployment circuit breaker. |
10353
+ | <code><a href="#@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.maxHealthyPercent">maxHealthyPercent</a></code> | <code>number</code> | The maximum healthy percent for the service deployment. |
10354
+ | <code><a href="#@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.minHealthyPercent">minHealthyPercent</a></code> | <code>number</code> | The minimum healthy percent for the service deployment. |
10355
+ | <code><a href="#@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.useFargateSpotInstances">useFargateSpotInstances</a></code> | <code>boolean</code> | Whether to use the cluster's FARGATE_SPOT capacity provider strategy. |
9632
10356
 
9633
10357
  ---
9634
10358
 
9635
- ##### `dnsSearchDomains`<sup>Optional</sup> <a name="dnsSearchDomains" id="@btc-embedded/cdk-extensions.ContainerProps.property.dnsSearchDomains"></a>
10359
+ ##### `capacityProviderBase`<sup>Optional</sup> <a name="capacityProviderBase" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.capacityProviderBase"></a>
9636
10360
 
9637
10361
  ```typescript
9638
- public readonly dnsSearchDomains: string[];
10362
+ public readonly capacityProviderBase: number;
9639
10363
  ```
9640
10364
 
9641
- - *Type:* string[]
9642
- - *Default:* No search domains.
10365
+ - *Type:* number
10366
+ - *Default:* 0
9643
10367
 
9644
- A list of DNS search domains that are presented to the container.
10368
+ The base value for the FARGATE_SPOT capacity provider.
10369
+
10370
+ This is the minimum number of tasks that should use Fargate Spot.
10371
+ Only used when useCapacityProvider is true.
9645
10372
 
9646
10373
  ---
9647
10374
 
9648
- ##### `dnsServers`<sup>Optional</sup> <a name="dnsServers" id="@btc-embedded/cdk-extensions.ContainerProps.property.dnsServers"></a>
10375
+ ##### `capacityProviderWeight`<sup>Optional</sup> <a name="capacityProviderWeight" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.capacityProviderWeight"></a>
9649
10376
 
9650
10377
  ```typescript
9651
- public readonly dnsServers: string[];
10378
+ public readonly capacityProviderWeight: number;
9652
10379
  ```
9653
10380
 
9654
- - *Type:* string[]
9655
- - *Default:* Default DNS servers.
10381
+ - *Type:* number
10382
+ - *Default:* 1
9656
10383
 
9657
- A list of DNS servers that are presented to the container.
10384
+ The weight value for the FARGATE_SPOT capacity provider.
10385
+
10386
+ Higher values mean more tasks will use Fargate Spot.
10387
+ Only used when useCapacityProvider is true.
9658
10388
 
9659
10389
  ---
9660
10390
 
9661
- ##### `dockerLabels`<sup>Optional</sup> <a name="dockerLabels" id="@btc-embedded/cdk-extensions.ContainerProps.property.dockerLabels"></a>
10391
+ ##### `circuitBreakerRollback`<sup>Optional</sup> <a name="circuitBreakerRollback" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.circuitBreakerRollback"></a>
9662
10392
 
9663
10393
  ```typescript
9664
- public readonly dockerLabels: {[ key: string ]: string};
10394
+ public readonly circuitBreakerRollback: boolean;
9665
10395
  ```
9666
10396
 
9667
- - *Type:* {[ key: string ]: string}
9668
- - *Default:* No labels.
10397
+ - *Type:* boolean
10398
+ - *Default:* true (if circuit breaker is enabled)
9669
10399
 
9670
- A key/value map of labels to add to the container.
10400
+ Whether the circuit breaker should automatically roll back failed deployments.
10401
+
10402
+ When enabled, ECS will automatically roll back to the previous task definition
10403
+ if the new deployment fails. Only applies when enableCircuitBreaker is true.
9671
10404
 
9672
10405
  ---
9673
10406
 
9674
- ##### `dockerSecurityOptions`<sup>Optional</sup> <a name="dockerSecurityOptions" id="@btc-embedded/cdk-extensions.ContainerProps.property.dockerSecurityOptions"></a>
10407
+ ##### `enableCircuitBreaker`<sup>Optional</sup> <a name="enableCircuitBreaker" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.enableCircuitBreaker"></a>
9675
10408
 
9676
10409
  ```typescript
9677
- public readonly dockerSecurityOptions: string[];
10410
+ public readonly enableCircuitBreaker: boolean;
9678
10411
  ```
9679
10412
 
9680
- - *Type:* string[]
9681
- - *Default:* No security labels.
10413
+ - *Type:* boolean
10414
+ - *Default:* true
9682
10415
 
9683
- A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems.
10416
+ Whether to enable the ECS deployment circuit breaker.
10417
+
10418
+ The circuit breaker monitors new deployments and automatically rolls back
10419
+ if tasks fail to start or become unhealthy.
9684
10420
 
9685
10421
  ---
9686
10422
 
9687
- ##### `enableRestartPolicy`<sup>Optional</sup> <a name="enableRestartPolicy" id="@btc-embedded/cdk-extensions.ContainerProps.property.enableRestartPolicy"></a>
10423
+ ##### `maxHealthyPercent`<sup>Optional</sup> <a name="maxHealthyPercent" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.maxHealthyPercent"></a>
9688
10424
 
9689
10425
  ```typescript
9690
- public readonly enableRestartPolicy: boolean;
10426
+ public readonly maxHealthyPercent: number;
9691
10427
  ```
9692
10428
 
9693
- - *Type:* boolean
9694
- - *Default:* false unless `restartIgnoredExitCodes` or `restartAttemptPeriod` is set.
9695
-
9696
- Enable a restart policy for a container.
10429
+ - *Type:* number
10430
+ - *Default:* 200
9697
10431
 
9698
- When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task.
10432
+ The maximum healthy percent for the service deployment.
9699
10433
 
9700
- > [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html)
10434
+ Controls how many additional tasks can be started during deployment.
9701
10435
 
9702
10436
  ---
9703
10437
 
9704
- ##### `entryPoint`<sup>Optional</sup> <a name="entryPoint" id="@btc-embedded/cdk-extensions.ContainerProps.property.entryPoint"></a>
10438
+ ##### `minHealthyPercent`<sup>Optional</sup> <a name="minHealthyPercent" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.minHealthyPercent"></a>
9705
10439
 
9706
10440
  ```typescript
9707
- public readonly entryPoint: string[];
10441
+ public readonly minHealthyPercent: number;
9708
10442
  ```
9709
10443
 
9710
- - *Type:* string[]
9711
- - *Default:* Entry point configured in container.
10444
+ - *Type:* number
10445
+ - *Default:* 100
9712
10446
 
9713
- The ENTRYPOINT value to pass to the container.
10447
+ The minimum healthy percent for the service deployment.
9714
10448
 
9715
- > [https://docs.docker.com/engine/reference/builder/#entrypoint](https://docs.docker.com/engine/reference/builder/#entrypoint)
10449
+ Set to 0 to allow all tasks to be replaced at once for faster deployments
10450
+ where service interruption is acceptable.
9716
10451
 
9717
10452
  ---
9718
10453
 
9719
- ##### `environment`<sup>Optional</sup> <a name="environment" id="@btc-embedded/cdk-extensions.ContainerProps.property.environment"></a>
10454
+ ##### `useFargateSpotInstances`<sup>Optional</sup> <a name="useFargateSpotInstances" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.useFargateSpotInstances"></a>
9720
10455
 
9721
10456
  ```typescript
9722
- public readonly environment: {[ key: string ]: string};
10457
+ public readonly useFargateSpotInstances: boolean;
9723
10458
  ```
9724
10459
 
9725
- - *Type:* {[ key: string ]: string}
9726
- - *Default:* No environment variables.
10460
+ - *Type:* boolean
10461
+ - *Default:* false
9727
10462
 
9728
- The environment variables to pass to the container.
10463
+ Whether to use the cluster's FARGATE_SPOT capacity provider strategy.
10464
+
10465
+ When enabled, the service will use the capacity provider strategy
10466
+ configured at the cluster level (e.g., FARGATE_SPOT).
10467
+
10468
+ **Requirements:**
10469
+ - The ECS cluster must have capacity providers enabled
10470
+ (set `enableFargateSpotCapacityProvider: true` in EcsCluster)
9729
10471
 
9730
10472
  ---
9731
10473
 
9732
- ##### `environmentFiles`<sup>Optional</sup> <a name="environmentFiles" id="@btc-embedded/cdk-extensions.ContainerProps.property.environmentFiles"></a>
10474
+ ### DocumentDbAccessExtensionProps <a name="DocumentDbAccessExtensionProps" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps"></a>
10475
+
10476
+ Configuration for {@link DocumentDbAccessExtension}.
10477
+
10478
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.Initializer"></a>
9733
10479
 
9734
10480
  ```typescript
9735
- public readonly environmentFiles: EnvironmentFile[];
9736
- ```
10481
+ import { DocumentDbAccessExtensionProps } from '@btc-embedded/cdk-extensions'
9737
10482
 
9738
- - *Type:* aws-cdk-lib.aws_ecs.EnvironmentFile[]
9739
- - *Default:* No environment files.
10483
+ const documentDbAccessExtensionProps: DocumentDbAccessExtensionProps = { ... }
10484
+ ```
9740
10485
 
9741
- The environment files to pass to the container.
10486
+ #### Properties <a name="Properties" id="Properties"></a>
9742
10487
 
9743
- > [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html)
10488
+ | **Name** | **Type** | **Description** |
10489
+ | --- | --- | --- |
10490
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.securityGroupId">securityGroupId</a></code> | <code>string</code> | ID of the security group associated with the database access path. |
10491
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | Name of the base platform stack to import the shared DocumentDB instance from. |
9744
10492
 
9745
10493
  ---
9746
10494
 
9747
- ##### `essential`<sup>Optional</sup> <a name="essential" id="@btc-embedded/cdk-extensions.ContainerProps.property.essential"></a>
10495
+ ##### `securityGroupId`<sup>Required</sup> <a name="securityGroupId" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.securityGroupId"></a>
9748
10496
 
9749
10497
  ```typescript
9750
- public readonly essential: boolean;
10498
+ public readonly securityGroupId: string;
9751
10499
  ```
9752
10500
 
9753
- - *Type:* boolean
9754
- - *Default:* true
9755
-
9756
- Specifies whether the container is marked essential.
10501
+ - *Type:* string
9757
10502
 
9758
- If the essential parameter of a container is marked as true, and that container fails
9759
- or stops for any reason, all other containers that are part of the task are stopped.
9760
- If the essential parameter of a container is marked as false, then its failure does not
9761
- affect the rest of the containers in a task. All tasks must have at least one essential container.
10503
+ ID of the security group associated with the database access path.
9762
10504
 
9763
- If this parameter is omitted, a container is assumed to be essential.
10505
+ Note: This property is currently not referenced directly by this extension's
10506
+ implementation, but is kept as part of the public contract.
9764
10507
 
9765
10508
  ---
9766
10509
 
9767
- ##### `extraHosts`<sup>Optional</sup> <a name="extraHosts" id="@btc-embedded/cdk-extensions.ContainerProps.property.extraHosts"></a>
10510
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.basePlatformStackName"></a>
9768
10511
 
9769
10512
  ```typescript
9770
- public readonly extraHosts: {[ key: string ]: string};
10513
+ public readonly basePlatformStackName: string;
9771
10514
  ```
9772
10515
 
9773
- - *Type:* {[ key: string ]: string}
9774
- - *Default:* No extra hosts.
10516
+ - *Type:* string
9775
10517
 
9776
- A list of hostnames and IP address mappings to append to the /etc/hosts file on the container.
10518
+ Name of the base platform stack to import the shared DocumentDB instance from.
10519
+
10520
+ This is passed to {@link DocumentDB.fromBasePlatform}.
9777
10521
 
9778
10522
  ---
9779
10523
 
9780
- ##### `gpuCount`<sup>Optional</sup> <a name="gpuCount" id="@btc-embedded/cdk-extensions.ContainerProps.property.gpuCount"></a>
10524
+ ### DocumentDBProps <a name="DocumentDBProps" id="@btc-embedded/cdk-extensions.DocumentDBProps"></a>
10525
+
10526
+ Properties for {@link DocumentDB}.
10527
+
10528
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.DocumentDBProps.Initializer"></a>
9781
10529
 
9782
10530
  ```typescript
9783
- public readonly gpuCount: number;
10531
+ import { DocumentDBProps } from '@btc-embedded/cdk-extensions'
10532
+
10533
+ const documentDBProps: DocumentDBProps = { ... }
9784
10534
  ```
9785
10535
 
9786
- - *Type:* number
9787
- - *Default:* No GPUs assigned.
10536
+ #### Properties <a name="Properties" id="Properties"></a>
9788
10537
 
9789
- The number of GPUs assigned to the container.
10538
+ | **Name** | **Type** | **Description** |
10539
+ | --- | --- | --- |
10540
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps.property.secretName">secretName</a></code> | <code>string</code> | Name of the Secrets Manager secret that stores the DocumentDB master credentials. |
10541
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps.property.stackName">stackName</a></code> | <code>string</code> | Name of the stack this database belongs to. |
10542
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps.property.username">username</a></code> | <code>string</code> | Master username for the DocumentDB cluster. |
10543
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to deploy the DocumentDB cluster into. |
9790
10544
 
9791
10545
  ---
9792
10546
 
9793
- ##### `healthCheck`<sup>Optional</sup> <a name="healthCheck" id="@btc-embedded/cdk-extensions.ContainerProps.property.healthCheck"></a>
10547
+ ##### `secretName`<sup>Required</sup> <a name="secretName" id="@btc-embedded/cdk-extensions.DocumentDBProps.property.secretName"></a>
9794
10548
 
9795
10549
  ```typescript
9796
- public readonly healthCheck: HealthCheck;
10550
+ public readonly secretName: string;
9797
10551
  ```
9798
10552
 
9799
- - *Type:* aws-cdk-lib.aws_ecs.HealthCheck
9800
- - *Default:* Health check configuration from container.
10553
+ - *Type:* string
9801
10554
 
9802
- The health check command and associated configuration parameters for the container.
10555
+ Name of the Secrets Manager secret that stores the DocumentDB master credentials.
9803
10556
 
9804
10557
  ---
9805
10558
 
9806
- ##### `hostname`<sup>Optional</sup> <a name="hostname" id="@btc-embedded/cdk-extensions.ContainerProps.property.hostname"></a>
10559
+ ##### `stackName`<sup>Required</sup> <a name="stackName" id="@btc-embedded/cdk-extensions.DocumentDBProps.property.stackName"></a>
9807
10560
 
9808
10561
  ```typescript
9809
- public readonly hostname: string;
10562
+ public readonly stackName: string;
9810
10563
  ```
9811
10564
 
9812
10565
  - *Type:* string
9813
- - *Default:* Automatic hostname.
9814
10566
 
9815
- The hostname to use for your container.
10567
+ Name of the stack this database belongs to.
10568
+
10569
+ Note: This value is currently not referenced directly by the implementation,
10570
+ but is kept as part of the public contract.
9816
10571
 
9817
10572
  ---
9818
10573
 
9819
- ##### `inferenceAcceleratorResources`<sup>Optional</sup> <a name="inferenceAcceleratorResources" id="@btc-embedded/cdk-extensions.ContainerProps.property.inferenceAcceleratorResources"></a>
10574
+ ##### `username`<sup>Required</sup> <a name="username" id="@btc-embedded/cdk-extensions.DocumentDBProps.property.username"></a>
9820
10575
 
9821
10576
  ```typescript
9822
- public readonly inferenceAcceleratorResources: string[];
10577
+ public readonly username: string;
9823
10578
  ```
9824
10579
 
9825
- - *Type:* string[]
9826
- - *Default:* No inference accelerators assigned.
10580
+ - *Type:* string
9827
10581
 
9828
- The inference accelerators referenced by the container.
10582
+ Master username for the DocumentDB cluster.
9829
10583
 
9830
10584
  ---
9831
10585
 
9832
- ##### `interactive`<sup>Optional</sup> <a name="interactive" id="@btc-embedded/cdk-extensions.ContainerProps.property.interactive"></a>
10586
+ ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.DocumentDBProps.property.vpc"></a>
9833
10587
 
9834
10588
  ```typescript
9835
- public readonly interactive: boolean;
10589
+ public readonly vpc: IVpc;
9836
10590
  ```
9837
10591
 
9838
- - *Type:* boolean
9839
- - *Default:* false
9840
-
9841
- When this parameter is true, you can deploy containerized applications that require stdin or a tty to be allocated.
10592
+ - *Type:* aws-cdk-lib.aws_ec2.IVpc
9842
10593
 
9843
- > [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)
10594
+ VPC to deploy the DocumentDB cluster into.
9844
10595
 
9845
10596
  ---
9846
10597
 
9847
- ##### `linuxParameters`<sup>Optional</sup> <a name="linuxParameters" id="@btc-embedded/cdk-extensions.ContainerProps.property.linuxParameters"></a>
10598
+ ### EcsClusterAttributes <a name="EcsClusterAttributes" id="@btc-embedded/cdk-extensions.EcsClusterAttributes"></a>
10599
+
10600
+ Attributes required to import an existing ECS cluster from another stack.
10601
+
10602
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.EcsClusterAttributes.Initializer"></a>
9848
10603
 
9849
10604
  ```typescript
9850
- public readonly linuxParameters: LinuxParameters;
9851
- ```
10605
+ import { EcsClusterAttributes } from '@btc-embedded/cdk-extensions'
9852
10606
 
9853
- - *Type:* aws-cdk-lib.aws_ecs.LinuxParameters
9854
- - *Default:* No Linux parameters.
10607
+ const ecsClusterAttributes: EcsClusterAttributes = { ... }
10608
+ ```
9855
10609
 
9856
- Linux-specific modifications that are applied to the container, such as Linux kernel capabilities.
10610
+ #### Properties <a name="Properties" id="Properties"></a>
9857
10611
 
9858
- For more information see [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html).
10612
+ | **Name** | **Type** | **Description** |
10613
+ | --- | --- | --- |
10614
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterAttributes.property.vpcId">vpcId</a></code> | <code>string</code> | The ID of the VPC where the ECS cluster is located. |
10615
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterAttributes.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the stack where the ECS cluster is defined. |
9859
10616
 
9860
10617
  ---
9861
10618
 
9862
- ##### `logging`<sup>Optional</sup> <a name="logging" id="@btc-embedded/cdk-extensions.ContainerProps.property.logging"></a>
10619
+ ##### `vpcId`<sup>Required</sup> <a name="vpcId" id="@btc-embedded/cdk-extensions.EcsClusterAttributes.property.vpcId"></a>
9863
10620
 
9864
10621
  ```typescript
9865
- public readonly logging: LogDriver;
10622
+ public readonly vpcId: string;
9866
10623
  ```
9867
10624
 
9868
- - *Type:* aws-cdk-lib.aws_ecs.LogDriver
9869
- - *Default:* Containers use the same logging driver that the Docker daemon uses.
10625
+ - *Type:* string
9870
10626
 
9871
- The log configuration specification for the container.
10627
+ The ID of the VPC where the ECS cluster is located.
10628
+
10629
+ This id used to look
10630
+ up the VPC when importing the cluster.
9872
10631
 
9873
10632
  ---
9874
10633
 
9875
- ##### `memoryLimitMiB`<sup>Optional</sup> <a name="memoryLimitMiB" id="@btc-embedded/cdk-extensions.ContainerProps.property.memoryLimitMiB"></a>
10634
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.EcsClusterAttributes.property.basePlatformStackName"></a>
9876
10635
 
9877
10636
  ```typescript
9878
- public readonly memoryLimitMiB: number;
10637
+ public readonly basePlatformStackName: string;
9879
10638
  ```
9880
10639
 
9881
- - *Type:* number
9882
- - *Default:* No memory limit.
9883
-
9884
- The amount (in MiB) of memory to present to the container.
10640
+ - *Type:* string
9885
10641
 
9886
- If your container attempts to exceed the allocated memory, the container
9887
- is terminated.
10642
+ The name of the stack where the ECS cluster is defined.
9888
10643
 
9889
- At least one of memoryLimitMiB and memoryReservationMiB is required for non-Fargate services.
10644
+ This is usually the
10645
+ base platform stack.
9890
10646
 
9891
10647
  ---
9892
10648
 
9893
- ##### `memoryReservationMiB`<sup>Optional</sup> <a name="memoryReservationMiB" id="@btc-embedded/cdk-extensions.ContainerProps.property.memoryReservationMiB"></a>
10649
+ ### EcsClusterProps <a name="EcsClusterProps" id="@btc-embedded/cdk-extensions.EcsClusterProps"></a>
9894
10650
 
9895
- ```typescript
9896
- public readonly memoryReservationMiB: number;
9897
- ```
10651
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.EcsClusterProps.Initializer"></a>
9898
10652
 
9899
- - *Type:* number
9900
- - *Default:* No memory reserved.
10653
+ ```typescript
10654
+ import { EcsClusterProps } from '@btc-embedded/cdk-extensions'
9901
10655
 
9902
- The soft limit (in MiB) of memory to reserve for the container.
10656
+ const ecsClusterProps: EcsClusterProps = { ... }
10657
+ ```
9903
10658
 
9904
- When system memory is under heavy contention, Docker attempts to keep the
9905
- container memory to this soft limit. However, your container can consume more
9906
- memory when it needs to, up to either the hard limit specified with the memory
9907
- parameter (if applicable), or all of the available memory on the container
9908
- instance, whichever comes first.
10659
+ #### Properties <a name="Properties" id="Properties"></a>
9909
10660
 
9910
- At least one of memoryLimitMiB and memoryReservationMiB is required for non-Fargate services.
10661
+ | **Name** | **Type** | **Description** |
10662
+ | --- | --- | --- |
10663
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | The VPC in which to create the ECS cluster. |
10664
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterProps.property.capacityProvidersBase">capacityProvidersBase</a></code> | <code>number</code> | The base value for the capacity provider strategy. |
10665
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterProps.property.capacityProvidersWeight">capacityProvidersWeight</a></code> | <code>number</code> | The weight value for the capacity provider strategy. |
10666
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterProps.property.createKmsExecCommandKey">createKmsExecCommandKey</a></code> | <code>boolean</code> | Whether to create a KMS key for execute command encryption. |
10667
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterProps.property.enableFargateSpotCapacityProvider">enableFargateSpotCapacityProvider</a></code> | <code>boolean</code> | Whether to enable Fargate Spot capacity provider. |
9911
10668
 
9912
10669
  ---
9913
10670
 
9914
- ##### `portMappings`<sup>Optional</sup> <a name="portMappings" id="@btc-embedded/cdk-extensions.ContainerProps.property.portMappings"></a>
10671
+ ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.EcsClusterProps.property.vpc"></a>
9915
10672
 
9916
10673
  ```typescript
9917
- public readonly portMappings: PortMapping[];
10674
+ public readonly vpc: IVpc;
9918
10675
  ```
9919
10676
 
9920
- - *Type:* aws-cdk-lib.aws_ecs.PortMapping[]
9921
- - *Default:* No ports are mapped.
10677
+ - *Type:* aws-cdk-lib.aws_ec2.IVpc
9922
10678
 
9923
- The port mappings to add to the container definition.
10679
+ The VPC in which to create the ECS cluster.
9924
10680
 
9925
10681
  ---
9926
10682
 
9927
- ##### `privileged`<sup>Optional</sup> <a name="privileged" id="@btc-embedded/cdk-extensions.ContainerProps.property.privileged"></a>
10683
+ ##### `capacityProvidersBase`<sup>Optional</sup> <a name="capacityProvidersBase" id="@btc-embedded/cdk-extensions.EcsClusterProps.property.capacityProvidersBase"></a>
9928
10684
 
9929
10685
  ```typescript
9930
- public readonly privileged: boolean;
10686
+ public readonly capacityProvidersBase: number;
9931
10687
  ```
9932
10688
 
9933
- - *Type:* boolean
9934
- - *Default:* false
9935
-
9936
- Specifies whether the container is marked as privileged.
10689
+ - *Type:* number
9937
10690
 
9938
- When this parameter is true, the container is given elevated privileges on the host container instance (similar to the root user).
10691
+ The base value for the capacity provider strategy.
9939
10692
 
9940
10693
  ---
9941
10694
 
9942
- ##### `pseudoTerminal`<sup>Optional</sup> <a name="pseudoTerminal" id="@btc-embedded/cdk-extensions.ContainerProps.property.pseudoTerminal"></a>
10695
+ ##### `capacityProvidersWeight`<sup>Optional</sup> <a name="capacityProvidersWeight" id="@btc-embedded/cdk-extensions.EcsClusterProps.property.capacityProvidersWeight"></a>
9943
10696
 
9944
10697
  ```typescript
9945
- public readonly pseudoTerminal: boolean;
10698
+ public readonly capacityProvidersWeight: number;
9946
10699
  ```
9947
10700
 
9948
- - *Type:* boolean
9949
- - *Default:* false
9950
-
9951
- When this parameter is true, a TTY is allocated.
9952
-
9953
- This parameter maps to Tty in the "Create a container section" of the
9954
- Docker Remote API and the --tty option to `docker run`.
10701
+ - *Type:* number
9955
10702
 
9956
- > [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)
10703
+ The weight value for the capacity provider strategy.
9957
10704
 
9958
10705
  ---
9959
10706
 
9960
- ##### `readonlyRootFilesystem`<sup>Optional</sup> <a name="readonlyRootFilesystem" id="@btc-embedded/cdk-extensions.ContainerProps.property.readonlyRootFilesystem"></a>
10707
+ ##### `createKmsExecCommandKey`<sup>Optional</sup> <a name="createKmsExecCommandKey" id="@btc-embedded/cdk-extensions.EcsClusterProps.property.createKmsExecCommandKey"></a>
9961
10708
 
9962
10709
  ```typescript
9963
- public readonly readonlyRootFilesystem: boolean;
10710
+ public readonly createKmsExecCommandKey: boolean;
9964
10711
  ```
9965
10712
 
9966
10713
  - *Type:* boolean
9967
- - *Default:* false
9968
10714
 
9969
- When this parameter is true, the container is given read-only access to its root file system.
10715
+ Whether to create a KMS key for execute command encryption.
9970
10716
 
9971
10717
  ---
9972
10718
 
9973
- ##### `restartAttemptPeriod`<sup>Optional</sup> <a name="restartAttemptPeriod" id="@btc-embedded/cdk-extensions.ContainerProps.property.restartAttemptPeriod"></a>
10719
+ ##### `enableFargateSpotCapacityProvider`<sup>Optional</sup> <a name="enableFargateSpotCapacityProvider" id="@btc-embedded/cdk-extensions.EcsClusterProps.property.enableFargateSpotCapacityProvider"></a>
9974
10720
 
9975
10721
  ```typescript
9976
- public readonly restartAttemptPeriod: Duration;
10722
+ public readonly enableFargateSpotCapacityProvider: boolean;
9977
10723
  ```
9978
10724
 
9979
- - *Type:* aws-cdk-lib.Duration
9980
- - *Default:* Duration.seconds(300) if `enableRestartPolicy` is true, otherwise no period.
9981
-
9982
- A period of time that the container must run for before a restart can be attempted.
10725
+ - *Type:* boolean
9983
10726
 
9984
- A container can be restarted only once every `restartAttemptPeriod` seconds.
9985
- If a container isn't able to run for this time period and exits early, it will not be restarted.
10727
+ Whether to enable Fargate Spot capacity provider.
9986
10728
 
9987
- This property can't be used if `enableRestartPolicy` is set to false.
10729
+ ---
9988
10730
 
9989
- You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod`
9990
- of 1800 seconds.
10731
+ ### EfsFileSystemLookupOptions <a name="EfsFileSystemLookupOptions" id="@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions"></a>
9991
10732
 
9992
- ---
10733
+ Lookup options for importing a filesystem from the base stack.
9993
10734
 
9994
- ##### `restartIgnoredExitCodes`<sup>Optional</sup> <a name="restartIgnoredExitCodes" id="@btc-embedded/cdk-extensions.ContainerProps.property.restartIgnoredExitCodes"></a>
10735
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions.Initializer"></a>
9995
10736
 
9996
10737
  ```typescript
9997
- public readonly restartIgnoredExitCodes: number[];
9998
- ```
9999
-
10000
- - *Type:* number[]
10001
- - *Default:* No exit codes are ignored.
10738
+ import { EfsFileSystemLookupOptions } from '@btc-embedded/cdk-extensions'
10002
10739
 
10003
- A list of exit codes that Amazon ECS will ignore and not attempt a restart on.
10740
+ const efsFileSystemLookupOptions: EfsFileSystemLookupOptions = { ... }
10741
+ ```
10004
10742
 
10005
- This property can't be used if `enableRestartPolicy` is set to false.
10743
+ #### Properties <a name="Properties" id="Properties"></a>
10006
10744
 
10007
- You can specify a maximum of 50 container exit codes.
10745
+ | **Name** | **Type** | **Description** |
10746
+ | --- | --- | --- |
10747
+ | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions.property.filesystemName">filesystemName</a></code> | <code>string</code> | The name of the filesystem to be imported. |
10748
+ | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the base platform stack. |
10008
10749
 
10009
10750
  ---
10010
10751
 
10011
- ##### `secrets`<sup>Optional</sup> <a name="secrets" id="@btc-embedded/cdk-extensions.ContainerProps.property.secrets"></a>
10752
+ ##### `filesystemName`<sup>Required</sup> <a name="filesystemName" id="@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions.property.filesystemName"></a>
10012
10753
 
10013
10754
  ```typescript
10014
- public readonly secrets: {[ key: string ]: Secret};
10755
+ public readonly filesystemName: string;
10015
10756
  ```
10016
10757
 
10017
- - *Type:* {[ key: string ]: aws-cdk-lib.aws_ecs.Secret}
10018
- - *Default:* No secret environment variables.
10758
+ - *Type:* string
10019
10759
 
10020
- The secret environment variables to pass to the container.
10760
+ The name of the filesystem to be imported.
10021
10761
 
10022
10762
  ---
10023
10763
 
10024
- ##### `startTimeout`<sup>Optional</sup> <a name="startTimeout" id="@btc-embedded/cdk-extensions.ContainerProps.property.startTimeout"></a>
10764
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions.property.basePlatformStackName"></a>
10025
10765
 
10026
10766
  ```typescript
10027
- public readonly startTimeout: Duration;
10767
+ public readonly basePlatformStackName: string;
10028
10768
  ```
10029
10769
 
10030
- - *Type:* aws-cdk-lib.Duration
10031
- - *Default:* none
10770
+ - *Type:* string
10032
10771
 
10033
- Time duration (in seconds) to wait before giving up on resolving dependencies for a container.
10772
+ The name of the base platform stack.
10034
10773
 
10035
10774
  ---
10036
10775
 
10037
- ##### `stopTimeout`<sup>Optional</sup> <a name="stopTimeout" id="@btc-embedded/cdk-extensions.ContainerProps.property.stopTimeout"></a>
10776
+ ### EfsFileSystemProps <a name="EfsFileSystemProps" id="@btc-embedded/cdk-extensions.EfsFileSystemProps"></a>
10777
+
10778
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.EfsFileSystemProps.Initializer"></a>
10038
10779
 
10039
10780
  ```typescript
10040
- public readonly stopTimeout: Duration;
10781
+ import { EfsFileSystemProps } from '@btc-embedded/cdk-extensions'
10782
+
10783
+ const efsFileSystemProps: EfsFileSystemProps = { ... }
10041
10784
  ```
10042
10785
 
10043
- - *Type:* aws-cdk-lib.Duration
10044
- - *Default:* none
10786
+ #### Properties <a name="Properties" id="Properties"></a>
10045
10787
 
10046
- Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own.
10788
+ | **Name** | **Type** | **Description** |
10789
+ | --- | --- | --- |
10790
+ | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystemProps.property.name">name</a></code> | <code>string</code> | The name to be used for the filesystem. |
10791
+ | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystemProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | The VPC to be used. |
10792
+ | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystemProps.property.automaticBackups">automaticBackups</a></code> | <code>boolean</code> | Enable automatic backups. |
10793
+ | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystemProps.property.removalPolicy">removalPolicy</a></code> | <code>aws-cdk-lib.RemovalPolicy</code> | Removal policy. |
10047
10794
 
10048
10795
  ---
10049
10796
 
10050
- ##### `systemControls`<sup>Optional</sup> <a name="systemControls" id="@btc-embedded/cdk-extensions.ContainerProps.property.systemControls"></a>
10797
+ ##### `name`<sup>Required</sup> <a name="name" id="@btc-embedded/cdk-extensions.EfsFileSystemProps.property.name"></a>
10051
10798
 
10052
10799
  ```typescript
10053
- public readonly systemControls: SystemControl[];
10800
+ public readonly name: string;
10054
10801
  ```
10055
10802
 
10056
- - *Type:* aws-cdk-lib.aws_ecs.SystemControl[]
10057
- - *Default:* No system controls are set.
10803
+ - *Type:* string
10058
10804
 
10059
- A list of namespaced kernel parameters to set in the container.
10805
+ The name to be used for the filesystem.
10060
10806
 
10061
- > [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)
10807
+ Has to be unique in the stack.
10808
+ Is also used for importing the filesystem from another stack.
10062
10809
 
10063
10810
  ---
10064
10811
 
10065
- ##### `ulimits`<sup>Optional</sup> <a name="ulimits" id="@btc-embedded/cdk-extensions.ContainerProps.property.ulimits"></a>
10812
+ ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.EfsFileSystemProps.property.vpc"></a>
10066
10813
 
10067
10814
  ```typescript
10068
- public readonly ulimits: Ulimit[];
10815
+ public readonly vpc: IVpc;
10069
10816
  ```
10070
10817
 
10071
- - *Type:* aws-cdk-lib.aws_ecs.Ulimit[]
10818
+ - *Type:* aws-cdk-lib.aws_ec2.IVpc
10072
10819
 
10073
- An array of ulimits to set in the container.
10820
+ The VPC to be used.
10074
10821
 
10075
10822
  ---
10076
10823
 
10077
- ##### `user`<sup>Optional</sup> <a name="user" id="@btc-embedded/cdk-extensions.ContainerProps.property.user"></a>
10824
+ ##### `automaticBackups`<sup>Optional</sup> <a name="automaticBackups" id="@btc-embedded/cdk-extensions.EfsFileSystemProps.property.automaticBackups"></a>
10078
10825
 
10079
10826
  ```typescript
10080
- public readonly user: string;
10827
+ public readonly automaticBackups: boolean;
10081
10828
  ```
10082
10829
 
10083
- - *Type:* string
10084
- - *Default:* root
10085
-
10086
- The user to use inside the container.
10830
+ - *Type:* boolean
10087
10831
 
10088
- This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.
10832
+ Enable automatic backups.
10089
10833
 
10090
- > [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)
10834
+ Default: `false`.
10091
10835
 
10092
10836
  ---
10093
10837
 
10094
- ##### `versionConsistency`<sup>Optional</sup> <a name="versionConsistency" id="@btc-embedded/cdk-extensions.ContainerProps.property.versionConsistency"></a>
10838
+ ##### `removalPolicy`<sup>Optional</sup> <a name="removalPolicy" id="@btc-embedded/cdk-extensions.EfsFileSystemProps.property.removalPolicy"></a>
10095
10839
 
10096
10840
  ```typescript
10097
- public readonly versionConsistency: VersionConsistency;
10841
+ public readonly removalPolicy: RemovalPolicy;
10098
10842
  ```
10099
10843
 
10100
- - *Type:* aws-cdk-lib.aws_ecs.VersionConsistency
10101
- - *Default:* VersionConsistency.DISABLED if `image` is a CDK asset, VersionConsistency.ENABLED otherwise
10102
-
10103
- Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest.
10844
+ - *Type:* aws-cdk-lib.RemovalPolicy
10104
10845
 
10105
- If you set the value for a container as disabled, Amazon ECS will
10106
- not resolve the provided container image tag to a digest and will use the
10107
- original image URI specified in the container definition for deployment.
10846
+ Removal policy.
10108
10847
 
10109
- > [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-versionconsistency](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-versionconsistency)
10848
+ Default: {@link RemovalPolicy.DESTROY}.
10110
10849
 
10111
10850
  ---
10112
10851
 
10113
- ##### `workingDirectory`<sup>Optional</sup> <a name="workingDirectory" id="@btc-embedded/cdk-extensions.ContainerProps.property.workingDirectory"></a>
10852
+ ### EfsMountExtensionProperties <a name="EfsMountExtensionProperties" id="@btc-embedded/cdk-extensions.EfsMountExtensionProperties"></a>
10853
+
10854
+ EFS extension properties.
10855
+
10856
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.EfsMountExtensionProperties.Initializer"></a>
10114
10857
 
10115
10858
  ```typescript
10116
- public readonly workingDirectory: string;
10859
+ import { EfsMountExtensionProperties } from '@btc-embedded/cdk-extensions'
10860
+
10861
+ const efsMountExtensionProperties: EfsMountExtensionProperties = { ... }
10117
10862
  ```
10118
10863
 
10119
- - *Type:* string
10120
- - *Default:* /
10864
+ #### Properties <a name="Properties" id="Properties"></a>
10121
10865
 
10122
- The working directory in which to run commands inside the container.
10866
+ | **Name** | **Type** | **Description** |
10867
+ | --- | --- | --- |
10868
+ | <code><a href="#@btc-embedded/cdk-extensions.EfsMountExtensionProperties.property.accessMode">accessMode</a></code> | <code><a href="#@btc-embedded/cdk-extensions.EfsAccessMode">EfsAccessMode</a></code> | The access mode for the filesystem for this service. |
10869
+ | <code><a href="#@btc-embedded/cdk-extensions.EfsMountExtensionProperties.property.filesystem">filesystem</a></code> | <code><a href="#@btc-embedded/cdk-extensions.IEfsFileSystem">IEfsFileSystem</a></code> | The filesystem to be mounted. |
10870
+ | <code><a href="#@btc-embedded/cdk-extensions.EfsMountExtensionProperties.property.path">path</a></code> | <code>string</code> | The path to mount the EFS to. |
10123
10871
 
10124
10872
  ---
10125
10873
 
10126
- ##### `containerDependencies`<sup>Optional</sup> <a name="containerDependencies" id="@btc-embedded/cdk-extensions.ContainerProps.property.containerDependencies"></a>
10874
+ ##### `accessMode`<sup>Required</sup> <a name="accessMode" id="@btc-embedded/cdk-extensions.EfsMountExtensionProperties.property.accessMode"></a>
10127
10875
 
10128
10876
  ```typescript
10129
- public readonly containerDependencies: ContainerDependency[];
10877
+ public readonly accessMode: EfsAccessMode;
10130
10878
  ```
10131
10879
 
10132
- - *Type:* <a href="#@btc-embedded/cdk-extensions.ContainerDependency">ContainerDependency</a>[]
10880
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.EfsAccessMode">EfsAccessMode</a>
10133
10881
 
10134
- Specify additional container dependencies which should be added after the container has been created in the task definition.
10882
+ The access mode for the filesystem for this service.
10135
10883
 
10136
10884
  ---
10137
10885
 
10138
- ##### `logGroup`<sup>Optional</sup> <a name="logGroup" id="@btc-embedded/cdk-extensions.ContainerProps.property.logGroup"></a>
10886
+ ##### `filesystem`<sup>Required</sup> <a name="filesystem" id="@btc-embedded/cdk-extensions.EfsMountExtensionProperties.property.filesystem"></a>
10139
10887
 
10140
10888
  ```typescript
10141
- public readonly logGroup: ILogGroup;
10889
+ public readonly filesystem: IEfsFileSystem;
10142
10890
  ```
10143
10891
 
10144
- - *Type:* aws-cdk-lib.aws_logs.ILogGroup
10145
- - *Default:* A log group is automatically created for you if the `ECS_SERVICE_EXTENSIONS_ENABLE_DEFAULT_LOG_DRIVER` feature flag is set.
10892
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.IEfsFileSystem">IEfsFileSystem</a>
10146
10893
 
10147
- The log group into which application container logs should be routed.
10894
+ The filesystem to be mounted.
10148
10895
 
10149
10896
  ---
10150
10897
 
10151
- ### DefaultUserPoolClientsProps <a name="DefaultUserPoolClientsProps" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps"></a>
10152
-
10153
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.Initializer"></a>
10898
+ ##### `path`<sup>Required</sup> <a name="path" id="@btc-embedded/cdk-extensions.EfsMountExtensionProperties.property.path"></a>
10154
10899
 
10155
10900
  ```typescript
10156
- import { DefaultUserPoolClientsProps } from '@btc-embedded/cdk-extensions'
10157
-
10158
- const defaultUserPoolClientsProps: DefaultUserPoolClientsProps = { ... }
10901
+ public readonly path: string;
10159
10902
  ```
10160
10903
 
10161
- #### Properties <a name="Properties" id="Properties"></a>
10162
-
10163
- | **Name** | **Type** | **Description** |
10164
- | --- | --- | --- |
10165
- | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.fqdn">fqdn</a></code> | <code>string</code> | The fully qualified domain name which the ALB will listen to. |
10166
- | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.userPool">userPool</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPool</code> | The user pool which should be attached to the clients. |
10167
- | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.additonalUserPoolIdentityProviders">additonalUserPoolIdentityProviders</a></code> | <code>string[]</code> | Specify additional user pool identity providers to enable federated login. |
10168
- | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.apiClientOptions">apiClientOptions</a></code> | <code>aws-cdk-lib.aws_cognito.UserPoolClientOptions</code> | Client options for the API client, extending and overwriting the defaults. |
10169
- | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.callbackUrls">callbackUrls</a></code> | <code>string[]</code> | Specify additional callback URLs which the frontend uses for OIDC authentication. |
10170
- | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.frontendClientOptions">frontendClientOptions</a></code> | <code>aws-cdk-lib.aws_cognito.UserPoolClientOptions</code> | Client options for the frontend client, extending and overwriting the defaults. |
10171
- | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.frontendOAuthScopes">frontendOAuthScopes</a></code> | <code>aws-cdk-lib.aws_cognito.OAuthScope[]</code> | Additional OAuth scopes for the frontend. |
10172
- | <code><a href="#@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.logoutUrls">logoutUrls</a></code> | <code>string[]</code> | Specify valid logout URLs which should be added to the frontend user pool client. |
10904
+ - *Type:* string
10905
+
10906
+ The path to mount the EFS to.
10173
10907
 
10174
10908
  ---
10175
10909
 
10176
- ##### `fqdn`<sup>Required</sup> <a name="fqdn" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.fqdn"></a>
10910
+ ### EnhancedContainerProps <a name="EnhancedContainerProps" id="@btc-embedded/cdk-extensions.EnhancedContainerProps"></a>
10177
10911
 
10178
- ```typescript
10179
- public readonly fqdn: string;
10180
- ```
10912
+ Enhanced container properties that combine the required props from Container with all options from ContainerDefinitionOptions.
10181
10913
 
10182
- - *Type:* string
10914
+ This interface is used by both ApplicationContainer and ExtraContainerExtension
10915
+ to provide a consistent API for container configuration.
10183
10916
 
10184
- The fully qualified domain name which the ALB will listen to.
10917
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.Initializer"></a>
10185
10918
 
10186
- This setting is used to configure the correct callback URL for user pool
10187
- client such that the ALB can perform authentication.
10919
+ ```typescript
10920
+ import { EnhancedContainerProps } from '@btc-embedded/cdk-extensions'
10188
10921
 
10189
- ---
10922
+ const enhancedContainerProps: EnhancedContainerProps = { ... }
10923
+ ```
10190
10924
 
10191
- ##### `userPool`<sup>Required</sup> <a name="userPool" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.userPool"></a>
10925
+ #### Properties <a name="Properties" id="Properties"></a>
10926
+
10927
+ | **Name** | **Type** | **Description** |
10928
+ | --- | --- | --- |
10929
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.image">image</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerImage</code> | The image used to start a container. |
10930
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.command">command</a></code> | <code>string[]</code> | The command that is passed to the container. |
10931
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.containerName">containerName</a></code> | <code>string</code> | The name of the container. |
10932
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.cpu">cpu</a></code> | <code>number</code> | The minimum number of CPU units to reserve for the container. |
10933
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.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. |
10934
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.disableNetworking">disableNetworking</a></code> | <code>boolean</code> | Specifies whether networking is disabled within the container. |
10935
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.dnsSearchDomains">dnsSearchDomains</a></code> | <code>string[]</code> | A list of DNS search domains that are presented to the container. |
10936
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.dnsServers">dnsServers</a></code> | <code>string[]</code> | A list of DNS servers that are presented to the container. |
10937
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.dockerLabels">dockerLabels</a></code> | <code>{[ key: string ]: string}</code> | A key/value map of labels to add to the container. |
10938
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.dockerSecurityOptions">dockerSecurityOptions</a></code> | <code>string[]</code> | A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems. |
10939
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.enableRestartPolicy">enableRestartPolicy</a></code> | <code>boolean</code> | Enable a restart policy for a container. |
10940
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.entryPoint">entryPoint</a></code> | <code>string[]</code> | The ENTRYPOINT value to pass to the container. |
10941
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.environment">environment</a></code> | <code>{[ key: string ]: string}</code> | The environment variables to pass to the container. |
10942
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.environmentFiles">environmentFiles</a></code> | <code>aws-cdk-lib.aws_ecs.EnvironmentFile[]</code> | The environment files to pass to the container. |
10943
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.essential">essential</a></code> | <code>boolean</code> | Specifies whether the container is marked essential. |
10944
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.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. |
10945
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.gpuCount">gpuCount</a></code> | <code>number</code> | The number of GPUs assigned to the container. |
10946
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.healthCheck">healthCheck</a></code> | <code>aws-cdk-lib.aws_ecs.HealthCheck</code> | The health check command and associated configuration parameters for the container. |
10947
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.hostname">hostname</a></code> | <code>string</code> | The hostname to use for your container. |
10948
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.inferenceAcceleratorResources">inferenceAcceleratorResources</a></code> | <code>string[]</code> | The inference accelerators referenced by the container. |
10949
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.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. |
10950
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.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. |
10951
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.logging">logging</a></code> | <code>aws-cdk-lib.aws_ecs.LogDriver</code> | The log configuration specification for the container. |
10952
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.memoryLimitMiB">memoryLimitMiB</a></code> | <code>number</code> | The amount (in MiB) of memory to present to the container. |
10953
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.memoryReservationMiB">memoryReservationMiB</a></code> | <code>number</code> | The soft limit (in MiB) of memory to reserve for the container. |
10954
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.portMappings">portMappings</a></code> | <code>aws-cdk-lib.aws_ecs.PortMapping[]</code> | The port mappings to add to the container definition. |
10955
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.privileged">privileged</a></code> | <code>boolean</code> | Specifies whether the container is marked as privileged. |
10956
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.pseudoTerminal">pseudoTerminal</a></code> | <code>boolean</code> | When this parameter is true, a TTY is allocated. |
10957
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.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. |
10958
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.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. |
10959
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.restartIgnoredExitCodes">restartIgnoredExitCodes</a></code> | <code>number[]</code> | A list of exit codes that Amazon ECS will ignore and not attempt a restart on. |
10960
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.secrets">secrets</a></code> | <code>{[ key: string ]: aws-cdk-lib.aws_ecs.Secret}</code> | The secret environment variables to pass to the container. |
10961
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.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. |
10962
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.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. |
10963
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.systemControls">systemControls</a></code> | <code>aws-cdk-lib.aws_ecs.SystemControl[]</code> | A list of namespaced kernel parameters to set in the container. |
10964
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.ulimits">ulimits</a></code> | <code>aws-cdk-lib.aws_ecs.Ulimit[]</code> | An array of ulimits to set in the container. |
10965
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.user">user</a></code> | <code>string</code> | The user to use inside the container. |
10966
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.versionConsistency">versionConsistency</a></code> | <code>aws-cdk-lib.aws_ecs.VersionConsistency</code> | Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. |
10967
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.workingDirectory">workingDirectory</a></code> | <code>string</code> | The working directory in which to run commands inside the container. |
10968
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.containerDependencies">containerDependencies</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ContainerDependency">ContainerDependency</a>[]</code> | Container dependencies (used by ExtraContainerExtension). |
10969
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.healthCheckEndpoint">healthCheckEndpoint</a></code> | <code>string</code> | Simplified health check - just specify the HTTP endpoint path. |
10970
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | The log group into which application container logs should be routed. |
10971
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.memoryMiB">memoryMiB</a></code> | <code>number</code> | How much memory in megabytes the container requires. |
10972
+ | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps.property.trafficPort">trafficPort</a></code> | <code>number</code> | What port the image listens for traffic on. |
10973
+
10974
+ ---
10975
+
10976
+ ##### `image`<sup>Required</sup> <a name="image" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.image"></a>
10192
10977
 
10193
10978
  ```typescript
10194
- public readonly userPool: IUserPool;
10979
+ public readonly image: ContainerImage;
10195
10980
  ```
10196
10981
 
10197
- - *Type:* aws-cdk-lib.aws_cognito.IUserPool
10982
+ - *Type:* aws-cdk-lib.aws_ecs.ContainerImage
10198
10983
 
10199
- The user pool which should be attached to the clients.
10984
+ The image used to start a container.
10985
+
10986
+ This string is passed directly to the Docker daemon.
10987
+ Images in the Docker Hub registry are available by default.
10988
+ Other repositories are specified with either repository-url/image:tag or repository-url/image@digest.
10989
+ TODO: Update these to specify using classes of IContainerImage
10200
10990
 
10201
10991
  ---
10202
10992
 
10203
- ##### `additonalUserPoolIdentityProviders`<sup>Optional</sup> <a name="additonalUserPoolIdentityProviders" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.additonalUserPoolIdentityProviders"></a>
10993
+ ##### `command`<sup>Optional</sup> <a name="command" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.command"></a>
10204
10994
 
10205
10995
  ```typescript
10206
- public readonly additonalUserPoolIdentityProviders: string[];
10996
+ public readonly command: string[];
10207
10997
  ```
10208
10998
 
10209
10999
  - *Type:* string[]
11000
+ - *Default:* CMD value built into container image.
10210
11001
 
10211
- Specify additional user pool identity providers to enable federated login.
11002
+ The command that is passed to the container.
11003
+
11004
+ If you provide a shell command as a single string, you have to quote command-line arguments.
10212
11005
 
10213
11006
  ---
10214
11007
 
10215
- ##### `apiClientOptions`<sup>Optional</sup> <a name="apiClientOptions" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.apiClientOptions"></a>
11008
+ ##### `containerName`<sup>Optional</sup> <a name="containerName" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.containerName"></a>
10216
11009
 
10217
11010
  ```typescript
10218
- public readonly apiClientOptions: UserPoolClientOptions;
11011
+ public readonly containerName: string;
10219
11012
  ```
10220
11013
 
10221
- - *Type:* aws-cdk-lib.aws_cognito.UserPoolClientOptions
11014
+ - *Type:* string
11015
+ - *Default:* id of node associated with ContainerDefinition.
10222
11016
 
10223
- Client options for the API client, extending and overwriting the defaults.
11017
+ The name of the container.
10224
11018
 
10225
11019
  ---
10226
11020
 
10227
- ##### `callbackUrls`<sup>Optional</sup> <a name="callbackUrls" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.callbackUrls"></a>
11021
+ ##### `cpu`<sup>Optional</sup> <a name="cpu" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.cpu"></a>
10228
11022
 
10229
11023
  ```typescript
10230
- public readonly callbackUrls: string[];
11024
+ public readonly cpu: number;
10231
11025
  ```
10232
11026
 
10233
- - *Type:* string[]
11027
+ - *Type:* number
11028
+ - *Default:* No minimum CPU units reserved.
10234
11029
 
10235
- Specify additional callback URLs which the frontend uses for OIDC authentication.
11030
+ The minimum number of CPU units to reserve for the container.
10236
11031
 
10237
11032
  ---
10238
11033
 
10239
- ##### `frontendClientOptions`<sup>Optional</sup> <a name="frontendClientOptions" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.frontendClientOptions"></a>
11034
+ ##### `credentialSpecs`<sup>Optional</sup> <a name="credentialSpecs" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.credentialSpecs"></a>
10240
11035
 
10241
11036
  ```typescript
10242
- public readonly frontendClientOptions: UserPoolClientOptions;
11037
+ public readonly credentialSpecs: CredentialSpec[];
10243
11038
  ```
10244
11039
 
10245
- - *Type:* aws-cdk-lib.aws_cognito.UserPoolClientOptions
11040
+ - *Type:* aws-cdk-lib.aws_ecs.CredentialSpec[]
11041
+ - *Default:* No credential specs.
10246
11042
 
10247
- Client options for the frontend client, extending and overwriting the defaults.
11043
+ A list of ARNs in SSM or Amazon S3 to a credential spec (`CredSpec`) file that configures the container for Active Directory authentication.
11044
+
11045
+ We recommend that you use this parameter instead of the `dockerSecurityOptions`.
11046
+
11047
+ Currently, only one credential spec is allowed per container definition.
10248
11048
 
10249
11049
  ---
10250
11050
 
10251
- ##### `frontendOAuthScopes`<sup>Optional</sup> <a name="frontendOAuthScopes" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.frontendOAuthScopes"></a>
11051
+ ##### `disableNetworking`<sup>Optional</sup> <a name="disableNetworking" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.disableNetworking"></a>
10252
11052
 
10253
11053
  ```typescript
10254
- public readonly frontendOAuthScopes: OAuthScope[];
11054
+ public readonly disableNetworking: boolean;
10255
11055
  ```
10256
11056
 
10257
- - *Type:* aws-cdk-lib.aws_cognito.OAuthScope[]
11057
+ - *Type:* boolean
11058
+ - *Default:* false
10258
11059
 
10259
- Additional OAuth scopes for the frontend.
11060
+ Specifies whether networking is disabled within the container.
11061
+
11062
+ When this parameter is true, networking is disabled within the container.
10260
11063
 
10261
11064
  ---
10262
11065
 
10263
- ##### `logoutUrls`<sup>Optional</sup> <a name="logoutUrls" id="@btc-embedded/cdk-extensions.DefaultUserPoolClientsProps.property.logoutUrls"></a>
11066
+ ##### `dnsSearchDomains`<sup>Optional</sup> <a name="dnsSearchDomains" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.dnsSearchDomains"></a>
10264
11067
 
10265
11068
  ```typescript
10266
- public readonly logoutUrls: string[];
11069
+ public readonly dnsSearchDomains: string[];
10267
11070
  ```
10268
11071
 
10269
11072
  - *Type:* string[]
11073
+ - *Default:* No search domains.
10270
11074
 
10271
- Specify valid logout URLs which should be added to the frontend user pool client.
11075
+ A list of DNS search domains that are presented to the container.
10272
11076
 
10273
11077
  ---
10274
11078
 
10275
- ### DeploymentConfigExtensionProps <a name="DeploymentConfigExtensionProps" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps"></a>
10276
-
10277
- Properties for configuring service deployment and capacity provider strategy.
10278
-
10279
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.Initializer"></a>
11079
+ ##### `dnsServers`<sup>Optional</sup> <a name="dnsServers" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.dnsServers"></a>
10280
11080
 
10281
11081
  ```typescript
10282
- import { DeploymentConfigExtensionProps } from '@btc-embedded/cdk-extensions'
10283
-
10284
- const deploymentConfigExtensionProps: DeploymentConfigExtensionProps = { ... }
11082
+ public readonly dnsServers: string[];
10285
11083
  ```
10286
11084
 
10287
- #### Properties <a name="Properties" id="Properties"></a>
11085
+ - *Type:* string[]
11086
+ - *Default:* Default DNS servers.
10288
11087
 
10289
- | **Name** | **Type** | **Description** |
10290
- | --- | --- | --- |
10291
- | <code><a href="#@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.capacityProviderBase">capacityProviderBase</a></code> | <code>number</code> | The base value for the FARGATE_SPOT capacity provider. |
10292
- | <code><a href="#@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.capacityProviderWeight">capacityProviderWeight</a></code> | <code>number</code> | The weight value for the FARGATE_SPOT capacity provider. |
10293
- | <code><a href="#@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.circuitBreakerRollback">circuitBreakerRollback</a></code> | <code>boolean</code> | Whether the circuit breaker should automatically roll back failed deployments. |
10294
- | <code><a href="#@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.enableCircuitBreaker">enableCircuitBreaker</a></code> | <code>boolean</code> | Whether to enable the ECS deployment circuit breaker. |
10295
- | <code><a href="#@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.maxHealthyPercent">maxHealthyPercent</a></code> | <code>number</code> | The maximum healthy percent for the service deployment. |
10296
- | <code><a href="#@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.minHealthyPercent">minHealthyPercent</a></code> | <code>number</code> | The minimum healthy percent for the service deployment. |
10297
- | <code><a href="#@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.useFargateSpotInstances">useFargateSpotInstances</a></code> | <code>boolean</code> | Whether to use the cluster's FARGATE_SPOT capacity provider strategy. |
11088
+ A list of DNS servers that are presented to the container.
10298
11089
 
10299
11090
  ---
10300
11091
 
10301
- ##### `capacityProviderBase`<sup>Optional</sup> <a name="capacityProviderBase" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.capacityProviderBase"></a>
11092
+ ##### `dockerLabels`<sup>Optional</sup> <a name="dockerLabels" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.dockerLabels"></a>
10302
11093
 
10303
11094
  ```typescript
10304
- public readonly capacityProviderBase: number;
11095
+ public readonly dockerLabels: {[ key: string ]: string};
10305
11096
  ```
10306
11097
 
10307
- - *Type:* number
10308
- - *Default:* 0
10309
-
10310
- The base value for the FARGATE_SPOT capacity provider.
11098
+ - *Type:* {[ key: string ]: string}
11099
+ - *Default:* No labels.
10311
11100
 
10312
- This is the minimum number of tasks that should use Fargate Spot.
10313
- Only used when useCapacityProvider is true.
11101
+ A key/value map of labels to add to the container.
10314
11102
 
10315
11103
  ---
10316
11104
 
10317
- ##### `capacityProviderWeight`<sup>Optional</sup> <a name="capacityProviderWeight" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.capacityProviderWeight"></a>
11105
+ ##### `dockerSecurityOptions`<sup>Optional</sup> <a name="dockerSecurityOptions" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.dockerSecurityOptions"></a>
10318
11106
 
10319
11107
  ```typescript
10320
- public readonly capacityProviderWeight: number;
11108
+ public readonly dockerSecurityOptions: string[];
10321
11109
  ```
10322
11110
 
10323
- - *Type:* number
10324
- - *Default:* 1
10325
-
10326
- The weight value for the FARGATE_SPOT capacity provider.
11111
+ - *Type:* string[]
11112
+ - *Default:* No security labels.
10327
11113
 
10328
- Higher values mean more tasks will use Fargate Spot.
10329
- Only used when useCapacityProvider is true.
11114
+ A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems.
10330
11115
 
10331
11116
  ---
10332
11117
 
10333
- ##### `circuitBreakerRollback`<sup>Optional</sup> <a name="circuitBreakerRollback" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.circuitBreakerRollback"></a>
11118
+ ##### `enableRestartPolicy`<sup>Optional</sup> <a name="enableRestartPolicy" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.enableRestartPolicy"></a>
10334
11119
 
10335
11120
  ```typescript
10336
- public readonly circuitBreakerRollback: boolean;
11121
+ public readonly enableRestartPolicy: boolean;
10337
11122
  ```
10338
11123
 
10339
11124
  - *Type:* boolean
10340
- - *Default:* true (if circuit breaker is enabled)
11125
+ - *Default:* false unless `restartIgnoredExitCodes` or `restartAttemptPeriod` is set.
10341
11126
 
10342
- Whether the circuit breaker should automatically roll back failed deployments.
11127
+ Enable a restart policy for a container.
10343
11128
 
10344
- When enabled, ECS will automatically roll back to the previous task definition
10345
- if the new deployment fails. Only applies when enableCircuitBreaker is true.
11129
+ When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task.
11130
+
11131
+ > [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html)
10346
11132
 
10347
11133
  ---
10348
11134
 
10349
- ##### `enableCircuitBreaker`<sup>Optional</sup> <a name="enableCircuitBreaker" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.enableCircuitBreaker"></a>
11135
+ ##### `entryPoint`<sup>Optional</sup> <a name="entryPoint" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.entryPoint"></a>
10350
11136
 
10351
11137
  ```typescript
10352
- public readonly enableCircuitBreaker: boolean;
11138
+ public readonly entryPoint: string[];
10353
11139
  ```
10354
11140
 
10355
- - *Type:* boolean
10356
- - *Default:* true
11141
+ - *Type:* string[]
11142
+ - *Default:* Entry point configured in container.
10357
11143
 
10358
- Whether to enable the ECS deployment circuit breaker.
11144
+ The ENTRYPOINT value to pass to the container.
10359
11145
 
10360
- The circuit breaker monitors new deployments and automatically rolls back
10361
- if tasks fail to start or become unhealthy.
11146
+ > [https://docs.docker.com/engine/reference/builder/#entrypoint](https://docs.docker.com/engine/reference/builder/#entrypoint)
10362
11147
 
10363
11148
  ---
10364
11149
 
10365
- ##### `maxHealthyPercent`<sup>Optional</sup> <a name="maxHealthyPercent" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.maxHealthyPercent"></a>
11150
+ ##### `environment`<sup>Optional</sup> <a name="environment" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.environment"></a>
10366
11151
 
10367
11152
  ```typescript
10368
- public readonly maxHealthyPercent: number;
11153
+ public readonly environment: {[ key: string ]: string};
10369
11154
  ```
10370
11155
 
10371
- - *Type:* number
10372
- - *Default:* 200
10373
-
10374
- The maximum healthy percent for the service deployment.
11156
+ - *Type:* {[ key: string ]: string}
11157
+ - *Default:* No environment variables.
10375
11158
 
10376
- Controls how many additional tasks can be started during deployment.
11159
+ The environment variables to pass to the container.
10377
11160
 
10378
11161
  ---
10379
11162
 
10380
- ##### `minHealthyPercent`<sup>Optional</sup> <a name="minHealthyPercent" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.minHealthyPercent"></a>
11163
+ ##### `environmentFiles`<sup>Optional</sup> <a name="environmentFiles" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.environmentFiles"></a>
10381
11164
 
10382
11165
  ```typescript
10383
- public readonly minHealthyPercent: number;
11166
+ public readonly environmentFiles: EnvironmentFile[];
10384
11167
  ```
10385
11168
 
10386
- - *Type:* number
10387
- - *Default:* 100
11169
+ - *Type:* aws-cdk-lib.aws_ecs.EnvironmentFile[]
11170
+ - *Default:* No environment files.
10388
11171
 
10389
- The minimum healthy percent for the service deployment.
11172
+ The environment files to pass to the container.
10390
11173
 
10391
- Set to 0 to allow all tasks to be replaced at once for faster deployments
10392
- where service interruption is acceptable.
11174
+ > [https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html)
10393
11175
 
10394
11176
  ---
10395
11177
 
10396
- ##### `useFargateSpotInstances`<sup>Optional</sup> <a name="useFargateSpotInstances" id="@btc-embedded/cdk-extensions.DeploymentConfigExtensionProps.property.useFargateSpotInstances"></a>
11178
+ ##### `essential`<sup>Optional</sup> <a name="essential" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.essential"></a>
10397
11179
 
10398
11180
  ```typescript
10399
- public readonly useFargateSpotInstances: boolean;
11181
+ public readonly essential: boolean;
10400
11182
  ```
10401
11183
 
10402
11184
  - *Type:* boolean
10403
- - *Default:* false
11185
+ - *Default:* true
10404
11186
 
10405
- Whether to use the cluster's FARGATE_SPOT capacity provider strategy.
11187
+ Specifies whether the container is marked essential.
10406
11188
 
10407
- When enabled, the service will use the capacity provider strategy
10408
- configured at the cluster level (e.g., FARGATE_SPOT).
11189
+ If the essential parameter of a container is marked as true, and that container fails
11190
+ or stops for any reason, all other containers that are part of the task are stopped.
11191
+ If the essential parameter of a container is marked as false, then its failure does not
11192
+ affect the rest of the containers in a task. All tasks must have at least one essential container.
10409
11193
 
10410
- **Requirements:**
10411
- - The ECS cluster must have capacity providers enabled
10412
- (set `enableFargateSpotCapacityProvider: true` in EcsCluster)
11194
+ If this parameter is omitted, a container is assumed to be essential.
10413
11195
 
10414
11196
  ---
10415
11197
 
10416
- ### DocumentDbAccessExtensionProps <a name="DocumentDbAccessExtensionProps" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps"></a>
10417
-
10418
- Configuration for {@link DocumentDbAccessExtension}.
10419
-
10420
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.Initializer"></a>
11198
+ ##### `extraHosts`<sup>Optional</sup> <a name="extraHosts" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.extraHosts"></a>
10421
11199
 
10422
11200
  ```typescript
10423
- import { DocumentDbAccessExtensionProps } from '@btc-embedded/cdk-extensions'
10424
-
10425
- const documentDbAccessExtensionProps: DocumentDbAccessExtensionProps = { ... }
11201
+ public readonly extraHosts: {[ key: string ]: string};
10426
11202
  ```
10427
11203
 
10428
- #### Properties <a name="Properties" id="Properties"></a>
11204
+ - *Type:* {[ key: string ]: string}
11205
+ - *Default:* No extra hosts.
10429
11206
 
10430
- | **Name** | **Type** | **Description** |
10431
- | --- | --- | --- |
10432
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.securityGroupId">securityGroupId</a></code> | <code>string</code> | ID of the security group associated with the database access path. |
10433
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | Name of the base platform stack to import the shared DocumentDB instance from. |
11207
+ A list of hostnames and IP address mappings to append to the /etc/hosts file on the container.
10434
11208
 
10435
11209
  ---
10436
11210
 
10437
- ##### `securityGroupId`<sup>Required</sup> <a name="securityGroupId" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.securityGroupId"></a>
11211
+ ##### `gpuCount`<sup>Optional</sup> <a name="gpuCount" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.gpuCount"></a>
10438
11212
 
10439
11213
  ```typescript
10440
- public readonly securityGroupId: string;
11214
+ public readonly gpuCount: number;
10441
11215
  ```
10442
11216
 
10443
- - *Type:* string
10444
-
10445
- ID of the security group associated with the database access path.
11217
+ - *Type:* number
11218
+ - *Default:* No GPUs assigned.
10446
11219
 
10447
- Note: This property is currently not referenced directly by this extension's
10448
- implementation, but is kept as part of the public contract.
11220
+ The number of GPUs assigned to the container.
10449
11221
 
10450
11222
  ---
10451
11223
 
10452
- ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.basePlatformStackName"></a>
11224
+ ##### `healthCheck`<sup>Optional</sup> <a name="healthCheck" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.healthCheck"></a>
10453
11225
 
10454
11226
  ```typescript
10455
- public readonly basePlatformStackName: string;
11227
+ public readonly healthCheck: HealthCheck;
10456
11228
  ```
10457
11229
 
10458
- - *Type:* string
10459
-
10460
- Name of the base platform stack to import the shared DocumentDB instance from.
11230
+ - *Type:* aws-cdk-lib.aws_ecs.HealthCheck
11231
+ - *Default:* Health check configuration from container.
10461
11232
 
10462
- This is passed to {@link DocumentDB.fromBasePlatform}.
11233
+ The health check command and associated configuration parameters for the container.
10463
11234
 
10464
11235
  ---
10465
11236
 
10466
- ### DocumentDBProps <a name="DocumentDBProps" id="@btc-embedded/cdk-extensions.DocumentDBProps"></a>
10467
-
10468
- Properties for {@link DocumentDB}.
10469
-
10470
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.DocumentDBProps.Initializer"></a>
11237
+ ##### `hostname`<sup>Optional</sup> <a name="hostname" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.hostname"></a>
10471
11238
 
10472
11239
  ```typescript
10473
- import { DocumentDBProps } from '@btc-embedded/cdk-extensions'
10474
-
10475
- const documentDBProps: DocumentDBProps = { ... }
11240
+ public readonly hostname: string;
10476
11241
  ```
10477
11242
 
10478
- #### Properties <a name="Properties" id="Properties"></a>
11243
+ - *Type:* string
11244
+ - *Default:* Automatic hostname.
10479
11245
 
10480
- | **Name** | **Type** | **Description** |
10481
- | --- | --- | --- |
10482
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps.property.secretName">secretName</a></code> | <code>string</code> | Name of the Secrets Manager secret that stores the DocumentDB master credentials. |
10483
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps.property.stackName">stackName</a></code> | <code>string</code> | Name of the stack this database belongs to. |
10484
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps.property.username">username</a></code> | <code>string</code> | Master username for the DocumentDB cluster. |
10485
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDBProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to deploy the DocumentDB cluster into. |
11246
+ The hostname to use for your container.
10486
11247
 
10487
11248
  ---
10488
11249
 
10489
- ##### `secretName`<sup>Required</sup> <a name="secretName" id="@btc-embedded/cdk-extensions.DocumentDBProps.property.secretName"></a>
11250
+ ##### `inferenceAcceleratorResources`<sup>Optional</sup> <a name="inferenceAcceleratorResources" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.inferenceAcceleratorResources"></a>
10490
11251
 
10491
11252
  ```typescript
10492
- public readonly secretName: string;
11253
+ public readonly inferenceAcceleratorResources: string[];
10493
11254
  ```
10494
11255
 
10495
- - *Type:* string
11256
+ - *Type:* string[]
11257
+ - *Default:* No inference accelerators assigned.
10496
11258
 
10497
- Name of the Secrets Manager secret that stores the DocumentDB master credentials.
11259
+ The inference accelerators referenced by the container.
10498
11260
 
10499
11261
  ---
10500
11262
 
10501
- ##### `stackName`<sup>Required</sup> <a name="stackName" id="@btc-embedded/cdk-extensions.DocumentDBProps.property.stackName"></a>
11263
+ ##### `interactive`<sup>Optional</sup> <a name="interactive" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.interactive"></a>
10502
11264
 
10503
11265
  ```typescript
10504
- public readonly stackName: string;
11266
+ public readonly interactive: boolean;
10505
11267
  ```
10506
11268
 
10507
- - *Type:* string
11269
+ - *Type:* boolean
11270
+ - *Default:* false
10508
11271
 
10509
- Name of the stack this database belongs to.
11272
+ When this parameter is true, you can deploy containerized applications that require stdin or a tty to be allocated.
10510
11273
 
10511
- Note: This value is currently not referenced directly by the implementation,
10512
- but is kept as part of the public contract.
11274
+ > [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)
10513
11275
 
10514
11276
  ---
10515
11277
 
10516
- ##### `username`<sup>Required</sup> <a name="username" id="@btc-embedded/cdk-extensions.DocumentDBProps.property.username"></a>
11278
+ ##### `linuxParameters`<sup>Optional</sup> <a name="linuxParameters" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.linuxParameters"></a>
10517
11279
 
10518
11280
  ```typescript
10519
- public readonly username: string;
11281
+ public readonly linuxParameters: LinuxParameters;
10520
11282
  ```
10521
11283
 
10522
- - *Type:* string
11284
+ - *Type:* aws-cdk-lib.aws_ecs.LinuxParameters
11285
+ - *Default:* No Linux parameters.
10523
11286
 
10524
- Master username for the DocumentDB cluster.
11287
+ Linux-specific modifications that are applied to the container, such as Linux kernel capabilities.
11288
+
11289
+ For more information see [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html).
10525
11290
 
10526
11291
  ---
10527
11292
 
10528
- ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.DocumentDBProps.property.vpc"></a>
11293
+ ##### `logging`<sup>Optional</sup> <a name="logging" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.logging"></a>
10529
11294
 
10530
11295
  ```typescript
10531
- public readonly vpc: IVpc;
11296
+ public readonly logging: LogDriver;
10532
11297
  ```
10533
11298
 
10534
- - *Type:* aws-cdk-lib.aws_ec2.IVpc
11299
+ - *Type:* aws-cdk-lib.aws_ecs.LogDriver
11300
+ - *Default:* Containers use the same logging driver that the Docker daemon uses.
10535
11301
 
10536
- VPC to deploy the DocumentDB cluster into.
11302
+ The log configuration specification for the container.
10537
11303
 
10538
11304
  ---
10539
11305
 
10540
- ### EcsClusterAttributes <a name="EcsClusterAttributes" id="@btc-embedded/cdk-extensions.EcsClusterAttributes"></a>
10541
-
10542
- Attributes required to import an existing ECS cluster from another stack.
10543
-
10544
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.EcsClusterAttributes.Initializer"></a>
11306
+ ##### `memoryLimitMiB`<sup>Optional</sup> <a name="memoryLimitMiB" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.memoryLimitMiB"></a>
10545
11307
 
10546
11308
  ```typescript
10547
- import { EcsClusterAttributes } from '@btc-embedded/cdk-extensions'
10548
-
10549
- const ecsClusterAttributes: EcsClusterAttributes = { ... }
11309
+ public readonly memoryLimitMiB: number;
10550
11310
  ```
10551
11311
 
10552
- #### Properties <a name="Properties" id="Properties"></a>
11312
+ - *Type:* number
11313
+ - *Default:* No memory limit.
10553
11314
 
10554
- | **Name** | **Type** | **Description** |
10555
- | --- | --- | --- |
10556
- | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterAttributes.property.vpcId">vpcId</a></code> | <code>string</code> | The ID of the VPC where the ECS cluster is located. |
10557
- | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterAttributes.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the stack where the ECS cluster is defined. |
11315
+ The amount (in MiB) of memory to present to the container.
11316
+
11317
+ If your container attempts to exceed the allocated memory, the container
11318
+ is terminated.
11319
+
11320
+ At least one of memoryLimitMiB and memoryReservationMiB is required for non-Fargate services.
10558
11321
 
10559
11322
  ---
10560
11323
 
10561
- ##### `vpcId`<sup>Required</sup> <a name="vpcId" id="@btc-embedded/cdk-extensions.EcsClusterAttributes.property.vpcId"></a>
11324
+ ##### `memoryReservationMiB`<sup>Optional</sup> <a name="memoryReservationMiB" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.memoryReservationMiB"></a>
10562
11325
 
10563
11326
  ```typescript
10564
- public readonly vpcId: string;
11327
+ public readonly memoryReservationMiB: number;
10565
11328
  ```
10566
11329
 
10567
- - *Type:* string
11330
+ - *Type:* number
11331
+ - *Default:* No memory reserved.
10568
11332
 
10569
- The ID of the VPC where the ECS cluster is located.
11333
+ The soft limit (in MiB) of memory to reserve for the container.
10570
11334
 
10571
- This id used to look
10572
- up the VPC when importing the cluster.
11335
+ When system memory is under heavy contention, Docker attempts to keep the
11336
+ container memory to this soft limit. However, your container can consume more
11337
+ memory when it needs to, up to either the hard limit specified with the memory
11338
+ parameter (if applicable), or all of the available memory on the container
11339
+ instance, whichever comes first.
11340
+
11341
+ At least one of memoryLimitMiB and memoryReservationMiB is required for non-Fargate services.
10573
11342
 
10574
11343
  ---
10575
11344
 
10576
- ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.EcsClusterAttributes.property.basePlatformStackName"></a>
11345
+ ##### `portMappings`<sup>Optional</sup> <a name="portMappings" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.portMappings"></a>
10577
11346
 
10578
11347
  ```typescript
10579
- public readonly basePlatformStackName: string;
11348
+ public readonly portMappings: PortMapping[];
10580
11349
  ```
10581
11350
 
10582
- - *Type:* string
10583
-
10584
- The name of the stack where the ECS cluster is defined.
11351
+ - *Type:* aws-cdk-lib.aws_ecs.PortMapping[]
11352
+ - *Default:* No ports are mapped.
10585
11353
 
10586
- This is usually the
10587
- base platform stack.
11354
+ The port mappings to add to the container definition.
10588
11355
 
10589
11356
  ---
10590
11357
 
10591
- ### EcsClusterProps <a name="EcsClusterProps" id="@btc-embedded/cdk-extensions.EcsClusterProps"></a>
10592
-
10593
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.EcsClusterProps.Initializer"></a>
11358
+ ##### `privileged`<sup>Optional</sup> <a name="privileged" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.privileged"></a>
10594
11359
 
10595
11360
  ```typescript
10596
- import { EcsClusterProps } from '@btc-embedded/cdk-extensions'
10597
-
10598
- const ecsClusterProps: EcsClusterProps = { ... }
11361
+ public readonly privileged: boolean;
10599
11362
  ```
10600
11363
 
10601
- #### Properties <a name="Properties" id="Properties"></a>
11364
+ - *Type:* boolean
11365
+ - *Default:* false
10602
11366
 
10603
- | **Name** | **Type** | **Description** |
10604
- | --- | --- | --- |
10605
- | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | The VPC in which to create the ECS cluster. |
10606
- | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterProps.property.capacityProvidersBase">capacityProvidersBase</a></code> | <code>number</code> | The base value for the capacity provider strategy. |
10607
- | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterProps.property.capacityProvidersWeight">capacityProvidersWeight</a></code> | <code>number</code> | The weight value for the capacity provider strategy. |
10608
- | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterProps.property.createKmsExecCommandKey">createKmsExecCommandKey</a></code> | <code>boolean</code> | Whether to create a KMS key for execute command encryption. |
10609
- | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterProps.property.enableFargateSpotCapacityProvider">enableFargateSpotCapacityProvider</a></code> | <code>boolean</code> | Whether to enable Fargate Spot capacity provider. |
11367
+ Specifies whether the container is marked as privileged.
11368
+
11369
+ When this parameter is true, the container is given elevated privileges on the host container instance (similar to the root user).
10610
11370
 
10611
11371
  ---
10612
11372
 
10613
- ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.EcsClusterProps.property.vpc"></a>
11373
+ ##### `pseudoTerminal`<sup>Optional</sup> <a name="pseudoTerminal" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.pseudoTerminal"></a>
10614
11374
 
10615
11375
  ```typescript
10616
- public readonly vpc: IVpc;
11376
+ public readonly pseudoTerminal: boolean;
10617
11377
  ```
10618
11378
 
10619
- - *Type:* aws-cdk-lib.aws_ec2.IVpc
11379
+ - *Type:* boolean
11380
+ - *Default:* false
10620
11381
 
10621
- The VPC in which to create the ECS cluster.
11382
+ When this parameter is true, a TTY is allocated.
11383
+
11384
+ This parameter maps to Tty in the "Create a container section" of the
11385
+ Docker Remote API and the --tty option to `docker run`.
11386
+
11387
+ > [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)
10622
11388
 
10623
11389
  ---
10624
11390
 
10625
- ##### `capacityProvidersBase`<sup>Optional</sup> <a name="capacityProvidersBase" id="@btc-embedded/cdk-extensions.EcsClusterProps.property.capacityProvidersBase"></a>
11391
+ ##### `readonlyRootFilesystem`<sup>Optional</sup> <a name="readonlyRootFilesystem" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.readonlyRootFilesystem"></a>
10626
11392
 
10627
11393
  ```typescript
10628
- public readonly capacityProvidersBase: number;
11394
+ public readonly readonlyRootFilesystem: boolean;
10629
11395
  ```
10630
11396
 
10631
- - *Type:* number
11397
+ - *Type:* boolean
11398
+ - *Default:* false
10632
11399
 
10633
- The base value for the capacity provider strategy.
11400
+ When this parameter is true, the container is given read-only access to its root file system.
10634
11401
 
10635
11402
  ---
10636
11403
 
10637
- ##### `capacityProvidersWeight`<sup>Optional</sup> <a name="capacityProvidersWeight" id="@btc-embedded/cdk-extensions.EcsClusterProps.property.capacityProvidersWeight"></a>
11404
+ ##### `restartAttemptPeriod`<sup>Optional</sup> <a name="restartAttemptPeriod" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.restartAttemptPeriod"></a>
10638
11405
 
10639
11406
  ```typescript
10640
- public readonly capacityProvidersWeight: number;
11407
+ public readonly restartAttemptPeriod: Duration;
10641
11408
  ```
10642
11409
 
10643
- - *Type:* number
11410
+ - *Type:* aws-cdk-lib.Duration
11411
+ - *Default:* Duration.seconds(300) if `enableRestartPolicy` is true, otherwise no period.
10644
11412
 
10645
- The weight value for the capacity provider strategy.
11413
+ A period of time that the container must run for before a restart can be attempted.
11414
+
11415
+ A container can be restarted only once every `restartAttemptPeriod` seconds.
11416
+ If a container isn't able to run for this time period and exits early, it will not be restarted.
11417
+
11418
+ This property can't be used if `enableRestartPolicy` is set to false.
11419
+
11420
+ You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod`
11421
+ of 1800 seconds.
10646
11422
 
10647
11423
  ---
10648
11424
 
10649
- ##### `createKmsExecCommandKey`<sup>Optional</sup> <a name="createKmsExecCommandKey" id="@btc-embedded/cdk-extensions.EcsClusterProps.property.createKmsExecCommandKey"></a>
11425
+ ##### `restartIgnoredExitCodes`<sup>Optional</sup> <a name="restartIgnoredExitCodes" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.restartIgnoredExitCodes"></a>
10650
11426
 
10651
11427
  ```typescript
10652
- public readonly createKmsExecCommandKey: boolean;
11428
+ public readonly restartIgnoredExitCodes: number[];
10653
11429
  ```
10654
11430
 
10655
- - *Type:* boolean
11431
+ - *Type:* number[]
11432
+ - *Default:* No exit codes are ignored.
10656
11433
 
10657
- Whether to create a KMS key for execute command encryption.
11434
+ A list of exit codes that Amazon ECS will ignore and not attempt a restart on.
11435
+
11436
+ This property can't be used if `enableRestartPolicy` is set to false.
11437
+
11438
+ You can specify a maximum of 50 container exit codes.
10658
11439
 
10659
11440
  ---
10660
11441
 
10661
- ##### `enableFargateSpotCapacityProvider`<sup>Optional</sup> <a name="enableFargateSpotCapacityProvider" id="@btc-embedded/cdk-extensions.EcsClusterProps.property.enableFargateSpotCapacityProvider"></a>
11442
+ ##### `secrets`<sup>Optional</sup> <a name="secrets" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.secrets"></a>
10662
11443
 
10663
11444
  ```typescript
10664
- public readonly enableFargateSpotCapacityProvider: boolean;
11445
+ public readonly secrets: {[ key: string ]: Secret};
10665
11446
  ```
10666
11447
 
10667
- - *Type:* boolean
11448
+ - *Type:* {[ key: string ]: aws-cdk-lib.aws_ecs.Secret}
11449
+ - *Default:* No secret environment variables.
10668
11450
 
10669
- Whether to enable Fargate Spot capacity provider.
11451
+ The secret environment variables to pass to the container.
10670
11452
 
10671
11453
  ---
10672
11454
 
10673
- ### EfsFileSystemLookupOptions <a name="EfsFileSystemLookupOptions" id="@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions"></a>
10674
-
10675
- Lookup options for importing a filesystem from the base stack.
10676
-
10677
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions.Initializer"></a>
11455
+ ##### `startTimeout`<sup>Optional</sup> <a name="startTimeout" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.startTimeout"></a>
10678
11456
 
10679
11457
  ```typescript
10680
- import { EfsFileSystemLookupOptions } from '@btc-embedded/cdk-extensions'
10681
-
10682
- const efsFileSystemLookupOptions: EfsFileSystemLookupOptions = { ... }
11458
+ public readonly startTimeout: Duration;
10683
11459
  ```
10684
11460
 
10685
- #### Properties <a name="Properties" id="Properties"></a>
11461
+ - *Type:* aws-cdk-lib.Duration
11462
+ - *Default:* none
10686
11463
 
10687
- | **Name** | **Type** | **Description** |
10688
- | --- | --- | --- |
10689
- | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions.property.filesystemName">filesystemName</a></code> | <code>string</code> | The name of the filesystem to be imported. |
10690
- | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the base platform stack. |
11464
+ Time duration (in seconds) to wait before giving up on resolving dependencies for a container.
10691
11465
 
10692
11466
  ---
10693
11467
 
10694
- ##### `filesystemName`<sup>Required</sup> <a name="filesystemName" id="@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions.property.filesystemName"></a>
11468
+ ##### `stopTimeout`<sup>Optional</sup> <a name="stopTimeout" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.stopTimeout"></a>
10695
11469
 
10696
11470
  ```typescript
10697
- public readonly filesystemName: string;
11471
+ public readonly stopTimeout: Duration;
10698
11472
  ```
10699
11473
 
10700
- - *Type:* string
11474
+ - *Type:* aws-cdk-lib.Duration
11475
+ - *Default:* none
10701
11476
 
10702
- The name of the filesystem to be imported.
11477
+ Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own.
10703
11478
 
10704
11479
  ---
10705
11480
 
10706
- ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions.property.basePlatformStackName"></a>
11481
+ ##### `systemControls`<sup>Optional</sup> <a name="systemControls" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.systemControls"></a>
10707
11482
 
10708
11483
  ```typescript
10709
- public readonly basePlatformStackName: string;
11484
+ public readonly systemControls: SystemControl[];
10710
11485
  ```
10711
11486
 
10712
- - *Type:* string
11487
+ - *Type:* aws-cdk-lib.aws_ecs.SystemControl[]
11488
+ - *Default:* No system controls are set.
10713
11489
 
10714
- The name of the base platform stack.
11490
+ A list of namespaced kernel parameters to set in the container.
10715
11491
 
10716
- ---
11492
+ > [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)
10717
11493
 
10718
- ### EfsFileSystemProps <a name="EfsFileSystemProps" id="@btc-embedded/cdk-extensions.EfsFileSystemProps"></a>
11494
+ ---
10719
11495
 
10720
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.EfsFileSystemProps.Initializer"></a>
11496
+ ##### `ulimits`<sup>Optional</sup> <a name="ulimits" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.ulimits"></a>
10721
11497
 
10722
11498
  ```typescript
10723
- import { EfsFileSystemProps } from '@btc-embedded/cdk-extensions'
10724
-
10725
- const efsFileSystemProps: EfsFileSystemProps = { ... }
11499
+ public readonly ulimits: Ulimit[];
10726
11500
  ```
10727
11501
 
10728
- #### Properties <a name="Properties" id="Properties"></a>
11502
+ - *Type:* aws-cdk-lib.aws_ecs.Ulimit[]
10729
11503
 
10730
- | **Name** | **Type** | **Description** |
10731
- | --- | --- | --- |
10732
- | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystemProps.property.name">name</a></code> | <code>string</code> | The name to be used for the filesystem. |
10733
- | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystemProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | The VPC to be used. |
10734
- | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystemProps.property.automaticBackups">automaticBackups</a></code> | <code>boolean</code> | Enable automatic backups. |
10735
- | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystemProps.property.removalPolicy">removalPolicy</a></code> | <code>aws-cdk-lib.RemovalPolicy</code> | Removal policy. |
11504
+ An array of ulimits to set in the container.
10736
11505
 
10737
11506
  ---
10738
11507
 
10739
- ##### `name`<sup>Required</sup> <a name="name" id="@btc-embedded/cdk-extensions.EfsFileSystemProps.property.name"></a>
11508
+ ##### `user`<sup>Optional</sup> <a name="user" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.user"></a>
10740
11509
 
10741
11510
  ```typescript
10742
- public readonly name: string;
11511
+ public readonly user: string;
10743
11512
  ```
10744
11513
 
10745
11514
  - *Type:* string
11515
+ - *Default:* root
10746
11516
 
10747
- The name to be used for the filesystem.
11517
+ The user to use inside the container.
10748
11518
 
10749
- Has to be unique in the stack.
10750
- Is also used for importing the filesystem from another stack.
11519
+ This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.
11520
+
11521
+ > [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)
10751
11522
 
10752
11523
  ---
10753
11524
 
10754
- ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.EfsFileSystemProps.property.vpc"></a>
11525
+ ##### `versionConsistency`<sup>Optional</sup> <a name="versionConsistency" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.versionConsistency"></a>
10755
11526
 
10756
11527
  ```typescript
10757
- public readonly vpc: IVpc;
11528
+ public readonly versionConsistency: VersionConsistency;
10758
11529
  ```
10759
11530
 
10760
- - *Type:* aws-cdk-lib.aws_ec2.IVpc
11531
+ - *Type:* aws-cdk-lib.aws_ecs.VersionConsistency
11532
+ - *Default:* VersionConsistency.DISABLED if `image` is a CDK asset, VersionConsistency.ENABLED otherwise
10761
11533
 
10762
- The VPC to be used.
11534
+ Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest.
11535
+
11536
+ If you set the value for a container as disabled, Amazon ECS will
11537
+ not resolve the provided container image tag to a digest and will use the
11538
+ original image URI specified in the container definition for deployment.
11539
+
11540
+ > [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-versionconsistency](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-versionconsistency)
10763
11541
 
10764
11542
  ---
10765
11543
 
10766
- ##### `automaticBackups`<sup>Optional</sup> <a name="automaticBackups" id="@btc-embedded/cdk-extensions.EfsFileSystemProps.property.automaticBackups"></a>
11544
+ ##### `workingDirectory`<sup>Optional</sup> <a name="workingDirectory" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.workingDirectory"></a>
10767
11545
 
10768
11546
  ```typescript
10769
- public readonly automaticBackups: boolean;
11547
+ public readonly workingDirectory: string;
10770
11548
  ```
10771
11549
 
10772
- - *Type:* boolean
10773
-
10774
- Enable automatic backups.
11550
+ - *Type:* string
11551
+ - *Default:* /
10775
11552
 
10776
- Default: `false`.
11553
+ The working directory in which to run commands inside the container.
10777
11554
 
10778
11555
  ---
10779
11556
 
10780
- ##### `removalPolicy`<sup>Optional</sup> <a name="removalPolicy" id="@btc-embedded/cdk-extensions.EfsFileSystemProps.property.removalPolicy"></a>
11557
+ ##### `containerDependencies`<sup>Optional</sup> <a name="containerDependencies" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.containerDependencies"></a>
10781
11558
 
10782
11559
  ```typescript
10783
- public readonly removalPolicy: RemovalPolicy;
11560
+ public readonly containerDependencies: ContainerDependency[];
10784
11561
  ```
10785
11562
 
10786
- - *Type:* aws-cdk-lib.RemovalPolicy
11563
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ContainerDependency">ContainerDependency</a>[]
10787
11564
 
10788
- Removal policy.
11565
+ Container dependencies (used by ExtraContainerExtension).
10789
11566
 
10790
- Default: {@link RemovalPolicy.DESTROY}.
11567
+ Specify additional container dependencies which should be added after the
11568
+ container has been created in the task definition.
10791
11569
 
10792
11570
  ---
10793
11571
 
10794
- ### EfsMountExtensionProperties <a name="EfsMountExtensionProperties" id="@btc-embedded/cdk-extensions.EfsMountExtensionProperties"></a>
11572
+ ##### `healthCheckEndpoint`<sup>Optional</sup> <a name="healthCheckEndpoint" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.healthCheckEndpoint"></a>
10795
11573
 
10796
- EFS extension properties.
11574
+ ```typescript
11575
+ public readonly healthCheckEndpoint: string;
11576
+ ```
10797
11577
 
10798
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.EfsMountExtensionProperties.Initializer"></a>
11578
+ - *Type:* string
11579
+ - *Default:* no health check
10799
11580
 
10800
- ```typescript
10801
- import { EfsMountExtensionProperties } from '@btc-embedded/cdk-extensions'
11581
+ Simplified health check - just specify the HTTP endpoint path.
10802
11582
 
10803
- const efsMountExtensionProperties: EfsMountExtensionProperties = { ... }
10804
- ```
11583
+ A curl-based health check will be auto-generated using the container's traffic port.
10805
11584
 
10806
- #### Properties <a name="Properties" id="Properties"></a>
11585
+ Example: "/health" becomes:
11586
+ curl -f http://localhost:3000/health || exit 1
10807
11587
 
10808
- | **Name** | **Type** | **Description** |
10809
- | --- | --- | --- |
10810
- | <code><a href="#@btc-embedded/cdk-extensions.EfsMountExtensionProperties.property.accessMode">accessMode</a></code> | <code><a href="#@btc-embedded/cdk-extensions.EfsAccessMode">EfsAccessMode</a></code> | The access mode for the filesystem for this service. |
10811
- | <code><a href="#@btc-embedded/cdk-extensions.EfsMountExtensionProperties.property.filesystem">filesystem</a></code> | <code><a href="#@btc-embedded/cdk-extensions.IEfsFileSystem">IEfsFileSystem</a></code> | The filesystem to be mounted. |
10812
- | <code><a href="#@btc-embedded/cdk-extensions.EfsMountExtensionProperties.property.path">path</a></code> | <code>string</code> | The path to mount the EFS to. |
11588
+ Cannot be used with `healthCheck`.
10813
11589
 
10814
11590
  ---
10815
11591
 
10816
- ##### `accessMode`<sup>Required</sup> <a name="accessMode" id="@btc-embedded/cdk-extensions.EfsMountExtensionProperties.property.accessMode"></a>
11592
+ ##### `logGroup`<sup>Optional</sup> <a name="logGroup" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.logGroup"></a>
10817
11593
 
10818
11594
  ```typescript
10819
- public readonly accessMode: EfsAccessMode;
11595
+ public readonly logGroup: ILogGroup;
10820
11596
  ```
10821
11597
 
10822
- - *Type:* <a href="#@btc-embedded/cdk-extensions.EfsAccessMode">EfsAccessMode</a>
11598
+ - *Type:* aws-cdk-lib.aws_logs.ILogGroup
11599
+ - *Default:* A log group is automatically created for you if the `ECS_SERVICE_EXTENSIONS_ENABLE_DEFAULT_LOG_DRIVER` feature flag is set.
10823
11600
 
10824
- The access mode for the filesystem for this service.
11601
+ The log group into which application container logs should be routed.
10825
11602
 
10826
11603
  ---
10827
11604
 
10828
- ##### `filesystem`<sup>Required</sup> <a name="filesystem" id="@btc-embedded/cdk-extensions.EfsMountExtensionProperties.property.filesystem"></a>
11605
+ ##### `memoryMiB`<sup>Optional</sup> <a name="memoryMiB" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.memoryMiB"></a>
10829
11606
 
10830
11607
  ```typescript
10831
- public readonly filesystem: IEfsFileSystem;
11608
+ public readonly memoryMiB: number;
10832
11609
  ```
10833
11610
 
10834
- - *Type:* <a href="#@btc-embedded/cdk-extensions.IEfsFileSystem">IEfsFileSystem</a>
11611
+ - *Type:* number
10835
11612
 
10836
- The filesystem to be mounted.
11613
+ How much memory in megabytes the container requires.
10837
11614
 
10838
11615
  ---
10839
11616
 
10840
- ##### `path`<sup>Required</sup> <a name="path" id="@btc-embedded/cdk-extensions.EfsMountExtensionProperties.property.path"></a>
11617
+ ##### `trafficPort`<sup>Optional</sup> <a name="trafficPort" id="@btc-embedded/cdk-extensions.EnhancedContainerProps.property.trafficPort"></a>
10841
11618
 
10842
11619
  ```typescript
10843
- public readonly path: string;
11620
+ public readonly trafficPort: number;
10844
11621
  ```
10845
11622
 
10846
- - *Type:* string
11623
+ - *Type:* number
10847
11624
 
10848
- The path to mount the EFS to.
11625
+ What port the image listens for traffic on.
10849
11626
 
10850
11627
  ---
10851
11628
 
@@ -11240,8 +12017,8 @@ const extraContainerExtensionProps: ExtraContainerExtensionProps = { ... }
11240
12017
 
11241
12018
  | **Name** | **Type** | **Description** |
11242
12019
  | --- | --- | --- |
11243
- | <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.* |
11244
- | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtensionProps.property.dbAccess">dbAccess</a></code> | <code>boolean</code> | *No description.* |
12020
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtensionProps.property.container">container</a></code> | <code><a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps">EnhancedContainerProps</a></code> | Container configuration using the enhanced container properties. |
12021
+ | <code><a href="#@btc-embedded/cdk-extensions.ExtraContainerExtensionProps.property.dbAccess">dbAccess</a></code> | <code>boolean</code> | Whether this container needs database access. |
11245
12022
  | <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. |
11246
12023
 
11247
12024
  ---
@@ -11249,10 +12026,12 @@ const extraContainerExtensionProps: ExtraContainerExtensionProps = { ... }
11249
12026
  ##### `container`<sup>Required</sup> <a name="container" id="@btc-embedded/cdk-extensions.ExtraContainerExtensionProps.property.container"></a>
11250
12027
 
11251
12028
  ```typescript
11252
- public readonly container: ContainerProps;
12029
+ public readonly container: EnhancedContainerProps;
11253
12030
  ```
11254
12031
 
11255
- - *Type:* <a href="#@btc-embedded/cdk-extensions.ContainerProps">ContainerProps</a>
12032
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.EnhancedContainerProps">EnhancedContainerProps</a>
12033
+
12034
+ Container configuration using the enhanced container properties.
11256
12035
 
11257
12036
  ---
11258
12037
 
@@ -11263,6 +12042,9 @@ public readonly dbAccess: boolean;
11263
12042
  ```
11264
12043
 
11265
12044
  - *Type:* boolean
12045
+ - *Default:* false
12046
+
12047
+ Whether this container needs database access.
11266
12048
 
11267
12049
  ---
11268
12050
 
@@ -11273,11 +12055,10 @@ public readonly healthCheckCondition: ContainerDependencyCondition;
11273
12055
  ```
11274
12056
 
11275
12057
  - *Type:* aws-cdk-lib.aws_ecs.ContainerDependencyCondition
12058
+ - *Default:* ContainerDependencyCondition.HEALTHY
11276
12059
 
11277
12060
  Specify the condition when this container should be considered healthy such that the main container can start.
11278
12061
 
11279
- Defaults to ContainerDependencyCondition.HEALTHY.
11280
-
11281
12062
  ---
11282
12063
 
11283
12064
  ### FilterEqualsIgnoreCase <a name="FilterEqualsIgnoreCase" id="@btc-embedded/cdk-extensions.FilterEqualsIgnoreCase"></a>
@@ -12954,6 +13735,287 @@ public readonly props: ApiGatewayExtensionProps;
12954
13735
  ---
12955
13736
 
12956
13737
 
13738
+ ### ApplicationContainer <a name="ApplicationContainer" id="@btc-embedded/cdk-extensions.ApplicationContainer"></a>
13739
+
13740
+ An application container with built-in support for simplified health checks and all container definition options.
13741
+
13742
+ This extension extends the upstream Container class and provides:
13743
+ 1. Simplified health check API via `healthCheckEndpoint`
13744
+ 2. Full access to all ContainerDefinitionOptions (user, privileged, workingDirectory, etc.)
13745
+ 3. Drop-in replacement for Container with additional features
13746
+
13747
+ **Replaces the need for:** Container + ModifyContainerDefinitionExtension
13748
+
13749
+ *Example*
13750
+
13751
+ ```typescript
13752
+ // Full health check control (escape hatch)
13753
+ new ApplicationContainer({
13754
+ cpu: 1024,
13755
+ memoryMiB: 2048,
13756
+ image: EcrImage.fromDockerImageAsset(image),
13757
+ trafficPort: 3000,
13758
+ healthCheck: {
13759
+ command: ['CMD-SHELL', 'custom-health-check.sh'],
13760
+ interval: Duration.seconds(30),
13761
+ },
13762
+ });
13763
+ ```
13764
+
13765
+
13766
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.ApplicationContainer.Initializer"></a>
13767
+
13768
+ ```typescript
13769
+ import { ApplicationContainer } from '@btc-embedded/cdk-extensions'
13770
+
13771
+ new ApplicationContainer(props: ApplicationContainerProps)
13772
+ ```
13773
+
13774
+ | **Name** | **Type** | **Description** |
13775
+ | --- | --- | --- |
13776
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainer.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps">ApplicationContainerProps</a></code> | The settings for the container. |
13777
+
13778
+ ---
13779
+
13780
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.ApplicationContainer.Initializer.parameter.props"></a>
13781
+
13782
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ApplicationContainerProps">ApplicationContainerProps</a>
13783
+
13784
+ The settings for the container.
13785
+
13786
+ ---
13787
+
13788
+ #### Methods <a name="Methods" id="Methods"></a>
13789
+
13790
+ | **Name** | **Description** |
13791
+ | --- | --- |
13792
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainer.addContainerMutatingHook">addContainerMutatingHook</a></code> | This hook allows another service extension to register a mutating hook for changing the primary container of this extension. |
13793
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainer.addHooks">addHooks</a></code> | A hook that allows the extension to add hooks to other extensions that are registered. |
13794
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainer.connectToService">connectToService</a></code> | This hook allows the extension to establish a connection to extensions from another service. |
13795
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainer.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. |
13796
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainer.modifyTaskDefinitionProps">modifyTaskDefinitionProps</a></code> | This is a hook which allows extensions to modify the settings of the task definition prior to it being created. |
13797
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainer.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. |
13798
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainer.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. |
13799
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainer.useService">useService</a></code> | When this hook is implemented by extension, it allows the extension to use the service which has been created. |
13800
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainer.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. |
13801
+
13802
+ ---
13803
+
13804
+ ##### `addContainerMutatingHook` <a name="addContainerMutatingHook" id="@btc-embedded/cdk-extensions.ApplicationContainer.addContainerMutatingHook"></a>
13805
+
13806
+ ```typescript
13807
+ public addContainerMutatingHook(hook: ContainerMutatingHook): void
13808
+ ```
13809
+
13810
+ This hook allows another service extension to register a mutating hook for changing the primary container of this extension.
13811
+
13812
+ This is primarily used
13813
+ for the application extension. For example, the Firelens extension wants to
13814
+ be able to modify the settings of the application container to
13815
+ route logs through Firelens.
13816
+
13817
+ ###### `hook`<sup>Required</sup> <a name="hook" id="@btc-embedded/cdk-extensions.ApplicationContainer.addContainerMutatingHook.parameter.hook"></a>
13818
+
13819
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ContainerMutatingHook
13820
+
13821
+ ---
13822
+
13823
+ ##### `addHooks` <a name="addHooks" id="@btc-embedded/cdk-extensions.ApplicationContainer.addHooks"></a>
13824
+
13825
+ ```typescript
13826
+ public addHooks(): void
13827
+ ```
13828
+
13829
+ A hook that allows the extension to add hooks to other extensions that are registered.
13830
+
13831
+ ##### `connectToService` <a name="connectToService" id="@btc-embedded/cdk-extensions.ApplicationContainer.connectToService"></a>
13832
+
13833
+ ```typescript
13834
+ public connectToService(service: Service, connectToProps?: ConnectToProps): void
13835
+ ```
13836
+
13837
+ This hook allows the extension to establish a connection to extensions from another service.
13838
+
13839
+ Usually used for things like
13840
+ allowing one service to talk to the load balancer or service mesh
13841
+ proxy for another service.
13842
+
13843
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.ApplicationContainer.connectToService.parameter.service"></a>
13844
+
13845
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
13846
+
13847
+ The other service to connect to.
13848
+
13849
+ ---
13850
+
13851
+ ###### `connectToProps`<sup>Optional</sup> <a name="connectToProps" id="@btc-embedded/cdk-extensions.ApplicationContainer.connectToService.parameter.connectToProps"></a>
13852
+
13853
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ConnectToProps
13854
+
13855
+ ---
13856
+
13857
+ ##### `modifyServiceProps` <a name="modifyServiceProps" id="@btc-embedded/cdk-extensions.ApplicationContainer.modifyServiceProps"></a>
13858
+
13859
+ ```typescript
13860
+ public modifyServiceProps(props: ServiceBuild): ServiceBuild
13861
+ ```
13862
+
13863
+ 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.
13864
+
13865
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.ApplicationContainer.modifyServiceProps.parameter.props"></a>
13866
+
13867
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.ServiceBuild
13868
+
13869
+ The service properties to mutate.
13870
+
13871
+ ---
13872
+
13873
+ ##### `modifyTaskDefinitionProps` <a name="modifyTaskDefinitionProps" id="@btc-embedded/cdk-extensions.ApplicationContainer.modifyTaskDefinitionProps"></a>
13874
+
13875
+ ```typescript
13876
+ public modifyTaskDefinitionProps(props: TaskDefinitionProps): TaskDefinitionProps
13877
+ ```
13878
+
13879
+ This is a hook which allows extensions to modify the settings of the task definition prior to it being created.
13880
+
13881
+ For example, the App Mesh
13882
+ extension needs to configure an Envoy proxy in the task definition,
13883
+ or the Application extension wants to set the overall resource for
13884
+ the task.
13885
+
13886
+ ###### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.ApplicationContainer.modifyTaskDefinitionProps.parameter.props"></a>
13887
+
13888
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinitionProps
13889
+
13890
+ ---
13891
+
13892
+ ##### `prehook` <a name="prehook" id="@btc-embedded/cdk-extensions.ApplicationContainer.prehook"></a>
13893
+
13894
+ ```typescript
13895
+ public prehook(service: Service, scope: Construct): void
13896
+ ```
13897
+
13898
+ A hook that is called for each extension ahead of time to allow for any initial setup, such as creating resources in advance.
13899
+
13900
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.ApplicationContainer.prehook.parameter.service"></a>
13901
+
13902
+ - *Type:* @aws-cdk-containers/ecs-service-extensions.Service
13903
+
13904
+ ---
13905
+
13906
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.ApplicationContainer.prehook.parameter.scope"></a>
13907
+
13908
+ - *Type:* constructs.Construct
13909
+
13910
+ ---
13911
+
13912
+ ##### `resolveContainerDependencies` <a name="resolveContainerDependencies" id="@btc-embedded/cdk-extensions.ApplicationContainer.resolveContainerDependencies"></a>
13913
+
13914
+ ```typescript
13915
+ public resolveContainerDependencies(): void
13916
+ ```
13917
+
13918
+ 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.
13919
+
13920
+ ##### `useService` <a name="useService" id="@btc-embedded/cdk-extensions.ApplicationContainer.useService"></a>
13921
+
13922
+ ```typescript
13923
+ public useService(service: Ec2Service | FargateService): void
13924
+ ```
13925
+
13926
+ When this hook is implemented by extension, it allows the extension to use the service which has been created.
13927
+
13928
+ It is generally used to
13929
+ create any final resources which might depend on the service itself.
13930
+
13931
+ ###### `service`<sup>Required</sup> <a name="service" id="@btc-embedded/cdk-extensions.ApplicationContainer.useService.parameter.service"></a>
13932
+
13933
+ - *Type:* aws-cdk-lib.aws_ecs.Ec2Service | aws-cdk-lib.aws_ecs.FargateService
13934
+
13935
+ The generated service.
13936
+
13937
+ ---
13938
+
13939
+ ##### `useTaskDefinition` <a name="useTaskDefinition" id="@btc-embedded/cdk-extensions.ApplicationContainer.useTaskDefinition"></a>
13940
+
13941
+ ```typescript
13942
+ public useTaskDefinition(taskDefinition: TaskDefinition): void
13943
+ ```
13944
+
13945
+ 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.
13946
+
13947
+ ###### `taskDefinition`<sup>Required</sup> <a name="taskDefinition" id="@btc-embedded/cdk-extensions.ApplicationContainer.useTaskDefinition.parameter.taskDefinition"></a>
13948
+
13949
+ - *Type:* aws-cdk-lib.aws_ecs.TaskDefinition
13950
+
13951
+ ---
13952
+
13953
+
13954
+ #### Properties <a name="Properties" id="Properties"></a>
13955
+
13956
+ | **Name** | **Type** | **Description** |
13957
+ | --- | --- | --- |
13958
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainer.property.name">name</a></code> | <code>string</code> | The name of the extension. |
13959
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainer.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | The container for this extension. |
13960
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainer.property.trafficPort">trafficPort</a></code> | <code>number</code> | The port on which the container expects to receive network traffic. |
13961
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationContainer.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | The log group into which application container logs should be routed. |
13962
+
13963
+ ---
13964
+
13965
+ ##### `name`<sup>Required</sup> <a name="name" id="@btc-embedded/cdk-extensions.ApplicationContainer.property.name"></a>
13966
+
13967
+ ```typescript
13968
+ public readonly name: string;
13969
+ ```
13970
+
13971
+ - *Type:* string
13972
+
13973
+ The name of the extension.
13974
+
13975
+ ---
13976
+
13977
+ ##### `container`<sup>Optional</sup> <a name="container" id="@btc-embedded/cdk-extensions.ApplicationContainer.property.container"></a>
13978
+
13979
+ ```typescript
13980
+ public readonly container: ContainerDefinition;
13981
+ ```
13982
+
13983
+ - *Type:* aws-cdk-lib.aws_ecs.ContainerDefinition
13984
+
13985
+ The container for this extension.
13986
+
13987
+ Most extensions have a container, but not
13988
+ every extension is required to have a container. Some extensions may just
13989
+ modify the properties of the service, or create external resources
13990
+ connected to the service.
13991
+
13992
+ ---
13993
+
13994
+ ##### `trafficPort`<sup>Required</sup> <a name="trafficPort" id="@btc-embedded/cdk-extensions.ApplicationContainer.property.trafficPort"></a>
13995
+
13996
+ ```typescript
13997
+ public readonly trafficPort: number;
13998
+ ```
13999
+
14000
+ - *Type:* number
14001
+
14002
+ The port on which the container expects to receive network traffic.
14003
+
14004
+ ---
14005
+
14006
+ ##### `logGroup`<sup>Optional</sup> <a name="logGroup" id="@btc-embedded/cdk-extensions.ApplicationContainer.property.logGroup"></a>
14007
+
14008
+ ```typescript
14009
+ public readonly logGroup: ILogGroup;
14010
+ ```
14011
+
14012
+ - *Type:* aws-cdk-lib.aws_logs.ILogGroup
14013
+
14014
+ The log group into which application container logs should be routed.
14015
+
14016
+ ---
14017
+
14018
+
12957
14019
  ### ApplicationLoadBalancerExtension <a name="ApplicationLoadBalancerExtension" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension"></a>
12958
14020
 
12959
14021
  #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtension.Initializer"></a>