@cloudsnorkel/cdk-github-runners 0.14.2 → 0.14.3
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.
- package/.jsii +43 -24
- package/API.md +16 -0
- package/assets/providers/ami-root-device.lambda/index.js +13 -0
- package/lib/access.js +1 -1
- package/lib/image-builders/api.js +1 -1
- package/lib/image-builders/aws-image-builder/ami.d.ts +5 -0
- package/lib/image-builders/aws-image-builder/ami.js +12 -1
- package/lib/image-builders/aws-image-builder/builder.d.ts +9 -0
- package/lib/image-builders/aws-image-builder/builder.js +4 -2
- package/lib/image-builders/aws-image-builder/deprecated/ami.js +1 -1
- package/lib/image-builders/aws-image-builder/deprecated/container.js +1 -1
- package/lib/image-builders/aws-image-builder/deprecated/linux-components.js +1 -1
- package/lib/image-builders/aws-image-builder/deprecated/windows-components.js +1 -1
- package/lib/image-builders/codebuild-deprecated.js +1 -1
- package/lib/image-builders/components.js +1 -1
- package/lib/image-builders/static.js +1 -1
- package/lib/providers/ami-root-device.lambda.js +14 -1
- package/lib/providers/codebuild.js +2 -2
- package/lib/providers/common.d.ts +2 -0
- package/lib/providers/common.js +7 -4
- package/lib/providers/ec2.js +2 -2
- package/lib/providers/ecs.js +1 -1
- package/lib/providers/fargate.js +2 -2
- package/lib/providers/lambda.js +2 -2
- package/lib/runner.js +1 -1
- package/lib/secrets.js +1 -1
- package/package.json +12 -12
package/.jsii
CHANGED
|
@@ -3675,7 +3675,7 @@
|
|
|
3675
3675
|
"stability": "experimental"
|
|
3676
3676
|
},
|
|
3677
3677
|
"homepage": "https://github.com/CloudSnorkel/cdk-github-runners.git",
|
|
3678
|
-
"jsiiVersion": "5.3.
|
|
3678
|
+
"jsiiVersion": "5.3.53 (build 42cf68d)",
|
|
3679
3679
|
"keywords": [
|
|
3680
3680
|
"aws",
|
|
3681
3681
|
"aws-cdk",
|
|
@@ -4669,7 +4669,7 @@
|
|
|
4669
4669
|
"immutable": true,
|
|
4670
4670
|
"locationInModule": {
|
|
4671
4671
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
4672
|
-
"line":
|
|
4672
|
+
"line": 58
|
|
4673
4673
|
},
|
|
4674
4674
|
"name": "fastLaunchOptions",
|
|
4675
4675
|
"optional": true,
|
|
@@ -4694,6 +4694,25 @@
|
|
|
4694
4694
|
"type": {
|
|
4695
4695
|
"fqn": "aws-cdk-lib.aws_ec2.InstanceType"
|
|
4696
4696
|
}
|
|
4697
|
+
},
|
|
4698
|
+
{
|
|
4699
|
+
"abstract": true,
|
|
4700
|
+
"docs": {
|
|
4701
|
+
"default": "default size for AMI (usually 30GB for Linux and 50GB for Windows)",
|
|
4702
|
+
"remarks": "Use this if you're building images with big components and need more space.",
|
|
4703
|
+
"stability": "experimental",
|
|
4704
|
+
"summary": "Size of volume available for builder instances. This modifies the boot volume size and doesn't add any additional volumes."
|
|
4705
|
+
},
|
|
4706
|
+
"immutable": true,
|
|
4707
|
+
"locationInModule": {
|
|
4708
|
+
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
4709
|
+
"line": 49
|
|
4710
|
+
},
|
|
4711
|
+
"name": "storageSize",
|
|
4712
|
+
"optional": true,
|
|
4713
|
+
"type": {
|
|
4714
|
+
"fqn": "aws-cdk-lib.Size"
|
|
4715
|
+
}
|
|
4697
4716
|
}
|
|
4698
4717
|
],
|
|
4699
4718
|
"symbolId": "src/image-builders/aws-image-builder/builder:AwsImageBuilderRunnerImageBuilderProps"
|
|
@@ -8689,7 +8708,7 @@
|
|
|
8689
8708
|
"kind": "interface",
|
|
8690
8709
|
"locationInModule": {
|
|
8691
8710
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
8692
|
-
"line":
|
|
8711
|
+
"line": 64
|
|
8693
8712
|
},
|
|
8694
8713
|
"name": "FastLaunchOptions",
|
|
8695
8714
|
"properties": [
|
|
@@ -8707,7 +8726,7 @@
|
|
|
8707
8726
|
"immutable": true,
|
|
8708
8727
|
"locationInModule": {
|
|
8709
8728
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
8710
|
-
"line":
|
|
8729
|
+
"line": 75
|
|
8711
8730
|
},
|
|
8712
8731
|
"name": "enabled",
|
|
8713
8732
|
"optional": true,
|
|
@@ -8726,7 +8745,7 @@
|
|
|
8726
8745
|
"immutable": true,
|
|
8727
8746
|
"locationInModule": {
|
|
8728
8747
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
8729
|
-
"line":
|
|
8748
|
+
"line": 84
|
|
8730
8749
|
},
|
|
8731
8750
|
"name": "maxParallelLaunches",
|
|
8732
8751
|
"optional": true,
|
|
@@ -8744,7 +8763,7 @@
|
|
|
8744
8763
|
"immutable": true,
|
|
8745
8764
|
"locationInModule": {
|
|
8746
8765
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
8747
|
-
"line":
|
|
8766
|
+
"line": 91
|
|
8748
8767
|
},
|
|
8749
8768
|
"name": "targetResourceCount",
|
|
8750
8769
|
"optional": true,
|
|
@@ -9879,7 +9898,7 @@
|
|
|
9879
9898
|
"kind": "interface",
|
|
9880
9899
|
"locationInModule": {
|
|
9881
9900
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
9882
|
-
"line":
|
|
9901
|
+
"line": 97
|
|
9883
9902
|
},
|
|
9884
9903
|
"name": "ImageBuilderAsset",
|
|
9885
9904
|
"properties": [
|
|
@@ -9892,7 +9911,7 @@
|
|
|
9892
9911
|
"immutable": true,
|
|
9893
9912
|
"locationInModule": {
|
|
9894
9913
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
9895
|
-
"line":
|
|
9914
|
+
"line": 106
|
|
9896
9915
|
},
|
|
9897
9916
|
"name": "asset",
|
|
9898
9917
|
"type": {
|
|
@@ -9908,7 +9927,7 @@
|
|
|
9908
9927
|
"immutable": true,
|
|
9909
9928
|
"locationInModule": {
|
|
9910
9929
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
9911
|
-
"line":
|
|
9930
|
+
"line": 101
|
|
9912
9931
|
},
|
|
9913
9932
|
"name": "path",
|
|
9914
9933
|
"type": {
|
|
@@ -9934,7 +9953,7 @@
|
|
|
9934
9953
|
},
|
|
9935
9954
|
"locationInModule": {
|
|
9936
9955
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
9937
|
-
"line":
|
|
9956
|
+
"line": 180
|
|
9938
9957
|
},
|
|
9939
9958
|
"parameters": [
|
|
9940
9959
|
{
|
|
@@ -9960,7 +9979,7 @@
|
|
|
9960
9979
|
"kind": "class",
|
|
9961
9980
|
"locationInModule": {
|
|
9962
9981
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
9963
|
-
"line":
|
|
9982
|
+
"line": 167
|
|
9964
9983
|
},
|
|
9965
9984
|
"methods": [
|
|
9966
9985
|
{
|
|
@@ -10006,7 +10025,7 @@
|
|
|
10006
10025
|
},
|
|
10007
10026
|
"locationInModule": {
|
|
10008
10027
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
10009
|
-
"line":
|
|
10028
|
+
"line": 282
|
|
10010
10029
|
},
|
|
10011
10030
|
"name": "grantAssetsRead",
|
|
10012
10031
|
"parameters": [
|
|
@@ -10024,7 +10043,7 @@
|
|
|
10024
10043
|
},
|
|
10025
10044
|
"locationInModule": {
|
|
10026
10045
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
10027
|
-
"line":
|
|
10046
|
+
"line": 288
|
|
10028
10047
|
},
|
|
10029
10048
|
"name": "prefixCommandsWithErrorHandling",
|
|
10030
10049
|
"parameters": [
|
|
@@ -10068,7 +10087,7 @@
|
|
|
10068
10087
|
"immutable": true,
|
|
10069
10088
|
"locationInModule": {
|
|
10070
10089
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
10071
|
-
"line":
|
|
10090
|
+
"line": 171
|
|
10072
10091
|
},
|
|
10073
10092
|
"name": "arn",
|
|
10074
10093
|
"type": {
|
|
@@ -10083,7 +10102,7 @@
|
|
|
10083
10102
|
"immutable": true,
|
|
10084
10103
|
"locationInModule": {
|
|
10085
10104
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
10086
|
-
"line":
|
|
10105
|
+
"line": 176
|
|
10087
10106
|
},
|
|
10088
10107
|
"name": "platform",
|
|
10089
10108
|
"type": {
|
|
@@ -10104,7 +10123,7 @@
|
|
|
10104
10123
|
"kind": "interface",
|
|
10105
10124
|
"locationInModule": {
|
|
10106
10125
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
10107
|
-
"line":
|
|
10126
|
+
"line": 112
|
|
10108
10127
|
},
|
|
10109
10128
|
"name": "ImageBuilderComponentProperties",
|
|
10110
10129
|
"properties": [
|
|
@@ -10118,7 +10137,7 @@
|
|
|
10118
10137
|
"immutable": true,
|
|
10119
10138
|
"locationInModule": {
|
|
10120
10139
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
10121
|
-
"line":
|
|
10140
|
+
"line": 133
|
|
10122
10141
|
},
|
|
10123
10142
|
"name": "commands",
|
|
10124
10143
|
"type": {
|
|
@@ -10139,7 +10158,7 @@
|
|
|
10139
10158
|
"immutable": true,
|
|
10140
10159
|
"locationInModule": {
|
|
10141
10160
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
10142
|
-
"line":
|
|
10161
|
+
"line": 126
|
|
10143
10162
|
},
|
|
10144
10163
|
"name": "description",
|
|
10145
10164
|
"type": {
|
|
@@ -10155,7 +10174,7 @@
|
|
|
10155
10174
|
"immutable": true,
|
|
10156
10175
|
"locationInModule": {
|
|
10157
10176
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
10158
|
-
"line":
|
|
10177
|
+
"line": 121
|
|
10159
10178
|
},
|
|
10160
10179
|
"name": "displayName",
|
|
10161
10180
|
"type": {
|
|
@@ -10172,7 +10191,7 @@
|
|
|
10172
10191
|
"immutable": true,
|
|
10173
10192
|
"locationInModule": {
|
|
10174
10193
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
10175
|
-
"line":
|
|
10194
|
+
"line": 116
|
|
10176
10195
|
},
|
|
10177
10196
|
"name": "platform",
|
|
10178
10197
|
"type": {
|
|
@@ -10188,7 +10207,7 @@
|
|
|
10188
10207
|
"immutable": true,
|
|
10189
10208
|
"locationInModule": {
|
|
10190
10209
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
10191
|
-
"line":
|
|
10210
|
+
"line": 138
|
|
10192
10211
|
},
|
|
10193
10212
|
"name": "assets",
|
|
10194
10213
|
"optional": true,
|
|
@@ -10211,7 +10230,7 @@
|
|
|
10211
10230
|
"immutable": true,
|
|
10212
10231
|
"locationInModule": {
|
|
10213
10232
|
"filename": "src/image-builders/aws-image-builder/builder.ts",
|
|
10214
|
-
"line":
|
|
10233
|
+
"line": 145
|
|
10215
10234
|
},
|
|
10216
10235
|
"name": "reboot",
|
|
10217
10236
|
"optional": true,
|
|
@@ -13893,6 +13912,6 @@
|
|
|
13893
13912
|
"symbolId": "src/image-builders/aws-image-builder/deprecated/windows-components:WindowsComponents"
|
|
13894
13913
|
}
|
|
13895
13914
|
},
|
|
13896
|
-
"version": "0.14.
|
|
13897
|
-
"fingerprint": "
|
|
13915
|
+
"version": "0.14.3",
|
|
13916
|
+
"fingerprint": "leEBaC16ulYoOEB1SUy2OxIQrRmMPi6HLI6oCUAisVM="
|
|
13898
13917
|
}
|
package/API.md
CHANGED
|
@@ -5116,6 +5116,7 @@ const awsImageBuilderRunnerImageBuilderProps: AwsImageBuilderRunnerImageBuilderP
|
|
|
5116
5116
|
| --- | --- | --- |
|
|
5117
5117
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.AwsImageBuilderRunnerImageBuilderProps.property.fastLaunchOptions">fastLaunchOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.FastLaunchOptions">FastLaunchOptions</a></code> | Options for fast launch. |
|
|
5118
5118
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.AwsImageBuilderRunnerImageBuilderProps.property.instanceType">instanceType</a></code> | <code>aws-cdk-lib.aws_ec2.InstanceType</code> | The instance type used to build the image. |
|
|
5119
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.AwsImageBuilderRunnerImageBuilderProps.property.storageSize">storageSize</a></code> | <code>aws-cdk-lib.Size</code> | Size of volume available for builder instances. This modifies the boot volume size and doesn't add any additional volumes. |
|
|
5119
5120
|
|
|
5120
5121
|
---
|
|
5121
5122
|
|
|
@@ -5147,6 +5148,21 @@ The instance type used to build the image.
|
|
|
5147
5148
|
|
|
5148
5149
|
---
|
|
5149
5150
|
|
|
5151
|
+
##### `storageSize`<sup>Optional</sup> <a name="storageSize" id="@cloudsnorkel/cdk-github-runners.AwsImageBuilderRunnerImageBuilderProps.property.storageSize"></a>
|
|
5152
|
+
|
|
5153
|
+
```typescript
|
|
5154
|
+
public readonly storageSize: Size;
|
|
5155
|
+
```
|
|
5156
|
+
|
|
5157
|
+
- *Type:* aws-cdk-lib.Size
|
|
5158
|
+
- *Default:* default size for AMI (usually 30GB for Linux and 50GB for Windows)
|
|
5159
|
+
|
|
5160
|
+
Size of volume available for builder instances. This modifies the boot volume size and doesn't add any additional volumes.
|
|
5161
|
+
|
|
5162
|
+
Use this if you're building images with big components and need more space.
|
|
5163
|
+
|
|
5164
|
+
---
|
|
5165
|
+
|
|
5150
5166
|
### CodeBuildImageBuilderProps <a name="CodeBuildImageBuilderProps" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps"></a>
|
|
5151
5167
|
|
|
5152
5168
|
Properties for CodeBuildImageBuilder construct.
|
|
@@ -24,6 +24,7 @@ __export(ami_root_device_lambda_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(ami_root_device_lambda_exports);
|
|
26
26
|
var import_client_ec2 = require("@aws-sdk/client-ec2");
|
|
27
|
+
var import_client_imagebuilder = require("@aws-sdk/client-imagebuilder");
|
|
27
28
|
var import_client_ssm = require("@aws-sdk/client-ssm");
|
|
28
29
|
|
|
29
30
|
// src/lambda-helpers.ts
|
|
@@ -66,6 +67,7 @@ async function customResourceRespond(event, responseStatus, reason, physicalReso
|
|
|
66
67
|
// src/providers/ami-root-device.lambda.ts
|
|
67
68
|
var ssm = new import_client_ssm.SSMClient();
|
|
68
69
|
var ec2 = new import_client_ec2.EC2Client();
|
|
70
|
+
var ib = new import_client_imagebuilder.ImagebuilderClient();
|
|
69
71
|
async function handleAmi(event, ami) {
|
|
70
72
|
const imageDescs = await ec2.send(new import_client_ec2.DescribeImagesCommand({ ImageIds: [ami] }));
|
|
71
73
|
if (imageDescs.Images?.length !== 1) {
|
|
@@ -118,6 +120,17 @@ async function handler(event, context) {
|
|
|
118
120
|
await handleAmi(event, lts.LaunchTemplateVersions[0].LaunchTemplateData.ImageId);
|
|
119
121
|
break;
|
|
120
122
|
}
|
|
123
|
+
if (ami.match("^arn:aws[^:]*:imagebuilder:[^:]+:[^:]+:image/.*$")) {
|
|
124
|
+
console.log(`Checking Image Builder ${ami}`);
|
|
125
|
+
const img = await ib.send(new import_client_imagebuilder.GetImageCommand({ imageBuildVersionArn: ami }));
|
|
126
|
+
const actualAmi = img.image?.outputResources?.amis?.[0]?.image;
|
|
127
|
+
if (!actualAmi) {
|
|
128
|
+
await customResourceRespond(event, "FAILED", `${ami} doesn't have an AMI`, "ERROR", {});
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
await handleAmi(event, actualAmi);
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
121
134
|
await customResourceRespond(event, "FAILED", `Unknown type of AMI ${ami}`, "ERROR", {});
|
|
122
135
|
break;
|
|
123
136
|
case "Delete":
|
package/lib/access.js
CHANGED
|
@@ -59,7 +59,7 @@ class LambdaAccess {
|
|
|
59
59
|
}
|
|
60
60
|
exports.LambdaAccess = LambdaAccess;
|
|
61
61
|
_a = JSII_RTTI_SYMBOL_1;
|
|
62
|
-
LambdaAccess[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.LambdaAccess", version: "0.14.
|
|
62
|
+
LambdaAccess[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.LambdaAccess", version: "0.14.3" };
|
|
63
63
|
/**
|
|
64
64
|
* @internal
|
|
65
65
|
*/
|
|
@@ -43,5 +43,5 @@ class RunnerImageBuilder extends common_1.RunnerImageBuilderBase {
|
|
|
43
43
|
}
|
|
44
44
|
exports.RunnerImageBuilder = RunnerImageBuilder;
|
|
45
45
|
_a = JSII_RTTI_SYMBOL_1;
|
|
46
|
-
RunnerImageBuilder[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.RunnerImageBuilder", version: "0.14.
|
|
46
|
+
RunnerImageBuilder[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.RunnerImageBuilder", version: "0.14.3" };
|
|
47
47
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltYWdlLWJ1aWxkZXJzL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUEwQztBQUUxQywyREFBd0U7QUFDeEUsMkNBQTBEO0FBQzFELHFDQUFvSTtBQUNwSSw0Q0FBa0M7QUFFbEM7Ozs7OztHQU1HO0FBQ0gsTUFBc0Isa0JBQW1CLFNBQVEsK0JBQXNCO0lBQ3JFOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUErQjtRQUN0RSxJQUFJLEtBQUssRUFBRSxVQUFVLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzdDLHlCQUFXLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxrSEFBa0gsQ0FBQyxDQUFDO1FBQ3ZKLENBQUM7UUFFRCxJQUFJLEtBQUssRUFBRSxXQUFXLEtBQUssK0JBQXNCLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDN0QsT0FBTyxJQUFJLHVDQUEyQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0QsQ0FBQzthQUFNLElBQUksS0FBSyxFQUFFLFdBQVcsS0FBSywrQkFBc0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNFLE9BQU8sSUFBSSxxREFBaUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxNQUFNLEVBQUUsR0FBRyxLQUFLLEVBQUUsRUFBRSxJQUFJLGNBQUUsQ0FBQyxZQUFZLENBQUM7UUFDeEMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7WUFDcEMsT0FBTyxJQUFJLHVDQUEyQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0QsQ0FBQzthQUFNLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUkscURBQWlDLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsMERBQTBELEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7SUFDSCxDQUFDOztBQXZCSCxnREF3QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbm5vdGF0aW9ucyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQXdzSW1hZ2VCdWlsZGVyUnVubmVySW1hZ2VCdWlsZGVyIH0gZnJvbSAnLi9hd3MtaW1hZ2UtYnVpbGRlcic7XG5pbXBvcnQgeyBDb2RlQnVpbGRSdW5uZXJJbWFnZUJ1aWxkZXIgfSBmcm9tICcuL2NvZGVidWlsZCc7XG5pbXBvcnQgeyBJQ29uZmlndXJhYmxlUnVubmVySW1hZ2VCdWlsZGVyLCBSdW5uZXJJbWFnZUJ1aWxkZXJCYXNlLCBSdW5uZXJJbWFnZUJ1aWxkZXJQcm9wcywgUnVubmVySW1hZ2VCdWlsZGVyVHlwZSB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IE9zIH0gZnJvbSAnLi4vcHJvdmlkZXJzJztcblxuLyoqXG4gKiBHaXRIdWIgUnVubmVyIGltYWdlIGJ1aWxkZXIuIEJ1aWxkcyBhIERvY2tlciBpbWFnZSBvciBBTUkgd2l0aCBHaXRIdWIgUnVubmVyIGFuZCBvdGhlciByZXF1aXJlbWVudHMgaW5zdGFsbGVkLlxuICpcbiAqIEltYWdlcyBjYW4gYmUgY3VzdG9taXplZCBiZWZvcmUgcGFzc2VkIGludG8gdGhlIHByb3ZpZGVyIGJ5IGFkZGluZyBvciByZW1vdmluZyBjb21wb25lbnRzIHRvIGJlIGluc3RhbGxlZC5cbiAqXG4gKiBJbWFnZXMgYXJlIHJlYnVpbHQgZXZlcnkgd2VlayBieSBkZWZhdWx0IHRvIGVuc3VyZSB0aGF0IHRoZSBsYXRlc3Qgc2VjdXJpdHkgcGF0Y2hlcyBhcmUgYXBwbGllZC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJ1bm5lckltYWdlQnVpbGRlciBleHRlbmRzIFJ1bm5lckltYWdlQnVpbGRlckJhc2Uge1xuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IGltYWdlIGJ1aWxkZXIgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHByb3BlcnRpZXMuIFRoZSBpbXBsZW1lbnRhdGlvbiB3aWxsIGRpZmZlciBiYXNlZCBvbiB0aGUgT1MsIGFyY2hpdGVjdHVyZSwgYW5kIHJlcXVlc3RlZCBidWlsZGVyIHR5cGUuXG4gICAqL1xuICBzdGF0aWMgbmV3KHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogUnVubmVySW1hZ2VCdWlsZGVyUHJvcHMpOiBJQ29uZmlndXJhYmxlUnVubmVySW1hZ2VCdWlsZGVyIHtcbiAgICBpZiAocHJvcHM/LmNvbXBvbmVudHMgJiYgcHJvcHMucnVubmVyVmVyc2lvbikge1xuICAgICAgQW5ub3RhdGlvbnMub2Yoc2NvcGUpLmFkZFdhcm5pbmcoJ3J1bm5lclZlcnNpb24gaXMgaWdub3JlZCB3aGVuIGNvbXBvbmVudHMgYXJlIHNwZWNpZmllZC4gVGhlIHJ1bm5lciB2ZXJzaW9uIHdpbGwgYmUgZGV0ZXJtaW5lZCBieSB0aGUgY29tcG9uZW50cy4nKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHM/LmJ1aWxkZXJUeXBlID09PSBSdW5uZXJJbWFnZUJ1aWxkZXJUeXBlLkNPREVfQlVJTEQpIHtcbiAgICAgIHJldHVybiBuZXcgQ29kZUJ1aWxkUnVubmVySW1hZ2VCdWlsZGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIH0gZWxzZSBpZiAocHJvcHM/LmJ1aWxkZXJUeXBlID09PSBSdW5uZXJJbWFnZUJ1aWxkZXJUeXBlLkFXU19JTUFHRV9CVUlMREVSKSB7XG4gICAgICByZXR1cm4gbmV3IEF3c0ltYWdlQnVpbGRlclJ1bm5lckltYWdlQnVpbGRlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICB9XG5cbiAgICBjb25zdCBvcyA9IHByb3BzPy5vcyA/PyBPcy5MSU5VWF9VQlVOVFU7XG4gICAgaWYgKG9zLmlzSW4oT3MuX0FMTF9MSU5VWF9WRVJTSU9OUykpIHtcbiAgICAgIHJldHVybiBuZXcgQ29kZUJ1aWxkUnVubmVySW1hZ2VCdWlsZGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIH0gZWxzZSBpZiAob3MuaXMoT3MuV0lORE9XUykpIHtcbiAgICAgIHJldHVybiBuZXcgQXdzSW1hZ2VCdWlsZGVyUnVubmVySW1hZ2VCdWlsZGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBmaW5kIHJ1bm5lciBpbWFnZSBidWlsZGVyIGltcGxlbWVudGF0aW9uIGZvciAke29zLm5hbWV9YCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as cdk from 'aws-cdk-lib';
|
|
1
2
|
import { Construct } from 'constructs';
|
|
2
3
|
import { ImageBuilderComponent } from './builder';
|
|
3
4
|
import { ImageBuilderObjectBase } from './common';
|
|
@@ -20,6 +21,10 @@ interface AmiRecipeProperties {
|
|
|
20
21
|
* Base AMI to use for the new runner AMI.
|
|
21
22
|
*/
|
|
22
23
|
readonly baseAmi: string;
|
|
24
|
+
/**
|
|
25
|
+
* Storage size for the builder.
|
|
26
|
+
*/
|
|
27
|
+
readonly storageSize?: cdk.Size;
|
|
23
28
|
/**
|
|
24
29
|
* Components to add to target container image.
|
|
25
30
|
*/
|
|
@@ -19,12 +19,22 @@ class AmiRecipe extends common_1.ImageBuilderObjectBase {
|
|
|
19
19
|
componentArn: component.arn,
|
|
20
20
|
};
|
|
21
21
|
});
|
|
22
|
+
const blockDeviceMappings = props.storageSize ? [
|
|
23
|
+
{
|
|
24
|
+
deviceName: (0, providers_1.amiRootDevice)(this, props.baseAmi).ref,
|
|
25
|
+
ebs: {
|
|
26
|
+
volumeSize: props.storageSize.toGibibytes(),
|
|
27
|
+
deleteOnTermination: true,
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
] : undefined;
|
|
22
31
|
this.name = (0, common_2.uniqueImageBuilderName)(this);
|
|
23
32
|
this.version = this.generateVersion('ImageRecipe', this.name, {
|
|
24
33
|
platform: props.platform,
|
|
25
34
|
components,
|
|
26
35
|
parentAmi: props.baseAmi,
|
|
27
36
|
tags: props.tags,
|
|
37
|
+
blockDeviceMappings,
|
|
28
38
|
});
|
|
29
39
|
let workingDirectory;
|
|
30
40
|
if (props.platform == 'Linux') {
|
|
@@ -43,6 +53,7 @@ class AmiRecipe extends common_1.ImageBuilderObjectBase {
|
|
|
43
53
|
components,
|
|
44
54
|
workingDirectory,
|
|
45
55
|
tags: props.tags,
|
|
56
|
+
blockDeviceMappings,
|
|
46
57
|
});
|
|
47
58
|
this.arn = recipe.attrArn;
|
|
48
59
|
}
|
|
@@ -100,4 +111,4 @@ function defaultBaseAmi(scope, os, architecture) {
|
|
|
100
111
|
throw new Error(`OS ${os.name} not supported for AMI runner image`);
|
|
101
112
|
}
|
|
102
113
|
exports.defaultBaseAmi = defaultBaseAmi;
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1pLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltYWdlLWJ1aWxkZXJzL2F3cy1pbWFnZS1idWlsZGVyL2FtaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUM7QUFDbkMsNkNBQStEO0FBRy9ELHFDQUFrRDtBQUNsRCwrQ0FBa0U7QUFDbEUsc0NBQW1EO0FBdUNuRDs7OztHQUlHO0FBQ0gsTUFBYSxTQUFVLFNBQVEsK0JBQXNCO0lBS25ELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNoRCxPQUFPO2dCQUNMLFlBQVksRUFBRSxTQUFTLENBQUMsR0FBRzthQUM1QixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzlDO2dCQUNFLFVBQVUsRUFBRSxJQUFBLHlCQUFhLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHO2dCQUNsRCxHQUFHLEVBQUU7b0JBQ0gsVUFBVSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFO29CQUMzQyxtQkFBbUIsRUFBRSxJQUFJO2lCQUMxQjthQUNGO1NBQ0YsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFBLCtCQUFzQixFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUM1RCxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsVUFBVTtZQUNW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LElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxjQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUN0QixPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDckIsT0FBTyxFQUFFLGNBQWM7WUFDdkIsUUFBUSxFQUFFLE9BQU87WUFDakIsT0FBTyxFQUFFLEtBQUs7WUFDZCxZQUFZLEVBQUUseUNBQXlDLElBQUksUUFBUTtTQUNwRSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLHFDQUFxQyxDQUFDLENBQUM7QUFDdEUsQ0FBQztBQWpERCx3Q0FpREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgYXdzX2ltYWdlYnVpbGRlciBhcyBpbWFnZWJ1aWxkZXIgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEltYWdlQnVpbGRlckNvbXBvbmVudCB9IGZyb20gJy4vYnVpbGRlcic7XG5pbXBvcnQgeyBJbWFnZUJ1aWxkZXJPYmplY3RCYXNlIH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgYW1pUm9vdERldmljZSwgQXJjaGl0ZWN0dXJlLCBPcyB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycyc7XG5pbXBvcnQgeyB1bmlxdWVJbWFnZUJ1aWxkZXJOYW1lIH0gZnJvbSAnLi4vY29tbW9uJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBBbWlSZWNpcGUgY29uc3RydWN0LlxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5pbnRlcmZhY2UgQW1pUmVjaXBlUHJvcGVydGllcyB7XG4gIC8qKlxuICAgKiBUYXJnZXQgcGxhdGZvcm0uIE11c3QgbWF0Y2ggYnVpbGRlciBwbGF0Zm9ybS5cbiAgICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtOiAnTGludXgnIHwgJ1dpbmRvd3MnO1xuXG4gIC8qKlxuICAgKiBUYXJnZXQgYXJjaGl0ZWN0dXJlLiBNdXN0IG1hdGNoIGJ1aWxkZXIgcGxhdGZvcm0uXG4gICAqL1xuICByZWFkb25seSBhcmNoaXRlY3R1cmU6IEFyY2hpdGVjdHVyZTtcblxuICAvKipcbiAgICogQmFzZSBBTUkgdG8gdXNlIGZvciB0aGUgbmV3IHJ1bm5lciBBTUkuXG4gICAqL1xuICByZWFkb25seSBiYXNlQW1pOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN0b3JhZ2Ugc2l6ZSBmb3IgdGhlIGJ1aWxkZXIuXG4gICAqL1xuICByZWFkb25seSBzdG9yYWdlU2l6ZT86IGNkay5TaXplO1xuXG4gIC8qKlxuICAgKiBDb21wb25lbnRzIHRvIGFkZCB0byB0YXJnZXQgY29udGFpbmVyIGltYWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tcG9uZW50czogSW1hZ2VCdWlsZGVyQ29tcG9uZW50W107XG5cbiAgLyoqXG4gICAqIFRhZ3MgdG8gYXBwbHkgdG8gdGhlIHJlY2lwZSBhbmQgaW1hZ2UuXG4gICAqL1xuICByZWFkb25seSB0YWdzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufVxuXG4vKipcbiAqIEltYWdlIGJ1aWxkZXIgcmVjaXBlIGZvciBBbWF6b24gTWFjaGluZSBJbWFnZSAoQU1JKS5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIEFtaVJlY2lwZSBleHRlbmRzIEltYWdlQnVpbGRlck9iamVjdEJhc2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgYXJuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFtaVJlY2lwZVByb3BlcnRpZXMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgbGV0IGNvbXBvbmVudHMgPSBwcm9wcy5jb21wb25lbnRzLm1hcChjb21wb25lbnQgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29tcG9uZW50QXJuOiBjb21wb25lbnQuYXJuLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGJsb2NrRGV2aWNlTWFwcGluZ3MgPSBwcm9wcy5zdG9yYWdlU2l6ZSA/IFtcbiAgICAgIHtcbiAgICAgICAgZGV2aWNlTmFtZTogYW1pUm9vdERldmljZSh0aGlzLCBwcm9wcy5iYXNlQW1pKS5yZWYsXG4gICAgICAgIGViczoge1xuICAgICAgICAgIHZvbHVtZVNpemU6IHByb3BzLnN0b3JhZ2VTaXplLnRvR2liaWJ5dGVzKCksXG4gICAgICAgICAgZGVsZXRlT25UZXJtaW5hdGlvbjogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSA6IHVuZGVmaW5lZDtcblxuICAgIHRoaXMubmFtZSA9IHVuaXF1ZUltYWdlQnVpbGRlck5hbWUodGhpcyk7XG4gICAgdGhpcy52ZXJzaW9uID0gdGhpcy5nZW5lcmF0ZVZlcnNpb24oJ0ltYWdlUmVjaXBlJywgdGhpcy5uYW1lLCB7XG4gICAgICBwbGF0Zm9ybTogcHJvcHMucGxhdGZvcm0sXG4gICAgICBjb21wb25lbnRzLFxuICAgICAgcGFyZW50QW1pOiBwcm9wcy5iYXNlQW1pLFxuICAgICAgdGFnczogcHJvcHMudGFncyxcbiAgICAgIGJsb2NrRGV2aWNlTWFwcGluZ3MsXG4gICAgfSk7XG5cbiAgICBsZXQgd29ya2luZ0RpcmVjdG9yeTtcbiAgICBpZiAocHJvcHMucGxhdGZvcm0gPT0gJ0xpbnV4Jykge1xuICAgICAgd29ya2luZ0RpcmVjdG9yeSA9ICcvaG9tZS9ydW5uZXInO1xuICAgIH0gZWxzZSBpZiAocHJvcHMucGxhdGZvcm0gPT0gJ1dpbmRvd3MnKSB7XG4gICAgICB3b3JraW5nRGlyZWN0b3J5ID0gJ0M6Lyc7IC8vIG11c3QgZXhpc3Qgb3IgSW1hZ2UgQnVpbGRlciBmYWlscyBhbmQgbXVzdCBub3QgYmUgZW1wdHkgb3IgZ2l0IHdpbGwgc3RhbGwgaW5zdGFsbGluZyBmcm9tIHRoZSBkZWZhdWx0IHdpbmRvd3NcXHN5c3RlbTMyXG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgQU1JIHJlY2lwZSBwbGF0Zm9ybTogJHtwcm9wcy5wbGF0Zm9ybX1gKTtcbiAgICB9XG5cbiAgICBjb25zdCByZWNpcGUgPSBuZXcgaW1hZ2VidWlsZGVyLkNmbkltYWdlUmVjaXBlKHRoaXMsICdSZWNpcGUnLCB7XG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICB2ZXJzaW9uOiB0aGlzLnZlcnNpb24sXG4gICAgICBwYXJlbnRJbWFnZTogcHJvcHMuYmFzZUFtaSxcbiAgICAgIGNvbXBvbmVudHMsXG4gICAgICB3b3JraW5nRGlyZWN0b3J5LFxuICAgICAgdGFnczogcHJvcHMudGFncyxcbiAgICAgIGJsb2NrRGV2aWNlTWFwcGluZ3MsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFybiA9IHJlY2lwZS5hdHRyQXJuO1xuICB9XG59XG5cbi8qKlxuICogRGVmYXVsdCBiYXNlIEFNSSBmb3IgZ2l2ZW4gT1MgYW5kIGFyY2hpdGVjdHVyZS5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRCYXNlQW1pKHNjb3BlOiBDb25zdHJ1Y3QsIG9zOiBPcywgYXJjaGl0ZWN0dXJlOiBBcmNoaXRlY3R1cmUpIHtcbiAgY29uc3Qgc3RhY2sgPSBjZGsuU3RhY2sub2Yoc2NvcGUpO1xuXG4gIGxldCBhcmNoO1xuICBpZiAoYXJjaGl0ZWN0dXJlLmlzKEFyY2hpdGVjdHVyZS5YODZfNjQpKSB7XG4gICAgYXJjaCA9ICd4ODYnO1xuICB9IGVsc2UgaWYgKGFyY2hpdGVjdHVyZS5pcyhBcmNoaXRlY3R1cmUuQVJNNjQpKSB7XG4gICAgYXJjaCA9ICdhcm02NCc7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBhcmNoaXRlY3R1cmUgZm9yIGJhc2UgQU1JOiAke2FyY2hpdGVjdHVyZS5uYW1lfWApO1xuICB9XG5cbiAgaWYgKG9zLmlzKE9zLkxJTlVYX1VCVU5UVSkgfHwgb3MuaXMoT3MuTElOVVgpKSB7XG4gICAgcmV0dXJuIHN0YWNrLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnaW1hZ2VidWlsZGVyJyxcbiAgICAgIHJlc291cmNlOiAnaW1hZ2UnLFxuICAgICAgYWNjb3VudDogJ2F3cycsXG4gICAgICByZXNvdXJjZU5hbWU6IGB1YnVudHUtc2VydmVyLTIyLWx0cy0ke2FyY2h9L3gueC54YCxcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChvcy5pcyhPcy5MSU5VWF9BTUFaT05fMikpIHtcbiAgICByZXR1cm4gc3RhY2suZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdpbWFnZWJ1aWxkZXInLFxuICAgICAgcmVzb3VyY2U6ICdpbWFnZScsXG4gICAgICBhY2NvdW50OiAnYXdzJyxcbiAgICAgIHJlc291cmNlTmFtZTogYGFtYXpvbi1saW51eC0yLSR7YXJjaH0veC54LnhgLFxuICAgIH0pO1xuICB9XG5cbiAgaWYgKG9zLmlzKE9zLkxJTlVYX0FNQVpPTl8yMDIzKSkge1xuICAgIHJldHVybiBzdGFjay5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogJ2ltYWdlYnVpbGRlcicsXG4gICAgICByZXNvdXJjZTogJ2ltYWdlJyxcbiAgICAgIGFjY291bnQ6ICdhd3MnLFxuICAgICAgcmVzb3VyY2VOYW1lOiBgYW1hem9uLWxpbnV4LTIwMjMtJHthcmNofS94LngueGAsXG4gICAgfSk7XG4gIH1cblxuICBpZiAob3MuaXMoT3MuV0lORE9XUykpIHtcbiAgICByZXR1cm4gc3RhY2suZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdpbWFnZWJ1aWxkZXInLFxuICAgICAgcmVzb3VyY2U6ICdpbWFnZScsXG4gICAgICBhY2NvdW50OiAnYXdzJyxcbiAgICAgIHJlc291cmNlTmFtZTogYHdpbmRvd3Mtc2VydmVyLTIwMjItZW5nbGlzaC1mdWxsLWJhc2UtJHthcmNofS94LngueGAsXG4gICAgfSk7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoYE9TICR7b3MubmFtZX0gbm90IHN1cHBvcnRlZCBmb3IgQU1JIHJ1bm5lciBpbWFnZWApO1xufVxuXG4iXX0=
|
|
@@ -11,6 +11,14 @@ export interface AwsImageBuilderRunnerImageBuilderProps {
|
|
|
11
11
|
* @default m6i.large
|
|
12
12
|
*/
|
|
13
13
|
readonly instanceType?: ec2.InstanceType;
|
|
14
|
+
/**
|
|
15
|
+
* Size of volume available for builder instances. This modifies the boot volume size and doesn't add any additional volumes.
|
|
16
|
+
*
|
|
17
|
+
* Use this if you're building images with big components and need more space.
|
|
18
|
+
*
|
|
19
|
+
* @default default size for AMI (usually 30GB for Linux and 50GB for Windows)
|
|
20
|
+
*/
|
|
21
|
+
readonly storageSize?: cdk.Size;
|
|
14
22
|
/**
|
|
15
23
|
* Options for fast launch.
|
|
16
24
|
*
|
|
@@ -155,6 +163,7 @@ export declare class AwsImageBuilderRunnerImageBuilder extends RunnerImageBuilde
|
|
|
155
163
|
private infrastructure;
|
|
156
164
|
private readonly role;
|
|
157
165
|
private readonly fastLaunchOptions?;
|
|
166
|
+
private readonly storageSize?;
|
|
158
167
|
private readonly waitOnDeploy;
|
|
159
168
|
private readonly dockerSetupCommands;
|
|
160
169
|
private readonly tags;
|