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.
Files changed (52) hide show
  1. package/aws-apigatewayv2/lib/index.d.ts +1 -0
  2. package/aws-apigatewayv2/lib/index.js +2 -1
  3. package/aws-apigatewayv2/lib/standard-api-gateway.d.ts +41 -0
  4. package/aws-apigatewayv2/lib/standard-api-gateway.js +44 -0
  5. package/aws-apigatewayv2/lib/standard-domain-name.js +3 -3
  6. package/{aws-tags → aws-cdk}/index.d.ts +0 -0
  7. package/{aws-tags → aws-cdk}/index.js +0 -0
  8. package/{aws-codepipeline → aws-cdk}/lib/extended-stack.d.ts +1 -1
  9. package/aws-cdk/lib/extended-stack.js +72 -0
  10. package/aws-cdk/lib/index.d.ts +7 -0
  11. package/aws-cdk/lib/index.js +20 -0
  12. package/aws-cdk/lib/single-env-app.d.ts +28 -0
  13. package/aws-cdk/lib/single-env-app.js +36 -0
  14. package/aws-cdk/lib/standard-app.d.ts +21 -0
  15. package/aws-cdk/lib/standard-app.js +29 -0
  16. package/aws-cdk/lib/standard-bundling-options.d.ts +0 -0
  17. package/aws-cdk/lib/standard-bundling-options.js +2 -0
  18. package/aws-cdk/lib/standard-environment.d.ts +10 -0
  19. package/aws-cdk/lib/standard-environment.js +3 -0
  20. package/aws-cdk/lib/standard-stack.d.ts +19 -0
  21. package/aws-cdk/lib/standard-stack.js +36 -0
  22. package/aws-cdk/lib/standard-stage.d.ts +19 -0
  23. package/aws-cdk/lib/standard-stage.js +24 -0
  24. package/{aws-tags → aws-cdk}/lib/standard-tags.d.ts +33 -5
  25. package/aws-cdk/lib/standard-tags.js +178 -0
  26. package/aws-centergauge/lib/alerts-topic.js +3 -3
  27. package/aws-codepipeline/lib/cdk-pipeline.d.ts +4 -0
  28. package/aws-codepipeline/lib/cdk-pipeline.js +3 -2
  29. package/aws-codepipeline/lib/index.d.ts +1 -1
  30. package/aws-codepipeline/lib/index.js +2 -2
  31. package/aws-dynamodb/lib/standard-table.js +3 -3
  32. package/aws-ecs/lib/standard-fargate-cluster.js +3 -3
  33. package/aws-ecs/lib/standard-fargate-service.js +3 -3
  34. package/aws-s3/lib/cloud-front-bucket.d.ts +14 -3
  35. package/aws-s3/lib/cloud-front-bucket.js +25 -3
  36. package/aws-s3/lib/extended-bucket.d.ts +1 -0
  37. package/aws-s3/lib/extended-bucket.js +3 -0
  38. package/aws-sqs/lib/standard-queue.js +3 -3
  39. package/aws-vpc/lib/network-parameters.js +3 -3
  40. package/helpers/lib/string-helper.d.ts +12 -0
  41. package/helpers/lib/string-helper.js +23 -1
  42. package/index.d.ts +1 -1
  43. package/index.js +2 -2
  44. package/package.json +3 -2
  45. package/test/aws-lambda/extended-python-function.test.js +11 -14
  46. package/test/aws-lambda/standard-python-function.test.js +10 -11
  47. package/test/aws-website/website.test.js +3 -3
  48. package/test/helpers/string-helper.test.js +14 -1
  49. package/aws-codepipeline/lib/extended-stack.js +0 -72
  50. package/aws-tags/lib/index.d.ts +0 -1
  51. package/aws-tags/lib/index.js +0 -14
  52. package/aws-tags/lib/standard-tags.js +0 -178
@@ -1 +1,2 @@
1
1
  export * from "./standard-domain-name";
2
+ export * from "./standard-api-gateway";
@@ -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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx5REFBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9zdGFuZGFyZC1kb21haW4tbmFtZVwiXG4iXX0=
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 aws_tags_1.StandardTags(this, {
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC1kb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBcUM7QUFDckMsK0NBQStDO0FBQy9DLDJEQUEyRDtBQUUzRCw0RUFBMkU7QUFDM0UseURBQThEO0FBRTlELDZDQUE0QztBQUM1QywyQ0FBd0Q7QUEyQnhEOztHQUVHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSxzQkFBUztJQU8vQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCOztRQUN0RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxXQUFXLFNBQUcsS0FBSyxDQUFDLFdBQVcsbUNBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxtQ0FBVSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDdkQsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7U0FDckMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRywwQkFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyw0QkFBNEIsQ0FDakYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFFM0YsSUFBSSx1QkFBWSxDQUFDLElBQUksRUFBRTtZQUNyQixRQUFRLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGVBQWU7U0FDakMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDO1lBQzVCLEdBQUcsRUFBRSx1QkFBYTtZQUNsQixNQUFNLEVBQUUsb0JBQVU7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILHFCQUFxQixDQUFDLE1BQWU7UUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILDRCQUE0QixDQUFDLE1BQWU7UUFDMUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLDRCQUE0QixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBakVELGdEQWlFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgdG1yb3V0ZTUzIGZyb20gXCIuLi8uLi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0c1wiO1xuaW1wb3J0IHtJQ2VydGlmaWNhdGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQge0RvbWFpbk5hbWUsIFNlY3VyaXR5UG9saWN5fSBmcm9tIFwiQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXl2Mi1hbHBoYVwiO1xuaW1wb3J0IHtBUmVjb3JkLCBSZWNvcmRUYXJnZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHtXZWlnaHRlZExhdGVuY3lBUmVjb3JkfSBmcm9tIFwiLi4vLi4vYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7U3RhbmRhcmRUYWdzfSBmcm9tIFwiLi4vLi4vYXdzLXRhZ3NcIjtcbmltcG9ydCB7Q0RLX05QTUpTX1VSTCwgQ0RLX1ZFTkRPUn0gZnJvbSBcIi4uLy4uL2hlbHBlcnNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTdGFuZGFyZERvbWFpbk5hbWVQcm9wcyBleHRlbmRzIHRtcm91dGU1My5Eb21haW5OYW1lUHJvcHMge1xuXG4gIC8qKlxuICAgKiBUaGUgb3B0aW9uYWwgQUNNIGNlcnRpZmljYXRlIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAZGVmYXVsdCBvbmUgaXMgZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBjZXJ0aWZpY2F0ZT86IElDZXJ0aWZpY2F0ZTtcblxuICAvKipcbiAgICogVGhlIFRyYW5zcG9ydCBMYXllciBTZWN1cml0eSAoVExTKSB2ZXJzaW9uICsgY2lwaGVyIHN1aXRlIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAZGVmYXVsdCBTZWN1cml0eVBvbGljeS5UTFNfMV8yXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eVBvbGljeT86IFNlY3VyaXR5UG9saWN5O1xuXG4gIC8qKlxuICAgKiBTZXR0aW5nIHRoaXMgdG8gdHJ1ZSB3aWxsIHN1cHByZXNzIHRoZSBjcmVhdGlvbiBvZiBkZWZhdWx0IHRhZ3Mgb24gcmVzb3VyY2VzXG4gICAqIGNyZWF0ZWQgYnkgdGhpcyBjb25zdHJ1Y3QuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN1cHByZXNzVGFnZ2luZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogU3RhbmRhcmQgY29uc3RydWN0IHVzZWQgdG8gY3JlYXRlIGFuIEFQSSBHYXRld2F5IFYyIERvbWFpbiBOYW1lLlxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmREb21haW5OYW1lIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICByZWFkb25seSBkb21haW5OYW1lOiB0bXJvdXRlNTMuRG9tYWluTmFtZTtcbiAgcmVhZG9ubHkgY2VydGlmaWNhdGU6IElDZXJ0aWZpY2F0ZTtcbiAgcmVhZG9ubHkgcmVjb3JkVGFyZ2V0OiBSZWNvcmRUYXJnZXQ7XG4gIHJlYWRvbmx5IGdhdGV3YXlEb21haW5OYW1lOiBEb21haW5OYW1lO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFuZGFyZERvbWFpbk5hbWVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5kb21haW5OYW1lID0gbmV3IHRtcm91dGU1My5Eb21haW5OYW1lKHByb3BzKTtcbiAgICB0aGlzLmNlcnRpZmljYXRlID0gcHJvcHMuY2VydGlmaWNhdGUgPz8gdGhpcy5kb21haW5OYW1lLmNyZWF0ZUNlcnRpZmljYXRlKHNjb3BlKTtcbiAgICB0aGlzLmdhdGV3YXlEb21haW5OYW1lID0gbmV3IERvbWFpbk5hbWUodGhpcywgXCJEZWZhdWx0XCIsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHRoaXMuZG9tYWluTmFtZS50b1N0cmluZygpLFxuICAgICAgY2VydGlmaWNhdGU6IHRoaXMuY2VydGlmaWNhdGUsXG4gICAgICBzZWN1cml0eVBvbGljeTogcHJvcHMuc2VjdXJpdHlQb2xpY3lcbiAgICB9KTtcbiAgICB0aGlzLnJlY29yZFRhcmdldCA9IFJlY29yZFRhcmdldC5mcm9tQWxpYXMobmV3IHRhcmdldHMuQXBpR2F0ZXdheXYyRG9tYWluUHJvcGVydGllcyhcbiAgICAgIHRoaXMuZ2F0ZXdheURvbWFpbk5hbWUucmVnaW9uYWxEb21haW5OYW1lLCB0aGlzLmdhdGV3YXlEb21haW5OYW1lLnJlZ2lvbmFsSG9zdGVkWm9uZUlkKSk7XG5cbiAgICBuZXcgU3RhbmRhcmRUYWdzKHRoaXMsIHtcbiAgICAgIHN1cHByZXNzOiBwcm9wcz8uc3VwcHJlc3NUYWdnaW5nXG4gICAgfSkuYWRkQXV0b21hdGlvbkNvbXBvbmVudFRhZ3Moe1xuICAgICAgdXJsOiBDREtfTlBNSlNfVVJMLFxuICAgICAgdmVuZG9yOiBDREtfVkVORE9SXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHJvdXRlNTMgQVJlY29yZCBwb2ludGluZyB0byB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgY3JlYXRlQVJlY29yZCgpOiBBUmVjb3JkIHtcbiAgICByZXR1cm4gdGhpcy5kb21haW5OYW1lLmNyZWF0ZUFSZWNvcmQodGhpcywgdGhpcy5yZWNvcmRUYXJnZXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSByb3V0ZTUzIHdlaWdodGVkIHJlY29yZCBwb2ludGluZyB0byB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gd2VpZ2h0IHRoZSBpbml0aWFsIHdlaWdodDsgZGVmYXVsdHMgdG8gMFxuICAgKi9cbiAgY3JlYXRlV2VpZ2h0ZWRBUmVjb3JkKHdlaWdodD86IG51bWJlcik6IEFSZWNvcmQge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbk5hbWUuY3JlYXRlV2VpZ2h0ZWRBUmVjb3JkKHRoaXMsIHRoaXMucmVjb3JkVGFyZ2V0LCB3ZWlnaHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSByb3V0ZTUzIGxhdGVuY3kgcmVjb3JkIHBvaW50aW5nIHRvIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICBjcmVhdGVMYXRlbmN5QVJlY29yZCgpOiBBUmVjb3JkIHtcbiAgICByZXR1cm4gdGhpcy5kb21haW5OYW1lLmNyZWF0ZUxhdGVuY3lBUmVjb3JkKHRoaXMsIHRoaXMucmVjb3JkVGFyZ2V0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcm91dGU1MyB3ZWlnaHRlZCBsYXRlbmN5IHJlY29yZCBwb2ludGluZyB0byB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gd2VpZ2h0IHRoZSBpbml0aWFsIHdlaWdodDsgZGVmYXVsdHMgdG8gMFxuICAgKi9cbiAgY3JlYXRlV2VpZ2h0ZWRMYXRlbmN5QVJlY29yZCh3ZWlnaHQ/OiBudW1iZXIpOiBXZWlnaHRlZExhdGVuY3lBUmVjb3JkIHtcbiAgICByZXR1cm4gdGhpcy5kb21haW5OYW1lLmNyZWF0ZVdlaWdodGVkTGF0ZW5jeUFSZWNvcmQodGhpcywgdGhpcy5yZWNvcmRUYXJnZXQsIHdlaWdodCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgRlFETiBvZiB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kb21haW5OYW1lLnRvU3RyaW5nKCk7XG4gIH1cbn1cbiJdfQ==
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,7 @@
1
+ export * from "./extended-stack";
2
+ export * from "./single-env-app";
3
+ export * from "./standard-app";
4
+ export * from "./standard-environment";
5
+ export * from "./standard-stack";
6
+ export * from "./standard-stage";
7
+ export * from "./standard-tags";
@@ -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,10 @@
1
+ import { Environment } from "aws-cdk-lib";
2
+ /**
3
+ * Adds a name to the environment properties used by StandardStack.
4
+ */
5
+ export interface StandardEnvironment extends Environment {
6
+ /**
7
+ * Name of the environment.
8
+ */
9
+ readonly name: string;
10
+ }
@@ -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