truemark-cdk-lib 1.2.4-alpha.2 → 1.2.4-alpha.20

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 (69) hide show
  1. package/aws-apigatewayv2/lib/index.d.ts +2 -0
  2. package/aws-apigatewayv2/lib/index.js +3 -1
  3. package/aws-apigatewayv2/lib/standard-domain-name.d.ts +17 -13
  4. package/aws-apigatewayv2/lib/standard-domain-name.js +22 -22
  5. package/aws-apigatewayv2/lib/standard-http-api.d.ts +60 -0
  6. package/aws-apigatewayv2/lib/standard-http-api.js +50 -0
  7. package/aws-apigatewayv2/lib/standard-web-socket-api.d.ts +61 -0
  8. package/aws-apigatewayv2/lib/standard-web-socket-api.js +55 -0
  9. package/aws-cdk/lib/extended-app.d.ts +18 -0
  10. package/aws-cdk/lib/extended-app.js +27 -0
  11. package/aws-cdk/lib/extended-stack.d.ts +4 -6
  12. package/aws-cdk/lib/extended-stack.js +11 -9
  13. package/aws-cdk/lib/index.d.ts +1 -3
  14. package/aws-cdk/lib/index.js +2 -4
  15. package/aws-cdk/lib/single-env-app.d.ts +28 -0
  16. package/aws-cdk/lib/single-env-app.js +44 -0
  17. package/aws-cdk/lib/standard-tags.d.ts +37 -33
  18. package/aws-cdk/lib/standard-tags.js +93 -10
  19. package/aws-centergauge/lib/alerts-topic.d.ts +3 -1
  20. package/aws-centergauge/lib/alerts-topic.js +2 -8
  21. package/aws-codepipeline/lib/cdk-pipeline.d.ts +4 -0
  22. package/aws-codepipeline/lib/cdk-pipeline.js +3 -2
  23. package/aws-dynamodb/lib/standard-table.d.ts +3 -1
  24. package/aws-dynamodb/lib/standard-table.js +2 -8
  25. package/aws-ecs/lib/standard-fargate-cluster.d.ts +3 -1
  26. package/aws-ecs/lib/standard-fargate-cluster.js +2 -8
  27. package/aws-ecs/lib/standard-fargate-service.d.ts +3 -1
  28. package/aws-ecs/lib/standard-fargate-service.js +2 -8
  29. package/aws-route53/lib/domain-name.d.ts +7 -14
  30. package/aws-route53/lib/domain-name.js +27 -28
  31. package/aws-route53/lib/extended-record-target.d.ts +14 -0
  32. package/aws-route53/lib/extended-record-target.js +35 -0
  33. package/aws-route53/lib/index.d.ts +3 -3
  34. package/aws-route53/lib/index.js +2 -2
  35. package/aws-route53/lib/latency-a-record.d.ts +4 -0
  36. package/aws-route53/lib/latency-a-record.js +2 -1
  37. package/aws-route53/lib/weighted-a-record.d.ts +4 -0
  38. package/aws-route53/lib/weighted-a-record.js +2 -1
  39. package/aws-s3/lib/cloud-front-bucket.d.ts +14 -3
  40. package/aws-s3/lib/cloud-front-bucket.js +25 -3
  41. package/aws-s3/lib/extended-bucket.d.ts +1 -0
  42. package/aws-s3/lib/extended-bucket.js +3 -0
  43. package/aws-s3/lib/website-bucket.d.ts +2 -2
  44. package/aws-s3/lib/website-bucket.js +5 -7
  45. package/aws-sqs/lib/standard-queue.d.ts +3 -1
  46. package/aws-sqs/lib/standard-queue.js +2 -8
  47. package/aws-vpc/lib/network-parameters.d.ts +3 -1
  48. package/aws-vpc/lib/network-parameters.js +2 -8
  49. package/helpers/lib/index.d.ts +0 -1
  50. package/helpers/lib/index.js +1 -2
  51. package/package.json +2 -2
  52. package/test/aws-cdk/standard-tags.test.d.ts +1 -0
  53. package/test/aws-cdk/standard-tags.test.js +9 -0
  54. package/test/aws-route53/extended-record-target.test.d.ts +1 -0
  55. package/test/aws-route53/extended-record-target.test.js +52 -0
  56. package/test/test-helper.d.ts +4 -0
  57. package/test/test-helper.js +11 -3
  58. package/aws-cdk/lib/standard-app.d.ts +0 -19
  59. package/aws-cdk/lib/standard-app.js +0 -27
  60. package/aws-cdk/lib/standard-environment.d.ts +0 -10
  61. package/aws-cdk/lib/standard-environment.js +0 -3
  62. package/aws-cdk/lib/standard-stack.d.ts +0 -25
  63. package/aws-cdk/lib/standard-stack.js +0 -35
  64. package/aws-cdk/lib/standard-stage.d.ts +0 -20
  65. package/aws-cdk/lib/standard-stage.js +0 -21
  66. package/aws-route53/lib/weighted-latency-a-record.d.ts +0 -30
  67. package/aws-route53/lib/weighted-latency-a-record.js +0 -34
  68. package/helpers/lib/constants.d.ts +0 -3
  69. package/helpers/lib/constants.js +0 -7
@@ -1 +1,3 @@
1
1
  export * from "./standard-domain-name";
2
+ export * from "./standard-http-api";
3
+ export * from "./standard-web-socket-api";
@@ -11,4 +11,6 @@ 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-http-api"), exports);
15
+ __exportStar(require("./standard-web-socket-api"), exports);
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx5REFBdUM7QUFDdkMsc0RBQW9DO0FBQ3BDLDREQUEwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3N0YW5kYXJkLWRvbWFpbi1uYW1lXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdGFuZGFyZC1odHRwLWFwaVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RhbmRhcmQtd2ViLXNvY2tldC1hcGlcIjtcbiJdfQ==
@@ -3,18 +3,19 @@ import * as tmroute53 from "../../aws-route53";
3
3
  import { ICertificate } from "aws-cdk-lib/aws-certificatemanager";
4
4
  import { DomainName, SecurityPolicy } from "@aws-cdk/aws-apigatewayv2-alpha";
5
5
  import { ARecord, RecordTarget } from "aws-cdk-lib/aws-route53";
6
- import { WeightedLatencyARecord } from "../../aws-route53";
6
+ import { IAutomationComponent } from "../../aws-cdk";
7
+ import { ARecordOptions } from "../../aws-route53";
7
8
  export interface StandardDomainNameProps extends tmroute53.DomainNameProps {
8
9
  /**
9
10
  * The optional ACM certificate for this domain name.
10
11
  *
11
- * @default one is generated
12
+ * @default - one is generated
12
13
  */
13
14
  readonly certificate?: ICertificate;
14
15
  /**
15
16
  * The Transport Layer Security (TLS) version + cipher suite for this domain name.
16
17
  *
17
- * @default SecurityPolicy.TLS_1_2
18
+ * @default - SecurityPolicy.TLS_1_2
18
19
  */
19
20
  readonly securityPolicy?: SecurityPolicy;
20
21
  /**
@@ -28,32 +29,35 @@ export interface StandardDomainNameProps extends tmroute53.DomainNameProps {
28
29
  /**
29
30
  * Standard construct used to create an API Gateway V2 Domain Name.
30
31
  */
31
- export declare class StandardDomainName extends Construct {
32
+ export declare class StandardDomainName extends Construct implements IAutomationComponent {
33
+ readonly automationComponentTags: import("../../aws-cdk").AutomationComponentTagsProps;
32
34
  readonly domainName: tmroute53.DomainName;
33
35
  readonly certificate: ICertificate;
34
- readonly recordTarget: RecordTarget;
35
36
  readonly gatewayDomainName: DomainName;
36
37
  constructor(scope: Construct, id: string, props: StandardDomainNameProps);
38
+ toRecordTarget(evaluateTargetHealth?: boolean): RecordTarget;
37
39
  /**
38
40
  * Creates a route53 ARecord pointing to this domain name.
41
+ *
42
+ * @param evaluateTargetHealth Determines if route53 evaluates the target's health. Defaults to true.
43
+ * @param options additional options for creating the record
39
44
  */
40
- createARecord(): ARecord;
45
+ createARecord(evaluateTargetHealth?: boolean, options?: ARecordOptions): ARecord;
41
46
  /**
42
47
  * Creates a route53 weighted record pointing to this domain name.
43
48
  *
44
49
  * @param weight the initial weight; defaults to 0
50
+ * @param evaluateTargetHealth Determines if route53 evaluates the target's health. Defaults to true.
51
+ * @param options additional options for creating the record
45
52
  */
46
- createWeightedARecord(weight?: number): ARecord;
53
+ createWeightedARecord(weight: number, evaluateTargetHealth?: boolean, options?: ARecordOptions): ARecord;
47
54
  /**
48
55
  * Creates a route53 latency record pointing to this domain name.
49
- */
50
- createLatencyARecord(): ARecord;
51
- /**
52
- * Creates a route53 weighted latency record pointing to this domain name.
53
56
  *
54
- * @param weight the initial weight; defaults to 0
57
+ * @param evaluateTargetHealth Determines if route53 evaluates the target's health. Defaults to true.
58
+ * @param options additional options for creating the record
55
59
  */
56
- createWeightedLatencyARecord(weight?: number): WeightedLatencyARecord;
60
+ createLatencyARecord(evaluateTargetHealth?: boolean, options?: ARecordOptions): ARecord;
57
61
  /**
58
62
  * Returns the FQDN of this domain name.
59
63
  */
@@ -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 helpers_1 = require("../../helpers");
10
9
  const aws_cdk_1 = require("../../aws-cdk");
10
+ const aws_route53_2 = require("../../aws-route53");
11
11
  /**
12
12
  * Standard construct used to create an API Gateway V2 Domain Name.
13
13
  */
@@ -15,6 +15,7 @@ class StandardDomainName extends constructs_1.Construct {
15
15
  constructor(scope, id, props) {
16
16
  var _a;
17
17
  super(scope, id);
18
+ this.automationComponentTags = aws_cdk_1.InternalAutomationComponentTags;
18
19
  this.domainName = new tmroute53.DomainName(props);
19
20
  this.certificate = (_a = props.certificate) !== null && _a !== void 0 ? _a : this.domainName.createCertificate(scope);
20
21
  this.gatewayDomainName = new aws_apigatewayv2_alpha_1.DomainName(this, "Default", {
@@ -22,41 +23,40 @@ class StandardDomainName extends constructs_1.Construct {
22
23
  certificate: this.certificate,
23
24
  securityPolicy: props.securityPolicy
24
25
  });
25
- this.recordTarget = aws_route53_1.RecordTarget.fromAlias(new targets.ApiGatewayv2DomainProperties(this.gatewayDomainName.regionalDomainName, this.gatewayDomainName.regionalHostedZoneId));
26
- new aws_cdk_1.StandardTags(this, {
27
- suppress: props === null || props === void 0 ? void 0 : props.suppressTagging
28
- }).addAutomationComponentTags({
29
- url: helpers_1.CDK_NPMJS_URL,
30
- vendor: helpers_1.CDK_VENDOR
31
- });
26
+ }
27
+ toRecordTarget(evaluateTargetHealth) {
28
+ const domainProperties = new targets.ApiGatewayv2DomainProperties(this.gatewayDomainName.regionalDomainName, this.gatewayDomainName.regionalHostedZoneId);
29
+ return evaluateTargetHealth
30
+ ? aws_route53_2.ExtendedRecordTarget.fromAlias(domainProperties, evaluateTargetHealth)
31
+ : aws_route53_1.RecordTarget.fromAlias(domainProperties);
32
32
  }
33
33
  /**
34
34
  * Creates a route53 ARecord pointing to this domain name.
35
+ *
36
+ * @param evaluateTargetHealth Determines if route53 evaluates the target's health. Defaults to true.
37
+ * @param options additional options for creating the record
35
38
  */
36
- createARecord() {
37
- return this.domainName.createARecord(this, this.recordTarget);
39
+ createARecord(evaluateTargetHealth, options) {
40
+ return this.domainName.createARecord(this, this.toRecordTarget(evaluateTargetHealth !== null && evaluateTargetHealth !== void 0 ? evaluateTargetHealth : true), options);
38
41
  }
39
42
  /**
40
43
  * Creates a route53 weighted record pointing to this domain name.
41
44
  *
42
45
  * @param weight the initial weight; defaults to 0
46
+ * @param evaluateTargetHealth Determines if route53 evaluates the target's health. Defaults to true.
47
+ * @param options additional options for creating the record
43
48
  */
44
- createWeightedARecord(weight) {
45
- return this.domainName.createWeightedARecord(this, this.recordTarget, weight);
49
+ createWeightedARecord(weight, evaluateTargetHealth, options) {
50
+ return this.domainName.createWeightedARecord(this, this.toRecordTarget(evaluateTargetHealth !== null && evaluateTargetHealth !== void 0 ? evaluateTargetHealth : true), weight, options);
46
51
  }
47
52
  /**
48
53
  * Creates a route53 latency record pointing to this domain name.
49
- */
50
- createLatencyARecord() {
51
- return this.domainName.createLatencyARecord(this, this.recordTarget);
52
- }
53
- /**
54
- * Creates a route53 weighted latency record pointing to this domain name.
55
54
  *
56
- * @param weight the initial weight; defaults to 0
55
+ * @param evaluateTargetHealth Determines if route53 evaluates the target's health. Defaults to true.
56
+ * @param options additional options for creating the record
57
57
  */
58
- createWeightedLatencyARecord(weight) {
59
- return this.domainName.createWeightedLatencyARecord(this, this.recordTarget, weight);
58
+ createLatencyARecord(evaluateTargetHealth, options) {
59
+ return this.domainName.createLatencyARecord(this, this.toRecordTarget(evaluateTargetHealth !== null && evaluateTargetHealth !== void 0 ? evaluateTargetHealth : true), options);
60
60
  }
61
61
  /**
62
62
  * Returns the FQDN of this domain name.
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC1kb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBcUM7QUFDckMsK0NBQStDO0FBQy9DLDJEQUEyRDtBQUUzRCw0RUFBMkU7QUFDM0UseURBQThEO0FBRTlELDJDQUF3RDtBQUN4RCwyQ0FBMkM7QUEyQjNDOztHQUVHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSxzQkFBUztJQU8vQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCOztRQUN0RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxXQUFXLFNBQUcsS0FBSyxDQUFDLFdBQVcsbUNBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxtQ0FBVSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDdkQsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7U0FDckMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRywwQkFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyw0QkFBNEIsQ0FDakYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFFM0YsSUFBSSxzQkFBWSxDQUFDLElBQUksRUFBRTtZQUNyQixRQUFRLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGVBQWU7U0FDakMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDO1lBQzVCLEdBQUcsRUFBRSx1QkFBYTtZQUNsQixNQUFNLEVBQUUsb0JBQVU7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILHFCQUFxQixDQUFDLE1BQWU7UUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRDs7T0FFRztJQUNILG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILDRCQUE0QixDQUFDLE1BQWU7UUFDMUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLDRCQUE0QixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBakVELGdEQWlFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgdG1yb3V0ZTUzIGZyb20gXCIuLi8uLi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0c1wiO1xuaW1wb3J0IHtJQ2VydGlmaWNhdGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQge0RvbWFpbk5hbWUsIFNlY3VyaXR5UG9saWN5fSBmcm9tIFwiQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXl2Mi1hbHBoYVwiO1xuaW1wb3J0IHtBUmVjb3JkLCBSZWNvcmRUYXJnZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHtXZWlnaHRlZExhdGVuY3lBUmVjb3JkfSBmcm9tIFwiLi4vLi4vYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7Q0RLX05QTUpTX1VSTCwgQ0RLX1ZFTkRPUn0gZnJvbSBcIi4uLy4uL2hlbHBlcnNcIjtcbmltcG9ydCB7U3RhbmRhcmRUYWdzfSBmcm9tIFwiLi4vLi4vYXdzLWNka1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkRG9tYWluTmFtZVByb3BzIGV4dGVuZHMgdG1yb3V0ZTUzLkRvbWFpbk5hbWVQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBvcHRpb25hbCBBQ00gY2VydGlmaWNhdGUgZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IG9uZSBpcyBnZW5lcmF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGNlcnRpZmljYXRlPzogSUNlcnRpZmljYXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgVHJhbnNwb3J0IExheWVyIFNlY3VyaXR5IChUTFMpIHZlcnNpb24gKyBjaXBoZXIgc3VpdGUgZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IFNlY3VyaXR5UG9saWN5LlRMU18xXzJcbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5UG9saWN5PzogU2VjdXJpdHlQb2xpY3k7XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgc3VwcHJlc3MgdGhlIGNyZWF0aW9uIG9mIGRlZmF1bHQgdGFncyBvbiByZXNvdXJjZXNcbiAgICogY3JlYXRlZCBieSB0aGlzIGNvbnN0cnVjdC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcHJlc3NUYWdnaW5nPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBTdGFuZGFyZCBjb25zdHJ1Y3QgdXNlZCB0byBjcmVhdGUgYW4gQVBJIEdhdGV3YXkgVjIgRG9tYWluIE5hbWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFuZGFyZERvbWFpbk5hbWUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIHJlYWRvbmx5IGRvbWFpbk5hbWU6IHRtcm91dGU1My5Eb21haW5OYW1lO1xuICByZWFkb25seSBjZXJ0aWZpY2F0ZTogSUNlcnRpZmljYXRlO1xuICByZWFkb25seSByZWNvcmRUYXJnZXQ6IFJlY29yZFRhcmdldDtcbiAgcmVhZG9ubHkgZ2F0ZXdheURvbWFpbk5hbWU6IERvbWFpbk5hbWU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YW5kYXJkRG9tYWluTmFtZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLmRvbWFpbk5hbWUgPSBuZXcgdG1yb3V0ZTUzLkRvbWFpbk5hbWUocHJvcHMpO1xuICAgIHRoaXMuY2VydGlmaWNhdGUgPSBwcm9wcy5jZXJ0aWZpY2F0ZSA/PyB0aGlzLmRvbWFpbk5hbWUuY3JlYXRlQ2VydGlmaWNhdGUoc2NvcGUpO1xuICAgIHRoaXMuZ2F0ZXdheURvbWFpbk5hbWUgPSBuZXcgRG9tYWluTmFtZSh0aGlzLCBcIkRlZmF1bHRcIiwge1xuICAgICAgZG9tYWluTmFtZTogdGhpcy5kb21haW5OYW1lLnRvU3RyaW5nKCksXG4gICAgICBjZXJ0aWZpY2F0ZTogdGhpcy5jZXJ0aWZpY2F0ZSxcbiAgICAgIHNlY3VyaXR5UG9saWN5OiBwcm9wcy5zZWN1cml0eVBvbGljeVxuICAgIH0pO1xuICAgIHRoaXMucmVjb3JkVGFyZ2V0ID0gUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhuZXcgdGFyZ2V0cy5BcGlHYXRld2F5djJEb21haW5Qcm9wZXJ0aWVzKFxuICAgICAgdGhpcy5nYXRld2F5RG9tYWluTmFtZS5yZWdpb25hbERvbWFpbk5hbWUsIHRoaXMuZ2F0ZXdheURvbWFpbk5hbWUucmVnaW9uYWxIb3N0ZWRab25lSWQpKTtcblxuICAgIG5ldyBTdGFuZGFyZFRhZ3ModGhpcywge1xuICAgICAgc3VwcHJlc3M6IHByb3BzPy5zdXBwcmVzc1RhZ2dpbmdcbiAgICB9KS5hZGRBdXRvbWF0aW9uQ29tcG9uZW50VGFncyh7XG4gICAgICB1cmw6IENES19OUE1KU19VUkwsXG4gICAgICB2ZW5kb3I6IENES19WRU5ET1JcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcm91dGU1MyBBUmVjb3JkIHBvaW50aW5nIHRvIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICBjcmVhdGVBUmVjb3JkKCk6IEFSZWNvcmQge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbk5hbWUuY3JlYXRlQVJlY29yZCh0aGlzLCB0aGlzLnJlY29yZFRhcmdldCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHJvdXRlNTMgd2VpZ2h0ZWQgcmVjb3JkIHBvaW50aW5nIHRvIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSB3ZWlnaHQgdGhlIGluaXRpYWwgd2VpZ2h0OyBkZWZhdWx0cyB0byAwXG4gICAqL1xuICBjcmVhdGVXZWlnaHRlZEFSZWNvcmQod2VpZ2h0PzogbnVtYmVyKTogQVJlY29yZCB7XG4gICAgcmV0dXJuIHRoaXMuZG9tYWluTmFtZS5jcmVhdGVXZWlnaHRlZEFSZWNvcmQodGhpcywgdGhpcy5yZWNvcmRUYXJnZXQsIHdlaWdodCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHJvdXRlNTMgbGF0ZW5jeSByZWNvcmQgcG9pbnRpbmcgdG8gdGhpcyBkb21haW4gbmFtZS5cbiAgICovXG4gIGNyZWF0ZUxhdGVuY3lBUmVjb3JkKCk6IEFSZWNvcmQge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbk5hbWUuY3JlYXRlTGF0ZW5jeUFSZWNvcmQodGhpcywgdGhpcy5yZWNvcmRUYXJnZXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSByb3V0ZTUzIHdlaWdodGVkIGxhdGVuY3kgcmVjb3JkIHBvaW50aW5nIHRvIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSB3ZWlnaHQgdGhlIGluaXRpYWwgd2VpZ2h0OyBkZWZhdWx0cyB0byAwXG4gICAqL1xuICBjcmVhdGVXZWlnaHRlZExhdGVuY3lBUmVjb3JkKHdlaWdodD86IG51bWJlcik6IFdlaWdodGVkTGF0ZW5jeUFSZWNvcmQge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbk5hbWUuY3JlYXRlV2VpZ2h0ZWRMYXRlbmN5QVJlY29yZCh0aGlzLCB0aGlzLnJlY29yZFRhcmdldCwgd2VpZ2h0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBGUUROIG9mIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbk5hbWUudG9TdHJpbmcoKTtcbiAgfVxufVxuIl19
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC1kb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBcUM7QUFDckMsK0NBQStDO0FBQy9DLDJEQUEyRDtBQUUzRCw0RUFBMkU7QUFDM0UseURBQThEO0FBQzlELDJDQUFvRjtBQUNwRixtREFBdUU7QUEyQnZFOztHQUVHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSxzQkFBUztJQVEvQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCOztRQUN0RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBUFYsNEJBQXVCLEdBQUcseUNBQStCLENBQUM7UUFRakUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFdBQVcsU0FBRyxLQUFLLENBQUMsV0FBVyxtQ0FBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLG1DQUFVLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUN2RCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYztTQUNyQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLG9CQUE4QjtRQUMzQyxNQUFNLGdCQUFnQixHQUFHLElBQUksT0FBTyxDQUFDLDRCQUE0QixDQUMvRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDMUYsT0FBTyxvQkFBb0I7WUFDekIsQ0FBQyxDQUFDLGtDQUFvQixDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxvQkFBb0IsQ0FBQztZQUN4RSxDQUFDLENBQUMsMEJBQVksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxhQUFhLENBQUMsb0JBQThCLEVBQUUsT0FBd0I7UUFDcEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsYUFBcEIsb0JBQW9CLGNBQXBCLG9CQUFvQixHQUFJLElBQUksQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3pHLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxxQkFBcUIsQ0FBQyxNQUFjLEVBQUUsb0JBQThCLEVBQUUsT0FBd0I7UUFDNUYsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixhQUFwQixvQkFBb0IsY0FBcEIsb0JBQW9CLEdBQUksSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3pILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG9CQUFvQixDQUFDLG9CQUE4QixFQUFFLE9BQXdCO1FBQzNFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsYUFBcEIsb0JBQW9CLGNBQXBCLG9CQUFvQixHQUFJLElBQUksQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hILENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBaEVELGdEQWdFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgdG1yb3V0ZTUzIGZyb20gXCIuLi8uLi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0c1wiO1xuaW1wb3J0IHtJQ2VydGlmaWNhdGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQge0RvbWFpbk5hbWUsIFNlY3VyaXR5UG9saWN5fSBmcm9tIFwiQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXl2Mi1hbHBoYVwiO1xuaW1wb3J0IHtBUmVjb3JkLCBSZWNvcmRUYXJnZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHtJQXV0b21hdGlvbkNvbXBvbmVudCwgSW50ZXJuYWxBdXRvbWF0aW9uQ29tcG9uZW50VGFnc30gZnJvbSBcIi4uLy4uL2F3cy1jZGtcIjtcbmltcG9ydCB7QVJlY29yZE9wdGlvbnMsIEV4dGVuZGVkUmVjb3JkVGFyZ2V0fSBmcm9tIFwiLi4vLi4vYXdzLXJvdXRlNTNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTdGFuZGFyZERvbWFpbk5hbWVQcm9wcyBleHRlbmRzIHRtcm91dGU1My5Eb21haW5OYW1lUHJvcHMge1xuXG4gIC8qKlxuICAgKiBUaGUgb3B0aW9uYWwgQUNNIGNlcnRpZmljYXRlIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG9uZSBpcyBnZW5lcmF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGNlcnRpZmljYXRlPzogSUNlcnRpZmljYXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgVHJhbnNwb3J0IExheWVyIFNlY3VyaXR5IChUTFMpIHZlcnNpb24gKyBjaXBoZXIgc3VpdGUgZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gU2VjdXJpdHlQb2xpY3kuVExTXzFfMlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlQb2xpY3k/OiBTZWN1cml0eVBvbGljeTtcblxuICAvKipcbiAgICogU2V0dGluZyB0aGlzIHRvIHRydWUgd2lsbCBzdXBwcmVzcyB0aGUgY3JlYXRpb24gb2YgZGVmYXVsdCB0YWdzIG9uIHJlc291cmNlc1xuICAgKiBjcmVhdGVkIGJ5IHRoaXMgY29uc3RydWN0LiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc1RhZ2dpbmc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFN0YW5kYXJkIGNvbnN0cnVjdCB1c2VkIHRvIGNyZWF0ZSBhbiBBUEkgR2F0ZXdheSBWMiBEb21haW4gTmFtZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0YW5kYXJkRG9tYWluTmFtZSBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElBdXRvbWF0aW9uQ29tcG9uZW50IHtcblxuICByZWFkb25seSBhdXRvbWF0aW9uQ29tcG9uZW50VGFncyA9IEludGVybmFsQXV0b21hdGlvbkNvbXBvbmVudFRhZ3M7XG5cbiAgcmVhZG9ubHkgZG9tYWluTmFtZTogdG1yb3V0ZTUzLkRvbWFpbk5hbWU7XG4gIHJlYWRvbmx5IGNlcnRpZmljYXRlOiBJQ2VydGlmaWNhdGU7XG4gIHJlYWRvbmx5IGdhdGV3YXlEb21haW5OYW1lOiBEb21haW5OYW1lO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFuZGFyZERvbWFpbk5hbWVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5kb21haW5OYW1lID0gbmV3IHRtcm91dGU1My5Eb21haW5OYW1lKHByb3BzKTtcbiAgICB0aGlzLmNlcnRpZmljYXRlID0gcHJvcHMuY2VydGlmaWNhdGUgPz8gdGhpcy5kb21haW5OYW1lLmNyZWF0ZUNlcnRpZmljYXRlKHNjb3BlKTtcbiAgICB0aGlzLmdhdGV3YXlEb21haW5OYW1lID0gbmV3IERvbWFpbk5hbWUodGhpcywgXCJEZWZhdWx0XCIsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHRoaXMuZG9tYWluTmFtZS50b1N0cmluZygpLFxuICAgICAgY2VydGlmaWNhdGU6IHRoaXMuY2VydGlmaWNhdGUsXG4gICAgICBzZWN1cml0eVBvbGljeTogcHJvcHMuc2VjdXJpdHlQb2xpY3lcbiAgICB9KTtcbiAgfVxuXG4gIHRvUmVjb3JkVGFyZ2V0KGV2YWx1YXRlVGFyZ2V0SGVhbHRoPzogYm9vbGVhbik6IFJlY29yZFRhcmdldCB7XG4gICAgY29uc3QgZG9tYWluUHJvcGVydGllcyA9IG5ldyB0YXJnZXRzLkFwaUdhdGV3YXl2MkRvbWFpblByb3BlcnRpZXMoXG4gICAgICB0aGlzLmdhdGV3YXlEb21haW5OYW1lLnJlZ2lvbmFsRG9tYWluTmFtZSwgdGhpcy5nYXRld2F5RG9tYWluTmFtZS5yZWdpb25hbEhvc3RlZFpvbmVJZCk7XG4gICAgcmV0dXJuIGV2YWx1YXRlVGFyZ2V0SGVhbHRoXG4gICAgICA/IEV4dGVuZGVkUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhkb21haW5Qcm9wZXJ0aWVzLCBldmFsdWF0ZVRhcmdldEhlYWx0aClcbiAgICAgIDogUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhkb21haW5Qcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcm91dGU1MyBBUmVjb3JkIHBvaW50aW5nIHRvIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBldmFsdWF0ZVRhcmdldEhlYWx0aCBEZXRlcm1pbmVzIGlmIHJvdXRlNTMgZXZhbHVhdGVzIHRoZSB0YXJnZXQncyBoZWFsdGguIERlZmF1bHRzIHRvIHRydWUuXG4gICAqIEBwYXJhbSBvcHRpb25zIGFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgY3JlYXRpbmcgdGhlIHJlY29yZFxuICAgKi9cbiAgY3JlYXRlQVJlY29yZChldmFsdWF0ZVRhcmdldEhlYWx0aD86IGJvb2xlYW4sIG9wdGlvbnM/OiBBUmVjb3JkT3B0aW9ucyk6IEFSZWNvcmQge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbk5hbWUuY3JlYXRlQVJlY29yZCh0aGlzLCB0aGlzLnRvUmVjb3JkVGFyZ2V0KGV2YWx1YXRlVGFyZ2V0SGVhbHRoID8/IHRydWUpLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcm91dGU1MyB3ZWlnaHRlZCByZWNvcmQgcG9pbnRpbmcgdG8gdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHdlaWdodCB0aGUgaW5pdGlhbCB3ZWlnaHQ7IGRlZmF1bHRzIHRvIDBcbiAgICogQHBhcmFtIGV2YWx1YXRlVGFyZ2V0SGVhbHRoIERldGVybWluZXMgaWYgcm91dGU1MyBldmFsdWF0ZXMgdGhlIHRhcmdldCdzIGhlYWx0aC4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgYWRkaXRpb25hbCBvcHRpb25zIGZvciBjcmVhdGluZyB0aGUgcmVjb3JkXG4gICAqL1xuICBjcmVhdGVXZWlnaHRlZEFSZWNvcmQod2VpZ2h0OiBudW1iZXIsIGV2YWx1YXRlVGFyZ2V0SGVhbHRoPzogYm9vbGVhbiwgb3B0aW9ucz86IEFSZWNvcmRPcHRpb25zKTogQVJlY29yZCB7XG4gICAgcmV0dXJuIHRoaXMuZG9tYWluTmFtZS5jcmVhdGVXZWlnaHRlZEFSZWNvcmQodGhpcywgdGhpcy50b1JlY29yZFRhcmdldChldmFsdWF0ZVRhcmdldEhlYWx0aCA/PyB0cnVlKSwgd2VpZ2h0LCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcm91dGU1MyBsYXRlbmN5IHJlY29yZCBwb2ludGluZyB0byB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gZXZhbHVhdGVUYXJnZXRIZWFsdGggRGV0ZXJtaW5lcyBpZiByb3V0ZTUzIGV2YWx1YXRlcyB0aGUgdGFyZ2V0J3MgaGVhbHRoLiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBhZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGNyZWF0aW5nIHRoZSByZWNvcmRcbiAgICovXG4gIGNyZWF0ZUxhdGVuY3lBUmVjb3JkKGV2YWx1YXRlVGFyZ2V0SGVhbHRoPzogYm9vbGVhbiwgb3B0aW9ucz86IEFSZWNvcmRPcHRpb25zKTogQVJlY29yZCB7XG4gICAgcmV0dXJuIHRoaXMuZG9tYWluTmFtZS5jcmVhdGVMYXRlbmN5QVJlY29yZCh0aGlzLCB0aGlzLnRvUmVjb3JkVGFyZ2V0KGV2YWx1YXRlVGFyZ2V0SGVhbHRoID8/IHRydWUpLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBGUUROIG9mIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbk5hbWUudG9TdHJpbmcoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,60 @@
1
+ import { Construct } from "constructs";
2
+ import { LatencyARecord, WeightedARecord } from "../../aws-route53";
3
+ import { StandardDomainName } from "./standard-domain-name";
4
+ import { HttpApi } from "@aws-cdk/aws-apigatewayv2-alpha";
5
+ import { ARecord } from "aws-cdk-lib/aws-route53";
6
+ import { IAutomationComponent } from "../../aws-cdk";
7
+ /**
8
+ * Properties for StandardHttpApi.
9
+ */
10
+ export interface StandardHttpApiProps {
11
+ /**
12
+ * The prefix of the domain to create the certificate and DNS record for.
13
+ */
14
+ readonly domainPrefix: string;
15
+ /**
16
+ * The zone of the domain to create the certificate and DNS record for.
17
+ */
18
+ readonly domainZone: string;
19
+ /**
20
+ * Name of the API Gateway. One will be generated if not provided.
21
+ */
22
+ readonly apiName?: string;
23
+ /**
24
+ * Determines if a route53 record is created for the API gateway. Defaults to true.
25
+ *
26
+ * @default - true
27
+ */
28
+ readonly createRecord?: boolean;
29
+ /**
30
+ * Creates a weighted route53 record. May not be used with recordLatency.
31
+ */
32
+ readonly recordWeight?: number;
33
+ /**
34
+ * Creates a latency route53 record. May not be used with recordWeight.
35
+ */
36
+ readonly recordLatency?: boolean;
37
+ /**
38
+ * Evaluates target health on the created route53 record if it's a latency or weighted record. Defaults to true.
39
+ *
40
+ * @default - true
41
+ */
42
+ readonly evaluateTargetHealth?: boolean;
43
+ /**
44
+ * Setting this to true will suppress the creation of default tags on resources
45
+ * created by this construct. Default is false.
46
+ *
47
+ * @default - false
48
+ */
49
+ readonly suppressTagging?: boolean;
50
+ }
51
+ /**
52
+ * Abstraction that creates an HttpApi with support infrastructure.
53
+ */
54
+ export declare class StandardHttpApi extends Construct implements IAutomationComponent {
55
+ readonly automationComponentTags: import("../../aws-cdk").AutomationComponentTagsProps;
56
+ readonly domainName: StandardDomainName;
57
+ readonly record: ARecord | LatencyARecord | WeightedARecord | undefined;
58
+ readonly httpApi: HttpApi;
59
+ constructor(scope: Construct, id: string, props: StandardHttpApiProps);
60
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StandardHttpApi = 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
+ /**
10
+ * Abstraction that creates an HttpApi with support infrastructure.
11
+ */
12
+ class StandardHttpApi extends constructs_1.Construct {
13
+ constructor(scope, id, props) {
14
+ var _a, _b, _c;
15
+ super(scope, id);
16
+ this.automationComponentTags = aws_cdk_1.InternalAutomationComponentTags;
17
+ const domainName = new standard_domain_name_1.StandardDomainName(this, "DomainName", {
18
+ prefix: props.domainPrefix,
19
+ zone: props.domainZone,
20
+ securityPolicy: aws_apigatewayv2_alpha_1.SecurityPolicy.TLS_1_2 // TODO Should be an option
21
+ });
22
+ // TODO Need to add RecordOptions
23
+ if ((_a = props.createRecord) !== null && _a !== void 0 ? _a : true) {
24
+ if (props.recordWeight) {
25
+ domainName.createWeightedARecord(props.recordWeight, (_b = props.evaluateTargetHealth) !== null && _b !== void 0 ? _b : true);
26
+ }
27
+ else if (props.recordLatency) {
28
+ domainName.createLatencyARecord(true);
29
+ }
30
+ else {
31
+ domainName.createARecord();
32
+ }
33
+ }
34
+ else {
35
+ this.record = undefined;
36
+ }
37
+ const stage = aws_cdk_lib_1.Stage.of(this);
38
+ const stack = aws_cdk_lib_1.Stack.of(this);
39
+ const httpApi = new aws_apigatewayv2_alpha_1.HttpApi(this, "Default", {
40
+ apiName: (_c = props.apiName) !== null && _c !== void 0 ? _c : `${stage === null || stage === void 0 ? void 0 : stage.stageName}${stack === null || stack === void 0 ? void 0 : stack.stackName}Gateway`,
41
+ defaultDomainMapping: {
42
+ domainName: domainName.gatewayDomainName
43
+ }
44
+ });
45
+ this.domainName = domainName;
46
+ this.httpApi = httpApi;
47
+ }
48
+ }
49
+ exports.StandardHttpApi = StandardHttpApi;
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtaHR0cC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC1odHRwLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBcUM7QUFFckMsaUVBQTBEO0FBQzFELDRFQUF3RTtBQUN4RSw2Q0FBeUM7QUFFekMsMkNBQW9GO0FBdURwRjs7R0FFRztBQUNILE1BQWEsZUFBZ0IsU0FBUSxzQkFBUztJQVE1QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTJCOztRQUNuRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBUFYsNEJBQXVCLEdBQUcseUNBQStCLENBQUM7UUFTakUsTUFBTSxVQUFVLEdBQUcsSUFBSSx5Q0FBa0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQzVELE1BQU0sRUFBRSxLQUFLLENBQUMsWUFBWTtZQUMxQixJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDdEIsY0FBYyxFQUFFLHVDQUFjLENBQUMsT0FBTyxDQUFDLDJCQUEyQjtTQUNuRSxDQUFDLENBQUM7UUFFSCxpQ0FBaUM7UUFDakMsVUFBSSxLQUFLLENBQUMsWUFBWSxtQ0FBSSxJQUFJLEVBQUU7WUFDOUIsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFO2dCQUN0QixVQUFVLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLFlBQVksUUFBRSxLQUFLLENBQUMsb0JBQW9CLG1DQUFJLElBQUksQ0FBQyxDQUFBO2FBQ3pGO2lCQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRTtnQkFDOUIsVUFBVSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFBO2FBQ3RDO2lCQUFNO2dCQUNMLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQTthQUMzQjtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztTQUN6QjtRQUVELE1BQU0sS0FBSyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLE1BQU0sS0FBSyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdCLE1BQU0sT0FBTyxHQUFHLElBQUksZ0NBQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQzNDLE9BQU8sUUFBRSxLQUFLLENBQUMsT0FBTyxtQ0FBSSxHQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxTQUFTLEdBQUcsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFNBQVMsU0FBUztZQUN6RSxvQkFBb0IsRUFBRTtnQkFDcEIsVUFBVSxFQUFFLFVBQVUsQ0FBQyxpQkFBaUI7YUFDekM7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0NBQ0Y7QUEzQ0QsMENBMkNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge0RvbWFpbk5hbWUsIExhdGVuY3lBUmVjb3JkLCBXZWlnaHRlZEFSZWNvcmR9IGZyb20gXCIuLi8uLi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHtTdGFuZGFyZERvbWFpbk5hbWV9IGZyb20gXCIuL3N0YW5kYXJkLWRvbWFpbi1uYW1lXCI7XG5pbXBvcnQge0h0dHBBcGksIFNlY3VyaXR5UG9saWN5fSBmcm9tIFwiQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXl2Mi1hbHBoYVwiO1xuaW1wb3J0IHtTdGFjaywgU3RhZ2V9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtBUmVjb3JkfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7SUF1dG9tYXRpb25Db21wb25lbnQsIEludGVybmFsQXV0b21hdGlvbkNvbXBvbmVudFRhZ3N9IGZyb20gXCIuLi8uLi9hd3MtY2RrXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgU3RhbmRhcmRIdHRwQXBpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkSHR0cEFwaVByb3BzIHtcblxuICAvKipcbiAgICogVGhlIHByZWZpeCBvZiB0aGUgZG9tYWluIHRvIGNyZWF0ZSB0aGUgY2VydGlmaWNhdGUgYW5kIEROUyByZWNvcmQgZm9yLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluUHJlZml4OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB6b25lIG9mIHRoZSBkb21haW4gdG8gY3JlYXRlIHRoZSBjZXJ0aWZpY2F0ZSBhbmQgRE5TIHJlY29yZCBmb3IuXG4gICAqL1xuICByZWFkb25seSBkb21haW5ab25lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIEFQSSBHYXRld2F5LiBPbmUgd2lsbCBiZSBnZW5lcmF0ZWQgaWYgbm90IHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiBhIHJvdXRlNTMgcmVjb3JkIGlzIGNyZWF0ZWQgZm9yIHRoZSBBUEkgZ2F0ZXdheS4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVSZWNvcmQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgd2VpZ2h0ZWQgcm91dGU1MyByZWNvcmQuIE1heSBub3QgYmUgdXNlZCB3aXRoIHJlY29yZExhdGVuY3kuXG4gICAqL1xuICByZWFkb25seSByZWNvcmRXZWlnaHQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBsYXRlbmN5IHJvdXRlNTMgcmVjb3JkLiBNYXkgbm90IGJlIHVzZWQgd2l0aCByZWNvcmRXZWlnaHQuXG4gICAqL1xuICByZWFkb25seSByZWNvcmRMYXRlbmN5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRXZhbHVhdGVzIHRhcmdldCBoZWFsdGggb24gdGhlIGNyZWF0ZWQgcm91dGU1MyByZWNvcmQgaWYgaXQncyBhIGxhdGVuY3kgb3Igd2VpZ2h0ZWQgcmVjb3JkLiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGV2YWx1YXRlVGFyZ2V0SGVhbHRoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2V0dGluZyB0aGlzIHRvIHRydWUgd2lsbCBzdXBwcmVzcyB0aGUgY3JlYXRpb24gb2YgZGVmYXVsdCB0YWdzIG9uIHJlc291cmNlc1xuICAgKiBjcmVhdGVkIGJ5IHRoaXMgY29uc3RydWN0LiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc1RhZ2dpbmc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEFic3RyYWN0aW9uIHRoYXQgY3JlYXRlcyBhbiBIdHRwQXBpIHdpdGggc3VwcG9ydCBpbmZyYXN0cnVjdHVyZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0YW5kYXJkSHR0cEFwaSBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElBdXRvbWF0aW9uQ29tcG9uZW50IHtcblxuICByZWFkb25seSBhdXRvbWF0aW9uQ29tcG9uZW50VGFncyA9IEludGVybmFsQXV0b21hdGlvbkNvbXBvbmVudFRhZ3M7XG5cbiAgcmVhZG9ubHkgZG9tYWluTmFtZTogU3RhbmRhcmREb21haW5OYW1lO1xuICByZWFkb25seSByZWNvcmQ6IEFSZWNvcmQgfCBMYXRlbmN5QVJlY29yZCB8IFdlaWdodGVkQVJlY29yZCB8IHVuZGVmaW5lZDtcbiAgcmVhZG9ubHkgaHR0cEFwaTogSHR0cEFwaTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3RhbmRhcmRIdHRwQXBpUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZG9tYWluTmFtZSA9IG5ldyBTdGFuZGFyZERvbWFpbk5hbWUodGhpcywgXCJEb21haW5OYW1lXCIsIHtcbiAgICAgIHByZWZpeDogcHJvcHMuZG9tYWluUHJlZml4LFxuICAgICAgem9uZTogcHJvcHMuZG9tYWluWm9uZSxcbiAgICAgIHNlY3VyaXR5UG9saWN5OiBTZWN1cml0eVBvbGljeS5UTFNfMV8yIC8vIFRPRE8gU2hvdWxkIGJlIGFuIG9wdGlvblxuICAgIH0pO1xuXG4gICAgLy8gVE9ETyBOZWVkIHRvIGFkZCBSZWNvcmRPcHRpb25zXG4gICAgaWYgKHByb3BzLmNyZWF0ZVJlY29yZCA/PyB0cnVlKSB7XG4gICAgICBpZiAocHJvcHMucmVjb3JkV2VpZ2h0KSB7XG4gICAgICAgIGRvbWFpbk5hbWUuY3JlYXRlV2VpZ2h0ZWRBUmVjb3JkKHByb3BzLnJlY29yZFdlaWdodCwgcHJvcHMuZXZhbHVhdGVUYXJnZXRIZWFsdGggPz8gdHJ1ZSlcbiAgICAgIH0gZWxzZSBpZiAocHJvcHMucmVjb3JkTGF0ZW5jeSkge1xuICAgICAgICBkb21haW5OYW1lLmNyZWF0ZUxhdGVuY3lBUmVjb3JkKHRydWUpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkb21haW5OYW1lLmNyZWF0ZUFSZWNvcmQoKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlY29yZCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFnZSA9IFN0YWdlLm9mKHRoaXMpO1xuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2YodGhpcyk7XG5cbiAgICBjb25zdCBodHRwQXBpID0gbmV3IEh0dHBBcGkodGhpcywgXCJEZWZhdWx0XCIsIHtcbiAgICAgIGFwaU5hbWU6IHByb3BzLmFwaU5hbWUgPz8gYCR7c3RhZ2U/LnN0YWdlTmFtZX0ke3N0YWNrPy5zdGFja05hbWV9R2F0ZXdheWAsXG4gICAgICBkZWZhdWx0RG9tYWluTWFwcGluZzoge1xuICAgICAgICBkb21haW5OYW1lOiBkb21haW5OYW1lLmdhdGV3YXlEb21haW5OYW1lXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmRvbWFpbk5hbWUgPSBkb21haW5OYW1lO1xuICAgIHRoaXMuaHR0cEFwaSA9IGh0dHBBcGk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,61 @@
1
+ import { Construct } from "constructs";
2
+ import { StandardDomainName } from "./standard-domain-name";
3
+ import { WebSocketApi, WebSocketStage } from "@aws-cdk/aws-apigatewayv2-alpha";
4
+ import { ARecord } from "aws-cdk-lib/aws-route53";
5
+ import { LatencyARecord, WeightedARecord } from "../../aws-route53";
6
+ import { IAutomationComponent } from "../../aws-cdk";
7
+ /**
8
+ * Properties for StandardWebSocketApi.
9
+ */
10
+ export interface StandardWebSocketApiProps {
11
+ /**
12
+ * The prefix of the domain to create the certificate and DNS record for.
13
+ */
14
+ readonly domainPrefix: string;
15
+ /**
16
+ * The zone of the domain to create the certificate and DNS record for.
17
+ */
18
+ readonly domainZone: string;
19
+ /**
20
+ * Name of the API Gateway. One will be generated if not provided.
21
+ */
22
+ readonly apiName?: string;
23
+ /**
24
+ * Determines if a route53 record is created for the API gateway. Defaults to true.
25
+ *
26
+ * @default - true
27
+ */
28
+ readonly createRecord?: boolean;
29
+ /**
30
+ * Creates a weighted route53 record. May not be used with recordLatency.
31
+ */
32
+ readonly recordWeight?: number;
33
+ /**
34
+ * Creates a latency route53 record. May not be used with recordWeight.
35
+ */
36
+ readonly recordLatency?: boolean;
37
+ /**
38
+ * Evaluates target health on the created route53 record if it's a latency or weighted record. Defaults to true.
39
+ *
40
+ * @default - true
41
+ */
42
+ readonly evaluateTargetHealth?: boolean;
43
+ /**
44
+ * Setting this to true will suppress the creation of default tags on resources
45
+ * created by this construct. Default is false.
46
+ *
47
+ * @default - false
48
+ */
49
+ readonly suppressTagging?: boolean;
50
+ }
51
+ /**
52
+ * Abstraction that creates an WebSocketApi with support infrastructure.
53
+ */
54
+ export declare class StandardWebSocketApi extends Construct implements IAutomationComponent {
55
+ readonly automationComponentTags: import("../../aws-cdk").AutomationComponentTagsProps;
56
+ readonly domainName: StandardDomainName;
57
+ readonly record: ARecord | LatencyARecord | WeightedARecord | undefined;
58
+ readonly webSocketApi: WebSocketApi;
59
+ readonly webSocketStage: WebSocketStage;
60
+ constructor(scope: Construct, id: string, props: StandardWebSocketApiProps);
61
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StandardWebSocketApi = 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
+ /**
10
+ * Abstraction that creates an WebSocketApi with support infrastructure.
11
+ */
12
+ class StandardWebSocketApi extends constructs_1.Construct {
13
+ constructor(scope, id, props) {
14
+ var _a, _b, _c;
15
+ super(scope, id);
16
+ this.automationComponentTags = aws_cdk_1.InternalAutomationComponentTags;
17
+ const domainName = new standard_domain_name_1.StandardDomainName(this, "DomainName", {
18
+ prefix: props.domainPrefix,
19
+ zone: props.domainZone,
20
+ securityPolicy: aws_apigatewayv2_alpha_1.SecurityPolicy.TLS_1_2 // TODO Should be an option
21
+ });
22
+ // TODO Need to add RecordOptions
23
+ if ((_a = props.createRecord) !== null && _a !== void 0 ? _a : true) {
24
+ if (props.recordWeight) {
25
+ domainName.createWeightedARecord(props.recordWeight, (_b = props.evaluateTargetHealth) !== null && _b !== void 0 ? _b : true);
26
+ }
27
+ else if (props.recordLatency) {
28
+ domainName.createLatencyARecord(true);
29
+ }
30
+ else {
31
+ domainName.createARecord();
32
+ }
33
+ }
34
+ else {
35
+ this.record = undefined;
36
+ }
37
+ const stage = aws_cdk_lib_1.Stage.of(this);
38
+ const stack = aws_cdk_lib_1.Stack.of(this);
39
+ const webSocketApi = new aws_apigatewayv2_alpha_1.WebSocketApi(this, "Default", {
40
+ apiName: (_c = props.apiName) !== null && _c !== void 0 ? _c : `${stage === null || stage === void 0 ? void 0 : stage.stageName}${stack === null || stack === void 0 ? void 0 : stack.stackName}Gateway`,
41
+ });
42
+ const webSocketStage = new aws_apigatewayv2_alpha_1.WebSocketStage(this, "DefaultStage", {
43
+ webSocketApi,
44
+ stageName: "default",
45
+ autoDeploy: true,
46
+ domainMapping: {
47
+ domainName: domainName.gatewayDomainName
48
+ }
49
+ });
50
+ this.webSocketApi = webSocketApi;
51
+ this.webSocketStage = webSocketStage;
52
+ }
53
+ }
54
+ exports.StandardWebSocketApi = StandardWebSocketApi;
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtd2ViLXNvY2tldC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC13ZWItc29ja2V0LWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBcUM7QUFDckMsaUVBQTBEO0FBQzFELDRFQUE2RjtBQUc3Riw2Q0FBeUM7QUFDekMsMkNBQW9GO0FBc0RwRjs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsc0JBQVM7SUFTakQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFnQzs7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQVJWLDRCQUF1QixHQUFHLHlDQUErQixDQUFDO1FBVWpFLE1BQU0sVUFBVSxHQUFHLElBQUkseUNBQWtCLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUM1RCxNQUFNLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDMUIsSUFBSSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQ3RCLGNBQWMsRUFBRSx1Q0FBYyxDQUFDLE9BQU8sQ0FBQywyQkFBMkI7U0FDbkUsQ0FBQyxDQUFDO1FBRUgsaUNBQWlDO1FBQ2pDLFVBQUksS0FBSyxDQUFDLFlBQVksbUNBQUksSUFBSSxFQUFFO1lBQzlCLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRTtnQkFDdEIsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxZQUFZLFFBQUUsS0FBSyxDQUFDLG9CQUFvQixtQ0FBSSxJQUFJLENBQUMsQ0FBQTthQUN6RjtpQkFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUU7Z0JBQzlCLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTthQUN0QztpQkFBTTtnQkFDTCxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUE7YUFDM0I7U0FDRjthQUFNO1lBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7U0FDekI7UUFFRCxNQUFNLEtBQUssR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixNQUFNLEtBQUssR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU3QixNQUFNLFlBQVksR0FBRyxJQUFJLHFDQUFZLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNyRCxPQUFPLFFBQUUsS0FBSyxDQUFDLE9BQU8sbUNBQUksR0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsU0FBUyxHQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxTQUFTLFNBQVM7U0FDMUUsQ0FBQyxDQUFDO1FBRUgsTUFBTSxjQUFjLEdBQUcsSUFBSSx1Q0FBYyxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDOUQsWUFBWTtZQUNaLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGFBQWEsRUFBRTtnQkFDYixVQUFVLEVBQUUsVUFBVSxDQUFDLGlCQUFpQjthQUN6QztTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRjtBQWxERCxvREFrREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7U3RhbmRhcmREb21haW5OYW1lfSBmcm9tIFwiLi9zdGFuZGFyZC1kb21haW4tbmFtZVwiO1xuaW1wb3J0IHtTZWN1cml0eVBvbGljeSwgV2ViU29ja2V0QXBpLCBXZWJTb2NrZXRTdGFnZX0gZnJvbSBcIkBhd3MtY2RrL2F3cy1hcGlnYXRld2F5djItYWxwaGFcIjtcbmltcG9ydCB7QVJlY29yZH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQge0xhdGVuY3lBUmVjb3JkLCBXZWlnaHRlZEFSZWNvcmR9IGZyb20gXCIuLi8uLi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHtTdGFjaywgU3RhZ2V9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtJQXV0b21hdGlvbkNvbXBvbmVudCwgSW50ZXJuYWxBdXRvbWF0aW9uQ29tcG9uZW50VGFnc30gZnJvbSBcIi4uLy4uL2F3cy1jZGtcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBTdGFuZGFyZFdlYlNvY2tldEFwaS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFuZGFyZFdlYlNvY2tldEFwaVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBwcmVmaXggb2YgdGhlIGRvbWFpbiB0byBjcmVhdGUgdGhlIGNlcnRpZmljYXRlIGFuZCBETlMgcmVjb3JkIGZvci5cbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpblByZWZpeDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgem9uZSBvZiB0aGUgZG9tYWluIHRvIGNyZWF0ZSB0aGUgY2VydGlmaWNhdGUgYW5kIEROUyByZWNvcmQgZm9yLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluWm9uZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBBUEkgR2F0ZXdheS4gT25lIHdpbGwgYmUgZ2VuZXJhdGVkIGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGFwaU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgYSByb3V0ZTUzIHJlY29yZCBpcyBjcmVhdGVkIGZvciB0aGUgQVBJIGdhdGV3YXkuIERlZmF1bHRzIHRvIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlUmVjb3JkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHdlaWdodGVkIHJvdXRlNTMgcmVjb3JkLiBNYXkgbm90IGJlIHVzZWQgd2l0aCByZWNvcmRMYXRlbmN5LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVjb3JkV2VpZ2h0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbGF0ZW5jeSByb3V0ZTUzIHJlY29yZC4gTWF5IG5vdCBiZSB1c2VkIHdpdGggcmVjb3JkV2VpZ2h0LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVjb3JkTGF0ZW5jeT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlcyB0YXJnZXQgaGVhbHRoIG9uIHRoZSBjcmVhdGVkIHJvdXRlNTMgcmVjb3JkIGlmIGl0J3MgYSBsYXRlbmN5IG9yIHdlaWdodGVkIHJlY29yZC4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBldmFsdWF0ZVRhcmdldEhlYWx0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgc3VwcHJlc3MgdGhlIGNyZWF0aW9uIG9mIGRlZmF1bHQgdGFncyBvbiByZXNvdXJjZXNcbiAgICogY3JlYXRlZCBieSB0aGlzIGNvbnN0cnVjdC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcHJlc3NUYWdnaW5nPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBYnN0cmFjdGlvbiB0aGF0IGNyZWF0ZXMgYW4gV2ViU29ja2V0QXBpIHdpdGggc3VwcG9ydCBpbmZyYXN0cnVjdHVyZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0YW5kYXJkV2ViU29ja2V0QXBpIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSUF1dG9tYXRpb25Db21wb25lbnQge1xuXG4gIHJlYWRvbmx5IGF1dG9tYXRpb25Db21wb25lbnRUYWdzID0gSW50ZXJuYWxBdXRvbWF0aW9uQ29tcG9uZW50VGFncztcblxuICByZWFkb25seSBkb21haW5OYW1lOiBTdGFuZGFyZERvbWFpbk5hbWU7XG4gIHJlYWRvbmx5IHJlY29yZDogQVJlY29yZCB8IExhdGVuY3lBUmVjb3JkIHwgV2VpZ2h0ZWRBUmVjb3JkIHwgdW5kZWZpbmVkO1xuICByZWFkb25seSB3ZWJTb2NrZXRBcGk6IFdlYlNvY2tldEFwaTtcbiAgcmVhZG9ubHkgd2ViU29ja2V0U3RhZ2U6IFdlYlNvY2tldFN0YWdlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFuZGFyZFdlYlNvY2tldEFwaVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGRvbWFpbk5hbWUgPSBuZXcgU3RhbmRhcmREb21haW5OYW1lKHRoaXMsIFwiRG9tYWluTmFtZVwiLCB7XG4gICAgICBwcmVmaXg6IHByb3BzLmRvbWFpblByZWZpeCxcbiAgICAgIHpvbmU6IHByb3BzLmRvbWFpblpvbmUsXG4gICAgICBzZWN1cml0eVBvbGljeTogU2VjdXJpdHlQb2xpY3kuVExTXzFfMiAvLyBUT0RPIFNob3VsZCBiZSBhbiBvcHRpb25cbiAgICB9KTtcblxuICAgIC8vIFRPRE8gTmVlZCB0byBhZGQgUmVjb3JkT3B0aW9uc1xuICAgIGlmIChwcm9wcy5jcmVhdGVSZWNvcmQgPz8gdHJ1ZSkge1xuICAgICAgaWYgKHByb3BzLnJlY29yZFdlaWdodCkge1xuICAgICAgICBkb21haW5OYW1lLmNyZWF0ZVdlaWdodGVkQVJlY29yZChwcm9wcy5yZWNvcmRXZWlnaHQsIHByb3BzLmV2YWx1YXRlVGFyZ2V0SGVhbHRoID8/IHRydWUpXG4gICAgICB9IGVsc2UgaWYgKHByb3BzLnJlY29yZExhdGVuY3kpIHtcbiAgICAgICAgZG9tYWluTmFtZS5jcmVhdGVMYXRlbmN5QVJlY29yZCh0cnVlKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZG9tYWluTmFtZS5jcmVhdGVBUmVjb3JkKClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZWNvcmQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhZ2UgPSBTdGFnZS5vZih0aGlzKTtcbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHRoaXMpO1xuXG4gICAgY29uc3Qgd2ViU29ja2V0QXBpID0gbmV3IFdlYlNvY2tldEFwaSh0aGlzLCBcIkRlZmF1bHRcIiwge1xuICAgICAgYXBpTmFtZTogcHJvcHMuYXBpTmFtZSA/PyBgJHtzdGFnZT8uc3RhZ2VOYW1lfSR7c3RhY2s/LnN0YWNrTmFtZX1HYXRld2F5YCxcbiAgICB9KTtcblxuICAgIGNvbnN0IHdlYlNvY2tldFN0YWdlID0gbmV3IFdlYlNvY2tldFN0YWdlKHRoaXMsIFwiRGVmYXVsdFN0YWdlXCIsIHtcbiAgICAgIHdlYlNvY2tldEFwaSxcbiAgICAgIHN0YWdlTmFtZTogXCJkZWZhdWx0XCIsXG4gICAgICBhdXRvRGVwbG95OiB0cnVlLFxuICAgICAgZG9tYWluTWFwcGluZzoge1xuICAgICAgICBkb21haW5OYW1lOiBkb21haW5OYW1lLmdhdGV3YXlEb21haW5OYW1lXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLndlYlNvY2tldEFwaSA9IHdlYlNvY2tldEFwaTtcbiAgICB0aGlzLndlYlNvY2tldFN0YWdlID0gd2ViU29ja2V0U3RhZ2U7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { App, AppProps } from "aws-cdk-lib";
2
+ import { StandardTagsProps } from "./standard-tags";
3
+ /**
4
+ * Properties for ExtendedApp.
5
+ */
6
+ export interface ExtendedAppProps extends AppProps {
7
+ readonly standardTags?: StandardTagsProps;
8
+ }
9
+ /**
10
+ * Adds functionality to the base App class to support standard tags
11
+ * and access to the account and region being used to execute the
12
+ * CDK process.
13
+ */
14
+ export declare class ExtendedApp extends App {
15
+ readonly account: string;
16
+ readonly region: string;
17
+ constructor(props?: ExtendedAppProps);
18
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExtendedApp = void 0;
4
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
5
+ /**
6
+ * Adds functionality to the base App class to support standard tags
7
+ * and access to the account and region being used to execute the
8
+ * CDK process.
9
+ */
10
+ class ExtendedApp extends aws_cdk_lib_1.App {
11
+ constructor(props) {
12
+ super(props);
13
+ const account = process.env.CDK_DEFAULT_ACCOUNT || process.env.AWS_ACCOUNT_ID;
14
+ if (account === undefined) {
15
+ throw new Error("Unable to identify default account");
16
+ }
17
+ this.account = account;
18
+ const region = process.env.CDK_DEFAULT_REGION || process.env.AWS_DEFAULT_REGION;
19
+ if (region === undefined) {
20
+ throw new Error("Unable to identify default region");
21
+ }
22
+ this.region = region;
23
+ this.node.setContext("standardTags", props === null || props === void 0 ? void 0 : props.standardTags);
24
+ }
25
+ }
26
+ exports.ExtendedApp = ExtendedApp;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXh0ZW5kZWQtYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUEwQztBQVcxQzs7OztHQUlHO0FBQ0gsTUFBYSxXQUFZLFNBQVEsaUJBQUc7SUFLbEMsWUFBWSxLQUF3QjtRQUNsQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFYixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQzlFLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7U0FDdkQ7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUM7UUFDaEYsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztTQUN0RDtRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsWUFBWSxDQUFDLENBQUM7SUFDNUQsQ0FBQztDQUNGO0FBckJELGtDQXFCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXBwLCBBcHBQcm9wc30gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1N0YW5kYXJkVGFnc1Byb3BzfSBmcm9tIFwiLi9zdGFuZGFyZC10YWdzXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgRXh0ZW5kZWRBcHAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kZWRBcHBQcm9wcyBleHRlbmRzIEFwcFByb3BzIHtcblxuICByZWFkb25seSBzdGFuZGFyZFRhZ3M/OiBTdGFuZGFyZFRhZ3NQcm9wcztcbn1cblxuLyoqXG4gKiBBZGRzIGZ1bmN0aW9uYWxpdHkgdG8gdGhlIGJhc2UgQXBwIGNsYXNzIHRvIHN1cHBvcnQgc3RhbmRhcmQgdGFnc1xuICogYW5kIGFjY2VzcyB0byB0aGUgYWNjb3VudCBhbmQgcmVnaW9uIGJlaW5nIHVzZWQgdG8gZXhlY3V0ZSB0aGVcbiAqIENESyBwcm9jZXNzLlxuICovXG5leHBvcnQgY2xhc3MgRXh0ZW5kZWRBcHAgZXh0ZW5kcyBBcHAge1xuXG4gIHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvcHM/OiBFeHRlbmRlZEFwcFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgY29uc3QgYWNjb3VudCA9IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX0FDQ09VTlQgfHwgcHJvY2Vzcy5lbnYuQVdTX0FDQ09VTlRfSUQ7XG4gICAgaWYgKGFjY291bnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5hYmxlIHRvIGlkZW50aWZ5IGRlZmF1bHQgYWNjb3VudFwiKTtcbiAgICB9XG4gICAgdGhpcy5hY2NvdW50ID0gYWNjb3VudDtcbiAgICBjb25zdCByZWdpb24gPSBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9SRUdJT04gfHwgcHJvY2Vzcy5lbnYuQVdTX0RFRkFVTFRfUkVHSU9OO1xuICAgIGlmIChyZWdpb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5hYmxlIHRvIGlkZW50aWZ5IGRlZmF1bHQgcmVnaW9uXCIpO1xuICAgIH1cbiAgICB0aGlzLnJlZ2lvbiA9IHJlZ2lvbjtcblxuICAgIHRoaXMubm9kZS5zZXRDb250ZXh0KFwic3RhbmRhcmRUYWdzXCIsIHByb3BzPy5zdGFuZGFyZFRhZ3MpO1xuICB9XG59XG5cbiJdfQ==
@@ -1,8 +1,9 @@
1
1
  import { CfnOutput, Duration, Stack, StackProps } from "aws-cdk-lib";
2
- import { ParameterStore, ParameterStoreOptions } from "../../aws-ssm/index";
2
+ import { ParameterStore, ParameterStoreOptions } from "../../aws-ssm";
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";
6
+ import { StandardTagsProps } from "./standard-tags";
6
7
  /**
7
8
  * Options for ExtStack.
8
9
  */
@@ -72,12 +73,9 @@ export interface ExtendedStackOptions {
72
73
  */
73
74
  readonly alarmActionsEnabled?: boolean;
74
75
  /**
75
- * Setting this to true will suppress the creation of default tags on resources
76
- * created by this construct. Default is false.
77
- *
78
- * @default - false
76
+ * Sets standard tags for this Stack.
79
77
  */
80
- readonly suppressTagging?: boolean;
78
+ readonly standardTags?: StandardTagsProps;
81
79
  }
82
80
  /**
83
81
  * Properties for ExtStack.
@@ -2,9 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ExtendedStack = void 0;
4
4
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
- const index_1 = require("../../aws-ssm/index");
5
+ const aws_ssm_1 = require("../../aws-ssm");
6
6
  const cdk_monitoring_constructs_1 = require("cdk-monitoring-constructs");
7
- const index_2 = require("../../helpers/index");
8
7
  const standard_tags_1 = require("./standard-tags");
9
8
  /**
10
9
  * Extended version of Stack providing functionality for parameter exports and monitoring.
@@ -18,7 +17,7 @@ class ExtendedStack extends aws_cdk_lib_1.Stack {
18
17
  prefix: (_b = props === null || props === void 0 ? void 0 : props.parameterExportsPrefix) !== null && _b !== void 0 ? _b : (stageName === undefined ? "" : `/${stageName}`) + `/${id}/Exports/`,
19
18
  region: this.region
20
19
  };
21
- this.parameterExports = new index_1.ParameterStore(this, "ParameterExports", this.parameterExportOptions);
20
+ this.parameterExports = new aws_ssm_1.ParameterStore(this, "ParameterExports", this.parameterExportOptions);
22
21
  if ((_c = props === null || props === void 0 ? void 0 : props.createMonitoringFacade) !== null && _c !== void 0 ? _c : true) {
23
22
  const dashboardFactory = new cdk_monitoring_constructs_1.DefaultDashboardFactory(this, "DashboardFactory", {
24
23
  dashboardNamePrefix: (_d = props === null || props === void 0 ? void 0 : props.dashboardNamePrefix) !== null && _d !== void 0 ? _d : this.stackName,
@@ -39,13 +38,16 @@ class ExtendedStack extends aws_cdk_lib_1.Stack {
39
38
  dashboardFactory: dashboardFactory
40
39
  });
41
40
  }
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,
41
+ // Setup standard tags
42
+ const standardTagsProps = standard_tags_1.StandardTags.merge(this.node.tryGetContext("standardTags"), props === null || props === void 0 ? void 0 : props.standardTags);
43
+ const standardTags = new standard_tags_1.StandardTags(this, standardTagsProps);
44
+ // Add automation component tags to this stack
45
+ standardTags.addAutomationTags({
46
+ ...standard_tags_1.InternalAutomationComponentTags,
47
47
  includeResourceTypes: ["AWS::CloudFormation::Stack"]
48
48
  });
49
+ // Add automation component tags to AutomationComponent children
50
+ aws_cdk_lib_1.Aspects.of(this).add(new standard_tags_1.AutomationComponentAspect(standardTagsProps.suppressTagging));
49
51
  }
50
52
  /**
51
53
  * Helper method to exports a parameter as an SSM Parameter.
@@ -69,4 +71,4 @@ class ExtendedStack extends aws_cdk_lib_1.Stack {
69
71
  }
70
72
  }
71
73
  exports.ExtendedStack = ExtendedStack;
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlbmRlZC1zdGFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBMEU7QUFDMUUsK0NBQTBFO0FBRzFFLHlFQUltQztBQUNuQywrQ0FBOEQ7QUFDOUQsbURBQTZDO0FBZ0c3Qzs7R0FFRztBQUNILE1BQWEsYUFBYyxTQUFRLG1CQUFLO0lBTXRDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7O1FBQ2xFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE1BQU0sU0FBUyxTQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQywwQ0FBRSxTQUFTLENBQUM7UUFDNUMsSUFBSSxDQUFDLHNCQUFzQixHQUFHO1lBQzVCLE1BQU0sUUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsc0JBQXNCLG1DQUFFLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLFdBQVc7WUFDM0csTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxzQkFBYyxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUVsRyxVQUFJLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxzQkFBc0IsbUNBQUksSUFBSSxFQUFFO1lBQ3pDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxtREFBdUIsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUU7Z0JBQzdFLG1CQUFtQixRQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxtQkFBbUIsbUNBQUksSUFBSSxDQUFDLFNBQVM7Z0JBQ2pFLG9CQUFvQixRQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxvQkFBb0IsbUNBQUksS0FBSztnQkFDMUQsZUFBZSxRQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlLG1DQUFJLEtBQUs7Z0JBQ2hELHNCQUFzQixRQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxzQkFBc0IsbUNBQUksS0FBSztnQkFDOUQsbUJBQW1CLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLDRCQUE0QixtQ0FBSSx3REFBNEIsQ0FBQyxnQkFBZ0I7YUFDMUcsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksNENBQWdCLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtnQkFDL0QscUJBQXFCLEVBQUU7b0JBQ3JCLFNBQVMsRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZUFBZTtvQkFDakMsTUFBTSxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxZQUFZO2lCQUM1QjtnQkFDRCxvQkFBb0IsRUFBRTtvQkFDcEIsY0FBYyxRQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxtQkFBbUIsbUNBQUksSUFBSTtvQkFDbEQsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTO2lCQUNoQztnQkFDRCxnQkFBZ0IsRUFBRSxnQkFBZ0I7YUFDbkMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFO1lBQ3JCLFFBQVEsRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZUFBZTtTQUNqQyxDQUFDLENBQUMsMEJBQTBCLENBQUM7WUFDNUIsR0FBRyxFQUFFLHFCQUFhO1lBQ2xCLE1BQU0sRUFBRSxrQkFBVTtZQUNsQixvQkFBb0IsRUFBRSxDQUFDLDRCQUE0QixDQUFDO1NBQ3JELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUN6QyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUN6QyxPQUFPLElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQy9CLEtBQUs7U0FDTixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFuRUQsc0NBbUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDZm5PdXRwdXQsIER1cmF0aW9uLCBTdGFjaywgU3RhY2tQcm9wcywgU3RhZ2V9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtQYXJhbWV0ZXJTdG9yZSwgUGFyYW1ldGVyU3RvcmVPcHRpb25zfSBmcm9tIFwiLi4vLi4vYXdzLXNzbS9pbmRleFwiO1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1N0cmluZ1BhcmFtZXRlcn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zc21cIjtcbmltcG9ydCB7XG4gIERhc2hib2FyZFJlbmRlcmluZ1ByZWZlcmVuY2UsXG4gIERlZmF1bHREYXNoYm9hcmRGYWN0b3J5LFxuICBNb25pdG9yaW5nRmFjYWRlXG59IGZyb20gXCJjZGstbW9uaXRvcmluZy1jb25zdHJ1Y3RzXCI7XG5pbXBvcnQge0NES19OUE1KU19VUkwsIENES19WRU5ET1J9IGZyb20gXCIuLi8uLi9oZWxwZXJzL2luZGV4XCI7XG5pbXBvcnQge1N0YW5kYXJkVGFnc30gZnJvbSBcIi4vc3RhbmRhcmQtdGFnc1wiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIEV4dFN0YWNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4dGVuZGVkU3RhY2tPcHRpb25zIHtcblxuICAvKipcbiAgICogUHJlZml4IHRvIGJlIHVzZWQgYnkgcGFyYW1ldGVyIGV4cG9ydHMgdG8gYmUgc3RvcmVkIGluIHRoZVxuICAgKiBTeXN0ZW1zIE1hbmFnZXIgUGFyYW1ldGVyIFN0b3JlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAke3N0YWdlTmFtZX0vJHtzdGFja0lkfS9FeHBvcnRzL1xuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1ldGVyRXhwb3J0c1ByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogRmxhZyB0byBkZXRlcm1pbmUgaWYgYSBkZWZhdWx0IE1vbml0b3JpbmdGYWNhZGUgYW5kXG4gICAqIERlZmF1bHREYXNoYm9hcmRGYWN0b3J5IHNob3VsZCBiZSBjcmVhdGVkIGluIHRoaXMgc3RhY2suXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZU1vbml0b3JpbmdGYWNhZGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQcmVmaXggYWRkZWQgdG8gZWFjaCBkYXNoYm9hcmQgbmFtZS5cbiAgICpcbiAgICogQGRlZmF1bHQgc3RhY2tOYW1lXG4gICAqL1xuICByZWFkb25seSBkYXNoYm9hcmROYW1lUHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGbGFnIHRvIGRldGVybWluZSBpZiB0aGUgZGVmYXVsdCBkYXNoYm9hcmQgc2hvdWxkIGJlIGNyZWF0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVEYXNoYm9hcmQ/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIEZsYWcgdG8gZGV0ZXJtaW5lIGlmIHRoZSBzdW1tYXJ5IGRhc2hib2FyZCBzaG91bGQgYmUgY3JlYXRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZVN1bW1hcnlEYXNoYm9hcmQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBGbGFnIHRvIGRldGVybWluZSBpZiB0aGUgYWxhcm0gZGFzaGJvYXJkIHNob3VsZCBiZSBjcmV0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVBbGFybURhc2hib2FyZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJlbmRlcmluZyBwcmVmZXJlbmNlIHRvIGRhc2hib2FyZHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IERhc2hib2FyZFJlbmRlcmluZ1ByZWZlcmVuY2UuSU5URVJBQ1RJVkVfT05MWVxuICAgKi9cbiAgcmVhZG9ubHkgZGFzaGJvYXJkUmVuZGVyaW5nUHJlZmVyZW5jZT86IERhc2hib2FyZFJlbmRlcmluZ1ByZWZlcmVuY2U7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgbmFtZXNwYWNlIGZvciBtZXRyaWNzLlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0cmljTmFtZXNwYWNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IG1ldHJpYyBwZXJpb2RcbiAgICovXG4gIHJlYWRvbmx5IG1ldHJpY1BlcmlvZD86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBQcmVmaXggZm9yIGdlbmVyYXRlZCBhbGFybXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHN0YWNrTmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxhcm1OYW1lUHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGFsYXJtIGFjdGlvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGFsYXJtQWN0aW9uc0VuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTZXR0aW5nIHRoaXMgdG8gdHJ1ZSB3aWxsIHN1cHByZXNzIHRoZSBjcmVhdGlvbiBvZiBkZWZhdWx0IHRhZ3Mgb24gcmVzb3VyY2VzXG4gICAqIGNyZWF0ZWQgYnkgdGhpcyBjb25zdHJ1Y3QuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN1cHByZXNzVGFnZ2luZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgRXh0U3RhY2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kZWRTdGFja1Byb3BzIGV4dGVuZHMgRXh0ZW5kZWRTdGFja09wdGlvbnMsIFN0YWNrUHJvcHMge31cblxuLyoqXG4gKiBFeHRlbmRlZCB2ZXJzaW9uIG9mIFN0YWNrIHByb3ZpZGluZyBmdW5jdGlvbmFsaXR5IGZvciBwYXJhbWV0ZXIgZXhwb3J0cyBhbmQgbW9uaXRvcmluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIEV4dGVuZGVkU3RhY2sgZXh0ZW5kcyBTdGFjayB7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhcmFtZXRlckV4cG9ydHM6IFBhcmFtZXRlclN0b3JlO1xuICByZWFkb25seSBwYXJhbWV0ZXJFeHBvcnRPcHRpb25zOiBQYXJhbWV0ZXJTdG9yZU9wdGlvbnM7XG4gIHJlYWRvbmx5IG1vbml0b3JpbmdGYWNhZGU/OiBNb25pdG9yaW5nRmFjYWRlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogRXh0ZW5kZWRTdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgY29uc3Qgc3RhZ2VOYW1lID0gU3RhZ2Uub2YodGhpcyk/LnN0YWdlTmFtZTtcbiAgICB0aGlzLnBhcmFtZXRlckV4cG9ydE9wdGlvbnMgPSB7XG4gICAgICBwcmVmaXg6IHByb3BzPy5wYXJhbWV0ZXJFeHBvcnRzUHJlZml4Pz8oc3RhZ2VOYW1lID09PSB1bmRlZmluZWQgPyBcIlwiIDogYC8ke3N0YWdlTmFtZX1gKSArIGAvJHtpZH0vRXhwb3J0cy9gLFxuICAgICAgcmVnaW9uOiB0aGlzLnJlZ2lvblxuICAgIH07XG4gICAgdGhpcy5wYXJhbWV0ZXJFeHBvcnRzID0gbmV3IFBhcmFtZXRlclN0b3JlKHRoaXMsIFwiUGFyYW1ldGVyRXhwb3J0c1wiLCB0aGlzLnBhcmFtZXRlckV4cG9ydE9wdGlvbnMpO1xuXG4gICAgaWYgKHByb3BzPy5jcmVhdGVNb25pdG9yaW5nRmFjYWRlID8/IHRydWUpIHtcbiAgICAgIGNvbnN0IGRhc2hib2FyZEZhY3RvcnkgPSBuZXcgRGVmYXVsdERhc2hib2FyZEZhY3RvcnkodGhpcywgXCJEYXNoYm9hcmRGYWN0b3J5XCIsIHtcbiAgICAgICAgZGFzaGJvYXJkTmFtZVByZWZpeDogcHJvcHM/LmRhc2hib2FyZE5hbWVQcmVmaXggPz8gdGhpcy5zdGFja05hbWUsXG4gICAgICAgIGNyZWF0ZUFsYXJtRGFzaGJvYXJkOiBwcm9wcz8uY3JlYXRlQWxhcm1EYXNoYm9hcmQgPz8gZmFsc2UsXG4gICAgICAgIGNyZWF0ZURhc2hib2FyZDogcHJvcHM/LmNyZWF0ZURhc2hib2FyZCA/PyBmYWxzZSxcbiAgICAgICAgY3JlYXRlU3VtbWFyeURhc2hib2FyZDogcHJvcHM/LmNyZWF0ZVN1bW1hcnlEYXNoYm9hcmQgPz8gZmFsc2UsXG4gICAgICAgIHJlbmRlcmluZ1ByZWZlcmVuY2U6IHByb3BzPy5kYXNoYm9hcmRSZW5kZXJpbmdQcmVmZXJlbmNlID8/IERhc2hib2FyZFJlbmRlcmluZ1ByZWZlcmVuY2UuSU5URVJBQ1RJVkVfT05MWVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMubW9uaXRvcmluZ0ZhY2FkZSA9IG5ldyBNb25pdG9yaW5nRmFjYWRlKHRoaXMsIFwiTW9uaXRvcmluZ1wiLCB7XG4gICAgICAgIG1ldHJpY0ZhY3RvcnlEZWZhdWx0czoge1xuICAgICAgICAgIG5hbWVzcGFjZTogcHJvcHM/Lm1ldHJpY05hbWVzcGFjZSxcbiAgICAgICAgICBwZXJpb2Q6IHByb3BzPy5tZXRyaWNQZXJpb2RcbiAgICAgICAgfSxcbiAgICAgICAgYWxhcm1GYWN0b3J5RGVmYXVsdHM6IHtcbiAgICAgICAgICBhY3Rpb25zRW5hYmxlZDogcHJvcHM/LmFsYXJtQWN0aW9uc0VuYWJsZWQgPz8gdHJ1ZSxcbiAgICAgICAgICBhbGFybU5hbWVQcmVmaXg6IHRoaXMuc3RhY2tOYW1lXG4gICAgICAgIH0sXG4gICAgICAgIGRhc2hib2FyZEZhY3Rvcnk6IGRhc2hib2FyZEZhY3RvcnlcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIG5ldyBTdGFuZGFyZFRhZ3ModGhpcywge1xuICAgICAgc3VwcHJlc3M6IHByb3BzPy5zdXBwcmVzc1RhZ2dpbmdcbiAgICB9KS5hZGRBdXRvbWF0aW9uQ29tcG9uZW50VGFncyh7XG4gICAgICB1cmw6IENES19OUE1KU19VUkwsXG4gICAgICB2ZW5kb3I6IENES19WRU5ET1IsXG4gICAgICBpbmNsdWRlUmVzb3VyY2VUeXBlczogW1wiQVdTOjpDbG91ZEZvcm1hdGlvbjo6U3RhY2tcIl1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgbWV0aG9kIHRvIGV4cG9ydHMgYSBwYXJhbWV0ZXIgYXMgYW4gU1NNIFBhcmFtZXRlci5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgdGhlIHBhcmFtZXRlciBuYW1lXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgcGFyYW1ldGVyIHZhbHVlXG4gICAqL1xuICBleHBvcnRQYXJhbWV0ZXIobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogU3RyaW5nUGFyYW1ldGVyIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJFeHBvcnRzLndyaXRlKG5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgbWV0aG9kIHRvIG91dHB1dCBhIHBhcmFtZXRlciBhcyBhIENmbk91dHB1dC5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgdGhlIHBhcmFtZXRlciBuYW1lXG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgcGFyYW1ldGVyIHZhbHVlXG4gICAqL1xuICBvdXRwdXRQYXJhbWV0ZXIobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogQ2ZuT3V0cHV0IHtcbiAgICByZXR1cm4gbmV3IENmbk91dHB1dCh0aGlzLCBuYW1lLCB7XG4gICAgICB2YWx1ZVxuICAgIH0pO1xuICB9XG59XG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleHRlbmRlZC1zdGFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBbUY7QUFDbkYsMkNBQW9FO0FBR3BFLHlFQUltQztBQUNuQyxtREFLeUI7QUE2RnpCOztHQUVHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsbUJBQUs7SUFNdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjs7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsTUFBTSxTQUFTLFNBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLDBDQUFFLFNBQVMsQ0FBQztRQUU1QyxJQUFJLENBQUMsc0JBQXNCLEdBQUc7WUFDNUIsTUFBTSxRQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxzQkFBc0IsbUNBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsV0FBVztZQUM3RyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztRQUNGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLHdCQUFjLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRWxHLFVBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLHNCQUFzQixtQ0FBSSxJQUFJLEVBQUU7WUFDekMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLG1EQUF1QixDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRTtnQkFDN0UsbUJBQW1CLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLG1CQUFtQixtQ0FBSSxJQUFJLENBQUMsU0FBUztnQkFDakUsb0JBQW9CLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLG9CQUFvQixtQ0FBSSxLQUFLO2dCQUMxRCxlQUFlLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGVBQWUsbUNBQUksS0FBSztnQkFDaEQsc0JBQXNCLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLHNCQUFzQixtQ0FBSSxLQUFLO2dCQUM5RCxtQkFBbUIsUUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsNEJBQTRCLG1DQUFJLHdEQUE0QixDQUFDLGdCQUFnQjthQUMxRyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSw0Q0FBZ0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO2dCQUMvRCxxQkFBcUIsRUFBRTtvQkFDckIsU0FBUyxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlO29CQUNqQyxNQUFNLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVk7aUJBQzVCO2dCQUNELG9CQUFvQixFQUFFO29CQUNwQixjQUFjLFFBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLG1CQUFtQixtQ0FBSSxJQUFJO29CQUNsRCxlQUFlLEVBQUUsSUFBSSxDQUFDLFNBQVM7aUJBQ2hDO2dCQUNELGdCQUFnQixFQUFFLGdCQUFnQjthQUNuQyxDQUFDLENBQUM7U0FDSjtRQUVELHNCQUFzQjtRQUN0QixNQUFNLGlCQUFpQixHQUFHLDRCQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxZQUFZLENBQUMsQ0FBQztRQUMzRyxNQUFNLFlBQVksR0FBRyxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFFL0QsOENBQThDO1FBQzlDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQztZQUM3QixHQUFHLCtDQUErQjtZQUNsQyxvQkFBb0IsRUFBRSxDQUFDLDRCQUE0QixDQUFDO1NBQ3JELENBQUMsQ0FBQztRQUVILGdFQUFnRTtRQUNoRSxxQkFBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSx5Q0FBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFHRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUN6QyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUN6QyxPQUFPLElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQy9CLEtBQUs7U0FDTixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUEzRUQsc0NBMkVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3BlY3RzLCBDZm5PdXRwdXQsIER1cmF0aW9uLCBTdGFjaywgU3RhY2tQcm9wcywgU3RhZ2V9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtQYXJhbWV0ZXJTdG9yZSwgUGFyYW1ldGVyU3RvcmVPcHRpb25zfSBmcm9tIFwiLi4vLi4vYXdzLXNzbVwiO1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1N0cmluZ1BhcmFtZXRlcn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zc21cIjtcbmltcG9ydCB7XG4gIERhc2hib2FyZFJlbmRlcmluZ1ByZWZlcmVuY2UsXG4gIERlZmF1bHREYXNoYm9hcmRGYWN0b3J5LFxuICBNb25pdG9yaW5nRmFjYWRlXG59IGZyb20gXCJjZGstbW9uaXRvcmluZy1jb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBBdXRvbWF0aW9uQ29tcG9uZW50QXNwZWN0LFxuICBJbnRlcm5hbEF1dG9tYXRpb25Db21wb25lbnRUYWdzLFxuICBTdGFuZGFyZFRhZ3MsXG4gIFN0YW5kYXJkVGFnc1Byb3BzXG59IGZyb20gXCIuL3N0YW5kYXJkLXRhZ3NcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBFeHRTdGFjay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeHRlbmRlZFN0YWNrT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFByZWZpeCB0byBiZSB1c2VkIGJ5IHBhcmFtZXRlciBleHBvcnRzIHRvIGJlIHN0b3JlZCBpbiB0aGVcbiAgICogU3lzdGVtcyBNYW5hZ2VyIFBhcmFtZXRlciBTdG9yZS5cbiAgICpcbiAgICogQGRlZmF1bHQgJHtzdGFnZU5hbWV9LyR7c3RhY2tJZH0vRXhwb3J0cy9cbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlckV4cG9ydHNQcmVmaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZsYWcgdG8gZGV0ZXJtaW5lIGlmIGEgZGVmYXVsdCBNb25pdG9yaW5nRmFjYWRlIGFuZFxuICAgKiBEZWZhdWx0RGFzaGJvYXJkRmFjdG9yeSBzaG91bGQgYmUgY3JlYXRlZCBpbiB0aGlzIHN0YWNrLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVNb25pdG9yaW5nRmFjYWRlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUHJlZml4IGFkZGVkIHRvIGVhY2ggZGFzaGJvYXJkIG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IHN0YWNrTmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgZGFzaGJvYXJkTmFtZVByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogRmxhZyB0byBkZXRlcm1pbmUgaWYgdGhlIGRlZmF1bHQgZGFzaGJvYXJkIHNob3VsZCBiZSBjcmVhdGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlRGFzaGJvYXJkPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBGbGFnIHRvIGRldGVybWluZSBpZiB0aGUgc3VtbWFyeSBkYXNoYm9hcmQgc2hvdWxkIGJlIGNyZWF0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVTdW1tYXJ5RGFzaGJvYXJkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRmxhZyB0byBkZXRlcm1pbmUgaWYgdGhlIGFsYXJtIGRhc2hib2FyZCBzaG91bGQgYmUgY3JldGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlQWxhcm1EYXNoYm9hcmQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZW5kZXJpbmcgcHJlZmVyZW5jZSB0byBkYXNoYm9hcmRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBEYXNoYm9hcmRSZW5kZXJpbmdQcmVmZXJlbmNlLklOVEVSQUNUSVZFX09OTFlcbiAgICovXG4gIHJlYWRvbmx5IGRhc2hib2FyZFJlbmRlcmluZ1ByZWZlcmVuY2U/OiBEYXNoYm9hcmRSZW5kZXJpbmdQcmVmZXJlbmNlO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IG5hbWVzcGFjZSBmb3IgbWV0cmljcy5cbiAgICovXG4gIHJlYWRvbmx5IG1ldHJpY05hbWVzcGFjZT86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmYXVsdCBtZXRyaWMgcGVyaW9kXG4gICAqL1xuICByZWFkb25seSBtZXRyaWNQZXJpb2Q/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogUHJlZml4IGZvciBnZW5lcmF0ZWQgYWxhcm1zLlxuICAgKlxuICAgKiBAZGVmYXVsdCBzdGFja05hbWVcbiAgICovXG4gIHJlYWRvbmx5IGFsYXJtTmFtZVByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogRW5hYmxlcyBhbGFybSBhY3Rpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBhbGFybUFjdGlvbnNFbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2V0cyBzdGFuZGFyZCB0YWdzIGZvciB0aGlzIFN0YWNrLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhbmRhcmRUYWdzPzogU3RhbmRhcmRUYWdzUHJvcHM7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgRXh0U3RhY2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZW5kZWRTdGFja1Byb3BzIGV4dGVuZHMgRXh0ZW5kZWRTdGFja09wdGlvbnMsIFN0YWNrUHJvcHMge31cblxuLyoqXG4gKiBFeHRlbmRlZCB2ZXJzaW9uIG9mIFN0YWNrIHByb3ZpZGluZyBmdW5jdGlvbmFsaXR5IGZvciBwYXJhbWV0ZXIgZXhwb3J0cyBhbmQgbW9uaXRvcmluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIEV4dGVuZGVkU3RhY2sgZXh0ZW5kcyBTdGFjayB7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhcmFtZXRlckV4cG9ydHM6IFBhcmFtZXRlclN0b3JlO1xuICByZWFkb25seSBwYXJhbWV0ZXJFeHBvcnRPcHRpb25zOiBQYXJhbWV0ZXJTdG9yZU9wdGlvbnM7XG4gIHJlYWRvbmx5IG1vbml0b3JpbmdGYWNhZGU/OiBNb25pdG9yaW5nRmFjYWRlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogRXh0ZW5kZWRTdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBjb25zdCBzdGFnZU5hbWUgPSBTdGFnZS5vZih0aGlzKT8uc3RhZ2VOYW1lO1xuXG4gICAgdGhpcy5wYXJhbWV0ZXJFeHBvcnRPcHRpb25zID0ge1xuICAgICAgcHJlZml4OiBwcm9wcz8ucGFyYW1ldGVyRXhwb3J0c1ByZWZpeCA/PyAoc3RhZ2VOYW1lID09PSB1bmRlZmluZWQgPyBcIlwiIDogYC8ke3N0YWdlTmFtZX1gKSArIGAvJHtpZH0vRXhwb3J0cy9gLFxuICAgICAgcmVnaW9uOiB0aGlzLnJlZ2lvblxuICAgIH07XG4gICAgdGhpcy5wYXJhbWV0ZXJFeHBvcnRzID0gbmV3IFBhcmFtZXRlclN0b3JlKHRoaXMsIFwiUGFyYW1ldGVyRXhwb3J0c1wiLCB0aGlzLnBhcmFtZXRlckV4cG9ydE9wdGlvbnMpO1xuXG4gICAgaWYgKHByb3BzPy5jcmVhdGVNb25pdG9yaW5nRmFjYWRlID8/IHRydWUpIHtcbiAgICAgIGNvbnN0IGRhc2hib2FyZEZhY3RvcnkgPSBuZXcgRGVmYXVsdERhc2hib2FyZEZhY3RvcnkodGhpcywgXCJEYXNoYm9hcmRGYWN0b3J5XCIsIHtcbiAgICAgICAgZGFzaGJvYXJkTmFtZVByZWZpeDogcHJvcHM/LmRhc2hib2FyZE5hbWVQcmVmaXggPz8gdGhpcy5zdGFja05hbWUsXG4gICAgICAgIGNyZWF0ZUFsYXJtRGFzaGJvYXJkOiBwcm9wcz8uY3JlYXRlQWxhcm1EYXNoYm9hcmQgPz8gZmFsc2UsXG4gICAgICAgIGNyZWF0ZURhc2hib2FyZDogcHJvcHM/LmNyZWF0ZURhc2hib2FyZCA/PyBmYWxzZSxcbiAgICAgICAgY3JlYXRlU3VtbWFyeURhc2hib2FyZDogcHJvcHM/LmNyZWF0ZVN1bW1hcnlEYXNoYm9hcmQgPz8gZmFsc2UsXG4gICAgICAgIHJlbmRlcmluZ1ByZWZlcmVuY2U6IHByb3BzPy5kYXNoYm9hcmRSZW5kZXJpbmdQcmVmZXJlbmNlID8/IERhc2hib2FyZFJlbmRlcmluZ1ByZWZlcmVuY2UuSU5URVJBQ1RJVkVfT05MWVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMubW9uaXRvcmluZ0ZhY2FkZSA9IG5ldyBNb25pdG9yaW5nRmFjYWRlKHRoaXMsIFwiTW9uaXRvcmluZ1wiLCB7XG4gICAgICAgIG1ldHJpY0ZhY3RvcnlEZWZhdWx0czoge1xuICAgICAgICAgIG5hbWVzcGFjZTogcHJvcHM/Lm1ldHJpY05hbWVzcGFjZSxcbiAgICAgICAgICBwZXJpb2Q6IHByb3BzPy5tZXRyaWNQZXJpb2RcbiAgICAgICAgfSxcbiAgICAgICAgYWxhcm1GYWN0b3J5RGVmYXVsdHM6IHtcbiAgICAgICAgICBhY3Rpb25zRW5hYmxlZDogcHJvcHM/LmFsYXJtQWN0aW9uc0VuYWJsZWQgPz8gdHJ1ZSxcbiAgICAgICAgICBhbGFybU5hbWVQcmVmaXg6IHRoaXMuc3RhY2tOYW1lXG4gICAgICAgIH0sXG4gICAgICAgIGRhc2hib2FyZEZhY3Rvcnk6IGRhc2hib2FyZEZhY3RvcnlcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFNldHVwIHN0YW5kYXJkIHRhZ3NcbiAgICBjb25zdCBzdGFuZGFyZFRhZ3NQcm9wcyA9IFN0YW5kYXJkVGFncy5tZXJnZSh0aGlzLm5vZGUudHJ5R2V0Q29udGV4dChcInN0YW5kYXJkVGFnc1wiKSwgcHJvcHM/LnN0YW5kYXJkVGFncyk7XG4gICAgY29uc3Qgc3RhbmRhcmRUYWdzID0gbmV3IFN0YW5kYXJkVGFncyh0aGlzLCBzdGFuZGFyZFRhZ3NQcm9wcyk7XG5cbiAgICAvLyBBZGQgYXV0b21hdGlvbiBjb21wb25lbnQgdGFncyB0byB0aGlzIHN0YWNrXG4gICAgc3RhbmRhcmRUYWdzLmFkZEF1dG9tYXRpb25UYWdzKHtcbiAgICAgIC4uLkludGVybmFsQXV0b21hdGlvbkNvbXBvbmVudFRhZ3MsXG4gICAgICBpbmNsdWRlUmVzb3VyY2VUeXBlczogW1wiQVdTOjpDbG91ZEZvcm1hdGlvbjo6U3RhY2tcIl1cbiAgICB9KTtcblxuICAgIC8vIEFkZCBhdXRvbWF0aW9uIGNvbXBvbmVudCB0YWdzIHRvIEF1dG9tYXRpb25Db21wb25lbnQgY2hpbGRyZW5cbiAgICBBc3BlY3RzLm9mKHRoaXMpLmFkZChuZXcgQXV0b21hdGlvbkNvbXBvbmVudEFzcGVjdChzdGFuZGFyZFRhZ3NQcm9wcy5zdXBwcmVzc1RhZ2dpbmcpKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gZXhwb3J0cyBhIHBhcmFtZXRlciBhcyBhbiBTU00gUGFyYW1ldGVyLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSB0aGUgcGFyYW1ldGVyIG5hbWVcbiAgICogQHBhcmFtIHZhbHVlIHRoZSBwYXJhbWV0ZXIgdmFsdWVcbiAgICovXG4gIGV4cG9ydFBhcmFtZXRlcihuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBTdHJpbmdQYXJhbWV0ZXIge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlckV4cG9ydHMud3JpdGUobmFtZSwgdmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gb3V0cHV0IGEgcGFyYW1ldGVyIGFzIGEgQ2ZuT3V0cHV0LlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSB0aGUgcGFyYW1ldGVyIG5hbWVcbiAgICogQHBhcmFtIHZhbHVlIHRoZSBwYXJhbWV0ZXIgdmFsdWVcbiAgICovXG4gIG91dHB1dFBhcmFtZXRlcihuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBDZm5PdXRwdXQge1xuICAgIHJldHVybiBuZXcgQ2ZuT3V0cHV0KHRoaXMsIG5hbWUsIHtcbiAgICAgIHZhbHVlXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,3 @@
1
1
  export * from "./extended-stack";
2
- export * from "./standard-app";
3
- export * from "./standard-environment";
4
- export * from "./standard-stack";
2
+ export * from "./single-env-app";
5
3
  export * from "./standard-tags";