truemark-cdk-lib 0.0.15 → 0.0.16-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/aws-s3/index.d.ts +1 -0
- package/aws-s3/index.js +14 -0
- package/aws-s3/lib/index.d.ts +1 -0
- package/aws-s3/lib/index.js +14 -0
- package/aws-s3/lib/standard-bucket.d.ts +38 -0
- package/aws-s3/lib/standard-bucket.js +22 -0
- package/aws-website/index.d.ts +1 -0
- package/aws-website/index.js +14 -0
- package/aws-website/lib/domain-name.d.ts +7 -0
- package/aws-website/lib/domain-name.js +17 -0
- package/aws-website/lib/index.d.ts +2 -0
- package/aws-website/lib/index.js +15 -0
- package/aws-website/lib/website.d.ts +61 -0
- package/aws-website/lib/website.js +106 -0
- package/index.d.ts +8 -7
- package/index.js +2 -1
- package/package.json +4 -2
- package/test/aws-lambda/python-function.test.js +3 -3
- package/test/aws-website/example-website/.hugo_build.lock +0 -0
- package/test/aws-website/example-website/archetypes/default.md +6 -0
- package/test/aws-website/example-website/config.toml +3 -0
- package/test/aws-website/website.test.d.ts +1 -0
- package/test/aws-website/website.test.js +16 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./lib";
|
package/aws-s3/index.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./lib"), exports);
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9saWJcIjtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./standard-bucket";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./standard-bucket"), exports);
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxvREFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9zdGFuZGFyZC1idWNrZXRcIjtcbiJdfQ==
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Bucket } from "aws-cdk-lib/aws-s3";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
import * as kms from "aws-cdk-lib/aws-kms";
|
|
4
|
+
import { RemovalPolicy } from "aws-cdk-lib";
|
|
5
|
+
import { BlockPublicAccess } from "aws-cdk-lib/aws-s3/lib/bucket";
|
|
6
|
+
export interface StandardBucketProps {
|
|
7
|
+
/**
|
|
8
|
+
* Key to be used for encryption. If left empty, encryption will be S3_MANAGED.
|
|
9
|
+
*/
|
|
10
|
+
readonly encryptionKey?: kms.IKey;
|
|
11
|
+
/**
|
|
12
|
+
* Removal policy for this bucket.
|
|
13
|
+
*
|
|
14
|
+
* @default RemovalPolicy.DESTROY
|
|
15
|
+
*/
|
|
16
|
+
readonly removalPolicy?: RemovalPolicy;
|
|
17
|
+
/**
|
|
18
|
+
* Whether this bucket should have versioning turned on or not.
|
|
19
|
+
*
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
22
|
+
readonly versioned?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Grants public read access to all objects in the bucket. Similar to calling bucket.grantPublicAccess()
|
|
25
|
+
*
|
|
26
|
+
* @default false
|
|
27
|
+
*/
|
|
28
|
+
readonly publicReadAccess?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* The block public access configuration of this bucket.
|
|
31
|
+
*
|
|
32
|
+
* @default BlockPublicAccess.BLOCK_ALL
|
|
33
|
+
*/
|
|
34
|
+
readonly blockPublicAccess?: BlockPublicAccess;
|
|
35
|
+
}
|
|
36
|
+
export declare class StandardBucket extends Bucket {
|
|
37
|
+
constructor(scope: Construct, id: string, props?: StandardBucketProps);
|
|
38
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StandardBucket = void 0;
|
|
4
|
+
const aws_s3_1 = require("aws-cdk-lib/aws-s3");
|
|
5
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
6
|
+
const bucket_1 = require("aws-cdk-lib/aws-s3/lib/bucket");
|
|
7
|
+
class StandardBucket extends aws_s3_1.Bucket {
|
|
8
|
+
constructor(scope, id, props) {
|
|
9
|
+
var _a, _b, _c, _d;
|
|
10
|
+
super(scope, id, {
|
|
11
|
+
...props,
|
|
12
|
+
encryption: (props === null || props === void 0 ? void 0 : props.encryptionKey) ? aws_s3_1.BucketEncryption.KMS : aws_s3_1.BucketEncryption.S3_MANAGED,
|
|
13
|
+
removalPolicy: (_a = props === null || props === void 0 ? void 0 : props.removalPolicy) !== null && _a !== void 0 ? _a : aws_cdk_lib_1.RemovalPolicy.DESTROY,
|
|
14
|
+
autoDeleteObjects: (props === null || props === void 0 ? void 0 : props.removalPolicy) === undefined || props.removalPolicy !== aws_cdk_lib_1.RemovalPolicy.RETAIN,
|
|
15
|
+
versioned: (_b = props === null || props === void 0 ? void 0 : props.versioned) !== null && _b !== void 0 ? _b : false,
|
|
16
|
+
publicReadAccess: (_c = props === null || props === void 0 ? void 0 : props.publicReadAccess) !== null && _c !== void 0 ? _c : false,
|
|
17
|
+
blockPublicAccess: (_d = props === null || props === void 0 ? void 0 : props.blockPublicAccess) !== null && _d !== void 0 ? _d : bucket_1.BlockPublicAccess.BLOCK_ALL,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.StandardBucket = StandardBucket;
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtYnVja2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtYnVja2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUE0RDtBQUc1RCw2Q0FBMEM7QUFDMUMsMERBQWdFO0FBcUNoRSxNQUFhLGNBQWUsU0FBUSxlQUFNO0lBRXhDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMkI7O1FBQ25FLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsR0FBRyxLQUFLO1lBQ1IsVUFBVSxFQUFFLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGFBQWEsRUFBQSxDQUFDLENBQUEseUJBQWdCLENBQUMsR0FBRyxDQUFBLENBQUMsQ0FBQSx5QkFBZ0IsQ0FBQyxVQUFVO1lBQ2pGLGFBQWEsUUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsYUFBYSxtQ0FBRSwyQkFBYSxDQUFDLE9BQU87WUFDMUQsaUJBQWlCLEVBQUUsQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsYUFBYSxNQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsYUFBYSxLQUFLLDJCQUFhLENBQUMsTUFBTTtZQUNyRyxTQUFTLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFNBQVMsbUNBQUUsS0FBSztZQUNsQyxnQkFBZ0IsUUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZ0JBQWdCLG1DQUFFLEtBQUs7WUFDaEQsaUJBQWlCLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGlCQUFpQixtQ0FBRSwwQkFBaUIsQ0FBQyxTQUFTO1NBQ3pFLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWJELHdDQWFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCdWNrZXQsIEJ1Y2tldEVuY3J5cHRpb259IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMga21zIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mta21zXCI7XG5pbXBvcnQge1JlbW92YWxQb2xpY3l9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtCbG9ja1B1YmxpY0FjY2Vzc30gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zMy9saWIvYnVja2V0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhcmRCdWNrZXRQcm9wcyB7XG4gIC8qKlxuICAgKiBLZXkgdG8gYmUgdXNlZCBmb3IgZW5jcnlwdGlvbi4gSWYgbGVmdCBlbXB0eSwgZW5jcnlwdGlvbiB3aWxsIGJlIFMzX01BTkFHRUQuXG4gICAqL1xuICByZWFkb25seSBlbmNyeXB0aW9uS2V5Pzoga21zLklLZXk7XG5cbiAgLyoqXG4gICAqIFJlbW92YWwgcG9saWN5IGZvciB0aGlzIGJ1Y2tldC5cbiAgICpcbiAgICogQGRlZmF1bHQgUmVtb3ZhbFBvbGljeS5ERVNUUk9ZXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIGJ1Y2tldCBzaG91bGQgaGF2ZSB2ZXJzaW9uaW5nIHR1cm5lZCBvbiBvciBub3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBHcmFudHMgcHVibGljIHJlYWQgYWNjZXNzIHRvIGFsbCBvYmplY3RzIGluIHRoZSBidWNrZXQuIFNpbWlsYXIgdG8gY2FsbGluZyBidWNrZXQuZ3JhbnRQdWJsaWNBY2Nlc3MoKVxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljUmVhZEFjY2Vzcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBibG9jayBwdWJsaWMgYWNjZXNzIGNvbmZpZ3VyYXRpb24gb2YgdGhpcyBidWNrZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IEJsb2NrUHVibGljQWNjZXNzLkJMT0NLX0FMTFxuICAgKi9cbiAgcmVhZG9ubHkgYmxvY2tQdWJsaWNBY2Nlc3M/OiBCbG9ja1B1YmxpY0FjY2Vzc1xufVxuXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRCdWNrZXQgZXh0ZW5kcyBCdWNrZXQge1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogU3RhbmRhcmRCdWNrZXRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBlbmNyeXB0aW9uOiBwcm9wcz8uZW5jcnlwdGlvbktleT9CdWNrZXRFbmNyeXB0aW9uLktNUzpCdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICByZW1vdmFsUG9saWN5OiBwcm9wcz8ucmVtb3ZhbFBvbGljeT8/UmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgICAgYXV0b0RlbGV0ZU9iamVjdHM6IHByb3BzPy5yZW1vdmFsUG9saWN5ID09PSB1bmRlZmluZWQgfHwgcHJvcHMucmVtb3ZhbFBvbGljeSAhPT0gUmVtb3ZhbFBvbGljeS5SRVRBSU4sXG4gICAgICB2ZXJzaW9uZWQ6IHByb3BzPy52ZXJzaW9uZWQ/P2ZhbHNlLFxuICAgICAgcHVibGljUmVhZEFjY2VzczogcHJvcHM/LnB1YmxpY1JlYWRBY2Nlc3M/P2ZhbHNlLFxuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IHByb3BzPy5ibG9ja1B1YmxpY0FjY2Vzcz8/QmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUxMLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./lib";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./lib"), exports);
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9saWJcIjtcbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DomainName = void 0;
|
|
4
|
+
class DomainName {
|
|
5
|
+
constructor(prefix, zone) {
|
|
6
|
+
this.prefix = prefix;
|
|
7
|
+
this.zone = zone;
|
|
8
|
+
}
|
|
9
|
+
toString() {
|
|
10
|
+
return (this.prefix == '' ? '' : this.prefix + '.') + this.zone;
|
|
11
|
+
}
|
|
12
|
+
toIdentifier() {
|
|
13
|
+
return this.toString().replace('.', '-');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.DomainName = DomainName;
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFhLFVBQVU7SUFJckIsWUFBWSxNQUFjLEVBQUUsSUFBWTtRQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbEUsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDRjtBQWhCRCxnQ0FnQkMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRG9tYWluTmFtZSB7XG4gIHByZWZpeDogc3RyaW5nXG4gIHpvbmU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHByZWZpeDogc3RyaW5nLCB6b25lOiBzdHJpbmcpIHtcbiAgICB0aGlzLnByZWZpeCA9IHByZWZpeDtcbiAgICB0aGlzLnpvbmUgPSB6b25lO1xuICB9XG5cbiAgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuICh0aGlzLnByZWZpeCA9PSAnJyA/ICcnIDogdGhpcy5wcmVmaXggKyAnLicpICsgdGhpcy56b25lO1xuICB9XG5cbiAgdG9JZGVudGlmaWVyKCkge1xuICAgIHJldHVybiB0aGlzLnRvU3RyaW5nKCkucmVwbGFjZSgnLicsICctJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./domain-name"), exports);
|
|
14
|
+
__exportStar(require("./website"), exports);
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxnREFBOEI7QUFDOUIsNENBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZG9tYWluLW5hbWVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dlYnNpdGVcIjtcbiJdfQ==
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import { DomainName } from "./domain-name";
|
|
3
|
+
import { IBucket } from "aws-cdk-lib/aws-s3";
|
|
4
|
+
import { OriginAccessIdentity, Function, Distribution, HttpVersion, SecurityPolicyProtocol, PriceClass } from "aws-cdk-lib/aws-cloudfront";
|
|
5
|
+
import { ARecord } from "aws-cdk-lib/aws-route53";
|
|
6
|
+
import { BucketDeployment } from "aws-cdk-lib/aws-s3-deployment";
|
|
7
|
+
import { Duration } from "aws-cdk-lib";
|
|
8
|
+
export interface WebsiteProps {
|
|
9
|
+
/**
|
|
10
|
+
* Bucket to use to store website content. If one is not provided, one will be generated.
|
|
11
|
+
*/
|
|
12
|
+
readonly bucket?: IBucket;
|
|
13
|
+
/**
|
|
14
|
+
* The ARN to the ACM Certificate to use on the CloudFront distribution. If one is not
|
|
15
|
+
* provided and domainNames is populated, one will be generated.
|
|
16
|
+
*/
|
|
17
|
+
readonly certificateArn?: string;
|
|
18
|
+
/**
|
|
19
|
+
* The domain names to be serviced. The first domain name in the list is treated as the apex domain.
|
|
20
|
+
*/
|
|
21
|
+
readonly domainNames?: DomainName[];
|
|
22
|
+
/**
|
|
23
|
+
* Price class for the CloudFront distribution.
|
|
24
|
+
*
|
|
25
|
+
* @default PriceClass.PRICE_CLASS_100
|
|
26
|
+
*/
|
|
27
|
+
readonly priceClass?: PriceClass;
|
|
28
|
+
/**
|
|
29
|
+
* Minimum protocol version to allow.
|
|
30
|
+
*
|
|
31
|
+
* @default SecurityPolicyProtocol.TLS_V1_2_2021,
|
|
32
|
+
*/
|
|
33
|
+
readonly minimumProtocolVersion?: SecurityPolicyProtocol;
|
|
34
|
+
/**
|
|
35
|
+
* Minimum HTTP version to allow.
|
|
36
|
+
*
|
|
37
|
+
* @default HttpVersion.HTTP1_1
|
|
38
|
+
*/
|
|
39
|
+
readonly httpVersion?: HttpVersion;
|
|
40
|
+
/**
|
|
41
|
+
* Cache-control max age.
|
|
42
|
+
*
|
|
43
|
+
* @default Duration.minutes(60)
|
|
44
|
+
*/
|
|
45
|
+
readonly maxAge?: Duration;
|
|
46
|
+
/**
|
|
47
|
+
* The directory where the website sources are located.
|
|
48
|
+
*/
|
|
49
|
+
readonly websiteSourceDirectory: string;
|
|
50
|
+
}
|
|
51
|
+
export declare class Website extends Construct {
|
|
52
|
+
readonly bucket: IBucket;
|
|
53
|
+
readonly originAccessIdentity: OriginAccessIdentity;
|
|
54
|
+
readonly apexDomain: string;
|
|
55
|
+
readonly viewerRequestFunction: Function;
|
|
56
|
+
readonly distribution: Distribution;
|
|
57
|
+
readonly distributionUrl: string;
|
|
58
|
+
readonly aRecords: ARecord[];
|
|
59
|
+
readonly deployment: BucketDeployment;
|
|
60
|
+
constructor(scope: Construct, id: string, props: WebsiteProps);
|
|
61
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Website = void 0;
|
|
4
|
+
const constructs_1 = require("constructs");
|
|
5
|
+
const aws_cloudfront_1 = require("aws-cdk-lib/aws-cloudfront");
|
|
6
|
+
const aws_cloudfront_origins_1 = require("aws-cdk-lib/aws-cloudfront-origins");
|
|
7
|
+
const aws_certificatemanager_1 = require("aws-cdk-lib/aws-certificatemanager");
|
|
8
|
+
const aws_route53_1 = require("aws-cdk-lib/aws-route53");
|
|
9
|
+
const aws_route53_targets_1 = require("aws-cdk-lib/aws-route53-targets");
|
|
10
|
+
const aws_s3_deployment_1 = require("aws-cdk-lib/aws-s3-deployment");
|
|
11
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
12
|
+
const aws_cdk_lib_2 = require("aws-cdk-lib");
|
|
13
|
+
const aws_s3_1 = require("../../aws-s3");
|
|
14
|
+
class Website extends constructs_1.Construct {
|
|
15
|
+
constructor(scope, id, props) {
|
|
16
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
17
|
+
super(scope, id);
|
|
18
|
+
this.bucket = (_a = props.bucket) !== null && _a !== void 0 ? _a : new aws_s3_1.StandardBucket(this, 'Bucket');
|
|
19
|
+
this.originAccessIdentity = new aws_cloudfront_1.OriginAccessIdentity(this, 'Access');
|
|
20
|
+
this.bucket.grantRead(this.originAccessIdentity);
|
|
21
|
+
this.apexDomain = ((_b = props === null || props === void 0 ? void 0 : props.domainNames) === null || _b === void 0 ? void 0 : _b[0].toString()) || '';
|
|
22
|
+
this.viewerRequestFunction = new aws_cloudfront_1.Function(this, 'ViewerRequestFunction', {
|
|
23
|
+
code: aws_cloudfront_1.FunctionCode.fromInline(`
|
|
24
|
+
function handler(event) {
|
|
25
|
+
var host = event.request.headers.host.value;
|
|
26
|
+
var uri = event.request.uri;
|
|
27
|
+
var matchApex = MATCH_APEX;
|
|
28
|
+
if (matchApex && host !== 'APEX_DOMAIN') {
|
|
29
|
+
return {
|
|
30
|
+
statusCode: 301,
|
|
31
|
+
statusDescription: 'Permanently moved',
|
|
32
|
+
headers: {
|
|
33
|
+
"location": { "value": "https://APEX_DOMAIN" + uri }
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (uri.endsWith('/')) {
|
|
38
|
+
event.request.uri = uri + 'index.html';
|
|
39
|
+
}
|
|
40
|
+
return event.request;
|
|
41
|
+
}`
|
|
42
|
+
.replace(/APEX_DOMAIN/g, this.apexDomain)
|
|
43
|
+
.replace(/MATCH_APEX/g, this.apexDomain !== '' ? 'true' : 'false'))
|
|
44
|
+
});
|
|
45
|
+
this.distribution = new aws_cloudfront_1.Distribution(this, 'Distribution', {
|
|
46
|
+
defaultBehavior: {
|
|
47
|
+
origin: new aws_cloudfront_origins_1.S3Origin(this.bucket, {
|
|
48
|
+
originAccessIdentity: this.originAccessIdentity
|
|
49
|
+
}),
|
|
50
|
+
viewerProtocolPolicy: aws_cloudfront_1.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
|
|
51
|
+
functionAssociations: [
|
|
52
|
+
{
|
|
53
|
+
function: this.viewerRequestFunction,
|
|
54
|
+
eventType: aws_cloudfront_1.FunctionEventType.VIEWER_REQUEST
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
errorResponses: [
|
|
59
|
+
{
|
|
60
|
+
httpStatus: 404,
|
|
61
|
+
responseHttpStatus: 404,
|
|
62
|
+
responsePagePath: '/404.html'
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
httpVersion: (_c = props.httpVersion) !== null && _c !== void 0 ? _c : aws_cloudfront_1.HttpVersion.HTTP1_1,
|
|
66
|
+
minimumProtocolVersion: (_d = props.minimumProtocolVersion) !== null && _d !== void 0 ? _d : aws_cloudfront_1.SecurityPolicyProtocol.TLS_V1_2_2021,
|
|
67
|
+
defaultRootObject: "index.html",
|
|
68
|
+
certificate: (props === null || props === void 0 ? void 0 : props.certificateArn) == undefined ? undefined : aws_certificatemanager_1.Certificate.fromCertificateArn(this, 'Certificate', props.certificateArn),
|
|
69
|
+
domainNames: (_e = props === null || props === void 0 ? void 0 : props.domainNames) === null || _e === void 0 ? void 0 : _e.map((domainName) => domainName.toString()),
|
|
70
|
+
enableIpv6: true,
|
|
71
|
+
priceClass: (_f = props.priceClass) !== null && _f !== void 0 ? _f : aws_cloudfront_1.PriceClass.PRICE_CLASS_100
|
|
72
|
+
});
|
|
73
|
+
this.distributionUrl = `https://${(this.apexDomain != '' ? this.apexDomain : this.distribution.distributionDomainName)}`;
|
|
74
|
+
this.aRecords = [];
|
|
75
|
+
if ((props === null || props === void 0 ? void 0 : props.domainNames) != undefined && props.domainNames.length > 0) {
|
|
76
|
+
for (let domainName of props.domainNames) {
|
|
77
|
+
let zone = aws_route53_1.HostedZone.fromLookup(this, 'zone-' + domainName.toIdentifier(), {
|
|
78
|
+
domainName: domainName.zone
|
|
79
|
+
});
|
|
80
|
+
this.aRecords.push(new aws_route53_1.ARecord(this, domainName.toIdentifier(), {
|
|
81
|
+
zone: zone,
|
|
82
|
+
recordName: domainName.toString(),
|
|
83
|
+
target: aws_route53_1.RecordTarget.fromAlias(new aws_route53_targets_1.CloudFrontTarget(this.distribution))
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
this.deployment = new aws_s3_deployment_1.BucketDeployment(this, 'Assets', {
|
|
88
|
+
sources: [
|
|
89
|
+
aws_s3_deployment_1.Source.asset(props.websiteSourceDirectory, {
|
|
90
|
+
bundling: {
|
|
91
|
+
image: aws_cdk_lib_2.DockerImage.fromRegistry('klakegg/hugo:latest-ext'),
|
|
92
|
+
command: [
|
|
93
|
+
'-d', '/asset-output'
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
})
|
|
97
|
+
],
|
|
98
|
+
destinationBucket: this.bucket,
|
|
99
|
+
distribution: this.distribution,
|
|
100
|
+
cacheControl: [aws_s3_deployment_1.CacheControl.maxAge((_g = props.maxAge) !== null && _g !== void 0 ? _g : aws_cdk_lib_1.Duration.minutes(60))],
|
|
101
|
+
prune: false
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.Website = Website;
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic2l0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIndlYnNpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXFDO0FBR3JDLCtEQU1vQztBQUNwQywrRUFBNEQ7QUFDNUQsK0VBQStEO0FBQy9ELHlEQUEwRTtBQUMxRSx5RUFBaUU7QUFDakUscUVBQXFGO0FBQ3JGLDZDQUFxQztBQUNyQyw2Q0FBd0M7QUFDeEMseUNBQTRDO0FBc0Q1QyxNQUFhLE9BQVEsU0FBUSxzQkFBUztJQVdwQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW1COztRQUMzRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxNQUFNLFNBQUcsS0FBSyxDQUFDLE1BQU0sbUNBQUUsSUFBSSx1QkFBYyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUUvRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxxQ0FBb0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxXQUFXLDBDQUFHLENBQUMsRUFBRSxRQUFRLE9BQU0sRUFBRSxDQUFDO1FBRTNELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLHlCQUFRLENBQUMsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQ3ZFLElBQUksRUFBRSw2QkFBWSxDQUFDLFVBQVUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBa0JsQztpQkFDTyxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUM7aUJBQ3hDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFD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QUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRTtvQkFDekMsUUFBUSxFQUFFO3dCQUNSLEtBQUssRUFBRSx5QkFBVyxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQzt3QkFDMUQsT0FBTyxFQUFFOzRCQUNQLElBQUksRUFBRSxlQUFlO3lCQUN0QjtxQkFDRjtpQkFDRixDQUFDO2FBQ0g7WUFDRCxpQkFBaUIsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUM5QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsWUFBWSxFQUFFLENBQUMsZ0NBQVksQ0FBQyxNQUFNLE9BQUMsS0FBSyxDQUFDLE1BQU0sbUNBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2RSxLQUFLLEVBQUUsS0FBSztTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTVHRCwwQkE0R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7RG9tYWluTmFtZX0gZnJvbSBcIi4vZG9tYWluLW5hbWVcIjtcbmltcG9ydCB7SUJ1Y2tldH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0IHtcbiAgRnVuY3Rpb25Db2RlLFxuICBPcmlnaW5BY2Nlc3NJZGVudGl0eSxcbiAgRnVuY3Rpb24sXG4gIERpc3RyaWJ1dGlvbixcbiAgVmlld2VyUHJvdG9jb2xQb2xpY3ksIEZ1bmN0aW9uRXZlbnRUeXBlLCBIdHRwVmVyc2lvbiwgU2VjdXJpdHlQb2xpY3lQcm90b2NvbCwgUHJpY2VDbGFzc1xufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnRcIjtcbmltcG9ydCB7UzNPcmlnaW59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udC1vcmlnaW5zXCI7XG5pbXBvcnQge0NlcnRpZmljYXRlfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlclwiO1xuaW1wb3J0IHtBUmVjb3JkLCBIb3N0ZWRab25lLCBSZWNvcmRUYXJnZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHtDbG91ZEZyb250VGFyZ2V0fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0c1wiO1xuaW1wb3J0IHtCdWNrZXREZXBsb3ltZW50LCBDYWNoZUNvbnRyb2wsIFNvdXJjZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zMy1kZXBsb3ltZW50XCI7XG5pbXBvcnQge0R1cmF0aW9ufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7RG9ja2VySW1hZ2V9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtTdGFuZGFyZEJ1Y2tldH0gZnJvbSBcIi4uLy4uL2F3cy1zM1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdlYnNpdGVQcm9wcyB7XG5cbiAgLyoqXG4gICAqIEJ1Y2tldCB0byB1c2UgdG8gc3RvcmUgd2Vic2l0ZSBjb250ZW50LiBJZiBvbmUgaXMgbm90IHByb3ZpZGVkLCBvbmUgd2lsbCBiZSBnZW5lcmF0ZWQuXG4gICAqL1xuICByZWFkb25seSBidWNrZXQ/OiBJQnVja2V0O1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIHRvIHRoZSBBQ00gQ2VydGlmaWNhdGUgdG8gdXNlIG9uIHRoZSBDbG91ZEZyb250IGRpc3RyaWJ1dGlvbi4gSWYgb25lIGlzIG5vdFxuICAgKiBwcm92aWRlZCBhbmQgZG9tYWluTmFtZXMgaXMgcG9wdWxhdGVkLCBvbmUgd2lsbCBiZSBnZW5lcmF0ZWQuXG4gICAqL1xuICByZWFkb25seSBjZXJ0aWZpY2F0ZUFybj86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBUaGUgZG9tYWluIG5hbWVzIHRvIGJlIHNlcnZpY2VkLiBUaGUgZmlyc3QgZG9tYWluIG5hbWUgaW4gdGhlIGxpc3QgaXMgdHJlYXRlZCBhcyB0aGUgYXBleCBkb21haW4uXG4gICAqL1xuICByZWFkb25seSBkb21haW5OYW1lcz86IERvbWFpbk5hbWVbXVxuXG4gIC8qKlxuICAgKiBQcmljZSBjbGFzcyBmb3IgdGhlIENsb3VkRnJvbnQgZGlzdHJpYnV0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBQcmljZUNsYXNzLlBSSUNFX0NMQVNTXzEwMFxuICAgKi9cbiAgcmVhZG9ubHkgcHJpY2VDbGFzcz86IFByaWNlQ2xhc3NcblxuICAvKipcbiAgICogTWluaW11bSBwcm90b2NvbCB2ZXJzaW9uIHRvIGFsbG93LlxuICAgKlxuICAgKiBAZGVmYXVsdCBTZWN1cml0eVBvbGljeVByb3RvY29sLlRMU19WMV8yXzIwMjEsXG4gICAqL1xuICByZWFkb25seSBtaW5pbXVtUHJvdG9jb2xWZXJzaW9uPzogU2VjdXJpdHlQb2xpY3lQcm90b2NvbDtcblxuICAvKipcbiAgICogTWluaW11bSBIVFRQIHZlcnNpb24gdG8gYWxsb3cuXG4gICAqXG4gICAqIEBkZWZhdWx0IEh0dHBWZXJzaW9uLkhUVFAxXzFcbiAgICovXG4gIHJlYWRvbmx5IGh0dHBWZXJzaW9uPzogSHR0cFZlcnNpb247XG5cbiAgLyoqXG4gICAqIENhY2hlLWNvbnRyb2wgbWF4IGFnZS5cbiAgICpcbiAgICogQGRlZmF1bHQgRHVyYXRpb24ubWludXRlcyg2MClcbiAgICovXG4gIHJlYWRvbmx5IG1heEFnZT86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0b3J5IHdoZXJlIHRoZSB3ZWJzaXRlIHNvdXJjZXMgYXJlIGxvY2F0ZWQuXG4gICAqL1xuICByZWFkb25seSB3ZWJzaXRlU291cmNlRGlyZWN0b3J5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBXZWJzaXRlIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICByZWFkb25seSBidWNrZXQ6IElCdWNrZXQ7XG4gIHJlYWRvbmx5IG9yaWdpbkFjY2Vzc0lkZW50aXR5OiBPcmlnaW5BY2Nlc3NJZGVudGl0eTtcbiAgcmVhZG9ubHkgYXBleERvbWFpbjogc3RyaW5nO1xuICByZWFkb25seSB2aWV3ZXJSZXF1ZXN0RnVuY3Rpb246IEZ1bmN0aW9uO1xuICByZWFkb25seSBkaXN0cmlidXRpb246IERpc3RyaWJ1dGlvbjtcbiAgcmVhZG9ubHkgZGlzdHJpYnV0aW9uVXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFSZWNvcmRzOiBBUmVjb3JkW107XG4gIHJlYWRvbmx5IGRlcGxveW1lbnQ6IEJ1Y2tldERlcGxveW1lbnQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFdlYnNpdGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLmJ1Y2tldCA9IHByb3BzLmJ1Y2tldD8/bmV3IFN0YW5kYXJkQnVja2V0KHRoaXMsICdCdWNrZXQnKTtcblxuICAgIHRoaXMub3JpZ2luQWNjZXNzSWRlbnRpdHkgPSBuZXcgT3JpZ2luQWNjZXNzSWRlbnRpdHkodGhpcywgJ0FjY2VzcycpO1xuICAgIHRoaXMuYnVja2V0LmdyYW50UmVhZCh0aGlzLm9yaWdpbkFjY2Vzc0lkZW50aXR5KTtcblxuICAgIHRoaXMuYXBleERvbWFpbiA9IHByb3BzPy5kb21haW5OYW1lcz8uWzBdLnRvU3RyaW5nKCkgfHwgJyc7XG5cbiAgICB0aGlzLnZpZXdlclJlcXVlc3RGdW5jdGlvbiA9IG5ldyBGdW5jdGlvbih0aGlzLCAnVmlld2VyUmVxdWVzdEZ1bmN0aW9uJywge1xuICAgICAgY29kZTogRnVuY3Rpb25Db2RlLmZyb21JbmxpbmUoYFxuZnVuY3Rpb24gaGFuZGxlcihldmVudCkge1xuICB2YXIgaG9zdCA9IGV2ZW50LnJlcXVlc3QuaGVhZGVycy5ob3N0LnZhbHVlO1xuICB2YXIgdXJpID0gZXZlbnQucmVxdWVzdC51cmk7XG4gIHZhciBtYXRjaEFwZXggPSBNQVRDSF9BUEVYO1xuICBpZiAobWF0Y2hBcGV4ICYmIGhvc3QgIT09ICdBUEVYX0RPTUFJTicpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhdHVzQ29kZTogMzAxLFxuICAgICAgc3RhdHVzRGVzY3JpcHRpb246ICdQZXJtYW5lbnRseSBtb3ZlZCcsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIFwibG9jYXRpb25cIjogeyBcInZhbHVlXCI6IFwiaHR0cHM6Ly9BUEVYX0RPTUFJTlwiICsgdXJpIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKHVyaS5lbmRzV2l0aCgnLycpKSB7XG4gICAgZXZlbnQucmVxdWVzdC51cmkgPSB1cmkgKyAnaW5kZXguaHRtbCc7XG4gIH1cbiAgcmV0dXJuIGV2ZW50LnJlcXVlc3Q7XG59YFxuICAgICAgICAucmVwbGFjZSgvQVBFWF9ET01BSU4vZywgdGhpcy5hcGV4RG9tYWluKVxuICAgICAgICAucmVwbGFjZSgvTUFUQ0hfQVBFWC9nLCB0aGlzLmFwZXhEb21haW4gIT09ICcnID8gJ3RydWUnIDogJ2ZhbHNlJykpXG4gICAgfSk7XG5cbiAgICB0aGlzLmRpc3RyaWJ1dGlvbiA9IG5ldyBEaXN0cmlidXRpb24odGhpcywgJ0Rpc3RyaWJ1dGlvbicsIHtcbiAgICAgIGRlZmF1bHRCZWhhdmlvcjoge1xuICAgICAgICBvcmlnaW46IG5ldyBTM09yaWdpbih0aGlzLmJ1Y2tldCwge1xuICAgICAgICAgIG9yaWdpbkFjY2Vzc0lkZW50aXR5OiB0aGlzLm9yaWdpbkFjY2Vzc0lkZW50aXR5XG4gICAgICAgIH0pLFxuICAgICAgICB2aWV3ZXJQcm90b2NvbFBvbGljeTogVmlld2VyUHJvdG9jb2xQb2xpY3kuUkVESVJFQ1RfVE9fSFRUUFMsXG4gICAgICAgIGZ1bmN0aW9uQXNzb2NpYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZnVuY3Rpb246IHRoaXMudmlld2VyUmVxdWVzdEZ1bmN0aW9uLFxuICAgICAgICAgICAgZXZlbnRUeXBlOiBGdW5jdGlvbkV2ZW50VHlwZS5WSUVXRVJfUkVRVUVTVFxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIGVycm9yUmVzcG9uc2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBodHRwU3RhdHVzOiA0MDQsXG4gICAgICAgICAgcmVzcG9uc2VIdHRwU3RhdHVzOiA0MDQsXG4gICAgICAgICAgcmVzcG9uc2VQYWdlUGF0aDogJy80MDQuaHRtbCdcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIGh0dHBWZXJzaW9uOiBwcm9wcy5odHRwVmVyc2lvbj8/SHR0cFZlcnNpb24uSFRUUDFfMSxcbiAgICAgIG1pbmltdW1Qcm90b2NvbFZlcnNpb246IHByb3BzLm1pbmltdW1Qcm90b2NvbFZlcnNpb24/P1NlY3VyaXR5UG9saWN5UHJvdG9jb2wuVExTX1YxXzJfMjAyMSxcbiAgICAgIGRlZmF1bHRSb290T2JqZWN0OiBcImluZGV4Lmh0bWxcIixcbiAgICAgIGNlcnRpZmljYXRlOiBwcm9wcz8uY2VydGlmaWNhdGVBcm4gPT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogQ2VydGlmaWNhdGUuZnJvbUNlcnRpZmljYXRlQXJuKHRoaXMsICdDZXJ0aWZpY2F0ZScsIHByb3BzLmNlcnRpZmljYXRlQXJuKSxcbiAgICAgIGRvbWFpbk5hbWVzOiBwcm9wcz8uZG9tYWluTmFtZXM/Lm1hcCgoZG9tYWluTmFtZSkgPT4gZG9tYWluTmFtZS50b1N0cmluZygpKSxcbiAgICAgIGVuYWJsZUlwdjY6IHRydWUsXG4gICAgICBwcmljZUNsYXNzOiBwcm9wcy5wcmljZUNsYXNzPz9QcmljZUNsYXNzLlBSSUNFX0NMQVNTXzEwMFxuICAgIH0pO1xuXG4gICAgdGhpcy5kaXN0cmlidXRpb25VcmwgPSBgaHR0cHM6Ly8keyh0aGlzLmFwZXhEb21haW4gIT0gJycgPyB0aGlzLmFwZXhEb21haW4gOiB0aGlzLmRpc3RyaWJ1dGlvbi5kaXN0cmlidXRpb25Eb21haW5OYW1lKX1gXG5cbiAgICB0aGlzLmFSZWNvcmRzID0gW107XG5cbiAgICBpZiAocHJvcHM/LmRvbWFpbk5hbWVzICE9IHVuZGVmaW5lZCAmJiBwcm9wcy5kb21haW5OYW1lcy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGxldCBkb21haW5OYW1lIG9mIHByb3BzLmRvbWFpbk5hbWVzKSB7XG4gICAgICAgIGxldCB6b25lID0gSG9zdGVkWm9uZS5mcm9tTG9va3VwKHRoaXMsICd6b25lLScgKyBkb21haW5OYW1lLnRvSWRlbnRpZmllcigpLCB7XG4gICAgICAgICAgZG9tYWluTmFtZTogZG9tYWluTmFtZS56b25lXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFSZWNvcmRzLnB1c2gobmV3IEFSZWNvcmQodGhpcywgZG9tYWluTmFtZS50b0lkZW50aWZpZXIoKSwge1xuICAgICAgICAgIHpvbmU6IHpvbmUsXG4gICAgICAgICAgcmVjb3JkTmFtZTogZG9tYWluTmFtZS50b1N0cmluZygpLFxuICAgICAgICAgIHRhcmdldDogUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhuZXcgQ2xvdWRGcm9udFRhcmdldCh0aGlzLmRpc3RyaWJ1dGlvbikpXG4gICAgICAgIH0pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmRlcGxveW1lbnQgPSBuZXcgQnVja2V0RGVwbG95bWVudCh0aGlzLCAnQXNzZXRzJywge1xuICAgICAgc291cmNlczogW1xuICAgICAgICBTb3VyY2UuYXNzZXQocHJvcHMud2Vic2l0ZVNvdXJjZURpcmVjdG9yeSwge1xuICAgICAgICAgIGJ1bmRsaW5nOiB7XG4gICAgICAgICAgICBpbWFnZTogRG9ja2VySW1hZ2UuZnJvbVJlZ2lzdHJ5KCdrbGFrZWdnL2h1Z286bGF0ZXN0LWV4dCcpLFxuICAgICAgICAgICAgY29tbWFuZDogW1xuICAgICAgICAgICAgICAnLWQnLCAnL2Fzc2V0LW91dHB1dCdcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICBdLFxuICAgICAgZGVzdGluYXRpb25CdWNrZXQ6IHRoaXMuYnVja2V0LFxuICAgICAgZGlzdHJpYnV0aW9uOiB0aGlzLmRpc3RyaWJ1dGlvbixcbiAgICAgIGNhY2hlQ29udHJvbDogW0NhY2hlQ29udHJvbC5tYXhBZ2UocHJvcHMubWF4QWdlPz9EdXJhdGlvbi5taW51dGVzKDYwKSldLFxuICAgICAgcHJ1bmU6IGZhbHNlXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export * as aws_cloudwatch from
|
|
2
|
-
export * as aws_codepipeline from
|
|
3
|
-
export * as aws_lambda from
|
|
4
|
-
export * as aws_monitoring from
|
|
5
|
-
export * as aws_route53 from
|
|
6
|
-
export * as aws_sqs from
|
|
7
|
-
export * as
|
|
1
|
+
export * as aws_cloudwatch from "./aws-cloudwatch";
|
|
2
|
+
export * as aws_codepipeline from "./aws-codepipeline";
|
|
3
|
+
export * as aws_lambda from "./aws-lambda";
|
|
4
|
+
export * as aws_monitoring from "./aws-monitoring";
|
|
5
|
+
export * as aws_route53 from "./aws-route53";
|
|
6
|
+
export * as aws_sqs from "./aws-sqs";
|
|
7
|
+
export * as aws_website from "./aws-website";
|
|
8
|
+
export * as helpers from "./helpers";
|
package/index.js
CHANGED
|
@@ -6,5 +6,6 @@ exports.aws_lambda = require("./aws-lambda");
|
|
|
6
6
|
exports.aws_monitoring = require("./aws-monitoring");
|
|
7
7
|
exports.aws_route53 = require("./aws-route53");
|
|
8
8
|
exports.aws_sqs = require("./aws-sqs");
|
|
9
|
+
exports.aws_website = require("./aws-website");
|
|
9
10
|
exports.helpers = require("./helpers");
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUFtRDtBQUNuRCx5REFBdUQ7QUFDdkQsNkNBQTJDO0FBQzNDLHFEQUFtRDtBQUNuRCwrQ0FBNkM7QUFDN0MsdUNBQXFDO0FBQ3JDLCtDQUE2QztBQUM3Qyx1Q0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBhcyBhd3NfY2xvdWR3YXRjaCBmcm9tIFwiLi9hd3MtY2xvdWR3YXRjaFwiO1xuZXhwb3J0ICogYXMgYXdzX2NvZGVwaXBlbGluZSBmcm9tIFwiLi9hd3MtY29kZXBpcGVsaW5lXCI7XG5leHBvcnQgKiBhcyBhd3NfbGFtYmRhIGZyb20gXCIuL2F3cy1sYW1iZGFcIjtcbmV4cG9ydCAqIGFzIGF3c19tb25pdG9yaW5nIGZyb20gXCIuL2F3cy1tb25pdG9yaW5nXCI7XG5leHBvcnQgKiBhcyBhd3Nfcm91dGU1MyBmcm9tIFwiLi9hd3Mtcm91dGU1M1wiO1xuZXhwb3J0ICogYXMgYXdzX3NxcyBmcm9tIFwiLi9hd3Mtc3FzXCI7XG5leHBvcnQgKiBhcyBhd3Nfd2Vic2l0ZSBmcm9tIFwiLi9hd3Mtd2Vic2l0ZVwiO1xuZXhwb3J0ICogYXMgaGVscGVycyBmcm9tIFwiLi9oZWxwZXJzXCI7XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "truemark-cdk-lib",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.16-alpha.2+e7cf6f8",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -29,7 +29,9 @@
|
|
|
29
29
|
"./aws-lambda": "./aws-lambda/index.js",
|
|
30
30
|
"./aws-monitoring": "./aws-monitoring/index.js",
|
|
31
31
|
"./aws-route53": "./aws-route53/index.js",
|
|
32
|
+
"./aws-s3": "./aws-s3/index.js",
|
|
32
33
|
"./aws-sqs": "./aws-sqs/index.js",
|
|
34
|
+
"./aws-website": "./aws-website/index.js",
|
|
33
35
|
"./helpers": "./helpers/index.js"
|
|
34
36
|
},
|
|
35
37
|
"publishConfig": {
|
|
@@ -43,5 +45,5 @@
|
|
|
43
45
|
"@aws-cdk/aws-synthetics-alpha": "^2.18.0-alpha.0",
|
|
44
46
|
"cdk-monitoring-constructs": "^1.6.4"
|
|
45
47
|
},
|
|
46
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "e7cf6f88f33e49e12adc46e06ca2c94b2056f5f7"
|
|
47
49
|
}
|
|
@@ -12,7 +12,7 @@ test('Python Lambda Test', () => {
|
|
|
12
12
|
});
|
|
13
13
|
const template = assertions_1.Template.fromStack(stack);
|
|
14
14
|
template.hasResourceProperties("AWS::Lambda::Function", {});
|
|
15
|
-
console.log(template.findResources("AWS::CloudWatch::Alarm"));
|
|
16
|
-
console.log(template.findResources("AWS::Lambda::Function"));
|
|
15
|
+
// console.log(template.findResources("AWS::CloudWatch::Alarm"));
|
|
16
|
+
// console.log(template.findResources("AWS::Lambda::Function"));
|
|
17
17
|
});
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHl0aG9uLWZ1bmN0aW9uLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJweXRob24tZnVuY3Rpb24udGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1DQUFtQztBQUNuQyw2QkFBNkI7QUFDN0IsdURBQWdEO0FBQ2hELGlEQUFnRDtBQUVoRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFO0lBQzlCLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDOUMsSUFBSSwyQkFBYyxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUU7UUFDeEMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQztLQUM3QyxDQUFDLENBQUM7SUFDSCxNQUFNLFFBQVEsR0FBRyxxQkFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxRQUFRLENBQUMscUJBQXFCLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUQsaUVBQWlFO0lBQ2pFLGdFQUFnRTtBQUNsRSxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7VGVtcGxhdGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hc3NlcnRpb25zXCI7XG5pbXBvcnQge1B5dGhvbkZ1bmN0aW9ufSBmcm9tIFwiLi4vLi4vYXdzLWxhbWJkYVwiO1xuXG50ZXN0KCdQeXRob24gTGFtYmRhIFRlc3QnLCAoKSA9PiB7XG4gIGNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKCk7XG4gIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjayhhcHAsICdUZXN0U3RhY2snKTtcbiAgbmV3IFB5dGhvbkZ1bmN0aW9uKHN0YWNrLCAnVGVzdEZ1bmN0aW9uJywge1xuICAgIGVudHJ5OiBwYXRoLmpvaW4oX19kaXJuYW1lLCAncHl0aG9uLWxhbWJkYScpXG4gIH0pO1xuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIHRlbXBsYXRlLmhhc1Jlc291cmNlUHJvcGVydGllcyhcIkFXUzo6TGFtYmRhOjpGdW5jdGlvblwiLCB7fSk7XG4gIC8vIGNvbnNvbGUubG9nKHRlbXBsYXRlLmZpbmRSZXNvdXJjZXMoXCJBV1M6OkNsb3VkV2F0Y2g6OkFsYXJtXCIpKTtcbiAgLy8gY29uc29sZS5sb2codGVtcGxhdGUuZmluZFJlc291cmNlcyhcIkFXUzo6TGFtYmRhOjpGdW5jdGlvblwiKSk7XG59KTtcbiJdfQ==
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const cdk = require("aws-cdk-lib");
|
|
4
|
+
const aws_website_1 = require("../../aws-website");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const assertions_1 = require("aws-cdk-lib/assertions");
|
|
7
|
+
test("Create Website Test", () => {
|
|
8
|
+
const app = new cdk.App();
|
|
9
|
+
const stack = new cdk.Stack(app, "TestStack");
|
|
10
|
+
new aws_website_1.Website(stack, 'TestWebsite', {
|
|
11
|
+
websiteSourceDirectory: path.join(__dirname, "example-website")
|
|
12
|
+
});
|
|
13
|
+
const template = assertions_1.Template.fromStack(stack);
|
|
14
|
+
template.hasResourceProperties("AWS::CloudFront::Distribution", {});
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic2l0ZS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsid2Vic2l0ZS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUNBQW1DO0FBQ25DLG1EQUEwQztBQUMxQyw2QkFBNkI7QUFDN0IsdURBQWdEO0FBRWhELElBQUksQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7SUFDL0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM5QyxJQUFJLHFCQUFPLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRTtRQUNoQyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQztLQUNoRSxDQUFDLENBQUM7SUFDSCxNQUFNLFFBQVEsR0FBRyxxQkFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxRQUFRLENBQUMscUJBQXFCLENBQUMsK0JBQStCLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDdEUsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1dlYnNpdGV9IGZyb20gXCIuLi8uLi9hd3Mtd2Vic2l0ZVwiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHtUZW1wbGF0ZX0gZnJvbSBcImF3cy1jZGstbGliL2Fzc2VydGlvbnNcIjtcblxudGVzdChcIkNyZWF0ZSBXZWJzaXRlIFRlc3RcIiwgKCkgPT4ge1xuICBjb25zdCBhcHAgPSBuZXcgY2RrLkFwcCgpO1xuICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soYXBwLCBcIlRlc3RTdGFja1wiKTtcbiAgbmV3IFdlYnNpdGUoc3RhY2ssICdUZXN0V2Vic2l0ZScsIHtcbiAgICB3ZWJzaXRlU291cmNlRGlyZWN0b3J5OiBwYXRoLmpvaW4oX19kaXJuYW1lLCBcImV4YW1wbGUtd2Vic2l0ZVwiKVxuICB9KTtcbiAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoXCJBV1M6OkNsb3VkRnJvbnQ6OkRpc3RyaWJ1dGlvblwiLCB7fSk7XG59KTtcbiJdfQ==
|