truemark-cdk-lib 1.2.3 → 1.2.4-alpha.11
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-apigatewayv2/lib/index.d.ts +1 -0
- package/aws-apigatewayv2/lib/index.js +2 -1
- package/aws-apigatewayv2/lib/standard-api-gateway.d.ts +41 -0
- package/aws-apigatewayv2/lib/standard-api-gateway.js +44 -0
- package/aws-apigatewayv2/lib/standard-domain-name.js +3 -3
- package/{aws-tags → aws-cdk}/index.d.ts +0 -0
- package/{aws-tags → aws-cdk}/index.js +0 -0
- package/{aws-codepipeline → aws-cdk}/lib/extended-stack.d.ts +1 -1
- package/aws-cdk/lib/extended-stack.js +72 -0
- package/aws-cdk/lib/index.d.ts +7 -0
- package/aws-cdk/lib/index.js +20 -0
- package/aws-cdk/lib/single-env-app.d.ts +28 -0
- package/aws-cdk/lib/single-env-app.js +36 -0
- package/aws-cdk/lib/standard-app.d.ts +21 -0
- package/aws-cdk/lib/standard-app.js +29 -0
- package/aws-cdk/lib/standard-bundling-options.d.ts +0 -0
- package/aws-cdk/lib/standard-bundling-options.js +2 -0
- package/aws-cdk/lib/standard-environment.d.ts +10 -0
- package/aws-cdk/lib/standard-environment.js +3 -0
- package/aws-cdk/lib/standard-stack.d.ts +19 -0
- package/aws-cdk/lib/standard-stack.js +36 -0
- package/aws-cdk/lib/standard-stage.d.ts +19 -0
- package/aws-cdk/lib/standard-stage.js +24 -0
- package/{aws-tags → aws-cdk}/lib/standard-tags.d.ts +33 -5
- package/aws-cdk/lib/standard-tags.js +178 -0
- package/aws-centergauge/lib/alerts-topic.js +3 -3
- package/aws-codepipeline/lib/cdk-pipeline.d.ts +4 -0
- package/aws-codepipeline/lib/cdk-pipeline.js +3 -2
- package/aws-codepipeline/lib/index.d.ts +1 -1
- package/aws-codepipeline/lib/index.js +2 -2
- package/aws-dynamodb/lib/standard-table.js +3 -3
- package/aws-ecs/lib/standard-fargate-cluster.js +3 -3
- package/aws-ecs/lib/standard-fargate-service.js +3 -3
- package/aws-s3/lib/cloud-front-bucket.d.ts +14 -3
- package/aws-s3/lib/cloud-front-bucket.js +25 -3
- package/aws-s3/lib/extended-bucket.d.ts +1 -0
- package/aws-s3/lib/extended-bucket.js +3 -0
- package/aws-sqs/lib/standard-queue.js +3 -3
- package/aws-vpc/lib/network-parameters.js +3 -3
- package/helpers/lib/string-helper.d.ts +12 -0
- package/helpers/lib/string-helper.js +23 -1
- package/index.d.ts +1 -1
- package/index.js +2 -2
- package/package.json +3 -2
- package/test/aws-lambda/extended-python-function.test.js +11 -14
- package/test/aws-lambda/standard-python-function.test.js +10 -11
- package/test/aws-website/website.test.js +3 -3
- package/test/helpers/string-helper.test.js +14 -1
- package/aws-codepipeline/lib/extended-stack.js +0 -72
- package/aws-tags/lib/index.d.ts +0 -1
- package/aws-tags/lib/index.js +0 -14
- package/aws-tags/lib/standard-tags.js +0 -178
|
@@ -11,4 +11,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./standard-domain-name"), exports);
|
|
14
|
-
|
|
14
|
+
__exportStar(require("./standard-api-gateway"), exports);
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx5REFBdUM7QUFDdkMseURBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vc3RhbmRhcmQtZG9tYWluLW5hbWVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0YW5kYXJkLWFwaS1nYXRld2F5XCI7XG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import { WeightedLatencyARecord } from "../../aws-route53";
|
|
3
|
+
import { StandardDomainName } from "./standard-domain-name";
|
|
4
|
+
import { HttpApi } from "@aws-cdk/aws-apigatewayv2-alpha";
|
|
5
|
+
export interface StandardApiGatewayProps {
|
|
6
|
+
/**
|
|
7
|
+
* The prefix of the domain to create the certificate and DNS record for.
|
|
8
|
+
*/
|
|
9
|
+
readonly domainPrefix: string;
|
|
10
|
+
/**
|
|
11
|
+
* The zone of the domain to create the certificate and DNS record for.
|
|
12
|
+
*/
|
|
13
|
+
readonly domainZone: string;
|
|
14
|
+
/**
|
|
15
|
+
* Setting this to false will change the weight of the DNS record created to 0. Default is true.
|
|
16
|
+
*
|
|
17
|
+
* @default - true
|
|
18
|
+
*/
|
|
19
|
+
readonly enabled?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Name of the API Gateway. One will be generated if not provided.
|
|
22
|
+
*/
|
|
23
|
+
readonly apiName?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Setting this to true will suppress the creation of default tags on resources
|
|
26
|
+
* created by this construct. Default is false.
|
|
27
|
+
*
|
|
28
|
+
* @default - false
|
|
29
|
+
*/
|
|
30
|
+
readonly suppressTagging?: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Abstraction that creates an API Gateway with a custom domain name, certificate and latency based routing
|
|
34
|
+
* record in Route53.
|
|
35
|
+
*/
|
|
36
|
+
export declare class StandardApiGateway extends Construct {
|
|
37
|
+
readonly domainName: StandardDomainName;
|
|
38
|
+
readonly record: WeightedLatencyARecord;
|
|
39
|
+
readonly gateway: HttpApi;
|
|
40
|
+
constructor(scope: Construct, id: string, props: StandardApiGatewayProps);
|
|
41
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StandardApiGateway = void 0;
|
|
4
|
+
const constructs_1 = require("constructs");
|
|
5
|
+
const standard_domain_name_1 = require("./standard-domain-name");
|
|
6
|
+
const aws_apigatewayv2_alpha_1 = require("@aws-cdk/aws-apigatewayv2-alpha");
|
|
7
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
8
|
+
const aws_cdk_1 = require("../../aws-cdk");
|
|
9
|
+
const helpers_1 = require("../../helpers");
|
|
10
|
+
/**
|
|
11
|
+
* Abstraction that creates an API Gateway with a custom domain name, certificate and latency based routing
|
|
12
|
+
* record in Route53.
|
|
13
|
+
*/
|
|
14
|
+
class StandardApiGateway extends constructs_1.Construct {
|
|
15
|
+
constructor(scope, id, props) {
|
|
16
|
+
var _a, _b;
|
|
17
|
+
super(scope, id);
|
|
18
|
+
const domainName = new standard_domain_name_1.StandardDomainName(this, "DomainName", {
|
|
19
|
+
prefix: props.domainPrefix,
|
|
20
|
+
zone: props.domainZone,
|
|
21
|
+
securityPolicy: aws_apigatewayv2_alpha_1.SecurityPolicy.TLS_1_2
|
|
22
|
+
});
|
|
23
|
+
const record = domainName.createWeightedLatencyARecord(((_a = props.enabled) !== null && _a !== void 0 ? _a : true) ? 1 : 0);
|
|
24
|
+
const stage = aws_cdk_lib_1.Stage.of(this);
|
|
25
|
+
const stack = aws_cdk_lib_1.Stack.of(this);
|
|
26
|
+
const gateway = new aws_apigatewayv2_alpha_1.HttpApi(this, "Default", {
|
|
27
|
+
apiName: (_b = props.apiName) !== null && _b !== void 0 ? _b : `${stage === null || stage === void 0 ? void 0 : stage.stageName}${stack === null || stack === void 0 ? void 0 : stack.stackName}Gateway`,
|
|
28
|
+
defaultDomainMapping: {
|
|
29
|
+
domainName: domainName.gatewayDomainName
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
this.domainName = domainName;
|
|
33
|
+
this.record = record;
|
|
34
|
+
this.gateway = gateway;
|
|
35
|
+
new aws_cdk_1.StandardTags(this, {
|
|
36
|
+
suppress: props === null || props === void 0 ? void 0 : props.suppressTagging
|
|
37
|
+
}).addAutomationComponentTags({
|
|
38
|
+
url: helpers_1.CDK_NPMJS_URL,
|
|
39
|
+
vendor: helpers_1.CDK_VENDOR
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.StandardApiGateway = StandardApiGateway;
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtYXBpLWdhdGV3YXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC1hcGktZ2F0ZXdheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBcUM7QUFFckMsaUVBQTBEO0FBQzFELDRFQUF3RTtBQUN4RSw2Q0FBeUM7QUFDekMsMkNBQTJDO0FBQzNDLDJDQUF3RDtBQW1DeEQ7OztHQUdHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSxzQkFBUztJQU0vQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCOztRQUN0RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sVUFBVSxHQUFHLElBQUkseUNBQWtCLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUM1RCxNQUFNLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDMUIsSUFBSSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQ3RCLGNBQWMsRUFBRSx1Q0FBYyxDQUFDLE9BQU87U0FDdkMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLDRCQUE0QixDQUFDLE9BQUEsS0FBSyxDQUFDLE9BQU8sbUNBQUksSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRGLE1BQU0sS0FBSyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLE1BQU0sS0FBSyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdCLE1BQU0sT0FBTyxHQUFHLElBQUksZ0NBQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQzNDLE9BQU8sUUFBRSxLQUFLLENBQUMsT0FBTyxtQ0FBSSxHQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxTQUFTLEdBQUcsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFNBQVMsU0FBUztZQUN6RSxvQkFBb0IsRUFBRTtnQkFDcEIsVUFBVSxFQUFFLFVBQVUsQ0FBQyxpQkFBaUI7YUFDekM7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUV2QixJQUFJLHNCQUFZLENBQUMsSUFBSSxFQUFFO1lBQ3JCLFFBQVEsRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZUFBZTtTQUNqQyxDQUFDLENBQUMsMEJBQTBCLENBQUM7WUFDNUIsR0FBRyxFQUFFLHVCQUFhO1lBQ2xCLE1BQU0sRUFBRSxvQkFBVTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFyQ0QsZ0RBcUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge0RvbWFpbk5hbWUsIFdlaWdodGVkTGF0ZW5jeUFSZWNvcmR9IGZyb20gXCIuLi8uLi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHtTdGFuZGFyZERvbWFpbk5hbWV9IGZyb20gXCIuL3N0YW5kYXJkLWRvbWFpbi1uYW1lXCI7XG5pbXBvcnQge0h0dHBBcGksIFNlY3VyaXR5UG9saWN5fSBmcm9tIFwiQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXl2Mi1hbHBoYVwiO1xuaW1wb3J0IHtTdGFjaywgU3RhZ2V9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtTdGFuZGFyZFRhZ3N9IGZyb20gXCIuLi8uLi9hd3MtY2RrXCI7XG5pbXBvcnQge0NES19OUE1KU19VUkwsIENES19WRU5ET1J9IGZyb20gXCIuLi8uLi9oZWxwZXJzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhcmRBcGlHYXRld2F5UHJvcHMge1xuXG4gIC8qKlxuICAgKiBUaGUgcHJlZml4IG9mIHRoZSBkb21haW4gdG8gY3JlYXRlIHRoZSBjZXJ0aWZpY2F0ZSBhbmQgRE5TIHJlY29yZCBmb3IuXG4gICAqL1xuICByZWFkb25seSBkb21haW5QcmVmaXg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHpvbmUgb2YgdGhlIGRvbWFpbiB0byBjcmVhdGUgdGhlIGNlcnRpZmljYXRlIGFuZCBETlMgcmVjb3JkIGZvci5cbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpblpvbmU6IHN0cmluZztcblxuICAvKipcbiAgICogU2V0dGluZyB0aGlzIHRvIGZhbHNlIHdpbGwgY2hhbmdlIHRoZSB3ZWlnaHQgb2YgdGhlIEROUyByZWNvcmQgY3JlYXRlZCB0byAwLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIEFQSSBHYXRld2F5LiBPbmUgd2lsbCBiZSBnZW5lcmF0ZWQgaWYgbm90IHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogU2V0dGluZyB0aGlzIHRvIHRydWUgd2lsbCBzdXBwcmVzcyB0aGUgY3JlYXRpb24gb2YgZGVmYXVsdCB0YWdzIG9uIHJlc291cmNlc1xuICAgKiBjcmVhdGVkIGJ5IHRoaXMgY29uc3RydWN0LiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc1RhZ2dpbmc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEFic3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhbiBBUEkgR2F0ZXdheSB3aXRoIGEgY3VzdG9tIGRvbWFpbiBuYW1lLCBjZXJ0aWZpY2F0ZSBhbmQgbGF0ZW5jeSBiYXNlZCByb3V0aW5nXG4gKiByZWNvcmQgaW4gUm91dGU1My5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0YW5kYXJkQXBpR2F0ZXdheSBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgcmVhZG9ubHkgZG9tYWluTmFtZTogU3RhbmRhcmREb21haW5OYW1lO1xuICByZWFkb25seSByZWNvcmQ6IFdlaWdodGVkTGF0ZW5jeUFSZWNvcmQ7XG4gIHJlYWRvbmx5IGdhdGV3YXk6IEh0dHBBcGk7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YW5kYXJkQXBpR2F0ZXdheVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGRvbWFpbk5hbWUgPSBuZXcgU3RhbmRhcmREb21haW5OYW1lKHRoaXMsIFwiRG9tYWluTmFtZVwiLCB7XG4gICAgICBwcmVmaXg6IHByb3BzLmRvbWFpblByZWZpeCxcbiAgICAgIHpvbmU6IHByb3BzLmRvbWFpblpvbmUsXG4gICAgICBzZWN1cml0eVBvbGljeTogU2VjdXJpdHlQb2xpY3kuVExTXzFfMlxuICAgIH0pO1xuICAgIGNvbnN0IHJlY29yZCA9IGRvbWFpbk5hbWUuY3JlYXRlV2VpZ2h0ZWRMYXRlbmN5QVJlY29yZChwcm9wcy5lbmFibGVkID8/IHRydWUgPyAxIDogMCk7XG5cbiAgICBjb25zdCBzdGFnZSA9IFN0YWdlLm9mKHRoaXMpO1xuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2YodGhpcyk7XG5cbiAgICBjb25zdCBnYXRld2F5ID0gbmV3IEh0dHBBcGkodGhpcywgXCJEZWZhdWx0XCIsIHtcbiAgICAgIGFwaU5hbWU6IHByb3BzLmFwaU5hbWUgPz8gYCR7c3RhZ2U/LnN0YWdlTmFtZX0ke3N0YWNrPy5zdGFja05hbWV9R2F0ZXdheWAsXG4gICAgICBkZWZhdWx0RG9tYWluTWFwcGluZzoge1xuICAgICAgICBkb21haW5OYW1lOiBkb21haW5OYW1lLmdhdGV3YXlEb21haW5OYW1lXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmRvbWFpbk5hbWUgPSBkb21haW5OYW1lO1xuICAgIHRoaXMucmVjb3JkID0gcmVjb3JkO1xuICAgIHRoaXMuZ2F0ZXdheSA9IGdhdGV3YXk7XG5cbiAgICBuZXcgU3RhbmRhcmRUYWdzKHRoaXMsIHtcbiAgICAgIHN1cHByZXNzOiBwcm9wcz8uc3VwcHJlc3NUYWdnaW5nXG4gICAgfSkuYWRkQXV0b21hdGlvbkNvbXBvbmVudFRhZ3Moe1xuICAgICAgdXJsOiBDREtfTlBNSlNfVVJMLFxuICAgICAgdmVuZG9yOiBDREtfVkVORE9SXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,8 +6,8 @@ const tmroute53 = require("../../aws-route53");
|
|
|
6
6
|
const targets = require("aws-cdk-lib/aws-route53-targets");
|
|
7
7
|
const aws_apigatewayv2_alpha_1 = require("@aws-cdk/aws-apigatewayv2-alpha");
|
|
8
8
|
const aws_route53_1 = require("aws-cdk-lib/aws-route53");
|
|
9
|
-
const aws_tags_1 = require("../../aws-tags");
|
|
10
9
|
const helpers_1 = require("../../helpers");
|
|
10
|
+
const aws_cdk_1 = require("../../aws-cdk");
|
|
11
11
|
/**
|
|
12
12
|
* Standard construct used to create an API Gateway V2 Domain Name.
|
|
13
13
|
*/
|
|
@@ -23,7 +23,7 @@ class StandardDomainName extends constructs_1.Construct {
|
|
|
23
23
|
securityPolicy: props.securityPolicy
|
|
24
24
|
});
|
|
25
25
|
this.recordTarget = aws_route53_1.RecordTarget.fromAlias(new targets.ApiGatewayv2DomainProperties(this.gatewayDomainName.regionalDomainName, this.gatewayDomainName.regionalHostedZoneId));
|
|
26
|
-
new
|
|
26
|
+
new aws_cdk_1.StandardTags(this, {
|
|
27
27
|
suppress: props === null || props === void 0 ? void 0 : props.suppressTagging
|
|
28
28
|
}).addAutomationComponentTags({
|
|
29
29
|
url: helpers_1.CDK_NPMJS_URL,
|
|
@@ -66,4 +66,4 @@ class StandardDomainName extends constructs_1.Construct {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
exports.StandardDomainName = StandardDomainName;
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC1kb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBcUM7QUFDckMsK0NBQStDO0FBQy9DLDJEQUEyRDtBQUUzRCw0RUFBMkU7QUFDM0UseURBQThEO0FBRTlELDJDQUF3RDtBQUN4RCwyQ0FBMkM7QUEyQjNDOztHQUVHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSxzQkFBUztJQU8vQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCOztRQUN0RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxXQUFXLFNBQUcsS0FBSyxDQUFDLFdBQVcsbUNBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxtQ0FBVSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDdkQsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7U0FDckMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRywwQkFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyw0QkFBNEIsQ0FDakYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFFM0YsSUFBSSxzQkFBWSxDQUFDLElBQUksRUFBRTtZQUNyQixRQUFRLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGVBQWU7U0FDakMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDO1lBQzVCLEdBQUcsRUFBRSx1QkFBYTtZQUNsQixNQUFNLEVBQUUsb0JBQVU7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILHFCQUFxQixDQUFDLE1BQWU7UUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILDRCQUE0QixDQUFDLE1BQWU7UUFDMUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLDRCQUE0QixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBakVELGdEQWlFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgdG1yb3V0ZTUzIGZyb20gXCIuLi8uLi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0c1wiO1xuaW1wb3J0IHtJQ2VydGlmaWNhdGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQge0RvbWFpbk5hbWUsIFNlY3VyaXR5UG9saWN5fSBmcm9tIFwiQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXl2Mi1hbHBoYVwiO1xuaW1wb3J0IHtBUmVjb3JkLCBSZWNvcmRUYXJnZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHtXZWlnaHRlZExhdGVuY3lBUmVjb3JkfSBmcm9tIFwiLi4vLi4vYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7Q0RLX05QTUpTX1VSTCwgQ0RLX1ZFTkRPUn0gZnJvbSBcIi4uLy4uL2hlbHBlcnNcIjtcbmltcG9ydCB7U3RhbmRhcmRUYWdzfSBmcm9tIFwiLi4vLi4vYXdzLWNka1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkRG9tYWluTmFtZVByb3BzIGV4dGVuZHMgdG1yb3V0ZTUzLkRvbWFpbk5hbWVQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBvcHRpb25hbCBBQ00gY2VydGlmaWNhdGUgZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IG9uZSBpcyBnZW5lcmF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGNlcnRpZmljYXRlPzogSUNlcnRpZmljYXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgVHJhbnNwb3J0IExheWVyIFNlY3VyaXR5IChUTFMpIHZlcnNpb24gKyBjaXBoZXIgc3VpdGUgZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IFNlY3VyaXR5UG9saWN5LlRMU18xXzJcbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5UG9saWN5PzogU2VjdXJpdHlQb2xpY3k7XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgc3VwcHJlc3MgdGhlIGNyZWF0aW9uIG9mIGRlZmF1bHQgdGFncyBvbiByZXNvdXJjZXNcbiAgICogY3JlYXRlZCBieSB0aGlzIGNvbnN0cnVjdC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcHJlc3NUYWdnaW5nPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBTdGFuZGFyZCBjb25zdHJ1Y3QgdXNlZCB0byBjcmVhdGUgYW4gQVBJIEdhdGV3YXkgVjIgRG9tYWluIE5hbWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFuZGFyZERvbWFpbk5hbWUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIHJlYWRvbmx5IGRvbWFpbk5hbWU6IHRtcm91dGU1My5Eb21haW5OYW1lO1xuICByZWFkb25seSBjZXJ0aWZpY2F0ZTogSUNlcnRpZmljYXRlO1xuICByZWFkb25seSByZWNvcmRUYXJnZXQ6IFJlY29yZFRhcmdldDtcbiAgcmVhZG9ubHkgZ2F0ZXdheURvbWFpbk5hbWU6IERvbWFpbk5hbWU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YW5kYXJkRG9tYWluTmFtZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLmRvbWFpbk5hbWUgPSBuZXcgdG1yb3V0ZTUzLkRvbWFpbk5hbWUocHJvcHMpO1xuICAgIHRoaXMuY2VydGlmaWNhdGUgPSBwcm9wcy5jZXJ0aWZpY2F0ZSA/PyB0aGlzLmRvbWFpbk5hbWUuY3JlYXRlQ2VydGlmaWNhdGUoc2NvcGUpO1xuICAgIHRoaXMuZ2F0ZXdheURvbWFpbk5hbWUgPSBuZXcgRG9tYWluTmFtZSh0aGlzLCBcIkRlZmF1bHRcIiwge1xuICAgICAgZG9tYWluTmFtZTogdGhpcy5kb21haW5OYW1lLnRvU3RyaW5nKCksXG4gICAgICBjZXJ0aWZpY2F0ZTogdGhpcy5jZXJ0aWZpY2F0ZSxcbiAgICAgIHNlY3VyaXR5UG9saWN5OiBwcm9wcy5zZWN1cml0eVBvbGljeVxuICAgIH0pO1xuICAgIHRoaXMucmVjb3JkVGFyZ2V0ID0gUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhuZXcgdGFyZ2V0cy5BcGlHYXRld2F5djJEb21haW5Qcm9wZXJ0aWVzKFxuICAgICAgdGhpcy5nYXRld2F5RG9tYWluTmFtZS5yZWdpb25hbERvbWFpbk5hbWUsIHRoaXMuZ2F0ZXdheURvbWFpbk5hbWUucmVnaW9uYWxIb3N0ZWRab25lSWQpKTtcblxuICAgIG5ldyBTdGFuZGFyZFRhZ3ModGhpcywge1xuICAgICAgc3VwcHJlc3M6IHByb3BzPy5zdXBwcmVzc1RhZ2dpbmdcbiAgICB9KS5hZGRBdXRvbWF0aW9uQ29tcG9uZW50VGFncyh7XG4gICAgICB1cmw6IENES19OUE1KU19VUkwsXG4gICAgICB2ZW5kb3I6IENES19WRU5ET1JcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcm91dGU1MyBBUmVjb3JkIHBvaW50aW5nIHRvIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICBjcmVhdGVBUmVjb3JkKCk6IEFSZWNvcmQge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbk5hbWUuY3JlYXRlQVJlY29yZCh0aGlzLCB0aGlzLnJlY29yZFRhcmdldCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHJvdXRlNTMgd2VpZ2h0ZWQgcmVjb3JkIHBvaW50aW5nIHRvIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSB3ZWlnaHQgdGhlIGluaXRpYWwgd2VpZ2h0OyBkZWZhdWx0cyB0byAwXG4gICAqL1xuICBjcmVhdGVXZWlnaHRlZEFSZWNvcmQod2VpZ2h0PzogbnVtYmVyKTogQVJlY29yZCB7XG4gICAgcmV0dXJuIHRoaXMuZG9tYWluTmFtZS5jcmVhdGVXZWlnaHRlZEFSZWNvcmQodGhpcywgdGhpcy5yZWNvcmRUYXJnZXQsIHdlaWdodCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHJvdXRlNTMgbGF0ZW5jeSByZWNvcmQgcG9pbnRpbmcgdG8gdGhpcyBkb21haW4gbmFtZS5cbiAgICovXG4gIGNyZWF0ZUxhdGVuY3lBUmVjb3JkKCk6IEFSZWNvcmQge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbk5hbWUuY3JlYXRlTGF0ZW5jeUFSZWNvcmQodGhpcywgdGhpcy5yZWNvcmRUYXJnZXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSByb3V0ZTUzIHdlaWdodGVkIGxhdGVuY3kgcmVjb3JkIHBvaW50aW5nIHRvIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSB3ZWlnaHQgdGhlIGluaXRpYWwgd2VpZ2h0OyBkZWZhdWx0cyB0byAwXG4gICAqL1xuICBjcmVhdGVXZWlnaHRlZExhdGVuY3lBUmVjb3JkKHdlaWdodD86IG51bWJlcik6IFdlaWdodGVkTGF0ZW5jeUFSZWNvcmQge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbk5hbWUuY3JlYXRlV2VpZ2h0ZWRMYXRlbmN5QVJlY29yZCh0aGlzLCB0aGlzLnJlY29yZFRhcmdldCwgd2VpZ2h0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBGUUROIG9mIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbk5hbWUudG9TdHJpbmcoKTtcbiAgfVxufVxuIl19
|
|
File without changes
|
|
File without changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CfnOutput, Duration, Stack, StackProps } from "aws-cdk-lib";
|
|
2
|
-
import { ParameterStore, ParameterStoreOptions } from "../../aws-ssm";
|
|
2
|
+
import { ParameterStore, ParameterStoreOptions } from "../../aws-ssm/index";
|
|
3
3
|
import { Construct } from "constructs";
|
|
4
4
|
import { StringParameter } from "aws-cdk-lib/aws-ssm";
|
|
5
5
|
import { DashboardRenderingPreference, MonitoringFacade } from "cdk-monitoring-constructs";
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExtendedStack = void 0;
|
|
4
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
|
+
const index_1 = require("../../aws-ssm/index");
|
|
6
|
+
const cdk_monitoring_constructs_1 = require("cdk-monitoring-constructs");
|
|
7
|
+
const index_2 = require("../../helpers/index");
|
|
8
|
+
const standard_tags_1 = require("./standard-tags");
|
|
9
|
+
/**
|
|
10
|
+
* Extended version of Stack providing functionality for parameter exports and monitoring.
|
|
11
|
+
*/
|
|
12
|
+
class ExtendedStack extends aws_cdk_lib_1.Stack {
|
|
13
|
+
constructor(scope, id, props) {
|
|
14
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
15
|
+
super(scope, id, props);
|
|
16
|
+
const stageName = (_a = aws_cdk_lib_1.Stage.of(this)) === null || _a === void 0 ? void 0 : _a.stageName;
|
|
17
|
+
this.parameterExportOptions = {
|
|
18
|
+
prefix: (_b = props === null || props === void 0 ? void 0 : props.parameterExportsPrefix) !== null && _b !== void 0 ? _b : (stageName === undefined ? "" : `/${stageName}`) + `/${id}/Exports/`,
|
|
19
|
+
region: this.region
|
|
20
|
+
};
|
|
21
|
+
this.parameterExports = new index_1.ParameterStore(this, "ParameterExports", this.parameterExportOptions);
|
|
22
|
+
if ((_c = props === null || props === void 0 ? void 0 : props.createMonitoringFacade) !== null && _c !== void 0 ? _c : true) {
|
|
23
|
+
const dashboardFactory = new cdk_monitoring_constructs_1.DefaultDashboardFactory(this, "DashboardFactory", {
|
|
24
|
+
dashboardNamePrefix: (_d = props === null || props === void 0 ? void 0 : props.dashboardNamePrefix) !== null && _d !== void 0 ? _d : this.stackName,
|
|
25
|
+
createAlarmDashboard: (_e = props === null || props === void 0 ? void 0 : props.createAlarmDashboard) !== null && _e !== void 0 ? _e : false,
|
|
26
|
+
createDashboard: (_f = props === null || props === void 0 ? void 0 : props.createDashboard) !== null && _f !== void 0 ? _f : false,
|
|
27
|
+
createSummaryDashboard: (_g = props === null || props === void 0 ? void 0 : props.createSummaryDashboard) !== null && _g !== void 0 ? _g : false,
|
|
28
|
+
renderingPreference: (_h = props === null || props === void 0 ? void 0 : props.dashboardRenderingPreference) !== null && _h !== void 0 ? _h : cdk_monitoring_constructs_1.DashboardRenderingPreference.INTERACTIVE_ONLY
|
|
29
|
+
});
|
|
30
|
+
this.monitoringFacade = new cdk_monitoring_constructs_1.MonitoringFacade(this, "Monitoring", {
|
|
31
|
+
metricFactoryDefaults: {
|
|
32
|
+
namespace: props === null || props === void 0 ? void 0 : props.metricNamespace,
|
|
33
|
+
period: props === null || props === void 0 ? void 0 : props.metricPeriod
|
|
34
|
+
},
|
|
35
|
+
alarmFactoryDefaults: {
|
|
36
|
+
actionsEnabled: (_j = props === null || props === void 0 ? void 0 : props.alarmActionsEnabled) !== null && _j !== void 0 ? _j : true,
|
|
37
|
+
alarmNamePrefix: this.stackName
|
|
38
|
+
},
|
|
39
|
+
dashboardFactory: dashboardFactory
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
new standard_tags_1.StandardTags(this, {
|
|
43
|
+
suppress: props === null || props === void 0 ? void 0 : props.suppressTagging
|
|
44
|
+
}).addAutomationComponentTags({
|
|
45
|
+
url: index_2.CDK_NPMJS_URL,
|
|
46
|
+
vendor: index_2.CDK_VENDOR,
|
|
47
|
+
includeResourceTypes: ["AWS::CloudFormation::Stack"]
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Helper method to exports a parameter as an SSM Parameter.
|
|
52
|
+
*
|
|
53
|
+
* @param name the parameter name
|
|
54
|
+
* @param value the parameter value
|
|
55
|
+
*/
|
|
56
|
+
exportParameter(name, value) {
|
|
57
|
+
return this.parameterExports.write(name, value);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Helper method to output a parameter as a CfnOutput.
|
|
61
|
+
*
|
|
62
|
+
* @param name the parameter name
|
|
63
|
+
* @param value the parameter value
|
|
64
|
+
*/
|
|
65
|
+
outputParameter(name, value) {
|
|
66
|
+
return new aws_cdk_lib_1.CfnOutput(this, name, {
|
|
67
|
+
value
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.ExtendedStack = ExtendedStack;
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlbmRlZC1zdGFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBMEU7QUFDMUUsK0NBQTBFO0FBRzFFLHlFQUltQztBQUNuQywrQ0FBOEQ7QUFDOUQsbURBQTZDO0FBZ0c3Qzs7R0FFRztBQUNILE1BQWEsYUFBYyxTQUFRLG1CQUFLO0lBTXRDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7O1FBQ2xFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE1BQU0sU0FBUyxTQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQywwQ0FBRSxTQUFTLENBQUM7UUFDNUMsSUFBSSxDQUFDLHNCQUFzQixHQUFHO1lBQzVCLE1BQU0sUUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsc0JBQXNCLG1DQUFFLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLFdBQVc7WUFDM0csTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxzQkFBYyxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUVsRyxVQUFJLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxzQkFBc0IsbUNBQUksSUFBSSxFQUFFO1lBQ3pDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxtREFBdUIsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUU7Z0JBQzdFLG1CQUFtQixRQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxtQkFBbUIsbUNBQUksSUFBSSxDQUFDLFNBQVM7Z0JBQ2pFLG9CQUFvQixRQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxvQkFBb0IsbUNBQUksS0FBSztnQkFDMUQsZUFBZSxRQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlLG1DQUFJLEtBQUs7Z0JBQ2hELHNCQUFzQixRQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxzQkFBc0IsbUNBQUksS0FBSztnQkFDOUQsbUJBQW1CLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLDRCQUE0QixtQ0FBSSx3REFBNEIsQ0FBQyxnQkFBZ0I7YUFDMUcsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksNENBQWdCLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtnQkFDL0QscUJBQXFCLEVBQUU7b0JBQ3JCLFNBQVMsRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZUFBZTtvQkFDakMsTUFBTSxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxZQUFZO2lCQUM1QjtnQkFDRCxvQkFBb0IsRUFBRTtvQkFDcEIsY0FBYyxRQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxtQkFBbUIsbUNBQUksSUFBSTtvQkFDbEQsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTO2lCQUNoQztnQkFDRCxnQkFBZ0IsRUFBRSxnQkFBZ0I7YUFDbkMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFO1lBQ3JCLFFBQVEsRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZUFBZTtTQUNqQyxDQUFDLENBQUMsMEJBQTBCLENBQUM7WUFDNUIsR0FBRyxFQUFFLHFCQUFhO1lBQ2xCLE1BQU0sRUFBRSxrQkFBVTtZQUNsQixvQkFBb0IsRUFBRSxDQUFDLDRCQUE0QixDQUFDO1NBQ3JELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUN6QyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUN6QyxPQUFPLElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQy9CLEtBQUs7U0FDTixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFuRUQsc0NBbUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDZm5PdXRwdXQsIER1cmF0aW9uLCBTdGFjaywgU3RhY2tQcm9wcywgU3RhZ2V9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtQYXJhbWV0ZXJTdG9yZSwgUGFyYW1ldGVyU3RvcmVPcHRpb25zfSBmcm9tIFwiLi4vLi4vYXdzLXNzbS9pbmRleFwiO1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1N0cmluZ1BhcmFtZXRlcn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zc21cIjtcbmltcG9ydCB7XG4gIERhc2hib2FyZFJlbmRlcmluZ1ByZWZlcmVuY2UsXG4gIERlZmF1bHREYXNoYm9hcmRGYWN0b3J5LFxuICBNb25pdG9yaW5nRmFjYWRlXG59IGZyb20gXCJjZGstbW9uaXRvcmluZy1jb25zdHJ1Y3RzXCI7XG5pbXBvcnQge0NES19OUE1KU19VUkwsIENES19WRU5ET1J9IGZyb20gXCIuLi8uLi9oZWxwZXJzL2luZGV4XCI7XG5pbXBvcnQge1N0YW5kYXJkVGFnc30gZnJvbSBcIi4vc3RhbmRhcmQtdGFnc1wiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIEV4dFN0YWNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuZGVkU3RhY2tPcHRpb25zIHtcblxuICAvKipcbiAgICogUHJlZml4IHRvIGJlIHVzZWQgYnkgcGFyYW1ldGVyIGV4cG9ydHMgdG8gYmUgc3RvcmVkIGluIHRoZVxuICAgKiBTeXN0ZW1zIE1hbmFnZXIgUGFyYW1ldGVyIFN0b3JlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAke3N0YWdlTmFtZX0vJHtzdGFja0lkfS9FeHBvcnRzL1xuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1ldGVyRXhwb3J0c1ByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogRmxhZyB0byBkZXRlcm1pbmUgaWYgYSBkZWZhdWx0IE1vbml0b3JpbmdGYWNhZGUgYW5kXG4gICAqIERlZmF1bHREYXNoYm9hcmRGYWN0b3J5IHNob3VsZCBiZSBjcmVhdGVkIGluIHRoaXMgc3RhY2suXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZU1vbml0b3JpbmdGYWNhZGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQcmVmaXggYWRkZWQgdG8gZWFjaCBkYXNoYm9hcmQgbmFtZS5cbiAgICpcbiAgICogQGRlZmF1bHQgc3RhY2tOYW1lXG4gICAqL1xuICByZWFkb25seSBkYXNoYm9hcmROYW1lUHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGbGFnIHRvIGRldGVybWluZSBpZiB0aGUgZGVmYXVsdCBkYXNoYm9hcmQgc2hvdWxkIGJlIGNyZWF0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVEYXNoYm9hcmQ/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIEZsYWcgdG8gZGV0ZXJtaW5lIGlmIHRoZSBzdW1tYXJ5IGRhc2hib2FyZCBzaG91bGQgYmUgY3JlYXRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZVN1bW1hcnlEYXNoYm9hcmQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBGbGFnIHRvIGRldGVybWluZSBpZiB0aGUgYWxhcm0gZGFzaGJvYXJkIHNob3VsZCBiZSBjcmV0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVBbGFybURhc2hib2FyZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJlbmRlcmluZyBwcmVmZXJlbmNlIHRvIGRhc2hib2FyZHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IERhc2hib2FyZFJlbmRlcmluZ1ByZWZlcmVuY2UuSU5URVJBQ1RJVkVfT05MWVxuICAgKi9cbiAgcmVhZG9ubHkgZGFzaGJvYXJkUmVuZGVyaW5nUHJlZmVyZW5jZT86IERhc2hib2FyZFJlbmRlcmluZ1ByZWZlcmVuY2U7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgbmFtZXNwYWNlIGZvciBtZXRyaWNzLlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0cmljTmFtZXNwYWNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IG1ldHJpYyBwZXJpb2RcbiAgICovXG4gIHJlYWRvbmx5IG1ldHJpY1BlcmlvZD86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBQcmVmaXggZm9yIGdlbmVyYXRlZCBhbGFybXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHN0YWNrTmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxhcm1OYW1lUHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGFsYXJtIGFjdGlvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGFsYXJtQWN0aW9uc0VuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTZXR0aW5nIHRoaXMgdG8gdHJ1ZSB3aWxsIHN1cHByZXNzIHRoZSBjcmVhdGlvbiBvZiBkZWZhdWx0IHRhZ3Mgb24gcmVzb3VyY2VzXG4gICAqIGNyZWF0ZWQgYnkgdGhpcyBjb25zdHJ1Y3QuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN1cHByZXNzVGFnZ2luZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgRXh0U3RhY2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kZWRTdGFja1Byb3BzIGV4dGVuZHMgRXh0ZW5kZWRTdGFja09wdGlvbnMsIFN0YWNrUHJvcHMge31cblxuLyoqXG4gKiBFeHRlbmRlZCB2ZXJzaW9uIG9mIFN0YWNrIHByb3ZpZGluZyBmdW5jdGlvbmFsaXR5IGZvciBwYXJhbWV0ZXIgZXhwb3J0cyBhbmQgbW9uaXRvcmluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIEV4dGVuZGVkU3RhY2sgZXh0ZW5kcyBTdGFjayB7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhcmFtZXRlckV4cG9ydHM6IFBhcmFtZXRlclN0b3JlO1xuICByZWFkb25seSBwYXJhbWV0ZXJFeHBvcnRPcHRpb25zOiBQYXJhbWV0ZXJTdG9yZU9wdGlvbnM7XG4gIHJlYWRvbmx5IG1vbml0b3JpbmdGYWNhZGU/OiBNb25pdG9yaW5nRmFjYWRlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogRXh0ZW5kZWRTdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgY29uc3Qgc3RhZ2VOYW1lID0gU3RhZ2Uub2YodGhpcyk/LnN0YWdlTmFtZTtcbiAgICB0aGlzLnBhcmFtZXRlckV4cG9ydE9wdGlvbnMgPSB7XG4gICAgICBwcmVmaXg6IHByb3BzPy5wYXJhbWV0ZXJFeHBvcnRzUHJlZml4Pz8oc3RhZ2VOYW1lID09PSB1bmRlZmluZWQgPyBcIlwiIDogYC8ke3N0YWdlTmFtZX1gKSArIGAvJHtpZH0vRXhwb3J0cy9gLFxuICAgICAgcmVnaW9uOiB0aGlzLnJlZ2lvblxuICAgIH07XG4gICAgdGhpcy5wYXJhbWV0ZXJFeHBvcnRzID0gbmV3IFBhcmFtZXRlclN0b3JlKHRoaXMsIFwiUGFyYW1ldGVyRXhwb3J0c1wiLCB0aGlzLnBhcmFtZXRlckV4cG9ydE9wdGlvbnMpO1xuXG4gICAgaWYgKHByb3BzPy5jcmVhdGVNb25pdG9yaW5nRmFjYWRlID8/IHRydWUpIHtcbiAgICAgIGNvbnN0IGRhc2hib2FyZEZhY3RvcnkgPSBuZXcgRGVmYXVsdERhc2hib2FyZEZhY3RvcnkodGhpcywgXCJEYXNoYm9hcmRGYWN0b3J5XCIsIHtcbiAgICAgICAgZGFzaGJvYXJkTmFtZVByZWZpeDogcHJvcHM/LmRhc2hib2FyZE5hbWVQcmVmaXggPz8gdGhpcy5zdGFja05hbWUsXG4gICAgICAgIGNyZWF0ZUFsYXJtRGFzaGJvYXJkOiBwcm9wcz8uY3JlYXRlQWxhcm1EYXNoYm9hcmQgPz8gZmFsc2UsXG4gICAgICAgIGNyZWF0ZURhc2hib2FyZDogcHJvcHM/LmNyZWF0ZURhc2hib2FyZCA/PyBmYWxzZSxcbiAgICAgICAgY3JlYXRlU3VtbWFyeURhc2hib2FyZDogcHJvcHM/LmNyZWF0ZVN1bW1hcnlEYXNoYm9hcmQgPz8gZmFsc2UsXG4gICAgICAgIHJlbmRlcmluZ1ByZWZlcmVuY2U6IHByb3BzPy5kYXNoYm9hcmRSZW5kZXJpbmdQcmVmZXJlbmNlID8/IERhc2hib2FyZFJlbmRlcmluZ1ByZWZlcmVuY2UuSU5URVJBQ1RJVkVfT05MWVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMubW9uaXRvcmluZ0ZhY2FkZSA9IG5ldyBNb25pdG9yaW5nRmFjYWRlKHRoaXMsIFwiTW9uaXRvcmluZ1wiLCB7XG4gICAgICAgIG1ldHJpY0ZhY3RvcnlEZWZhdWx0czoge1xuICAgICAgICAgIG5hbWVzcGFjZTogcHJvcHM/Lm1ldHJpY05hbWVzcGFjZSxcbiAgICAgICAgICBwZXJpb2Q6IHByb3BzPy5tZXRyaWNQZXJpb2RcbiAgICAgICAgfSxcbiAgICAgICAgYWxhcm1GYWN0b3J5RGVmYXVsdHM6IHtcbiAgICAgICAgICBhY3Rpb25zRW5hYmxlZDogcHJvcHM/LmFsYXJtQWN0aW9uc0VuYWJsZWQgPz8gdHJ1ZSxcbiAgICAgICAgICBhbGFybU5hbWVQcmVmaXg6IHRoaXMuc3RhY2tOYW1lXG4gICAgICAgIH0sXG4gICAgICAgIGRhc2hib2FyZEZhY3Rvcnk6IGRhc2hib2FyZEZhY3RvcnlcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIG5ldyBTdGFuZGFyZFRhZ3ModGhpcywge1xuICAgICAgc3VwcHJlc3M6IHByb3BzPy5zdXBwcmVzc1RhZ2dpbmdcbiAgICB9KS5hZGRBdXRvbWF0aW9uQ29tcG9uZW50VGFncyh7XG4gICAgICB1cmw6IENES19OUE1KU19VUkwsXG4gICAgICB2ZW5kb3I6IENES19WRU5ET1IsXG4gICAgICBpbmNsdWRlUmVzb3VyY2VUeXBlczogW1wiQVdTOjpDbG91ZEZvcm1hdGlvbjo6U3RhY2tcIl1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgbWV0aG9kIHRvIGV4cG9ydHMgYSBwYXJhbWV0ZXIgYXMgYW4gU1NNIFBhcmFtZXRlci5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgdGhlIHBhcmFtZXRlciBuYW1lXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgcGFyYW1ldGVyIHZhbHVlXG4gICAqL1xuICBleHBvcnRQYXJhbWV0ZXIobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogU3RyaW5nUGFyYW1ldGVyIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJFeHBvcnRzLndyaXRlKG5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgbWV0aG9kIHRvIG91dHB1dCBhIHBhcmFtZXRlciBhcyBhIENmbk91dHB1dC5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgdGhlIHBhcmFtZXRlciBuYW1lXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgcGFyYW1ldGVyIHZhbHVlXG4gICAqL1xuICBvdXRwdXRQYXJhbWV0ZXIobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogQ2ZuT3V0cHV0IHtcbiAgICByZXR1cm4gbmV3IENmbk91dHB1dCh0aGlzLCBuYW1lLCB7XG4gICAgICB2YWx1ZVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
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("./extended-stack"), exports);
|
|
14
|
+
__exportStar(require("./single-env-app"), exports);
|
|
15
|
+
__exportStar(require("./standard-app"), exports);
|
|
16
|
+
__exportStar(require("./standard-environment"), exports);
|
|
17
|
+
__exportStar(require("./standard-stack"), exports);
|
|
18
|
+
__exportStar(require("./standard-stage"), exports);
|
|
19
|
+
__exportStar(require("./standard-tags"), exports);
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxtREFBaUM7QUFDakMsbURBQWlDO0FBQ2pDLGlEQUErQjtBQUMvQix5REFBdUM7QUFDdkMsbURBQWlDO0FBQ2pDLG1EQUFpQztBQUNqQyxrREFBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9leHRlbmRlZC1zdGFja1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2luZ2xlLWVudi1hcHBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0YW5kYXJkLWFwcFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RhbmRhcmQtZW52aXJvbm1lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0YW5kYXJkLXN0YWNrXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdGFuZGFyZC1zdGFnZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RhbmRhcmQtdGFnc1wiO1xuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { StandardApp, StandardAppProps } from "./standard-app";
|
|
2
|
+
/**
|
|
3
|
+
* Properties for SingleEnvApp
|
|
4
|
+
*/
|
|
5
|
+
export interface SingleEnvAppProps extends StandardAppProps {
|
|
6
|
+
/**
|
|
7
|
+
* The name of the property in the context where the environment name is stored.
|
|
8
|
+
* Default is "env".
|
|
9
|
+
*
|
|
10
|
+
* @default - env
|
|
11
|
+
*/
|
|
12
|
+
readonly environmentPropertyName?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Extension of StandardApp that supports a standard way to declare environment names.
|
|
16
|
+
*/
|
|
17
|
+
export declare class SingleEnvApp extends StandardApp {
|
|
18
|
+
readonly environmentName: string;
|
|
19
|
+
constructor(props?: SingleEnvAppProps);
|
|
20
|
+
/**
|
|
21
|
+
* Returns the name of the environment.
|
|
22
|
+
*/
|
|
23
|
+
getEnvironmentName(): string;
|
|
24
|
+
/**
|
|
25
|
+
* Returns the name of the environment in title case.
|
|
26
|
+
*/
|
|
27
|
+
getEnvironmentNameTitleCase(): string;
|
|
28
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SingleEnvApp = void 0;
|
|
4
|
+
const standard_app_1 = require("./standard-app");
|
|
5
|
+
const helpers_1 = require("../../helpers");
|
|
6
|
+
/**
|
|
7
|
+
* Extension of StandardApp that supports a standard way to declare environment names.
|
|
8
|
+
*/
|
|
9
|
+
class SingleEnvApp extends standard_app_1.StandardApp {
|
|
10
|
+
constructor(props) {
|
|
11
|
+
var _a;
|
|
12
|
+
super(props);
|
|
13
|
+
const environmentPropertyName = (_a = props === null || props === void 0 ? void 0 : props.environmentPropertyName) !== null && _a !== void 0 ? _a : "env";
|
|
14
|
+
this.environmentName = this.node.tryGetContext(environmentPropertyName);
|
|
15
|
+
if (!this.environmentName) {
|
|
16
|
+
throw new Error(`Environment is missing. Please add \"-c ${environmentPropertyName}=<name>\" to your CDK command`);
|
|
17
|
+
}
|
|
18
|
+
if (!helpers_1.StringHelper.isLowerAlphanumeric(this.environmentName)) {
|
|
19
|
+
throw new Error("Environment name must be lower case alpha numeric");
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Returns the name of the environment.
|
|
24
|
+
*/
|
|
25
|
+
getEnvironmentName() {
|
|
26
|
+
return this.environmentName;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Returns the name of the environment in title case.
|
|
30
|
+
*/
|
|
31
|
+
getEnvironmentNameTitleCase() {
|
|
32
|
+
return helpers_1.StringHelper.toPascalCase(this.environmentName);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.SingleEnvApp = SingleEnvApp;
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWVudi1hcHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzaW5nbGUtZW52LWFwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBNkQ7QUFDN0QsMkNBQTJDO0FBZ0IzQzs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLDBCQUFXO0lBSTNDLFlBQVksS0FBeUI7O1FBQ25DLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNiLE1BQU0sdUJBQXVCLFNBQUcsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLHVCQUF1QixtQ0FBSSxLQUFLLENBQUM7UUFDeEUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLHVCQUF1QiwrQkFBK0IsQ0FBQyxDQUFDO1NBQ3BIO1FBQ0QsSUFBSSxDQUFDLHNCQUFZLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQzNELE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztTQUN0RTtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsMkJBQTJCO1FBQ3pCLE9BQU8sc0JBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRjtBQTdCRCxvQ0E2QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1N0YW5kYXJkQXBwLCBTdGFuZGFyZEFwcFByb3BzfSBmcm9tIFwiLi9zdGFuZGFyZC1hcHBcIjtcbmltcG9ydCB7U3RyaW5nSGVscGVyfSBmcm9tIFwiLi4vLi4vaGVscGVyc1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFNpbmdsZUVudkFwcFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpbmdsZUVudkFwcFByb3BzIGV4dGVuZHMgU3RhbmRhcmRBcHBQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgY29udGV4dCB3aGVyZSB0aGUgZW52aXJvbm1lbnQgbmFtZSBpcyBzdG9yZWQuXG4gICAqIERlZmF1bHQgaXMgXCJlbnZcIi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBlbnZcbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50UHJvcGVydHlOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEV4dGVuc2lvbiBvZiBTdGFuZGFyZEFwcCB0aGF0IHN1cHBvcnRzIGEgc3RhbmRhcmQgd2F5IHRvIGRlY2xhcmUgZW52aXJvbm1lbnQgbmFtZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTaW5nbGVFbnZBcHAgZXh0ZW5kcyBTdGFuZGFyZEFwcCB7XG5cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnROYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvcHM/OiBTaW5nbGVFbnZBcHBQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICBjb25zdCBlbnZpcm9ubWVudFByb3BlcnR5TmFtZSA9IHByb3BzPy5lbnZpcm9ubWVudFByb3BlcnR5TmFtZSA/PyBcImVudlwiO1xuICAgIHRoaXMuZW52aXJvbm1lbnROYW1lID0gdGhpcy5ub2RlLnRyeUdldENvbnRleHQoZW52aXJvbm1lbnRQcm9wZXJ0eU5hbWUpO1xuICAgIGlmICghdGhpcy5lbnZpcm9ubWVudE5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRW52aXJvbm1lbnQgaXMgbWlzc2luZy4gUGxlYXNlIGFkZCBcXFwiLWMgJHtlbnZpcm9ubWVudFByb3BlcnR5TmFtZX09PG5hbWU+XFxcIiB0byB5b3VyIENESyBjb21tYW5kYCk7XG4gICAgfVxuICAgIGlmICghU3RyaW5nSGVscGVyLmlzTG93ZXJBbHBoYW51bWVyaWModGhpcy5lbnZpcm9ubWVudE5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFbnZpcm9ubWVudCBuYW1lIG11c3QgYmUgbG93ZXIgY2FzZSBhbHBoYSBudW1lcmljXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudC5cbiAgICovXG4gIGdldEVudmlyb25tZW50TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50TmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudCBpbiB0aXRsZSBjYXNlLlxuICAgKi9cbiAgZ2V0RW52aXJvbm1lbnROYW1lVGl0bGVDYXNlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFN0cmluZ0hlbHBlci50b1Bhc2NhbENhc2UodGhpcy5lbnZpcm9ubWVudE5hbWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { App, AppProps } from "aws-cdk-lib";
|
|
2
|
+
import { AutomationTagsProps, CostCenterTagsProps, SecurityTagsProps, StandardTagsOptions, TeamTagsProps } from "./standard-tags";
|
|
3
|
+
/**
|
|
4
|
+
* Properties for StandardApp
|
|
5
|
+
*/
|
|
6
|
+
export interface StandardAppProps extends AppProps, StandardTagsOptions {
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Extends App providing support for tags and a standard for environment names.
|
|
10
|
+
*/
|
|
11
|
+
export declare class StandardApp extends App {
|
|
12
|
+
readonly account: string;
|
|
13
|
+
readonly region: string;
|
|
14
|
+
readonly environmentName: string;
|
|
15
|
+
readonly automationTags?: AutomationTagsProps;
|
|
16
|
+
readonly costCenterTags?: CostCenterTagsProps;
|
|
17
|
+
readonly securityTags?: SecurityTagsProps;
|
|
18
|
+
readonly teamTags?: TeamTagsProps;
|
|
19
|
+
readonly suppressTags?: boolean;
|
|
20
|
+
constructor(props?: StandardAppProps);
|
|
21
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StandardApp = void 0;
|
|
4
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
|
+
/**
|
|
6
|
+
* Extends App providing support for tags and a standard for environment names.
|
|
7
|
+
*/
|
|
8
|
+
class StandardApp extends aws_cdk_lib_1.App {
|
|
9
|
+
constructor(props) {
|
|
10
|
+
super(props);
|
|
11
|
+
const account = process.env.CDK_DEFAULT_ACCOUNT || process.env.AWS_ACCOUNT_ID;
|
|
12
|
+
if (account === undefined) {
|
|
13
|
+
throw new Error("Unable to identify default account");
|
|
14
|
+
}
|
|
15
|
+
this.account = account;
|
|
16
|
+
const region = process.env.CDK_DEFAULT_REGION || process.env.AWS_DEFAULT_REGION;
|
|
17
|
+
if (region === undefined) {
|
|
18
|
+
throw new Error("Unable to identify default region");
|
|
19
|
+
}
|
|
20
|
+
this.region = region;
|
|
21
|
+
this.automationTags = props === null || props === void 0 ? void 0 : props.automationTags;
|
|
22
|
+
this.costCenterTags = props === null || props === void 0 ? void 0 : props.costCenterTags;
|
|
23
|
+
this.securityTags = props === null || props === void 0 ? void 0 : props.securityTags;
|
|
24
|
+
this.teamTags = props === null || props === void 0 ? void 0 : props.teamTags;
|
|
25
|
+
this.suppressTags = props === null || props === void 0 ? void 0 : props.suppressTags;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.StandardApp = StandardApp;
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUF1RDtBQWdCdkQ7O0dBRUc7QUFDSCxNQUFhLFdBQVksU0FBUSxpQkFBRztJQVdsQyxZQUFZLEtBQXdCO1FBQ2xDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUViLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7UUFDOUUsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztTQUN2RDtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQztRQUNoRixJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFFckIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsY0FBYyxDQUFDO1FBQzVDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGNBQWMsQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxZQUFZLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVksQ0FBQztJQUMxQyxDQUFDO0NBQ0Y7QUEvQkQsa0NBK0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcHAsIEFwcFByb3BzLCBFbnZpcm9ubWVudH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBBdXRvbWF0aW9uVGFnc1Byb3BzLFxuICBDb3N0Q2VudGVyVGFnc1Byb3BzLFxuICBTZWN1cml0eVRhZ3NQcm9wcywgU3RhbmRhcmRUYWdzT3B0aW9ucyxcbiAgVGVhbVRhZ3NQcm9wc1xufSBmcm9tIFwiLi9zdGFuZGFyZC10YWdzXCI7XG5pbXBvcnQge1N0cmluZ0hlbHBlcn0gZnJvbSBcIi4uLy4uL2hlbHBlcnNcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBTdGFuZGFyZEFwcFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkQXBwUHJvcHMgZXh0ZW5kcyBBcHBQcm9wcywgU3RhbmRhcmRUYWdzT3B0aW9ucyB7XG5cbn1cblxuLyoqXG4gKiBFeHRlbmRzIEFwcCBwcm92aWRpbmcgc3VwcG9ydCBmb3IgdGFncyBhbmQgYSBzdGFuZGFyZCBmb3IgZW52aXJvbm1lbnQgbmFtZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFuZGFyZEFwcCBleHRlbmRzIEFwcCB7XG5cbiAgcmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuICByZWFkb25seSByZWdpb246IHN0cmluZztcbiAgcmVhZG9ubHkgZW52aXJvbm1lbnROYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGF1dG9tYXRpb25UYWdzPzogQXV0b21hdGlvblRhZ3NQcm9wcztcbiAgcmVhZG9ubHkgY29zdENlbnRlclRhZ3M/OiBDb3N0Q2VudGVyVGFnc1Byb3BzO1xuICByZWFkb25seSBzZWN1cml0eVRhZ3M/OiBTZWN1cml0eVRhZ3NQcm9wcztcbiAgcmVhZG9ubHkgdGVhbVRhZ3M/OiBUZWFtVGFnc1Byb3BzO1xuICByZWFkb25seSBzdXBwcmVzc1RhZ3M/OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzPzogU3RhbmRhcmRBcHBQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIGNvbnN0IGFjY291bnQgPSBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9BQ0NPVU5UIHx8IHByb2Nlc3MuZW52LkFXU19BQ0NPVU5UX0lEO1xuICAgIGlmIChhY2NvdW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuYWJsZSB0byBpZGVudGlmeSBkZWZhdWx0IGFjY291bnRcIik7XG4gICAgfVxuICAgIHRoaXMuYWNjb3VudCA9IGFjY291bnQ7XG4gICAgY29uc3QgcmVnaW9uID0gcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfUkVHSU9OIHx8IHByb2Nlc3MuZW52LkFXU19ERUZBVUxUX1JFR0lPTjtcbiAgICBpZiAocmVnaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuYWJsZSB0byBpZGVudGlmeSBkZWZhdWx0IHJlZ2lvblwiKTtcbiAgICB9XG4gICAgdGhpcy5yZWdpb24gPSByZWdpb247XG5cbiAgICB0aGlzLmF1dG9tYXRpb25UYWdzID0gcHJvcHM/LmF1dG9tYXRpb25UYWdzO1xuICAgIHRoaXMuY29zdENlbnRlclRhZ3MgPSBwcm9wcz8uY29zdENlbnRlclRhZ3M7XG4gICAgdGhpcy5zZWN1cml0eVRhZ3MgPSBwcm9wcz8uc2VjdXJpdHlUYWdzO1xuICAgIHRoaXMudGVhbVRhZ3MgPSBwcm9wcz8udGVhbVRhZ3M7XG4gICAgdGhpcy5zdXBwcmVzc1RhZ3MgPSBwcm9wcz8uc3VwcHJlc3NUYWdzO1xuICB9XG59XG4iXX0=
|
|
File without changes
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtYnVuZGxpbmctb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInN0YW5kYXJkLWJ1bmRsaW5nLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC1lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbnZpcm9ubWVudH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5cbi8qKlxuICogQWRkcyBhIG5hbWUgdG8gdGhlIGVudmlyb25tZW50IHByb3BlcnRpZXMgdXNlZCBieSBTdGFuZGFyZFN0YWNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkRW52aXJvbm1lbnQgZXh0ZW5kcyBFbnZpcm9ubWVudCB7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGVudmlyb25tZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG59XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ExtendedStack, ExtendedStackProps } from "./extended-stack";
|
|
2
|
+
import { AutomationTagsProps, CostCenterTagsProps, SecurityTagsProps, StandardTagsOptions, TeamTagsProps } from "./standard-tags";
|
|
3
|
+
import { Construct } from "constructs";
|
|
4
|
+
/**
|
|
5
|
+
* Properties for StandardStack.
|
|
6
|
+
*/
|
|
7
|
+
export interface StandardStackProps extends ExtendedStackProps, StandardTagsOptions {
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Adds support for tags and environment names.
|
|
11
|
+
*/
|
|
12
|
+
export declare class StandardStack extends ExtendedStack {
|
|
13
|
+
readonly automationTags?: AutomationTagsProps;
|
|
14
|
+
readonly costCenterTags?: CostCenterTagsProps;
|
|
15
|
+
readonly securityTags?: SecurityTagsProps;
|
|
16
|
+
readonly teamTags?: TeamTagsProps;
|
|
17
|
+
readonly suppressTags?: boolean;
|
|
18
|
+
constructor(scope: Construct, id: string, props?: StandardStackProps);
|
|
19
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StandardStack = void 0;
|
|
4
|
+
const extended_stack_1 = require("./extended-stack");
|
|
5
|
+
const standard_app_1 = require("./standard-app");
|
|
6
|
+
const standard_stage_1 = require("./standard-stage");
|
|
7
|
+
const helpers_1 = require("../../helpers");
|
|
8
|
+
const standard_tags_1 = require("./standard-tags");
|
|
9
|
+
/**
|
|
10
|
+
* Adds support for tags and environment names.
|
|
11
|
+
*/
|
|
12
|
+
class StandardStack extends extended_stack_1.ExtendedStack {
|
|
13
|
+
constructor(scope, id, props) {
|
|
14
|
+
var _a, _b, _c, _d, _e;
|
|
15
|
+
super(scope, id, props);
|
|
16
|
+
const standardScope = scope instanceof standard_app_1.StandardApp || scope instanceof standard_stage_1.StandardStage || scope instanceof StandardStack
|
|
17
|
+
? scope : undefined;
|
|
18
|
+
this.automationTags = (_a = props === null || props === void 0 ? void 0 : props.automationTags) !== null && _a !== void 0 ? _a : standardScope === null || standardScope === void 0 ? void 0 : standardScope.automationTags;
|
|
19
|
+
this.costCenterTags = (_b = props === null || props === void 0 ? void 0 : props.costCenterTags) !== null && _b !== void 0 ? _b : standardScope === null || standardScope === void 0 ? void 0 : standardScope.costCenterTags;
|
|
20
|
+
this.securityTags = (_c = props === null || props === void 0 ? void 0 : props.securityTags) !== null && _c !== void 0 ? _c : standardScope === null || standardScope === void 0 ? void 0 : standardScope.securityTags;
|
|
21
|
+
this.teamTags = (_d = props === null || props === void 0 ? void 0 : props.teamTags) !== null && _d !== void 0 ? _d : standardScope === null || standardScope === void 0 ? void 0 : standardScope.teamTags;
|
|
22
|
+
this.suppressTags = (_e = props === null || props === void 0 ? void 0 : props.suppressTags) !== null && _e !== void 0 ? _e : standardScope === null || standardScope === void 0 ? void 0 : standardScope.suppressTags;
|
|
23
|
+
new standard_tags_1.StandardTags(this, { suppress: props === null || props === void 0 ? void 0 : props.suppressTags })
|
|
24
|
+
.addAutomationComponentTags({
|
|
25
|
+
url: helpers_1.CDK_NPMJS_URL,
|
|
26
|
+
vendor: helpers_1.CDK_VENDOR,
|
|
27
|
+
includeResourceTypes: ["AWS::CloudFormation::Stack"]
|
|
28
|
+
})
|
|
29
|
+
.addAutomationTags(props === null || props === void 0 ? void 0 : props.automationTags)
|
|
30
|
+
.addCostCenterTags(props === null || props === void 0 ? void 0 : props.costCenterTags)
|
|
31
|
+
.addSecurityTags(props === null || props === void 0 ? void 0 : props.securityTags)
|
|
32
|
+
.addTeamTags(props === null || props === void 0 ? void 0 : props.teamTags);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.StandardStack = StandardStack;
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC1zdGFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBbUU7QUFDbkUsaURBQTJDO0FBQzNDLHFEQUErQztBQUMvQywyQ0FBd0Q7QUFDeEQsbURBT3lCO0FBVXpCOztHQUVHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsOEJBQWE7SUFROUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjs7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsTUFBTSxhQUFhLEdBQ2pCLEtBQUssWUFBWSwwQkFBVyxJQUFJLEtBQUssWUFBWSw4QkFBYSxJQUFJLEtBQUssWUFBWSxhQUFhO1lBQzlGLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUV4QixJQUFJLENBQUMsY0FBYyxTQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxjQUFjLG1DQUFJLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxjQUFjLENBQUM7UUFDN0UsSUFBSSxDQUFDLGNBQWMsU0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsY0FBYyxtQ0FBSSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsY0FBYyxDQUFDO1FBQzdFLElBQUksQ0FBQyxZQUFZLFNBQUcsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVksbUNBQUksYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLFlBQVksQ0FBQztRQUN2RSxJQUFJLENBQUMsUUFBUSxTQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxRQUFRLG1DQUFJLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxRQUFRLENBQUM7UUFDM0QsSUFBSSxDQUFDLFlBQVksU0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsWUFBWSxtQ0FBSSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsWUFBWSxDQUFDO1FBRXZFLElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUUsRUFBQyxRQUFRLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVksRUFBQyxDQUFDO2FBQ3BELDBCQUEwQixDQUFDO1lBQzFCLEdBQUcsRUFBRSx1QkFBYTtZQUNsQixNQUFNLEVBQUUsb0JBQVU7WUFDbEIsb0JBQW9CLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztTQUNyRCxDQUFDO2FBQ0QsaUJBQWlCLENBQUMsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGNBQWMsQ0FBQzthQUN4QyxpQkFBaUIsQ0FBQyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsY0FBYyxDQUFDO2FBQ3hDLGVBQWUsQ0FBQyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsWUFBWSxDQUFDO2FBQ3BDLFdBQVcsQ0FBQyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGO0FBaENELHNDQWdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXh0ZW5kZWRTdGFjaywgRXh0ZW5kZWRTdGFja1Byb3BzfSBmcm9tIFwiLi9leHRlbmRlZC1zdGFja1wiO1xuaW1wb3J0IHtTdGFuZGFyZEFwcH0gZnJvbSBcIi4vc3RhbmRhcmQtYXBwXCI7XG5pbXBvcnQge1N0YW5kYXJkU3RhZ2V9IGZyb20gXCIuL3N0YW5kYXJkLXN0YWdlXCI7XG5pbXBvcnQge0NES19OUE1KU19VUkwsIENES19WRU5ET1J9IGZyb20gXCIuLi8uLi9oZWxwZXJzXCI7XG5pbXBvcnQge1xuICBBdXRvbWF0aW9uVGFnc1Byb3BzLFxuICBDb3N0Q2VudGVyVGFnc1Byb3BzLFxuICBTZWN1cml0eVRhZ3NQcm9wcyxcbiAgU3RhbmRhcmRUYWdzLFxuICBTdGFuZGFyZFRhZ3NPcHRpb25zLFxuICBUZWFtVGFnc1Byb3BzXG59IGZyb20gXCIuL3N0YW5kYXJkLXRhZ3NcIjtcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFN0YW5kYXJkU3RhY2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhcmRTdGFja1Byb3BzIGV4dGVuZHMgRXh0ZW5kZWRTdGFja1Byb3BzLCBTdGFuZGFyZFRhZ3NPcHRpb25zIHtcblxufVxuXG4vKipcbiAqIEFkZHMgc3VwcG9ydCBmb3IgdGFncyBhbmQgZW52aXJvbm1lbnQgbmFtZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFuZGFyZFN0YWNrIGV4dGVuZHMgRXh0ZW5kZWRTdGFjayB7XG5cbiAgcmVhZG9ubHkgYXV0b21hdGlvblRhZ3M/OiBBdXRvbWF0aW9uVGFnc1Byb3BzO1xuICByZWFkb25seSBjb3N0Q2VudGVyVGFncz86IENvc3RDZW50ZXJUYWdzUHJvcHM7XG4gIHJlYWRvbmx5IHNlY3VyaXR5VGFncz86IFNlY3VyaXR5VGFnc1Byb3BzO1xuICByZWFkb25seSB0ZWFtVGFncz86IFRlYW1UYWdzUHJvcHM7XG4gIHJlYWRvbmx5IHN1cHByZXNzVGFncz86IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBTdGFuZGFyZFN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIGNvbnN0IHN0YW5kYXJkU2NvcGU6IFN0YW5kYXJkQXBwIHwgU3RhbmRhcmRTdGFnZSB8IFN0YW5kYXJkU3RhY2sgfCB1bmRlZmluZWQgPVxuICAgICAgc2NvcGUgaW5zdGFuY2VvZiBTdGFuZGFyZEFwcCB8fCBzY29wZSBpbnN0YW5jZW9mIFN0YW5kYXJkU3RhZ2UgfHwgc2NvcGUgaW5zdGFuY2VvZiBTdGFuZGFyZFN0YWNrXG4gICAgICAgID8gc2NvcGUgOiB1bmRlZmluZWQ7XG5cbiAgICB0aGlzLmF1dG9tYXRpb25UYWdzID0gcHJvcHM/LmF1dG9tYXRpb25UYWdzID8/IHN0YW5kYXJkU2NvcGU/LmF1dG9tYXRpb25UYWdzO1xuICAgIHRoaXMuY29zdENlbnRlclRhZ3MgPSBwcm9wcz8uY29zdENlbnRlclRhZ3MgPz8gc3RhbmRhcmRTY29wZT8uY29zdENlbnRlclRhZ3M7XG4gICAgdGhpcy5zZWN1cml0eVRhZ3MgPSBwcm9wcz8uc2VjdXJpdHlUYWdzID8/IHN0YW5kYXJkU2NvcGU/LnNlY3VyaXR5VGFncztcbiAgICB0aGlzLnRlYW1UYWdzID0gcHJvcHM/LnRlYW1UYWdzID8/IHN0YW5kYXJkU2NvcGU/LnRlYW1UYWdzO1xuICAgIHRoaXMuc3VwcHJlc3NUYWdzID0gcHJvcHM/LnN1cHByZXNzVGFncyA/PyBzdGFuZGFyZFNjb3BlPy5zdXBwcmVzc1RhZ3M7XG5cbiAgICBuZXcgU3RhbmRhcmRUYWdzKHRoaXMsIHtzdXBwcmVzczogcHJvcHM/LnN1cHByZXNzVGFnc30pXG4gICAgICAuYWRkQXV0b21hdGlvbkNvbXBvbmVudFRhZ3Moe1xuICAgICAgICB1cmw6IENES19OUE1KU19VUkwsXG4gICAgICAgIHZlbmRvcjogQ0RLX1ZFTkRPUixcbiAgICAgICAgaW5jbHVkZVJlc291cmNlVHlwZXM6IFtcIkFXUzo6Q2xvdWRGb3JtYXRpb246OlN0YWNrXCJdXG4gICAgICB9KVxuICAgICAgLmFkZEF1dG9tYXRpb25UYWdzKHByb3BzPy5hdXRvbWF0aW9uVGFncylcbiAgICAgIC5hZGRDb3N0Q2VudGVyVGFncyhwcm9wcz8uY29zdENlbnRlclRhZ3MpXG4gICAgICAuYWRkU2VjdXJpdHlUYWdzKHByb3BzPy5zZWN1cml0eVRhZ3MpXG4gICAgICAuYWRkVGVhbVRhZ3MocHJvcHM/LnRlYW1UYWdzKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Stage, StageProps } from "aws-cdk-lib";
|
|
2
|
+
import { AutomationTagsProps, CostCenterTagsProps, SecurityTagsProps, StandardTagsOptions, TeamTagsProps } from "./standard-tags";
|
|
3
|
+
import { Construct } from "constructs";
|
|
4
|
+
/**
|
|
5
|
+
* Properties for StandardStage.
|
|
6
|
+
*/
|
|
7
|
+
export interface StandardStageProps extends StageProps, StandardTagsOptions {
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Extends Stage adding support for things like standard tagging.
|
|
11
|
+
*/
|
|
12
|
+
export declare class StandardStage extends Stage {
|
|
13
|
+
readonly automationTags?: AutomationTagsProps;
|
|
14
|
+
readonly costCenterTags?: CostCenterTagsProps;
|
|
15
|
+
readonly securityTags?: SecurityTagsProps;
|
|
16
|
+
readonly teamTags?: TeamTagsProps;
|
|
17
|
+
readonly suppressTags?: boolean;
|
|
18
|
+
constructor(scope: Construct, id: string, props?: StandardStageProps);
|
|
19
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StandardStage = void 0;
|
|
4
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
|
+
const standard_app_1 = require("./standard-app");
|
|
6
|
+
const standard_stack_1 = require("./standard-stack");
|
|
7
|
+
/**
|
|
8
|
+
* Extends Stage adding support for things like standard tagging.
|
|
9
|
+
*/
|
|
10
|
+
class StandardStage extends aws_cdk_lib_1.Stage {
|
|
11
|
+
constructor(scope, id, props) {
|
|
12
|
+
var _a, _b, _c, _d, _e;
|
|
13
|
+
super(scope, id, props);
|
|
14
|
+
const standardScope = scope instanceof standard_app_1.StandardApp || scope instanceof StandardStage || scope instanceof standard_stack_1.StandardStack
|
|
15
|
+
? scope : undefined;
|
|
16
|
+
this.automationTags = (_a = props === null || props === void 0 ? void 0 : props.automationTags) !== null && _a !== void 0 ? _a : standardScope === null || standardScope === void 0 ? void 0 : standardScope.automationTags;
|
|
17
|
+
this.costCenterTags = (_b = props === null || props === void 0 ? void 0 : props.costCenterTags) !== null && _b !== void 0 ? _b : standardScope === null || standardScope === void 0 ? void 0 : standardScope.costCenterTags;
|
|
18
|
+
this.securityTags = (_c = props === null || props === void 0 ? void 0 : props.securityTags) !== null && _c !== void 0 ? _c : standardScope === null || standardScope === void 0 ? void 0 : standardScope.securityTags;
|
|
19
|
+
this.teamTags = (_d = props === null || props === void 0 ? void 0 : props.teamTags) !== null && _d !== void 0 ? _d : standardScope === null || standardScope === void 0 ? void 0 : standardScope.teamTags;
|
|
20
|
+
this.suppressTags = (_e = props === null || props === void 0 ? void 0 : props.suppressTags) !== null && _e !== void 0 ? _e : standardScope === null || standardScope === void 0 ? void 0 : standardScope.suppressTags;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.StandardStage = StandardStage;
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtc3RhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC1zdGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBOEM7QUFTOUMsaURBQTJDO0FBQzNDLHFEQUErQztBQVMvQzs7R0FFRztBQUNILE1BQWEsYUFBYyxTQUFRLG1CQUFLO0lBUXRDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7O1FBQ2xFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLE1BQU0sYUFBYSxHQUNqQixLQUFLLFlBQVksMEJBQVcsSUFBSSxLQUFLLFlBQVksYUFBYSxJQUFJLEtBQUssWUFBWSw4QkFBYTtZQUM5RixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFeEIsSUFBSSxDQUFDLGNBQWMsU0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsY0FBYyxtQ0FBSSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsY0FBYyxDQUFDO1FBQzdFLElBQUksQ0FBQyxjQUFjLFNBQUcsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGNBQWMsbUNBQUksYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLGNBQWMsQ0FBQztRQUM3RSxJQUFJLENBQUMsWUFBWSxTQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxZQUFZLG1DQUFJLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxZQUFZLENBQUM7UUFDdkUsSUFBSSxDQUFDLFFBQVEsU0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsUUFBUSxtQ0FBSSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsUUFBUSxDQUFDO1FBQzNELElBQUksQ0FBQyxZQUFZLFNBQUcsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVksbUNBQUksYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLFlBQVksQ0FBQztJQUN6RSxDQUFDO0NBQ0Y7QUFyQkQsc0NBcUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTdGFnZSwgU3RhZ2VQcm9wc30gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBBdXRvbWF0aW9uVGFnc1Byb3BzLFxuICBDb3N0Q2VudGVyVGFnc1Byb3BzLFxuICBTZWN1cml0eVRhZ3NQcm9wcyxcbiAgU3RhbmRhcmRUYWdzT3B0aW9ucyxcbiAgVGVhbVRhZ3NQcm9wc1xufSBmcm9tIFwiLi9zdGFuZGFyZC10YWdzXCI7XG5pbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7U3RhbmRhcmRBcHB9IGZyb20gXCIuL3N0YW5kYXJkLWFwcFwiO1xuaW1wb3J0IHtTdGFuZGFyZFN0YWNrfSBmcm9tIFwiLi9zdGFuZGFyZC1zdGFja1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFN0YW5kYXJkU3RhZ2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhcmRTdGFnZVByb3BzIGV4dGVuZHMgU3RhZ2VQcm9wcywgU3RhbmRhcmRUYWdzT3B0aW9ucyB7XG5cbn1cblxuLyoqXG4gKiBFeHRlbmRzIFN0YWdlIGFkZGluZyBzdXBwb3J0IGZvciB0aGluZ3MgbGlrZSBzdGFuZGFyZCB0YWdnaW5nLlxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRTdGFnZSBleHRlbmRzIFN0YWdlIHtcblxuICByZWFkb25seSBhdXRvbWF0aW9uVGFncz86IEF1dG9tYXRpb25UYWdzUHJvcHM7XG4gIHJlYWRvbmx5IGNvc3RDZW50ZXJUYWdzPzogQ29zdENlbnRlclRhZ3NQcm9wcztcbiAgcmVhZG9ubHkgc2VjdXJpdHlUYWdzPzogU2VjdXJpdHlUYWdzUHJvcHM7XG4gIHJlYWRvbmx5IHRlYW1UYWdzPzogVGVhbVRhZ3NQcm9wcztcbiAgcmVhZG9ubHkgc3VwcHJlc3NUYWdzPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFN0YW5kYXJkU3RhZ2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgY29uc3Qgc3RhbmRhcmRTY29wZTogU3RhbmRhcmRBcHAgfCBTdGFuZGFyZFN0YWdlIHwgU3RhbmRhcmRTdGFjayB8IHVuZGVmaW5lZCA9XG4gICAgICBzY29wZSBpbnN0YW5jZW9mIFN0YW5kYXJkQXBwIHx8IHNjb3BlIGluc3RhbmNlb2YgU3RhbmRhcmRTdGFnZSB8fCBzY29wZSBpbnN0YW5jZW9mIFN0YW5kYXJkU3RhY2tcbiAgICAgICAgPyBzY29wZSA6IHVuZGVmaW5lZDtcblxuICAgIHRoaXMuYXV0b21hdGlvblRhZ3MgPSBwcm9wcz8uYXV0b21hdGlvblRhZ3MgPz8gc3RhbmRhcmRTY29wZT8uYXV0b21hdGlvblRhZ3M7XG4gICAgdGhpcy5jb3N0Q2VudGVyVGFncyA9IHByb3BzPy5jb3N0Q2VudGVyVGFncyA/PyBzdGFuZGFyZFNjb3BlPy5jb3N0Q2VudGVyVGFncztcbiAgICB0aGlzLnNlY3VyaXR5VGFncyA9IHByb3BzPy5zZWN1cml0eVRhZ3MgPz8gc3RhbmRhcmRTY29wZT8uc2VjdXJpdHlUYWdzO1xuICAgIHRoaXMudGVhbVRhZ3MgPSBwcm9wcz8udGVhbVRhZ3MgPz8gc3RhbmRhcmRTY29wZT8udGVhbVRhZ3M7XG4gICAgdGhpcy5zdXBwcmVzc1RhZ3MgPSBwcm9wcz8uc3VwcHJlc3NUYWdzID8/IHN0YW5kYXJkU2NvcGU/LnN1cHByZXNzVGFncztcbiAgfVxufVxuIl19
|