cdk-nextjs 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +13834 -0
- package/.prettierrc +0 -0
- package/API.md +9655 -0
- package/LICENSE +202 -0
- package/README.md +164 -2
- package/THIRD-PARTY-LICENSES.md +31 -0
- package/assets/lambdas/assets-deployment/assets-deployment.lambda/assets-deployment.Dockerfile +18 -0
- package/assets/lambdas/assets-deployment/assets-deployment.lambda/index.js +8833 -0
- package/assets/lambdas/revalidate/revalidate.lambda/index.js +67 -0
- package/assets/lambdas/sign-fn-url/sign-fn-url.edge-lambda/index.js +2024 -0
- package/docs/breaking-changes.md +8 -0
- package/docs/cdk-nextjs-NextjsGlobalContainers.png +0 -0
- package/docs/cdk-nextjs-NextjsGlobalFunctions.png +0 -0
- package/docs/cdk-nextjs-NextjsRegionalContainers.png +0 -0
- package/docs/cdk-nextjs.drawio +163 -0
- package/docs/notes.md +26 -0
- package/examples/README.md +15 -0
- package/lib/common.d.ts +23 -0
- package/lib/common.js +28 -0
- package/lib/generated-structs/OptionalApplicationLoadBalancedTaskImageOptions.d.ts +106 -0
- package/lib/generated-structs/OptionalApplicationLoadBalancedTaskImageOptions.js +3 -0
- package/lib/generated-structs/OptionalCloudFrontFunctionProps.d.ts +43 -0
- package/lib/generated-structs/OptionalCloudFrontFunctionProps.js +3 -0
- package/lib/generated-structs/OptionalClusterProps.d.ts +62 -0
- package/lib/generated-structs/OptionalClusterProps.js +3 -0
- package/lib/generated-structs/OptionalDistributionProps.d.ts +155 -0
- package/lib/generated-structs/OptionalDistributionProps.js +3 -0
- package/lib/generated-structs/OptionalDockerImageAssetProps.d.ts +124 -0
- package/lib/generated-structs/OptionalDockerImageAssetProps.js +3 -0
- package/lib/generated-structs/OptionalDockerImageFunctionProps.d.ts +399 -0
- package/lib/generated-structs/OptionalDockerImageFunctionProps.js +3 -0
- package/lib/generated-structs/OptionalEdgeFunctionProps.d.ts +428 -0
- package/lib/generated-structs/OptionalEdgeFunctionProps.js +3 -0
- package/lib/generated-structs/OptionalFunctionProps.d.ts +422 -0
- package/lib/generated-structs/OptionalFunctionProps.js +3 -0
- package/lib/generated-structs/OptionalFunctionUrlProps.d.ts +30 -0
- package/lib/generated-structs/OptionalFunctionUrlProps.js +3 -0
- package/lib/generated-structs/OptionalNextjsAssetsDeploymentProps.d.ts +40 -0
- package/lib/generated-structs/OptionalNextjsAssetsDeploymentProps.js +3 -0
- package/lib/generated-structs/OptionalNextjsBuildProps.d.ts +26 -0
- package/lib/generated-structs/OptionalNextjsBuildProps.js +3 -0
- package/lib/generated-structs/OptionalNextjsContainersProps.d.ts +39 -0
- package/lib/generated-structs/OptionalNextjsContainersProps.js +3 -0
- package/lib/generated-structs/OptionalNextjsDistributionProps.d.ts +45 -0
- package/lib/generated-structs/OptionalNextjsDistributionProps.js +3 -0
- package/lib/generated-structs/OptionalNextjsFileSystemProps.d.ts +10 -0
- package/lib/generated-structs/OptionalNextjsFileSystemProps.js +3 -0
- package/lib/generated-structs/OptionalNextjsInvalidationProps.d.ts +11 -0
- package/lib/generated-structs/OptionalNextjsInvalidationProps.js +3 -0
- package/lib/generated-structs/OptionalNextjsVpcProps.d.ts +16 -0
- package/lib/generated-structs/OptionalNextjsVpcProps.js +3 -0
- package/lib/generated-structs/OptionalS3OriginBucketWithOACProps.d.ts +70 -0
- package/lib/generated-structs/OptionalS3OriginBucketWithOACProps.js +3 -0
- package/lib/generated-structs/OptionalVpcProps.d.ts +224 -0
- package/lib/generated-structs/OptionalVpcProps.js +3 -0
- package/lib/index.d.ts +35 -0
- package/lib/index.js +32 -0
- package/lib/lambdas/assets-deployment/assets-deployment-function.d.ts +13 -0
- package/lib/lambdas/assets-deployment/assets-deployment-function.js +22 -0
- package/lib/lambdas/assets-deployment/assets-deployment.lambda.d.ts +2 -0
- package/lib/lambdas/assets-deployment/assets-deployment.lambda.js +63 -0
- package/lib/lambdas/assets-deployment/common.d.ts +8 -0
- package/lib/lambdas/assets-deployment/common.js +32 -0
- package/lib/lambdas/assets-deployment/fs-to-fs.d.ts +2 -0
- package/lib/lambdas/assets-deployment/fs-to-fs.js +9 -0
- package/lib/lambdas/assets-deployment/fs-to-s3.d.ts +2 -0
- package/lib/lambdas/assets-deployment/fs-to-s3.js +45 -0
- package/lib/lambdas/assets-deployment/prune-s3.d.ts +15 -0
- package/lib/lambdas/assets-deployment/prune-s3.js +42 -0
- package/lib/lambdas/assets-deployment/s3.d.ts +2 -0
- package/lib/lambdas/assets-deployment/s3.js +7 -0
- package/lib/lambdas/assets-deployment/utils.d.ts +18 -0
- package/lib/lambdas/assets-deployment/utils.js +35 -0
- package/lib/lambdas/revalidate/revalidate-function.d.ts +13 -0
- package/lib/lambdas/revalidate/revalidate-function.js +22 -0
- package/lib/lambdas/revalidate/revalidate.lambda.d.ts +2 -0
- package/lib/lambdas/revalidate/revalidate.lambda.js +53 -0
- package/lib/lambdas/sign-fn-url/sign-fn-url-function.d.ts +13 -0
- package/lib/lambdas/sign-fn-url/sign-fn-url-function.js +23 -0
- package/lib/lambdas/sign-fn-url/sign-fn-url.edge-lambda.d.ts +9 -0
- package/lib/lambdas/sign-fn-url/sign-fn-url.edge-lambda.js +35 -0
- package/lib/lambdas/sign-fn-url/sign-request.d.ts +28 -0
- package/lib/lambdas/sign-fn-url/sign-request.js +119 -0
- package/lib/lambdas/sign-fn-url/sign-request.test.d.ts +1 -0
- package/lib/lambdas/sign-fn-url/sign-request.test.js +129 -0
- package/lib/nextjs-assets-deployment.d.ts +116 -0
- package/lib/nextjs-assets-deployment.js +93 -0
- package/lib/nextjs-build/add-cache-handler.d.ts +1 -0
- package/lib/nextjs-build/add-cache-handler.js +23 -0
- package/lib/nextjs-build/add-cache-handler.mjs +18 -0
- package/lib/nextjs-build/builder.Dockerfile +25 -0
- package/lib/nextjs-build/cache-handler.cjs +21080 -0
- package/lib/nextjs-build/cache-handler.d.ts +6 -0
- package/lib/nextjs-build/cache-handler.js +22 -0
- package/lib/nextjs-build/global-containers.Dockerfile +45 -0
- package/lib/nextjs-build/global-functions.Dockerfile +46 -0
- package/lib/nextjs-build/nextjs-build.d.ts +150 -0
- package/lib/nextjs-build/nextjs-build.js +220 -0
- package/lib/nextjs-build/regional-containers.Dockerfile +45 -0
- package/lib/nextjs-build/symlink-full-route-cache.d.ts +1 -0
- package/lib/nextjs-build/symlink-full-route-cache.js +37 -0
- package/lib/nextjs-build/symlink-full-route-cache.mjs +23 -0
- package/lib/nextjs-compute/nextjs-compute-base-props.d.ts +8 -0
- package/lib/nextjs-compute/nextjs-compute-base-props.js +3 -0
- package/lib/nextjs-compute/nextjs-containers.d.ts +43 -0
- package/lib/nextjs-compute/nextjs-containers.js +149 -0
- package/lib/nextjs-compute/nextjs-functions.d.ts +23 -0
- package/lib/nextjs-compute/nextjs-functions.js +57 -0
- package/lib/nextjs-distribution.d.ts +107 -0
- package/lib/nextjs-distribution.js +331 -0
- package/lib/nextjs-file-system.d.ts +42 -0
- package/lib/nextjs-file-system.js +74 -0
- package/lib/nextjs-invalidation.d.ts +19 -0
- package/lib/nextjs-invalidation.js +52 -0
- package/lib/nextjs-revalidation.d.ts +30 -0
- package/lib/nextjs-revalidation.js +65 -0
- package/lib/nextjs-static-assets.d.ts +21 -0
- package/lib/nextjs-static-assets.js +33 -0
- package/lib/nextjs-vpc.d.ts +42 -0
- package/lib/nextjs-vpc.js +64 -0
- package/lib/root-constructs/nextjs-base-overrides.d.ts +26 -0
- package/lib/root-constructs/nextjs-base-overrides.js +3 -0
- package/lib/root-constructs/nextjs-base-props.d.ts +56 -0
- package/lib/root-constructs/nextjs-base-props.js +3 -0
- package/lib/root-constructs/nextjs-global-containers.d.ts +74 -0
- package/lib/root-constructs/nextjs-global-containers.js +125 -0
- package/lib/root-constructs/nextjs-global-functions.d.ts +76 -0
- package/lib/root-constructs/nextjs-global-functions.js +131 -0
- package/lib/root-constructs/nextjs-regional-containers.d.ts +43 -0
- package/lib/root-constructs/nextjs-regional-containers.js +92 -0
- package/package.json +163 -2
- package/dist/index.js +0 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Breaking Changes
|
|
2
|
+
|
|
3
|
+
## 0.1.0
|
|
4
|
+
|
|
5
|
+
- Use `cloudfront.experimental.EdgeFunction` for SignFnUrl within `NextjsDistribution` resulting in "Error: stacks which use EdgeFunctions must have an explicitly set region" if you haven't explicitly set region.
|
|
6
|
+
- Omit `overrides` from following generated structs: `OptionalNextjsAssetsDeploymentProps`, `OptionalNextjsBuildProps`, `OptionalNextjsContainersProps`, `OptionalNextjsDistributionProps`, `OptionalNextjsFileSystemProps`, `OptionalNextjsInvalidationProps`, `OptionalNextjsVpcProps`.
|
|
7
|
+
- `NextjsGlobalFunctionsOverrides.nextjsFunction` -> `NextjsGlobalFunctionsOverrides.nextjsFunctions`
|
|
8
|
+
- `NextjsGlobalFunctionsConstructOverrides.nextjsFunction` -> `NextjsGlobalFunctionsConstructOverrides.nextjsFunctions`
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
<mxfile host="Electron" modified="2024-07-16T17:56:33.419Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.6.4 Chrome/124.0.6367.207 Electron/30.0.6 Safari/537.36" etag="s2FOGw2SrCRZGIgwF30Q" version="24.6.4" type="device" pages="3">
|
|
2
|
+
<diagram name="NextjsGlobalFunctions" id="VdQA3LVE7DweftUdzD3P">
|
|
3
|
+
<mxGraphModel dx="1706" dy="2033" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
|
4
|
+
<root>
|
|
5
|
+
<mxCell id="0" />
|
|
6
|
+
<mxCell id="1" parent="0" />
|
|
7
|
+
<mxCell id="CHCdaxanAGJLWUuyY2if-20" value="AWS Account" style="sketch=0;outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_aws_cloud;strokeColor=#AAB7B8;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;fontColor=#AAB7B8;dashed=0;" parent="1" vertex="1">
|
|
8
|
+
<mxGeometry x="-50" y="-1131" width="648" height="431" as="geometry" />
|
|
9
|
+
</mxCell>
|
|
10
|
+
<mxCell id="CHCdaxanAGJLWUuyY2if-23" value="VPC" style="points=[[0,0],[0.25,0],[0.5,0],[0.75,0],[1,0],[1,0.25],[1,0.5],[1,0.75],[1,1],[0.75,1],[0.5,1],[0.25,1],[0,1],[0,0.75],[0,0.5],[0,0.25]];outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;container=1;pointerEvents=0;collapsible=0;recursiveResize=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_vpc2;strokeColor=#8C4FFF;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;fontColor=#AAB7B8;dashed=0;" parent="1" vertex="1">
|
|
11
|
+
<mxGeometry x="262" y="-959" width="320" height="240" as="geometry" />
|
|
12
|
+
</mxCell>
|
|
13
|
+
<mxCell id="CHCdaxanAGJLWUuyY2if-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="CHCdaxanAGJLWUuyY2if-23" source="CHCdaxanAGJLWUuyY2if-28" target="CHCdaxanAGJLWUuyY2if-36" edge="1">
|
|
14
|
+
<mxGeometry relative="1" as="geometry" />
|
|
15
|
+
</mxCell>
|
|
16
|
+
<mxCell id="CHCdaxanAGJLWUuyY2if-28" value="Amazon EFS<br>Next.js Cache" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#7AA116;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.elastic_file_system;" parent="CHCdaxanAGJLWUuyY2if-23" vertex="1">
|
|
17
|
+
<mxGeometry x="199" y="93" width="78" height="78" as="geometry" />
|
|
18
|
+
</mxCell>
|
|
19
|
+
<mxCell id="CHCdaxanAGJLWUuyY2if-36" value="AWS Lambda<div>Next.js Server</div>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" parent="CHCdaxanAGJLWUuyY2if-23" vertex="1">
|
|
20
|
+
<mxGeometry x="52" y="93" width="78" height="78" as="geometry" />
|
|
21
|
+
</mxCell>
|
|
22
|
+
<mxCell id="CHCdaxanAGJLWUuyY2if-29" value="User" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3D;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.user;" parent="1" vertex="1">
|
|
23
|
+
<mxGeometry x="-162" y="-866" width="78" height="78" as="geometry" />
|
|
24
|
+
</mxCell>
|
|
25
|
+
<mxCell id="CHCdaxanAGJLWUuyY2if-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="CHCdaxanAGJLWUuyY2if-31" target="CHCdaxanAGJLWUuyY2if-33" edge="1">
|
|
26
|
+
<mxGeometry relative="1" as="geometry" />
|
|
27
|
+
</mxCell>
|
|
28
|
+
<mxCell id="CHCdaxanAGJLWUuyY2if-31" value="Next.js Static<div>Assets</div>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#7AA116;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.s3;" parent="1" vertex="1">
|
|
29
|
+
<mxGeometry x="4" y="-1084" width="78" height="78" as="geometry" />
|
|
30
|
+
</mxCell>
|
|
31
|
+
<mxCell id="CHCdaxanAGJLWUuyY2if-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="CHCdaxanAGJLWUuyY2if-33" target="CHCdaxanAGJLWUuyY2if-29" edge="1">
|
|
32
|
+
<mxGeometry relative="1" as="geometry" />
|
|
33
|
+
</mxCell>
|
|
34
|
+
<mxCell id="CHCdaxanAGJLWUuyY2if-33" value="Amazon<div>CloudFront</div>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloudfront;" parent="1" vertex="1">
|
|
35
|
+
<mxGeometry x="4" y="-866" width="78" height="78" as="geometry" />
|
|
36
|
+
</mxCell>
|
|
37
|
+
<mxCell id="3PakDuy6oaCmuudp73PV-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="3PakDuy6oaCmuudp73PV-1" target="3PakDuy6oaCmuudp73PV-2" edge="1">
|
|
38
|
+
<mxGeometry relative="1" as="geometry" />
|
|
39
|
+
</mxCell>
|
|
40
|
+
<mxCell id="3PakDuy6oaCmuudp73PV-1" value="Revalidation<div>Queue</div>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#E7157B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.sqs;" parent="1" vertex="1">
|
|
41
|
+
<mxGeometry x="314" y="-1084" width="78" height="78" as="geometry" />
|
|
42
|
+
</mxCell>
|
|
43
|
+
<mxCell id="3PakDuy6oaCmuudp73PV-2" value="Revalidation<div>Function</div>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" parent="1" vertex="1">
|
|
44
|
+
<mxGeometry x="456" y="-1084" width="78" height="78" as="geometry" />
|
|
45
|
+
</mxCell>
|
|
46
|
+
<mxCell id="3PakDuy6oaCmuudp73PV-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="CHCdaxanAGJLWUuyY2if-36" target="3PakDuy6oaCmuudp73PV-1" edge="1">
|
|
47
|
+
<mxGeometry relative="1" as="geometry" />
|
|
48
|
+
</mxCell>
|
|
49
|
+
<mxCell id="5jFSdina0rUyl2Mg5fbX-3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="5jFSdina0rUyl2Mg5fbX-1" target="CHCdaxanAGJLWUuyY2if-33">
|
|
50
|
+
<mxGeometry relative="1" as="geometry" />
|
|
51
|
+
</mxCell>
|
|
52
|
+
<mxCell id="5jFSdina0rUyl2Mg5fbX-1" value="Lambda@Edge<div>Function URL Signer</div>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="1">
|
|
53
|
+
<mxGeometry x="144" y="-866" width="78" height="78" as="geometry" />
|
|
54
|
+
</mxCell>
|
|
55
|
+
<mxCell id="5jFSdina0rUyl2Mg5fbX-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="CHCdaxanAGJLWUuyY2if-36" target="5jFSdina0rUyl2Mg5fbX-1">
|
|
56
|
+
<mxGeometry relative="1" as="geometry" />
|
|
57
|
+
</mxCell>
|
|
58
|
+
<mxCell id="fRqXjGcpCBI0vAVTTnFA-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="3PakDuy6oaCmuudp73PV-2" target="CHCdaxanAGJLWUuyY2if-33">
|
|
59
|
+
<mxGeometry relative="1" as="geometry">
|
|
60
|
+
<Array as="points">
|
|
61
|
+
<mxPoint x="495" y="-909" />
|
|
62
|
+
<mxPoint x="43" y="-909" />
|
|
63
|
+
</Array>
|
|
64
|
+
</mxGeometry>
|
|
65
|
+
</mxCell>
|
|
66
|
+
</root>
|
|
67
|
+
</mxGraphModel>
|
|
68
|
+
</diagram>
|
|
69
|
+
<diagram name="NextjsGlobalContainers" id="ILap_0SL7RCKmGOs0Yme">
|
|
70
|
+
<mxGraphModel dx="1706" dy="1633" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
|
71
|
+
<root>
|
|
72
|
+
<mxCell id="7UdSrgGfk-083ZtRJQ8L-0" />
|
|
73
|
+
<mxCell id="7UdSrgGfk-083ZtRJQ8L-1" parent="7UdSrgGfk-083ZtRJQ8L-0" />
|
|
74
|
+
<mxCell id="7UdSrgGfk-083ZtRJQ8L-15" value="AWS Account" style="sketch=0;outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_aws_cloud;strokeColor=#AAB7B8;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;fontColor=#AAB7B8;dashed=0;" parent="7UdSrgGfk-083ZtRJQ8L-1" vertex="1">
|
|
75
|
+
<mxGeometry x="-50" y="-591" width="709" height="431" as="geometry" />
|
|
76
|
+
</mxCell>
|
|
77
|
+
<mxCell id="7UdSrgGfk-083ZtRJQ8L-16" value="Private subnet" style="points=[[0,0],[0.25,0],[0.5,0],[0.75,0],[1,0],[1,0.25],[1,0.5],[1,0.75],[1,1],[0.75,1],[0.5,1],[0.25,1],[0,1],[0,0.75],[0,0.5],[0,0.25]];outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;container=1;pointerEvents=0;collapsible=0;recursiveResize=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_security_group;grStroke=0;strokeColor=#00A4A6;fillColor=#E6F6F7;verticalAlign=top;align=left;spacingLeft=30;fontColor=#147EBA;dashed=0;" parent="7UdSrgGfk-083ZtRJQ8L-1" vertex="1">
|
|
78
|
+
<mxGeometry x="314" y="-385" width="312" height="186" as="geometry" />
|
|
79
|
+
</mxCell>
|
|
80
|
+
<mxCell id="7UdSrgGfk-083ZtRJQ8L-17" value="Public subnet" style="points=[[0,0],[0.25,0],[0.5,0],[0.75,0],[1,0],[1,0.25],[1,0.5],[1,0.75],[1,1],[0.75,1],[0.5,1],[0.25,1],[0,1],[0,0.75],[0,0.5],[0,0.25]];outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;container=1;pointerEvents=0;collapsible=0;recursiveResize=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_security_group;grStroke=0;strokeColor=#7AA116;fillColor=#F2F6E8;verticalAlign=top;align=left;spacingLeft=30;fontColor=#248814;dashed=0;" parent="7UdSrgGfk-083ZtRJQ8L-1" vertex="1">
|
|
81
|
+
<mxGeometry x="145" y="-385" width="164" height="185" as="geometry" />
|
|
82
|
+
</mxCell>
|
|
83
|
+
<mxCell id="7UdSrgGfk-083ZtRJQ8L-18" value="VPC" style="points=[[0,0],[0.25,0],[0.5,0],[0.75,0],[1,0],[1,0.25],[1,0.5],[1,0.75],[1,1],[0.75,1],[0.5,1],[0.25,1],[0,1],[0,0.75],[0,0.5],[0,0.25]];outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;container=1;pointerEvents=0;collapsible=0;recursiveResize=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_vpc2;strokeColor=#8C4FFF;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;fontColor=#AAB7B8;dashed=0;" parent="7UdSrgGfk-083ZtRJQ8L-1" vertex="1">
|
|
84
|
+
<mxGeometry x="132" y="-419" width="503" height="240" as="geometry" />
|
|
85
|
+
</mxCell>
|
|
86
|
+
<mxCell id="7UdSrgGfk-083ZtRJQ8L-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="7UdSrgGfk-083ZtRJQ8L-18" source="7UdSrgGfk-083ZtRJQ8L-20" target="7UdSrgGfk-083ZtRJQ8L-21" edge="1">
|
|
87
|
+
<mxGeometry relative="1" as="geometry" />
|
|
88
|
+
</mxCell>
|
|
89
|
+
<mxCell id="7UdSrgGfk-083ZtRJQ8L-20" value="AWS Fargate<br>Next.js Server" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.fargate;" parent="7UdSrgGfk-083ZtRJQ8L-18" vertex="1">
|
|
90
|
+
<mxGeometry x="230" y="93" width="78" height="78" as="geometry" />
|
|
91
|
+
</mxCell>
|
|
92
|
+
<mxCell id="7UdSrgGfk-083ZtRJQ8L-21" value="Application Load<div>Balancer</div>" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#8C4FFF;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.application_load_balancer;" parent="7UdSrgGfk-083ZtRJQ8L-18" vertex="1">
|
|
93
|
+
<mxGeometry x="51" y="93" width="78" height="78" as="geometry" />
|
|
94
|
+
</mxCell>
|
|
95
|
+
<mxCell id="7UdSrgGfk-083ZtRJQ8L-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="7UdSrgGfk-083ZtRJQ8L-18" source="7UdSrgGfk-083ZtRJQ8L-23" target="7UdSrgGfk-083ZtRJQ8L-20" edge="1">
|
|
96
|
+
<mxGeometry relative="1" as="geometry" />
|
|
97
|
+
</mxCell>
|
|
98
|
+
<mxCell id="7UdSrgGfk-083ZtRJQ8L-23" value="Amazon EFS<br>Next.js Cache" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#7AA116;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.elastic_file_system;" parent="7UdSrgGfk-083ZtRJQ8L-18" vertex="1">
|
|
99
|
+
<mxGeometry x="379" y="93" width="78" height="78" as="geometry" />
|
|
100
|
+
</mxCell>
|
|
101
|
+
<mxCell id="7UdSrgGfk-083ZtRJQ8L-24" value="User" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3D;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.user;" parent="7UdSrgGfk-083ZtRJQ8L-1" vertex="1">
|
|
102
|
+
<mxGeometry x="-162" y="-326" width="78" height="78" as="geometry" />
|
|
103
|
+
</mxCell>
|
|
104
|
+
<mxCell id="7UdSrgGfk-083ZtRJQ8L-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="7UdSrgGfk-083ZtRJQ8L-1" source="7UdSrgGfk-083ZtRJQ8L-26" target="7UdSrgGfk-083ZtRJQ8L-28" edge="1">
|
|
105
|
+
<mxGeometry relative="1" as="geometry" />
|
|
106
|
+
</mxCell>
|
|
107
|
+
<mxCell id="7UdSrgGfk-083ZtRJQ8L-26" value="Next.js Static<div>Assets</div>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#7AA116;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.s3;" parent="7UdSrgGfk-083ZtRJQ8L-1" vertex="1">
|
|
108
|
+
<mxGeometry x="4" y="-544" width="78" height="78" as="geometry" />
|
|
109
|
+
</mxCell>
|
|
110
|
+
<mxCell id="7UdSrgGfk-083ZtRJQ8L-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="7UdSrgGfk-083ZtRJQ8L-1" source="7UdSrgGfk-083ZtRJQ8L-28" target="7UdSrgGfk-083ZtRJQ8L-24" edge="1">
|
|
111
|
+
<mxGeometry relative="1" as="geometry" />
|
|
112
|
+
</mxCell>
|
|
113
|
+
<mxCell id="7UdSrgGfk-083ZtRJQ8L-28" value="Amazon<div>CloudFront</div>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloudfront;" parent="7UdSrgGfk-083ZtRJQ8L-1" vertex="1">
|
|
114
|
+
<mxGeometry x="4" y="-326" width="78" height="78" as="geometry" />
|
|
115
|
+
</mxCell>
|
|
116
|
+
<mxCell id="7UdSrgGfk-083ZtRJQ8L-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="7UdSrgGfk-083ZtRJQ8L-1" source="7UdSrgGfk-083ZtRJQ8L-21" target="7UdSrgGfk-083ZtRJQ8L-28" edge="1">
|
|
117
|
+
<mxGeometry relative="1" as="geometry" />
|
|
118
|
+
</mxCell>
|
|
119
|
+
</root>
|
|
120
|
+
</mxGraphModel>
|
|
121
|
+
</diagram>
|
|
122
|
+
<diagram name="NextjsRegionalContainers" id="qMukrG_LbAf3OZY481iW">
|
|
123
|
+
<mxGraphModel dx="1706" dy="833" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
|
124
|
+
<root>
|
|
125
|
+
<mxCell id="ZM6Z_FSj9kd4RMqbAZD0-0" />
|
|
126
|
+
<mxCell id="ZM6Z_FSj9kd4RMqbAZD0-1" parent="ZM6Z_FSj9kd4RMqbAZD0-0" />
|
|
127
|
+
<mxCell id="ZM6Z_FSj9kd4RMqbAZD0-2" value="AWS Account" style="sketch=0;outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_aws_cloud;strokeColor=#AAB7B8;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;fontColor=#AAB7B8;dashed=0;" parent="ZM6Z_FSj9kd4RMqbAZD0-1" vertex="1">
|
|
128
|
+
<mxGeometry x="-43" y="86" width="540" height="294" as="geometry" />
|
|
129
|
+
</mxCell>
|
|
130
|
+
<mxCell id="ZM6Z_FSj9kd4RMqbAZD0-3" value="Private subnet" style="points=[[0,0],[0.25,0],[0.5,0],[0.75,0],[1,0],[1,0.25],[1,0.5],[1,0.75],[1,1],[0.75,1],[0.5,1],[0.25,1],[0,1],[0,0.75],[0,0.5],[0,0.25]];outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;container=1;pointerEvents=0;collapsible=0;recursiveResize=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_security_group;grStroke=0;strokeColor=#00A4A6;fillColor=#E6F6F7;verticalAlign=top;align=left;spacingLeft=30;fontColor=#147EBA;dashed=0;" parent="ZM6Z_FSj9kd4RMqbAZD0-1" vertex="1">
|
|
131
|
+
<mxGeometry x="151" y="155" width="312" height="186" as="geometry" />
|
|
132
|
+
</mxCell>
|
|
133
|
+
<mxCell id="ZM6Z_FSj9kd4RMqbAZD0-4" value="Public subnet" style="points=[[0,0],[0.25,0],[0.5,0],[0.75,0],[1,0],[1,0.25],[1,0.5],[1,0.75],[1,1],[0.75,1],[0.5,1],[0.25,1],[0,1],[0,0.75],[0,0.5],[0,0.25]];outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;container=1;pointerEvents=0;collapsible=0;recursiveResize=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_security_group;grStroke=0;strokeColor=#7AA116;fillColor=#F2F6E8;verticalAlign=top;align=left;spacingLeft=30;fontColor=#248814;dashed=0;" parent="ZM6Z_FSj9kd4RMqbAZD0-1" vertex="1">
|
|
134
|
+
<mxGeometry x="-18" y="155" width="164" height="185" as="geometry" />
|
|
135
|
+
</mxCell>
|
|
136
|
+
<mxCell id="ZM6Z_FSj9kd4RMqbAZD0-5" value="VPC" style="points=[[0,0],[0.25,0],[0.5,0],[0.75,0],[1,0],[1,0.25],[1,0.5],[1,0.75],[1,1],[0.75,1],[0.5,1],[0.25,1],[0,1],[0,0.75],[0,0.5],[0,0.25]];outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;container=1;pointerEvents=0;collapsible=0;recursiveResize=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_vpc2;strokeColor=#8C4FFF;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;fontColor=#AAB7B8;dashed=0;" parent="ZM6Z_FSj9kd4RMqbAZD0-1" vertex="1">
|
|
137
|
+
<mxGeometry x="-31" y="121" width="503" height="240" as="geometry" />
|
|
138
|
+
</mxCell>
|
|
139
|
+
<mxCell id="ZM6Z_FSj9kd4RMqbAZD0-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="ZM6Z_FSj9kd4RMqbAZD0-5" source="ZM6Z_FSj9kd4RMqbAZD0-7" target="ZM6Z_FSj9kd4RMqbAZD0-8" edge="1">
|
|
140
|
+
<mxGeometry relative="1" as="geometry" />
|
|
141
|
+
</mxCell>
|
|
142
|
+
<mxCell id="ZM6Z_FSj9kd4RMqbAZD0-7" value="AWS Fargate<div>Next.js Server</div>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.fargate;" parent="ZM6Z_FSj9kd4RMqbAZD0-5" vertex="1">
|
|
143
|
+
<mxGeometry x="230" y="93" width="78" height="78" as="geometry" />
|
|
144
|
+
</mxCell>
|
|
145
|
+
<mxCell id="ZM6Z_FSj9kd4RMqbAZD0-8" value="Application Load<div>Balancer</div>" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#8C4FFF;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.application_load_balancer;" parent="ZM6Z_FSj9kd4RMqbAZD0-5" vertex="1">
|
|
146
|
+
<mxGeometry x="51" y="93" width="78" height="78" as="geometry" />
|
|
147
|
+
</mxCell>
|
|
148
|
+
<mxCell id="ZM6Z_FSj9kd4RMqbAZD0-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="ZM6Z_FSj9kd4RMqbAZD0-5" source="ZM6Z_FSj9kd4RMqbAZD0-10" target="ZM6Z_FSj9kd4RMqbAZD0-7" edge="1">
|
|
149
|
+
<mxGeometry relative="1" as="geometry" />
|
|
150
|
+
</mxCell>
|
|
151
|
+
<mxCell id="ZM6Z_FSj9kd4RMqbAZD0-10" value="Amazon EFS<div>Next.js Cache</div>" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#7AA116;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.elastic_file_system;" parent="ZM6Z_FSj9kd4RMqbAZD0-5" vertex="1">
|
|
152
|
+
<mxGeometry x="379" y="93" width="78" height="78" as="geometry" />
|
|
153
|
+
</mxCell>
|
|
154
|
+
<mxCell id="ZM6Z_FSj9kd4RMqbAZD0-11" value="User" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;fillColor=#232F3D;strokeColor=none;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.user;" parent="ZM6Z_FSj9kd4RMqbAZD0-1" vertex="1">
|
|
155
|
+
<mxGeometry x="-155" y="214" width="78" height="78" as="geometry" />
|
|
156
|
+
</mxCell>
|
|
157
|
+
<mxCell id="ZM6Z_FSj9kd4RMqbAZD0-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="ZM6Z_FSj9kd4RMqbAZD0-1" source="ZM6Z_FSj9kd4RMqbAZD0-8" target="ZM6Z_FSj9kd4RMqbAZD0-11" edge="1">
|
|
158
|
+
<mxGeometry relative="1" as="geometry" />
|
|
159
|
+
</mxCell>
|
|
160
|
+
</root>
|
|
161
|
+
</mxGraphModel>
|
|
162
|
+
</diagram>
|
|
163
|
+
</mxfile>
|
package/docs/notes.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Development Notes
|
|
2
|
+
|
|
3
|
+
## Verify EFS FileSystem Cache
|
|
4
|
+
|
|
5
|
+
EFS FileSystem acts as a shared cache between all containers/functions for the data, image, and full route cache. The folder structure should looks like:
|
|
6
|
+
|
|
7
|
+
- /mnt/cdk-nextjs-cache/data-cache
|
|
8
|
+
- /mnt/cdk-nextjs-cache/full-route-cache
|
|
9
|
+
- /mnt/cdk-nextjs-cache/image-cache
|
|
10
|
+
|
|
11
|
+
Directory names are defined in src/common.ts.
|
|
12
|
+
|
|
13
|
+
To verify cache is working, deploy one of the example apps and visit the /run-command page. Then enter the following commands and ensure they create a similar output.
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
Command: readlink .next/cache/images
|
|
17
|
+
Output: /mnt/cdk-nextjs-cache/image-cache
|
|
18
|
+
Command: readlink .next/cache/fetch-cache
|
|
19
|
+
Output: /mnt/cdk-nextjs-cache/data-cache
|
|
20
|
+
Command: ls /mnt/cdk-nextjs-cache/data-cache
|
|
21
|
+
Output: 1c5e7e075ef14fa7ed6ffe8ddc77bb5ba682a0d32e11acbe88fe0e997141343e 7219caec2df443d9c8453d2d63f9893f701fcc35e6a25a9d227652a1860296a1 7d6a754bbf6a88893a7123d28dc4d99c0813c646abbb712ad85d949bbd528618 8fd064b67046e3d373dd7c2bc22e20d58fd95ef2491850ab77e9799d8b6d7735 de9b0bb0b5134c02dc2ff1dc9b2188f6216d4e811186fd985cd1cbaa6e9d0a1f
|
|
22
|
+
Command: ls /mnt/cdk-nextjs-cache/image-cache
|
|
23
|
+
Output: JYUtmef0DjkFQBxgsZ4K51CyobxYqyXBOvpSFb3ef7A= W6NDSUrhApOUZ4FyFWfd9v9X2cg7z8q0yMXrZJXKukg= cDAs51Uqt+J3vNO04jH5dabjvVQCZTnpDXhoTP33MZ0= e+zuNPfk4gSKu7yTQM9sQdYvumEtD2PdVMrTiufiMZQ= l5tUrCT-iGRZlDIrNy1hz8efSOKpZwGyWBNiRrXaWVk= ylPcKFlKY2WHZ2w4sxKad3Lz8XcBPm2WyaOReb9Nkts= zH4wuKm9DtE-hgBK4G06DUDXNgdbaYeoGwidFJUkYUI=
|
|
24
|
+
Command: ls -l .next/server/app
|
|
25
|
+
Output: total 112 drwxr-xr-x 2 nextjs nodejs 4096 Jun 7 10:37 _not-found lrwxrwxrwx 1 root root 54 Jun 7 12:37 _not-found.html -> /mnt/cdk-nextjs-cache/full-route-cache/_not-found.html lrwxrwxrwx 1 root root 54 Jun 7 12:37 _not-found.meta -> /mnt/cdk-nextjs-cache/full-route-cache/_not-found.meta lrwxrwxrwx 1 root root 53 Jun 7 12:37 _not-found.rsc -> /mnt/cdk-nextjs-cache/full-route-cache/_not-found.rsc drwxr-xr-x 1 nextjs nodejs 4096 Jun 7 12:37 api drwxr-xr-x 3 nextjs nodejs 4096 Jun 7 10:37 context lrwxrwxrwx 1 root root 51 Jun 7 12:37 context.html -> /mnt/cdk-nextjs-cache/full-route-cache/context.html lrwxrwxrwx 1 root root 51 Jun 7 12:37 context.meta -> /mnt/cdk-nextjs-cache/full-route-cache/context.meta lrwxrwxrwx 1 root root 50 Jun 7 12:37 context.rsc -> /mnt/cdk-nextjs-cache/full-route-cache/context.rsc drwxr-xr-x 3 nextjs nodejs 4096 Jun 7 10:37 error-handling lrwxrwxrwx 1 root root 58 Jun 7 12:37 error-handling.html -> /mnt/cdk-nextjs-cache/full-route-cache/error-handling.html lrwxrwxrwx 1 root root 58 Jun 7 12:37 error-handling.meta -> /mnt/cdk-nextjs-cache/full-route-cache/error-handling.meta lrwxrwxrwx 1 root root 57 Jun 7 12:37 error-handling.rsc -> /mnt/cdk-nextjs-cache/full-route-cache/error-handling.rsc drwxr-xr-x 2 nextjs nodejs 4096 Jun 7 10:37 favicon.ico -rw-r--r-- 1 nextjs nodejs 15086 Jun 7 10:37 favicon.ico.body lrwxrwxrwx 1 root root 55 Jun 7 12:37 favicon.ico.meta -> /mnt/cdk-nextjs-cache/full-route-cache/favicon.ico.meta drwxr-xr-x 3 nextjs nodejs 4096 Jun 7 10:37 hooks lrwxrwxrwx 1 root root 49 Jun 7 12:37 hooks.html -> /mnt/cdk-nextjs-cache/full-route-cache/hooks.html lrwxrwxrwx 1 root root 49 Jun 7 12:37 hooks.meta -> /mnt/cdk-nextjs-cache/full-route-cache/hooks.meta lrwxrwxrwx 1 root root 48 Jun 7 12:37 hooks.rsc -> /mnt/cdk-nextjs-cache/full-route-cache/hooks.rsc lrwxrwxrwx 1 root root 49 Jun 7 12:37 index.html -> /mnt/cdk-nextjs-cache/full-route-cache/index.html lrwxrwxrwx 1 root root 49 Jun 7 12:37 index.meta -> /mnt/cdk-nextjs-cache/full-route-cache/index.meta lrwxrwxrwx 1 root root 48 Jun 7 12:37 index.rsc -> /mnt/cdk-nextjs-cache/full-route-cache/index.rsc drwxr-xr-x 1 nextjs nodejs 4096 Jun 7 12:37 isr lrwxrwxrwx 1 root root 47 Jun 7 12:37 isr.html -> /mnt/cdk-nextjs-cache/full-route-cache/isr.html lrwxrwxrwx 1 root root 47 Jun 7 12:37 isr.meta -> /mnt/cdk-nextjs-cache/full-route-cache/isr.meta lrwxrwxrwx 1 root root 46 Jun 7 12:37 isr.rsc -> /mnt/cdk-nextjs-cache/full-route-cache/isr.rsc drwxr-xr-x 3 nextjs nodejs 4096 Jun 7 10:37 layouts lrwxrwxrwx 1 root root 51 Jun 7 12:37 layouts.html -> /mnt/cdk-nextjs-cache/full-route-cache/layouts.html lrwxrwxrwx 1 root root 51 Jun 7 12:37 layouts.meta -> /mnt/cdk-nextjs-cache/full-route-cache/layouts.meta lrwxrwxrwx 1 root root 50 Jun 7 12:37 layouts.rsc -> /mnt/cdk-nextjs-cache/full-route-cache/layouts.rsc drwxr-xr-x 3 nextjs nodejs 4096 Jun 7 10:37 loading lrwxrwxrwx 1 root root 51 Jun 7 12:37 loading.html -> /mnt/cdk-nextjs-cache/full-route-cache/loading.html lrwxrwxrwx 1 root root 51 Jun 7 12:37 loading.meta -> /mnt/cdk-nextjs-cache/full-route-cache/loading.meta lrwxrwxrwx 1 root root 50 Jun 7 12:37 loading.rsc -> /mnt/cdk-nextjs-cache/full-route-cache/loading.rsc drwxr-xr-x 3 nextjs nodejs 4096 Jun 7 10:37 not-found lrwxrwxrwx 1 root root 53 Jun 7 12:37 not-found.html -> /mnt/cdk-nextjs-cache/full-route-cache/not-found.html lrwxrwxrwx 1 root root 53 Jun 7 12:37 not-found.meta -> /mnt/cdk-nextjs-cache/full-route-cache/not-found.meta lrwxrwxrwx 1 root root 52 Jun 7 12:37 not-found.rsc -> /mnt/cdk-nextjs-cache/full-route-cache/not-found.rsc -rw-r--r-- 1 nextjs nodejs 5076 Jun 7 10:37 page.js -rw-r--r-- 1 nextjs nodejs 2390 Jun 7 10:37 page.js.nft.json -rw-r--r-- 1 nextjs nodejs 12281 Jun 7 10:37 page_client-reference-manifest.js drwxr-xr-x 1 nextjs nodejs 4096 Jun 7 12:37 parallel-routes lrwxrwxrwx 1 root root 59 Jun 7 12:37 parallel-routes.html -> /mnt/cdk-nextjs-cache/full-route-cache/parallel-routes.html lrwxrwxrwx 1 root root 59 Jun 7 12:37 parallel-routes.meta -> /mnt/cdk-nextjs-cache/full-route-cache/parallel-routes.meta lrwxrwxrwx 1 root root 58 Jun 7 12:37 parallel-routes.rsc -> /mnt/cdk-nextjs-cache/full-route-cache/parallel-routes.rsc drwxr-xr-x 1 nextjs nodejs 4096 Jun 7 12:37 patterns lrwxrwxrwx 1 root root 52 Jun 7 12:37 patterns.html -> /mnt/cdk-nextjs-cache/full-route-cache/patterns.html lrwxrwxrwx 1 root root 52 Jun 7 12:37 patterns.meta -> /mnt/cdk-nextjs-cache/full-route-cache/patterns.meta lrwxrwxrwx 1 root root 51 Jun 7 12:37 patterns.rsc -> /mnt/cdk-nextjs-cache/full-route-cache/patterns.rsc drwxr-xr-x 1 nextjs nodejs 4096 Jun 7 12:37 route-groups lrwxrwxrwx 1 root root 56 Jun 7 12:37 route-groups.html -> /mnt/cdk-nextjs-cache/full-route-cache/route-groups.html lrwxrwxrwx 1 root root 56 Jun 7 12:37 route-groups.meta -> /mnt/cdk-nextjs-cache/full-route-cache/route-groups.meta lrwxrwxrwx 1 root root 55 Jun 7 12:37 route-groups.rsc -> /mnt/cdk-nextjs-cache/full-route-cache/route-groups.rsc drwxr-xr-x 2 nextjs nodejs 4096 Jun 7 10:37 run-command lrwxrwxrwx 1 root root 55 Jun 7 12:37 run-command.html -> /mnt/cdk-nextjs-cache/full-route-cache/run-command.html lrwxrwxrwx 1 root root 55 Jun 7 12:37 run-command.meta -> /mnt/cdk-nextjs-cache/full-route-cache/run-command.meta lrwxrwxrwx 1 root root 54 Jun 7 12:37 run-command.rsc -> /mnt/cdk-nextjs-cache/full-route-cache/run-command.rsc drwxr-xr-x 1 nextjs nodejs 4096 Jun 7 12:37 ssg lrwxrwxrwx 1 root root 47 Jun 7 12:37 ssg.html -> /mnt/cdk-nextjs-cache/full-route-cache/ssg.html lrwxrwxrwx 1 root root 47 Jun 7 12:37 ssg.meta -> /mnt/cdk-nextjs-cache/full-route-cache/ssg.meta lrwxrwxrwx 1 root root 46 Jun 7 12:37 ssg.rsc -> /mnt/cdk-nextjs-cache/full-route-cache/ssg.rsc drwxr-xr-x 3 nextjs nodejs 4096 Jun 7 10:37 ssr lrwxrwxrwx 1 root root 47 Jun 7 12:37 ssr.html -> /mnt/cdk-nextjs-cache/full-route-cache/ssr.html lrwxrwxrwx 1 root root 47 Jun 7 12:37 ssr.meta -> /mnt/cdk-nextjs-cache/full-route-cache/ssr.meta lrwxrwxrwx 1 root root 46 Jun 7 12:37 ssr.rsc -> /mnt/cdk-nextjs-cache/full-route-cache/ssr.rsc drwxr-xr-x 4 nextjs nodejs 4096 Jun 7 10:37 streaming lrwxrwxrwx 1 root root 53 Jun 7 12:37 streaming.html -> /mnt/cdk-nextjs-cache/full-route-cache/streaming.html lrwxrwxrwx 1 root root 53 Jun 7 12:37 streaming.meta -> /mnt/cdk-nextjs-cache/full-route-cache/streaming.meta lrwxrwxrwx 1 root root 52 Jun 7 12:37 streaming.rsc -> /mnt/cdk-nextjs-cache/full-route-cache/streaming.rsc drwxr-xr-x 1 nextjs nodejs 4096 Jun 7 12:37 styling lrwxrwxrwx 1 root root 51 Jun 7 12:37 styling.html -> /mnt/cdk-nextjs-cache/full-route-cache/styling.html lrwxrwxrwx 1 root root 51 Jun 7 12:37 styling.meta -> /mnt/cdk-nextjs-cache/full-route-cache/styling.meta lrwxrwxrwx 1 root root 50 Jun 7 12:37 styling.rsc -> /mnt/cdk-nextjs-cache/full-route-cache/styling.rsc
|
|
26
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# cdk-nextjs Example App
|
|
2
|
+
|
|
3
|
+
Example Next.js app based on [App Playground](https://app-router.vercel.app/) with various configurations to showcase features of cdk-nextjs.
|
|
4
|
+
|
|
5
|
+
## Setup
|
|
6
|
+
|
|
7
|
+
1. Follow setup steps in parent README [Contributing](../README.md#contributing) section
|
|
8
|
+
1. Install dependencies: `cd examples && pnpm i`
|
|
9
|
+
1. `cd cloudfront-lambda` for example. Tryout any of the other examples as well.
|
|
10
|
+
1. Create .env.local with `AWS_PROFILE="your-profile"` in the package you want to deploy. For setting up `AWS_PROFILE`, see: [AWS security credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html). Ensure `CDK_DEFAULT_ACCOUNT` and `CDK_DEFAULT_REGION` env vars are resolved during synthesis. See more at: [How to specify environments with the AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/configure-env.html).
|
|
11
|
+
1. `pnpm cdk deploy --require-approval never`
|
|
12
|
+
|
|
13
|
+
# Notes on app-playground
|
|
14
|
+
|
|
15
|
+
The app-playground app comes from https://github.com/vercel/app-playground. In order to incorporate upstream changes, follow instructions [here](https://stackoverflow.com/a/24816134/9658768). Don't want to use git submodule because we need to make some modifications to code like add `output: 'standalone'` and including in pnpm monorepo.
|
package/lib/common.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare enum NextjsType {
|
|
2
|
+
GLOBAL_CONTAINERS = "GLOBAL_CONTAINERS",
|
|
3
|
+
GLOBAL_FUNCTIONS = "GLOBAL_FUNCTIONS",
|
|
4
|
+
REGIONAL_CONTAINERS = "REGIONAL_CONTAINERS"
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Directory of Next.js Data Cache in EFS
|
|
8
|
+
*
|
|
9
|
+
* /mnt/cdk-nextjs-cache/data-cache
|
|
10
|
+
*/
|
|
11
|
+
export declare const DATA_CACHE_DIR = "data-cache";
|
|
12
|
+
/**
|
|
13
|
+
* Directory of Next.js Image Cache in EFS
|
|
14
|
+
*
|
|
15
|
+
* /mnt/cdk-nextjs-cache/image-cache
|
|
16
|
+
*/
|
|
17
|
+
export declare const IMAGE_CACHE_DIR = "image-cache";
|
|
18
|
+
/**
|
|
19
|
+
* Directory of Next.js Full Route Cache in EFS
|
|
20
|
+
*
|
|
21
|
+
* /mnt/cdk-nextjs-cache/full-route-cache
|
|
22
|
+
*/
|
|
23
|
+
export declare const FULL_ROUTE_CACHE_DIR = "full-route-cache";
|
package/lib/common.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FULL_ROUTE_CACHE_DIR = exports.IMAGE_CACHE_DIR = exports.DATA_CACHE_DIR = exports.NextjsType = void 0;
|
|
4
|
+
var NextjsType;
|
|
5
|
+
(function (NextjsType) {
|
|
6
|
+
NextjsType["GLOBAL_CONTAINERS"] = "GLOBAL_CONTAINERS";
|
|
7
|
+
NextjsType["GLOBAL_FUNCTIONS"] = "GLOBAL_FUNCTIONS";
|
|
8
|
+
NextjsType["REGIONAL_CONTAINERS"] = "REGIONAL_CONTAINERS";
|
|
9
|
+
})(NextjsType || (exports.NextjsType = NextjsType = {}));
|
|
10
|
+
/**
|
|
11
|
+
* Directory of Next.js Data Cache in EFS
|
|
12
|
+
*
|
|
13
|
+
* /mnt/cdk-nextjs-cache/data-cache
|
|
14
|
+
*/
|
|
15
|
+
exports.DATA_CACHE_DIR = "data-cache";
|
|
16
|
+
/**
|
|
17
|
+
* Directory of Next.js Image Cache in EFS
|
|
18
|
+
*
|
|
19
|
+
* /mnt/cdk-nextjs-cache/image-cache
|
|
20
|
+
*/
|
|
21
|
+
exports.IMAGE_CACHE_DIR = "image-cache";
|
|
22
|
+
/**
|
|
23
|
+
* Directory of Next.js Full Route Cache in EFS
|
|
24
|
+
*
|
|
25
|
+
* /mnt/cdk-nextjs-cache/full-route-cache
|
|
26
|
+
*/
|
|
27
|
+
exports.FULL_ROUTE_CACHE_DIR = "full-route-cache";
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLFVBSVg7QUFKRCxXQUFZLFVBQVU7SUFDcEIscURBQXVDLENBQUE7SUFDdkMsbURBQXFDLENBQUE7SUFDckMseURBQTJDLENBQUE7QUFDN0MsQ0FBQyxFQUpXLFVBQVUsMEJBQVYsVUFBVSxRQUlyQjtBQUVEOzs7O0dBSUc7QUFDVSxRQUFBLGNBQWMsR0FBRyxZQUFZLENBQUM7QUFDM0M7Ozs7R0FJRztBQUNVLFFBQUEsZUFBZSxHQUFHLGFBQWEsQ0FBQztBQUM3Qzs7OztHQUlHO0FBQ1UsUUFBQSxvQkFBb0IsR0FBRyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE5leHRqc1R5cGUge1xuICBHTE9CQUxfQ09OVEFJTkVSUyA9IFwiR0xPQkFMX0NPTlRBSU5FUlNcIixcbiAgR0xPQkFMX0ZVTkNUSU9OUyA9IFwiR0xPQkFMX0ZVTkNUSU9OU1wiLFxuICBSRUdJT05BTF9DT05UQUlORVJTID0gXCJSRUdJT05BTF9DT05UQUlORVJTXCIsXG59XG5cbi8qKlxuICogRGlyZWN0b3J5IG9mIE5leHQuanMgRGF0YSBDYWNoZSBpbiBFRlNcbiAqXG4gKiAvbW50L2Nkay1uZXh0anMtY2FjaGUvZGF0YS1jYWNoZVxuICovXG5leHBvcnQgY29uc3QgREFUQV9DQUNIRV9ESVIgPSBcImRhdGEtY2FjaGVcIjtcbi8qKlxuICogRGlyZWN0b3J5IG9mIE5leHQuanMgSW1hZ2UgQ2FjaGUgaW4gRUZTXG4gKlxuICogL21udC9jZGstbmV4dGpzLWNhY2hlL2ltYWdlLWNhY2hlXG4gKi9cbmV4cG9ydCBjb25zdCBJTUFHRV9DQUNIRV9ESVIgPSBcImltYWdlLWNhY2hlXCI7XG4vKipcbiAqIERpcmVjdG9yeSBvZiBOZXh0LmpzIEZ1bGwgUm91dGUgQ2FjaGUgaW4gRUZTXG4gKlxuICogL21udC9jZGstbmV4dGpzLWNhY2hlL2Z1bGwtcm91dGUtY2FjaGVcbiAqL1xuZXhwb3J0IGNvbnN0IEZVTExfUk9VVEVfQ0FDSEVfRElSID0gXCJmdWxsLXJvdXRlLWNhY2hlXCI7XG4iXX0=
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type { aws_ecs, aws_iam } from 'aws-cdk-lib';
|
|
2
|
+
/**
|
|
3
|
+
* OptionalApplicationLoadBalancedTaskImageOptions
|
|
4
|
+
*/
|
|
5
|
+
export interface OptionalApplicationLoadBalancedTaskImageOptions {
|
|
6
|
+
/**
|
|
7
|
+
* The name of the task IAM role that grants containers in the task permission to call AWS APIs on your behalf.
|
|
8
|
+
* @default - A task role is automatically created for you.
|
|
9
|
+
* @stability stable
|
|
10
|
+
*/
|
|
11
|
+
readonly taskRole?: aws_iam.IRole;
|
|
12
|
+
/**
|
|
13
|
+
* The secret to expose to the container as an environment variable.
|
|
14
|
+
* @default - No secret environment variables.
|
|
15
|
+
* @stability stable
|
|
16
|
+
*/
|
|
17
|
+
readonly secrets?: Record<string, aws_ecs.Secret>;
|
|
18
|
+
/**
|
|
19
|
+
* The log driver to use.
|
|
20
|
+
* @default - AwsLogDriver if enableLogging is true
|
|
21
|
+
* @stability stable
|
|
22
|
+
*/
|
|
23
|
+
readonly logDriver?: aws_ecs.LogDriver;
|
|
24
|
+
/**
|
|
25
|
+
* The name of a family that this task definition is registered to.
|
|
26
|
+
* A family groups multiple versions of a task definition.
|
|
27
|
+
* @default - Automatically generated name.
|
|
28
|
+
* @stability stable
|
|
29
|
+
*/
|
|
30
|
+
readonly family?: string;
|
|
31
|
+
/**
|
|
32
|
+
* The name of the task execution IAM role that grants the Amazon ECS container agent permission to call AWS APIs on your behalf.
|
|
33
|
+
* @default - No value
|
|
34
|
+
* @stability stable
|
|
35
|
+
*/
|
|
36
|
+
readonly executionRole?: aws_iam.IRole;
|
|
37
|
+
/**
|
|
38
|
+
* The environment variables to pass to the container.
|
|
39
|
+
* @default - No environment variables.
|
|
40
|
+
* @stability stable
|
|
41
|
+
*/
|
|
42
|
+
readonly environment?: Record<string, string>;
|
|
43
|
+
/**
|
|
44
|
+
* The entry point that's passed to the container.
|
|
45
|
+
* This parameter maps to `Entrypoint` in the [Create a container](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) section
|
|
46
|
+
* of the [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) and the `--entrypoint` option to
|
|
47
|
+
* [docker run](https://docs.docker.com/engine/reference/commandline/run/).
|
|
48
|
+
*
|
|
49
|
+
* For more information about the Docker `ENTRYPOINT` parameter, see https://docs.docker.com/engine/reference/builder/#entrypoint.
|
|
50
|
+
* @default none
|
|
51
|
+
* @stability stable
|
|
52
|
+
*/
|
|
53
|
+
readonly entryPoint?: Array<string>;
|
|
54
|
+
/**
|
|
55
|
+
* Flag to indicate whether to enable logging.
|
|
56
|
+
* @default true
|
|
57
|
+
* @stability stable
|
|
58
|
+
*/
|
|
59
|
+
readonly enableLogging?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* A key/value map of labels to add to the container.
|
|
62
|
+
* @default - No labels.
|
|
63
|
+
* @stability stable
|
|
64
|
+
*/
|
|
65
|
+
readonly dockerLabels?: Record<string, string>;
|
|
66
|
+
/**
|
|
67
|
+
* The port number on the container that is bound to the user-specified or automatically assigned host port.
|
|
68
|
+
* If you are using containers in a task with the awsvpc or host network mode, exposed ports should be specified using containerPort.
|
|
69
|
+
* If you are using containers in a task with the bridge network mode and you specify a container port and not a host port,
|
|
70
|
+
* your container automatically receives a host port in the ephemeral port range.
|
|
71
|
+
*
|
|
72
|
+
* Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance.
|
|
73
|
+
*
|
|
74
|
+
* For more information, see
|
|
75
|
+
* [hostPort](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PortMapping.html#ECS-Type-PortMapping-hostPort).
|
|
76
|
+
* @default 80
|
|
77
|
+
* @stability stable
|
|
78
|
+
*/
|
|
79
|
+
readonly containerPort?: number;
|
|
80
|
+
/**
|
|
81
|
+
* The container name value to be specified in the task definition.
|
|
82
|
+
* @default - none
|
|
83
|
+
* @stability stable
|
|
84
|
+
*/
|
|
85
|
+
readonly containerName?: string;
|
|
86
|
+
/**
|
|
87
|
+
* The command that's passed to the container.
|
|
88
|
+
* If there are multiple arguments, make sure that each argument is a separated string in the array.
|
|
89
|
+
*
|
|
90
|
+
* This parameter maps to `Cmd` in the [Create a container](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) section
|
|
91
|
+
* of the [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) and the `COMMAND` parameter to
|
|
92
|
+
* [docker run](https://docs.docker.com/engine/reference/commandline/run/).
|
|
93
|
+
*
|
|
94
|
+
* For more information about the Docker `CMD` parameter, see https://docs.docker.com/engine/reference/builder/#cmd.
|
|
95
|
+
* @default none
|
|
96
|
+
* @stability stable
|
|
97
|
+
*/
|
|
98
|
+
readonly command?: Array<string>;
|
|
99
|
+
/**
|
|
100
|
+
* The image used to start a container.
|
|
101
|
+
* Image or taskDefinition must be specified, not both.
|
|
102
|
+
* @default - none
|
|
103
|
+
* @stability stable
|
|
104
|
+
*/
|
|
105
|
+
readonly image?: aws_ecs.ContainerImage;
|
|
106
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZFRhc2tJbWFnZU9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZFRhc2tJbWFnZU9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcInBucG0gZGx4IHByb2plblwiLlxuaW1wb3J0IHR5cGUgeyBhd3NfZWNzLCBhd3NfaWFtIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG4vKipcbiAqIE9wdGlvbmFsQXBwbGljYXRpb25Mb2FkQmFsYW5jZWRUYXNrSW1hZ2VPcHRpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uYWxBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZFRhc2tJbWFnZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHRhc2sgSUFNIHJvbGUgdGhhdCBncmFudHMgY29udGFpbmVycyBpbiB0aGUgdGFzayBwZXJtaXNzaW9uIHRvIGNhbGwgQVdTIEFQSXMgb24geW91ciBiZWhhbGYuXG4gICAqIEBkZWZhdWx0IC0gQSB0YXNrIHJvbGUgaXMgYXV0b21hdGljYWxseSBjcmVhdGVkIGZvciB5b3UuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSB0YXNrUm9sZT86IGF3c19pYW0uSVJvbGU7XG4gIC8qKlxuICAgKiBUaGUgc2VjcmV0IHRvIGV4cG9zZSB0byB0aGUgY29udGFpbmVyIGFzIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICAgKiBAZGVmYXVsdCAtIE5vIHNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBzZWNyZXRzPzogUmVjb3JkPHN0cmluZywgYXdzX2Vjcy5TZWNyZXQ+O1xuICAvKipcbiAgICogVGhlIGxvZyBkcml2ZXIgdG8gdXNlLlxuICAgKiBAZGVmYXVsdCAtIEF3c0xvZ0RyaXZlciBpZiBlbmFibGVMb2dnaW5nIGlzIHRydWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0RyaXZlcj86IGF3c19lY3MuTG9nRHJpdmVyO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgYSBmYW1pbHkgdGhhdCB0aGlzIHRhc2sgZGVmaW5pdGlvbiBpcyByZWdpc3RlcmVkIHRvLlxuICAgKiBBIGZhbWlseSBncm91cHMgbXVsdGlwbGUgdmVyc2lvbnMgb2YgYSB0YXNrIGRlZmluaXRpb24uXG4gICAqIEBkZWZhdWx0IC0gQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbmFtZS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGZhbWlseT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB0YXNrIGV4ZWN1dGlvbiBJQU0gcm9sZSB0aGF0IGdyYW50cyB0aGUgQW1hem9uIEVDUyBjb250YWluZXIgYWdlbnQgcGVybWlzc2lvbiB0byBjYWxsIEFXUyBBUElzIG9uIHlvdXIgYmVoYWxmLlxuICAgKiBAZGVmYXVsdCAtIE5vIHZhbHVlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBleGVjdXRpb25Sb2xlPzogYXdzX2lhbS5JUm9sZTtcbiAgLyoqXG4gICAqIFRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gcGFzcyB0byB0aGUgY29udGFpbmVyLlxuICAgKiBAZGVmYXVsdCAtIE5vIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqIFRoZSBlbnRyeSBwb2ludCB0aGF0J3MgcGFzc2VkIHRvIHRoZSBjb250YWluZXIuXG4gICAqIFRoaXMgcGFyYW1ldGVyIG1hcHMgdG8gYEVudHJ5cG9pbnRgIGluIHRoZSBbQ3JlYXRlIGEgY29udGFpbmVyXShodHRwczovL2RvY3MuZG9ja2VyLmNvbS9lbmdpbmUvYXBpL3YxLjM4LyNvcGVyYXRpb24vQ29udGFpbmVyQ3JlYXRlKSBzZWN0aW9uXG4gICAqIG9mIHRoZSBbRG9ja2VyIFJlbW90ZSBBUEldKGh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2VuZ2luZS9hcGkvdjEuMzgvKSBhbmQgdGhlIGAtLWVudHJ5cG9pbnRgIG9wdGlvbiB0b1xuICAgKiBbZG9ja2VyIHJ1bl0oaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vZW5naW5lL3JlZmVyZW5jZS9jb21tYW5kbGluZS9ydW4vKS5cbiAgICpcbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIERvY2tlciBgRU5UUllQT0lOVGAgcGFyYW1ldGVyLCBzZWUgaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vZW5naW5lL3JlZmVyZW5jZS9idWlsZGVyLyNlbnRyeXBvaW50LlxuICAgKiBAZGVmYXVsdCBub25lXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBlbnRyeVBvaW50PzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIEZsYWcgdG8gaW5kaWNhdGUgd2hldGhlciB0byBlbmFibGUgbG9nZ2luZy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlTG9nZ2luZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBIGtleS92YWx1ZSBtYXAgb2YgbGFiZWxzIHRvIGFkZCB0byB0aGUgY29udGFpbmVyLlxuICAgKiBAZGVmYXVsdCAtIE5vIGxhYmVscy5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRvY2tlckxhYmVscz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBUaGUgcG9ydCBudW1iZXIgb24gdGhlIGNvbnRhaW5lciB0aGF0IGlzIGJvdW5kIHRvIHRoZSB1c2VyLXNwZWNpZmllZCBvciBhdXRvbWF0aWNhbGx5IGFzc2lnbmVkIGhvc3QgcG9ydC5cbiAgICogSWYgeW91IGFyZSB1c2luZyBjb250YWluZXJzIGluIGEgdGFzayB3aXRoIHRoZSBhd3N2cGMgb3IgaG9zdCBuZXR3b3JrIG1vZGUsIGV4cG9zZWQgcG9ydHMgc2hvdWxkIGJlIHNwZWNpZmllZCB1c2luZyBjb250YWluZXJQb3J0LlxuICAgKiBJZiB5b3UgYXJlIHVzaW5nIGNvbnRhaW5lcnMgaW4gYSB0YXNrIHdpdGggdGhlIGJyaWRnZSBuZXR3b3JrIG1vZGUgYW5kIHlvdSBzcGVjaWZ5IGEgY29udGFpbmVyIHBvcnQgYW5kIG5vdCBhIGhvc3QgcG9ydCxcbiAgICogeW91ciBjb250YWluZXIgYXV0b21hdGljYWxseSByZWNlaXZlcyBhIGhvc3QgcG9ydCBpbiB0aGUgZXBoZW1lcmFsIHBvcnQgcmFuZ2UuXG4gICAqXG4gICAqIFBvcnQgbWFwcGluZ3MgdGhhdCBhcmUgYXV0b21hdGljYWxseSBhc3NpZ25lZCBpbiB0aGlzIHdheSBkbyBub3QgY291bnQgdG93YXJkIHRoZSAxMDAgcmVzZXJ2ZWQgcG9ydHMgbGltaXQgb2YgYSBjb250YWluZXIgaW5zdGFuY2UuXG4gICAqXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWVcbiAgICogW2hvc3RQb3J0XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1BvcnRNYXBwaW5nLmh0bWwjRUNTLVR5cGUtUG9ydE1hcHBpbmctaG9zdFBvcnQpLlxuICAgKiBAZGVmYXVsdCA4MFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFpbmVyUG9ydD86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBjb250YWluZXIgbmFtZSB2YWx1ZSB0byBiZSBzcGVjaWZpZWQgaW4gdGhlIHRhc2sgZGVmaW5pdGlvbi5cbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb250YWluZXJOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGNvbW1hbmQgdGhhdCdzIHBhc3NlZCB0byB0aGUgY29udGFpbmVyLlxuICAgKiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgYXJndW1lbnRzLCBtYWtlIHN1cmUgdGhhdCBlYWNoIGFyZ3VtZW50IGlzIGEgc2VwYXJhdGVkIHN0cmluZyBpbiB0aGUgYXJyYXkuXG4gICAqXG4gICAqIFRoaXMgcGFyYW1ldGVyIG1hcHMgdG8gYENtZGAgaW4gdGhlIFtDcmVhdGUgYSBjb250YWluZXJdKGh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2VuZ2luZS9hcGkvdjEuMzgvI29wZXJhdGlvbi9Db250YWluZXJDcmVhdGUpIHNlY3Rpb25cbiAgICogb2YgdGhlIFtEb2NrZXIgUmVtb3RlIEFQSV0oaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vZW5naW5lL2FwaS92MS4zOC8pIGFuZCB0aGUgYENPTU1BTkRgIHBhcmFtZXRlciB0b1xuICAgKiBbZG9ja2VyIHJ1bl0oaHR0cHM6Ly9kb2NzLmRvY2tlci5jb20vZW5naW5lL3JlZmVyZW5jZS9jb21tYW5kbGluZS9ydW4vKS5cbiAgICpcbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIERvY2tlciBgQ01EYCBwYXJhbWV0ZXIsIHNlZSBodHRwczovL2RvY3MuZG9ja2VyLmNvbS9lbmdpbmUvcmVmZXJlbmNlL2J1aWxkZXIvI2NtZC5cbiAgICogQGRlZmF1bHQgbm9uZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZD86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBUaGUgaW1hZ2UgdXNlZCB0byBzdGFydCBhIGNvbnRhaW5lci5cbiAgICogSW1hZ2Ugb3IgdGFza0RlZmluaXRpb24gbXVzdCBiZSBzcGVjaWZpZWQsIG5vdCBib3RoLlxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGltYWdlPzogYXdzX2Vjcy5Db250YWluZXJJbWFnZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { aws_cloudfront } from 'aws-cdk-lib';
|
|
2
|
+
/**
|
|
3
|
+
* OptionalCloudFrontFunctionProps
|
|
4
|
+
*/
|
|
5
|
+
export interface OptionalCloudFrontFunctionProps {
|
|
6
|
+
/**
|
|
7
|
+
* The runtime environment for the function.
|
|
8
|
+
* @default FunctionRuntime.JS_1_0 (unless `keyValueStore` is specified, then `FunctionRuntime.JS_2_0`)
|
|
9
|
+
* @stability stable
|
|
10
|
+
*/
|
|
11
|
+
readonly runtime?: aws_cloudfront.FunctionRuntime;
|
|
12
|
+
/**
|
|
13
|
+
* The Key Value Store to associate with this function.
|
|
14
|
+
* In order to associate a Key Value Store, the `runtime` must be
|
|
15
|
+
* `cloudfront-js-2.0` or newer.
|
|
16
|
+
* @default - no key value store is associated
|
|
17
|
+
* @stability stable
|
|
18
|
+
*/
|
|
19
|
+
readonly keyValueStore?: aws_cloudfront.IKeyValueStore;
|
|
20
|
+
/**
|
|
21
|
+
* A name to identify the function.
|
|
22
|
+
* @default - generated from the `id`
|
|
23
|
+
* @stability stable
|
|
24
|
+
*/
|
|
25
|
+
readonly functionName?: string;
|
|
26
|
+
/**
|
|
27
|
+
* A comment to describe the function.
|
|
28
|
+
* @default - same as `functionName`
|
|
29
|
+
* @stability stable
|
|
30
|
+
*/
|
|
31
|
+
readonly comment?: string;
|
|
32
|
+
/**
|
|
33
|
+
* A flag that determines whether to automatically publish the function to the LIVE stage when it’s created.
|
|
34
|
+
* @default - true
|
|
35
|
+
* @stability stable
|
|
36
|
+
*/
|
|
37
|
+
readonly autoPublish?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* The source code of the function.
|
|
40
|
+
* @stability stable
|
|
41
|
+
*/
|
|
42
|
+
readonly code?: aws_cloudfront.FunctionCode;
|
|
43
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxDbG91ZEZyb250RnVuY3Rpb25Qcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbENsb3VkRnJvbnRGdW5jdGlvblByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJwbnBtIGRseCBwcm9qZW5cIi5cbmltcG9ydCB0eXBlIHsgYXdzX2Nsb3VkZnJvbnQgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5cbi8qKlxuICogT3B0aW9uYWxDbG91ZEZyb250RnVuY3Rpb25Qcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbmFsQ2xvdWRGcm9udEZ1bmN0aW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIHJ1bnRpbWUgZW52aXJvbm1lbnQgZm9yIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgRnVuY3Rpb25SdW50aW1lLkpTXzFfMCAodW5sZXNzIGBrZXlWYWx1ZVN0b3JlYCBpcyBzcGVjaWZpZWQsIHRoZW4gYEZ1bmN0aW9uUnVudGltZS5KU18yXzBgKVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcnVudGltZT86IGF3c19jbG91ZGZyb250LkZ1bmN0aW9uUnVudGltZTtcbiAgLyoqXG4gICAqIFRoZSBLZXkgVmFsdWUgU3RvcmUgdG8gYXNzb2NpYXRlIHdpdGggdGhpcyBmdW5jdGlvbi5cbiAgICogSW4gb3JkZXIgdG8gYXNzb2NpYXRlIGEgS2V5IFZhbHVlIFN0b3JlLCB0aGUgYHJ1bnRpbWVgIG11c3QgYmVcbiAgICogYGNsb3VkZnJvbnQtanMtMi4wYCBvciBuZXdlci5cbiAgICogQGRlZmF1bHQgLSBubyBrZXkgdmFsdWUgc3RvcmUgaXMgYXNzb2NpYXRlZFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkga2V5VmFsdWVTdG9yZT86IGF3c19jbG91ZGZyb250LklLZXlWYWx1ZVN0b3JlO1xuICAvKipcbiAgICogQSBuYW1lIHRvIGlkZW50aWZ5IHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgLSBnZW5lcmF0ZWQgZnJvbSB0aGUgYGlkYFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25OYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogQSBjb21tZW50IHRvIGRlc2NyaWJlIHRoZSBmdW5jdGlvbi5cbiAgICogQGRlZmF1bHQgLSBzYW1lIGFzIGBmdW5jdGlvbk5hbWVgXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb21tZW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogQSBmbGFnIHRoYXQgZGV0ZXJtaW5lcyB3aGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgcHVibGlzaCB0aGUgZnVuY3Rpb24gdG8gdGhlIExJVkUgc3RhZ2Ugd2hlbiBpdOKAmXMgY3JlYXRlZC5cbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBhdXRvUHVibGlzaD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgc291cmNlIGNvZGUgb2YgdGhlIGZ1bmN0aW9uLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY29kZT86IGF3c19jbG91ZGZyb250LkZ1bmN0aW9uQ29kZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { aws_ec2, aws_ecs } from 'aws-cdk-lib';
|
|
2
|
+
/**
|
|
3
|
+
* OptionalClusterProps
|
|
4
|
+
*/
|
|
5
|
+
export interface OptionalClusterProps {
|
|
6
|
+
/**
|
|
7
|
+
* The VPC where your ECS instances will be running or your ENIs will be deployed.
|
|
8
|
+
* @default - creates a new VPC with two AZs
|
|
9
|
+
* @stability stable
|
|
10
|
+
*/
|
|
11
|
+
readonly vpc?: aws_ec2.IVpc;
|
|
12
|
+
/**
|
|
13
|
+
* Encryption configuration for ECS Managed storage.
|
|
14
|
+
* @default - no encryption will be applied.
|
|
15
|
+
* @stability stable
|
|
16
|
+
*/
|
|
17
|
+
readonly managedStorageConfiguration?: aws_ecs.ManagedStorageConfiguration;
|
|
18
|
+
/**
|
|
19
|
+
* The execute command configuration for the cluster.
|
|
20
|
+
* @default - no configuration will be provided.
|
|
21
|
+
* @stability stable
|
|
22
|
+
*/
|
|
23
|
+
readonly executeCommandConfiguration?: aws_ecs.ExecuteCommandConfiguration;
|
|
24
|
+
/**
|
|
25
|
+
* Whether to enable Fargate Capacity Providers.
|
|
26
|
+
* @default false
|
|
27
|
+
* @stability stable
|
|
28
|
+
*/
|
|
29
|
+
readonly enableFargateCapacityProviders?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* The service discovery namespace created in this cluster.
|
|
32
|
+
* @default - no service discovery namespace created, you can use `addDefaultCloudMapNamespace` to add a
|
|
33
|
+
default service discovery namespace later.
|
|
34
|
+
* @stability stable
|
|
35
|
+
*/
|
|
36
|
+
readonly defaultCloudMapNamespace?: aws_ecs.CloudMapNamespaceOptions;
|
|
37
|
+
/**
|
|
38
|
+
* The CloudWatch Container Insights configuration for the cluster.
|
|
39
|
+
* @default {@link ContainerInsights.DISABLED } This may be overridden by ECS account level settings.
|
|
40
|
+
* @stability stable
|
|
41
|
+
*/
|
|
42
|
+
readonly containerInsightsV2?: aws_ecs.ContainerInsights;
|
|
43
|
+
/**
|
|
44
|
+
* If true CloudWatch Container Insights will be enabled for the cluster.
|
|
45
|
+
* @default - Container Insights will be disabled for this cluster.
|
|
46
|
+
* @deprecated See {@link containerInsightsV2 }
|
|
47
|
+
* @stability deprecated
|
|
48
|
+
*/
|
|
49
|
+
readonly containerInsights?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* The name for the cluster.
|
|
52
|
+
* @default CloudFormation-generated name
|
|
53
|
+
* @stability stable
|
|
54
|
+
*/
|
|
55
|
+
readonly clusterName?: string;
|
|
56
|
+
/**
|
|
57
|
+
* The ec2 capacity to add to the cluster.
|
|
58
|
+
* @default - no EC2 capacity will be added, you can use `addCapacity` to add capacity later.
|
|
59
|
+
* @stability stable
|
|
60
|
+
*/
|
|
61
|
+
readonly capacity?: aws_ecs.AddCapacityOptions;
|
|
62
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxDbHVzdGVyUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxDbHVzdGVyUHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcInBucG0gZGx4IHByb2plblwiLlxuaW1wb3J0IHR5cGUgeyBhd3NfZWMyLCBhd3NfZWNzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG4vKipcbiAqIE9wdGlvbmFsQ2x1c3RlclByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uYWxDbHVzdGVyUHJvcHMge1xuICAvKipcbiAgICogVGhlIFZQQyB3aGVyZSB5b3VyIEVDUyBpbnN0YW5jZXMgd2lsbCBiZSBydW5uaW5nIG9yIHlvdXIgRU5JcyB3aWxsIGJlIGRlcGxveWVkLlxuICAgKiBAZGVmYXVsdCAtIGNyZWF0ZXMgYSBuZXcgVlBDIHdpdGggdHdvIEFac1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogYXdzX2VjMi5JVnBjO1xuICAvKipcbiAgICogRW5jcnlwdGlvbiBjb25maWd1cmF0aW9uIGZvciBFQ1MgTWFuYWdlZCBzdG9yYWdlLlxuICAgKiBAZGVmYXVsdCAtIG5vIGVuY3J5cHRpb24gd2lsbCBiZSBhcHBsaWVkLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbWFuYWdlZFN0b3JhZ2VDb25maWd1cmF0aW9uPzogYXdzX2Vjcy5NYW5hZ2VkU3RvcmFnZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBUaGUgZXhlY3V0ZSBjb21tYW5kIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBjbHVzdGVyLlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvbmZpZ3VyYXRpb24gd2lsbCBiZSBwcm92aWRlZC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGV4ZWN1dGVDb21tYW5kQ29uZmlndXJhdGlvbj86IGF3c19lY3MuRXhlY3V0ZUNvbW1hbmRDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgRmFyZ2F0ZSBDYXBhY2l0eSBQcm92aWRlcnMuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVGYXJnYXRlQ2FwYWNpdHlQcm92aWRlcnM/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIHNlcnZpY2UgZGlzY292ZXJ5IG5hbWVzcGFjZSBjcmVhdGVkIGluIHRoaXMgY2x1c3Rlci5cbiAgICogQGRlZmF1bHQgLSBubyBzZXJ2aWNlIGRpc2NvdmVyeSBuYW1lc3BhY2UgY3JlYXRlZCwgeW91IGNhbiB1c2UgYGFkZERlZmF1bHRDbG91ZE1hcE5hbWVzcGFjZWAgdG8gYWRkIGFcbmRlZmF1bHQgc2VydmljZSBkaXNjb3ZlcnkgbmFtZXNwYWNlIGxhdGVyLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdENsb3VkTWFwTmFtZXNwYWNlPzogYXdzX2Vjcy5DbG91ZE1hcE5hbWVzcGFjZU9wdGlvbnM7XG4gIC8qKlxuICAgKiBUaGUgQ2xvdWRXYXRjaCBDb250YWluZXIgSW5zaWdodHMgY29uZmlndXJhdGlvbiBmb3IgdGhlIGNsdXN0ZXIuXG4gICAqIEBkZWZhdWx0IHtAbGluayBDb250YWluZXJJbnNpZ2h0cy5ESVNBQkxFRCB9IFRoaXMgbWF5IGJlIG92ZXJyaWRkZW4gYnkgRUNTIGFjY291bnQgbGV2ZWwgc2V0dGluZ3MuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb250YWluZXJJbnNpZ2h0c1YyPzogYXdzX2Vjcy5Db250YWluZXJJbnNpZ2h0cztcbiAgLyoqXG4gICAqIElmIHRydWUgQ2xvdWRXYXRjaCBDb250YWluZXIgSW5zaWdodHMgd2lsbCBiZSBlbmFibGVkIGZvciB0aGUgY2x1c3Rlci5cbiAgICogQGRlZmF1bHQgLSBDb250YWluZXIgSW5zaWdodHMgd2lsbCBiZSBkaXNhYmxlZCBmb3IgdGhpcyBjbHVzdGVyLlxuICAgKiBAZGVwcmVjYXRlZCBTZWUge0BsaW5rIGNvbnRhaW5lckluc2lnaHRzVjIgfVxuICAgKiBAc3RhYmlsaXR5IGRlcHJlY2F0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhaW5lckluc2lnaHRzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIGZvciB0aGUgY2x1c3Rlci5cbiAgICogQGRlZmF1bHQgQ2xvdWRGb3JtYXRpb24tZ2VuZXJhdGVkIG5hbWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNsdXN0ZXJOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGVjMiBjYXBhY2l0eSB0byBhZGQgdG8gdGhlIGNsdXN0ZXIuXG4gICAqIEBkZWZhdWx0IC0gbm8gRUMyIGNhcGFjaXR5IHdpbGwgYmUgYWRkZWQsIHlvdSBjYW4gdXNlIGBhZGRDYXBhY2l0eWAgdG8gYWRkIGNhcGFjaXR5IGxhdGVyLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY2FwYWNpdHk/OiBhd3NfZWNzLkFkZENhcGFjaXR5T3B0aW9ucztcbn1cbiJdfQ==
|