@cloudsnorkel/cdk-github-runners 0.5.8 → 0.6.0

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 (33) hide show
  1. package/.jsii +1500 -326
  2. package/API.md +836 -186
  3. package/README.md +11 -11
  4. package/lib/index.d.ts +5 -2
  5. package/lib/index.js +7 -2
  6. package/lib/lambdas/delete-ami/index.js +130 -0
  7. package/lib/lambdas/status/index.js +11 -1
  8. package/lib/lambdas/update-lambda/index.js +165 -107
  9. package/lib/providers/codebuild.d.ts +6 -4
  10. package/lib/providers/codebuild.js +20 -3
  11. package/lib/providers/common.d.ts +137 -9
  12. package/lib/providers/common.js +53 -4
  13. package/lib/providers/ec2.d.ts +106 -0
  14. package/lib/providers/ec2.js +252 -0
  15. package/lib/providers/fargate.d.ts +5 -3
  16. package/lib/providers/fargate.js +26 -5
  17. package/lib/providers/image-builders/ami.d.ts +131 -0
  18. package/lib/providers/image-builders/ami.js +274 -0
  19. package/lib/providers/image-builders/codebuild.js +3 -2
  20. package/lib/providers/image-builders/common.d.ts +196 -0
  21. package/lib/providers/image-builders/common.js +288 -0
  22. package/lib/providers/image-builders/container.d.ts +6 -100
  23. package/lib/providers/image-builders/container.js +41 -304
  24. package/lib/providers/image-builders/linux-components.d.ts +15 -0
  25. package/lib/providers/image-builders/linux-components.js +156 -0
  26. package/lib/providers/image-builders/static.js +3 -2
  27. package/lib/providers/image-builders/windows-components.d.ts +14 -0
  28. package/lib/providers/image-builders/windows-components.js +119 -0
  29. package/lib/providers/lambda.d.ts +5 -3
  30. package/lib/providers/lambda.js +20 -3
  31. package/lib/runner.js +8 -18
  32. package/lib/secrets.js +1 -1
  33. package/package.json +9 -9
package/README.md CHANGED
@@ -32,17 +32,17 @@ The best way to browse API documentation is on [Constructs Hub][13]. It is avail
32
32
 
33
33
  A runner provider creates compute resources on-demand and uses [actions/runner][5] to start a runner.
34
34
 
35
- | | CodeBuild | Fargate | Lambda |
36
- |------------------|----------------------------|----------------|---------------|
37
- | **Time limit** | 8 hours | Unlimited | 15 minutes |
38
- | **vCPUs** | 2, 4, 8, or 72 | 0.25 to 4 | 1 to 6 |
39
- | **RAM** | 3gb, 7gb, 15gb, or 145gb | 512mb to 30gb | 128mb to 10gb |
40
- | **Storage** | 50gb to 824gb | 20gb to 200gb | Up to 10gb |
41
- | **Architecture** | x86_64, ARM64 | x86_64, ARM64 | x86_64, ARM64 |
42
- | **sudo** | ✔ | ✔ | ❌ |
43
- | **Docker** | ✔ (Linux only) | ❌ | ❌ |
44
- | **Spot pricing** | ❌ | ✔ | ❌ |
45
- | **OS** | Linux, Windows | Linux, Windows | Linux |
35
+ | | EC2 | CodeBuild | Fargate | Lambda |
36
+ |------------------|-------------------|----------------------------|----------------|---------------|
37
+ | **Time limit** | Unlimited | 8 hours | Unlimited | 15 minutes |
38
+ | **vCPUs** | Unlimited | 2, 4, 8, or 72 | 0.25 to 4 | 1 to 6 |
39
+ | **RAM** | Unlimited | 3gb, 7gb, 15gb, or 145gb | 512mb to 30gb | 128mb to 10gb |
40
+ | **Storage** | Unlimited | 50gb to 824gb | 20gb to 200gb | Up to 10gb |
41
+ | **Architecture** | x86_64, ARM64 | x86_64, ARM64 | x86_64, ARM64 | x86_64, ARM64 |
42
+ | **sudo** | ✔ | ✔ | ✔ | ❌ |
43
+ | **Docker** | ✔ | (Linux only) | ❌ | ❌ |
44
+ | **Spot pricing** | ✔ | ❌ | ✔ | ❌ |
45
+ | **OS** | Linux, Windows | Linux, Windows | Linux, Windows | Linux |
46
46
 
47
47
  The best provider to use mostly depends on your current infrastructure. When in doubt, CodeBuild is always a good choice. Execution history and logs are easy to view, and it has no restrictive limits unless you need to run for more than 8 hours.
48
48
 
package/lib/index.d.ts CHANGED
@@ -3,7 +3,10 @@ export { GitHubRunners, GitHubRunnersProps } from './runner';
3
3
  export { CodeBuildRunner, CodeBuildRunnerProps } from './providers/codebuild';
4
4
  export { LambdaRunner, LambdaRunnerProps } from './providers/lambda';
5
5
  export { FargateRunner, FargateRunnerProps } from './providers/fargate';
6
- export { IRunnerProvider, RunnerProviderProps, RunnerVersion, RunnerRuntimeParameters, RunnerImage, IImageBuilder, IRunnerImageStatus, Architecture, Os } from './providers/common';
6
+ export { IRunnerProvider, RunnerProviderProps, RunnerVersion, RunnerRuntimeParameters, RunnerImage, IImageBuilder, IRunnerProviderStatus, IRunnerImageStatus, IRunnerAmiStatus, Architecture, Os } from './providers/common';
7
7
  export { CodeBuildImageBuilder, CodeBuildImageBuilderProps } from './providers/image-builders/codebuild';
8
- export { ContainerImageBuilder, ContainerImageBuilderProps, ImageBuilderComponent, ImageBuilderComponentProperties, ImageBuilderAsset } from './providers/image-builders/container';
8
+ export { ImageBuilderComponent, ImageBuilderComponentProperties, ImageBuilderAsset } from './providers/image-builders/common';
9
+ export { ContainerImageBuilder, ContainerImageBuilderProps } from './providers/image-builders/container';
10
+ export { WindowsComponents } from './providers/image-builders/windows-components';
11
+ export { LinuxUbuntuComponents } from './providers/image-builders/linux-components';
9
12
  export { StaticRunnerImage } from './providers/image-builders/static';
package/lib/index.js CHANGED
@@ -16,9 +16,14 @@ Object.defineProperty(exports, "Architecture", { enumerable: true, get: function
16
16
  Object.defineProperty(exports, "Os", { enumerable: true, get: function () { return common_1.Os; } });
17
17
  var codebuild_2 = require("./providers/image-builders/codebuild");
18
18
  Object.defineProperty(exports, "CodeBuildImageBuilder", { enumerable: true, get: function () { return codebuild_2.CodeBuildImageBuilder; } });
19
+ var common_2 = require("./providers/image-builders/common");
20
+ Object.defineProperty(exports, "ImageBuilderComponent", { enumerable: true, get: function () { return common_2.ImageBuilderComponent; } });
19
21
  var container_1 = require("./providers/image-builders/container");
20
22
  Object.defineProperty(exports, "ContainerImageBuilder", { enumerable: true, get: function () { return container_1.ContainerImageBuilder; } });
21
- Object.defineProperty(exports, "ImageBuilderComponent", { enumerable: true, get: function () { return container_1.ImageBuilderComponent; } });
23
+ var windows_components_1 = require("./providers/image-builders/windows-components");
24
+ Object.defineProperty(exports, "WindowsComponents", { enumerable: true, get: function () { return windows_components_1.WindowsComponents; } });
25
+ var linux_components_1 = require("./providers/image-builders/linux-components");
26
+ Object.defineProperty(exports, "LinuxUbuntuComponents", { enumerable: true, get: function () { return linux_components_1.LinuxUbuntuComponents; } });
22
27
  var static_1 = require("./providers/image-builders/static");
23
28
  Object.defineProperty(exports, "StaticRunnerImage", { enumerable: true, get: function () { return static_1.StaticRunnerImage; } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLG1DQUE2RDtBQUFwRCx1R0FBQSxhQUFhLE9BQUE7QUFDdEIsbURBQThFO0FBQXJFLDRHQUFBLGVBQWUsT0FBQTtBQUN4Qiw2Q0FBcUU7QUFBNUQsc0dBQUEsWUFBWSxPQUFBO0FBQ3JCLCtDQUF3RTtBQUEvRCx3R0FBQSxhQUFhLE9BQUE7QUFDdEIsNkNBQW9MO0FBQXJJLHVHQUFBLGFBQWEsT0FBQTtBQUEyRSxzR0FBQSxZQUFZLE9BQUE7QUFBRSw0RkFBQSxFQUFFLE9BQUE7QUFDdkosa0VBQXlHO0FBQWhHLGtIQUFBLHFCQUFxQixPQUFBO0FBQzlCLGtFQUFvTDtBQUEzSyxrSEFBQSxxQkFBcUIsT0FBQTtBQUE4QixrSEFBQSxxQkFBcUIsT0FBQTtBQUNqRiw0REFBc0U7QUFBN0QsMkdBQUEsaUJBQWlCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTZWNyZXRzIH0gZnJvbSAnLi9zZWNyZXRzJztcbmV4cG9ydCB7IEdpdEh1YlJ1bm5lcnMsIEdpdEh1YlJ1bm5lcnNQcm9wcyB9IGZyb20gJy4vcnVubmVyJztcbmV4cG9ydCB7IENvZGVCdWlsZFJ1bm5lciwgQ29kZUJ1aWxkUnVubmVyUHJvcHMgfSBmcm9tICcuL3Byb3ZpZGVycy9jb2RlYnVpbGQnO1xuZXhwb3J0IHsgTGFtYmRhUnVubmVyLCBMYW1iZGFSdW5uZXJQcm9wcyB9IGZyb20gJy4vcHJvdmlkZXJzL2xhbWJkYSc7XG5leHBvcnQgeyBGYXJnYXRlUnVubmVyLCBGYXJnYXRlUnVubmVyUHJvcHMgfSBmcm9tICcuL3Byb3ZpZGVycy9mYXJnYXRlJztcbmV4cG9ydCB7IElSdW5uZXJQcm92aWRlciwgUnVubmVyUHJvdmlkZXJQcm9wcywgUnVubmVyVmVyc2lvbiwgUnVubmVyUnVudGltZVBhcmFtZXRlcnMsIFJ1bm5lckltYWdlLCBJSW1hZ2VCdWlsZGVyLCBJUnVubmVySW1hZ2VTdGF0dXMsIEFyY2hpdGVjdHVyZSwgT3MgfSBmcm9tICcuL3Byb3ZpZGVycy9jb21tb24nO1xuZXhwb3J0IHsgQ29kZUJ1aWxkSW1hZ2VCdWlsZGVyLCBDb2RlQnVpbGRJbWFnZUJ1aWxkZXJQcm9wcyB9IGZyb20gJy4vcHJvdmlkZXJzL2ltYWdlLWJ1aWxkZXJzL2NvZGVidWlsZCc7XG5leHBvcnQgeyBDb250YWluZXJJbWFnZUJ1aWxkZXIsIENvbnRhaW5lckltYWdlQnVpbGRlclByb3BzLCBJbWFnZUJ1aWxkZXJDb21wb25lbnQsIEltYWdlQnVpbGRlckNvbXBvbmVudFByb3BlcnRpZXMsIEltYWdlQnVpbGRlckFzc2V0IH0gZnJvbSAnLi9wcm92aWRlcnMvaW1hZ2UtYnVpbGRlcnMvY29udGFpbmVyJztcbmV4cG9ydCB7IFN0YXRpY1J1bm5lckltYWdlIH0gZnJvbSAnLi9wcm92aWRlcnMvaW1hZ2UtYnVpbGRlcnMvc3RhdGljJztcbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLG1DQUE2RDtBQUFwRCx1R0FBQSxhQUFhLE9BQUE7QUFDdEIsbURBQThFO0FBQXJFLDRHQUFBLGVBQWUsT0FBQTtBQUN4Qiw2Q0FBcUU7QUFBNUQsc0dBQUEsWUFBWSxPQUFBO0FBQ3JCLCtDQUF3RTtBQUEvRCx3R0FBQSxhQUFhLE9BQUE7QUFDdEIsNkNBQTZOO0FBQTlLLHVHQUFBLGFBQWEsT0FBQTtBQUFvSCxzR0FBQSxZQUFZLE9BQUE7QUFBRSw0RkFBQSxFQUFFLE9BQUE7QUFDaE0sa0VBQXlHO0FBQWhHLGtIQUFBLHFCQUFxQixPQUFBO0FBQzlCLDREQUE4SDtBQUFySCwrR0FBQSxxQkFBcUIsT0FBQTtBQUM5QixrRUFBeUc7QUFBaEcsa0hBQUEscUJBQXFCLE9BQUE7QUFDOUIsb0ZBQWtGO0FBQXpFLHVIQUFBLGlCQUFpQixPQUFBO0FBQzFCLGdGQUFvRjtBQUEzRSx5SEFBQSxxQkFBcUIsT0FBQTtBQUM5Qiw0REFBc0U7QUFBN0QsMkdBQUEsaUJBQWlCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTZWNyZXRzIH0gZnJvbSAnLi9zZWNyZXRzJztcbmV4cG9ydCB7IEdpdEh1YlJ1bm5lcnMsIEdpdEh1YlJ1bm5lcnNQcm9wcyB9IGZyb20gJy4vcnVubmVyJztcbmV4cG9ydCB7IENvZGVCdWlsZFJ1bm5lciwgQ29kZUJ1aWxkUnVubmVyUHJvcHMgfSBmcm9tICcuL3Byb3ZpZGVycy9jb2RlYnVpbGQnO1xuZXhwb3J0IHsgTGFtYmRhUnVubmVyLCBMYW1iZGFSdW5uZXJQcm9wcyB9IGZyb20gJy4vcHJvdmlkZXJzL2xhbWJkYSc7XG5leHBvcnQgeyBGYXJnYXRlUnVubmVyLCBGYXJnYXRlUnVubmVyUHJvcHMgfSBmcm9tICcuL3Byb3ZpZGVycy9mYXJnYXRlJztcbmV4cG9ydCB7IElSdW5uZXJQcm92aWRlciwgUnVubmVyUHJvdmlkZXJQcm9wcywgUnVubmVyVmVyc2lvbiwgUnVubmVyUnVudGltZVBhcmFtZXRlcnMsIFJ1bm5lckltYWdlLCBJSW1hZ2VCdWlsZGVyLCBJUnVubmVyUHJvdmlkZXJTdGF0dXMsIElSdW5uZXJJbWFnZVN0YXR1cywgSVJ1bm5lckFtaVN0YXR1cywgQXJjaGl0ZWN0dXJlLCBPcyB9IGZyb20gJy4vcHJvdmlkZXJzL2NvbW1vbic7XG5leHBvcnQgeyBDb2RlQnVpbGRJbWFnZUJ1aWxkZXIsIENvZGVCdWlsZEltYWdlQnVpbGRlclByb3BzIH0gZnJvbSAnLi9wcm92aWRlcnMvaW1hZ2UtYnVpbGRlcnMvY29kZWJ1aWxkJztcbmV4cG9ydCB7IEltYWdlQnVpbGRlckNvbXBvbmVudCwgSW1hZ2VCdWlsZGVyQ29tcG9uZW50UHJvcGVydGllcywgSW1hZ2VCdWlsZGVyQXNzZXQgfSBmcm9tICcuL3Byb3ZpZGVycy9pbWFnZS1idWlsZGVycy9jb21tb24nO1xuZXhwb3J0IHsgQ29udGFpbmVySW1hZ2VCdWlsZGVyLCBDb250YWluZXJJbWFnZUJ1aWxkZXJQcm9wcyB9IGZyb20gJy4vcHJvdmlkZXJzL2ltYWdlLWJ1aWxkZXJzL2NvbnRhaW5lcic7XG5leHBvcnQgeyBXaW5kb3dzQ29tcG9uZW50cyB9IGZyb20gJy4vcHJvdmlkZXJzL2ltYWdlLWJ1aWxkZXJzL3dpbmRvd3MtY29tcG9uZW50cyc7XG5leHBvcnQgeyBMaW51eFVidW50dUNvbXBvbmVudHMgfSBmcm9tICcuL3Byb3ZpZGVycy9pbWFnZS1idWlsZGVycy9saW51eC1jb21wb25lbnRzJztcbmV4cG9ydCB7IFN0YXRpY1J1bm5lckltYWdlIH0gZnJvbSAnLi9wcm92aWRlcnMvaW1hZ2UtYnVpbGRlcnMvc3RhdGljJztcbiJdfQ==
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
18
+ mod
19
+ ));
20
+
21
+ // src/lambdas/delete-ami/index.ts
22
+ var AWS2 = __toESM(require("aws-sdk"));
23
+
24
+ // src/lambdas/helpers.ts
25
+ var AWS = __toESM(require("aws-sdk"));
26
+ var sm = new AWS.SecretsManager();
27
+ async function customResourceRespond(event, responseStatus, reason, physicalResourceId, data) {
28
+ const responseBody = JSON.stringify({
29
+ Status: responseStatus,
30
+ Reason: reason,
31
+ PhysicalResourceId: physicalResourceId,
32
+ StackId: event.StackId,
33
+ RequestId: event.RequestId,
34
+ LogicalResourceId: event.LogicalResourceId,
35
+ NoEcho: false,
36
+ Data: data
37
+ });
38
+ console.log("Responding", responseBody);
39
+ const parsedUrl = require("url").parse(event.ResponseURL);
40
+ const requestOptions = {
41
+ hostname: parsedUrl.hostname,
42
+ path: parsedUrl.path,
43
+ method: "PUT",
44
+ headers: {
45
+ "content-type": "",
46
+ "content-length": responseBody.length
47
+ }
48
+ };
49
+ return new Promise((resolve, reject) => {
50
+ try {
51
+ const request = require("https").request(requestOptions, resolve);
52
+ request.on("error", reject);
53
+ request.write(responseBody);
54
+ request.end();
55
+ } catch (e) {
56
+ reject(e);
57
+ }
58
+ });
59
+ }
60
+
61
+ // src/lambdas/delete-ami/index.ts
62
+ var ec2 = new AWS2.EC2();
63
+ async function deleteAmis(launchTemplateId, stackName, builderName, deleteAll) {
64
+ const images = await ec2.describeImages({
65
+ Owners: ["self"],
66
+ Filters: [
67
+ {
68
+ Name: "tag:GitHubRunners:Stack",
69
+ Values: [stackName]
70
+ },
71
+ {
72
+ Name: "tag:GitHubRunners:Builder",
73
+ Values: [builderName]
74
+ }
75
+ ]
76
+ }).promise();
77
+ let imagesToDelete = images.Images ?? [];
78
+ console.log(`Found ${imagesToDelete.length} AMIs`);
79
+ console.log(JSON.stringify(imagesToDelete.map((i) => i.ImageId)));
80
+ if (!deleteAll) {
81
+ const launchTemplates = await ec2.describeLaunchTemplateVersions({
82
+ LaunchTemplateId: launchTemplateId,
83
+ Versions: ["$Default"]
84
+ }).promise();
85
+ if (!launchTemplates.LaunchTemplateVersions) {
86
+ console.error(`Unable to describe launch template ${launchTemplateId}`);
87
+ return;
88
+ }
89
+ const launchTemplate = launchTemplates.LaunchTemplateVersions[0];
90
+ imagesToDelete = imagesToDelete.filter((i) => {
91
+ var _a;
92
+ return i.ImageId != ((_a = launchTemplate.LaunchTemplateData) == null ? void 0 : _a.ImageId);
93
+ });
94
+ imagesToDelete = imagesToDelete.filter((i) => i.CreationDate && Date.parse(i.CreationDate) < Date.now() - 1e3 * 60 * 60 * 48);
95
+ console.log(`${imagesToDelete.length} AMIs left after filtering by date and excluding AMI used by launch template`);
96
+ }
97
+ for (const image of imagesToDelete) {
98
+ if (!image.ImageId) {
99
+ console.warn(`No image id? ${JSON.stringify(image)}`);
100
+ continue;
101
+ }
102
+ console.log(`Deregistering ${image.ImageId}`);
103
+ await ec2.deregisterImage({
104
+ ImageId: image.ImageId
105
+ }).promise();
106
+ }
107
+ }
108
+ exports.handler = async function(event, context) {
109
+ try {
110
+ console.log(JSON.stringify({ ...event, ResponseURL: "..." }));
111
+ switch (event.RequestType) {
112
+ case "Scheduled":
113
+ await deleteAmis(event.LaunchTemplateId, event.StackName, event.BuilderName, false);
114
+ return;
115
+ case "Create":
116
+ case "Update":
117
+ await customResourceRespond(event, "SUCCESS", "OK", "DeleteAmis", {});
118
+ break;
119
+ case "Delete":
120
+ await deleteAmis("", event.ResourceProperties.StackName, event.ResourceProperties.BuilderName, true);
121
+ await customResourceRespond(event, "SUCCESS", "OK", event.PhysicalResourceId, {});
122
+ break;
123
+ }
124
+ } catch (e) {
125
+ console.error(e);
126
+ if (event.RequestType != "Scheduled") {
127
+ await customResourceRespond(event, "FAILED", e.message || "Internal Error", context.logStreamName, {});
128
+ }
129
+ }
130
+ };
@@ -14665,6 +14665,7 @@ function baseUrlFromDomain(domain) {
14665
14665
 
14666
14666
  // src/lambdas/status/index.ts
14667
14667
  var cfn = new AWS2.CloudFormation();
14668
+ var ec2 = new AWS2.EC2();
14668
14669
  var ecr = new AWS2.ECR();
14669
14670
  var sf = new AWS2.StepFunctions();
14670
14671
  function secretArnToUrl(arn) {
@@ -14693,7 +14694,7 @@ async function generateProvidersStatus(stack, logicalId) {
14693
14694
  return {};
14694
14695
  }
14695
14696
  return Promise.all(providers.map(async (p) => {
14696
- var _a2, _b, _c;
14697
+ var _a2, _b, _c, _d, _e;
14697
14698
  if ((_b = (_a2 = p.image) == null ? void 0 : _a2.imageRepository) == null ? void 0 : _b.match(/[0-9]+\.dkr\.ecr\.[a-z0-9\-]+\.amazonaws\.com\/.+/)) {
14698
14699
  const tags = await ecr.describeImages({
14699
14700
  repositoryName: p.image.imageRepository.split("/")[1],
@@ -14710,6 +14711,15 @@ async function generateProvidersStatus(stack, logicalId) {
14710
14711
  };
14711
14712
  }
14712
14713
  }
14714
+ if ((_d = p.ami) == null ? void 0 : _d.launchTemplate) {
14715
+ const versions = await ec2.describeLaunchTemplateVersions({
14716
+ LaunchTemplateId: p.ami.launchTemplate,
14717
+ Versions: ["$Default"]
14718
+ }).promise();
14719
+ if (((_e = versions.LaunchTemplateVersions) == null ? void 0 : _e.length) >= 1) {
14720
+ p.ami.latestAmi = versions.LaunchTemplateVersions[0].LaunchTemplateData.ImageId;
14721
+ }
14722
+ }
14713
14723
  return p;
14714
14724
  }));
14715
14725
  }
@@ -16302,7 +16302,7 @@ var require_package = __commonJS({
16302
16302
  module2.exports = {
16303
16303
  name: "@aws-sdk/client-lambda",
16304
16304
  description: "AWS SDK for JavaScript Lambda Client for Node.js, Browser and React Native",
16305
- version: "3.213.0",
16305
+ version: "3.216.0",
16306
16306
  scripts: {
16307
16307
  build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
16308
16308
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -16320,39 +16320,39 @@ var require_package = __commonJS({
16320
16320
  dependencies: {
16321
16321
  "@aws-crypto/sha256-browser": "2.0.0",
16322
16322
  "@aws-crypto/sha256-js": "2.0.0",
16323
- "@aws-sdk/client-sts": "3.213.0",
16324
- "@aws-sdk/config-resolver": "3.212.0",
16325
- "@aws-sdk/credential-provider-node": "3.212.0",
16326
- "@aws-sdk/fetch-http-handler": "3.212.0",
16327
- "@aws-sdk/hash-node": "3.212.0",
16328
- "@aws-sdk/invalid-dependency": "3.212.0",
16329
- "@aws-sdk/middleware-content-length": "3.212.0",
16330
- "@aws-sdk/middleware-endpoint": "3.212.0",
16331
- "@aws-sdk/middleware-host-header": "3.212.0",
16332
- "@aws-sdk/middleware-logger": "3.212.0",
16333
- "@aws-sdk/middleware-recursion-detection": "3.212.0",
16334
- "@aws-sdk/middleware-retry": "3.212.0",
16335
- "@aws-sdk/middleware-serde": "3.212.0",
16336
- "@aws-sdk/middleware-signing": "3.212.0",
16337
- "@aws-sdk/middleware-stack": "3.212.0",
16338
- "@aws-sdk/middleware-user-agent": "3.212.0",
16339
- "@aws-sdk/node-config-provider": "3.212.0",
16340
- "@aws-sdk/node-http-handler": "3.212.0",
16341
- "@aws-sdk/protocol-http": "3.212.0",
16342
- "@aws-sdk/smithy-client": "3.212.0",
16343
- "@aws-sdk/types": "3.212.0",
16344
- "@aws-sdk/url-parser": "3.212.0",
16323
+ "@aws-sdk/client-sts": "3.216.0",
16324
+ "@aws-sdk/config-resolver": "3.215.0",
16325
+ "@aws-sdk/credential-provider-node": "3.216.0",
16326
+ "@aws-sdk/fetch-http-handler": "3.215.0",
16327
+ "@aws-sdk/hash-node": "3.215.0",
16328
+ "@aws-sdk/invalid-dependency": "3.215.0",
16329
+ "@aws-sdk/middleware-content-length": "3.215.0",
16330
+ "@aws-sdk/middleware-endpoint": "3.215.0",
16331
+ "@aws-sdk/middleware-host-header": "3.215.0",
16332
+ "@aws-sdk/middleware-logger": "3.215.0",
16333
+ "@aws-sdk/middleware-recursion-detection": "3.215.0",
16334
+ "@aws-sdk/middleware-retry": "3.215.0",
16335
+ "@aws-sdk/middleware-serde": "3.215.0",
16336
+ "@aws-sdk/middleware-signing": "3.215.0",
16337
+ "@aws-sdk/middleware-stack": "3.215.0",
16338
+ "@aws-sdk/middleware-user-agent": "3.215.0",
16339
+ "@aws-sdk/node-config-provider": "3.215.0",
16340
+ "@aws-sdk/node-http-handler": "3.215.0",
16341
+ "@aws-sdk/protocol-http": "3.215.0",
16342
+ "@aws-sdk/smithy-client": "3.215.0",
16343
+ "@aws-sdk/types": "3.215.0",
16344
+ "@aws-sdk/url-parser": "3.215.0",
16345
16345
  "@aws-sdk/util-base64": "3.208.0",
16346
16346
  "@aws-sdk/util-body-length-browser": "3.188.0",
16347
16347
  "@aws-sdk/util-body-length-node": "3.208.0",
16348
- "@aws-sdk/util-defaults-mode-browser": "3.212.0",
16349
- "@aws-sdk/util-defaults-mode-node": "3.212.0",
16350
- "@aws-sdk/util-endpoints": "3.212.0",
16351
- "@aws-sdk/util-user-agent-browser": "3.212.0",
16352
- "@aws-sdk/util-user-agent-node": "3.212.0",
16348
+ "@aws-sdk/util-defaults-mode-browser": "3.215.0",
16349
+ "@aws-sdk/util-defaults-mode-node": "3.215.0",
16350
+ "@aws-sdk/util-endpoints": "3.216.0",
16351
+ "@aws-sdk/util-user-agent-browser": "3.215.0",
16352
+ "@aws-sdk/util-user-agent-node": "3.215.0",
16353
16353
  "@aws-sdk/util-utf8-browser": "3.188.0",
16354
16354
  "@aws-sdk/util-utf8-node": "3.208.0",
16355
- "@aws-sdk/util-waiter": "3.212.0",
16355
+ "@aws-sdk/util-waiter": "3.215.0",
16356
16356
  tslib: "^2.3.1"
16357
16357
  },
16358
16358
  devDependencies: {
@@ -19744,7 +19744,7 @@ var require_package2 = __commonJS({
19744
19744
  module2.exports = {
19745
19745
  name: "@aws-sdk/client-sts",
19746
19746
  description: "AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native",
19747
- version: "3.213.0",
19747
+ version: "3.216.0",
19748
19748
  scripts: {
19749
19749
  build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
19750
19750
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -19764,36 +19764,36 @@ var require_package2 = __commonJS({
19764
19764
  dependencies: {
19765
19765
  "@aws-crypto/sha256-browser": "2.0.0",
19766
19766
  "@aws-crypto/sha256-js": "2.0.0",
19767
- "@aws-sdk/config-resolver": "3.212.0",
19768
- "@aws-sdk/credential-provider-node": "3.212.0",
19769
- "@aws-sdk/fetch-http-handler": "3.212.0",
19770
- "@aws-sdk/hash-node": "3.212.0",
19771
- "@aws-sdk/invalid-dependency": "3.212.0",
19772
- "@aws-sdk/middleware-content-length": "3.212.0",
19773
- "@aws-sdk/middleware-endpoint": "3.212.0",
19774
- "@aws-sdk/middleware-host-header": "3.212.0",
19775
- "@aws-sdk/middleware-logger": "3.212.0",
19776
- "@aws-sdk/middleware-recursion-detection": "3.212.0",
19777
- "@aws-sdk/middleware-retry": "3.212.0",
19778
- "@aws-sdk/middleware-sdk-sts": "3.212.0",
19779
- "@aws-sdk/middleware-serde": "3.212.0",
19780
- "@aws-sdk/middleware-signing": "3.212.0",
19781
- "@aws-sdk/middleware-stack": "3.212.0",
19782
- "@aws-sdk/middleware-user-agent": "3.212.0",
19783
- "@aws-sdk/node-config-provider": "3.212.0",
19784
- "@aws-sdk/node-http-handler": "3.212.0",
19785
- "@aws-sdk/protocol-http": "3.212.0",
19786
- "@aws-sdk/smithy-client": "3.212.0",
19787
- "@aws-sdk/types": "3.212.0",
19788
- "@aws-sdk/url-parser": "3.212.0",
19767
+ "@aws-sdk/config-resolver": "3.215.0",
19768
+ "@aws-sdk/credential-provider-node": "3.216.0",
19769
+ "@aws-sdk/fetch-http-handler": "3.215.0",
19770
+ "@aws-sdk/hash-node": "3.215.0",
19771
+ "@aws-sdk/invalid-dependency": "3.215.0",
19772
+ "@aws-sdk/middleware-content-length": "3.215.0",
19773
+ "@aws-sdk/middleware-endpoint": "3.215.0",
19774
+ "@aws-sdk/middleware-host-header": "3.215.0",
19775
+ "@aws-sdk/middleware-logger": "3.215.0",
19776
+ "@aws-sdk/middleware-recursion-detection": "3.215.0",
19777
+ "@aws-sdk/middleware-retry": "3.215.0",
19778
+ "@aws-sdk/middleware-sdk-sts": "3.215.0",
19779
+ "@aws-sdk/middleware-serde": "3.215.0",
19780
+ "@aws-sdk/middleware-signing": "3.215.0",
19781
+ "@aws-sdk/middleware-stack": "3.215.0",
19782
+ "@aws-sdk/middleware-user-agent": "3.215.0",
19783
+ "@aws-sdk/node-config-provider": "3.215.0",
19784
+ "@aws-sdk/node-http-handler": "3.215.0",
19785
+ "@aws-sdk/protocol-http": "3.215.0",
19786
+ "@aws-sdk/smithy-client": "3.215.0",
19787
+ "@aws-sdk/types": "3.215.0",
19788
+ "@aws-sdk/url-parser": "3.215.0",
19789
19789
  "@aws-sdk/util-base64": "3.208.0",
19790
19790
  "@aws-sdk/util-body-length-browser": "3.188.0",
19791
19791
  "@aws-sdk/util-body-length-node": "3.208.0",
19792
- "@aws-sdk/util-defaults-mode-browser": "3.212.0",
19793
- "@aws-sdk/util-defaults-mode-node": "3.212.0",
19794
- "@aws-sdk/util-endpoints": "3.212.0",
19795
- "@aws-sdk/util-user-agent-browser": "3.212.0",
19796
- "@aws-sdk/util-user-agent-node": "3.212.0",
19792
+ "@aws-sdk/util-defaults-mode-browser": "3.215.0",
19793
+ "@aws-sdk/util-defaults-mode-node": "3.215.0",
19794
+ "@aws-sdk/util-endpoints": "3.216.0",
19795
+ "@aws-sdk/util-user-agent-browser": "3.215.0",
19796
+ "@aws-sdk/util-user-agent-node": "3.215.0",
19797
19797
  "@aws-sdk/util-utf8-browser": "3.188.0",
19798
19798
  "@aws-sdk/util-utf8-node": "3.208.0",
19799
19799
  "fast-xml-parser": "4.0.11",
@@ -21629,7 +21629,7 @@ var require_package3 = __commonJS({
21629
21629
  module2.exports = {
21630
21630
  name: "@aws-sdk/client-sso",
21631
21631
  description: "AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native",
21632
- version: "3.212.0",
21632
+ version: "3.216.0",
21633
21633
  scripts: {
21634
21634
  build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
21635
21635
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -21647,33 +21647,33 @@ var require_package3 = __commonJS({
21647
21647
  dependencies: {
21648
21648
  "@aws-crypto/sha256-browser": "2.0.0",
21649
21649
  "@aws-crypto/sha256-js": "2.0.0",
21650
- "@aws-sdk/config-resolver": "3.212.0",
21651
- "@aws-sdk/fetch-http-handler": "3.212.0",
21652
- "@aws-sdk/hash-node": "3.212.0",
21653
- "@aws-sdk/invalid-dependency": "3.212.0",
21654
- "@aws-sdk/middleware-content-length": "3.212.0",
21655
- "@aws-sdk/middleware-endpoint": "3.212.0",
21656
- "@aws-sdk/middleware-host-header": "3.212.0",
21657
- "@aws-sdk/middleware-logger": "3.212.0",
21658
- "@aws-sdk/middleware-recursion-detection": "3.212.0",
21659
- "@aws-sdk/middleware-retry": "3.212.0",
21660
- "@aws-sdk/middleware-serde": "3.212.0",
21661
- "@aws-sdk/middleware-stack": "3.212.0",
21662
- "@aws-sdk/middleware-user-agent": "3.212.0",
21663
- "@aws-sdk/node-config-provider": "3.212.0",
21664
- "@aws-sdk/node-http-handler": "3.212.0",
21665
- "@aws-sdk/protocol-http": "3.212.0",
21666
- "@aws-sdk/smithy-client": "3.212.0",
21667
- "@aws-sdk/types": "3.212.0",
21668
- "@aws-sdk/url-parser": "3.212.0",
21650
+ "@aws-sdk/config-resolver": "3.215.0",
21651
+ "@aws-sdk/fetch-http-handler": "3.215.0",
21652
+ "@aws-sdk/hash-node": "3.215.0",
21653
+ "@aws-sdk/invalid-dependency": "3.215.0",
21654
+ "@aws-sdk/middleware-content-length": "3.215.0",
21655
+ "@aws-sdk/middleware-endpoint": "3.215.0",
21656
+ "@aws-sdk/middleware-host-header": "3.215.0",
21657
+ "@aws-sdk/middleware-logger": "3.215.0",
21658
+ "@aws-sdk/middleware-recursion-detection": "3.215.0",
21659
+ "@aws-sdk/middleware-retry": "3.215.0",
21660
+ "@aws-sdk/middleware-serde": "3.215.0",
21661
+ "@aws-sdk/middleware-stack": "3.215.0",
21662
+ "@aws-sdk/middleware-user-agent": "3.215.0",
21663
+ "@aws-sdk/node-config-provider": "3.215.0",
21664
+ "@aws-sdk/node-http-handler": "3.215.0",
21665
+ "@aws-sdk/protocol-http": "3.215.0",
21666
+ "@aws-sdk/smithy-client": "3.215.0",
21667
+ "@aws-sdk/types": "3.215.0",
21668
+ "@aws-sdk/url-parser": "3.215.0",
21669
21669
  "@aws-sdk/util-base64": "3.208.0",
21670
21670
  "@aws-sdk/util-body-length-browser": "3.188.0",
21671
21671
  "@aws-sdk/util-body-length-node": "3.208.0",
21672
- "@aws-sdk/util-defaults-mode-browser": "3.212.0",
21673
- "@aws-sdk/util-defaults-mode-node": "3.212.0",
21674
- "@aws-sdk/util-endpoints": "3.212.0",
21675
- "@aws-sdk/util-user-agent-browser": "3.212.0",
21676
- "@aws-sdk/util-user-agent-node": "3.212.0",
21672
+ "@aws-sdk/util-defaults-mode-browser": "3.215.0",
21673
+ "@aws-sdk/util-defaults-mode-node": "3.215.0",
21674
+ "@aws-sdk/util-endpoints": "3.216.0",
21675
+ "@aws-sdk/util-user-agent-browser": "3.215.0",
21676
+ "@aws-sdk/util-user-agent-node": "3.215.0",
21677
21677
  "@aws-sdk/util-utf8-browser": "3.188.0",
21678
21678
  "@aws-sdk/util-utf8-node": "3.208.0",
21679
21679
  tslib: "^2.3.1"
@@ -22429,6 +22429,9 @@ var require_partitions = __commonJS({
22429
22429
  "ap-south-1": {
22430
22430
  description: "Asia Pacific (Mumbai)"
22431
22431
  },
22432
+ "ap-south-2": {
22433
+ description: "Asia Pacific (Hyderabad)"
22434
+ },
22432
22435
  "ap-southeast-1": {
22433
22436
  description: "Asia Pacific (Singapore)"
22434
22437
  },
@@ -23004,6 +23007,60 @@ var require_http = __commonJS({
23004
23007
  }
23005
23008
  });
23006
23009
 
23010
+ // node_modules/@aws-sdk/types/dist-cjs/identity/AnonymousIdentity.js
23011
+ var require_AnonymousIdentity = __commonJS({
23012
+ "node_modules/@aws-sdk/types/dist-cjs/identity/AnonymousIdentity.js"(exports) {
23013
+ "use strict";
23014
+ Object.defineProperty(exports, "__esModule", { value: true });
23015
+ }
23016
+ });
23017
+
23018
+ // node_modules/@aws-sdk/types/dist-cjs/identity/AwsCredentialIdentity.js
23019
+ var require_AwsCredentialIdentity = __commonJS({
23020
+ "node_modules/@aws-sdk/types/dist-cjs/identity/AwsCredentialIdentity.js"(exports) {
23021
+ "use strict";
23022
+ Object.defineProperty(exports, "__esModule", { value: true });
23023
+ }
23024
+ });
23025
+
23026
+ // node_modules/@aws-sdk/types/dist-cjs/identity/Identity.js
23027
+ var require_Identity = __commonJS({
23028
+ "node_modules/@aws-sdk/types/dist-cjs/identity/Identity.js"(exports) {
23029
+ "use strict";
23030
+ Object.defineProperty(exports, "__esModule", { value: true });
23031
+ }
23032
+ });
23033
+
23034
+ // node_modules/@aws-sdk/types/dist-cjs/identity/LoginIdentity.js
23035
+ var require_LoginIdentity = __commonJS({
23036
+ "node_modules/@aws-sdk/types/dist-cjs/identity/LoginIdentity.js"(exports) {
23037
+ "use strict";
23038
+ Object.defineProperty(exports, "__esModule", { value: true });
23039
+ }
23040
+ });
23041
+
23042
+ // node_modules/@aws-sdk/types/dist-cjs/identity/TokenIdentity.js
23043
+ var require_TokenIdentity = __commonJS({
23044
+ "node_modules/@aws-sdk/types/dist-cjs/identity/TokenIdentity.js"(exports) {
23045
+ "use strict";
23046
+ Object.defineProperty(exports, "__esModule", { value: true });
23047
+ }
23048
+ });
23049
+
23050
+ // node_modules/@aws-sdk/types/dist-cjs/identity/index.js
23051
+ var require_identity = __commonJS({
23052
+ "node_modules/@aws-sdk/types/dist-cjs/identity/index.js"(exports) {
23053
+ "use strict";
23054
+ Object.defineProperty(exports, "__esModule", { value: true });
23055
+ var tslib_1 = require_tslib();
23056
+ tslib_1.__exportStar(require_AnonymousIdentity(), exports);
23057
+ tslib_1.__exportStar(require_AwsCredentialIdentity(), exports);
23058
+ tslib_1.__exportStar(require_Identity(), exports);
23059
+ tslib_1.__exportStar(require_LoginIdentity(), exports);
23060
+ tslib_1.__exportStar(require_TokenIdentity(), exports);
23061
+ }
23062
+ });
23063
+
23007
23064
  // node_modules/@aws-sdk/types/dist-cjs/logger.js
23008
23065
  var require_logger = __commonJS({
23009
23066
  "node_modules/@aws-sdk/types/dist-cjs/logger.js"(exports) {
@@ -23123,6 +23180,7 @@ var require_dist_cjs37 = __commonJS({
23123
23180
  tslib_1.__exportStar(require_endpoint(), exports);
23124
23181
  tslib_1.__exportStar(require_eventStream(), exports);
23125
23182
  tslib_1.__exportStar(require_http(), exports);
23183
+ tslib_1.__exportStar(require_identity(), exports);
23126
23184
  tslib_1.__exportStar(require_logger(), exports);
23127
23185
  tslib_1.__exportStar(require_middleware2(), exports);
23128
23186
  tslib_1.__exportStar(require_pagination(), exports);
@@ -25410,7 +25468,7 @@ var require_package4 = __commonJS({
25410
25468
  module2.exports = {
25411
25469
  name: "@aws-sdk/client-sso-oidc",
25412
25470
  description: "AWS SDK for JavaScript Sso Oidc Client for Node.js, Browser and React Native",
25413
- version: "3.212.0",
25471
+ version: "3.216.0",
25414
25472
  scripts: {
25415
25473
  build: "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
25416
25474
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -25428,33 +25486,33 @@ var require_package4 = __commonJS({
25428
25486
  dependencies: {
25429
25487
  "@aws-crypto/sha256-browser": "2.0.0",
25430
25488
  "@aws-crypto/sha256-js": "2.0.0",
25431
- "@aws-sdk/config-resolver": "3.212.0",
25432
- "@aws-sdk/fetch-http-handler": "3.212.0",
25433
- "@aws-sdk/hash-node": "3.212.0",
25434
- "@aws-sdk/invalid-dependency": "3.212.0",
25435
- "@aws-sdk/middleware-content-length": "3.212.0",
25436
- "@aws-sdk/middleware-endpoint": "3.212.0",
25437
- "@aws-sdk/middleware-host-header": "3.212.0",
25438
- "@aws-sdk/middleware-logger": "3.212.0",
25439
- "@aws-sdk/middleware-recursion-detection": "3.212.0",
25440
- "@aws-sdk/middleware-retry": "3.212.0",
25441
- "@aws-sdk/middleware-serde": "3.212.0",
25442
- "@aws-sdk/middleware-stack": "3.212.0",
25443
- "@aws-sdk/middleware-user-agent": "3.212.0",
25444
- "@aws-sdk/node-config-provider": "3.212.0",
25445
- "@aws-sdk/node-http-handler": "3.212.0",
25446
- "@aws-sdk/protocol-http": "3.212.0",
25447
- "@aws-sdk/smithy-client": "3.212.0",
25448
- "@aws-sdk/types": "3.212.0",
25449
- "@aws-sdk/url-parser": "3.212.0",
25489
+ "@aws-sdk/config-resolver": "3.215.0",
25490
+ "@aws-sdk/fetch-http-handler": "3.215.0",
25491
+ "@aws-sdk/hash-node": "3.215.0",
25492
+ "@aws-sdk/invalid-dependency": "3.215.0",
25493
+ "@aws-sdk/middleware-content-length": "3.215.0",
25494
+ "@aws-sdk/middleware-endpoint": "3.215.0",
25495
+ "@aws-sdk/middleware-host-header": "3.215.0",
25496
+ "@aws-sdk/middleware-logger": "3.215.0",
25497
+ "@aws-sdk/middleware-recursion-detection": "3.215.0",
25498
+ "@aws-sdk/middleware-retry": "3.215.0",
25499
+ "@aws-sdk/middleware-serde": "3.215.0",
25500
+ "@aws-sdk/middleware-stack": "3.215.0",
25501
+ "@aws-sdk/middleware-user-agent": "3.215.0",
25502
+ "@aws-sdk/node-config-provider": "3.215.0",
25503
+ "@aws-sdk/node-http-handler": "3.215.0",
25504
+ "@aws-sdk/protocol-http": "3.215.0",
25505
+ "@aws-sdk/smithy-client": "3.215.0",
25506
+ "@aws-sdk/types": "3.215.0",
25507
+ "@aws-sdk/url-parser": "3.215.0",
25450
25508
  "@aws-sdk/util-base64": "3.208.0",
25451
25509
  "@aws-sdk/util-body-length-browser": "3.188.0",
25452
25510
  "@aws-sdk/util-body-length-node": "3.208.0",
25453
- "@aws-sdk/util-defaults-mode-browser": "3.212.0",
25454
- "@aws-sdk/util-defaults-mode-node": "3.212.0",
25455
- "@aws-sdk/util-endpoints": "3.212.0",
25456
- "@aws-sdk/util-user-agent-browser": "3.212.0",
25457
- "@aws-sdk/util-user-agent-node": "3.212.0",
25511
+ "@aws-sdk/util-defaults-mode-browser": "3.215.0",
25512
+ "@aws-sdk/util-defaults-mode-node": "3.215.0",
25513
+ "@aws-sdk/util-endpoints": "3.216.0",
25514
+ "@aws-sdk/util-user-agent-browser": "3.215.0",
25515
+ "@aws-sdk/util-user-agent-node": "3.215.0",
25458
25516
  "@aws-sdk/util-utf8-browser": "3.188.0",
25459
25517
  "@aws-sdk/util-utf8-node": "3.208.0",
25460
25518
  tslib: "^2.3.1"
@@ -1,9 +1,9 @@
1
1
  import { aws_codebuild as codebuild, aws_ec2 as ec2, aws_iam as iam, aws_stepfunctions as stepfunctions, Duration } from 'aws-cdk-lib';
2
2
  import { Construct } from 'constructs';
3
- import { BaseProvider, IImageBuilder, IRunnerProvider, RunnerImage, RunnerProviderProps, RunnerRuntimeParameters } from './common';
3
+ import { BaseProvider, IImageBuilder, IRunnerProvider, IRunnerProviderStatus, RunnerImage, RunnerProviderProps, RunnerRuntimeParameters } from './common';
4
4
  export interface CodeBuildRunnerProps extends RunnerProviderProps {
5
5
  /**
6
- * Provider running an image to run inside CodeBuild with GitHub runner pre-configured. A user named `runner` is expected to exist with access to Docker-in-Docker.
6
+ * Image builder for CodeBuild image with GitHub runner pre-configured. A user named `runner` is expected to exist with access to Docker-in-Docker.
7
7
  *
8
8
  * @default image builder with `CodeBuildRunner.LINUX_X64_DOCKERFILE_PATH` as Dockerfile
9
9
  */
@@ -60,7 +60,7 @@ export interface CodeBuildRunnerProps extends RunnerProviderProps {
60
60
  readonly timeout?: Duration;
61
61
  }
62
62
  /**
63
- * GitHub Actions runner provider using CodeBuild to execute the actions.
63
+ * GitHub Actions runner provider using CodeBuild to execute jobs.
64
64
  *
65
65
  * Creates a project that gets started for each job.
66
66
  *
@@ -112,7 +112,7 @@ export declare class CodeBuildRunner extends BaseProvider implements IRunnerProv
112
112
  */
113
113
  readonly grantPrincipal: iam.IPrincipal;
114
114
  /**
115
- * Docker image in CodeBuild project.
115
+ * Docker image loaded with GitHub Actions Runner and its prerequisites. The image is built by an image builder and is specific to CodeBuild.
116
116
  */
117
117
  readonly image: RunnerImage;
118
118
  constructor(scope: Construct, id: string, props: CodeBuildRunnerProps);
@@ -124,6 +124,8 @@ export declare class CodeBuildRunner extends BaseProvider implements IRunnerProv
124
124
  * @param parameters workflow job details
125
125
  */
126
126
  getStepFunctionTask(parameters: RunnerRuntimeParameters): stepfunctions.IChainable;
127
+ grantStateMachine(_: iam.IGrantable): void;
128
+ status(statusFunctionRole: iam.IGrantable): IRunnerProviderStatus;
127
129
  /**
128
130
  * The network connections associated with this resource.
129
131
  */