truemark-cdk-lib 1.2.3 → 1.2.4-alpha.4

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 (39) hide show
  1. package/aws-apigatewayv2/lib/standard-domain-name.js +3 -3
  2. package/{aws-tags → aws-cdk}/index.d.ts +0 -0
  3. package/{aws-tags → aws-cdk}/index.js +0 -0
  4. package/{aws-codepipeline → aws-cdk}/lib/extended-stack.d.ts +1 -1
  5. package/aws-cdk/lib/extended-stack.js +72 -0
  6. package/aws-cdk/lib/index.d.ts +5 -0
  7. package/{aws-tags → aws-cdk}/lib/index.js +5 -1
  8. package/aws-cdk/lib/single-env-app.d.ts +28 -0
  9. package/aws-cdk/lib/single-env-app.js +36 -0
  10. package/aws-cdk/lib/standard-app.d.ts +19 -0
  11. package/aws-cdk/lib/standard-app.js +19 -0
  12. package/aws-cdk/lib/standard-environment.d.ts +10 -0
  13. package/aws-cdk/lib/standard-environment.js +3 -0
  14. package/aws-cdk/lib/standard-stack.d.ts +19 -0
  15. package/aws-cdk/lib/standard-stack.js +36 -0
  16. package/aws-cdk/lib/standard-stage.d.ts +19 -0
  17. package/aws-cdk/lib/standard-stage.js +24 -0
  18. package/{aws-tags → aws-cdk}/lib/standard-tags.d.ts +33 -5
  19. package/aws-cdk/lib/standard-tags.js +178 -0
  20. package/aws-centergauge/lib/alerts-topic.js +3 -3
  21. package/aws-codepipeline/lib/index.d.ts +1 -1
  22. package/aws-codepipeline/lib/index.js +2 -2
  23. package/aws-dynamodb/lib/standard-table.js +3 -3
  24. package/aws-ecs/lib/standard-fargate-cluster.js +3 -3
  25. package/aws-ecs/lib/standard-fargate-service.js +3 -3
  26. package/aws-sqs/lib/standard-queue.js +3 -3
  27. package/aws-vpc/lib/network-parameters.js +3 -3
  28. package/helpers/lib/string-helper.d.ts +12 -0
  29. package/helpers/lib/string-helper.js +23 -1
  30. package/index.d.ts +1 -1
  31. package/index.js +2 -2
  32. package/package.json +3 -2
  33. package/test/aws-lambda/extended-python-function.test.js +11 -14
  34. package/test/aws-lambda/standard-python-function.test.js +10 -11
  35. package/test/aws-website/website.test.js +3 -3
  36. package/test/helpers/string-helper.test.js +14 -1
  37. package/aws-codepipeline/lib/extended-stack.js +0 -72
  38. package/aws-tags/lib/index.d.ts +0 -1
  39. package/aws-tags/lib/standard-tags.js +0 -178
@@ -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,5 @@
1
+ export * from "./extended-stack";
2
+ export * from "./standard-app";
3
+ export * from "./standard-environment";
4
+ export * from "./standard-stack";
5
+ export * from "./standard-tags";
@@ -10,5 +10,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./extended-stack"), exports);
14
+ __exportStar(require("./standard-app"), exports);
15
+ __exportStar(require("./standard-environment"), exports);
16
+ __exportStar(require("./standard-stack"), exports);
13
17
  __exportStar(require("./standard-tags"), exports);
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxrREFBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9zdGFuZGFyZC10YWdzXCI7XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxtREFBaUM7QUFDakMsaURBQStCO0FBQy9CLHlEQUF1QztBQUN2QyxtREFBaUM7QUFDakMsa0RBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZXh0ZW5kZWQtc3RhY2tcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0YW5kYXJkLWFwcFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RhbmRhcmQtZW52aXJvbm1lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0YW5kYXJkLXN0YWNrXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdGFuZGFyZC10YWdzXCI7XG4iXX0=
@@ -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();
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWVudi1hcHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzaW5nbGUtZW52LWFwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBNkQ7QUFDN0QsMkNBQTJDO0FBZ0IzQzs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLDBCQUFXO0lBSTNDLFlBQVksS0FBeUI7O1FBQ25DLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSx1QkFBdUIsU0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsdUJBQXVCLG1DQUFJLEtBQUssQ0FBQztRQUN4RSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsdUJBQXVCLCtCQUErQixDQUFDLENBQUM7U0FDcEg7UUFDRCxJQUFJLENBQUMsc0JBQVksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDM0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1NBQ3RFO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSCwyQkFBMkI7UUFDekIsT0FBTyxzQkFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNGO0FBN0JELG9DQTZCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U3RhbmRhcmRBcHAsIFN0YW5kYXJkQXBwUHJvcHN9IGZyb20gXCIuL3N0YW5kYXJkLWFwcFwiO1xuaW1wb3J0IHtTdHJpbmdIZWxwZXJ9IGZyb20gXCIuLi8uLi9oZWxwZXJzXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgU2luZ2xlRW52QXBwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2luZ2xlRW52QXBwUHJvcHMgZXh0ZW5kcyBTdGFuZGFyZEFwcFByb3BzIHtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHByb3BlcnR5IGluIHRoZSBjb250ZXh0IHdoZXJlIHRoZSBlbnZpcm9ubWVudCBuYW1lIGlzIHN0b3JlZC5cbiAgICogRGVmYXVsdCBpcyBcImVudlwiLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGVudlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnRQcm9wZXJ0eU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRXh0ZW5zaW9uIG9mIFN0YW5kYXJkQXBwIHRoYXQgc3VwcG9ydHMgYSBzdGFuZGFyZCB3YXkgdG8gZGVjbGFyZSBlbnZpcm9ubWVudCBuYW1lcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNpbmdsZUVudkFwcCBleHRlbmRzIFN0YW5kYXJkQXBwIHtcblxuICByZWFkb25seSBlbnZpcm9ubWVudE5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm9wcz86IFNpbmdsZUVudkFwcFByb3BzKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCBlbnZpcm9ubWVudFByb3BlcnR5TmFtZSA9IHByb3BzPy5lbnZpcm9ubWVudFByb3BlcnR5TmFtZSA/PyBcImVudlwiO1xuICAgIHRoaXMuZW52aXJvbm1lbnROYW1lID0gdGhpcy5ub2RlLnRyeUdldENvbnRleHQoZW52aXJvbm1lbnRQcm9wZXJ0eU5hbWUpO1xuICAgIGlmICghdGhpcy5lbnZpcm9ubWVudE5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRW52aXJvbm1lbnQgaXMgbWlzc2luZy4gUGxlYXNlIGFkZCBcXFwiLWMgJHtlbnZpcm9ubWVudFByb3BlcnR5TmFtZX09PG5hbWU+XFxcIiB0byB5b3VyIENESyBjb21tYW5kYCk7XG4gICAgfVxuICAgIGlmICghU3RyaW5nSGVscGVyLmlzTG93ZXJBbHBoYW51bWVyaWModGhpcy5lbnZpcm9ubWVudE5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFbnZpcm9ubWVudCBuYW1lIG11c3QgYmUgbG93ZXIgY2FzZSBhbHBoYSBudW1lcmljXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudC5cbiAgICovXG4gIGdldEVudmlyb25tZW50TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmVudmlyb25tZW50TmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudCBpbiB0aXRsZSBjYXNlLlxuICAgKi9cbiAgZ2V0RW52aXJvbm1lbnROYW1lVGl0bGVDYXNlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFN0cmluZ0hlbHBlci50b1Bhc2NhbENhc2UodGhpcy5lbnZpcm9ubWVudE5hbWUpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { App } 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 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 environmentName: string;
13
+ readonly automationTags?: AutomationTagsProps;
14
+ readonly costCenterTags?: CostCenterTagsProps;
15
+ readonly securityTags?: SecurityTagsProps;
16
+ readonly teamTags?: TeamTagsProps;
17
+ readonly suppressTags?: boolean;
18
+ constructor(props?: StandardAppProps);
19
+ }
@@ -0,0 +1,19 @@
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();
11
+ this.automationTags = props === null || props === void 0 ? void 0 : props.automationTags;
12
+ this.costCenterTags = props === null || props === void 0 ? void 0 : props.costCenterTags;
13
+ this.securityTags = props === null || props === void 0 ? void 0 : props.securityTags;
14
+ this.teamTags = props === null || props === void 0 ? void 0 : props.teamTags;
15
+ this.suppressTags = props === null || props === void 0 ? void 0 : props.suppressTags;
16
+ }
17
+ }
18
+ exports.StandardApp = StandardApp;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE2QztBQWdCN0M7O0dBRUc7QUFDSCxNQUFhLFdBQVksU0FBUSxpQkFBRztJQVNsQyxZQUFZLEtBQXdCO1FBQ2xDLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsY0FBYyxDQUFDO1FBQzVDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGNBQWMsQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxZQUFZLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVksQ0FBQztJQUMxQyxDQUFDO0NBQ0Y7QUFqQkQsa0NBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcHAsIEVudmlyb25tZW50fSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7XG4gIEF1dG9tYXRpb25UYWdzUHJvcHMsXG4gIENvc3RDZW50ZXJUYWdzUHJvcHMsXG4gIFNlY3VyaXR5VGFnc1Byb3BzLCBTdGFuZGFyZFRhZ3NPcHRpb25zLFxuICBUZWFtVGFnc1Byb3BzXG59IGZyb20gXCIuL3N0YW5kYXJkLXRhZ3NcIjtcbmltcG9ydCB7U3RyaW5nSGVscGVyfSBmcm9tIFwiLi4vLi4vaGVscGVyc1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFN0YW5kYXJkQXBwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhcmRBcHBQcm9wcyBleHRlbmRzIFN0YW5kYXJkVGFnc09wdGlvbnMge1xuXG59XG5cbi8qKlxuICogRXh0ZW5kcyBBcHAgcHJvdmlkaW5nIHN1cHBvcnQgZm9yIHRhZ3MgYW5kIGEgc3RhbmRhcmQgZm9yIGVudmlyb25tZW50IG5hbWVzLlxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRBcHAgZXh0ZW5kcyBBcHAge1xuXG4gIHJlYWRvbmx5IGVudmlyb25tZW50TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBhdXRvbWF0aW9uVGFncz86IEF1dG9tYXRpb25UYWdzUHJvcHM7XG4gIHJlYWRvbmx5IGNvc3RDZW50ZXJUYWdzPzogQ29zdENlbnRlclRhZ3NQcm9wcztcbiAgcmVhZG9ubHkgc2VjdXJpdHlUYWdzPzogU2VjdXJpdHlUYWdzUHJvcHM7XG4gIHJlYWRvbmx5IHRlYW1UYWdzPzogVGVhbVRhZ3NQcm9wcztcbiAgcmVhZG9ubHkgc3VwcHJlc3NUYWdzPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcz86IFN0YW5kYXJkQXBwUHJvcHMpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYXV0b21hdGlvblRhZ3MgPSBwcm9wcz8uYXV0b21hdGlvblRhZ3M7XG4gICAgdGhpcy5jb3N0Q2VudGVyVGFncyA9IHByb3BzPy5jb3N0Q2VudGVyVGFncztcbiAgICB0aGlzLnNlY3VyaXR5VGFncyA9IHByb3BzPy5zZWN1cml0eVRhZ3M7XG4gICAgdGhpcy50ZWFtVGFncyA9IHByb3BzPy50ZWFtVGFncztcbiAgICB0aGlzLnN1cHByZXNzVGFncyA9IHByb3BzPy5zdXBwcmVzc1RhZ3M7XG4gIH1cbn1cbiJdfQ==
@@ -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.automationTags) !== null && _a !== void 0 ? _a : standardScope === null || standardScope === void 0 ? void 0 : standardScope.automationTags;
19
+ this.costCenterTags = (_b = props.costCenterTags) !== null && _b !== void 0 ? _b : standardScope === null || standardScope === void 0 ? void 0 : standardScope.costCenterTags;
20
+ this.securityTags = (_c = props.securityTags) !== null && _c !== void 0 ? _c : standardScope === null || standardScope === void 0 ? void 0 : standardScope.securityTags;
21
+ this.teamTags = (_d = props.teamTags) !== null && _d !== void 0 ? _d : standardScope === null || standardScope === void 0 ? void 0 : standardScope.teamTags;
22
+ this.suppressTags = (_e = 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.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.automationTags)
30
+ .addCostCenterTags(props.costCenterTags)
31
+ .addSecurityTags(props.securityTags)
32
+ .addTeamTags(props.teamTags);
33
+ }
34
+ }
35
+ exports.StandardStack = StandardStack;
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC1zdGFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBbUU7QUFDbkUsaURBQTJDO0FBQzNDLHFEQUErQztBQUUvQywyQ0FBc0U7QUFDdEUsbURBT3lCO0FBVXpCOztHQUVHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsOEJBQWE7SUFROUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5Qjs7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsTUFBTSxhQUFhLEdBQ2pCLEtBQUssWUFBWSwwQkFBVyxJQUFJLEtBQUssWUFBWSw4QkFBYSxJQUFJLEtBQUssWUFBWSxhQUFhO1lBQzlGLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUV4QixJQUFJLENBQUMsY0FBYyxTQUFHLEtBQUssQ0FBQyxjQUFjLG1DQUFJLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxjQUFjLENBQUM7UUFDNUUsSUFBSSxDQUFDLGNBQWMsU0FBRyxLQUFLLENBQUMsY0FBYyxtQ0FBSSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsY0FBYyxDQUFDO1FBQzVFLElBQUksQ0FBQyxZQUFZLFNBQUcsS0FBSyxDQUFDLFlBQVksbUNBQUksYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLFlBQVksQ0FBQztRQUN0RSxJQUFJLENBQUMsUUFBUSxTQUFHLEtBQUssQ0FBQyxRQUFRLG1DQUFJLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxRQUFRLENBQUM7UUFDMUQsSUFBSSxDQUFDLFlBQVksU0FBRyxLQUFLLENBQUMsWUFBWSxtQ0FBSSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsWUFBWSxDQUFDO1FBRXRFLElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUUsRUFBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFBQyxDQUFDO2FBQ25ELDBCQUEwQixDQUFDO1lBQzFCLEdBQUcsRUFBRSx1QkFBYTtZQUNsQixNQUFNLEVBQUUsb0JBQVU7WUFDbEIsb0JBQW9CLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztTQUNyRCxDQUFDO2FBQ0QsaUJBQWlCLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQzthQUN2QyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO2FBQ3ZDLGVBQWUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO2FBQ25DLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsQ0FBQztDQUNGO0FBaENELHNDQWdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXh0ZW5kZWRTdGFjaywgRXh0ZW5kZWRTdGFja1Byb3BzfSBmcm9tIFwiLi9leHRlbmRlZC1zdGFja1wiO1xuaW1wb3J0IHtTdGFuZGFyZEFwcH0gZnJvbSBcIi4vc3RhbmRhcmQtYXBwXCI7XG5pbXBvcnQge1N0YW5kYXJkU3RhZ2V9IGZyb20gXCIuL3N0YW5kYXJkLXN0YWdlXCI7XG5pbXBvcnQge1N0YW5kYXJkRW52aXJvbm1lbnR9IGZyb20gXCIuL3N0YW5kYXJkLWVudmlyb25tZW50XCI7XG5pbXBvcnQge0NES19OUE1KU19VUkwsIENES19WRU5ET1IsIFN0cmluZ0hlbHBlcn0gZnJvbSBcIi4uLy4uL2hlbHBlcnNcIjtcbmltcG9ydCB7XG4gIEF1dG9tYXRpb25UYWdzUHJvcHMsXG4gIENvc3RDZW50ZXJUYWdzUHJvcHMsXG4gIFNlY3VyaXR5VGFnc1Byb3BzLFxuICBTdGFuZGFyZFRhZ3MsXG4gIFN0YW5kYXJkVGFnc09wdGlvbnMsXG4gIFRlYW1UYWdzUHJvcHNcbn0gZnJvbSBcIi4vc3RhbmRhcmQtdGFnc1wiO1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgU3RhbmRhcmRTdGFjay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFuZGFyZFN0YWNrUHJvcHMgZXh0ZW5kcyBFeHRlbmRlZFN0YWNrUHJvcHMsIFN0YW5kYXJkVGFnc09wdGlvbnMge1xuXG59XG5cbi8qKlxuICogQWRkcyBzdXBwb3J0IGZvciB0YWdzIGFuZCBlbnZpcm9ubWVudCBuYW1lcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0YW5kYXJkU3RhY2sgZXh0ZW5kcyBFeHRlbmRlZFN0YWNrIHtcblxuICByZWFkb25seSBhdXRvbWF0aW9uVGFncz86IEF1dG9tYXRpb25UYWdzUHJvcHM7XG4gIHJlYWRvbmx5IGNvc3RDZW50ZXJUYWdzPzogQ29zdENlbnRlclRhZ3NQcm9wcztcbiAgcmVhZG9ubHkgc2VjdXJpdHlUYWdzPzogU2VjdXJpdHlUYWdzUHJvcHM7XG4gIHJlYWRvbmx5IHRlYW1UYWdzPzogVGVhbVRhZ3NQcm9wcztcbiAgcmVhZG9ubHkgc3VwcHJlc3NUYWdzPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3RhbmRhcmRTdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBjb25zdCBzdGFuZGFyZFNjb3BlOiBTdGFuZGFyZEFwcCB8IFN0YW5kYXJkU3RhZ2UgfCBTdGFuZGFyZFN0YWNrIHwgdW5kZWZpbmVkID1cbiAgICAgIHNjb3BlIGluc3RhbmNlb2YgU3RhbmRhcmRBcHAgfHwgc2NvcGUgaW5zdGFuY2VvZiBTdGFuZGFyZFN0YWdlIHx8IHNjb3BlIGluc3RhbmNlb2YgU3RhbmRhcmRTdGFja1xuICAgICAgICA/IHNjb3BlIDogdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5hdXRvbWF0aW9uVGFncyA9IHByb3BzLmF1dG9tYXRpb25UYWdzID8/IHN0YW5kYXJkU2NvcGU/LmF1dG9tYXRpb25UYWdzO1xuICAgIHRoaXMuY29zdENlbnRlclRhZ3MgPSBwcm9wcy5jb3N0Q2VudGVyVGFncyA/PyBzdGFuZGFyZFNjb3BlPy5jb3N0Q2VudGVyVGFncztcbiAgICB0aGlzLnNlY3VyaXR5VGFncyA9IHByb3BzLnNlY3VyaXR5VGFncyA/PyBzdGFuZGFyZFNjb3BlPy5zZWN1cml0eVRhZ3M7XG4gICAgdGhpcy50ZWFtVGFncyA9IHByb3BzLnRlYW1UYWdzID8/IHN0YW5kYXJkU2NvcGU/LnRlYW1UYWdzO1xuICAgIHRoaXMuc3VwcHJlc3NUYWdzID0gcHJvcHMuc3VwcHJlc3NUYWdzID8/IHN0YW5kYXJkU2NvcGU/LnN1cHByZXNzVGFncztcblxuICAgIG5ldyBTdGFuZGFyZFRhZ3ModGhpcywge3N1cHByZXNzOiBwcm9wcy5zdXBwcmVzc1RhZ3N9KVxuICAgICAgLmFkZEF1dG9tYXRpb25Db21wb25lbnRUYWdzKHtcbiAgICAgICAgdXJsOiBDREtfTlBNSlNfVVJMLFxuICAgICAgICB2ZW5kb3I6IENES19WRU5ET1IsXG4gICAgICAgIGluY2x1ZGVSZXNvdXJjZVR5cGVzOiBbXCJBV1M6OkNsb3VkRm9ybWF0aW9uOjpTdGFja1wiXVxuICAgICAgfSlcbiAgICAgIC5hZGRBdXRvbWF0aW9uVGFncyhwcm9wcy5hdXRvbWF0aW9uVGFncylcbiAgICAgIC5hZGRDb3N0Q2VudGVyVGFncyhwcm9wcy5jb3N0Q2VudGVyVGFncylcbiAgICAgIC5hZGRTZWN1cml0eVRhZ3MocHJvcHMuc2VjdXJpdHlUYWdzKVxuICAgICAgLmFkZFRlYW1UYWdzKHByb3BzLnRlYW1UYWdzKTtcbiAgfVxufVxuIl19
@@ -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
@@ -208,29 +208,57 @@ export declare class StandardTags {
208
208
  *
209
209
  * @param props optional properties for the tags
210
210
  */
211
- addAutomationComponentTags(props: AutomationComponentTagsProps): StandardTags;
211
+ addAutomationComponentTags(props?: AutomationComponentTagsProps): StandardTags;
212
212
  /**
213
213
  * Adds automation tags.
214
214
  *
215
215
  * @param props properties for the tags
216
216
  */
217
- addAutomationTags(props: AutomationTagsProps): StandardTags;
217
+ addAutomationTags(props?: AutomationTagsProps): StandardTags;
218
218
  /**
219
219
  * Adds cost center tags.
220
220
  *
221
221
  * @param props properties for the tags
222
222
  */
223
- addCostCenterTags(props: CostCenterTagsProps): StandardTags;
223
+ addCostCenterTags(props?: CostCenterTagsProps): StandardTags;
224
224
  /**
225
225
  * Adds security tags.
226
226
  *
227
227
  * @param props properties for security tags
228
228
  */
229
- addSecurityTags(props: SecurityTagsProps): StandardTags;
229
+ addSecurityTags(props?: SecurityTagsProps): StandardTags;
230
230
  /**
231
231
  * Adds team tags.
232
232
  *
233
233
  * @param props properties for team tags
234
234
  */
235
- addTeamTags(props: TeamTagsProps): StandardTags;
235
+ addTeamTags(props?: TeamTagsProps): StandardTags;
236
+ }
237
+ /**
238
+ * Contains standard tagging options.
239
+ */
240
+ export interface StandardTagsOptions {
241
+ /**
242
+ * Automation tags to apply to created resources.
243
+ */
244
+ readonly automationTags?: AutomationTagsProps;
245
+ /**
246
+ * Cost center tags to apply to created resources.
247
+ */
248
+ readonly costCenterTags?: CostCenterTagsProps;
249
+ /**
250
+ * Security tags to apply to created resources.
251
+ */
252
+ readonly securityTags?: SecurityTagsProps;
253
+ /**
254
+ * Team tags to apply to created resources.
255
+ */
256
+ readonly teamTags?: TeamTagsProps;
257
+ /**
258
+ * Setting this to true will suppress the creation of tags this resource creates.
259
+ * Default value is false.
260
+ *
261
+ * @default - false
262
+ */
263
+ readonly suppressTags?: boolean;
236
264
  }