cloudsnorkel.cdk-github-runners 0.11.6__py3-none-any.whl → 0.12.1__py3-none-any.whl
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.
Potentially problematic release.
This version of cloudsnorkel.cdk-github-runners might be problematic. Click here for more details.
- cloudsnorkel/cdk_github_runners/__init__.py +840 -705
- cloudsnorkel/cdk_github_runners/_jsii/__init__.py +2 -2
- cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.12.1.jsii.tgz +0 -0
- {cloudsnorkel.cdk_github_runners-0.11.6.dist-info → cloudsnorkel.cdk_github_runners-0.12.1.dist-info}/METADATA +14 -25
- cloudsnorkel.cdk_github_runners-0.12.1.dist-info/RECORD +9 -0
- {cloudsnorkel.cdk_github_runners-0.11.6.dist-info → cloudsnorkel.cdk_github_runners-0.12.1.dist-info}/WHEEL +1 -1
- cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.11.6.jsii.tgz +0 -0
- cloudsnorkel.cdk_github_runners-0.11.6.dist-info/RECORD +0 -9
- {cloudsnorkel.cdk_github_runners-0.11.6.dist-info → cloudsnorkel.cdk_github_runners-0.12.1.dist-info}/LICENSE +0 -0
- {cloudsnorkel.cdk_github_runners-0.11.6.dist-info → cloudsnorkel.cdk_github_runners-0.12.1.dist-info}/top_level.txt +0 -0
|
@@ -207,19 +207,13 @@ new GitHubRunners(this, 'runners', {
|
|
|
207
207
|
Another way to customize runners is by modifying the image used to spin them up. The image contains the [runner](https://github.com/actions/runner), any required dependencies, and integration code with the provider. You may choose to customize this image by adding more packages, for example.
|
|
208
208
|
|
|
209
209
|
```python
|
|
210
|
-
const myBuilder =
|
|
211
|
-
dockerfilePath: FargateRunner.LINUX_X64_DOCKERFILE_PATH,
|
|
212
|
-
runnerVersion: RunnerVersion.specific('2.291.0'),
|
|
213
|
-
rebuildInterval: Duration.days(14),
|
|
214
|
-
});
|
|
210
|
+
const myBuilder = FargateRunnerProvider.imageBuilder(this, 'image builder');
|
|
215
211
|
myBuilder.addComponent(
|
|
216
|
-
RunnerImageComponent.custom({ commands: ['apt install -y nginx xz-utils'] })
|
|
212
|
+
RunnerImageComponent.custom({ commands: ['apt install -y nginx xz-utils'] }),
|
|
217
213
|
);
|
|
218
214
|
|
|
219
215
|
const myProvider = new FargateRunnerProvider(this, 'fargate runner', {
|
|
220
216
|
labels: ['customized-fargate'],
|
|
221
|
-
vpc: vpc,
|
|
222
|
-
securityGroups: [runnerSg],
|
|
223
217
|
imageBuilder: myBuilder,
|
|
224
218
|
});
|
|
225
219
|
|
|
@@ -247,24 +241,20 @@ Windows images can also be customized the same way.
|
|
|
247
241
|
const myWindowsBuilder = FargateRunnerProvider.imageBuilder(this, 'Windows image builder', {
|
|
248
242
|
architecture: Architecture.X86_64,
|
|
249
243
|
os: Os.WINDOWS,
|
|
250
|
-
runnerVersion: RunnerVersion.specific('2.291.0'),
|
|
251
|
-
rebuildInterval: Duration.days(14),
|
|
252
244
|
});
|
|
253
245
|
myWindowsBuilder.addComponent(
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
246
|
+
RunnerImageComponent.custom({
|
|
247
|
+
name: 'Ninja',
|
|
248
|
+
commands: [
|
|
249
|
+
'Invoke-WebRequest -UseBasicParsing -Uri "https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-win.zip" -OutFile ninja.zip',
|
|
250
|
+
'Expand-Archive ninja.zip -DestinationPath C:\\actions',
|
|
251
|
+
'del ninja.zip',
|
|
252
|
+
],
|
|
253
|
+
}),
|
|
262
254
|
);
|
|
263
255
|
|
|
264
256
|
const myProvider = new FargateRunnerProvider(this, 'fargate runner', {
|
|
265
257
|
labels: ['customized-windows-fargate'],
|
|
266
|
-
vpc: vpc,
|
|
267
|
-
securityGroups: [runnerSg],
|
|
268
258
|
imageBuilder: myWindowsBuilder,
|
|
269
259
|
});
|
|
270
260
|
|
|
@@ -2929,6 +2919,27 @@ class ImageBuilderComponent(
|
|
|
2929
2919
|
|
|
2930
2920
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
2931
2921
|
|
|
2922
|
+
@jsii.member(jsii_name="generateVersion")
|
|
2923
|
+
def _generate_version(
|
|
2924
|
+
self,
|
|
2925
|
+
type: builtins.str,
|
|
2926
|
+
name: builtins.str,
|
|
2927
|
+
data: typing.Any,
|
|
2928
|
+
) -> builtins.str:
|
|
2929
|
+
'''
|
|
2930
|
+
:param type: -
|
|
2931
|
+
:param name: -
|
|
2932
|
+
:param data: -
|
|
2933
|
+
|
|
2934
|
+
:stability: deprecated
|
|
2935
|
+
'''
|
|
2936
|
+
if __debug__:
|
|
2937
|
+
type_hints = typing.get_type_hints(_typecheckingstub__abecb3decfe8eebf190daa2e93a508111cc10650e6b9fbf65b3a34f3ed07ca24)
|
|
2938
|
+
check_type(argname="argument type", value=type, expected_type=type_hints["type"])
|
|
2939
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
2940
|
+
check_type(argname="argument data", value=data, expected_type=type_hints["data"])
|
|
2941
|
+
return typing.cast(builtins.str, jsii.invoke(self, "generateVersion", [type, name, data]))
|
|
2942
|
+
|
|
2932
2943
|
@jsii.member(jsii_name="grantAssetsRead")
|
|
2933
2944
|
def grant_assets_read(self, grantee: _aws_cdk_aws_iam_ceddda9d.IGrantable) -> None:
|
|
2934
2945
|
'''(deprecated) Grants read permissions to the principal on the assets buckets.
|
|
@@ -2960,27 +2971,6 @@ class ImageBuilderComponent(
|
|
|
2960
2971
|
check_type(argname="argument commands", value=commands, expected_type=type_hints["commands"])
|
|
2961
2972
|
return typing.cast(typing.List[builtins.str], jsii.invoke(self, "prefixCommandsWithErrorHandling", [platform, commands]))
|
|
2962
2973
|
|
|
2963
|
-
@jsii.member(jsii_name="version")
|
|
2964
|
-
def _version(
|
|
2965
|
-
self,
|
|
2966
|
-
type: builtins.str,
|
|
2967
|
-
name: builtins.str,
|
|
2968
|
-
data: typing.Any,
|
|
2969
|
-
) -> builtins.str:
|
|
2970
|
-
'''
|
|
2971
|
-
:param type: -
|
|
2972
|
-
:param name: -
|
|
2973
|
-
:param data: -
|
|
2974
|
-
|
|
2975
|
-
:stability: deprecated
|
|
2976
|
-
'''
|
|
2977
|
-
if __debug__:
|
|
2978
|
-
type_hints = typing.get_type_hints(_typecheckingstub__e11323aa6f18ef1898e18067dba5908fdeabd333bfc1604f92c4c244adb28f7f)
|
|
2979
|
-
check_type(argname="argument type", value=type, expected_type=type_hints["type"])
|
|
2980
|
-
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
2981
|
-
check_type(argname="argument data", value=data, expected_type=type_hints["data"])
|
|
2982
|
-
return typing.cast(builtins.str, jsii.invoke(self, "version", [type, name, data]))
|
|
2983
|
-
|
|
2984
2974
|
@builtins.property
|
|
2985
2975
|
@jsii.member(jsii_name="arn")
|
|
2986
2976
|
def arn(self) -> builtins.str:
|
|
@@ -3363,8 +3353,14 @@ class LambdaRunnerProvider(
|
|
|
3363
3353
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
3364
3354
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3365
3355
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
3366
|
-
) -> "
|
|
3367
|
-
'''(experimental) Create new image builder that builds Lambda specific runner images
|
|
3356
|
+
) -> "IConfigurableRunnerImageBuilder":
|
|
3357
|
+
'''(experimental) Create new image builder that builds Lambda specific runner images.
|
|
3358
|
+
|
|
3359
|
+
You can customize the OS, architecture, VPC, subnet, security groups, etc. by passing in props.
|
|
3360
|
+
|
|
3361
|
+
You can add components to the image builder by calling ``imageBuilder.addComponent()``.
|
|
3362
|
+
|
|
3363
|
+
The default OS is Amazon Linux 2 running on x64 architecture.
|
|
3368
3364
|
|
|
3369
3365
|
Included components:
|
|
3370
3366
|
|
|
@@ -3376,7 +3372,7 @@ class LambdaRunnerProvider(
|
|
|
3376
3372
|
- ``RunnerImageComponent.githubRunner()``
|
|
3377
3373
|
- ``RunnerImageComponent.lambdaEntrypoint()``
|
|
3378
3374
|
|
|
3379
|
-
Base Docker image: ``public.ecr.aws/lambda/nodejs:
|
|
3375
|
+
Base Docker image: ``public.ecr.aws/lambda/nodejs:20-x86_64`` or ``public.ecr.aws/lambda/nodejs:20-arm64``
|
|
3380
3376
|
|
|
3381
3377
|
:param scope: -
|
|
3382
3378
|
:param id: -
|
|
@@ -3420,7 +3416,7 @@ class LambdaRunnerProvider(
|
|
|
3420
3416
|
vpc=vpc,
|
|
3421
3417
|
)
|
|
3422
3418
|
|
|
3423
|
-
return typing.cast("
|
|
3419
|
+
return typing.cast("IConfigurableRunnerImageBuilder", jsii.sinvoke(cls, "imageBuilder", [scope, id, props]))
|
|
3424
3420
|
|
|
3425
3421
|
@jsii.member(jsii_name="getStepFunctionTask")
|
|
3426
3422
|
def get_step_function_task(
|
|
@@ -3971,6 +3967,15 @@ class Os(metaclass=jsii.JSIIMeta, jsii_type="@cloudsnorkel/cdk-github-runners.Os
|
|
|
3971
3967
|
'''
|
|
3972
3968
|
return typing.cast("Os", jsii.sget(cls, "LINUX_AMAZON_2"))
|
|
3973
3969
|
|
|
3970
|
+
@jsii.python.classproperty
|
|
3971
|
+
@jsii.member(jsii_name="LINUX_AMAZON_2023")
|
|
3972
|
+
def LINUX_AMAZON_2023(cls) -> "Os":
|
|
3973
|
+
'''(experimental) Amazon Linux 2023.
|
|
3974
|
+
|
|
3975
|
+
:stability: experimental
|
|
3976
|
+
'''
|
|
3977
|
+
return typing.cast("Os", jsii.sget(cls, "LINUX_AMAZON_2023"))
|
|
3978
|
+
|
|
3974
3979
|
@jsii.python.classproperty
|
|
3975
3980
|
@jsii.member(jsii_name="LINUX_UBUNTU")
|
|
3976
3981
|
def LINUX_UBUNTU(cls) -> "Os":
|
|
@@ -4396,25 +4401,30 @@ class RunnerImageAsset:
|
|
|
4396
4401
|
)
|
|
4397
4402
|
|
|
4398
4403
|
|
|
4399
|
-
@jsii.
|
|
4400
|
-
|
|
4401
|
-
|
|
4402
|
-
|
|
4403
|
-
|
|
4404
|
-
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4404
|
+
@jsii.data_type(
|
|
4405
|
+
jsii_type="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps",
|
|
4406
|
+
jsii_struct_bases=[],
|
|
4407
|
+
name_mapping={
|
|
4408
|
+
"architecture": "architecture",
|
|
4409
|
+
"aws_image_builder_options": "awsImageBuilderOptions",
|
|
4410
|
+
"base_ami": "baseAmi",
|
|
4411
|
+
"base_docker_image": "baseDockerImage",
|
|
4412
|
+
"builder_type": "builderType",
|
|
4413
|
+
"code_build_options": "codeBuildOptions",
|
|
4414
|
+
"components": "components",
|
|
4415
|
+
"log_removal_policy": "logRemovalPolicy",
|
|
4416
|
+
"log_retention": "logRetention",
|
|
4417
|
+
"os": "os",
|
|
4418
|
+
"rebuild_interval": "rebuildInterval",
|
|
4419
|
+
"runner_version": "runnerVersion",
|
|
4420
|
+
"security_groups": "securityGroups",
|
|
4421
|
+
"subnet_selection": "subnetSelection",
|
|
4422
|
+
"vpc": "vpc",
|
|
4423
|
+
},
|
|
4424
|
+
)
|
|
4425
|
+
class RunnerImageBuilderProps:
|
|
4414
4426
|
def __init__(
|
|
4415
4427
|
self,
|
|
4416
|
-
scope: _constructs_77d1e7e8.Construct,
|
|
4417
|
-
id: builtins.str,
|
|
4418
4428
|
*,
|
|
4419
4429
|
architecture: typing.Optional[Architecture] = None,
|
|
4420
4430
|
aws_image_builder_options: typing.Optional[typing.Union[AwsImageBuilderRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -4433,8 +4443,6 @@ class RunnerImageBuilder(
|
|
|
4433
4443
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
4434
4444
|
) -> None:
|
|
4435
4445
|
'''
|
|
4436
|
-
:param scope: -
|
|
4437
|
-
:param id: -
|
|
4438
4446
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
4439
4447
|
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
4440
4448
|
:param base_ami: (experimental) Base AMI from which runner AMIs will be built. This can be an actual AMI or an AWS Image Builder ARN that points to the latest AMI. For example ``arn:aws:imagebuilder:us-east-1:aws:image/ubuntu-server-22-lts-x86/x.x.x`` would always use the latest version of Ubuntu 22.04 in each build. If you want a specific version, you can replace ``x.x.x`` with that version. Default: latest Ubuntu 22.04 AMI for Os.LINUX_UBUNTU, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
|
|
@@ -4453,553 +4461,255 @@ class RunnerImageBuilder(
|
|
|
4453
4461
|
|
|
4454
4462
|
:stability: experimental
|
|
4455
4463
|
'''
|
|
4464
|
+
if isinstance(aws_image_builder_options, dict):
|
|
4465
|
+
aws_image_builder_options = AwsImageBuilderRunnerImageBuilderProps(**aws_image_builder_options)
|
|
4466
|
+
if isinstance(code_build_options, dict):
|
|
4467
|
+
code_build_options = CodeBuildRunnerImageBuilderProps(**code_build_options)
|
|
4468
|
+
if isinstance(subnet_selection, dict):
|
|
4469
|
+
subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
|
|
4456
4470
|
if __debug__:
|
|
4457
|
-
type_hints = typing.get_type_hints(
|
|
4458
|
-
check_type(argname="argument
|
|
4459
|
-
check_type(argname="argument
|
|
4460
|
-
|
|
4461
|
-
|
|
4462
|
-
|
|
4463
|
-
|
|
4464
|
-
|
|
4465
|
-
|
|
4466
|
-
|
|
4467
|
-
|
|
4468
|
-
|
|
4469
|
-
|
|
4470
|
-
|
|
4471
|
-
|
|
4472
|
-
|
|
4473
|
-
|
|
4474
|
-
|
|
4475
|
-
|
|
4476
|
-
|
|
4471
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ab96b7f3871624e8430668114e7f5748ba5d253168db5b8f9a13955d0a82e43d)
|
|
4472
|
+
check_type(argname="argument architecture", value=architecture, expected_type=type_hints["architecture"])
|
|
4473
|
+
check_type(argname="argument aws_image_builder_options", value=aws_image_builder_options, expected_type=type_hints["aws_image_builder_options"])
|
|
4474
|
+
check_type(argname="argument base_ami", value=base_ami, expected_type=type_hints["base_ami"])
|
|
4475
|
+
check_type(argname="argument base_docker_image", value=base_docker_image, expected_type=type_hints["base_docker_image"])
|
|
4476
|
+
check_type(argname="argument builder_type", value=builder_type, expected_type=type_hints["builder_type"])
|
|
4477
|
+
check_type(argname="argument code_build_options", value=code_build_options, expected_type=type_hints["code_build_options"])
|
|
4478
|
+
check_type(argname="argument components", value=components, expected_type=type_hints["components"])
|
|
4479
|
+
check_type(argname="argument log_removal_policy", value=log_removal_policy, expected_type=type_hints["log_removal_policy"])
|
|
4480
|
+
check_type(argname="argument log_retention", value=log_retention, expected_type=type_hints["log_retention"])
|
|
4481
|
+
check_type(argname="argument os", value=os, expected_type=type_hints["os"])
|
|
4482
|
+
check_type(argname="argument rebuild_interval", value=rebuild_interval, expected_type=type_hints["rebuild_interval"])
|
|
4483
|
+
check_type(argname="argument runner_version", value=runner_version, expected_type=type_hints["runner_version"])
|
|
4484
|
+
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
4485
|
+
check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
|
|
4486
|
+
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
4487
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
4488
|
+
if architecture is not None:
|
|
4489
|
+
self._values["architecture"] = architecture
|
|
4490
|
+
if aws_image_builder_options is not None:
|
|
4491
|
+
self._values["aws_image_builder_options"] = aws_image_builder_options
|
|
4492
|
+
if base_ami is not None:
|
|
4493
|
+
self._values["base_ami"] = base_ami
|
|
4494
|
+
if base_docker_image is not None:
|
|
4495
|
+
self._values["base_docker_image"] = base_docker_image
|
|
4496
|
+
if builder_type is not None:
|
|
4497
|
+
self._values["builder_type"] = builder_type
|
|
4498
|
+
if code_build_options is not None:
|
|
4499
|
+
self._values["code_build_options"] = code_build_options
|
|
4500
|
+
if components is not None:
|
|
4501
|
+
self._values["components"] = components
|
|
4502
|
+
if log_removal_policy is not None:
|
|
4503
|
+
self._values["log_removal_policy"] = log_removal_policy
|
|
4504
|
+
if log_retention is not None:
|
|
4505
|
+
self._values["log_retention"] = log_retention
|
|
4506
|
+
if os is not None:
|
|
4507
|
+
self._values["os"] = os
|
|
4508
|
+
if rebuild_interval is not None:
|
|
4509
|
+
self._values["rebuild_interval"] = rebuild_interval
|
|
4510
|
+
if runner_version is not None:
|
|
4511
|
+
self._values["runner_version"] = runner_version
|
|
4512
|
+
if security_groups is not None:
|
|
4513
|
+
self._values["security_groups"] = security_groups
|
|
4514
|
+
if subnet_selection is not None:
|
|
4515
|
+
self._values["subnet_selection"] = subnet_selection
|
|
4516
|
+
if vpc is not None:
|
|
4517
|
+
self._values["vpc"] = vpc
|
|
4477
4518
|
|
|
4478
|
-
|
|
4519
|
+
@builtins.property
|
|
4520
|
+
def architecture(self) -> typing.Optional[Architecture]:
|
|
4521
|
+
'''(experimental) Image architecture.
|
|
4479
4522
|
|
|
4480
|
-
|
|
4481
|
-
@builtins.classmethod
|
|
4482
|
-
def new(
|
|
4483
|
-
cls,
|
|
4484
|
-
scope: _constructs_77d1e7e8.Construct,
|
|
4485
|
-
id: builtins.str,
|
|
4486
|
-
*,
|
|
4487
|
-
architecture: typing.Optional[Architecture] = None,
|
|
4488
|
-
aws_image_builder_options: typing.Optional[typing.Union[AwsImageBuilderRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4489
|
-
base_ami: typing.Optional[builtins.str] = None,
|
|
4490
|
-
base_docker_image: typing.Optional[builtins.str] = None,
|
|
4491
|
-
builder_type: typing.Optional["RunnerImageBuilderType"] = None,
|
|
4492
|
-
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4493
|
-
components: typing.Optional[typing.Sequence["RunnerImageComponent"]] = None,
|
|
4494
|
-
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
4495
|
-
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
4496
|
-
os: typing.Optional[Os] = None,
|
|
4497
|
-
rebuild_interval: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4498
|
-
runner_version: typing.Optional["RunnerVersion"] = None,
|
|
4499
|
-
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
4500
|
-
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4501
|
-
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
4502
|
-
) -> "RunnerImageBuilder":
|
|
4503
|
-
'''(experimental) Create a new image builder based on the provided properties.
|
|
4523
|
+
:default: Architecture.X86_64
|
|
4504
4524
|
|
|
4505
|
-
|
|
4525
|
+
:stability: experimental
|
|
4526
|
+
'''
|
|
4527
|
+
result = self._values.get("architecture")
|
|
4528
|
+
return typing.cast(typing.Optional[Architecture], result)
|
|
4506
4529
|
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
|
|
4511
|
-
|
|
4512
|
-
|
|
4513
|
-
|
|
4514
|
-
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
4515
|
-
:param components: (experimental) Components to install on the image. Default: none
|
|
4516
|
-
:param log_removal_policy: (experimental) Removal policy for logs of image builds. If deployment fails on the custom resource, try setting this to ``RemovalPolicy.RETAIN``. This way the CodeBuild logs can still be viewed, and you can see why the build failed. We try to not leave anything behind when removed. But sometimes a log staying behind is useful. Default: RemovalPolicy.DESTROY
|
|
4517
|
-
:param log_retention: (experimental) The number of days log events are kept in CloudWatch Logs. When updating this property, unsetting it doesn't remove the log retention policy. To remove the retention policy, set the value to ``INFINITE``. Default: logs.RetentionDays.ONE_MONTH
|
|
4518
|
-
:param os: (experimental) Image OS. Default: OS.LINUX_UBUNTU
|
|
4519
|
-
:param rebuild_interval: (experimental) Schedule the image to be rebuilt every given interval. Useful for keeping the image up-do-date with the latest GitHub runner version and latest OS updates. Set to zero to disable. Default: Duration.days(7)
|
|
4520
|
-
:param runner_version: (experimental) Version of GitHub Runners to install. Default: latest version available
|
|
4521
|
-
:param security_groups: (experimental) Security Groups to assign to this instance.
|
|
4522
|
-
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
4523
|
-
:param vpc: (experimental) VPC to build the image in. Default: no VPC
|
|
4530
|
+
@builtins.property
|
|
4531
|
+
def aws_image_builder_options(
|
|
4532
|
+
self,
|
|
4533
|
+
) -> typing.Optional[AwsImageBuilderRunnerImageBuilderProps]:
|
|
4534
|
+
'''(experimental) Options specific to AWS Image Builder.
|
|
4535
|
+
|
|
4536
|
+
Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
4524
4537
|
|
|
4525
4538
|
:stability: experimental
|
|
4526
4539
|
'''
|
|
4527
|
-
|
|
4528
|
-
|
|
4529
|
-
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
4530
|
-
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
4531
|
-
props = RunnerImageBuilderProps(
|
|
4532
|
-
architecture=architecture,
|
|
4533
|
-
aws_image_builder_options=aws_image_builder_options,
|
|
4534
|
-
base_ami=base_ami,
|
|
4535
|
-
base_docker_image=base_docker_image,
|
|
4536
|
-
builder_type=builder_type,
|
|
4537
|
-
code_build_options=code_build_options,
|
|
4538
|
-
components=components,
|
|
4539
|
-
log_removal_policy=log_removal_policy,
|
|
4540
|
-
log_retention=log_retention,
|
|
4541
|
-
os=os,
|
|
4542
|
-
rebuild_interval=rebuild_interval,
|
|
4543
|
-
runner_version=runner_version,
|
|
4544
|
-
security_groups=security_groups,
|
|
4545
|
-
subnet_selection=subnet_selection,
|
|
4546
|
-
vpc=vpc,
|
|
4547
|
-
)
|
|
4548
|
-
|
|
4549
|
-
return typing.cast("RunnerImageBuilder", jsii.sinvoke(cls, "new", [scope, id, props]))
|
|
4540
|
+
result = self._values.get("aws_image_builder_options")
|
|
4541
|
+
return typing.cast(typing.Optional[AwsImageBuilderRunnerImageBuilderProps], result)
|
|
4550
4542
|
|
|
4551
|
-
@
|
|
4552
|
-
def
|
|
4553
|
-
'''(experimental)
|
|
4543
|
+
@builtins.property
|
|
4544
|
+
def base_ami(self) -> typing.Optional[builtins.str]:
|
|
4545
|
+
'''(experimental) Base AMI from which runner AMIs will be built.
|
|
4554
4546
|
|
|
4555
|
-
|
|
4547
|
+
This can be an actual AMI or an AWS Image Builder ARN that points to the latest AMI. For example ``arn:aws:imagebuilder:us-east-1:aws:image/ubuntu-server-22-lts-x86/x.x.x`` would always use the latest version of Ubuntu 22.04 in each build. If you want a specific version, you can replace ``x.x.x`` with that version.
|
|
4556
4548
|
|
|
4557
|
-
:
|
|
4549
|
+
:default: latest Ubuntu 22.04 AMI for Os.LINUX_UBUNTU, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
|
|
4558
4550
|
|
|
4559
4551
|
:stability: experimental
|
|
4560
4552
|
'''
|
|
4561
|
-
|
|
4562
|
-
|
|
4563
|
-
check_type(argname="argument component", value=component, expected_type=type_hints["component"])
|
|
4564
|
-
return typing.cast(None, jsii.invoke(self, "addComponent", [component]))
|
|
4565
|
-
|
|
4566
|
-
@jsii.member(jsii_name="bindAmi")
|
|
4567
|
-
@abc.abstractmethod
|
|
4568
|
-
def bind_ami(self) -> RunnerAmi:
|
|
4569
|
-
'''(experimental) Build and return an AMI with GitHub Runner installed in it.
|
|
4553
|
+
result = self._values.get("base_ami")
|
|
4554
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4570
4555
|
|
|
4571
|
-
|
|
4556
|
+
@builtins.property
|
|
4557
|
+
def base_docker_image(self) -> typing.Optional[builtins.str]:
|
|
4558
|
+
'''(experimental) Base image from which Docker runner images will be built.
|
|
4572
4559
|
|
|
4573
|
-
|
|
4560
|
+
:default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
4574
4561
|
|
|
4575
4562
|
:stability: experimental
|
|
4576
4563
|
'''
|
|
4577
|
-
|
|
4564
|
+
result = self._values.get("base_docker_image")
|
|
4565
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4578
4566
|
|
|
4579
|
-
@
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
|
|
4567
|
+
@builtins.property
|
|
4568
|
+
def builder_type(self) -> typing.Optional["RunnerImageBuilderType"]:
|
|
4569
|
+
'''
|
|
4570
|
+
:default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
4583
4571
|
|
|
4584
|
-
|
|
4572
|
+
:stability: experimental
|
|
4573
|
+
'''
|
|
4574
|
+
result = self._values.get("builder_type")
|
|
4575
|
+
return typing.cast(typing.Optional["RunnerImageBuilderType"], result)
|
|
4585
4576
|
|
|
4586
|
-
|
|
4577
|
+
@builtins.property
|
|
4578
|
+
def code_build_options(self) -> typing.Optional[CodeBuildRunnerImageBuilderProps]:
|
|
4579
|
+
'''(experimental) Options specific to CodeBuild image builder.
|
|
4587
4580
|
|
|
4588
|
-
|
|
4581
|
+
Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
4589
4582
|
|
|
4590
4583
|
:stability: experimental
|
|
4591
4584
|
'''
|
|
4592
|
-
|
|
4593
|
-
|
|
4594
|
-
@jsii.member(jsii_name="removeComponent")
|
|
4595
|
-
def remove_component(self, component: "RunnerImageComponent") -> None:
|
|
4596
|
-
'''(experimental) Remove a component from the image builder.
|
|
4585
|
+
result = self._values.get("code_build_options")
|
|
4586
|
+
return typing.cast(typing.Optional[CodeBuildRunnerImageBuilderProps], result)
|
|
4597
4587
|
|
|
4598
|
-
|
|
4588
|
+
@builtins.property
|
|
4589
|
+
def components(self) -> typing.Optional[typing.List["RunnerImageComponent"]]:
|
|
4590
|
+
'''(experimental) Components to install on the image.
|
|
4599
4591
|
|
|
4600
|
-
:
|
|
4592
|
+
:default: none
|
|
4601
4593
|
|
|
4602
4594
|
:stability: experimental
|
|
4603
4595
|
'''
|
|
4604
|
-
|
|
4605
|
-
|
|
4606
|
-
check_type(argname="argument component", value=component, expected_type=type_hints["component"])
|
|
4607
|
-
return typing.cast(None, jsii.invoke(self, "removeComponent", [component]))
|
|
4596
|
+
result = self._values.get("components")
|
|
4597
|
+
return typing.cast(typing.Optional[typing.List["RunnerImageComponent"]], result)
|
|
4608
4598
|
|
|
4609
4599
|
@builtins.property
|
|
4610
|
-
|
|
4611
|
-
|
|
4612
|
-
|
|
4613
|
-
|
|
4600
|
+
def log_removal_policy(self) -> typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy]:
|
|
4601
|
+
'''(experimental) Removal policy for logs of image builds.
|
|
4602
|
+
|
|
4603
|
+
If deployment fails on the custom resource, try setting this to ``RemovalPolicy.RETAIN``. This way the CodeBuild logs can still be viewed, and you can see why the build failed.
|
|
4604
|
+
|
|
4605
|
+
We try to not leave anything behind when removed. But sometimes a log staying behind is useful.
|
|
4606
|
+
|
|
4607
|
+
:default: RemovalPolicy.DESTROY
|
|
4614
4608
|
|
|
4615
4609
|
:stability: experimental
|
|
4616
4610
|
'''
|
|
4617
|
-
|
|
4611
|
+
result = self._values.get("log_removal_policy")
|
|
4612
|
+
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy], result)
|
|
4618
4613
|
|
|
4619
4614
|
@builtins.property
|
|
4620
|
-
|
|
4621
|
-
|
|
4622
|
-
|
|
4623
|
-
'''(experimental) The
|
|
4615
|
+
def log_retention(
|
|
4616
|
+
self,
|
|
4617
|
+
) -> typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays]:
|
|
4618
|
+
'''(experimental) The number of days log events are kept in CloudWatch Logs.
|
|
4619
|
+
|
|
4620
|
+
When updating
|
|
4621
|
+
this property, unsetting it doesn't remove the log retention policy. To
|
|
4622
|
+
remove the retention policy, set the value to ``INFINITE``.
|
|
4623
|
+
|
|
4624
|
+
:default: logs.RetentionDays.ONE_MONTH
|
|
4624
4625
|
|
|
4625
4626
|
:stability: experimental
|
|
4626
4627
|
'''
|
|
4627
|
-
|
|
4628
|
+
result = self._values.get("log_retention")
|
|
4629
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays], result)
|
|
4628
4630
|
|
|
4629
4631
|
@builtins.property
|
|
4630
|
-
|
|
4631
|
-
|
|
4632
|
-
|
|
4632
|
+
def os(self) -> typing.Optional[Os]:
|
|
4633
|
+
'''(experimental) Image OS.
|
|
4634
|
+
|
|
4635
|
+
:default: OS.LINUX_UBUNTU
|
|
4636
|
+
|
|
4633
4637
|
:stability: experimental
|
|
4634
4638
|
'''
|
|
4635
|
-
|
|
4636
|
-
|
|
4637
|
-
@_components.setter
|
|
4638
|
-
def _components(self, value: typing.List["RunnerImageComponent"]) -> None:
|
|
4639
|
-
if __debug__:
|
|
4640
|
-
type_hints = typing.get_type_hints(_typecheckingstub__705c18a1eedaa490aebad511aac32a801519a57162e30be4673a8ab87ca434dc)
|
|
4641
|
-
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
4642
|
-
jsii.set(self, "components", value)
|
|
4639
|
+
result = self._values.get("os")
|
|
4640
|
+
return typing.cast(typing.Optional[Os], result)
|
|
4643
4641
|
|
|
4642
|
+
@builtins.property
|
|
4643
|
+
def rebuild_interval(self) -> typing.Optional[_aws_cdk_ceddda9d.Duration]:
|
|
4644
|
+
'''(experimental) Schedule the image to be rebuilt every given interval.
|
|
4644
4645
|
|
|
4645
|
-
|
|
4646
|
-
@jsii.member(jsii_name="bindAmi")
|
|
4647
|
-
def bind_ami(self) -> RunnerAmi:
|
|
4648
|
-
'''(experimental) Build and return an AMI with GitHub Runner installed in it.
|
|
4646
|
+
Useful for keeping the image up-do-date with the latest GitHub runner version and latest OS updates.
|
|
4649
4647
|
|
|
4650
|
-
|
|
4648
|
+
Set to zero to disable.
|
|
4651
4649
|
|
|
4652
|
-
|
|
4650
|
+
:default: Duration.days(7)
|
|
4653
4651
|
|
|
4654
4652
|
:stability: experimental
|
|
4655
4653
|
'''
|
|
4656
|
-
|
|
4654
|
+
result = self._values.get("rebuild_interval")
|
|
4655
|
+
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Duration], result)
|
|
4657
4656
|
|
|
4658
|
-
@
|
|
4659
|
-
def
|
|
4660
|
-
'''(experimental)
|
|
4657
|
+
@builtins.property
|
|
4658
|
+
def runner_version(self) -> typing.Optional["RunnerVersion"]:
|
|
4659
|
+
'''(experimental) Version of GitHub Runners to install.
|
|
4661
4660
|
|
|
4662
|
-
|
|
4661
|
+
:default: latest version available
|
|
4663
4662
|
|
|
4664
|
-
|
|
4663
|
+
:stability: experimental
|
|
4664
|
+
'''
|
|
4665
|
+
result = self._values.get("runner_version")
|
|
4666
|
+
return typing.cast(typing.Optional["RunnerVersion"], result)
|
|
4665
4667
|
|
|
4666
|
-
|
|
4668
|
+
@builtins.property
|
|
4669
|
+
def security_groups(
|
|
4670
|
+
self,
|
|
4671
|
+
) -> typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]]:
|
|
4672
|
+
'''(experimental) Security Groups to assign to this instance.
|
|
4667
4673
|
|
|
4668
4674
|
:stability: experimental
|
|
4669
4675
|
'''
|
|
4670
|
-
|
|
4676
|
+
result = self._values.get("security_groups")
|
|
4677
|
+
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]], result)
|
|
4671
4678
|
|
|
4672
4679
|
@builtins.property
|
|
4673
|
-
|
|
4674
|
-
|
|
4675
|
-
|
|
4680
|
+
def subnet_selection(
|
|
4681
|
+
self,
|
|
4682
|
+
) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
|
|
4683
|
+
'''(experimental) Where to place the network interfaces within the VPC.
|
|
4684
|
+
|
|
4685
|
+
:default: no subnet
|
|
4676
4686
|
|
|
4677
4687
|
:stability: experimental
|
|
4678
4688
|
'''
|
|
4679
|
-
|
|
4689
|
+
result = self._values.get("subnet_selection")
|
|
4690
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection], result)
|
|
4680
4691
|
|
|
4681
4692
|
@builtins.property
|
|
4682
|
-
|
|
4683
|
-
|
|
4684
|
-
|
|
4693
|
+
def vpc(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc]:
|
|
4694
|
+
'''(experimental) VPC to build the image in.
|
|
4695
|
+
|
|
4696
|
+
:default: no VPC
|
|
4685
4697
|
|
|
4686
4698
|
:stability: experimental
|
|
4687
4699
|
'''
|
|
4688
|
-
|
|
4700
|
+
result = self._values.get("vpc")
|
|
4701
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc], result)
|
|
4689
4702
|
|
|
4690
|
-
|
|
4691
|
-
|
|
4703
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4704
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4692
4705
|
|
|
4706
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4707
|
+
return not (rhs == self)
|
|
4693
4708
|
|
|
4694
|
-
|
|
4695
|
-
|
|
4696
|
-
|
|
4697
|
-
|
|
4698
|
-
"architecture": "architecture",
|
|
4699
|
-
"aws_image_builder_options": "awsImageBuilderOptions",
|
|
4700
|
-
"base_ami": "baseAmi",
|
|
4701
|
-
"base_docker_image": "baseDockerImage",
|
|
4702
|
-
"builder_type": "builderType",
|
|
4703
|
-
"code_build_options": "codeBuildOptions",
|
|
4704
|
-
"components": "components",
|
|
4705
|
-
"log_removal_policy": "logRemovalPolicy",
|
|
4706
|
-
"log_retention": "logRetention",
|
|
4707
|
-
"os": "os",
|
|
4708
|
-
"rebuild_interval": "rebuildInterval",
|
|
4709
|
-
"runner_version": "runnerVersion",
|
|
4710
|
-
"security_groups": "securityGroups",
|
|
4711
|
-
"subnet_selection": "subnetSelection",
|
|
4712
|
-
"vpc": "vpc",
|
|
4713
|
-
},
|
|
4714
|
-
)
|
|
4715
|
-
class RunnerImageBuilderProps:
|
|
4716
|
-
def __init__(
|
|
4717
|
-
self,
|
|
4718
|
-
*,
|
|
4719
|
-
architecture: typing.Optional[Architecture] = None,
|
|
4720
|
-
aws_image_builder_options: typing.Optional[typing.Union[AwsImageBuilderRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4721
|
-
base_ami: typing.Optional[builtins.str] = None,
|
|
4722
|
-
base_docker_image: typing.Optional[builtins.str] = None,
|
|
4723
|
-
builder_type: typing.Optional["RunnerImageBuilderType"] = None,
|
|
4724
|
-
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4725
|
-
components: typing.Optional[typing.Sequence["RunnerImageComponent"]] = None,
|
|
4726
|
-
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
4727
|
-
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
4728
|
-
os: typing.Optional[Os] = None,
|
|
4729
|
-
rebuild_interval: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4730
|
-
runner_version: typing.Optional["RunnerVersion"] = None,
|
|
4731
|
-
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
4732
|
-
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4733
|
-
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
4734
|
-
) -> None:
|
|
4735
|
-
'''
|
|
4736
|
-
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
4737
|
-
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
4738
|
-
:param base_ami: (experimental) Base AMI from which runner AMIs will be built. This can be an actual AMI or an AWS Image Builder ARN that points to the latest AMI. For example ``arn:aws:imagebuilder:us-east-1:aws:image/ubuntu-server-22-lts-x86/x.x.x`` would always use the latest version of Ubuntu 22.04 in each build. If you want a specific version, you can replace ``x.x.x`` with that version. Default: latest Ubuntu 22.04 AMI for Os.LINUX_UBUNTU, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
|
|
4739
|
-
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
4740
|
-
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
4741
|
-
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
4742
|
-
:param components: (experimental) Components to install on the image. Default: none
|
|
4743
|
-
:param log_removal_policy: (experimental) Removal policy for logs of image builds. If deployment fails on the custom resource, try setting this to ``RemovalPolicy.RETAIN``. This way the CodeBuild logs can still be viewed, and you can see why the build failed. We try to not leave anything behind when removed. But sometimes a log staying behind is useful. Default: RemovalPolicy.DESTROY
|
|
4744
|
-
:param log_retention: (experimental) The number of days log events are kept in CloudWatch Logs. When updating this property, unsetting it doesn't remove the log retention policy. To remove the retention policy, set the value to ``INFINITE``. Default: logs.RetentionDays.ONE_MONTH
|
|
4745
|
-
:param os: (experimental) Image OS. Default: OS.LINUX_UBUNTU
|
|
4746
|
-
:param rebuild_interval: (experimental) Schedule the image to be rebuilt every given interval. Useful for keeping the image up-do-date with the latest GitHub runner version and latest OS updates. Set to zero to disable. Default: Duration.days(7)
|
|
4747
|
-
:param runner_version: (experimental) Version of GitHub Runners to install. Default: latest version available
|
|
4748
|
-
:param security_groups: (experimental) Security Groups to assign to this instance.
|
|
4749
|
-
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
4750
|
-
:param vpc: (experimental) VPC to build the image in. Default: no VPC
|
|
4751
|
-
|
|
4752
|
-
:stability: experimental
|
|
4753
|
-
'''
|
|
4754
|
-
if isinstance(aws_image_builder_options, dict):
|
|
4755
|
-
aws_image_builder_options = AwsImageBuilderRunnerImageBuilderProps(**aws_image_builder_options)
|
|
4756
|
-
if isinstance(code_build_options, dict):
|
|
4757
|
-
code_build_options = CodeBuildRunnerImageBuilderProps(**code_build_options)
|
|
4758
|
-
if isinstance(subnet_selection, dict):
|
|
4759
|
-
subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
|
|
4760
|
-
if __debug__:
|
|
4761
|
-
type_hints = typing.get_type_hints(_typecheckingstub__ab96b7f3871624e8430668114e7f5748ba5d253168db5b8f9a13955d0a82e43d)
|
|
4762
|
-
check_type(argname="argument architecture", value=architecture, expected_type=type_hints["architecture"])
|
|
4763
|
-
check_type(argname="argument aws_image_builder_options", value=aws_image_builder_options, expected_type=type_hints["aws_image_builder_options"])
|
|
4764
|
-
check_type(argname="argument base_ami", value=base_ami, expected_type=type_hints["base_ami"])
|
|
4765
|
-
check_type(argname="argument base_docker_image", value=base_docker_image, expected_type=type_hints["base_docker_image"])
|
|
4766
|
-
check_type(argname="argument builder_type", value=builder_type, expected_type=type_hints["builder_type"])
|
|
4767
|
-
check_type(argname="argument code_build_options", value=code_build_options, expected_type=type_hints["code_build_options"])
|
|
4768
|
-
check_type(argname="argument components", value=components, expected_type=type_hints["components"])
|
|
4769
|
-
check_type(argname="argument log_removal_policy", value=log_removal_policy, expected_type=type_hints["log_removal_policy"])
|
|
4770
|
-
check_type(argname="argument log_retention", value=log_retention, expected_type=type_hints["log_retention"])
|
|
4771
|
-
check_type(argname="argument os", value=os, expected_type=type_hints["os"])
|
|
4772
|
-
check_type(argname="argument rebuild_interval", value=rebuild_interval, expected_type=type_hints["rebuild_interval"])
|
|
4773
|
-
check_type(argname="argument runner_version", value=runner_version, expected_type=type_hints["runner_version"])
|
|
4774
|
-
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
4775
|
-
check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
|
|
4776
|
-
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
4777
|
-
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
4778
|
-
if architecture is not None:
|
|
4779
|
-
self._values["architecture"] = architecture
|
|
4780
|
-
if aws_image_builder_options is not None:
|
|
4781
|
-
self._values["aws_image_builder_options"] = aws_image_builder_options
|
|
4782
|
-
if base_ami is not None:
|
|
4783
|
-
self._values["base_ami"] = base_ami
|
|
4784
|
-
if base_docker_image is not None:
|
|
4785
|
-
self._values["base_docker_image"] = base_docker_image
|
|
4786
|
-
if builder_type is not None:
|
|
4787
|
-
self._values["builder_type"] = builder_type
|
|
4788
|
-
if code_build_options is not None:
|
|
4789
|
-
self._values["code_build_options"] = code_build_options
|
|
4790
|
-
if components is not None:
|
|
4791
|
-
self._values["components"] = components
|
|
4792
|
-
if log_removal_policy is not None:
|
|
4793
|
-
self._values["log_removal_policy"] = log_removal_policy
|
|
4794
|
-
if log_retention is not None:
|
|
4795
|
-
self._values["log_retention"] = log_retention
|
|
4796
|
-
if os is not None:
|
|
4797
|
-
self._values["os"] = os
|
|
4798
|
-
if rebuild_interval is not None:
|
|
4799
|
-
self._values["rebuild_interval"] = rebuild_interval
|
|
4800
|
-
if runner_version is not None:
|
|
4801
|
-
self._values["runner_version"] = runner_version
|
|
4802
|
-
if security_groups is not None:
|
|
4803
|
-
self._values["security_groups"] = security_groups
|
|
4804
|
-
if subnet_selection is not None:
|
|
4805
|
-
self._values["subnet_selection"] = subnet_selection
|
|
4806
|
-
if vpc is not None:
|
|
4807
|
-
self._values["vpc"] = vpc
|
|
4808
|
-
|
|
4809
|
-
@builtins.property
|
|
4810
|
-
def architecture(self) -> typing.Optional[Architecture]:
|
|
4811
|
-
'''(experimental) Image architecture.
|
|
4812
|
-
|
|
4813
|
-
:default: Architecture.X86_64
|
|
4814
|
-
|
|
4815
|
-
:stability: experimental
|
|
4816
|
-
'''
|
|
4817
|
-
result = self._values.get("architecture")
|
|
4818
|
-
return typing.cast(typing.Optional[Architecture], result)
|
|
4819
|
-
|
|
4820
|
-
@builtins.property
|
|
4821
|
-
def aws_image_builder_options(
|
|
4822
|
-
self,
|
|
4823
|
-
) -> typing.Optional[AwsImageBuilderRunnerImageBuilderProps]:
|
|
4824
|
-
'''(experimental) Options specific to AWS Image Builder.
|
|
4825
|
-
|
|
4826
|
-
Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
4827
|
-
|
|
4828
|
-
:stability: experimental
|
|
4829
|
-
'''
|
|
4830
|
-
result = self._values.get("aws_image_builder_options")
|
|
4831
|
-
return typing.cast(typing.Optional[AwsImageBuilderRunnerImageBuilderProps], result)
|
|
4832
|
-
|
|
4833
|
-
@builtins.property
|
|
4834
|
-
def base_ami(self) -> typing.Optional[builtins.str]:
|
|
4835
|
-
'''(experimental) Base AMI from which runner AMIs will be built.
|
|
4836
|
-
|
|
4837
|
-
This can be an actual AMI or an AWS Image Builder ARN that points to the latest AMI. For example ``arn:aws:imagebuilder:us-east-1:aws:image/ubuntu-server-22-lts-x86/x.x.x`` would always use the latest version of Ubuntu 22.04 in each build. If you want a specific version, you can replace ``x.x.x`` with that version.
|
|
4838
|
-
|
|
4839
|
-
:default: latest Ubuntu 22.04 AMI for Os.LINUX_UBUNTU, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
|
|
4840
|
-
|
|
4841
|
-
:stability: experimental
|
|
4842
|
-
'''
|
|
4843
|
-
result = self._values.get("base_ami")
|
|
4844
|
-
return typing.cast(typing.Optional[builtins.str], result)
|
|
4845
|
-
|
|
4846
|
-
@builtins.property
|
|
4847
|
-
def base_docker_image(self) -> typing.Optional[builtins.str]:
|
|
4848
|
-
'''(experimental) Base image from which Docker runner images will be built.
|
|
4849
|
-
|
|
4850
|
-
:default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
4851
|
-
|
|
4852
|
-
:stability: experimental
|
|
4853
|
-
'''
|
|
4854
|
-
result = self._values.get("base_docker_image")
|
|
4855
|
-
return typing.cast(typing.Optional[builtins.str], result)
|
|
4856
|
-
|
|
4857
|
-
@builtins.property
|
|
4858
|
-
def builder_type(self) -> typing.Optional["RunnerImageBuilderType"]:
|
|
4859
|
-
'''
|
|
4860
|
-
:default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
4861
|
-
|
|
4862
|
-
:stability: experimental
|
|
4863
|
-
'''
|
|
4864
|
-
result = self._values.get("builder_type")
|
|
4865
|
-
return typing.cast(typing.Optional["RunnerImageBuilderType"], result)
|
|
4866
|
-
|
|
4867
|
-
@builtins.property
|
|
4868
|
-
def code_build_options(self) -> typing.Optional[CodeBuildRunnerImageBuilderProps]:
|
|
4869
|
-
'''(experimental) Options specific to CodeBuild image builder.
|
|
4870
|
-
|
|
4871
|
-
Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
4872
|
-
|
|
4873
|
-
:stability: experimental
|
|
4874
|
-
'''
|
|
4875
|
-
result = self._values.get("code_build_options")
|
|
4876
|
-
return typing.cast(typing.Optional[CodeBuildRunnerImageBuilderProps], result)
|
|
4877
|
-
|
|
4878
|
-
@builtins.property
|
|
4879
|
-
def components(self) -> typing.Optional[typing.List["RunnerImageComponent"]]:
|
|
4880
|
-
'''(experimental) Components to install on the image.
|
|
4881
|
-
|
|
4882
|
-
:default: none
|
|
4883
|
-
|
|
4884
|
-
:stability: experimental
|
|
4885
|
-
'''
|
|
4886
|
-
result = self._values.get("components")
|
|
4887
|
-
return typing.cast(typing.Optional[typing.List["RunnerImageComponent"]], result)
|
|
4888
|
-
|
|
4889
|
-
@builtins.property
|
|
4890
|
-
def log_removal_policy(self) -> typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy]:
|
|
4891
|
-
'''(experimental) Removal policy for logs of image builds.
|
|
4892
|
-
|
|
4893
|
-
If deployment fails on the custom resource, try setting this to ``RemovalPolicy.RETAIN``. This way the CodeBuild logs can still be viewed, and you can see why the build failed.
|
|
4894
|
-
|
|
4895
|
-
We try to not leave anything behind when removed. But sometimes a log staying behind is useful.
|
|
4896
|
-
|
|
4897
|
-
:default: RemovalPolicy.DESTROY
|
|
4898
|
-
|
|
4899
|
-
:stability: experimental
|
|
4900
|
-
'''
|
|
4901
|
-
result = self._values.get("log_removal_policy")
|
|
4902
|
-
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy], result)
|
|
4903
|
-
|
|
4904
|
-
@builtins.property
|
|
4905
|
-
def log_retention(
|
|
4906
|
-
self,
|
|
4907
|
-
) -> typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays]:
|
|
4908
|
-
'''(experimental) The number of days log events are kept in CloudWatch Logs.
|
|
4909
|
-
|
|
4910
|
-
When updating
|
|
4911
|
-
this property, unsetting it doesn't remove the log retention policy. To
|
|
4912
|
-
remove the retention policy, set the value to ``INFINITE``.
|
|
4913
|
-
|
|
4914
|
-
:default: logs.RetentionDays.ONE_MONTH
|
|
4915
|
-
|
|
4916
|
-
:stability: experimental
|
|
4917
|
-
'''
|
|
4918
|
-
result = self._values.get("log_retention")
|
|
4919
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays], result)
|
|
4920
|
-
|
|
4921
|
-
@builtins.property
|
|
4922
|
-
def os(self) -> typing.Optional[Os]:
|
|
4923
|
-
'''(experimental) Image OS.
|
|
4924
|
-
|
|
4925
|
-
:default: OS.LINUX_UBUNTU
|
|
4926
|
-
|
|
4927
|
-
:stability: experimental
|
|
4928
|
-
'''
|
|
4929
|
-
result = self._values.get("os")
|
|
4930
|
-
return typing.cast(typing.Optional[Os], result)
|
|
4931
|
-
|
|
4932
|
-
@builtins.property
|
|
4933
|
-
def rebuild_interval(self) -> typing.Optional[_aws_cdk_ceddda9d.Duration]:
|
|
4934
|
-
'''(experimental) Schedule the image to be rebuilt every given interval.
|
|
4935
|
-
|
|
4936
|
-
Useful for keeping the image up-do-date with the latest GitHub runner version and latest OS updates.
|
|
4937
|
-
|
|
4938
|
-
Set to zero to disable.
|
|
4939
|
-
|
|
4940
|
-
:default: Duration.days(7)
|
|
4941
|
-
|
|
4942
|
-
:stability: experimental
|
|
4943
|
-
'''
|
|
4944
|
-
result = self._values.get("rebuild_interval")
|
|
4945
|
-
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Duration], result)
|
|
4946
|
-
|
|
4947
|
-
@builtins.property
|
|
4948
|
-
def runner_version(self) -> typing.Optional["RunnerVersion"]:
|
|
4949
|
-
'''(experimental) Version of GitHub Runners to install.
|
|
4950
|
-
|
|
4951
|
-
:default: latest version available
|
|
4952
|
-
|
|
4953
|
-
:stability: experimental
|
|
4954
|
-
'''
|
|
4955
|
-
result = self._values.get("runner_version")
|
|
4956
|
-
return typing.cast(typing.Optional["RunnerVersion"], result)
|
|
4957
|
-
|
|
4958
|
-
@builtins.property
|
|
4959
|
-
def security_groups(
|
|
4960
|
-
self,
|
|
4961
|
-
) -> typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]]:
|
|
4962
|
-
'''(experimental) Security Groups to assign to this instance.
|
|
4963
|
-
|
|
4964
|
-
:stability: experimental
|
|
4965
|
-
'''
|
|
4966
|
-
result = self._values.get("security_groups")
|
|
4967
|
-
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]], result)
|
|
4968
|
-
|
|
4969
|
-
@builtins.property
|
|
4970
|
-
def subnet_selection(
|
|
4971
|
-
self,
|
|
4972
|
-
) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
|
|
4973
|
-
'''(experimental) Where to place the network interfaces within the VPC.
|
|
4974
|
-
|
|
4975
|
-
:default: no subnet
|
|
4976
|
-
|
|
4977
|
-
:stability: experimental
|
|
4978
|
-
'''
|
|
4979
|
-
result = self._values.get("subnet_selection")
|
|
4980
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection], result)
|
|
4981
|
-
|
|
4982
|
-
@builtins.property
|
|
4983
|
-
def vpc(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc]:
|
|
4984
|
-
'''(experimental) VPC to build the image in.
|
|
4985
|
-
|
|
4986
|
-
:default: no VPC
|
|
4987
|
-
|
|
4988
|
-
:stability: experimental
|
|
4989
|
-
'''
|
|
4990
|
-
result = self._values.get("vpc")
|
|
4991
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc], result)
|
|
4992
|
-
|
|
4993
|
-
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4994
|
-
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4995
|
-
|
|
4996
|
-
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4997
|
-
return not (rhs == self)
|
|
4998
|
-
|
|
4999
|
-
def __repr__(self) -> str:
|
|
5000
|
-
return "RunnerImageBuilderProps(%s)" % ", ".join(
|
|
5001
|
-
k + "=" + repr(v) for k, v in self._values.items()
|
|
5002
|
-
)
|
|
4709
|
+
def __repr__(self) -> str:
|
|
4710
|
+
return "RunnerImageBuilderProps(%s)" % ", ".join(
|
|
4711
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4712
|
+
)
|
|
5003
4713
|
|
|
5004
4714
|
|
|
5005
4715
|
@jsii.enum(jsii_type="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderType")
|
|
@@ -5071,7 +4781,7 @@ class RunnerImageComponent(
|
|
|
5071
4781
|
:param assets: (experimental) Assets to copy into the built image.
|
|
5072
4782
|
:param commands: (experimental) Commands to run in the built image.
|
|
5073
4783
|
:param docker_commands: (experimental) Docker commands to run in the built image. For example: ``['ENV foo=bar', 'RUN echo $foo']`` These commands are ignored when building AMIs.
|
|
5074
|
-
:param name: (experimental) Component name used for (1) image build logging and (2) identifier for {@link
|
|
4784
|
+
:param name: (experimental) Component name used for (1) image build logging and (2) identifier for {@link IConfigurableRunnerImageBuilder.removeComponent }. Name must only contain alphanumeric characters and dashes.
|
|
5075
4785
|
|
|
5076
4786
|
:stability: experimental
|
|
5077
4787
|
'''
|
|
@@ -5272,7 +4982,7 @@ class RunnerImageComponent(
|
|
|
5272
4982
|
def name(self) -> builtins.str:
|
|
5273
4983
|
'''(experimental) Component name.
|
|
5274
4984
|
|
|
5275
|
-
Used to identify component in image build logs, and for {@link
|
|
4985
|
+
Used to identify component in image build logs, and for {@link IConfigurableRunnerImageBuilder.removeComponent }
|
|
5276
4986
|
|
|
5277
4987
|
:stability: experimental
|
|
5278
4988
|
'''
|
|
@@ -5306,7 +5016,7 @@ class _RunnerImageComponentProxy(RunnerImageComponent):
|
|
|
5306
5016
|
def name(self) -> builtins.str:
|
|
5307
5017
|
'''(experimental) Component name.
|
|
5308
5018
|
|
|
5309
|
-
Used to identify component in image build logs, and for {@link
|
|
5019
|
+
Used to identify component in image build logs, and for {@link IConfigurableRunnerImageBuilder.removeComponent }
|
|
5310
5020
|
|
|
5311
5021
|
:stability: experimental
|
|
5312
5022
|
'''
|
|
@@ -5339,7 +5049,7 @@ class RunnerImageComponentCustomProps:
|
|
|
5339
5049
|
:param assets: (experimental) Assets to copy into the built image.
|
|
5340
5050
|
:param commands: (experimental) Commands to run in the built image.
|
|
5341
5051
|
:param docker_commands: (experimental) Docker commands to run in the built image. For example: ``['ENV foo=bar', 'RUN echo $foo']`` These commands are ignored when building AMIs.
|
|
5342
|
-
:param name: (experimental) Component name used for (1) image build logging and (2) identifier for {@link
|
|
5052
|
+
:param name: (experimental) Component name used for (1) image build logging and (2) identifier for {@link IConfigurableRunnerImageBuilder.removeComponent }. Name must only contain alphanumeric characters and dashes.
|
|
5343
5053
|
|
|
5344
5054
|
:stability: experimental
|
|
5345
5055
|
'''
|
|
@@ -5392,7 +5102,7 @@ class RunnerImageComponentCustomProps:
|
|
|
5392
5102
|
|
|
5393
5103
|
@builtins.property
|
|
5394
5104
|
def name(self) -> typing.Optional[builtins.str]:
|
|
5395
|
-
'''(experimental) Component name used for (1) image build logging and (2) identifier for {@link
|
|
5105
|
+
'''(experimental) Component name used for (1) image build logging and (2) identifier for {@link IConfigurableRunnerImageBuilder.removeComponent }.
|
|
5396
5106
|
|
|
5397
5107
|
Name must only contain alphanumeric characters and dashes.
|
|
5398
5108
|
|
|
@@ -6608,8 +6318,14 @@ class CodeBuildRunnerProvider(
|
|
|
6608
6318
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
6609
6319
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6610
6320
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
6611
|
-
) ->
|
|
6612
|
-
'''(experimental) Create new image builder that builds CodeBuild specific runner images
|
|
6321
|
+
) -> "IConfigurableRunnerImageBuilder":
|
|
6322
|
+
'''(experimental) Create new image builder that builds CodeBuild specific runner images.
|
|
6323
|
+
|
|
6324
|
+
You can customize the OS, architecture, VPC, subnet, security groups, etc. by passing in props.
|
|
6325
|
+
|
|
6326
|
+
You can add components to the image builder by calling ``imageBuilder.addComponent()``.
|
|
6327
|
+
|
|
6328
|
+
The default OS is Ubuntu running on x64 architecture.
|
|
6613
6329
|
|
|
6614
6330
|
Included components:
|
|
6615
6331
|
|
|
@@ -6663,7 +6379,7 @@ class CodeBuildRunnerProvider(
|
|
|
6663
6379
|
vpc=vpc,
|
|
6664
6380
|
)
|
|
6665
6381
|
|
|
6666
|
-
return typing.cast(
|
|
6382
|
+
return typing.cast("IConfigurableRunnerImageBuilder", jsii.sinvoke(cls, "imageBuilder", [scope, id, props]))
|
|
6667
6383
|
|
|
6668
6384
|
@jsii.member(jsii_name="getStepFunctionTask")
|
|
6669
6385
|
def get_step_function_task(
|
|
@@ -7546,8 +7262,14 @@ class Ec2RunnerProvider(
|
|
|
7546
7262
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
7547
7263
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7548
7264
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
7549
|
-
) ->
|
|
7550
|
-
'''(experimental) Create new image builder that builds EC2 specific runner images
|
|
7265
|
+
) -> "IConfigurableRunnerImageBuilder":
|
|
7266
|
+
'''(experimental) Create new image builder that builds EC2 specific runner images.
|
|
7267
|
+
|
|
7268
|
+
You can customize the OS, architecture, VPC, subnet, security groups, etc. by passing in props.
|
|
7269
|
+
|
|
7270
|
+
You can add components to the image builder by calling ``imageBuilder.addComponent()``.
|
|
7271
|
+
|
|
7272
|
+
The default OS is Ubuntu running on x64 architecture.
|
|
7551
7273
|
|
|
7552
7274
|
Included components:
|
|
7553
7275
|
|
|
@@ -7601,7 +7323,7 @@ class Ec2RunnerProvider(
|
|
|
7601
7323
|
vpc=vpc,
|
|
7602
7324
|
)
|
|
7603
7325
|
|
|
7604
|
-
return typing.cast(
|
|
7326
|
+
return typing.cast("IConfigurableRunnerImageBuilder", jsii.sinvoke(cls, "imageBuilder", [scope, id, props]))
|
|
7605
7327
|
|
|
7606
7328
|
@jsii.member(jsii_name="getStepFunctionTask")
|
|
7607
7329
|
def get_step_function_task(
|
|
@@ -8164,8 +7886,14 @@ class EcsRunnerProvider(
|
|
|
8164
7886
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
8165
7887
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8166
7888
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
8167
|
-
) ->
|
|
8168
|
-
'''(experimental) Create new image builder that builds ECS specific runner images
|
|
7889
|
+
) -> "IConfigurableRunnerImageBuilder":
|
|
7890
|
+
'''(experimental) Create new image builder that builds ECS specific runner images.
|
|
7891
|
+
|
|
7892
|
+
You can customize the OS, architecture, VPC, subnet, security groups, etc. by passing in props.
|
|
7893
|
+
|
|
7894
|
+
You can add components to the image builder by calling ``imageBuilder.addComponent()``.
|
|
7895
|
+
|
|
7896
|
+
The default OS is Ubuntu running on x64 architecture.
|
|
8169
7897
|
|
|
8170
7898
|
Included components:
|
|
8171
7899
|
|
|
@@ -8219,7 +7947,7 @@ class EcsRunnerProvider(
|
|
|
8219
7947
|
vpc=vpc,
|
|
8220
7948
|
)
|
|
8221
7949
|
|
|
8222
|
-
return typing.cast(
|
|
7950
|
+
return typing.cast("IConfigurableRunnerImageBuilder", jsii.sinvoke(cls, "imageBuilder", [scope, id, props]))
|
|
8223
7951
|
|
|
8224
7952
|
@jsii.member(jsii_name="getStepFunctionTask")
|
|
8225
7953
|
def get_step_function_task(
|
|
@@ -8872,8 +8600,14 @@ class FargateRunnerProvider(
|
|
|
8872
8600
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
8873
8601
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8874
8602
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
8875
|
-
) ->
|
|
8876
|
-
'''(experimental) Create new image builder that builds Fargate specific runner images
|
|
8603
|
+
) -> "IConfigurableRunnerImageBuilder":
|
|
8604
|
+
'''(experimental) Create new image builder that builds Fargate specific runner images.
|
|
8605
|
+
|
|
8606
|
+
You can customize the OS, architecture, VPC, subnet, security groups, etc. by passing in props.
|
|
8607
|
+
|
|
8608
|
+
You can add components to the image builder by calling ``imageBuilder.addComponent()``.
|
|
8609
|
+
|
|
8610
|
+
The default OS is Ubuntu running on x64 architecture.
|
|
8877
8611
|
|
|
8878
8612
|
Included components:
|
|
8879
8613
|
|
|
@@ -8926,7 +8660,7 @@ class FargateRunnerProvider(
|
|
|
8926
8660
|
vpc=vpc,
|
|
8927
8661
|
)
|
|
8928
8662
|
|
|
8929
|
-
return typing.cast(
|
|
8663
|
+
return typing.cast("IConfigurableRunnerImageBuilder", jsii.sinvoke(cls, "imageBuilder", [scope, id, props]))
|
|
8930
8664
|
|
|
8931
8665
|
@jsii.member(jsii_name="getStepFunctionTask")
|
|
8932
8666
|
def get_step_function_task(
|
|
@@ -9526,24 +9260,117 @@ class FargateRunnerProviderProps(RunnerProviderProps):
|
|
|
9526
9260
|
)
|
|
9527
9261
|
|
|
9528
9262
|
|
|
9529
|
-
|
|
9530
|
-
|
|
9531
|
-
|
|
9532
|
-
|
|
9263
|
+
@jsii.interface(
|
|
9264
|
+
jsii_type="@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder"
|
|
9265
|
+
)
|
|
9266
|
+
class IConfigurableRunnerImageBuilder(
|
|
9267
|
+
IRunnerImageBuilder,
|
|
9268
|
+
_aws_cdk_aws_ec2_ceddda9d.IConnectable,
|
|
9269
|
+
_aws_cdk_aws_iam_ceddda9d.IGrantable,
|
|
9270
|
+
typing_extensions.Protocol,
|
|
9533
9271
|
):
|
|
9534
|
-
'''
|
|
9535
|
-
:deprecated: use {@link LambdaRunnerProvider }
|
|
9272
|
+
'''(experimental) Interface for constructs that build an image that can be used in {@link IRunnerProvider }.
|
|
9536
9273
|
|
|
9537
|
-
|
|
9274
|
+
The image can be configured by adding or removing components. The image builder can be configured by adding grants or allowing connections.
|
|
9275
|
+
|
|
9276
|
+
An image can be a Docker image or AMI.
|
|
9277
|
+
|
|
9278
|
+
:stability: experimental
|
|
9538
9279
|
'''
|
|
9539
9280
|
|
|
9540
|
-
|
|
9541
|
-
|
|
9542
|
-
|
|
9543
|
-
|
|
9544
|
-
|
|
9545
|
-
|
|
9546
|
-
|
|
9281
|
+
@jsii.member(jsii_name="addComponent")
|
|
9282
|
+
def add_component(self, component: RunnerImageComponent) -> None:
|
|
9283
|
+
'''(experimental) Add a component to the image builder.
|
|
9284
|
+
|
|
9285
|
+
The component will be added to the end of the list of components.
|
|
9286
|
+
|
|
9287
|
+
:param component: component to add.
|
|
9288
|
+
|
|
9289
|
+
:stability: experimental
|
|
9290
|
+
'''
|
|
9291
|
+
...
|
|
9292
|
+
|
|
9293
|
+
@jsii.member(jsii_name="removeComponent")
|
|
9294
|
+
def remove_component(self, component: RunnerImageComponent) -> None:
|
|
9295
|
+
'''(experimental) Remove a component from the image builder.
|
|
9296
|
+
|
|
9297
|
+
Removal is done by component name. Multiple components with the same name will all be removed.
|
|
9298
|
+
|
|
9299
|
+
:param component: component to remove.
|
|
9300
|
+
|
|
9301
|
+
:stability: experimental
|
|
9302
|
+
'''
|
|
9303
|
+
...
|
|
9304
|
+
|
|
9305
|
+
|
|
9306
|
+
class _IConfigurableRunnerImageBuilderProxy(
|
|
9307
|
+
jsii.proxy_for(IRunnerImageBuilder), # type: ignore[misc]
|
|
9308
|
+
jsii.proxy_for(_aws_cdk_aws_ec2_ceddda9d.IConnectable), # type: ignore[misc]
|
|
9309
|
+
jsii.proxy_for(_aws_cdk_aws_iam_ceddda9d.IGrantable), # type: ignore[misc]
|
|
9310
|
+
):
|
|
9311
|
+
'''(experimental) Interface for constructs that build an image that can be used in {@link IRunnerProvider }.
|
|
9312
|
+
|
|
9313
|
+
The image can be configured by adding or removing components. The image builder can be configured by adding grants or allowing connections.
|
|
9314
|
+
|
|
9315
|
+
An image can be a Docker image or AMI.
|
|
9316
|
+
|
|
9317
|
+
:stability: experimental
|
|
9318
|
+
'''
|
|
9319
|
+
|
|
9320
|
+
__jsii_type__: typing.ClassVar[str] = "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder"
|
|
9321
|
+
|
|
9322
|
+
@jsii.member(jsii_name="addComponent")
|
|
9323
|
+
def add_component(self, component: RunnerImageComponent) -> None:
|
|
9324
|
+
'''(experimental) Add a component to the image builder.
|
|
9325
|
+
|
|
9326
|
+
The component will be added to the end of the list of components.
|
|
9327
|
+
|
|
9328
|
+
:param component: component to add.
|
|
9329
|
+
|
|
9330
|
+
:stability: experimental
|
|
9331
|
+
'''
|
|
9332
|
+
if __debug__:
|
|
9333
|
+
type_hints = typing.get_type_hints(_typecheckingstub__dc4625ad41fc3631b6e9812ae4ab86d19fc28eb849f5a5bf3a3ed7c4ebbeb066)
|
|
9334
|
+
check_type(argname="argument component", value=component, expected_type=type_hints["component"])
|
|
9335
|
+
return typing.cast(None, jsii.invoke(self, "addComponent", [component]))
|
|
9336
|
+
|
|
9337
|
+
@jsii.member(jsii_name="removeComponent")
|
|
9338
|
+
def remove_component(self, component: RunnerImageComponent) -> None:
|
|
9339
|
+
'''(experimental) Remove a component from the image builder.
|
|
9340
|
+
|
|
9341
|
+
Removal is done by component name. Multiple components with the same name will all be removed.
|
|
9342
|
+
|
|
9343
|
+
:param component: component to remove.
|
|
9344
|
+
|
|
9345
|
+
:stability: experimental
|
|
9346
|
+
'''
|
|
9347
|
+
if __debug__:
|
|
9348
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3aa11e0e95269ba6ec5fded5dd768fb588157de9643a5fce8b09fc9b4e2a18c0)
|
|
9349
|
+
check_type(argname="argument component", value=component, expected_type=type_hints["component"])
|
|
9350
|
+
return typing.cast(None, jsii.invoke(self, "removeComponent", [component]))
|
|
9351
|
+
|
|
9352
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
9353
|
+
typing.cast(typing.Any, IConfigurableRunnerImageBuilder).__jsii_proxy_class__ = lambda : _IConfigurableRunnerImageBuilderProxy
|
|
9354
|
+
|
|
9355
|
+
|
|
9356
|
+
class LambdaRunner(
|
|
9357
|
+
LambdaRunnerProvider,
|
|
9358
|
+
metaclass=jsii.JSIIMeta,
|
|
9359
|
+
jsii_type="@cloudsnorkel/cdk-github-runners.LambdaRunner",
|
|
9360
|
+
):
|
|
9361
|
+
'''
|
|
9362
|
+
:deprecated: use {@link LambdaRunnerProvider }
|
|
9363
|
+
|
|
9364
|
+
:stability: deprecated
|
|
9365
|
+
'''
|
|
9366
|
+
|
|
9367
|
+
def __init__(
|
|
9368
|
+
self,
|
|
9369
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
9370
|
+
id: builtins.str,
|
|
9371
|
+
*,
|
|
9372
|
+
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
9373
|
+
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
9547
9374
|
label: typing.Optional[builtins.str] = None,
|
|
9548
9375
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9549
9376
|
memory_size: typing.Optional[jsii.Number] = None,
|
|
@@ -9768,100 +9595,395 @@ class LambdaRunnerProviderProps(RunnerProviderProps):
|
|
|
9768
9595
|
|
|
9769
9596
|
:stability: experimental
|
|
9770
9597
|
'''
|
|
9771
|
-
result = self._values.get("labels")
|
|
9772
|
-
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
9598
|
+
result = self._values.get("labels")
|
|
9599
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
9600
|
+
|
|
9601
|
+
@builtins.property
|
|
9602
|
+
def memory_size(self) -> typing.Optional[jsii.Number]:
|
|
9603
|
+
'''(experimental) The amount of memory, in MB, that is allocated to your Lambda function.
|
|
9604
|
+
|
|
9605
|
+
Lambda uses this value to proportionally allocate the amount of CPU
|
|
9606
|
+
power. For more information, see Resource Model in the AWS Lambda
|
|
9607
|
+
Developer Guide.
|
|
9608
|
+
|
|
9609
|
+
:default: 2048
|
|
9610
|
+
|
|
9611
|
+
:stability: experimental
|
|
9612
|
+
'''
|
|
9613
|
+
result = self._values.get("memory_size")
|
|
9614
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
9615
|
+
|
|
9616
|
+
@builtins.property
|
|
9617
|
+
def security_group(
|
|
9618
|
+
self,
|
|
9619
|
+
) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]:
|
|
9620
|
+
'''(deprecated) Security group to assign to this instance.
|
|
9621
|
+
|
|
9622
|
+
:default: public lambda with no security group
|
|
9623
|
+
|
|
9624
|
+
:deprecated: use {@link securityGroups }
|
|
9625
|
+
|
|
9626
|
+
:stability: deprecated
|
|
9627
|
+
'''
|
|
9628
|
+
result = self._values.get("security_group")
|
|
9629
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup], result)
|
|
9630
|
+
|
|
9631
|
+
@builtins.property
|
|
9632
|
+
def security_groups(
|
|
9633
|
+
self,
|
|
9634
|
+
) -> typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]]:
|
|
9635
|
+
'''(experimental) Security groups to assign to this instance.
|
|
9636
|
+
|
|
9637
|
+
:default: public lambda with no security group
|
|
9638
|
+
|
|
9639
|
+
:stability: experimental
|
|
9640
|
+
'''
|
|
9641
|
+
result = self._values.get("security_groups")
|
|
9642
|
+
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]], result)
|
|
9643
|
+
|
|
9644
|
+
@builtins.property
|
|
9645
|
+
def subnet_selection(
|
|
9646
|
+
self,
|
|
9647
|
+
) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
|
|
9648
|
+
'''(experimental) Where to place the network interfaces within the VPC.
|
|
9649
|
+
|
|
9650
|
+
:default: no subnet
|
|
9651
|
+
|
|
9652
|
+
:stability: experimental
|
|
9653
|
+
'''
|
|
9654
|
+
result = self._values.get("subnet_selection")
|
|
9655
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection], result)
|
|
9656
|
+
|
|
9657
|
+
@builtins.property
|
|
9658
|
+
def timeout(self) -> typing.Optional[_aws_cdk_ceddda9d.Duration]:
|
|
9659
|
+
'''(experimental) The function execution time (in seconds) after which Lambda terminates the function.
|
|
9660
|
+
|
|
9661
|
+
Because the execution time affects cost, set this value
|
|
9662
|
+
based on the function's expected execution time.
|
|
9663
|
+
|
|
9664
|
+
:default: Duration.minutes(15)
|
|
9665
|
+
|
|
9666
|
+
:stability: experimental
|
|
9667
|
+
'''
|
|
9668
|
+
result = self._values.get("timeout")
|
|
9669
|
+
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Duration], result)
|
|
9670
|
+
|
|
9671
|
+
@builtins.property
|
|
9672
|
+
def vpc(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc]:
|
|
9673
|
+
'''(experimental) VPC to launch the runners in.
|
|
9674
|
+
|
|
9675
|
+
:default: no VPC
|
|
9676
|
+
|
|
9677
|
+
:stability: experimental
|
|
9678
|
+
'''
|
|
9679
|
+
result = self._values.get("vpc")
|
|
9680
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc], result)
|
|
9681
|
+
|
|
9682
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
9683
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
9684
|
+
|
|
9685
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
9686
|
+
return not (rhs == self)
|
|
9687
|
+
|
|
9688
|
+
def __repr__(self) -> str:
|
|
9689
|
+
return "LambdaRunnerProviderProps(%s)" % ", ".join(
|
|
9690
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
9691
|
+
)
|
|
9692
|
+
|
|
9693
|
+
|
|
9694
|
+
@jsii.implements(IConfigurableRunnerImageBuilder)
|
|
9695
|
+
class RunnerImageBuilder(
|
|
9696
|
+
_constructs_77d1e7e8.Construct,
|
|
9697
|
+
metaclass=jsii.JSIIAbstractClass,
|
|
9698
|
+
jsii_type="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder",
|
|
9699
|
+
):
|
|
9700
|
+
'''(experimental) GitHub Runner image builder. Builds a Docker image or AMI with GitHub Runner and other requirements installed.
|
|
9701
|
+
|
|
9702
|
+
Images can be customized before passed into the provider by adding or removing components to be installed.
|
|
9703
|
+
|
|
9704
|
+
Images are rebuilt every week by default to ensure that the latest security patches are applied.
|
|
9705
|
+
|
|
9706
|
+
:stability: experimental
|
|
9707
|
+
'''
|
|
9708
|
+
|
|
9709
|
+
def __init__(
|
|
9710
|
+
self,
|
|
9711
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
9712
|
+
id: builtins.str,
|
|
9713
|
+
*,
|
|
9714
|
+
architecture: typing.Optional[Architecture] = None,
|
|
9715
|
+
aws_image_builder_options: typing.Optional[typing.Union[AwsImageBuilderRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9716
|
+
base_ami: typing.Optional[builtins.str] = None,
|
|
9717
|
+
base_docker_image: typing.Optional[builtins.str] = None,
|
|
9718
|
+
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
9719
|
+
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9720
|
+
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
9721
|
+
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
9722
|
+
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
9723
|
+
os: typing.Optional[Os] = None,
|
|
9724
|
+
rebuild_interval: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
9725
|
+
runner_version: typing.Optional[RunnerVersion] = None,
|
|
9726
|
+
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
9727
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9728
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
9729
|
+
) -> None:
|
|
9730
|
+
'''
|
|
9731
|
+
:param scope: -
|
|
9732
|
+
:param id: -
|
|
9733
|
+
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
9734
|
+
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
9735
|
+
:param base_ami: (experimental) Base AMI from which runner AMIs will be built. This can be an actual AMI or an AWS Image Builder ARN that points to the latest AMI. For example ``arn:aws:imagebuilder:us-east-1:aws:image/ubuntu-server-22-lts-x86/x.x.x`` would always use the latest version of Ubuntu 22.04 in each build. If you want a specific version, you can replace ``x.x.x`` with that version. Default: latest Ubuntu 22.04 AMI for Os.LINUX_UBUNTU, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
|
|
9736
|
+
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
9737
|
+
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
9738
|
+
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
9739
|
+
:param components: (experimental) Components to install on the image. Default: none
|
|
9740
|
+
:param log_removal_policy: (experimental) Removal policy for logs of image builds. If deployment fails on the custom resource, try setting this to ``RemovalPolicy.RETAIN``. This way the CodeBuild logs can still be viewed, and you can see why the build failed. We try to not leave anything behind when removed. But sometimes a log staying behind is useful. Default: RemovalPolicy.DESTROY
|
|
9741
|
+
:param log_retention: (experimental) The number of days log events are kept in CloudWatch Logs. When updating this property, unsetting it doesn't remove the log retention policy. To remove the retention policy, set the value to ``INFINITE``. Default: logs.RetentionDays.ONE_MONTH
|
|
9742
|
+
:param os: (experimental) Image OS. Default: OS.LINUX_UBUNTU
|
|
9743
|
+
:param rebuild_interval: (experimental) Schedule the image to be rebuilt every given interval. Useful for keeping the image up-do-date with the latest GitHub runner version and latest OS updates. Set to zero to disable. Default: Duration.days(7)
|
|
9744
|
+
:param runner_version: (experimental) Version of GitHub Runners to install. Default: latest version available
|
|
9745
|
+
:param security_groups: (experimental) Security Groups to assign to this instance.
|
|
9746
|
+
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
9747
|
+
:param vpc: (experimental) VPC to build the image in. Default: no VPC
|
|
9748
|
+
|
|
9749
|
+
:stability: experimental
|
|
9750
|
+
'''
|
|
9751
|
+
if __debug__:
|
|
9752
|
+
type_hints = typing.get_type_hints(_typecheckingstub__963c9a4884bb9d7400672391dfb47486f969a1b8fe5616bba9cd493e8a71484b)
|
|
9753
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
9754
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
9755
|
+
props = RunnerImageBuilderProps(
|
|
9756
|
+
architecture=architecture,
|
|
9757
|
+
aws_image_builder_options=aws_image_builder_options,
|
|
9758
|
+
base_ami=base_ami,
|
|
9759
|
+
base_docker_image=base_docker_image,
|
|
9760
|
+
builder_type=builder_type,
|
|
9761
|
+
code_build_options=code_build_options,
|
|
9762
|
+
components=components,
|
|
9763
|
+
log_removal_policy=log_removal_policy,
|
|
9764
|
+
log_retention=log_retention,
|
|
9765
|
+
os=os,
|
|
9766
|
+
rebuild_interval=rebuild_interval,
|
|
9767
|
+
runner_version=runner_version,
|
|
9768
|
+
security_groups=security_groups,
|
|
9769
|
+
subnet_selection=subnet_selection,
|
|
9770
|
+
vpc=vpc,
|
|
9771
|
+
)
|
|
9772
|
+
|
|
9773
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
9774
|
+
|
|
9775
|
+
@jsii.member(jsii_name="new")
|
|
9776
|
+
@builtins.classmethod
|
|
9777
|
+
def new(
|
|
9778
|
+
cls,
|
|
9779
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
9780
|
+
id: builtins.str,
|
|
9781
|
+
*,
|
|
9782
|
+
architecture: typing.Optional[Architecture] = None,
|
|
9783
|
+
aws_image_builder_options: typing.Optional[typing.Union[AwsImageBuilderRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9784
|
+
base_ami: typing.Optional[builtins.str] = None,
|
|
9785
|
+
base_docker_image: typing.Optional[builtins.str] = None,
|
|
9786
|
+
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
9787
|
+
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9788
|
+
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
9789
|
+
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
9790
|
+
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
9791
|
+
os: typing.Optional[Os] = None,
|
|
9792
|
+
rebuild_interval: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
9793
|
+
runner_version: typing.Optional[RunnerVersion] = None,
|
|
9794
|
+
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
9795
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9796
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
9797
|
+
) -> IConfigurableRunnerImageBuilder:
|
|
9798
|
+
'''(experimental) Create a new image builder based on the provided properties.
|
|
9799
|
+
|
|
9800
|
+
The implementation will differ based on the OS, architecture, and requested builder type.
|
|
9801
|
+
|
|
9802
|
+
:param scope: -
|
|
9803
|
+
:param id: -
|
|
9804
|
+
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
9805
|
+
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
9806
|
+
:param base_ami: (experimental) Base AMI from which runner AMIs will be built. This can be an actual AMI or an AWS Image Builder ARN that points to the latest AMI. For example ``arn:aws:imagebuilder:us-east-1:aws:image/ubuntu-server-22-lts-x86/x.x.x`` would always use the latest version of Ubuntu 22.04 in each build. If you want a specific version, you can replace ``x.x.x`` with that version. Default: latest Ubuntu 22.04 AMI for Os.LINUX_UBUNTU, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
|
|
9807
|
+
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
9808
|
+
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
9809
|
+
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
9810
|
+
:param components: (experimental) Components to install on the image. Default: none
|
|
9811
|
+
:param log_removal_policy: (experimental) Removal policy for logs of image builds. If deployment fails on the custom resource, try setting this to ``RemovalPolicy.RETAIN``. This way the CodeBuild logs can still be viewed, and you can see why the build failed. We try to not leave anything behind when removed. But sometimes a log staying behind is useful. Default: RemovalPolicy.DESTROY
|
|
9812
|
+
:param log_retention: (experimental) The number of days log events are kept in CloudWatch Logs. When updating this property, unsetting it doesn't remove the log retention policy. To remove the retention policy, set the value to ``INFINITE``. Default: logs.RetentionDays.ONE_MONTH
|
|
9813
|
+
:param os: (experimental) Image OS. Default: OS.LINUX_UBUNTU
|
|
9814
|
+
:param rebuild_interval: (experimental) Schedule the image to be rebuilt every given interval. Useful for keeping the image up-do-date with the latest GitHub runner version and latest OS updates. Set to zero to disable. Default: Duration.days(7)
|
|
9815
|
+
:param runner_version: (experimental) Version of GitHub Runners to install. Default: latest version available
|
|
9816
|
+
:param security_groups: (experimental) Security Groups to assign to this instance.
|
|
9817
|
+
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
9818
|
+
:param vpc: (experimental) VPC to build the image in. Default: no VPC
|
|
9819
|
+
|
|
9820
|
+
:stability: experimental
|
|
9821
|
+
'''
|
|
9822
|
+
if __debug__:
|
|
9823
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c44d5704c54d7fdcf24ad39567c0e9f53f9837163bf8bf3b1b4e652e27c9ec75)
|
|
9824
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
9825
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
9826
|
+
props = RunnerImageBuilderProps(
|
|
9827
|
+
architecture=architecture,
|
|
9828
|
+
aws_image_builder_options=aws_image_builder_options,
|
|
9829
|
+
base_ami=base_ami,
|
|
9830
|
+
base_docker_image=base_docker_image,
|
|
9831
|
+
builder_type=builder_type,
|
|
9832
|
+
code_build_options=code_build_options,
|
|
9833
|
+
components=components,
|
|
9834
|
+
log_removal_policy=log_removal_policy,
|
|
9835
|
+
log_retention=log_retention,
|
|
9836
|
+
os=os,
|
|
9837
|
+
rebuild_interval=rebuild_interval,
|
|
9838
|
+
runner_version=runner_version,
|
|
9839
|
+
security_groups=security_groups,
|
|
9840
|
+
subnet_selection=subnet_selection,
|
|
9841
|
+
vpc=vpc,
|
|
9842
|
+
)
|
|
9843
|
+
|
|
9844
|
+
return typing.cast(IConfigurableRunnerImageBuilder, jsii.sinvoke(cls, "new", [scope, id, props]))
|
|
9845
|
+
|
|
9846
|
+
@jsii.member(jsii_name="addComponent")
|
|
9847
|
+
def add_component(self, component: RunnerImageComponent) -> None:
|
|
9848
|
+
'''(experimental) Add a component to the image builder.
|
|
9849
|
+
|
|
9850
|
+
The component will be added to the end of the list of components.
|
|
9851
|
+
|
|
9852
|
+
:param component: -
|
|
9853
|
+
|
|
9854
|
+
:stability: experimental
|
|
9855
|
+
'''
|
|
9856
|
+
if __debug__:
|
|
9857
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9dec4d5fbab87fa223a0eb0a144ad5bd91f9cdd54d3337c971ce6435c76dc049)
|
|
9858
|
+
check_type(argname="argument component", value=component, expected_type=type_hints["component"])
|
|
9859
|
+
return typing.cast(None, jsii.invoke(self, "addComponent", [component]))
|
|
9860
|
+
|
|
9861
|
+
@jsii.member(jsii_name="bindAmi")
|
|
9862
|
+
@abc.abstractmethod
|
|
9863
|
+
def bind_ami(self) -> RunnerAmi:
|
|
9864
|
+
'''(experimental) Build and return an AMI with GitHub Runner installed in it.
|
|
9865
|
+
|
|
9866
|
+
Anything that ends up with a launch template pointing to an AMI that runs GitHub self-hosted runners can be used. A simple implementation could even point to an existing AMI and nothing else.
|
|
9867
|
+
|
|
9868
|
+
The AMI can be further updated over time manually or using a schedule as long as it is always written to the same launch template.
|
|
9869
|
+
|
|
9870
|
+
:stability: experimental
|
|
9871
|
+
'''
|
|
9872
|
+
...
|
|
9873
|
+
|
|
9874
|
+
@jsii.member(jsii_name="bindDockerImage")
|
|
9875
|
+
@abc.abstractmethod
|
|
9876
|
+
def bind_docker_image(self) -> RunnerImage:
|
|
9877
|
+
'''(experimental) Build and return a Docker image with GitHub Runner installed in it.
|
|
9878
|
+
|
|
9879
|
+
Anything that ends up with an ECR repository containing a Docker image that runs GitHub self-hosted runners can be used. A simple implementation could even point to an existing image and nothing else.
|
|
9880
|
+
|
|
9881
|
+
It's important that the specified image tag be available at the time the repository is available. Providers usually assume the image is ready and will fail if it's not.
|
|
9882
|
+
|
|
9883
|
+
The image can be further updated over time manually or using a schedule as long as it is always written to the same tag.
|
|
9884
|
+
|
|
9885
|
+
:stability: experimental
|
|
9886
|
+
'''
|
|
9887
|
+
...
|
|
9888
|
+
|
|
9889
|
+
@jsii.member(jsii_name="removeComponent")
|
|
9890
|
+
def remove_component(self, component: RunnerImageComponent) -> None:
|
|
9891
|
+
'''(experimental) Remove a component from the image builder.
|
|
9892
|
+
|
|
9893
|
+
Removal is done by component name. Multiple components with the same name will all be removed.
|
|
9894
|
+
|
|
9895
|
+
:param component: -
|
|
9896
|
+
|
|
9897
|
+
:stability: experimental
|
|
9898
|
+
'''
|
|
9899
|
+
if __debug__:
|
|
9900
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1c4318b2834e7865918b5308b85c0fd80f22d29a067d68d4ee8537a6c0c88b3b)
|
|
9901
|
+
check_type(argname="argument component", value=component, expected_type=type_hints["component"])
|
|
9902
|
+
return typing.cast(None, jsii.invoke(self, "removeComponent", [component]))
|
|
9903
|
+
|
|
9904
|
+
@builtins.property
|
|
9905
|
+
@jsii.member(jsii_name="connections")
|
|
9906
|
+
@abc.abstractmethod
|
|
9907
|
+
def connections(self) -> _aws_cdk_aws_ec2_ceddda9d.Connections:
|
|
9908
|
+
'''(experimental) The network connections associated with this resource.
|
|
9909
|
+
|
|
9910
|
+
:stability: experimental
|
|
9911
|
+
'''
|
|
9912
|
+
...
|
|
9773
9913
|
|
|
9774
9914
|
@builtins.property
|
|
9775
|
-
|
|
9776
|
-
|
|
9777
|
-
|
|
9778
|
-
|
|
9779
|
-
power. For more information, see Resource Model in the AWS Lambda
|
|
9780
|
-
Developer Guide.
|
|
9781
|
-
|
|
9782
|
-
:default: 2048
|
|
9915
|
+
@jsii.member(jsii_name="grantPrincipal")
|
|
9916
|
+
@abc.abstractmethod
|
|
9917
|
+
def grant_principal(self) -> _aws_cdk_aws_iam_ceddda9d.IPrincipal:
|
|
9918
|
+
'''(experimental) The principal to grant permissions to.
|
|
9783
9919
|
|
|
9784
9920
|
:stability: experimental
|
|
9785
9921
|
'''
|
|
9786
|
-
|
|
9787
|
-
return typing.cast(typing.Optional[jsii.Number], result)
|
|
9922
|
+
...
|
|
9788
9923
|
|
|
9789
9924
|
@builtins.property
|
|
9790
|
-
|
|
9791
|
-
|
|
9792
|
-
|
|
9793
|
-
|
|
9925
|
+
@jsii.member(jsii_name="components")
|
|
9926
|
+
def _components(self) -> typing.List[RunnerImageComponent]:
|
|
9927
|
+
'''
|
|
9928
|
+
:stability: experimental
|
|
9929
|
+
'''
|
|
9930
|
+
return typing.cast(typing.List[RunnerImageComponent], jsii.get(self, "components"))
|
|
9794
9931
|
|
|
9795
|
-
|
|
9932
|
+
@_components.setter
|
|
9933
|
+
def _components(self, value: typing.List[RunnerImageComponent]) -> None:
|
|
9934
|
+
if __debug__:
|
|
9935
|
+
type_hints = typing.get_type_hints(_typecheckingstub__705c18a1eedaa490aebad511aac32a801519a57162e30be4673a8ab87ca434dc)
|
|
9936
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
9937
|
+
jsii.set(self, "components", value)
|
|
9796
9938
|
|
|
9797
|
-
:deprecated: use {@link securityGroups }
|
|
9798
9939
|
|
|
9799
|
-
|
|
9800
|
-
|
|
9801
|
-
|
|
9802
|
-
return
|
|
9940
|
+
class _RunnerImageBuilderProxy(RunnerImageBuilder):
|
|
9941
|
+
@jsii.member(jsii_name="bindAmi")
|
|
9942
|
+
def bind_ami(self) -> RunnerAmi:
|
|
9943
|
+
'''(experimental) Build and return an AMI with GitHub Runner installed in it.
|
|
9803
9944
|
|
|
9804
|
-
|
|
9805
|
-
def security_groups(
|
|
9806
|
-
self,
|
|
9807
|
-
) -> typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]]:
|
|
9808
|
-
'''(experimental) Security groups to assign to this instance.
|
|
9945
|
+
Anything that ends up with a launch template pointing to an AMI that runs GitHub self-hosted runners can be used. A simple implementation could even point to an existing AMI and nothing else.
|
|
9809
9946
|
|
|
9810
|
-
|
|
9947
|
+
The AMI can be further updated over time manually or using a schedule as long as it is always written to the same launch template.
|
|
9811
9948
|
|
|
9812
9949
|
:stability: experimental
|
|
9813
9950
|
'''
|
|
9814
|
-
|
|
9815
|
-
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]], result)
|
|
9951
|
+
return typing.cast(RunnerAmi, jsii.invoke(self, "bindAmi", []))
|
|
9816
9952
|
|
|
9817
|
-
@
|
|
9818
|
-
def
|
|
9819
|
-
|
|
9820
|
-
) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection]:
|
|
9821
|
-
'''(experimental) Where to place the network interfaces within the VPC.
|
|
9953
|
+
@jsii.member(jsii_name="bindDockerImage")
|
|
9954
|
+
def bind_docker_image(self) -> RunnerImage:
|
|
9955
|
+
'''(experimental) Build and return a Docker image with GitHub Runner installed in it.
|
|
9822
9956
|
|
|
9823
|
-
|
|
9957
|
+
Anything that ends up with an ECR repository containing a Docker image that runs GitHub self-hosted runners can be used. A simple implementation could even point to an existing image and nothing else.
|
|
9958
|
+
|
|
9959
|
+
It's important that the specified image tag be available at the time the repository is available. Providers usually assume the image is ready and will fail if it's not.
|
|
9960
|
+
|
|
9961
|
+
The image can be further updated over time manually or using a schedule as long as it is always written to the same tag.
|
|
9824
9962
|
|
|
9825
9963
|
:stability: experimental
|
|
9826
9964
|
'''
|
|
9827
|
-
|
|
9828
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection], result)
|
|
9965
|
+
return typing.cast(RunnerImage, jsii.invoke(self, "bindDockerImage", []))
|
|
9829
9966
|
|
|
9830
9967
|
@builtins.property
|
|
9831
|
-
|
|
9832
|
-
|
|
9833
|
-
|
|
9834
|
-
Because the execution time affects cost, set this value
|
|
9835
|
-
based on the function's expected execution time.
|
|
9836
|
-
|
|
9837
|
-
:default: Duration.minutes(15)
|
|
9968
|
+
@jsii.member(jsii_name="connections")
|
|
9969
|
+
def connections(self) -> _aws_cdk_aws_ec2_ceddda9d.Connections:
|
|
9970
|
+
'''(experimental) The network connections associated with this resource.
|
|
9838
9971
|
|
|
9839
9972
|
:stability: experimental
|
|
9840
9973
|
'''
|
|
9841
|
-
|
|
9842
|
-
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Duration], result)
|
|
9974
|
+
return typing.cast(_aws_cdk_aws_ec2_ceddda9d.Connections, jsii.get(self, "connections"))
|
|
9843
9975
|
|
|
9844
9976
|
@builtins.property
|
|
9845
|
-
|
|
9846
|
-
|
|
9847
|
-
|
|
9848
|
-
:default: no VPC
|
|
9977
|
+
@jsii.member(jsii_name="grantPrincipal")
|
|
9978
|
+
def grant_principal(self) -> _aws_cdk_aws_iam_ceddda9d.IPrincipal:
|
|
9979
|
+
'''(experimental) The principal to grant permissions to.
|
|
9849
9980
|
|
|
9850
9981
|
:stability: experimental
|
|
9851
9982
|
'''
|
|
9852
|
-
|
|
9853
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc], result)
|
|
9854
|
-
|
|
9855
|
-
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
9856
|
-
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
9857
|
-
|
|
9858
|
-
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
9859
|
-
return not (rhs == self)
|
|
9983
|
+
return typing.cast(_aws_cdk_aws_iam_ceddda9d.IPrincipal, jsii.get(self, "grantPrincipal"))
|
|
9860
9984
|
|
|
9861
|
-
|
|
9862
|
-
|
|
9863
|
-
k + "=" + repr(v) for k, v in self._values.items()
|
|
9864
|
-
)
|
|
9985
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class
|
|
9986
|
+
typing.cast(typing.Any, RunnerImageBuilder).__jsii_proxy_class__ = lambda : _RunnerImageBuilderProxy
|
|
9865
9987
|
|
|
9866
9988
|
|
|
9867
9989
|
class CodeBuildRunner(
|
|
@@ -10110,6 +10232,7 @@ __all__ = [
|
|
|
10110
10232
|
"FargateRunnerProviderProps",
|
|
10111
10233
|
"GitHubRunners",
|
|
10112
10234
|
"GitHubRunnersProps",
|
|
10235
|
+
"IConfigurableRunnerImageBuilder",
|
|
10113
10236
|
"IRunnerAmiStatus",
|
|
10114
10237
|
"IRunnerImageBuilder",
|
|
10115
10238
|
"IRunnerImageStatus",
|
|
@@ -10319,6 +10442,14 @@ def _typecheckingstub__363ebaab8a0bcbaea3d32a9c7e3cb241f08cf49d6eea02ba40eaaef9a
|
|
|
10319
10442
|
"""Type checking stubs"""
|
|
10320
10443
|
pass
|
|
10321
10444
|
|
|
10445
|
+
def _typecheckingstub__abecb3decfe8eebf190daa2e93a508111cc10650e6b9fbf65b3a34f3ed07ca24(
|
|
10446
|
+
type: builtins.str,
|
|
10447
|
+
name: builtins.str,
|
|
10448
|
+
data: typing.Any,
|
|
10449
|
+
) -> None:
|
|
10450
|
+
"""Type checking stubs"""
|
|
10451
|
+
pass
|
|
10452
|
+
|
|
10322
10453
|
def _typecheckingstub__a450535474a302df6d17ac0b627edd05f72f54c900f36380517d39fc0a3b15e4(
|
|
10323
10454
|
grantee: _aws_cdk_aws_iam_ceddda9d.IGrantable,
|
|
10324
10455
|
) -> None:
|
|
@@ -10332,14 +10463,6 @@ def _typecheckingstub__bae848cd8ee55808c4c98a6e69173dc05ae5472e3b1443ee6fbc64e32
|
|
|
10332
10463
|
"""Type checking stubs"""
|
|
10333
10464
|
pass
|
|
10334
10465
|
|
|
10335
|
-
def _typecheckingstub__e11323aa6f18ef1898e18067dba5908fdeabd333bfc1604f92c4c244adb28f7f(
|
|
10336
|
-
type: builtins.str,
|
|
10337
|
-
name: builtins.str,
|
|
10338
|
-
data: typing.Any,
|
|
10339
|
-
) -> None:
|
|
10340
|
-
"""Type checking stubs"""
|
|
10341
|
-
pass
|
|
10342
|
-
|
|
10343
10466
|
def _typecheckingstub__b86439e194b36e470271c572c251444f98c4b86a68fa7e63cf41ae1fa9628d4a(
|
|
10344
10467
|
*,
|
|
10345
10468
|
commands: typing.Sequence[builtins.str],
|
|
@@ -10551,70 +10674,6 @@ def _typecheckingstub__21bedad36e17a5840ddb719458c9e0eb15a89e493efa80af28f6031d1
|
|
|
10551
10674
|
"""Type checking stubs"""
|
|
10552
10675
|
pass
|
|
10553
10676
|
|
|
10554
|
-
def _typecheckingstub__963c9a4884bb9d7400672391dfb47486f969a1b8fe5616bba9cd493e8a71484b(
|
|
10555
|
-
scope: _constructs_77d1e7e8.Construct,
|
|
10556
|
-
id: builtins.str,
|
|
10557
|
-
*,
|
|
10558
|
-
architecture: typing.Optional[Architecture] = None,
|
|
10559
|
-
aws_image_builder_options: typing.Optional[typing.Union[AwsImageBuilderRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10560
|
-
base_ami: typing.Optional[builtins.str] = None,
|
|
10561
|
-
base_docker_image: typing.Optional[builtins.str] = None,
|
|
10562
|
-
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
10563
|
-
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10564
|
-
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
10565
|
-
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
10566
|
-
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
10567
|
-
os: typing.Optional[Os] = None,
|
|
10568
|
-
rebuild_interval: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
10569
|
-
runner_version: typing.Optional[RunnerVersion] = None,
|
|
10570
|
-
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
10571
|
-
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10572
|
-
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
10573
|
-
) -> None:
|
|
10574
|
-
"""Type checking stubs"""
|
|
10575
|
-
pass
|
|
10576
|
-
|
|
10577
|
-
def _typecheckingstub__c44d5704c54d7fdcf24ad39567c0e9f53f9837163bf8bf3b1b4e652e27c9ec75(
|
|
10578
|
-
scope: _constructs_77d1e7e8.Construct,
|
|
10579
|
-
id: builtins.str,
|
|
10580
|
-
*,
|
|
10581
|
-
architecture: typing.Optional[Architecture] = None,
|
|
10582
|
-
aws_image_builder_options: typing.Optional[typing.Union[AwsImageBuilderRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10583
|
-
base_ami: typing.Optional[builtins.str] = None,
|
|
10584
|
-
base_docker_image: typing.Optional[builtins.str] = None,
|
|
10585
|
-
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
10586
|
-
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10587
|
-
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
10588
|
-
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
10589
|
-
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
10590
|
-
os: typing.Optional[Os] = None,
|
|
10591
|
-
rebuild_interval: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
10592
|
-
runner_version: typing.Optional[RunnerVersion] = None,
|
|
10593
|
-
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
10594
|
-
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10595
|
-
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
10596
|
-
) -> None:
|
|
10597
|
-
"""Type checking stubs"""
|
|
10598
|
-
pass
|
|
10599
|
-
|
|
10600
|
-
def _typecheckingstub__9dec4d5fbab87fa223a0eb0a144ad5bd91f9cdd54d3337c971ce6435c76dc049(
|
|
10601
|
-
component: RunnerImageComponent,
|
|
10602
|
-
) -> None:
|
|
10603
|
-
"""Type checking stubs"""
|
|
10604
|
-
pass
|
|
10605
|
-
|
|
10606
|
-
def _typecheckingstub__1c4318b2834e7865918b5308b85c0fd80f22d29a067d68d4ee8537a6c0c88b3b(
|
|
10607
|
-
component: RunnerImageComponent,
|
|
10608
|
-
) -> None:
|
|
10609
|
-
"""Type checking stubs"""
|
|
10610
|
-
pass
|
|
10611
|
-
|
|
10612
|
-
def _typecheckingstub__705c18a1eedaa490aebad511aac32a801519a57162e30be4673a8ab87ca434dc(
|
|
10613
|
-
value: typing.List[RunnerImageComponent],
|
|
10614
|
-
) -> None:
|
|
10615
|
-
"""Type checking stubs"""
|
|
10616
|
-
pass
|
|
10617
|
-
|
|
10618
10677
|
def _typecheckingstub__ab96b7f3871624e8430668114e7f5748ba5d253168db5b8f9a13955d0a82e43d(
|
|
10619
10678
|
*,
|
|
10620
10679
|
architecture: typing.Optional[Architecture] = None,
|
|
@@ -11363,6 +11422,18 @@ def _typecheckingstub__26cdeb87df1adf5c49e0f9c1c061c7138af674da9af221212e1505fc1
|
|
|
11363
11422
|
"""Type checking stubs"""
|
|
11364
11423
|
pass
|
|
11365
11424
|
|
|
11425
|
+
def _typecheckingstub__dc4625ad41fc3631b6e9812ae4ab86d19fc28eb849f5a5bf3a3ed7c4ebbeb066(
|
|
11426
|
+
component: RunnerImageComponent,
|
|
11427
|
+
) -> None:
|
|
11428
|
+
"""Type checking stubs"""
|
|
11429
|
+
pass
|
|
11430
|
+
|
|
11431
|
+
def _typecheckingstub__3aa11e0e95269ba6ec5fded5dd768fb588157de9643a5fce8b09fc9b4e2a18c0(
|
|
11432
|
+
component: RunnerImageComponent,
|
|
11433
|
+
) -> None:
|
|
11434
|
+
"""Type checking stubs"""
|
|
11435
|
+
pass
|
|
11436
|
+
|
|
11366
11437
|
def _typecheckingstub__80e9b84ecba02bdef856d3ee3f48a5e0a5e58ad813554fd529c0abe3af88217d(
|
|
11367
11438
|
scope: _constructs_77d1e7e8.Construct,
|
|
11368
11439
|
id: builtins.str,
|
|
@@ -11401,6 +11472,70 @@ def _typecheckingstub__45a4a92b817689da2d55675d278ad5c96699269cc41f3406b7fca6d7a
|
|
|
11401
11472
|
"""Type checking stubs"""
|
|
11402
11473
|
pass
|
|
11403
11474
|
|
|
11475
|
+
def _typecheckingstub__963c9a4884bb9d7400672391dfb47486f969a1b8fe5616bba9cd493e8a71484b(
|
|
11476
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
11477
|
+
id: builtins.str,
|
|
11478
|
+
*,
|
|
11479
|
+
architecture: typing.Optional[Architecture] = None,
|
|
11480
|
+
aws_image_builder_options: typing.Optional[typing.Union[AwsImageBuilderRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11481
|
+
base_ami: typing.Optional[builtins.str] = None,
|
|
11482
|
+
base_docker_image: typing.Optional[builtins.str] = None,
|
|
11483
|
+
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
11484
|
+
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11485
|
+
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
11486
|
+
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
11487
|
+
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11488
|
+
os: typing.Optional[Os] = None,
|
|
11489
|
+
rebuild_interval: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
11490
|
+
runner_version: typing.Optional[RunnerVersion] = None,
|
|
11491
|
+
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11492
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11493
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
11494
|
+
) -> None:
|
|
11495
|
+
"""Type checking stubs"""
|
|
11496
|
+
pass
|
|
11497
|
+
|
|
11498
|
+
def _typecheckingstub__c44d5704c54d7fdcf24ad39567c0e9f53f9837163bf8bf3b1b4e652e27c9ec75(
|
|
11499
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
11500
|
+
id: builtins.str,
|
|
11501
|
+
*,
|
|
11502
|
+
architecture: typing.Optional[Architecture] = None,
|
|
11503
|
+
aws_image_builder_options: typing.Optional[typing.Union[AwsImageBuilderRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11504
|
+
base_ami: typing.Optional[builtins.str] = None,
|
|
11505
|
+
base_docker_image: typing.Optional[builtins.str] = None,
|
|
11506
|
+
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
11507
|
+
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11508
|
+
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
11509
|
+
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
11510
|
+
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11511
|
+
os: typing.Optional[Os] = None,
|
|
11512
|
+
rebuild_interval: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
11513
|
+
runner_version: typing.Optional[RunnerVersion] = None,
|
|
11514
|
+
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11515
|
+
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11516
|
+
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
11517
|
+
) -> None:
|
|
11518
|
+
"""Type checking stubs"""
|
|
11519
|
+
pass
|
|
11520
|
+
|
|
11521
|
+
def _typecheckingstub__9dec4d5fbab87fa223a0eb0a144ad5bd91f9cdd54d3337c971ce6435c76dc049(
|
|
11522
|
+
component: RunnerImageComponent,
|
|
11523
|
+
) -> None:
|
|
11524
|
+
"""Type checking stubs"""
|
|
11525
|
+
pass
|
|
11526
|
+
|
|
11527
|
+
def _typecheckingstub__1c4318b2834e7865918b5308b85c0fd80f22d29a067d68d4ee8537a6c0c88b3b(
|
|
11528
|
+
component: RunnerImageComponent,
|
|
11529
|
+
) -> None:
|
|
11530
|
+
"""Type checking stubs"""
|
|
11531
|
+
pass
|
|
11532
|
+
|
|
11533
|
+
def _typecheckingstub__705c18a1eedaa490aebad511aac32a801519a57162e30be4673a8ab87ca434dc(
|
|
11534
|
+
value: typing.List[RunnerImageComponent],
|
|
11535
|
+
) -> None:
|
|
11536
|
+
"""Type checking stubs"""
|
|
11537
|
+
pass
|
|
11538
|
+
|
|
11404
11539
|
def _typecheckingstub__1ab9454b0ecfcd12fc0ab07c0f0f4d7ce646a5a928f5e14092b0a6c42a4c3b79(
|
|
11405
11540
|
scope: _constructs_77d1e7e8.Construct,
|
|
11406
11541
|
id: builtins.str,
|