cdk-nextjs 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +13811 -0
- package/.prettierrc +0 -0
- package/API.md +9694 -0
- package/LICENSE +202 -0
- package/README.md +137 -0
- 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 +8831 -0
- package/assets/lambdas/revalidate/revalidate.lambda/index.js +67 -0
- package/assets/lambdas/sign-fn-url/sign-fn-url.lambda/index.js +2002 -0
- package/examples/README.md +14 -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 +49 -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 +45 -0
- package/lib/generated-structs/OptionalNextjsAssetsDeploymentProps.js +3 -0
- package/lib/generated-structs/OptionalNextjsBuildProps.d.ts +30 -0
- package/lib/generated-structs/OptionalNextjsBuildProps.js +3 -0
- package/lib/generated-structs/OptionalNextjsContainersProps.d.ts +43 -0
- package/lib/generated-structs/OptionalNextjsContainersProps.js +3 -0
- package/lib/generated-structs/OptionalNextjsDistributionProps.d.ts +50 -0
- package/lib/generated-structs/OptionalNextjsDistributionProps.js +3 -0
- package/lib/generated-structs/OptionalNextjsFileSystemProps.d.ts +15 -0
- package/lib/generated-structs/OptionalNextjsFileSystemProps.js +3 -0
- package/lib/generated-structs/OptionalNextjsInvalidationProps.d.ts +17 -0
- package/lib/generated-structs/OptionalNextjsInvalidationProps.js +3 -0
- package/lib/generated-structs/OptionalNextjsVpcProps.d.ts +21 -0
- package/lib/generated-structs/OptionalNextjsVpcProps.js +3 -0
- package/lib/generated-structs/OptionalS3OriginProps.d.ts +64 -0
- package/lib/generated-structs/OptionalS3OriginProps.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 +23 -0
- package/lib/lambdas/assets-deployment/assets-deployment.lambda.d.ts +2 -0
- package/lib/lambdas/assets-deployment/assets-deployment.lambda.js +62 -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 +23 -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.lambda.d.ts +9 -0
- package/lib/lambdas/sign-fn-url/sign-fn-url.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 +29 -0
- package/lib/nextjs-build/cache-handler.cjs +21513 -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 +120 -0
- package/lib/nextjs-distribution.js +362 -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 +32 -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 +165 -0
|
@@ -0,0 +1,14 @@
|
|
|
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. `cdk deploy --require-approval never`
|
|
11
|
+
|
|
12
|
+
# Notes on app-playground
|
|
13
|
+
|
|
14
|
+
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,49 @@
|
|
|
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
|
+
* The execute command configuration for the cluster.
|
|
14
|
+
* @default - no configuration will be provided.
|
|
15
|
+
* @stability stable
|
|
16
|
+
*/
|
|
17
|
+
readonly executeCommandConfiguration?: aws_ecs.ExecuteCommandConfiguration;
|
|
18
|
+
/**
|
|
19
|
+
* Whether to enable Fargate Capacity Providers.
|
|
20
|
+
* @default false
|
|
21
|
+
* @stability stable
|
|
22
|
+
*/
|
|
23
|
+
readonly enableFargateCapacityProviders?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The service discovery namespace created in this cluster.
|
|
26
|
+
* @default - no service discovery namespace created, you can use `addDefaultCloudMapNamespace` to add a
|
|
27
|
+
default service discovery namespace later.
|
|
28
|
+
* @stability stable
|
|
29
|
+
*/
|
|
30
|
+
readonly defaultCloudMapNamespace?: aws_ecs.CloudMapNamespaceOptions;
|
|
31
|
+
/**
|
|
32
|
+
* If true CloudWatch Container Insights will be enabled for the cluster.
|
|
33
|
+
* @default - Container Insights will be disabled for this cluster.
|
|
34
|
+
* @stability stable
|
|
35
|
+
*/
|
|
36
|
+
readonly containerInsights?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* The name for the cluster.
|
|
39
|
+
* @default CloudFormation-generated name
|
|
40
|
+
* @stability stable
|
|
41
|
+
*/
|
|
42
|
+
readonly clusterName?: string;
|
|
43
|
+
/**
|
|
44
|
+
* The ec2 capacity to add to the cluster.
|
|
45
|
+
* @default - no EC2 capacity will be added, you can use `addCapacity` to add capacity later.
|
|
46
|
+
* @stability stable
|
|
47
|
+
*/
|
|
48
|
+
readonly capacity?: aws_ecs.AddCapacityOptions;
|
|
49
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxDbHVzdGVyUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxDbHVzdGVyUHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcInBucG0gZGx4IHByb2plblwiLlxuaW1wb3J0IHR5cGUgeyBhd3NfZWMyLCBhd3NfZWNzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG4vKipcbiAqIE9wdGlvbmFsQ2x1c3RlclByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uYWxDbHVzdGVyUHJvcHMge1xuICAvKipcbiAgICogVGhlIFZQQyB3aGVyZSB5b3VyIEVDUyBpbnN0YW5jZXMgd2lsbCBiZSBydW5uaW5nIG9yIHlvdXIgRU5JcyB3aWxsIGJlIGRlcGxveWVkLlxuICAgKiBAZGVmYXVsdCAtIGNyZWF0ZXMgYSBuZXcgVlBDIHdpdGggdHdvIEFac1xuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogYXdzX2VjMi5JVnBjO1xuICAvKipcbiAgICogVGhlIGV4ZWN1dGUgY29tbWFuZCBjb25maWd1cmF0aW9uIGZvciB0aGUgY2x1c3Rlci5cbiAgICogQGRlZmF1bHQgLSBubyBjb25maWd1cmF0aW9uIHdpbGwgYmUgcHJvdmlkZWQuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBleGVjdXRlQ29tbWFuZENvbmZpZ3VyYXRpb24/OiBhd3NfZWNzLkV4ZWN1dGVDb21tYW5kQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZW5hYmxlIEZhcmdhdGUgQ2FwYWNpdHkgUHJvdmlkZXJzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlRmFyZ2F0ZUNhcGFjaXR5UHJvdmlkZXJzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBzZXJ2aWNlIGRpc2NvdmVyeSBuYW1lc3BhY2UgY3JlYXRlZCBpbiB0aGlzIGNsdXN0ZXIuXG4gICAqIEBkZWZhdWx0IC0gbm8gc2VydmljZSBkaXNjb3ZlcnkgbmFtZXNwYWNlIGNyZWF0ZWQsIHlvdSBjYW4gdXNlIGBhZGREZWZhdWx0Q2xvdWRNYXBOYW1lc3BhY2VgIHRvIGFkZCBhXG5kZWZhdWx0IHNlcnZpY2UgZGlzY292ZXJ5IG5hbWVzcGFjZSBsYXRlci5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRDbG91ZE1hcE5hbWVzcGFjZT86IGF3c19lY3MuQ2xvdWRNYXBOYW1lc3BhY2VPcHRpb25zO1xuICAvKipcbiAgICogSWYgdHJ1ZSBDbG91ZFdhdGNoIENvbnRhaW5lciBJbnNpZ2h0cyB3aWxsIGJlIGVuYWJsZWQgZm9yIHRoZSBjbHVzdGVyLlxuICAgKiBAZGVmYXVsdCAtIENvbnRhaW5lciBJbnNpZ2h0cyB3aWxsIGJlIGRpc2FibGVkIGZvciB0aGlzIGNsdXN0ZXIuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb250YWluZXJJbnNpZ2h0cz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBmb3IgdGhlIGNsdXN0ZXIuXG4gICAqIEBkZWZhdWx0IENsb3VkRm9ybWF0aW9uLWdlbmVyYXRlZCBuYW1lXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBlYzIgY2FwYWNpdHkgdG8gYWRkIHRvIHRoZSBjbHVzdGVyLlxuICAgKiBAZGVmYXVsdCAtIG5vIEVDMiBjYXBhY2l0eSB3aWxsIGJlIGFkZGVkLCB5b3UgY2FuIHVzZSBgYWRkQ2FwYWNpdHlgIHRvIGFkZCBjYXBhY2l0eSBsYXRlci5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNhcGFjaXR5PzogYXdzX2Vjcy5BZGRDYXBhY2l0eU9wdGlvbnM7XG59XG4iXX0=
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import type { aws_certificatemanager, aws_cloudfront, aws_s3 } from 'aws-cdk-lib';
|
|
2
|
+
/**
|
|
3
|
+
* OptionalDistributionProps
|
|
4
|
+
*/
|
|
5
|
+
export interface OptionalDistributionProps {
|
|
6
|
+
/**
|
|
7
|
+
* Unique identifier that specifies the AWS WAF web ACL to associate with this CloudFront distribution.
|
|
8
|
+
* To specify a web ACL created using the latest version of AWS WAF, use the ACL ARN, for example
|
|
9
|
+
* `arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a`.
|
|
10
|
+
* To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example `473e64fd-f30b-4765-81a0-62ad96dd167a`.
|
|
11
|
+
* @default - No AWS Web Application Firewall web access control list (web ACL).
|
|
12
|
+
* @stability stable
|
|
13
|
+
*/
|
|
14
|
+
readonly webAclId?: string;
|
|
15
|
+
/**
|
|
16
|
+
* The SSL method CloudFront will use for your distribution.
|
|
17
|
+
* Server Name Indication (SNI) - is an extension to the TLS computer networking protocol by which a client indicates
|
|
18
|
+
* which hostname it is attempting to connect to at the start of the handshaking process. This allows a server to present
|
|
19
|
+
* multiple certificates on the same IP address and TCP port number and hence allows multiple secure (HTTPS) websites
|
|
20
|
+
* (or any other service over TLS) to be served by the same IP address without requiring all those sites to use the same certificate.
|
|
21
|
+
*
|
|
22
|
+
* CloudFront can use SNI to host multiple distributions on the same IP - which a large majority of clients will support.
|
|
23
|
+
*
|
|
24
|
+
* If your clients cannot support SNI however - CloudFront can use dedicated IPs for your distribution - but there is a prorated monthly charge for
|
|
25
|
+
* using this feature. By default, we use SNI - but you can optionally enable dedicated IPs (VIP).
|
|
26
|
+
*
|
|
27
|
+
* See the CloudFront SSL for more details about pricing : https://aws.amazon.com/cloudfront/custom-ssl-domains/
|
|
28
|
+
* @default SSLMethod.SNI
|
|
29
|
+
* @stability stable
|
|
30
|
+
*/
|
|
31
|
+
readonly sslSupportMethod?: aws_cloudfront.SSLMethod;
|
|
32
|
+
/**
|
|
33
|
+
* Whether to enable additional CloudWatch metrics.
|
|
34
|
+
* @default false
|
|
35
|
+
* @stability stable
|
|
36
|
+
*/
|
|
37
|
+
readonly publishAdditionalMetrics?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* The price class that corresponds with the maximum price that you want to pay for CloudFront service.
|
|
40
|
+
* If you specify PriceClass_All, CloudFront responds to requests for your objects from all CloudFront edge locations.
|
|
41
|
+
* If you specify a price class other than PriceClass_All, CloudFront serves your objects from the CloudFront edge location
|
|
42
|
+
* that has the lowest latency among the edge locations in your price class.
|
|
43
|
+
* @default PriceClass.PRICE_CLASS_ALL
|
|
44
|
+
* @stability stable
|
|
45
|
+
*/
|
|
46
|
+
readonly priceClass?: aws_cloudfront.PriceClass;
|
|
47
|
+
/**
|
|
48
|
+
* The minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections.
|
|
49
|
+
* CloudFront serves your objects only to browsers or devices that support at
|
|
50
|
+
* least the SSL version that you specify.
|
|
51
|
+
* @default - SecurityPolicyProtocol.TLS_V1_2_2021 if the '@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021' feature flag is set; otherwise, SecurityPolicyProtocol.TLS_V1_2_2019.
|
|
52
|
+
* @stability stable
|
|
53
|
+
*/
|
|
54
|
+
readonly minimumProtocolVersion?: aws_cloudfront.SecurityPolicyProtocol;
|
|
55
|
+
/**
|
|
56
|
+
* Specifies whether you want CloudFront to include cookies in access logs.
|
|
57
|
+
* @default false
|
|
58
|
+
* @stability stable
|
|
59
|
+
*/
|
|
60
|
+
readonly logIncludesCookies?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* An optional string that you want CloudFront to prefix to the access log filenames for this distribution.
|
|
63
|
+
* @default - no prefix
|
|
64
|
+
* @stability stable
|
|
65
|
+
*/
|
|
66
|
+
readonly logFilePrefix?: string;
|
|
67
|
+
/**
|
|
68
|
+
* The Amazon S3 bucket to store the access logs in.
|
|
69
|
+
* Make sure to set `objectOwnership` to `s3.ObjectOwnership.OBJECT_WRITER` in your custom bucket.
|
|
70
|
+
* @default - A bucket is created if `enableLogging` is true
|
|
71
|
+
* @stability stable
|
|
72
|
+
*/
|
|
73
|
+
readonly logBucket?: aws_s3.IBucket;
|
|
74
|
+
/**
|
|
75
|
+
* Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront.
|
|
76
|
+
* For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or later, and must support server name identification (SNI).
|
|
77
|
+
* @default HttpVersion.HTTP2
|
|
78
|
+
* @stability stable
|
|
79
|
+
*/
|
|
80
|
+
readonly httpVersion?: aws_cloudfront.HttpVersion;
|
|
81
|
+
/**
|
|
82
|
+
* Controls the countries in which your content is distributed.
|
|
83
|
+
* @default - No geographic restrictions
|
|
84
|
+
* @stability stable
|
|
85
|
+
*/
|
|
86
|
+
readonly geoRestriction?: aws_cloudfront.GeoRestriction;
|
|
87
|
+
/**
|
|
88
|
+
* How CloudFront should handle requests that are not successful (e.g., PageNotFound).
|
|
89
|
+
* @default - No custom error responses.
|
|
90
|
+
* @stability stable
|
|
91
|
+
*/
|
|
92
|
+
readonly errorResponses?: Array<aws_cloudfront.ErrorResponse>;
|
|
93
|
+
/**
|
|
94
|
+
* Enable access logging for the distribution.
|
|
95
|
+
* @default - false, unless `logBucket` is specified.
|
|
96
|
+
* @stability stable
|
|
97
|
+
*/
|
|
98
|
+
readonly enableLogging?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Whether CloudFront will respond to IPv6 DNS requests with an IPv6 address.
|
|
101
|
+
* If you specify false, CloudFront responds to IPv6 DNS requests with the DNS response code NOERROR and with no IP addresses.
|
|
102
|
+
* This allows viewers to submit a second request, for an IPv4 address for your distribution.
|
|
103
|
+
* @default true
|
|
104
|
+
* @stability stable
|
|
105
|
+
*/
|
|
106
|
+
readonly enableIpv6?: boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Enable or disable the distribution.
|
|
109
|
+
* @default true
|
|
110
|
+
* @stability stable
|
|
111
|
+
*/
|
|
112
|
+
readonly enabled?: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Alternative domain names for this distribution.
|
|
115
|
+
* If you want to use your own domain name, such as www.example.com, instead of the cloudfront.net domain name,
|
|
116
|
+
* you can add an alternate domain name to your distribution. If you attach a certificate to the distribution,
|
|
117
|
+
* you should add (at least one of) the domain names of the certificate to this list.
|
|
118
|
+
*
|
|
119
|
+
* When you want to move a domain name between distributions, you can associate a certificate without specifying any domain names.
|
|
120
|
+
* For more information, see the _Moving an alternate domain name to a different distribution_ section in the README.
|
|
121
|
+
* @default - The distribution will only support the default generated name (e.g., d111111abcdef8.cloudfront.net)
|
|
122
|
+
* @stability stable
|
|
123
|
+
*/
|
|
124
|
+
readonly domainNames?: Array<string>;
|
|
125
|
+
/**
|
|
126
|
+
* The object that you want CloudFront to request from your origin (for example, index.html) when a viewer requests the root URL for your distribution. If no default object is set, the request goes to the origin's root (e.g., example.com/).
|
|
127
|
+
* @default - no default root object
|
|
128
|
+
* @stability stable
|
|
129
|
+
*/
|
|
130
|
+
readonly defaultRootObject?: string;
|
|
131
|
+
/**
|
|
132
|
+
* Any comments you want to include about the distribution.
|
|
133
|
+
* @default - no comment
|
|
134
|
+
* @stability stable
|
|
135
|
+
*/
|
|
136
|
+
readonly comment?: string;
|
|
137
|
+
/**
|
|
138
|
+
* A certificate to associate with the distribution.
|
|
139
|
+
* The certificate must be located in N. Virginia (us-east-1).
|
|
140
|
+
* @default - the CloudFront wildcard certificate (*.cloudfront.net) will be used.
|
|
141
|
+
* @stability stable
|
|
142
|
+
*/
|
|
143
|
+
readonly certificate?: aws_certificatemanager.ICertificate;
|
|
144
|
+
/**
|
|
145
|
+
* Additional behaviors for the distribution, mapped by the pathPattern that specifies which requests to apply the behavior to.
|
|
146
|
+
* @default - no additional behaviors are added.
|
|
147
|
+
* @stability stable
|
|
148
|
+
*/
|
|
149
|
+
readonly additionalBehaviors?: Record<string, aws_cloudfront.BehaviorOptions>;
|
|
150
|
+
/**
|
|
151
|
+
* The default behavior for the distribution.
|
|
152
|
+
* @stability stable
|
|
153
|
+
*/
|
|
154
|
+
readonly defaultBehavior?: aws_cloudfront.BehaviorOptions;
|
|
155
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxEaXN0cmlidXRpb25Qcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbERpc3RyaWJ1dGlvblByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJwbnBtIGRseCBwcm9qZW5cIi5cbmltcG9ydCB0eXBlIHsgYXdzX2NlcnRpZmljYXRlbWFuYWdlciwgYXdzX2Nsb3VkZnJvbnQsIGF3c19zMyB9IGZyb20gJ2F3cy1jZGstbGliJztcblxuLyoqXG4gKiBPcHRpb25hbERpc3RyaWJ1dGlvblByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uYWxEaXN0cmlidXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBVbmlxdWUgaWRlbnRpZmllciB0aGF0IHNwZWNpZmllcyB0aGUgQVdTIFdBRiB3ZWIgQUNMIHRvIGFzc29jaWF0ZSB3aXRoIHRoaXMgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24uXG4gICAqIFRvIHNwZWNpZnkgYSB3ZWIgQUNMIGNyZWF0ZWQgdXNpbmcgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIEFXUyBXQUYsIHVzZSB0aGUgQUNMIEFSTiwgZm9yIGV4YW1wbGVcbiAgICogYGFybjphd3M6d2FmdjI6dXMtZWFzdC0xOjEyMzQ1Njc4OTAxMjpnbG9iYWwvd2ViYWNsL0V4YW1wbGVXZWJBQ0wvNDczZTY0ZmQtZjMwYi00NzY1LTgxYTAtNjJhZDk2ZGQxNjdhYC5cbiAgICogVG8gc3BlY2lmeSBhIHdlYiBBQ0wgY3JlYXRlZCB1c2luZyBBV1MgV0FGIENsYXNzaWMsIHVzZSB0aGUgQUNMIElELCBmb3IgZXhhbXBsZSBgNDczZTY0ZmQtZjMwYi00NzY1LTgxYTAtNjJhZDk2ZGQxNjdhYC5cbiAgICogQGRlZmF1bHQgLSBObyBBV1MgV2ViIEFwcGxpY2F0aW9uIEZpcmV3YWxsIHdlYiBhY2Nlc3MgY29udHJvbCBsaXN0ICh3ZWIgQUNMKS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHdlYkFjbElkPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIFNTTCBtZXRob2QgQ2xvdWRGcm9udCB3aWxsIHVzZSBmb3IgeW91ciBkaXN0cmlidXRpb24uXG4gICAqIFNlcnZlciBOYW1lIEluZGljYXRpb24gKFNOSSkgLSBpcyBhbiBleHRlbnNpb24gdG8gdGhlIFRMUyBjb21wdXRlciBuZXR3b3JraW5nIHByb3RvY29sIGJ5IHdoaWNoIGEgY2xpZW50IGluZGljYXRlc1xuICAgKiB3aGljaCBob3N0bmFtZSBpdCBpcyBhdHRlbXB0aW5nIHRvIGNvbm5lY3QgdG8gYXQgdGhlIHN0YXJ0IG9mIHRoZSBoYW5kc2hha2luZyBwcm9jZXNzLiBUaGlzIGFsbG93cyBhIHNlcnZlciB0byBwcmVzZW50XG4gICAqIG11bHRpcGxlIGNlcnRpZmljYXRlcyBvbiB0aGUgc2FtZSBJUCBhZGRyZXNzIGFuZCBUQ1AgcG9ydCBudW1iZXIgYW5kIGhlbmNlIGFsbG93cyBtdWx0aXBsZSBzZWN1cmUgKEhUVFBTKSB3ZWJzaXRlc1xuICAgKiAob3IgYW55IG90aGVyIHNlcnZpY2Ugb3ZlciBUTFMpIHRvIGJlIHNlcnZlZCBieSB0aGUgc2FtZSBJUCBhZGRyZXNzIHdpdGhvdXQgcmVxdWlyaW5nIGFsbCB0aG9zZSBzaXRlcyB0byB1c2UgdGhlIHNhbWUgY2VydGlmaWNhdGUuXG4gICAqXG4gICAqIENsb3VkRnJvbnQgY2FuIHVzZSBTTkkgdG8gaG9zdCBtdWx0aXBsZSBkaXN0cmlidXRpb25zIG9uIHRoZSBzYW1lIElQIC0gd2hpY2ggYSBsYXJnZSBtYWpvcml0eSBvZiBjbGllbnRzIHdpbGwgc3VwcG9ydC5cbiAgICpcbiAgICogSWYgeW91ciBjbGllbnRzIGNhbm5vdCBzdXBwb3J0IFNOSSBob3dldmVyIC0gQ2xvdWRGcm9udCBjYW4gdXNlIGRlZGljYXRlZCBJUHMgZm9yIHlvdXIgZGlzdHJpYnV0aW9uIC0gYnV0IHRoZXJlIGlzIGEgcHJvcmF0ZWQgbW9udGhseSBjaGFyZ2UgZm9yXG4gICAqIHVzaW5nIHRoaXMgZmVhdHVyZS4gQnkgZGVmYXVsdCwgd2UgdXNlIFNOSSAtIGJ1dCB5b3UgY2FuIG9wdGlvbmFsbHkgZW5hYmxlIGRlZGljYXRlZCBJUHMgKFZJUCkuXG4gICAqXG4gICAqIFNlZSB0aGUgQ2xvdWRGcm9udCBTU0wgZm9yIG1vcmUgZGV0YWlscyBhYm91dCBwcmljaW5nIDogaHR0cHM6Ly9hd3MuYW1hem9uLmNvbS9jbG91ZGZyb250L2N1c3RvbS1zc2wtZG9tYWlucy9cbiAgICogQGRlZmF1bHQgU1NMTWV0aG9kLlNOSVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgc3NsU3VwcG9ydE1ldGhvZD86IGF3c19jbG91ZGZyb250LlNTTE1ldGhvZDtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZW5hYmxlIGFkZGl0aW9uYWwgQ2xvdWRXYXRjaCBtZXRyaWNzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaEFkZGl0aW9uYWxNZXRyaWNzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFRoZSBwcmljZSBjbGFzcyB0aGF0IGNvcnJlc3BvbmRzIHdpdGggdGhlIG1heGltdW0gcHJpY2UgdGhhdCB5b3Ugd2FudCB0byBwYXkgZm9yIENsb3VkRnJvbnQgc2VydmljZS5cbiAgICogSWYgeW91IHNwZWNpZnkgUHJpY2VDbGFzc19BbGwsIENsb3VkRnJvbnQgcmVzcG9uZHMgdG8gcmVxdWVzdHMgZm9yIHlvdXIgb2JqZWN0cyBmcm9tIGFsbCBDbG91ZEZyb250IGVkZ2UgbG9jYXRpb25zLlxuICAgKiBJZiB5b3Ugc3BlY2lmeSBhIHByaWNlIGNsYXNzIG90aGVyIHRoYW4gUHJpY2VDbGFzc19BbGwsIENsb3VkRnJvbnQgc2VydmVzIHlvdXIgb2JqZWN0cyBmcm9tIHRoZSBDbG91ZEZyb250IGVkZ2UgbG9jYXRpb25cbiAgICogdGhhdCBoYXMgdGhlIGxvd2VzdCBsYXRlbmN5IGFtb25nIHRoZSBlZGdlIGxvY2F0aW9ucyBpbiB5b3VyIHByaWNlIGNsYXNzLlxuICAgKiBAZGVmYXVsdCBQcmljZUNsYXNzLlBSSUNFX0NMQVNTX0FMTFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJpY2VDbGFzcz86IGF3c19jbG91ZGZyb250LlByaWNlQ2xhc3M7XG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSB2ZXJzaW9uIG9mIHRoZSBTU0wgcHJvdG9jb2wgdGhhdCB5b3Ugd2FudCBDbG91ZEZyb250IHRvIHVzZSBmb3IgSFRUUFMgY29ubmVjdGlvbnMuXG4gICAqIENsb3VkRnJvbnQgc2VydmVzIHlvdXIgb2JqZWN0cyBvbmx5IHRvIGJyb3dzZXJzIG9yIGRldmljZXMgdGhhdCBzdXBwb3J0IGF0XG4gICAqIGxlYXN0IHRoZSBTU0wgdmVyc2lvbiB0aGF0IHlvdSBzcGVjaWZ5LlxuICAgKiBAZGVmYXVsdCAtIFNlY3VyaXR5UG9saWN5UHJvdG9jb2wuVExTX1YxXzJfMjAyMSBpZiB0aGUgJ0Bhd3MtY2RrL2F3cy1jbG91ZGZyb250OmRlZmF1bHRTZWN1cml0eVBvbGljeVRMU3YxLjJfMjAyMScgZmVhdHVyZSBmbGFnIGlzIHNldDsgb3RoZXJ3aXNlLCBTZWN1cml0eVBvbGljeVByb3RvY29sLlRMU19WMV8yXzIwMTkuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBtaW5pbXVtUHJvdG9jb2xWZXJzaW9uPzogYXdzX2Nsb3VkZnJvbnQuU2VjdXJpdHlQb2xpY3lQcm90b2NvbDtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHlvdSB3YW50IENsb3VkRnJvbnQgdG8gaW5jbHVkZSBjb29raWVzIGluIGFjY2VzcyBsb2dzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nSW5jbHVkZXNDb29raWVzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIHN0cmluZyB0aGF0IHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcHJlZml4IHRvIHRoZSBhY2Nlc3MgbG9nIGZpbGVuYW1lcyBmb3IgdGhpcyBkaXN0cmlidXRpb24uXG4gICAqIEBkZWZhdWx0IC0gbm8gcHJlZml4XG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBsb2dGaWxlUHJlZml4Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIEFtYXpvbiBTMyBidWNrZXQgdG8gc3RvcmUgdGhlIGFjY2VzcyBsb2dzIGluLlxuICAgKiBNYWtlIHN1cmUgdG8gc2V0IGBvYmplY3RPd25lcnNoaXBgIHRvIGBzMy5PYmplY3RPd25lcnNoaXAuT0JKRUNUX1dSSVRFUmAgaW4geW91ciBjdXN0b20gYnVja2V0LlxuICAgKiBAZGVmYXVsdCAtIEEgYnVja2V0IGlzIGNyZWF0ZWQgaWYgYGVuYWJsZUxvZ2dpbmdgIGlzIHRydWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0J1Y2tldD86IGF3c19zMy5JQnVja2V0O1xuICAvKipcbiAgICogU3BlY2lmeSB0aGUgbWF4aW11bSBIVFRQIHZlcnNpb24gdGhhdCB5b3Ugd2FudCB2aWV3ZXJzIHRvIHVzZSB0byBjb21tdW5pY2F0ZSB3aXRoIENsb3VkRnJvbnQuXG4gICAqIEZvciB2aWV3ZXJzIGFuZCBDbG91ZEZyb250IHRvIHVzZSBIVFRQLzIsIHZpZXdlcnMgbXVzdCBzdXBwb3J0IFRMUyAxLjIgb3IgbGF0ZXIsIGFuZCBtdXN0IHN1cHBvcnQgc2VydmVyIG5hbWUgaWRlbnRpZmljYXRpb24gKFNOSSkuXG4gICAqIEBkZWZhdWx0IEh0dHBWZXJzaW9uLkhUVFAyXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBodHRwVmVyc2lvbj86IGF3c19jbG91ZGZyb250Lkh0dHBWZXJzaW9uO1xuICAvKipcbiAgICogQ29udHJvbHMgdGhlIGNvdW50cmllcyBpbiB3aGljaCB5b3VyIGNvbnRlbnQgaXMgZGlzdHJpYnV0ZWQuXG4gICAqIEBkZWZhdWx0IC0gTm8gZ2VvZ3JhcGhpYyByZXN0cmljdGlvbnNcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGdlb1Jlc3RyaWN0aW9uPzogYXdzX2Nsb3VkZnJvbnQuR2VvUmVzdHJpY3Rpb247XG4gIC8qKlxuICAgKiBIb3cgQ2xvdWRGcm9udCBzaG91bGQgaGFuZGxlIHJlcXVlc3RzIHRoYXQgYXJlIG5vdCBzdWNjZXNzZnVsIChlLmcuLCBQYWdlTm90Rm91bmQpLlxuICAgKiBAZGVmYXVsdCAtIE5vIGN1c3RvbSBlcnJvciByZXNwb25zZXMuXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBlcnJvclJlc3BvbnNlcz86IEFycmF5PGF3c19jbG91ZGZyb250LkVycm9yUmVzcG9uc2U+O1xuICAvKipcbiAgICogRW5hYmxlIGFjY2VzcyBsb2dnaW5nIGZvciB0aGUgZGlzdHJpYnV0aW9uLlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlLCB1bmxlc3MgYGxvZ0J1Y2tldGAgaXMgc3BlY2lmaWVkLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlTG9nZ2luZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIENsb3VkRnJvbnQgd2lsbCByZXNwb25kIHRvIElQdjYgRE5TIHJlcXVlc3RzIHdpdGggYW4gSVB2NiBhZGRyZXNzLlxuICAgKiBJZiB5b3Ugc3BlY2lmeSBmYWxzZSwgQ2xvdWRGcm9udCByZXNwb25kcyB0byBJUHY2IEROUyByZXF1ZXN0cyB3aXRoIHRoZSBETlMgcmVzcG9uc2UgY29kZSBOT0VSUk9SIGFuZCB3aXRoIG5vIElQIGFkZHJlc3Nlcy5cbiAgICogVGhpcyBhbGxvd3Mgdmlld2VycyB0byBzdWJtaXQgYSBzZWNvbmQgcmVxdWVzdCwgZm9yIGFuIElQdjQgYWRkcmVzcyBmb3IgeW91ciBkaXN0cmlidXRpb24uXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUlwdjY/OiBib29sZWFuO1xuICAvKipcbiAgICogRW5hYmxlIG9yIGRpc2FibGUgdGhlIGRpc3RyaWJ1dGlvbi5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbHRlcm5hdGl2ZSBkb21haW4gbmFtZXMgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLlxuICAgKiBJZiB5b3Ugd2FudCB0byB1c2UgeW91ciBvd24gZG9tYWluIG5hbWUsIHN1Y2ggYXMgd3d3LmV4YW1wbGUuY29tLCBpbnN0ZWFkIG9mIHRoZSBjbG91ZGZyb250Lm5ldCBkb21haW4gbmFtZSxcbiAgICogeW91IGNhbiBhZGQgYW4gYWx0ZXJuYXRlIGRvbWFpbiBuYW1lIHRvIHlvdXIgZGlzdHJpYnV0aW9uLiBJZiB5b3UgYXR0YWNoIGEgY2VydGlmaWNhdGUgdG8gdGhlIGRpc3RyaWJ1dGlvbixcbiAgICogeW91IHNob3VsZCBhZGQgKGF0IGxlYXN0IG9uZSBvZikgdGhlIGRvbWFpbiBuYW1lcyBvZiB0aGUgY2VydGlmaWNhdGUgdG8gdGhpcyBsaXN0LlxuICAgKlxuICAgKiBXaGVuIHlvdSB3YW50IHRvIG1vdmUgYSBkb21haW4gbmFtZSBiZXR3ZWVuIGRpc3RyaWJ1dGlvbnMsIHlvdSBjYW4gYXNzb2NpYXRlIGEgY2VydGlmaWNhdGUgd2l0aG91dCBzcGVjaWZ5aW5nIGFueSBkb21haW4gbmFtZXMuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIF9Nb3ZpbmcgYW4gYWx0ZXJuYXRlIGRvbWFpbiBuYW1lIHRvIGEgZGlmZmVyZW50IGRpc3RyaWJ1dGlvbl8gc2VjdGlvbiBpbiB0aGUgUkVBRE1FLlxuICAgKiBAZGVmYXVsdCAtIFRoZSBkaXN0cmlidXRpb24gd2lsbCBvbmx5IHN1cHBvcnQgdGhlIGRlZmF1bHQgZ2VuZXJhdGVkIG5hbWUgKGUuZy4sIGQxMTExMTFhYmNkZWY4LmNsb3VkZnJvbnQubmV0KVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluTmFtZXM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogVGhlIG9iamVjdCB0aGF0IHlvdSB3YW50IENsb3VkRnJvbnQgdG8gcmVxdWVzdCBmcm9tIHlvdXIgb3JpZ2luIChmb3IgZXhhbXBsZSwgaW5kZXguaHRtbCkgd2hlbiBhIHZpZXdlciByZXF1ZXN0cyB0aGUgcm9vdCBVUkwgZm9yIHlvdXIgZGlzdHJpYnV0aW9uLiBJZiBubyBkZWZhdWx0IG9iamVjdCBpcyBzZXQsIHRoZSByZXF1ZXN0IGdvZXMgdG8gdGhlIG9yaWdpbidzIHJvb3QgKGUuZy4sIGV4YW1wbGUuY29tLykuXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVmYXVsdCByb290IG9iamVjdFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFJvb3RPYmplY3Q/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbnkgY29tbWVudHMgeW91IHdhbnQgdG8gaW5jbHVkZSBhYm91dCB0aGUgZGlzdHJpYnV0aW9uLlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvbW1lbnRcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNvbW1lbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBIGNlcnRpZmljYXRlIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBkaXN0cmlidXRpb24uXG4gICAqIFRoZSBjZXJ0aWZpY2F0ZSBtdXN0IGJlIGxvY2F0ZWQgaW4gTi4gVmlyZ2luaWEgKHVzLWVhc3QtMSkuXG4gICAqIEBkZWZhdWx0IC0gdGhlIENsb3VkRnJvbnQgd2lsZGNhcmQgY2VydGlmaWNhdGUgKCouY2xvdWRmcm9udC5uZXQpIHdpbGwgYmUgdXNlZC5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNlcnRpZmljYXRlPzogYXdzX2NlcnRpZmljYXRlbWFuYWdlci5JQ2VydGlmaWNhdGU7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGJlaGF2aW9ycyBmb3IgdGhlIGRpc3RyaWJ1dGlvbiwgbWFwcGVkIGJ5IHRoZSBwYXRoUGF0dGVybiB0aGF0IHNwZWNpZmllcyB3aGljaCByZXF1ZXN0cyB0byBhcHBseSB0aGUgYmVoYXZpb3IgdG8uXG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBiZWhhdmlvcnMgYXJlIGFkZGVkLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbEJlaGF2aW9ycz86IFJlY29yZDxzdHJpbmcsIGF3c19jbG91ZGZyb250LkJlaGF2aW9yT3B0aW9ucz47XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBiZWhhdmlvciBmb3IgdGhlIGRpc3RyaWJ1dGlvbi5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRCZWhhdmlvcj86IGF3c19jbG91ZGZyb250LkJlaGF2aW9yT3B0aW9ucztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import type { aws_ecr_assets, IgnoreMode, SymlinkFollowMode } from 'aws-cdk-lib';
|
|
2
|
+
/**
|
|
3
|
+
* OptionalDockerImageAssetProps
|
|
4
|
+
*/
|
|
5
|
+
export interface OptionalDockerImageAssetProps {
|
|
6
|
+
/**
|
|
7
|
+
* The directory where the Dockerfile is stored.
|
|
8
|
+
* Any directory inside with a name that matches the CDK output folder (cdk.out by default) will be excluded from the asset
|
|
9
|
+
* @stability stable
|
|
10
|
+
*/
|
|
11
|
+
readonly directory?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Docker target to build to.
|
|
14
|
+
* @default - no target
|
|
15
|
+
* @stability stable
|
|
16
|
+
*/
|
|
17
|
+
readonly target?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Platform to build for.
|
|
20
|
+
* _Requires Docker Buildx_.
|
|
21
|
+
* @default - no platform specified (the current machine architecture will be used)
|
|
22
|
+
* @stability stable
|
|
23
|
+
*/
|
|
24
|
+
readonly platform?: aws_ecr_assets.Platform;
|
|
25
|
+
/**
|
|
26
|
+
* Outputs to pass to the `docker build` command.
|
|
27
|
+
* @default - no outputs are passed to the build command (default outputs are used)
|
|
28
|
+
* @stability stable
|
|
29
|
+
*/
|
|
30
|
+
readonly outputs?: Array<string>;
|
|
31
|
+
/**
|
|
32
|
+
* Networking mode for the RUN commands during build.
|
|
33
|
+
* Support docker API 1.25+.
|
|
34
|
+
* @default - no networking mode specified (the default networking mode `NetworkMode.DEFAULT` will be used)
|
|
35
|
+
* @stability stable
|
|
36
|
+
*/
|
|
37
|
+
readonly networkMode?: aws_ecr_assets.NetworkMode;
|
|
38
|
+
/**
|
|
39
|
+
* Options to control which parameters are used to invalidate the asset hash.
|
|
40
|
+
* @default - hash all parameters
|
|
41
|
+
* @stability stable
|
|
42
|
+
*/
|
|
43
|
+
readonly invalidation?: aws_ecr_assets.DockerImageAssetInvalidationOptions;
|
|
44
|
+
/**
|
|
45
|
+
* Path to the Dockerfile (relative to the directory).
|
|
46
|
+
* @default 'Dockerfile'
|
|
47
|
+
* @stability stable
|
|
48
|
+
*/
|
|
49
|
+
readonly file?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Cache to options to pass to the `docker build` command.
|
|
52
|
+
* @default - no cache to options are passed to the build command
|
|
53
|
+
* @stability stable
|
|
54
|
+
*/
|
|
55
|
+
readonly cacheTo?: aws_ecr_assets.DockerCacheOption;
|
|
56
|
+
/**
|
|
57
|
+
* Cache from options to pass to the `docker build` command.
|
|
58
|
+
* @default - no cache from options are passed to the build command
|
|
59
|
+
* @stability stable
|
|
60
|
+
*/
|
|
61
|
+
readonly cacheFrom?: Array<aws_ecr_assets.DockerCacheOption>;
|
|
62
|
+
/**
|
|
63
|
+
* Disable the cache and pass `--no-cache` to the `docker build` command.
|
|
64
|
+
* @default - cache is used
|
|
65
|
+
* @stability stable
|
|
66
|
+
*/
|
|
67
|
+
readonly cacheDisabled?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* SSH agent socket or keys to pass to the `docker build` command.
|
|
70
|
+
* Docker BuildKit must be enabled to use the ssh flag
|
|
71
|
+
* @default - no --ssh flag
|
|
72
|
+
* @stability stable
|
|
73
|
+
*/
|
|
74
|
+
readonly buildSsh?: string;
|
|
75
|
+
/**
|
|
76
|
+
* Build secrets.
|
|
77
|
+
* Docker BuildKit must be enabled to use build secrets.
|
|
78
|
+
* @default - no build secrets
|
|
79
|
+
* @stability stable
|
|
80
|
+
*/
|
|
81
|
+
readonly buildSecrets?: Record<string, string>;
|
|
82
|
+
/**
|
|
83
|
+
* Build args to pass to the `docker build` command.
|
|
84
|
+
* Since Docker build arguments are resolved before deployment, keys and
|
|
85
|
+
* values cannot refer to unresolved tokens (such as `lambda.functionArn` or
|
|
86
|
+
* `queue.queueUrl`).
|
|
87
|
+
* @default - no build args are passed
|
|
88
|
+
* @stability stable
|
|
89
|
+
*/
|
|
90
|
+
readonly buildArgs?: Record<string, string>;
|
|
91
|
+
/**
|
|
92
|
+
* Unique identifier of the docker image asset and its potential revisions.
|
|
93
|
+
* Required if using AppScopedStagingSynthesizer.
|
|
94
|
+
* @default - no asset name
|
|
95
|
+
* @stability stable
|
|
96
|
+
*/
|
|
97
|
+
readonly assetName?: string;
|
|
98
|
+
/**
|
|
99
|
+
* Extra information to encode into the fingerprint (e.g. build instructions and other inputs).
|
|
100
|
+
* @default - hash is only based on source content
|
|
101
|
+
* @stability stable
|
|
102
|
+
*/
|
|
103
|
+
readonly extraHash?: string;
|
|
104
|
+
/**
|
|
105
|
+
* The ignore behavior to use for `exclude` patterns.
|
|
106
|
+
* @default IgnoreMode.GLOB
|
|
107
|
+
* @stability stable
|
|
108
|
+
*/
|
|
109
|
+
readonly ignoreMode?: IgnoreMode;
|
|
110
|
+
/**
|
|
111
|
+
* A strategy for how to handle symlinks.
|
|
112
|
+
* @default SymlinkFollowMode.NEVER
|
|
113
|
+
* @stability stable
|
|
114
|
+
*/
|
|
115
|
+
readonly followSymlinks?: SymlinkFollowMode;
|
|
116
|
+
/**
|
|
117
|
+
* File paths matching the patterns will be excluded.
|
|
118
|
+
* See `ignoreMode` to set the matching behavior.
|
|
119
|
+
* Has no effect on Assets bundled using the `bundling` property.
|
|
120
|
+
* @default - nothing is excluded
|
|
121
|
+
* @stability stable
|
|
122
|
+
*/
|
|
123
|
+
readonly exclude?: Array<string>;
|
|
124
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0aW9uYWxEb2NrZXJJbWFnZUFzc2V0UHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxEb2NrZXJJbWFnZUFzc2V0UHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcInBucG0gZGx4IHByb2plblwiLlxuaW1wb3J0IHR5cGUgeyBhd3NfZWNyX2Fzc2V0cywgSWdub3JlTW9kZSwgU3ltbGlua0ZvbGxvd01vZGUgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5cbi8qKlxuICogT3B0aW9uYWxEb2NrZXJJbWFnZUFzc2V0UHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPcHRpb25hbERvY2tlckltYWdlQXNzZXRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBEb2NrZXJmaWxlIGlzIHN0b3JlZC5cbiAgICogQW55IGRpcmVjdG9yeSBpbnNpZGUgd2l0aCBhIG5hbWUgdGhhdCBtYXRjaGVzIHRoZSBDREsgb3V0cHV0IGZvbGRlciAoY2RrLm91dCBieSBkZWZhdWx0KSB3aWxsIGJlIGV4Y2x1ZGVkIGZyb20gdGhlIGFzc2V0XG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBkaXJlY3Rvcnk/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEb2NrZXIgdGFyZ2V0IHRvIGJ1aWxkIHRvLlxuICAgKiBAZGVmYXVsdCAtIG5vIHRhcmdldFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0Pzogc3RyaW5nO1xuICAvKipcbiAgICogUGxhdGZvcm0gdG8gYnVpbGQgZm9yLlxuICAgKiBfUmVxdWlyZXMgRG9ja2VyIEJ1aWxkeF8uXG4gICAqIEBkZWZhdWx0IC0gbm8gcGxhdGZvcm0gc3BlY2lmaWVkICh0aGUgY3VycmVudCBtYWNoaW5lIGFyY2hpdGVjdHVyZSB3aWxsIGJlIHVzZWQpXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBwbGF0Zm9ybT86IGF3c19lY3JfYXNzZXRzLlBsYXRmb3JtO1xuICAvKipcbiAgICogT3V0cHV0cyB0byBwYXNzIHRvIHRoZSBgZG9ja2VyIGJ1aWxkYCBjb21tYW5kLlxuICAgKiBAZGVmYXVsdCAtIG5vIG91dHB1dHMgYXJlIHBhc3NlZCB0byB0aGUgYnVpbGQgY29tbWFuZCAoZGVmYXVsdCBvdXRwdXRzIGFyZSB1c2VkKVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0cz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBOZXR3b3JraW5nIG1vZGUgZm9yIHRoZSBSVU4gY29tbWFuZHMgZHVyaW5nIGJ1aWxkLlxuICAgKiBTdXBwb3J0IGRvY2tlciBBUEkgMS4yNSsuXG4gICAqIEBkZWZhdWx0IC0gbm8gbmV0d29ya2luZyBtb2RlIHNwZWNpZmllZCAodGhlIGRlZmF1bHQgbmV0d29ya2luZyBtb2RlIGBOZXR3b3JrTW9kZS5ERUZBVUxUYCB3aWxsIGJlIHVzZWQpXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBuZXR3b3JrTW9kZT86IGF3c19lY3JfYXNzZXRzLk5ldHdvcmtNb2RlO1xuICAvKipcbiAgICogT3B0aW9ucyB0byBjb250cm9sIHdoaWNoIHBhcmFtZXRlcnMgYXJlIHVzZWQgdG8gaW52YWxpZGF0ZSB0aGUgYXNzZXQgaGFzaC5cbiAgICogQGRlZmF1bHQgLSBoYXNoIGFsbCBwYXJhbWV0ZXJzXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBpbnZhbGlkYXRpb24/OiBhd3NfZWNyX2Fzc2V0cy5Eb2NrZXJJbWFnZUFzc2V0SW52YWxpZGF0aW9uT3B0aW9ucztcbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIERvY2tlcmZpbGUgKHJlbGF0aXZlIHRvIHRoZSBkaXJlY3RvcnkpLlxuICAgKiBAZGVmYXVsdCAnRG9ja2VyZmlsZSdcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGZpbGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDYWNoZSB0byBvcHRpb25zIHRvIHBhc3MgdG8gdGhlIGBkb2NrZXIgYnVpbGRgIGNvbW1hbmQuXG4gICAqIEBkZWZhdWx0IC0gbm8gY2FjaGUgdG8gb3B0aW9ucyBhcmUgcGFzc2VkIHRvIHRoZSBidWlsZCBjb21tYW5kXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjYWNoZVRvPzogYXdzX2Vjcl9hc3NldHMuRG9ja2VyQ2FjaGVPcHRpb247XG4gIC8qKlxuICAgKiBDYWNoZSBmcm9tIG9wdGlvbnMgdG8gcGFzcyB0byB0aGUgYGRvY2tlciBidWlsZGAgY29tbWFuZC5cbiAgICogQGRlZmF1bHQgLSBubyBjYWNoZSBmcm9tIG9wdGlvbnMgYXJlIHBhc3NlZCB0byB0aGUgYnVpbGQgY29tbWFuZFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY2FjaGVGcm9tPzogQXJyYXk8YXdzX2Vjcl9hc3NldHMuRG9ja2VyQ2FjaGVPcHRpb24+O1xuICAvKipcbiAgICogRGlzYWJsZSB0aGUgY2FjaGUgYW5kIHBhc3MgYC0tbm8tY2FjaGVgIHRvIHRoZSBgZG9ja2VyIGJ1aWxkYCBjb21tYW5kLlxuICAgKiBAZGVmYXVsdCAtIGNhY2hlIGlzIHVzZWRcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNhY2hlRGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogU1NIIGFnZW50IHNvY2tldCBvciBrZXlzIHRvIHBhc3MgdG8gdGhlIGBkb2NrZXIgYnVpbGRgIGNvbW1hbmQuXG4gICAqIERvY2tlciBCdWlsZEtpdCBtdXN0IGJlIGVuYWJsZWQgdG8gdXNlIHRoZSBzc2ggZmxhZ1xuICAgKiBAZGVmYXVsdCAtIG5vIC0tc3NoIGZsYWdcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkU3NoPzogc3RyaW5nO1xuICAvKipcbiAgICogQnVpbGQgc2VjcmV0cy5cbiAgICogRG9ja2VyIEJ1aWxkS2l0IG11c3QgYmUgZW5hYmxlZCB0byB1c2UgYnVpbGQgc2VjcmV0cy5cbiAgICogQGRlZmF1bHQgLSBubyBidWlsZCBzZWNyZXRzXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBidWlsZFNlY3JldHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogQnVpbGQgYXJncyB0byBwYXNzIHRvIHRoZSBgZG9ja2VyIGJ1aWxkYCBjb21tYW5kLlxuICAgKiBTaW5jZSBEb2NrZXIgYnVpbGQgYXJndW1lbnRzIGFyZSByZXNvbHZlZCBiZWZvcmUgZGVwbG95bWVudCwga2V5cyBhbmRcbiAgICogdmFsdWVzIGNhbm5vdCByZWZlciB0byB1bnJlc29sdmVkIHRva2VucyAoc3VjaCBhcyBgbGFtYmRhLmZ1bmN0aW9uQXJuYCBvclxuICAgKiBgcXVldWUucXVldWVVcmxgKS5cbiAgICogQGRlZmF1bHQgLSBubyBidWlsZCBhcmdzIGFyZSBwYXNzZWRcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQXJncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZG9ja2VyIGltYWdlIGFzc2V0IGFuZCBpdHMgcG90ZW50aWFsIHJldmlzaW9ucy5cbiAgICogUmVxdWlyZWQgaWYgdXNpbmcgQXBwU2NvcGVkU3RhZ2luZ1N5bnRoZXNpemVyLlxuICAgKiBAZGVmYXVsdCAtIG5vIGFzc2V0IG5hbWVcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGFzc2V0TmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEV4dHJhIGluZm9ybWF0aW9uIHRvIGVuY29kZSBpbnRvIHRoZSBmaW5nZXJwcmludCAoZS5nLiBidWlsZCBpbnN0cnVjdGlvbnMgYW5kIG90aGVyIGlucHV0cykuXG4gICAqIEBkZWZhdWx0IC0gaGFzaCBpcyBvbmx5IGJhc2VkIG9uIHNvdXJjZSBjb250ZW50XG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBleHRyYUhhc2g/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgaWdub3JlIGJlaGF2aW9yIHRvIHVzZSBmb3IgYGV4Y2x1ZGVgIHBhdHRlcm5zLlxuICAgKiBAZGVmYXVsdCBJZ25vcmVNb2RlLkdMT0JcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGlnbm9yZU1vZGU/OiBJZ25vcmVNb2RlO1xuICAvKipcbiAgICogQSBzdHJhdGVneSBmb3IgaG93IHRvIGhhbmRsZSBzeW1saW5rcy5cbiAgICogQGRlZmF1bHQgU3ltbGlua0ZvbGxvd01vZGUuTkVWRVJcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGZvbGxvd1N5bWxpbmtzPzogU3ltbGlua0ZvbGxvd01vZGU7XG4gIC8qKlxuICAgKiBGaWxlIHBhdGhzIG1hdGNoaW5nIHRoZSBwYXR0ZXJucyB3aWxsIGJlIGV4Y2x1ZGVkLlxuICAgKiBTZWUgYGlnbm9yZU1vZGVgIHRvIHNldCB0aGUgbWF0Y2hpbmcgYmVoYXZpb3IuXG4gICAqIEhhcyBubyBlZmZlY3Qgb24gQXNzZXRzIGJ1bmRsZWQgdXNpbmcgdGhlIGBidW5kbGluZ2AgcHJvcGVydHkuXG4gICAqIEBkZWZhdWx0IC0gbm90aGluZyBpcyBleGNsdWRlZFxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhjbHVkZT86IEFycmF5PHN0cmluZz47XG59XG4iXX0=
|