@liflig/cdk 2.17.1 → 2.18.1

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 (140) hide show
  1. package/package.json +10 -10
  2. package/assets/cloudtrail-slack-integration-lambda/main.py +0 -267
  3. package/assets/pipeline-slack-notification-lambda/index.py +0 -300
  4. package/assets/prepare-cdk-source-lambda/index.py +0 -159
  5. package/assets/slack-alarm-lambda/index.py +0 -103
  6. package/lib/alarms/database-alarms.d.ts +0 -125
  7. package/lib/alarms/database-alarms.js +0 -171
  8. package/lib/alarms/index.d.ts +0 -3
  9. package/lib/alarms/index.js +0 -10
  10. package/lib/alarms/service-alarms.d.ts +0 -145
  11. package/lib/alarms/service-alarms.js +0 -148
  12. package/lib/alarms/ses-alarms.d.ts +0 -67
  13. package/lib/alarms/ses-alarms.js +0 -49
  14. package/lib/alarms/slack-alarm.d.ts +0 -25
  15. package/lib/alarms/slack-alarm.js +0 -47
  16. package/lib/bastion-host.d.ts +0 -41
  17. package/lib/bastion-host.js +0 -86
  18. package/lib/bin/cdk-create-snapshots.d.ts +0 -2
  19. package/lib/bin/fetch-pipeline-variables.d.ts +0 -2
  20. package/lib/build-artifacts/index.d.ts +0 -68
  21. package/lib/build-artifacts/index.js +0 -118
  22. package/lib/cdk-deploy/cdk-deploy.d.ts +0 -63
  23. package/lib/cdk-deploy/cdk-deploy.js +0 -175
  24. package/lib/cdk-deploy/index.d.ts +0 -1
  25. package/lib/cdk-deploy/index.js +0 -6
  26. package/lib/cdk-deploy/start-deploy-handler.d.ts +0 -8
  27. package/lib/cdk-deploy/start-deploy-handler.js +0 -72
  28. package/lib/cdk-deploy/status-handler.d.ts +0 -6
  29. package/lib/cdk-deploy/status-handler.js +0 -83
  30. package/lib/cdk-pipelines/cloud-assembly-lookup-handler.d.ts +0 -6
  31. package/lib/cdk-pipelines/cloud-assembly-lookup-handler.js +0 -63
  32. package/lib/cdk-pipelines/index.d.ts +0 -3
  33. package/lib/cdk-pipelines/index.js +0 -10
  34. package/lib/cdk-pipelines/liflig-cdk-pipeline.d.ts +0 -110
  35. package/lib/cdk-pipelines/liflig-cdk-pipeline.js +0 -232
  36. package/lib/cdk-pipelines/slack-notification.d.ts +0 -51
  37. package/lib/cdk-pipelines/slack-notification.js +0 -54
  38. package/lib/cdk-pipelines/variables.d.ts +0 -15
  39. package/lib/cdk-pipelines/variables.js +0 -80
  40. package/lib/cloudtrail-slack-integration/cloudtrail-slack-integration.d.ts +0 -47
  41. package/lib/cloudtrail-slack-integration/cloudtrail-slack-integration.js +0 -211
  42. package/lib/cloudtrail-slack-integration/index.d.ts +0 -1
  43. package/lib/cloudtrail-slack-integration/index.js +0 -6
  44. package/lib/configure-parameters/configure-parameters.d.ts +0 -61
  45. package/lib/configure-parameters/configure-parameters.js +0 -94
  46. package/lib/configure-parameters/index.d.ts +0 -1
  47. package/lib/configure-parameters/index.js +0 -6
  48. package/lib/cross-region-ssm-parameter.d.ts +0 -13
  49. package/lib/cross-region-ssm-parameter.js +0 -46
  50. package/lib/ecs/cluster.d.ts +0 -25
  51. package/lib/ecs/cluster.js +0 -70
  52. package/lib/ecs/fargate-service.d.ts +0 -62
  53. package/lib/ecs/fargate-service.js +0 -99
  54. package/lib/ecs/index.d.ts +0 -3
  55. package/lib/ecs/index.js +0 -10
  56. package/lib/ecs/listener-rule.d.ts +0 -25
  57. package/lib/ecs/listener-rule.js +0 -27
  58. package/lib/ecs-update-image/artifact-status.d.ts +0 -39
  59. package/lib/ecs-update-image/artifact-status.js +0 -41
  60. package/lib/ecs-update-image/ecs-update-image.d.ts +0 -41
  61. package/lib/ecs-update-image/ecs-update-image.js +0 -98
  62. package/lib/ecs-update-image/index.d.ts +0 -3
  63. package/lib/ecs-update-image/index.js +0 -10
  64. package/lib/ecs-update-image/start-deploy-handler.d.ts +0 -6
  65. package/lib/ecs-update-image/start-deploy-handler.js +0 -104
  66. package/lib/ecs-update-image/status-handler.d.ts +0 -11
  67. package/lib/ecs-update-image/status-handler.js +0 -74
  68. package/lib/ecs-update-image/tag.d.ts +0 -47
  69. package/lib/ecs-update-image/tag.js +0 -67
  70. package/lib/feature-flags.d.ts +0 -18
  71. package/lib/feature-flags.js +0 -48
  72. package/lib/griid/artefact-bucket.d.ts +0 -7
  73. package/lib/griid/artefact-bucket.js +0 -30
  74. package/lib/griid/index.d.ts +0 -4
  75. package/lib/griid/index.js +0 -18
  76. package/lib/hosted-zone-with-param.d.ts +0 -29
  77. package/lib/hosted-zone-with-param.js +0 -65
  78. package/lib/index.d.ts +0 -32
  79. package/lib/kinesis/index.d.ts +0 -1
  80. package/lib/kinesis/index.js +0 -6
  81. package/lib/kinesis/kinesis-to-datadog-stream.d.ts +0 -28
  82. package/lib/kinesis/kinesis-to-datadog-stream.js +0 -126
  83. package/lib/load-balancer/index.d.ts +0 -1
  84. package/lib/load-balancer/index.js +0 -6
  85. package/lib/load-balancer/load-balancer.d.ts +0 -16
  86. package/lib/load-balancer/load-balancer.js +0 -60
  87. package/lib/pipelines/conventions.d.ts +0 -14
  88. package/lib/pipelines/conventions.js +0 -24
  89. package/lib/pipelines/deploy-env.d.ts +0 -18
  90. package/lib/pipelines/deploy-env.js +0 -96
  91. package/lib/pipelines/index.d.ts +0 -2
  92. package/lib/pipelines/index.js +0 -8
  93. package/lib/pipelines/liflig-cdk-deployer-deps.d.ts +0 -13
  94. package/lib/pipelines/liflig-cdk-deployer-deps.js +0 -35
  95. package/lib/pipelines/pipeline.d.ts +0 -78
  96. package/lib/pipelines/pipeline.js +0 -224
  97. package/lib/platform/index.d.ts +0 -1
  98. package/lib/platform/index.js +0 -7
  99. package/lib/platform/platform.d.ts +0 -37
  100. package/lib/platform/platform.js +0 -57
  101. package/lib/rds/database.d.ts +0 -49
  102. package/lib/rds/database.js +0 -60
  103. package/lib/rds/index.d.ts +0 -1
  104. package/lib/rds/index.js +0 -6
  105. package/lib/ses/configurationsetdeliveryoptions/index.d.ts +0 -26
  106. package/lib/ses/configurationsetdeliveryoptions/index.js +0 -48
  107. package/lib/ses/configurationsetsnsdestination/handler.d.ts +0 -17
  108. package/lib/ses/configurationsetsnsdestination/handler.js +0 -75
  109. package/lib/ses/configurationsetsnsdestination/index.d.ts +0 -29
  110. package/lib/ses/configurationsetsnsdestination/index.js +0 -75
  111. package/lib/ses/index.d.ts +0 -4
  112. package/lib/ses/index.js +0 -12
  113. package/lib/ses/sesdomain/handler.d.ts +0 -10
  114. package/lib/ses/sesdomain/handler.js +0 -82
  115. package/lib/ses/sesdomain/index.d.ts +0 -57
  116. package/lib/ses/sesdomain/index.js +0 -94
  117. package/lib/ses/sesverifyemail/handler.d.ts +0 -9
  118. package/lib/ses/sesverifyemail/handler.js +0 -25
  119. package/lib/ses/sesverifyemail/index.d.ts +0 -13
  120. package/lib/ses/sesverifyemail/index.js +0 -51
  121. package/lib/snapshots.d.ts +0 -4
  122. package/lib/snapshots.js +0 -214
  123. package/lib/ssm-parameter-backed-resource.d.ts +0 -45
  124. package/lib/ssm-parameter-backed-resource.js +0 -67
  125. package/lib/ssm-parameter-reader.d.ts +0 -21
  126. package/lib/ssm-parameter-reader.js +0 -48
  127. package/lib/tags.d.ts +0 -8
  128. package/lib/tags.js +0 -36
  129. package/lib/utils.d.ts +0 -2
  130. package/lib/utils.js +0 -17
  131. package/lib/webapp/index.d.ts +0 -3
  132. package/lib/webapp/index.js +0 -10
  133. package/lib/webapp/monitor.d.ts +0 -187
  134. package/lib/webapp/monitor.js +0 -156
  135. package/lib/webapp/security-headers.d.ts +0 -38
  136. package/lib/webapp/security-headers.js +0 -129
  137. package/lib/webapp/webapp.d.ts +0 -116
  138. package/lib/webapp/webapp.js +0 -118
  139. package/lib/webapp-deploy-via-role.d.ts +0 -25
  140. package/lib/webapp-deploy-via-role.js +0 -32
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.startDeployHandler = void 0;
4
- // This function is inline-compiled for the lambda.
5
- // It must be self-contained.
6
- const startDeployHandler = async (event, context) => {
7
- var _a;
8
- const AWS = require("aws-sdk");
9
- const codebuild = new AWS.CodeBuild();
10
- const s3 = new AWS.S3();
11
- function requireEnv(name) {
12
- const value = process.env[name];
13
- if (value === undefined) {
14
- throw new Error(`Missing ${name}`);
15
- }
16
- return value;
17
- }
18
- const projectName = requireEnv("PROJECT_NAME");
19
- const bucketName = requireEnv("BUCKET_NAME");
20
- const cdkContext = JSON.parse(requireEnv("CDK_CONTEXT"));
21
- // Since we pass the stack names as strings to the shell,
22
- // be a bit restrictive of the valid values we can use.
23
- const validStackName = /^[a-z0-9_][a-z0-9\-_]*$/i;
24
- const s3KeyPrefix = `${context.awsRequestId}/`;
25
- // Validate the input.
26
- if (typeof event.bucketName !== "string" ||
27
- typeof event.bucketKey !== "string" ||
28
- !Array.isArray(event.stackNames) ||
29
- !event.stackNames.every((it) => typeof it === "string" && validStackName.test(it))) {
30
- throw new Error("Input invalid: " + JSON.stringify(event, undefined, " "));
31
- }
32
- async function put(name, data) {
33
- await s3
34
- .putObject({
35
- Bucket: bucketName,
36
- Key: `${s3KeyPrefix}${name}`,
37
- Body: data,
38
- })
39
- .promise();
40
- }
41
- await put("stack-names.txt", event.stackNames.join(" "));
42
- // Ensure that we run the script using same feature flags.
43
- await put("cdk.json", JSON.stringify({
44
- context: cdkContext,
45
- }));
46
- const build = await codebuild
47
- .startBuild({
48
- projectName,
49
- sourceTypeOverride: "S3",
50
- sourceLocationOverride: `${bucketName}/${s3KeyPrefix}`,
51
- secondarySourcesOverride: [
52
- {
53
- type: "S3",
54
- location: `${event.bucketName}/${event.bucketKey}`,
55
- sourceIdentifier: "CLOUDASSEMBLY",
56
- },
57
- ],
58
- })
59
- .promise();
60
- const buildId = (_a = build.build) === null || _a === void 0 ? void 0 : _a.id;
61
- if (buildId == null) {
62
- throw new Error("Unknown build ID");
63
- }
64
- return {
65
- // This is the value the caller will use to fetch updated status.
66
- // Avoid exposing what kind of ID this is, because we should be free
67
- // to change implementation details.
68
- jobId: buildId,
69
- };
70
- };
71
- exports.startDeployHandler = startDeployHandler;
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtZGVwbG95LWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLWRlcGxveS9zdGFydC1kZXBsb3ktaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFhQSxtREFBbUQ7QUFDbkQsNkJBQTZCO0FBQ3RCLE1BQU0sa0JBQWtCLEdBRTNCLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7O0lBQzNCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUU5QixNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQW9CLENBQUE7SUFDdkQsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxFQUFhLENBQUE7SUFFbEMsU0FBUyxVQUFVLENBQUMsSUFBWTtRQUM5QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQy9CLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ3BDLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDOUMsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQzVDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUE7SUFFeEQseURBQXlEO0lBQ3pELHVEQUF1RDtJQUN2RCxNQUFNLGNBQWMsR0FBRywwQkFBMEIsQ0FBQTtJQUVqRCxNQUFNLFdBQVcsR0FBRyxHQUFHLE9BQU8sQ0FBQyxZQUFZLEdBQUcsQ0FBQTtJQUU5QyxzQkFBc0I7SUFDdEIsSUFDRSxPQUFPLEtBQUssQ0FBQyxVQUFVLEtBQUssUUFBUTtRQUNwQyxPQUFPLEtBQUssQ0FBQyxTQUFTLEtBQUssUUFBUTtRQUNuQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUNoQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUNyQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssUUFBUSxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQzFELEVBQ0QsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDN0UsQ0FBQztJQUVELEtBQUssVUFBVSxHQUFHLENBQUMsSUFBWSxFQUFFLElBQWlCO1FBQ2hELE1BQU0sRUFBRTthQUNMLFNBQVMsQ0FBQztZQUNULE1BQU0sRUFBRSxVQUFVO1lBQ2xCLEdBQUcsRUFBRSxHQUFHLFdBQVcsR0FBRyxJQUFJLEVBQUU7WUFDNUIsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDO2FBQ0QsT0FBTyxFQUFFLENBQUE7SUFDZCxDQUFDO0lBRUQsTUFBTSxHQUFHLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUN4RCwwREFBMEQ7SUFDMUQsTUFBTSxHQUFHLENBQ1AsVUFBVSxFQUNWLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDYixPQUFPLEVBQUUsVUFBVTtLQUNwQixDQUFDLENBQ0gsQ0FBQTtJQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sU0FBUztTQUMxQixVQUFVLENBQUM7UUFDVixXQUFXO1FBQ1gsa0JBQWtCLEVBQUUsSUFBSTtRQUN4QixzQkFBc0IsRUFBRSxHQUFHLFVBQVUsSUFBSSxXQUFXLEVBQUU7UUFDdEQsd0JBQXdCLEVBQUU7WUFDeEI7Z0JBQ0UsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO2dCQUNsRCxnQkFBZ0IsRUFBRSxlQUFlO2FBQ2xDO1NBQ0Y7S0FDRixDQUFDO1NBQ0QsT0FBTyxFQUFFLENBQUE7SUFFWixNQUFNLE9BQU8sR0FBRyxNQUFBLEtBQUssQ0FBQyxLQUFLLDBDQUFFLEVBQUUsQ0FBQTtJQUMvQixJQUFJLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDckMsQ0FBQztJQUVELE9BQU87UUFDTCxpRUFBaUU7UUFDakUsb0VBQW9FO1FBQ3BFLG9DQUFvQztRQUNwQyxLQUFLLEVBQUUsT0FBTztLQUNmLENBQUE7QUFDSCxDQUFDLENBQUE7QUFuRlksUUFBQSxrQkFBa0Isc0JBbUY5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1jYWxsICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3MgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXMgKi9cbmltcG9ydCB7IEhhbmRsZXIgfSBmcm9tIFwiYXdzLWxhbWJkYVwiXG5pbXBvcnQgdHlwZSAqIGFzIF9BV1MgZnJvbSBcImF3cy1zZGtcIlxuXG5pbnRlcmZhY2UgU3RhcnREZXBsb3lFeHBlY3RlZElucHV0IHtcbiAgYnVja2V0TmFtZTogc3RyaW5nXG4gIGJ1Y2tldEtleTogc3RyaW5nXG4gIHN0YWNrTmFtZXM6IHN0cmluZ1tdXG59XG5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgaW5saW5lLWNvbXBpbGVkIGZvciB0aGUgbGFtYmRhLlxuLy8gSXQgbXVzdCBiZSBzZWxmLWNvbnRhaW5lZC5cbmV4cG9ydCBjb25zdCBzdGFydERlcGxveUhhbmRsZXI6IEhhbmRsZXI8XG4gIFBhcnRpYWw8U3RhcnREZXBsb3lFeHBlY3RlZElucHV0PlxuPiA9IGFzeW5jIChldmVudCwgY29udGV4dCkgPT4ge1xuICBjb25zdCBBV1MgPSByZXF1aXJlKFwiYXdzLXNka1wiKVxuXG4gIGNvbnN0IGNvZGVidWlsZCA9IG5ldyBBV1MuQ29kZUJ1aWxkKCkgYXMgX0FXUy5Db2RlQnVpbGRcbiAgY29uc3QgczMgPSBuZXcgQVdTLlMzKCkgYXMgX0FXUy5TM1xuXG4gIGZ1bmN0aW9uIHJlcXVpcmVFbnYobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZSA9IHByb2Nlc3MuZW52W25hbWVdXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyAke25hbWV9YClcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICBjb25zdCBwcm9qZWN0TmFtZSA9IHJlcXVpcmVFbnYoXCJQUk9KRUNUX05BTUVcIilcbiAgY29uc3QgYnVja2V0TmFtZSA9IHJlcXVpcmVFbnYoXCJCVUNLRVRfTkFNRVwiKVxuICBjb25zdCBjZGtDb250ZXh0ID0gSlNPTi5wYXJzZShyZXF1aXJlRW52KFwiQ0RLX0NPTlRFWFRcIikpXG5cbiAgLy8gU2luY2Ugd2UgcGFzcyB0aGUgc3RhY2sgbmFtZXMgYXMgc3RyaW5ncyB0byB0aGUgc2hlbGwsXG4gIC8vIGJlIGEgYml0IHJlc3RyaWN0aXZlIG9mIHRoZSB2YWxpZCB2YWx1ZXMgd2UgY2FuIHVzZS5cbiAgY29uc3QgdmFsaWRTdGFja05hbWUgPSAvXlthLXowLTlfXVthLXowLTlcXC1fXSokL2lcblxuICBjb25zdCBzM0tleVByZWZpeCA9IGAke2NvbnRleHQuYXdzUmVxdWVzdElkfS9gXG5cbiAgLy8gVmFsaWRhdGUgdGhlIGlucHV0LlxuICBpZiAoXG4gICAgdHlwZW9mIGV2ZW50LmJ1Y2tldE5hbWUgIT09IFwic3RyaW5nXCIgfHxcbiAgICB0eXBlb2YgZXZlbnQuYnVja2V0S2V5ICE9PSBcInN0cmluZ1wiIHx8XG4gICAgIUFycmF5LmlzQXJyYXkoZXZlbnQuc3RhY2tOYW1lcykgfHxcbiAgICAhZXZlbnQuc3RhY2tOYW1lcy5ldmVyeShcbiAgICAgIChpdCkgPT4gdHlwZW9mIGl0ID09PSBcInN0cmluZ1wiICYmIHZhbGlkU3RhY2tOYW1lLnRlc3QoaXQpLFxuICAgIClcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgaW52YWxpZDogXCIgKyBKU09OLnN0cmluZ2lmeShldmVudCwgdW5kZWZpbmVkLCBcIiAgXCIpKVxuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gcHV0KG5hbWU6IHN0cmluZywgZGF0YTogQVdTLlMzLkJvZHkpIHtcbiAgICBhd2FpdCBzM1xuICAgICAgLnB1dE9iamVjdCh7XG4gICAgICAgIEJ1Y2tldDogYnVja2V0TmFtZSxcbiAgICAgICAgS2V5OiBgJHtzM0tleVByZWZpeH0ke25hbWV9YCxcbiAgICAgICAgQm9keTogZGF0YSxcbiAgICAgIH0pXG4gICAgICAucHJvbWlzZSgpXG4gIH1cblxuICBhd2FpdCBwdXQoXCJzdGFjay1uYW1lcy50eHRcIiwgZXZlbnQuc3RhY2tOYW1lcy5qb2luKFwiIFwiKSlcbiAgLy8gRW5zdXJlIHRoYXQgd2UgcnVuIHRoZSBzY3JpcHQgdXNpbmcgc2FtZSBmZWF0dXJlIGZsYWdzLlxuICBhd2FpdCBwdXQoXG4gICAgXCJjZGsuanNvblwiLFxuICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIGNvbnRleHQ6IGNka0NvbnRleHQsXG4gICAgfSksXG4gIClcblxuICBjb25zdCBidWlsZCA9IGF3YWl0IGNvZGVidWlsZFxuICAgIC5zdGFydEJ1aWxkKHtcbiAgICAgIHByb2plY3ROYW1lLFxuICAgICAgc291cmNlVHlwZU92ZXJyaWRlOiBcIlMzXCIsXG4gICAgICBzb3VyY2VMb2NhdGlvbk92ZXJyaWRlOiBgJHtidWNrZXROYW1lfS8ke3MzS2V5UHJlZml4fWAsXG4gICAgICBzZWNvbmRhcnlTb3VyY2VzT3ZlcnJpZGU6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwiUzNcIixcbiAgICAgICAgICBsb2NhdGlvbjogYCR7ZXZlbnQuYnVja2V0TmFtZX0vJHtldmVudC5idWNrZXRLZXl9YCxcbiAgICAgICAgICBzb3VyY2VJZGVudGlmaWVyOiBcIkNMT1VEQVNTRU1CTFlcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSlcbiAgICAucHJvbWlzZSgpXG5cbiAgY29uc3QgYnVpbGRJZCA9IGJ1aWxkLmJ1aWxkPy5pZFxuICBpZiAoYnVpbGRJZCA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBidWlsZCBJRFwiKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAvLyBUaGlzIGlzIHRoZSB2YWx1ZSB0aGUgY2FsbGVyIHdpbGwgdXNlIHRvIGZldGNoIHVwZGF0ZWQgc3RhdHVzLlxuICAgIC8vIEF2b2lkIGV4cG9zaW5nIHdoYXQga2luZCBvZiBJRCB0aGlzIGlzLCBiZWNhdXNlIHdlIHNob3VsZCBiZSBmcmVlXG4gICAgLy8gdG8gY2hhbmdlIGltcGxlbWVudGF0aW9uIGRldGFpbHMuXG4gICAgam9iSWQ6IGJ1aWxkSWQsXG4gIH1cbn1cbiJdfQ==
@@ -1,6 +0,0 @@
1
- import { Handler } from "aws-lambda";
2
- interface StatusExpectedInput {
3
- jobId: string;
4
- }
5
- export declare const statusHandler: Handler<Partial<StatusExpectedInput>>;
6
- export {};
@@ -1,83 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.statusHandler = void 0;
4
- // This function is inline-compiled for the lambda.
5
- // It must be self-contained.
6
- const statusHandler = async (event) => {
7
- const AWS = require("aws-sdk");
8
- function requireEnv(name) {
9
- const value = process.env[name];
10
- if (value === undefined) {
11
- throw new Error(`Missing ${name}`);
12
- }
13
- return value;
14
- }
15
- /**
16
- * Get success status.
17
- *
18
- * A value of true means the job has completed successfully, while
19
- * a value of false means the job did complete but not successfully.
20
- *
21
- * A null value means the job is still in progress and the
22
- * completion status is not yet known.
23
- */
24
- function getSuccess(status) {
25
- if (status == "SUCCEEDED") {
26
- return true;
27
- }
28
- if (status == "IN_PROGRESS") {
29
- return null;
30
- }
31
- return false;
32
- }
33
- async function getBuild(buildId) {
34
- var _a, _b, _c;
35
- const codebuild = new AWS.CodeBuild();
36
- const result = await codebuild.batchGetBuilds({ ids: [buildId] }).promise();
37
- if (((_a = result.builds) === null || _a === void 0 ? void 0 : _a.length) !== 1) {
38
- throw new Error(`Expected 1 item, found ${(_c = (_b = result.builds) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : "unknown"}`);
39
- }
40
- return result.builds[0];
41
- }
42
- async function getLogs(build) {
43
- if (build.logs == null) {
44
- throw new Error("Missing logs attribute on build");
45
- }
46
- if (build.logs.groupName == null) {
47
- throw new Error("Missing log groupName");
48
- }
49
- if (build.logs.streamName == null) {
50
- throw new Error("Missing log streamName");
51
- }
52
- const cloudwatchlogs = new AWS.CloudWatchLogs();
53
- const data = await cloudwatchlogs
54
- .getLogEvents({
55
- logGroupName: build.logs.groupName,
56
- logStreamName: build.logs.streamName,
57
- startFromHead: true,
58
- })
59
- .promise();
60
- if (data.events == null) {
61
- throw new Error("Failed to fetch log events");
62
- }
63
- // The logs contain newlines, so no need to add more.
64
- return data.events.map((it) => it.message).join("");
65
- }
66
- const projectName = requireEnv("PROJECT_NAME");
67
- // Validate the input.
68
- if (typeof event.jobId !== "string" ||
69
- !event.jobId.startsWith(`${projectName}:`)) {
70
- throw new Error("Input invalid: " + JSON.stringify(event, undefined, " "));
71
- }
72
- const build = await getBuild(event.jobId);
73
- const success = build.buildStatus == null ? null : getSuccess(build.buildStatus);
74
- // Read logs from CloudWatch if completed.
75
- const logs = success != null ? await getLogs(build) : null;
76
- return {
77
- jobId: event.jobId,
78
- success,
79
- logs,
80
- };
81
- };
82
- exports.statusHandler = statusHandler;
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLWRlcGxveS9zdGF0dXMtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFXQSxtREFBbUQ7QUFDbkQsNkJBQTZCO0FBQ3RCLE1BQU0sYUFBYSxHQUEwQyxLQUFLLEVBQ3ZFLEtBQUssRUFDTCxFQUFFO0lBQ0YsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBRTlCLFNBQVMsVUFBVSxDQUFDLElBQVk7UUFDOUIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMvQixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNwQyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxTQUFTLFVBQVUsQ0FBQyxNQUFnQztRQUNsRCxJQUFJLE1BQU0sSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUMxQixPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7UUFFRCxJQUFJLE1BQU0sSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxLQUFLLFVBQVUsUUFBUSxDQUFDLE9BQWU7O1FBQ3JDLE1BQU0sU0FBUyxHQUFrQixJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQW9CLENBQUE7UUFDdEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxTQUFTLENBQUMsY0FBYyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRTNFLElBQUksQ0FBQSxNQUFBLE1BQU0sQ0FBQyxNQUFNLDBDQUFFLE1BQU0sTUFBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxNQUFNLElBQUksS0FBSyxDQUNiLDBCQUEwQixNQUFBLE1BQUEsTUFBTSxDQUFDLE1BQU0sMENBQUUsTUFBTSxtQ0FBSSxTQUFTLEVBQUUsQ0FDL0QsQ0FBQTtRQUNILENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVELEtBQUssVUFBVSxPQUFPLENBQUMsS0FBMEI7UUFDL0MsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQTtRQUNwRCxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUE7UUFDMUMsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxFQUFFLENBQUM7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBQzNDLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FDbEIsSUFBSSxHQUFHLENBQUMsY0FBYyxFQUF5QixDQUFBO1FBQ2pELE1BQU0sSUFBSSxHQUFHLE1BQU0sY0FBYzthQUM5QixZQUFZLENBQUM7WUFDWixZQUFZLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQ2xDLGFBQWEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFDcEMsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FBQzthQUNELE9BQU8sRUFBRSxDQUFBO1FBRVosSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtRQUMvQyxDQUFDO1FBRUQscURBQXFEO1FBQ3JELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUU5QyxzQkFBc0I7SUFDdEIsSUFDRSxPQUFPLEtBQUssQ0FBQyxLQUFLLEtBQUssUUFBUTtRQUMvQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsV0FBVyxHQUFHLENBQUMsRUFDMUMsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDN0UsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUV6QyxNQUFNLE9BQU8sR0FDWCxLQUFLLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBRWxFLDBDQUEwQztJQUMxQyxNQUFNLElBQUksR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0lBRTFELE9BQU87UUFDTCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7UUFDbEIsT0FBTztRQUNQLElBQUk7S0FDTCxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBckdZLFFBQUEsYUFBYSxpQkFxR3pCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGwgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2VzcyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlcyAqL1xuaW1wb3J0IHsgSGFuZGxlciB9IGZyb20gXCJhd3MtbGFtYmRhXCJcbmltcG9ydCB0eXBlICogYXMgX0FXUyBmcm9tIFwiYXdzLXNka1wiXG5cbmludGVyZmFjZSBTdGF0dXNFeHBlY3RlZElucHV0IHtcbiAgam9iSWQ6IHN0cmluZ1xufVxuXG4vLyBUaGlzIGZ1bmN0aW9uIGlzIGlubGluZS1jb21waWxlZCBmb3IgdGhlIGxhbWJkYS5cbi8vIEl0IG11c3QgYmUgc2VsZi1jb250YWluZWQuXG5leHBvcnQgY29uc3Qgc3RhdHVzSGFuZGxlcjogSGFuZGxlcjxQYXJ0aWFsPFN0YXR1c0V4cGVjdGVkSW5wdXQ+PiA9IGFzeW5jIChcbiAgZXZlbnQsXG4pID0+IHtcbiAgY29uc3QgQVdTID0gcmVxdWlyZShcImF3cy1zZGtcIilcblxuICBmdW5jdGlvbiByZXF1aXJlRW52KG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsdWUgPSBwcm9jZXNzLmVudltuYW1lXVxuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgJHtuYW1lfWApXG4gICAgfVxuICAgIHJldHVybiB2YWx1ZVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzdWNjZXNzIHN0YXR1cy5cbiAgICpcbiAgICogQSB2YWx1ZSBvZiB0cnVlIG1lYW5zIHRoZSBqb2IgaGFzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHksIHdoaWxlXG4gICAqIGEgdmFsdWUgb2YgZmFsc2UgbWVhbnMgdGhlIGpvYiBkaWQgY29tcGxldGUgYnV0IG5vdCBzdWNjZXNzZnVsbHkuXG4gICAqXG4gICAqIEEgbnVsbCB2YWx1ZSBtZWFucyB0aGUgam9iIGlzIHN0aWxsIGluIHByb2dyZXNzIGFuZCB0aGVcbiAgICogY29tcGxldGlvbiBzdGF0dXMgaXMgbm90IHlldCBrbm93bi5cbiAgICovXG4gIGZ1bmN0aW9uIGdldFN1Y2Nlc3Moc3RhdHVzOiBBV1MuQ29kZUJ1aWxkLlN0YXR1c1R5cGUpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgaWYgKHN0YXR1cyA9PSBcIlNVQ0NFRURFRFwiKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGlmIChzdGF0dXMgPT0gXCJJTl9QUk9HUkVTU1wiKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gZ2V0QnVpbGQoYnVpbGRJZDogc3RyaW5nKTogUHJvbWlzZTxBV1MuQ29kZUJ1aWxkLkJ1aWxkPiB7XG4gICAgY29uc3QgY29kZWJ1aWxkOiBBV1MuQ29kZUJ1aWxkID0gbmV3IEFXUy5Db2RlQnVpbGQoKSBhcyBfQVdTLkNvZGVCdWlsZFxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvZGVidWlsZC5iYXRjaEdldEJ1aWxkcyh7IGlkczogW2J1aWxkSWRdIH0pLnByb21pc2UoKVxuXG4gICAgaWYgKHJlc3VsdC5idWlsZHM/Lmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRXhwZWN0ZWQgMSBpdGVtLCBmb3VuZCAke3Jlc3VsdC5idWlsZHM/Lmxlbmd0aCA/PyBcInVua25vd25cIn1gLFxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQuYnVpbGRzWzBdXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBnZXRMb2dzKGJ1aWxkOiBBV1MuQ29kZUJ1aWxkLkJ1aWxkKSB7XG4gICAgaWYgKGJ1aWxkLmxvZ3MgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBsb2dzIGF0dHJpYnV0ZSBvbiBidWlsZFwiKVxuICAgIH1cblxuICAgIGlmIChidWlsZC5sb2dzLmdyb3VwTmFtZSA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGxvZyBncm91cE5hbWVcIilcbiAgICB9XG5cbiAgICBpZiAoYnVpbGQubG9ncy5zdHJlYW1OYW1lID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgbG9nIHN0cmVhbU5hbWVcIilcbiAgICB9XG5cbiAgICBjb25zdCBjbG91ZHdhdGNobG9nczogQVdTLkNsb3VkV2F0Y2hMb2dzID1cbiAgICAgIG5ldyBBV1MuQ2xvdWRXYXRjaExvZ3MoKSBhcyBfQVdTLkNsb3VkV2F0Y2hMb2dzXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IGNsb3Vkd2F0Y2hsb2dzXG4gICAgICAuZ2V0TG9nRXZlbnRzKHtcbiAgICAgICAgbG9nR3JvdXBOYW1lOiBidWlsZC5sb2dzLmdyb3VwTmFtZSxcbiAgICAgICAgbG9nU3RyZWFtTmFtZTogYnVpbGQubG9ncy5zdHJlYW1OYW1lLFxuICAgICAgICBzdGFydEZyb21IZWFkOiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5wcm9taXNlKClcblxuICAgIGlmIChkYXRhLmV2ZW50cyA9PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGYWlsZWQgdG8gZmV0Y2ggbG9nIGV2ZW50c1wiKVxuICAgIH1cblxuICAgIC8vIFRoZSBsb2dzIGNvbnRhaW4gbmV3bGluZXMsIHNvIG5vIG5lZWQgdG8gYWRkIG1vcmUuXG4gICAgcmV0dXJuIGRhdGEuZXZlbnRzLm1hcCgoaXQpID0+IGl0Lm1lc3NhZ2UpLmpvaW4oXCJcIilcbiAgfVxuXG4gIGNvbnN0IHByb2plY3ROYW1lID0gcmVxdWlyZUVudihcIlBST0pFQ1RfTkFNRVwiKVxuXG4gIC8vIFZhbGlkYXRlIHRoZSBpbnB1dC5cbiAgaWYgKFxuICAgIHR5cGVvZiBldmVudC5qb2JJZCAhPT0gXCJzdHJpbmdcIiB8fFxuICAgICFldmVudC5qb2JJZC5zdGFydHNXaXRoKGAke3Byb2plY3ROYW1lfTpgKVxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnB1dCBpbnZhbGlkOiBcIiArIEpTT04uc3RyaW5naWZ5KGV2ZW50LCB1bmRlZmluZWQsIFwiICBcIikpXG4gIH1cblxuICBjb25zdCBidWlsZCA9IGF3YWl0IGdldEJ1aWxkKGV2ZW50LmpvYklkKVxuXG4gIGNvbnN0IHN1Y2Nlc3MgPVxuICAgIGJ1aWxkLmJ1aWxkU3RhdHVzID09IG51bGwgPyBudWxsIDogZ2V0U3VjY2VzcyhidWlsZC5idWlsZFN0YXR1cylcblxuICAvLyBSZWFkIGxvZ3MgZnJvbSBDbG91ZFdhdGNoIGlmIGNvbXBsZXRlZC5cbiAgY29uc3QgbG9ncyA9IHN1Y2Nlc3MgIT0gbnVsbCA/IGF3YWl0IGdldExvZ3MoYnVpbGQpIDogbnVsbFxuXG4gIHJldHVybiB7XG4gICAgam9iSWQ6IGV2ZW50LmpvYklkLFxuICAgIHN1Y2Nlc3MsXG4gICAgbG9ncyxcbiAgfVxufVxuIl19
@@ -1,6 +0,0 @@
1
- import type { Handler } from "aws-lambda";
2
- export interface CloudAssemblyLookupUserParameters {
3
- bucketName: string;
4
- objectKey: string;
5
- }
6
- export declare const cloudAssemblyLookupHandler: Handler;
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cloudAssemblyLookupHandler = void 0;
4
- // This is a self-contained function that will be serialized as a lambda.
5
- const cloudAssemblyLookupHandler = async (event, context) => {
6
- const AWS = require("aws-sdk");
7
- const s3 = new AWS.S3();
8
- const codepipeline = new AWS.CodePipeline();
9
- const jobId = event["CodePipeline.job"].id;
10
- try {
11
- const userParametersRaw = event["CodePipeline.job"].data.actionConfiguration.configuration
12
- .UserParameters;
13
- console.log("User parameters", userParametersRaw);
14
- const userParameters = JSON.parse(userParametersRaw);
15
- const referenceData = await s3
16
- .getObject({
17
- Bucket: userParameters.bucketName,
18
- Key: userParameters.objectKey,
19
- })
20
- .promise()
21
- .then((it) => it.Body.toString());
22
- const cloudAssemblyReference = JSON.parse(referenceData);
23
- const outputArtifact = event["CodePipeline.job"].data.outputArtifacts[0];
24
- const s3Loc = outputArtifact.location.s3Location;
25
- const cloudAssemblyZipData = await s3
26
- .getObject({
27
- Bucket: cloudAssemblyReference.cloudAssemblyBucketName,
28
- Key: cloudAssemblyReference.cloudAssemblyBucketKey,
29
- })
30
- .promise();
31
- console.log("Size of Cloud Assembly", cloudAssemblyZipData.ContentLength);
32
- await new AWS.S3({
33
- credentials: event["CodePipeline.job"].data.artifactCredentials,
34
- })
35
- .putObject({
36
- Bucket: s3Loc.bucketName,
37
- Key: s3Loc.objectKey,
38
- Body: cloudAssemblyZipData.Body,
39
- })
40
- .promise();
41
- await codepipeline
42
- .putJobSuccessResult({
43
- jobId,
44
- })
45
- .promise();
46
- console.log("Success");
47
- }
48
- catch (e) {
49
- await codepipeline
50
- .putJobFailureResult({
51
- failureDetails: {
52
- message: JSON.stringify(e),
53
- type: "JobFailed",
54
- externalExecutionId: context.awsRequestId,
55
- },
56
- jobId,
57
- })
58
- .promise();
59
- console.error("Failed", e);
60
- }
61
- };
62
- exports.cloudAssemblyLookupHandler = cloudAssemblyLookupHandler;
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtYXNzZW1ibHktbG9va3VwLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLXBpcGVsaW5lcy9jbG91ZC1hc3NlbWJseS1sb29rdXAtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEyQ0EseUVBQXlFO0FBQ2xFLE1BQU0sMEJBQTBCLEdBQVksS0FBSyxFQUN0RCxLQUF3QixFQUN4QixPQUFPLEVBQ1AsRUFBRTtJQUNGLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQTZCLENBQUE7SUFDMUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUE7SUFDdkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUE7SUFFM0MsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBRSxDQUFBO0lBRTFDLElBQUksQ0FBQztRQUNILE1BQU0saUJBQWlCLEdBQ3JCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhO2FBQzdELGNBQWMsQ0FBQTtRQUVuQixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLENBQUE7UUFFakQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDL0IsaUJBQWlCLENBQ21CLENBQUE7UUFFdEMsTUFBTSxhQUFhLEdBQUcsTUFBTSxFQUFFO2FBQzNCLFNBQVMsQ0FBQztZQUNULE1BQU0sRUFBRSxjQUFjLENBQUMsVUFBVTtZQUNqQyxHQUFHLEVBQUUsY0FBYyxDQUFDLFNBQVM7U0FDOUIsQ0FBQzthQUNELE9BQU8sRUFBRTthQUNULElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBRXBDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDdkMsYUFBYSxDQUNZLENBQUE7UUFFM0IsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN4RSxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQTtRQUVoRCxNQUFNLG9CQUFvQixHQUFHLE1BQU0sRUFBRTthQUNsQyxTQUFTLENBQUM7WUFDVCxNQUFNLEVBQUUsc0JBQXNCLENBQUMsdUJBQXVCO1lBQ3RELEdBQUcsRUFBRSxzQkFBc0IsQ0FBQyxzQkFBc0I7U0FDbkQsQ0FBQzthQUNELE9BQU8sRUFBRSxDQUFBO1FBRVosT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUV6RSxNQUFNLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNmLFdBQVcsRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CO1NBQ2hFLENBQUM7YUFDQyxTQUFTLENBQUM7WUFDVCxNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDeEIsR0FBRyxFQUFFLEtBQUssQ0FBQyxTQUFTO1lBQ3BCLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxJQUFJO1NBQ2hDLENBQUM7YUFDRCxPQUFPLEVBQUUsQ0FBQTtRQUVaLE1BQU0sWUFBWTthQUNmLG1CQUFtQixDQUFDO1lBQ25CLEtBQUs7U0FDTixDQUFDO2FBQ0QsT0FBTyxFQUFFLENBQUE7UUFFWixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3hCLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsTUFBTSxZQUFZO2FBQ2YsbUJBQW1CLENBQUM7WUFDbkIsY0FBYyxFQUFFO2dCQUNkLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDMUIsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxZQUFZO2FBQzFDO1lBQ0QsS0FBSztTQUNOLENBQUM7YUFDRCxPQUFPLEVBQUUsQ0FBQTtRQUVaLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzVCLENBQUM7QUFDSCxDQUFDLENBQUE7QUE1RVksUUFBQSwwQkFBMEIsOEJBNEV0QyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXMgKi9cbmltcG9ydCB0eXBlIHsgSGFuZGxlciB9IGZyb20gXCJhd3MtbGFtYmRhXCJcblxuLy8gUmVsZXZhbnQgZmllbGRzIGZyb21cbi8vIGh0dHBzOi8vZG9jcy5hbWF6b25hd3MuY24vZW5fdXMvbGFtYmRhL2xhdGVzdC9kZy9zZXJ2aWNlcy1jb2RlcGlwZWxpbmUuaHRtbFxuaW50ZXJmYWNlIENvZGVQaXBlbGluZUV2ZW50IHtcbiAgXCJDb2RlUGlwZWxpbmUuam9iXCI6IHtcbiAgICBpZDogc3RyaW5nXG4gICAgZGF0YToge1xuICAgICAgYWN0aW9uQ29uZmlndXJhdGlvbjoge1xuICAgICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgLy8gSlNPTlxuICAgICAgICAgIFVzZXJQYXJhbWV0ZXJzOiBzdHJpbmdcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgb3V0cHV0QXJ0aWZhY3RzOiB7XG4gICAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgICBsb2NhdGlvbjoge1xuICAgICAgICAgIHMzTG9jYXRpb246IHtcbiAgICAgICAgICAgIGJ1Y2tldE5hbWU6IHN0cmluZ1xuICAgICAgICAgICAgb2JqZWN0S2V5OiBzdHJpbmdcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1bXVxuICAgICAgYXJ0aWZhY3RDcmVkZW50aWFsczoge1xuICAgICAgICBhY2Nlc3NLZXlJZDogc3RyaW5nXG4gICAgICAgIHNlY3JldEFjY2Vzc0tleTogc3RyaW5nXG4gICAgICAgIHNlc3Npb25Ub2tlbjogc3RyaW5nXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmludGVyZmFjZSBDbG91ZEFzc2VtYmx5UmVmZXJlbmNlIHtcbiAgY2xvdWRBc3NlbWJseUJ1Y2tldE5hbWU6IHN0cmluZ1xuICBjbG91ZEFzc2VtYmx5QnVja2V0S2V5OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbG91ZEFzc2VtYmx5TG9va3VwVXNlclBhcmFtZXRlcnMge1xuICBidWNrZXROYW1lOiBzdHJpbmdcbiAgb2JqZWN0S2V5OiBzdHJpbmdcbn1cblxuLy8gVGhpcyBpcyBhIHNlbGYtY29udGFpbmVkIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBzZXJpYWxpemVkIGFzIGEgbGFtYmRhLlxuZXhwb3J0IGNvbnN0IGNsb3VkQXNzZW1ibHlMb29rdXBIYW5kbGVyOiBIYW5kbGVyID0gYXN5bmMgKFxuICBldmVudDogQ29kZVBpcGVsaW5lRXZlbnQsXG4gIGNvbnRleHQsXG4pID0+IHtcbiAgY29uc3QgQVdTID0gcmVxdWlyZShcImF3cy1zZGtcIikgYXMgdHlwZW9mIGltcG9ydChcImF3cy1zZGtcIilcbiAgY29uc3QgczMgPSBuZXcgQVdTLlMzKClcbiAgY29uc3QgY29kZXBpcGVsaW5lID0gbmV3IEFXUy5Db2RlUGlwZWxpbmUoKVxuXG4gIGNvbnN0IGpvYklkID0gZXZlbnRbXCJDb2RlUGlwZWxpbmUuam9iXCJdLmlkXG5cbiAgdHJ5IHtcbiAgICBjb25zdCB1c2VyUGFyYW1ldGVyc1JhdyA9XG4gICAgICBldmVudFtcIkNvZGVQaXBlbGluZS5qb2JcIl0uZGF0YS5hY3Rpb25Db25maWd1cmF0aW9uLmNvbmZpZ3VyYXRpb25cbiAgICAgICAgLlVzZXJQYXJhbWV0ZXJzXG5cbiAgICBjb25zb2xlLmxvZyhcIlVzZXIgcGFyYW1ldGVyc1wiLCB1c2VyUGFyYW1ldGVyc1JhdylcblxuICAgIGNvbnN0IHVzZXJQYXJhbWV0ZXJzID0gSlNPTi5wYXJzZShcbiAgICAgIHVzZXJQYXJhbWV0ZXJzUmF3LFxuICAgICkgYXMgQ2xvdWRBc3NlbWJseUxvb2t1cFVzZXJQYXJhbWV0ZXJzXG5cbiAgICBjb25zdCByZWZlcmVuY2VEYXRhID0gYXdhaXQgczNcbiAgICAgIC5nZXRPYmplY3Qoe1xuICAgICAgICBCdWNrZXQ6IHVzZXJQYXJhbWV0ZXJzLmJ1Y2tldE5hbWUsXG4gICAgICAgIEtleTogdXNlclBhcmFtZXRlcnMub2JqZWN0S2V5LFxuICAgICAgfSlcbiAgICAgIC5wcm9taXNlKClcbiAgICAgIC50aGVuKChpdCkgPT4gaXQuQm9keSEudG9TdHJpbmcoKSlcblxuICAgIGNvbnN0IGNsb3VkQXNzZW1ibHlSZWZlcmVuY2UgPSBKU09OLnBhcnNlKFxuICAgICAgcmVmZXJlbmNlRGF0YSxcbiAgICApIGFzIENsb3VkQXNzZW1ibHlSZWZlcmVuY2VcblxuICAgIGNvbnN0IG91dHB1dEFydGlmYWN0ID0gZXZlbnRbXCJDb2RlUGlwZWxpbmUuam9iXCJdLmRhdGEub3V0cHV0QXJ0aWZhY3RzWzBdXG4gICAgY29uc3QgczNMb2MgPSBvdXRwdXRBcnRpZmFjdC5sb2NhdGlvbi5zM0xvY2F0aW9uXG5cbiAgICBjb25zdCBjbG91ZEFzc2VtYmx5WmlwRGF0YSA9IGF3YWl0IHMzXG4gICAgICAuZ2V0T2JqZWN0KHtcbiAgICAgICAgQnVja2V0OiBjbG91ZEFzc2VtYmx5UmVmZXJlbmNlLmNsb3VkQXNzZW1ibHlCdWNrZXROYW1lLFxuICAgICAgICBLZXk6IGNsb3VkQXNzZW1ibHlSZWZlcmVuY2UuY2xvdWRBc3NlbWJseUJ1Y2tldEtleSxcbiAgICAgIH0pXG4gICAgICAucHJvbWlzZSgpXG5cbiAgICBjb25zb2xlLmxvZyhcIlNpemUgb2YgQ2xvdWQgQXNzZW1ibHlcIiwgY2xvdWRBc3NlbWJseVppcERhdGEuQ29udGVudExlbmd0aClcblxuICAgIGF3YWl0IG5ldyBBV1MuUzMoe1xuICAgICAgY3JlZGVudGlhbHM6IGV2ZW50W1wiQ29kZVBpcGVsaW5lLmpvYlwiXS5kYXRhLmFydGlmYWN0Q3JlZGVudGlhbHMsXG4gICAgfSlcbiAgICAgIC5wdXRPYmplY3Qoe1xuICAgICAgICBCdWNrZXQ6IHMzTG9jLmJ1Y2tldE5hbWUsXG4gICAgICAgIEtleTogczNMb2Mub2JqZWN0S2V5LFxuICAgICAgICBCb2R5OiBjbG91ZEFzc2VtYmx5WmlwRGF0YS5Cb2R5LFxuICAgICAgfSlcbiAgICAgIC5wcm9taXNlKClcblxuICAgIGF3YWl0IGNvZGVwaXBlbGluZVxuICAgICAgLnB1dEpvYlN1Y2Nlc3NSZXN1bHQoe1xuICAgICAgICBqb2JJZCxcbiAgICAgIH0pXG4gICAgICAucHJvbWlzZSgpXG5cbiAgICBjb25zb2xlLmxvZyhcIlN1Y2Nlc3NcIilcbiAgfSBjYXRjaCAoZSkge1xuICAgIGF3YWl0IGNvZGVwaXBlbGluZVxuICAgICAgLnB1dEpvYkZhaWx1cmVSZXN1bHQoe1xuICAgICAgICBmYWlsdXJlRGV0YWlsczoge1xuICAgICAgICAgIG1lc3NhZ2U6IEpTT04uc3RyaW5naWZ5KGUpLFxuICAgICAgICAgIHR5cGU6IFwiSm9iRmFpbGVkXCIsXG4gICAgICAgICAgZXh0ZXJuYWxFeGVjdXRpb25JZDogY29udGV4dC5hd3NSZXF1ZXN0SWQsXG4gICAgICAgIH0sXG4gICAgICAgIGpvYklkLFxuICAgICAgfSlcbiAgICAgIC5wcm9taXNlKClcblxuICAgIGNvbnNvbGUuZXJyb3IoXCJGYWlsZWRcIiwgZSlcbiAgfVxufVxuIl19
@@ -1,3 +0,0 @@
1
- export { LifligCdkPipeline, LifligCdkPipelineProps, } from "./liflig-cdk-pipeline";
2
- export { SlackNotification, SlackNotificationProps } from "./slack-notification";
3
- export { getVariable } from "./variables";
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getVariable = exports.SlackNotification = exports.LifligCdkPipeline = void 0;
4
- var liflig_cdk_pipeline_1 = require("./liflig-cdk-pipeline");
5
- Object.defineProperty(exports, "LifligCdkPipeline", { enumerable: true, get: function () { return liflig_cdk_pipeline_1.LifligCdkPipeline; } });
6
- var slack_notification_1 = require("./slack-notification");
7
- Object.defineProperty(exports, "SlackNotification", { enumerable: true, get: function () { return slack_notification_1.SlackNotification; } });
8
- var variables_1 = require("./variables");
9
- Object.defineProperty(exports, "getVariable", { enumerable: true, get: function () { return variables_1.getVariable; } });
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLXBpcGVsaW5lcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFHOEI7QUFGNUIsd0hBQUEsaUJBQWlCLE9BQUE7QUFHbkIsMkRBQWdGO0FBQXZFLHVIQUFBLGlCQUFpQixPQUFBO0FBQzFCLHlDQUF5QztBQUFoQyx3R0FBQSxXQUFXLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBMaWZsaWdDZGtQaXBlbGluZSxcbiAgTGlmbGlnQ2RrUGlwZWxpbmVQcm9wcyxcbn0gZnJvbSBcIi4vbGlmbGlnLWNkay1waXBlbGluZVwiXG5leHBvcnQgeyBTbGFja05vdGlmaWNhdGlvbiwgU2xhY2tOb3RpZmljYXRpb25Qcm9wcyB9IGZyb20gXCIuL3NsYWNrLW5vdGlmaWNhdGlvblwiXG5leHBvcnQgeyBnZXRWYXJpYWJsZSB9IGZyb20gXCIuL3ZhcmlhYmxlc1wiXG4iXX0=
@@ -1,110 +0,0 @@
1
- import * as constructs from "constructs";
2
- import * as codepipeline from "aws-cdk-lib/aws-codepipeline";
3
- import * as s3 from "aws-cdk-lib/aws-s3";
4
- import * as pipelines from "aws-cdk-lib/pipelines";
5
- import { SlackNotificationProps } from "./slack-notification";
6
- export interface LifligCdkPipelineProps {
7
- /**
8
- * Bucket holding pipeline configuration and trigger file.
9
- *
10
- * @default - use existing bucket based on Griid conventions
11
- */
12
- artifactsBucket?: s3.IBucket;
13
- /**
14
- * Name of pipeline. This is used for the path where configuration
15
- * is stored in S3.
16
- */
17
- pipelineName: string;
18
- /**
19
- * Type of uploaded artifact. This changes the behaviour of the
20
- * pipeline and what kind of process it performs.
21
- *
22
- * Two types are supported:
23
- *
24
- * - cdk-source: The uploaded artifact represents a CDK application
25
- * as source code. A build step will compile this into a
26
- * CDK Cloud Assembly.
27
- *
28
- * As part of synthesizing this into a CDK Cloud Assembly,
29
- * a file "variables.json" will be written for the
30
- * CDK application to parameterize the build if any
31
- * variables are found in the pipeline source.
32
- *
33
- * - cloud-assembly: The uploaded artifact represents a
34
- * CDK Cloud Assembly which is ready for deployment.
35
- *
36
- * This does not support reading variables at the current time
37
- * since CDK Pipelines don't support parameterized deploys.
38
- * See https://github.com/aws/aws-cdk/issues/9560
39
- */
40
- sourceType: "cdk-source" | "cloud-assembly";
41
- /**
42
- * The namespace used for parameters in Parameter Store.
43
- *
44
- * Only relevant for sourceType of "cdk-soruce".
45
- *
46
- * @default default
47
- */
48
- parametersNamespace?: string;
49
- }
50
- /**
51
- * CDK Pipeline for Liflig.
52
- *
53
- * Avoid putting multiple pipelines in a stack, since the pipeline
54
- * will also keep the hosting stack up-to-date.
55
- *
56
- * The pipeline is executed by writing an empty file to
57
- * s3://<artifacts-bucket>/pipelines/<pipeline-name>/trigger
58
- *
59
- * Configuration files are read from S3 at the path
60
- * s3://<artifacts-bucket>/pipelines/<pipeline-name>/
61
- *
62
- * For upload type "cdk-source":
63
- *
64
- * - cdk-source.json holding a pointer to the active CDK source
65
- * that should be used. Schema:
66
- *
67
- * {
68
- * bucketName: string
69
- * bucketKey: string
70
- * }
71
- *
72
- * - variables*.json which can be zero or more files
73
- * with string-string map holding variables that will
74
- * be written to variables.json and can be read by the
75
- * the CDK application during synthesize.
76
- *
77
- * For upload type "cloud-assembly":
78
- *
79
- * - cloud-assembly.json holding a pointer to the active
80
- * CDK Cloud Assembly that should be used: Schema:
81
- *
82
- * {
83
- * cloudAssemblyBucketName: string
84
- * cloudAssemblyBucketKey: string
85
- * }
86
- *
87
- * Variables enables separation of IaC code and application code if
88
- * they are not colocated in the same repository.
89
- */
90
- export declare class LifligCdkPipeline extends constructs.Construct {
91
- /**
92
- * Path on S3 for pipeline configuration.
93
- */
94
- static pipelineS3Prefix(pipelineName: string): string;
95
- /**
96
- * Key in S3 bucket used to trigger pipeline.
97
- *
98
- * This is an empty file within the pipeline path.
99
- */
100
- static pipelineS3TriggerKey(pipelineName: string): string;
101
- readonly cdkPipeline: pipelines.CodePipeline;
102
- readonly codePipeline: codepipeline.Pipeline;
103
- readonly artifactsBucket: s3.IBucket;
104
- readonly triggerObjectKey: string;
105
- constructor(scope: constructs.Construct, id: string, props: LifligCdkPipelineProps);
106
- private static getAwsCdkPackageJsonFile;
107
- private cloudAssemblyStage;
108
- private cdkSourceStage;
109
- addSlackNotification(props: Omit<SlackNotificationProps, "pipeline" | "artifactsBucket" | "triggerObjectKey">): void;
110
- }