cloudsnorkel.cdk-github-runners 0.13.3__py3-none-any.whl → 0.14.15__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.
- cloudsnorkel/cdk_github_runners/__init__.py +710 -58
- cloudsnorkel/cdk_github_runners/_jsii/__init__.py +18 -3
- cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.15.jsii.tgz +0 -0
- {cloudsnorkel.cdk_github_runners-0.13.3.dist-info → cloudsnorkel_cdk_github_runners-0.14.15.dist-info}/METADATA +84 -20
- cloudsnorkel_cdk_github_runners-0.14.15.dist-info/RECORD +9 -0
- {cloudsnorkel.cdk_github_runners-0.13.3.dist-info → cloudsnorkel_cdk_github_runners-0.14.15.dist-info}/WHEEL +1 -1
- cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.13.3.jsii.tgz +0 -0
- cloudsnorkel.cdk_github_runners-0.13.3.dist-info/RECORD +0 -9
- {cloudsnorkel.cdk_github_runners-0.13.3.dist-info → cloudsnorkel_cdk_github_runners-0.14.15.dist-info}/LICENSE +0 -0
- {cloudsnorkel.cdk_github_runners-0.13.3.dist-info → cloudsnorkel_cdk_github_runners-0.14.15.dist-info}/top_level.txt +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'''
|
|
1
|
+
r'''
|
|
2
2
|
# GitHub Self-Hosted Runners CDK Constructs
|
|
3
3
|
|
|
4
4
|
[](https://www.npmjs.com/package/@cloudsnorkel/cdk-github-runners)
|
|
@@ -11,17 +11,17 @@
|
|
|
11
11
|
|
|
12
12
|
Use this CDK construct to create ephemeral [self-hosted GitHub runners](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners) on-demand inside your AWS account.
|
|
13
13
|
|
|
14
|
-
* Easy to configure GitHub integration with a web-based interface
|
|
15
|
-
* Customizable runners with decent defaults
|
|
16
|
-
* Multiple runner configurations controlled by labels
|
|
17
|
-
* Everything fully hosted in your account
|
|
18
|
-
* Automatically updated build environment with latest runner version
|
|
14
|
+
* 🧩 Easy to configure GitHub integration with a web-based interface
|
|
15
|
+
* 🧠 Customizable runners with decent defaults
|
|
16
|
+
* 🏃🏻 Multiple runner configurations controlled by labels
|
|
17
|
+
* 🔐 Everything fully hosted in your account
|
|
18
|
+
* 🔃 Automatically updated build environment with latest runner version
|
|
19
19
|
|
|
20
20
|
Self-hosted runners in AWS are useful when:
|
|
21
21
|
|
|
22
22
|
* You need easy access to internal resources in your actions
|
|
23
23
|
* You want to pre-install some software for your actions
|
|
24
|
-
* You want to provide some basic AWS API access (but [aws-actions/configure-aws-credentials](https://github.com/marketplace/actions/configure-aws-credentials-for-github-actions) has more security controls)
|
|
24
|
+
* You want to provide some basic AWS API access (but [aws-actions/configure-aws-credentials](https://github.com/marketplace/actions/configure-aws-credentials-action-for-github-actions) has more security controls)
|
|
25
25
|
* You are using GitHub Enterprise Server
|
|
26
26
|
|
|
27
27
|
Ephemeral (or on-demand) runners are the [recommended way by GitHub](https://docs.github.com/en/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners#using-ephemeral-runners-for-autoscaling) for auto-scaling, and they make sure all jobs run with a clean image. Runners are started on-demand. You don't pay unless a job is running.
|
|
@@ -71,9 +71,14 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
71
71
|
### Use
|
|
72
72
|
|
|
73
73
|
```python
|
|
74
|
+
from aws_cdk import App, Stack
|
|
74
75
|
from cloudsnorkel.cdk_github_runners import GitHubRunners
|
|
75
76
|
|
|
76
|
-
|
|
77
|
+
app = App()
|
|
78
|
+
stack = Stack(app, "github-runners")
|
|
79
|
+
GitHubRunners(stack, "runners")
|
|
80
|
+
|
|
81
|
+
app.synth()
|
|
77
82
|
```
|
|
78
83
|
|
|
79
84
|
</details>
|
|
@@ -90,9 +95,14 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
90
95
|
### Use
|
|
91
96
|
|
|
92
97
|
```python
|
|
98
|
+
import { App, Stack } from 'aws-cdk-lib';
|
|
93
99
|
import { GitHubRunners } from '@cloudsnorkel/cdk-github-runners';
|
|
94
100
|
|
|
95
|
-
new
|
|
101
|
+
const app = new App();
|
|
102
|
+
const stack = new Stack(app, 'github-runners');
|
|
103
|
+
new GitHubRunners(stack, 'runners');
|
|
104
|
+
|
|
105
|
+
app.synth();
|
|
96
106
|
```
|
|
97
107
|
|
|
98
108
|
</details>
|
|
@@ -112,9 +122,19 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
112
122
|
### Use
|
|
113
123
|
|
|
114
124
|
```java
|
|
125
|
+
import software.amazon.awscdk.App;
|
|
126
|
+
import software.amazon.awscdk.Stack;
|
|
115
127
|
import com.cloudsnorkel.cdk.github.runners.GitHubRunners;
|
|
116
128
|
|
|
117
|
-
|
|
129
|
+
public class Example {
|
|
130
|
+
public static void main(String[] args){
|
|
131
|
+
App app = new App();
|
|
132
|
+
Stack stack = new Stack(app, "github-runners");
|
|
133
|
+
GitHubRunners.Builder.create(stack, "runners").build();
|
|
134
|
+
|
|
135
|
+
app.synth();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
118
138
|
```
|
|
119
139
|
|
|
120
140
|
</details>
|
|
@@ -131,9 +151,21 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
131
151
|
### Use
|
|
132
152
|
|
|
133
153
|
```go
|
|
134
|
-
|
|
154
|
+
package main
|
|
135
155
|
|
|
136
|
-
|
|
156
|
+
import (
|
|
157
|
+
"github.com/CloudSnorkel/cdk-github-runners-go/cloudsnorkelcdkgithubrunners"
|
|
158
|
+
"github.com/aws/aws-cdk-go/awscdk/v2"
|
|
159
|
+
"github.com/aws/jsii-runtime-go"
|
|
160
|
+
)
|
|
161
|
+
|
|
162
|
+
func main() {
|
|
163
|
+
app := awscdk.NewApp(nil)
|
|
164
|
+
stack := awscdk.NewStack(app, jsii.String("github-runners"), &awscdk.StackProps{})
|
|
165
|
+
cloudsnorkelcdkgithubrunners.NewGitHubRunners(stack, jsii.String("runners"), &cloudsnorkelcdkgithubrunners.GitHubRunnersProps{})
|
|
166
|
+
|
|
167
|
+
app.Synth(nil)
|
|
168
|
+
}
|
|
137
169
|
```
|
|
138
170
|
|
|
139
171
|
</details>
|
|
@@ -150,9 +182,22 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
150
182
|
### Use
|
|
151
183
|
|
|
152
184
|
```csharp
|
|
185
|
+
using Amazon.CDK;
|
|
153
186
|
using CloudSnorkel;
|
|
154
187
|
|
|
155
|
-
|
|
188
|
+
namespace Example
|
|
189
|
+
{
|
|
190
|
+
sealed class Program
|
|
191
|
+
{
|
|
192
|
+
public static void Main(string[] args)
|
|
193
|
+
{
|
|
194
|
+
var app = new App();
|
|
195
|
+
var stack = new Stack(app, "github-runners");
|
|
196
|
+
new GitHubRunners(stack, "runners");
|
|
197
|
+
app.Synth();
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
156
201
|
```
|
|
157
202
|
|
|
158
203
|
</details>
|
|
@@ -171,7 +216,7 @@ You can also create your own provider by implementing `IRunnerProvider`.
|
|
|
171
216
|
5. Execute the status command (you may need to specify `--profile` too) and open the resulting `status.json` file
|
|
172
217
|
6. Open the URL in `github.setup.url` from `status.json` or [manually setup GitHub](SETUP_GITHUB.md) integration as an app or with personal access token
|
|
173
218
|
7. Run status command again to confirm `github.auth.status` and `github.webhook.status` are OK
|
|
174
|
-
8. Trigger a GitHub action that has a `self-hosted` label with `runs-on: [self-hosted,
|
|
219
|
+
8. Trigger a GitHub action that has a `self-hosted` label with `runs-on: [self-hosted, codebuild]` (or non-default labels you set in step 2)
|
|
175
220
|
9. If the action is not successful, see [troubleshooting](#Troubleshooting)
|
|
176
221
|
|
|
177
222
|
[](https://youtu.be/wlyv_3V8lIw)
|
|
@@ -279,6 +324,12 @@ new GitHubRunners(this, 'runners', {
|
|
|
279
324
|
});
|
|
280
325
|
```
|
|
281
326
|
|
|
327
|
+
## Examples
|
|
328
|
+
|
|
329
|
+
Beyond the code snippets above, the fullest example available is the [integration test](test/default.integ.ts).
|
|
330
|
+
|
|
331
|
+
If you have more to share, please open a PR adding them to the `examples` folder.
|
|
332
|
+
|
|
282
333
|
## Architecture
|
|
283
334
|
|
|
284
335
|

|
|
@@ -323,6 +374,20 @@ Other useful metrics to track:
|
|
|
323
374
|
1. Use `GitHubRunners.metricJobCompleted()` to get a metric for the number of completed jobs broken down by labels and job success.
|
|
324
375
|
2. Use `GitHubRunners.metricTime()` to get a metric for the total time a runner is running. This includes the overhead of starting the runner.
|
|
325
376
|
|
|
377
|
+
## Contributing
|
|
378
|
+
|
|
379
|
+
If you use and love this project, please consider contributing.
|
|
380
|
+
|
|
381
|
+
1. 🪳 If you see something, say something. [Issues](https://github.com/CloudSnorkel/cdk-github-runners/issues) help improve the quality of the project.
|
|
382
|
+
|
|
383
|
+
* Include relevant logs and package versions for bugs.
|
|
384
|
+
* When possible, describe the use-case behind feature requests.
|
|
385
|
+
2. 🛠️ [Pull requests](https://github.com/CloudSnorkel/cdk-github-runners/pulls) are welcome.
|
|
386
|
+
|
|
387
|
+
* Run `npm run build` before submitting to make sure all tests pass.
|
|
388
|
+
* Allow edits from maintainers so small adjustments can be made easily.
|
|
389
|
+
3. 💵 Consider [sponsoring](https://github.com/sponsors/CloudSnorkel) the project to show your support and optionally get your name listed below.
|
|
390
|
+
|
|
326
391
|
## Other Options
|
|
327
392
|
|
|
328
393
|
1. [philips-labs/terraform-aws-github-runner](https://github.com/philips-labs/terraform-aws-github-runner) if you're using Terraform
|
|
@@ -341,7 +406,22 @@ import jsii
|
|
|
341
406
|
import publication
|
|
342
407
|
import typing_extensions
|
|
343
408
|
|
|
344
|
-
|
|
409
|
+
import typeguard
|
|
410
|
+
from importlib.metadata import version as _metadata_package_version
|
|
411
|
+
TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
|
|
412
|
+
|
|
413
|
+
def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
|
|
414
|
+
if TYPEGUARD_MAJOR_VERSION <= 2:
|
|
415
|
+
return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
|
|
416
|
+
else:
|
|
417
|
+
if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
|
|
418
|
+
pass
|
|
419
|
+
else:
|
|
420
|
+
if TYPEGUARD_MAJOR_VERSION == 3:
|
|
421
|
+
typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
|
|
422
|
+
typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
|
|
423
|
+
else:
|
|
424
|
+
typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
|
|
345
425
|
|
|
346
426
|
from ._jsii import *
|
|
347
427
|
|
|
@@ -401,7 +481,7 @@ class AmiBuilderProps:
|
|
|
401
481
|
|
|
402
482
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
403
483
|
:param install_docker: (experimental) Install Docker inside the image, so it can be used by the runner. Default: true
|
|
404
|
-
:param instance_type: (experimental) The instance type used to build the image. Default:
|
|
484
|
+
:param instance_type: (experimental) The instance type used to build the image. Default: m6i.large
|
|
405
485
|
: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 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
|
|
406
486
|
: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
|
|
407
487
|
:param os: (experimental) Image OS. Default: OS.LINUX
|
|
@@ -482,7 +562,7 @@ class AmiBuilderProps:
|
|
|
482
562
|
def instance_type(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType]:
|
|
483
563
|
'''(experimental) The instance type used to build the image.
|
|
484
564
|
|
|
485
|
-
:default:
|
|
565
|
+
:default: m6i.large
|
|
486
566
|
|
|
487
567
|
:stability: experimental
|
|
488
568
|
'''
|
|
@@ -815,6 +895,7 @@ class Architecture(
|
|
|
815
895
|
name_mapping={
|
|
816
896
|
"fast_launch_options": "fastLaunchOptions",
|
|
817
897
|
"instance_type": "instanceType",
|
|
898
|
+
"storage_size": "storageSize",
|
|
818
899
|
},
|
|
819
900
|
)
|
|
820
901
|
class AwsImageBuilderRunnerImageBuilderProps:
|
|
@@ -823,10 +904,12 @@ class AwsImageBuilderRunnerImageBuilderProps:
|
|
|
823
904
|
*,
|
|
824
905
|
fast_launch_options: typing.Optional[typing.Union["FastLaunchOptions", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
825
906
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
907
|
+
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
826
908
|
) -> None:
|
|
827
909
|
'''
|
|
828
910
|
:param fast_launch_options: (experimental) Options for fast launch. This is only supported for Windows AMIs. Default: disabled
|
|
829
|
-
:param instance_type: (experimental) The instance type used to build the image. Default:
|
|
911
|
+
:param instance_type: (experimental) The instance type used to build the image. Default: m6i.large
|
|
912
|
+
:param storage_size: (experimental) Size of volume available for builder instances. This modifies the boot volume size and doesn't add any additional volumes. Use this if you're building images with big components and need more space. Default: default size for AMI (usually 30GB for Linux and 50GB for Windows)
|
|
830
913
|
|
|
831
914
|
:stability: experimental
|
|
832
915
|
'''
|
|
@@ -836,11 +919,14 @@ class AwsImageBuilderRunnerImageBuilderProps:
|
|
|
836
919
|
type_hints = typing.get_type_hints(_typecheckingstub__fe17585d38b67015c3f03db2aefab095f171e0e0900c9a4564679bbc5a29fd07)
|
|
837
920
|
check_type(argname="argument fast_launch_options", value=fast_launch_options, expected_type=type_hints["fast_launch_options"])
|
|
838
921
|
check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
|
|
922
|
+
check_type(argname="argument storage_size", value=storage_size, expected_type=type_hints["storage_size"])
|
|
839
923
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
840
924
|
if fast_launch_options is not None:
|
|
841
925
|
self._values["fast_launch_options"] = fast_launch_options
|
|
842
926
|
if instance_type is not None:
|
|
843
927
|
self._values["instance_type"] = instance_type
|
|
928
|
+
if storage_size is not None:
|
|
929
|
+
self._values["storage_size"] = storage_size
|
|
844
930
|
|
|
845
931
|
@builtins.property
|
|
846
932
|
def fast_launch_options(self) -> typing.Optional["FastLaunchOptions"]:
|
|
@@ -859,13 +945,26 @@ class AwsImageBuilderRunnerImageBuilderProps:
|
|
|
859
945
|
def instance_type(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType]:
|
|
860
946
|
'''(experimental) The instance type used to build the image.
|
|
861
947
|
|
|
862
|
-
:default:
|
|
948
|
+
:default: m6i.large
|
|
863
949
|
|
|
864
950
|
:stability: experimental
|
|
865
951
|
'''
|
|
866
952
|
result = self._values.get("instance_type")
|
|
867
953
|
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType], result)
|
|
868
954
|
|
|
955
|
+
@builtins.property
|
|
956
|
+
def storage_size(self) -> typing.Optional[_aws_cdk_ceddda9d.Size]:
|
|
957
|
+
'''(experimental) Size of volume available for builder instances. This modifies the boot volume size and doesn't add any additional volumes.
|
|
958
|
+
|
|
959
|
+
Use this if you're building images with big components and need more space.
|
|
960
|
+
|
|
961
|
+
:default: default size for AMI (usually 30GB for Linux and 50GB for Windows)
|
|
962
|
+
|
|
963
|
+
:stability: experimental
|
|
964
|
+
'''
|
|
965
|
+
result = self._values.get("storage_size")
|
|
966
|
+
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Size], result)
|
|
967
|
+
|
|
869
968
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
870
969
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
871
970
|
|
|
@@ -1298,7 +1397,7 @@ class ContainerImageBuilderProps:
|
|
|
1298
1397
|
'''(experimental) Properties for ContainerImageBuilder construct.
|
|
1299
1398
|
|
|
1300
1399
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
1301
|
-
:param instance_type: (experimental) The instance type used to build the image. Default:
|
|
1400
|
+
:param instance_type: (experimental) The instance type used to build the image. Default: m6i.large
|
|
1302
1401
|
: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
|
|
1303
1402
|
: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
|
|
1304
1403
|
:param os: (experimental) Image OS. Default: OS.LINUX
|
|
@@ -1369,7 +1468,7 @@ class ContainerImageBuilderProps:
|
|
|
1369
1468
|
def instance_type(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType]:
|
|
1370
1469
|
'''(experimental) The instance type used to build the image.
|
|
1371
1470
|
|
|
1372
|
-
:default:
|
|
1471
|
+
:default: m6i.large
|
|
1373
1472
|
|
|
1374
1473
|
:stability: experimental
|
|
1375
1474
|
'''
|
|
@@ -3396,6 +3495,7 @@ class LambdaRunnerProvider(
|
|
|
3396
3495
|
id: builtins.str,
|
|
3397
3496
|
*,
|
|
3398
3497
|
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
3498
|
+
group: typing.Optional[builtins.str] = None,
|
|
3399
3499
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
3400
3500
|
label: typing.Optional[builtins.str] = None,
|
|
3401
3501
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -3405,6 +3505,7 @@ class LambdaRunnerProvider(
|
|
|
3405
3505
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3406
3506
|
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3407
3507
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
3508
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
3408
3509
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
3409
3510
|
retry_options: typing.Optional[typing.Union["ProviderRetryOptions", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3410
3511
|
) -> None:
|
|
@@ -3412,6 +3513,7 @@ class LambdaRunnerProvider(
|
|
|
3412
3513
|
:param scope: -
|
|
3413
3514
|
:param id: -
|
|
3414
3515
|
:param ephemeral_storage_size: (experimental) The size of the function’s /tmp directory in MiB. Default: 10 GiB
|
|
3516
|
+
:param group: (experimental) GitHub Actions runner group name. If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It requires a paid GitHub account. The group must exist or the runner will not start. Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group. Default: undefined
|
|
3415
3517
|
:param image_builder: (experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements. The image builder must contain the {@link RunnerImageComponent.lambdaEntrypoint} component. The image builder determines the OS and architecture of the runner. Default: LambdaRunnerProvider.imageBuilder()
|
|
3416
3518
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
3417
3519
|
:param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['lambda']
|
|
@@ -3421,6 +3523,7 @@ class LambdaRunnerProvider(
|
|
|
3421
3523
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
3422
3524
|
:param timeout: (experimental) The function execution time (in seconds) after which Lambda terminates the function. Because the execution time affects cost, set this value based on the function's expected execution time. Default: Duration.minutes(15)
|
|
3423
3525
|
:param vpc: (experimental) VPC to launch the runners in. Default: no VPC
|
|
3526
|
+
:param default_labels: (experimental) Add default labels based on OS and architecture of the runner. This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``. Default: true
|
|
3424
3527
|
: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
|
|
3425
3528
|
:param retry_options:
|
|
3426
3529
|
|
|
@@ -3432,6 +3535,7 @@ class LambdaRunnerProvider(
|
|
|
3432
3535
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
3433
3536
|
props = LambdaRunnerProviderProps(
|
|
3434
3537
|
ephemeral_storage_size=ephemeral_storage_size,
|
|
3538
|
+
group=group,
|
|
3435
3539
|
image_builder=image_builder,
|
|
3436
3540
|
label=label,
|
|
3437
3541
|
labels=labels,
|
|
@@ -3441,6 +3545,7 @@ class LambdaRunnerProvider(
|
|
|
3441
3545
|
subnet_selection=subnet_selection,
|
|
3442
3546
|
timeout=timeout,
|
|
3443
3547
|
vpc=vpc,
|
|
3548
|
+
default_labels=default_labels,
|
|
3444
3549
|
log_retention=log_retention,
|
|
3445
3550
|
retry_options=retry_options,
|
|
3446
3551
|
)
|
|
@@ -3478,7 +3583,7 @@ class LambdaRunnerProvider(
|
|
|
3478
3583
|
|
|
3479
3584
|
You can add components to the image builder by calling ``imageBuilder.addComponent()``.
|
|
3480
3585
|
|
|
3481
|
-
The default OS is Amazon Linux
|
|
3586
|
+
The default OS is Amazon Linux 2023 running on x64 architecture.
|
|
3482
3587
|
|
|
3483
3588
|
Included components:
|
|
3484
3589
|
|
|
@@ -3490,14 +3595,12 @@ class LambdaRunnerProvider(
|
|
|
3490
3595
|
- ``RunnerImageComponent.githubRunner()``
|
|
3491
3596
|
- ``RunnerImageComponent.lambdaEntrypoint()``
|
|
3492
3597
|
|
|
3493
|
-
Base Docker image: ``public.ecr.aws/lambda/nodejs:20-x86_64`` or ``public.ecr.aws/lambda/nodejs:20-arm64``
|
|
3494
|
-
|
|
3495
3598
|
:param scope: -
|
|
3496
3599
|
:param id: -
|
|
3497
3600
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
3498
3601
|
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
3499
|
-
: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
|
|
3500
|
-
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}. 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
|
|
3602
|
+
: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 and Os.LINUX_UBUNTU_2204, Ubuntu 24.04 AMI for Os.LINUX_UBUNTU_2404, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
|
|
3603
|
+
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU and Os.LINUX_UBUNTU_2204, public.ecr.aws/lts/ubuntu:24.04 for Os.LINUX_UBUNTU_2404, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
3501
3604
|
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
3502
3605
|
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
3503
3606
|
:param components: (experimental) Components to install on the image. Default: none
|
|
@@ -4074,7 +4177,7 @@ class Os(metaclass=jsii.JSIIMeta, jsii_type="@cloudsnorkel/cdk-github-runners.Os
|
|
|
4074
4177
|
def LINUX(cls) -> "Os":
|
|
4075
4178
|
'''(deprecated) Linux.
|
|
4076
4179
|
|
|
4077
|
-
:deprecated: use {@link LINUX_UBUNTU }
|
|
4180
|
+
:deprecated: use {@link LINUX_UBUNTU }, {@link LINUX_UBUNTU_2404 }, {@link LINUX_AMAZON_2 } or {@link LINUX_AMAZON_2023 }
|
|
4078
4181
|
|
|
4079
4182
|
:stability: deprecated
|
|
4080
4183
|
'''
|
|
@@ -4107,6 +4210,24 @@ class Os(metaclass=jsii.JSIIMeta, jsii_type="@cloudsnorkel/cdk-github-runners.Os
|
|
|
4107
4210
|
'''
|
|
4108
4211
|
return typing.cast("Os", jsii.sget(cls, "LINUX_UBUNTU"))
|
|
4109
4212
|
|
|
4213
|
+
@jsii.python.classproperty
|
|
4214
|
+
@jsii.member(jsii_name="LINUX_UBUNTU_2204")
|
|
4215
|
+
def LINUX_UBUNTU_2204(cls) -> "Os":
|
|
4216
|
+
'''(experimental) Ubuntu Linux 22.04.
|
|
4217
|
+
|
|
4218
|
+
:stability: experimental
|
|
4219
|
+
'''
|
|
4220
|
+
return typing.cast("Os", jsii.sget(cls, "LINUX_UBUNTU_2204"))
|
|
4221
|
+
|
|
4222
|
+
@jsii.python.classproperty
|
|
4223
|
+
@jsii.member(jsii_name="LINUX_UBUNTU_2404")
|
|
4224
|
+
def LINUX_UBUNTU_2404(cls) -> "Os":
|
|
4225
|
+
'''(experimental) Ubuntu Linux 24.04.
|
|
4226
|
+
|
|
4227
|
+
:stability: experimental
|
|
4228
|
+
'''
|
|
4229
|
+
return typing.cast("Os", jsii.sget(cls, "LINUX_UBUNTU_2404"))
|
|
4230
|
+
|
|
4110
4231
|
@jsii.python.classproperty
|
|
4111
4232
|
@jsii.member(jsii_name="WINDOWS")
|
|
4112
4233
|
def WINDOWS(cls) -> "Os":
|
|
@@ -4571,8 +4692,8 @@ class RunnerImageBuilderProps:
|
|
|
4571
4692
|
'''
|
|
4572
4693
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
4573
4694
|
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
4574
|
-
: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
|
|
4575
|
-
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}. 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
|
|
4695
|
+
: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 and Os.LINUX_UBUNTU_2204, Ubuntu 24.04 AMI for Os.LINUX_UBUNTU_2404, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
|
|
4696
|
+
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU and Os.LINUX_UBUNTU_2204, public.ecr.aws/lts/ubuntu:24.04 for Os.LINUX_UBUNTU_2404, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
4576
4697
|
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
4577
4698
|
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
4578
4699
|
:param components: (experimental) Components to install on the image. Default: none
|
|
@@ -4680,7 +4801,7 @@ class RunnerImageBuilderProps:
|
|
|
4680
4801
|
|
|
4681
4802
|
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.
|
|
4682
4803
|
|
|
4683
|
-
: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
|
|
4804
|
+
:default: latest Ubuntu 22.04 AMI for Os.LINUX_UBUNTU and Os.LINUX_UBUNTU_2204, Ubuntu 24.04 AMI for Os.LINUX_UBUNTU_2404, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
|
|
4684
4805
|
|
|
4685
4806
|
:stability: experimental
|
|
4686
4807
|
'''
|
|
@@ -4693,7 +4814,7 @@ class RunnerImageBuilderProps:
|
|
|
4693
4814
|
|
|
4694
4815
|
When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}.
|
|
4695
4816
|
|
|
4696
|
-
: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
|
|
4817
|
+
:default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU and Os.LINUX_UBUNTU_2204, public.ecr.aws/lts/ubuntu:24.04 for Os.LINUX_UBUNTU_2404, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
4697
4818
|
|
|
4698
4819
|
:stability: experimental
|
|
4699
4820
|
'''
|
|
@@ -4926,6 +5047,15 @@ class RunnerImageComponent(
|
|
|
4926
5047
|
'''
|
|
4927
5048
|
return typing.cast("RunnerImageComponent", jsii.sinvoke(cls, "awsCli", []))
|
|
4928
5049
|
|
|
5050
|
+
@jsii.member(jsii_name="cloudWatchAgent")
|
|
5051
|
+
@builtins.classmethod
|
|
5052
|
+
def cloud_watch_agent(cls) -> "RunnerImageComponent":
|
|
5053
|
+
'''(experimental) A component to install CloudWatch Agent for the runner so we can send logs.
|
|
5054
|
+
|
|
5055
|
+
:stability: experimental
|
|
5056
|
+
'''
|
|
5057
|
+
return typing.cast("RunnerImageComponent", jsii.sinvoke(cls, "cloudWatchAgent", []))
|
|
5058
|
+
|
|
4929
5059
|
@jsii.member(jsii_name="custom")
|
|
4930
5060
|
@builtins.classmethod
|
|
4931
5061
|
def custom(
|
|
@@ -5315,17 +5445,23 @@ class RunnerImageComponentCustomProps:
|
|
|
5315
5445
|
@jsii.data_type(
|
|
5316
5446
|
jsii_type="@cloudsnorkel/cdk-github-runners.RunnerProviderProps",
|
|
5317
5447
|
jsii_struct_bases=[],
|
|
5318
|
-
name_mapping={
|
|
5448
|
+
name_mapping={
|
|
5449
|
+
"default_labels": "defaultLabels",
|
|
5450
|
+
"log_retention": "logRetention",
|
|
5451
|
+
"retry_options": "retryOptions",
|
|
5452
|
+
},
|
|
5319
5453
|
)
|
|
5320
5454
|
class RunnerProviderProps:
|
|
5321
5455
|
def __init__(
|
|
5322
5456
|
self,
|
|
5323
5457
|
*,
|
|
5458
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
5324
5459
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
5325
5460
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5326
5461
|
) -> None:
|
|
5327
5462
|
'''(experimental) Common properties for all runner providers.
|
|
5328
5463
|
|
|
5464
|
+
:param default_labels: (experimental) Add default labels based on OS and architecture of the runner. This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``. Default: true
|
|
5329
5465
|
: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
|
|
5330
5466
|
:param retry_options:
|
|
5331
5467
|
|
|
@@ -5335,14 +5471,30 @@ class RunnerProviderProps:
|
|
|
5335
5471
|
retry_options = ProviderRetryOptions(**retry_options)
|
|
5336
5472
|
if __debug__:
|
|
5337
5473
|
type_hints = typing.get_type_hints(_typecheckingstub__faa1323116edff475c54eafc82f7af57dd73527c022a54b6210c5a490a80a1d3)
|
|
5474
|
+
check_type(argname="argument default_labels", value=default_labels, expected_type=type_hints["default_labels"])
|
|
5338
5475
|
check_type(argname="argument log_retention", value=log_retention, expected_type=type_hints["log_retention"])
|
|
5339
5476
|
check_type(argname="argument retry_options", value=retry_options, expected_type=type_hints["retry_options"])
|
|
5340
5477
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
5478
|
+
if default_labels is not None:
|
|
5479
|
+
self._values["default_labels"] = default_labels
|
|
5341
5480
|
if log_retention is not None:
|
|
5342
5481
|
self._values["log_retention"] = log_retention
|
|
5343
5482
|
if retry_options is not None:
|
|
5344
5483
|
self._values["retry_options"] = retry_options
|
|
5345
5484
|
|
|
5485
|
+
@builtins.property
|
|
5486
|
+
def default_labels(self) -> typing.Optional[builtins.bool]:
|
|
5487
|
+
'''(experimental) Add default labels based on OS and architecture of the runner.
|
|
5488
|
+
|
|
5489
|
+
This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``.
|
|
5490
|
+
|
|
5491
|
+
:default: true
|
|
5492
|
+
|
|
5493
|
+
:stability: experimental
|
|
5494
|
+
'''
|
|
5495
|
+
result = self._values.get("default_labels")
|
|
5496
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
5497
|
+
|
|
5346
5498
|
@builtins.property
|
|
5347
5499
|
def log_retention(
|
|
5348
5500
|
self,
|
|
@@ -5727,6 +5879,99 @@ class StaticRunnerImage(
|
|
|
5727
5879
|
return typing.cast(IRunnerImageBuilder, jsii.sinvoke(cls, "fromEcrRepository", [repository, tag, architecture, os]))
|
|
5728
5880
|
|
|
5729
5881
|
|
|
5882
|
+
@jsii.data_type(
|
|
5883
|
+
jsii_type="@cloudsnorkel/cdk-github-runners.StorageOptions",
|
|
5884
|
+
jsii_struct_bases=[],
|
|
5885
|
+
name_mapping={
|
|
5886
|
+
"iops": "iops",
|
|
5887
|
+
"throughput": "throughput",
|
|
5888
|
+
"volume_type": "volumeType",
|
|
5889
|
+
},
|
|
5890
|
+
)
|
|
5891
|
+
class StorageOptions:
|
|
5892
|
+
def __init__(
|
|
5893
|
+
self,
|
|
5894
|
+
*,
|
|
5895
|
+
iops: typing.Optional[jsii.Number] = None,
|
|
5896
|
+
throughput: typing.Optional[jsii.Number] = None,
|
|
5897
|
+
volume_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.EbsDeviceVolumeType] = None,
|
|
5898
|
+
) -> None:
|
|
5899
|
+
'''(experimental) Storage options for the runner instance.
|
|
5900
|
+
|
|
5901
|
+
:param iops: (experimental) The number of I/O operations per second (IOPS) to provision for the volume. Must only be set for ``volumeType``: ``EbsDeviceVolumeType.IO1`` The maximum ratio of IOPS to volume size (in GiB) is 50:1, so for 5,000 provisioned IOPS, you need at least 100 GiB storage on the volume. Default: - none, required for ``EbsDeviceVolumeType.IO1``
|
|
5902
|
+
:param throughput: (experimental) The throughput that the volume supports, in MiB/s Takes a minimum of 125 and maximum of 1000. Default: - 125 MiB/s. Only valid on gp3 volumes.
|
|
5903
|
+
:param volume_type: (experimental) The EBS volume type. Default: ``EbsDeviceVolumeType.GP2``
|
|
5904
|
+
|
|
5905
|
+
:stability: experimental
|
|
5906
|
+
'''
|
|
5907
|
+
if __debug__:
|
|
5908
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ec3b766929d3a048d89c7dc502f77bbbfc7357735093ebc66695a13b92f9bf82)
|
|
5909
|
+
check_type(argname="argument iops", value=iops, expected_type=type_hints["iops"])
|
|
5910
|
+
check_type(argname="argument throughput", value=throughput, expected_type=type_hints["throughput"])
|
|
5911
|
+
check_type(argname="argument volume_type", value=volume_type, expected_type=type_hints["volume_type"])
|
|
5912
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
5913
|
+
if iops is not None:
|
|
5914
|
+
self._values["iops"] = iops
|
|
5915
|
+
if throughput is not None:
|
|
5916
|
+
self._values["throughput"] = throughput
|
|
5917
|
+
if volume_type is not None:
|
|
5918
|
+
self._values["volume_type"] = volume_type
|
|
5919
|
+
|
|
5920
|
+
@builtins.property
|
|
5921
|
+
def iops(self) -> typing.Optional[jsii.Number]:
|
|
5922
|
+
'''(experimental) The number of I/O operations per second (IOPS) to provision for the volume.
|
|
5923
|
+
|
|
5924
|
+
Must only be set for ``volumeType``: ``EbsDeviceVolumeType.IO1``
|
|
5925
|
+
|
|
5926
|
+
The maximum ratio of IOPS to volume size (in GiB) is 50:1, so for 5,000 provisioned IOPS,
|
|
5927
|
+
you need at least 100 GiB storage on the volume.
|
|
5928
|
+
|
|
5929
|
+
:default: - none, required for ``EbsDeviceVolumeType.IO1``
|
|
5930
|
+
|
|
5931
|
+
:see: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
|
|
5932
|
+
:stability: experimental
|
|
5933
|
+
'''
|
|
5934
|
+
result = self._values.get("iops")
|
|
5935
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
5936
|
+
|
|
5937
|
+
@builtins.property
|
|
5938
|
+
def throughput(self) -> typing.Optional[jsii.Number]:
|
|
5939
|
+
'''(experimental) The throughput that the volume supports, in MiB/s Takes a minimum of 125 and maximum of 1000.
|
|
5940
|
+
|
|
5941
|
+
:default: - 125 MiB/s. Only valid on gp3 volumes.
|
|
5942
|
+
|
|
5943
|
+
:see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-throughput
|
|
5944
|
+
:stability: experimental
|
|
5945
|
+
'''
|
|
5946
|
+
result = self._values.get("throughput")
|
|
5947
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
5948
|
+
|
|
5949
|
+
@builtins.property
|
|
5950
|
+
def volume_type(
|
|
5951
|
+
self,
|
|
5952
|
+
) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.EbsDeviceVolumeType]:
|
|
5953
|
+
'''(experimental) The EBS volume type.
|
|
5954
|
+
|
|
5955
|
+
:default: ``EbsDeviceVolumeType.GP2``
|
|
5956
|
+
|
|
5957
|
+
:see: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
|
|
5958
|
+
:stability: experimental
|
|
5959
|
+
'''
|
|
5960
|
+
result = self._values.get("volume_type")
|
|
5961
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.EbsDeviceVolumeType], result)
|
|
5962
|
+
|
|
5963
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
5964
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
5965
|
+
|
|
5966
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
5967
|
+
return not (rhs == self)
|
|
5968
|
+
|
|
5969
|
+
def __repr__(self) -> str:
|
|
5970
|
+
return "StorageOptions(%s)" % ", ".join(
|
|
5971
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
5972
|
+
)
|
|
5973
|
+
|
|
5974
|
+
|
|
5730
5975
|
class WindowsComponents(
|
|
5731
5976
|
metaclass=jsii.JSIIMeta,
|
|
5732
5977
|
jsii_type="@cloudsnorkel/cdk-github-runners.WindowsComponents",
|
|
@@ -5894,7 +6139,7 @@ class AmiBuilder(
|
|
|
5894
6139
|
):
|
|
5895
6140
|
'''(deprecated) An AMI builder that uses AWS Image Builder to build AMIs pre-baked with all the GitHub Actions runner requirements.
|
|
5896
6141
|
|
|
5897
|
-
Builders can be used with {@link
|
|
6142
|
+
Builders can be used with {@link Ec2RunnerProvider }.
|
|
5898
6143
|
|
|
5899
6144
|
Each builder re-runs automatically at a set interval to make sure the AMIs contain the latest versions of everything.
|
|
5900
6145
|
|
|
@@ -5919,7 +6164,7 @@ class AmiBuilder(
|
|
|
5919
6164
|
amiBuilder: builder,
|
|
5920
6165
|
});
|
|
5921
6166
|
|
|
5922
|
-
:deprecated: use RunnerImageBuilder
|
|
6167
|
+
:deprecated: use RunnerImageBuilder, e.g. with Ec2RunnerProvider.imageBuilder()
|
|
5923
6168
|
|
|
5924
6169
|
:stability: deprecated
|
|
5925
6170
|
'''
|
|
@@ -5947,7 +6192,7 @@ class AmiBuilder(
|
|
|
5947
6192
|
:param id: -
|
|
5948
6193
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
5949
6194
|
:param install_docker: (experimental) Install Docker inside the image, so it can be used by the runner. Default: true
|
|
5950
|
-
:param instance_type: (experimental) The instance type used to build the image. Default:
|
|
6195
|
+
:param instance_type: (experimental) The instance type used to build the image. Default: m6i.large
|
|
5951
6196
|
: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 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
|
|
5952
6197
|
: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
|
|
5953
6198
|
:param os: (experimental) Image OS. Default: OS.LINUX
|
|
@@ -6192,7 +6437,7 @@ class AmiBuilder(
|
|
|
6192
6437
|
if __debug__:
|
|
6193
6438
|
type_hints = typing.get_type_hints(_typecheckingstub__8088868062a70621aab7b900883cf52d9c930de8a458039564d69a7d0cc80f52)
|
|
6194
6439
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
6195
|
-
jsii.set(self, "components", value)
|
|
6440
|
+
jsii.set(self, "components", value) # pyright: ignore[reportArgumentType]
|
|
6196
6441
|
|
|
6197
6442
|
|
|
6198
6443
|
@jsii.implements(IRunnerImageBuilder)
|
|
@@ -6435,6 +6680,7 @@ class CodeBuildRunnerProvider(
|
|
|
6435
6680
|
*,
|
|
6436
6681
|
compute_type: typing.Optional[_aws_cdk_aws_codebuild_ceddda9d.ComputeType] = None,
|
|
6437
6682
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
6683
|
+
group: typing.Optional[builtins.str] = None,
|
|
6438
6684
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
6439
6685
|
label: typing.Optional[builtins.str] = None,
|
|
6440
6686
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -6443,6 +6689,7 @@ class CodeBuildRunnerProvider(
|
|
|
6443
6689
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6444
6690
|
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
6445
6691
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
6692
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
6446
6693
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
6447
6694
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6448
6695
|
) -> None:
|
|
@@ -6451,6 +6698,7 @@ class CodeBuildRunnerProvider(
|
|
|
6451
6698
|
:param id: -
|
|
6452
6699
|
:param compute_type: (experimental) The type of compute to use for this build. See the {@link ComputeType} enum for the possible values. Default: {@link ComputeType#SMALL }
|
|
6453
6700
|
:param docker_in_docker: (experimental) Support building and running Docker images by enabling Docker-in-Docker (dind) and the required CodeBuild privileged mode. Disabling this can speed up provisioning of CodeBuild runners. If you don't intend on running or building Docker images, disable this for faster start-up times. Default: true
|
|
6701
|
+
:param group: (experimental) GitHub Actions runner group name. If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It requires a paid GitHub account. The group must exist or the runner will not start. Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group. Default: undefined
|
|
6454
6702
|
:param image_builder: (experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements. The image builder must contain the {@link RunnerImageComponent.docker} component unless ``dockerInDocker`` is set to false. The image builder determines the OS and architecture of the runner. Default: CodeBuildRunnerProvider.imageBuilder()
|
|
6455
6703
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
6456
6704
|
:param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['codebuild']
|
|
@@ -6459,6 +6707,7 @@ class CodeBuildRunnerProvider(
|
|
|
6459
6707
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
6460
6708
|
:param timeout: (experimental) The number of minutes after which AWS CodeBuild stops the build if it's not complete. For valid values, see the timeoutInMinutes field in the AWS CodeBuild User Guide. Default: Duration.hours(1)
|
|
6461
6709
|
:param vpc: (experimental) VPC to launch the runners in. Default: no VPC
|
|
6710
|
+
:param default_labels: (experimental) Add default labels based on OS and architecture of the runner. This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``. Default: true
|
|
6462
6711
|
: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
|
|
6463
6712
|
:param retry_options:
|
|
6464
6713
|
|
|
@@ -6471,6 +6720,7 @@ class CodeBuildRunnerProvider(
|
|
|
6471
6720
|
props = CodeBuildRunnerProviderProps(
|
|
6472
6721
|
compute_type=compute_type,
|
|
6473
6722
|
docker_in_docker=docker_in_docker,
|
|
6723
|
+
group=group,
|
|
6474
6724
|
image_builder=image_builder,
|
|
6475
6725
|
label=label,
|
|
6476
6726
|
labels=labels,
|
|
@@ -6479,6 +6729,7 @@ class CodeBuildRunnerProvider(
|
|
|
6479
6729
|
subnet_selection=subnet_selection,
|
|
6480
6730
|
timeout=timeout,
|
|
6481
6731
|
vpc=vpc,
|
|
6732
|
+
default_labels=default_labels,
|
|
6482
6733
|
log_retention=log_retention,
|
|
6483
6734
|
retry_options=retry_options,
|
|
6484
6735
|
)
|
|
@@ -6532,8 +6783,8 @@ class CodeBuildRunnerProvider(
|
|
|
6532
6783
|
:param id: -
|
|
6533
6784
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
6534
6785
|
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
6535
|
-
: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
|
|
6536
|
-
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}. 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
|
|
6786
|
+
: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 and Os.LINUX_UBUNTU_2204, Ubuntu 24.04 AMI for Os.LINUX_UBUNTU_2404, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
|
|
6787
|
+
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU and Os.LINUX_UBUNTU_2204, public.ecr.aws/lts/ubuntu:24.04 for Os.LINUX_UBUNTU_2404, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
6537
6788
|
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
6538
6789
|
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
6539
6790
|
:param components: (experimental) Components to install on the image. Default: none
|
|
@@ -6782,10 +7033,12 @@ class CodeBuildRunnerProvider(
|
|
|
6782
7033
|
jsii_type="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps",
|
|
6783
7034
|
jsii_struct_bases=[RunnerProviderProps],
|
|
6784
7035
|
name_mapping={
|
|
7036
|
+
"default_labels": "defaultLabels",
|
|
6785
7037
|
"log_retention": "logRetention",
|
|
6786
7038
|
"retry_options": "retryOptions",
|
|
6787
7039
|
"compute_type": "computeType",
|
|
6788
7040
|
"docker_in_docker": "dockerInDocker",
|
|
7041
|
+
"group": "group",
|
|
6789
7042
|
"image_builder": "imageBuilder",
|
|
6790
7043
|
"label": "label",
|
|
6791
7044
|
"labels": "labels",
|
|
@@ -6800,10 +7053,12 @@ class CodeBuildRunnerProviderProps(RunnerProviderProps):
|
|
|
6800
7053
|
def __init__(
|
|
6801
7054
|
self,
|
|
6802
7055
|
*,
|
|
7056
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
6803
7057
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
6804
7058
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6805
7059
|
compute_type: typing.Optional[_aws_cdk_aws_codebuild_ceddda9d.ComputeType] = None,
|
|
6806
7060
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
7061
|
+
group: typing.Optional[builtins.str] = None,
|
|
6807
7062
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
6808
7063
|
label: typing.Optional[builtins.str] = None,
|
|
6809
7064
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -6814,10 +7069,12 @@ class CodeBuildRunnerProviderProps(RunnerProviderProps):
|
|
|
6814
7069
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
6815
7070
|
) -> None:
|
|
6816
7071
|
'''
|
|
7072
|
+
:param default_labels: (experimental) Add default labels based on OS and architecture of the runner. This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``. Default: true
|
|
6817
7073
|
: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
|
|
6818
7074
|
:param retry_options:
|
|
6819
7075
|
:param compute_type: (experimental) The type of compute to use for this build. See the {@link ComputeType} enum for the possible values. Default: {@link ComputeType#SMALL }
|
|
6820
7076
|
:param docker_in_docker: (experimental) Support building and running Docker images by enabling Docker-in-Docker (dind) and the required CodeBuild privileged mode. Disabling this can speed up provisioning of CodeBuild runners. If you don't intend on running or building Docker images, disable this for faster start-up times. Default: true
|
|
7077
|
+
:param group: (experimental) GitHub Actions runner group name. If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It requires a paid GitHub account. The group must exist or the runner will not start. Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group. Default: undefined
|
|
6821
7078
|
:param image_builder: (experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements. The image builder must contain the {@link RunnerImageComponent.docker} component unless ``dockerInDocker`` is set to false. The image builder determines the OS and architecture of the runner. Default: CodeBuildRunnerProvider.imageBuilder()
|
|
6822
7079
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
6823
7080
|
:param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['codebuild']
|
|
@@ -6835,10 +7092,12 @@ class CodeBuildRunnerProviderProps(RunnerProviderProps):
|
|
|
6835
7092
|
subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
|
|
6836
7093
|
if __debug__:
|
|
6837
7094
|
type_hints = typing.get_type_hints(_typecheckingstub__9377dcf4cd4dae74730635bdaf02246acb473843cea2856cf9a64295df964eb6)
|
|
7095
|
+
check_type(argname="argument default_labels", value=default_labels, expected_type=type_hints["default_labels"])
|
|
6838
7096
|
check_type(argname="argument log_retention", value=log_retention, expected_type=type_hints["log_retention"])
|
|
6839
7097
|
check_type(argname="argument retry_options", value=retry_options, expected_type=type_hints["retry_options"])
|
|
6840
7098
|
check_type(argname="argument compute_type", value=compute_type, expected_type=type_hints["compute_type"])
|
|
6841
7099
|
check_type(argname="argument docker_in_docker", value=docker_in_docker, expected_type=type_hints["docker_in_docker"])
|
|
7100
|
+
check_type(argname="argument group", value=group, expected_type=type_hints["group"])
|
|
6842
7101
|
check_type(argname="argument image_builder", value=image_builder, expected_type=type_hints["image_builder"])
|
|
6843
7102
|
check_type(argname="argument label", value=label, expected_type=type_hints["label"])
|
|
6844
7103
|
check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
|
|
@@ -6848,6 +7107,8 @@ class CodeBuildRunnerProviderProps(RunnerProviderProps):
|
|
|
6848
7107
|
check_type(argname="argument timeout", value=timeout, expected_type=type_hints["timeout"])
|
|
6849
7108
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
6850
7109
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
7110
|
+
if default_labels is not None:
|
|
7111
|
+
self._values["default_labels"] = default_labels
|
|
6851
7112
|
if log_retention is not None:
|
|
6852
7113
|
self._values["log_retention"] = log_retention
|
|
6853
7114
|
if retry_options is not None:
|
|
@@ -6856,6 +7117,8 @@ class CodeBuildRunnerProviderProps(RunnerProviderProps):
|
|
|
6856
7117
|
self._values["compute_type"] = compute_type
|
|
6857
7118
|
if docker_in_docker is not None:
|
|
6858
7119
|
self._values["docker_in_docker"] = docker_in_docker
|
|
7120
|
+
if group is not None:
|
|
7121
|
+
self._values["group"] = group
|
|
6859
7122
|
if image_builder is not None:
|
|
6860
7123
|
self._values["image_builder"] = image_builder
|
|
6861
7124
|
if label is not None:
|
|
@@ -6873,6 +7136,19 @@ class CodeBuildRunnerProviderProps(RunnerProviderProps):
|
|
|
6873
7136
|
if vpc is not None:
|
|
6874
7137
|
self._values["vpc"] = vpc
|
|
6875
7138
|
|
|
7139
|
+
@builtins.property
|
|
7140
|
+
def default_labels(self) -> typing.Optional[builtins.bool]:
|
|
7141
|
+
'''(experimental) Add default labels based on OS and architecture of the runner.
|
|
7142
|
+
|
|
7143
|
+
This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``.
|
|
7144
|
+
|
|
7145
|
+
:default: true
|
|
7146
|
+
|
|
7147
|
+
:stability: experimental
|
|
7148
|
+
'''
|
|
7149
|
+
result = self._values.get("default_labels")
|
|
7150
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
7151
|
+
|
|
6876
7152
|
@builtins.property
|
|
6877
7153
|
def log_retention(
|
|
6878
7154
|
self,
|
|
@@ -6929,6 +7205,24 @@ class CodeBuildRunnerProviderProps(RunnerProviderProps):
|
|
|
6929
7205
|
result = self._values.get("docker_in_docker")
|
|
6930
7206
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
6931
7207
|
|
|
7208
|
+
@builtins.property
|
|
7209
|
+
def group(self) -> typing.Optional[builtins.str]:
|
|
7210
|
+
'''(experimental) GitHub Actions runner group name.
|
|
7211
|
+
|
|
7212
|
+
If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It
|
|
7213
|
+
requires a paid GitHub account.
|
|
7214
|
+
|
|
7215
|
+
The group must exist or the runner will not start.
|
|
7216
|
+
|
|
7217
|
+
Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group.
|
|
7218
|
+
|
|
7219
|
+
:default: undefined
|
|
7220
|
+
|
|
7221
|
+
:stability: experimental
|
|
7222
|
+
'''
|
|
7223
|
+
result = self._values.get("group")
|
|
7224
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
7225
|
+
|
|
6932
7226
|
@builtins.property
|
|
6933
7227
|
def image_builder(self) -> typing.Optional[IRunnerImageBuilder]:
|
|
6934
7228
|
'''(experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements.
|
|
@@ -7104,7 +7398,7 @@ class ContainerImageBuilder(
|
|
|
7104
7398
|
:param scope: -
|
|
7105
7399
|
:param id: -
|
|
7106
7400
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
7107
|
-
:param instance_type: (experimental) The instance type used to build the image. Default:
|
|
7401
|
+
:param instance_type: (experimental) The instance type used to build the image. Default: m6i.large
|
|
7108
7402
|
: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
|
|
7109
7403
|
: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
|
|
7110
7404
|
:param os: (experimental) Image OS. Default: OS.LINUX
|
|
@@ -7356,7 +7650,7 @@ class ContainerImageBuilder(
|
|
|
7356
7650
|
if __debug__:
|
|
7357
7651
|
type_hints = typing.get_type_hints(_typecheckingstub__f4c47d52e3f51709153fc49a53f833f06b1fd2ba44d3c86696b418a3bf88a972)
|
|
7358
7652
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
7359
|
-
jsii.set(self, "components", value)
|
|
7653
|
+
jsii.set(self, "components", value) # pyright: ignore[reportArgumentType]
|
|
7360
7654
|
|
|
7361
7655
|
|
|
7362
7656
|
@jsii.implements(IRunnerProvider)
|
|
@@ -7378,6 +7672,7 @@ class Ec2RunnerProvider(
|
|
|
7378
7672
|
id: builtins.str,
|
|
7379
7673
|
*,
|
|
7380
7674
|
ami_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
7675
|
+
group: typing.Optional[builtins.str] = None,
|
|
7381
7676
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
7382
7677
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
7383
7678
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -7385,10 +7680,12 @@ class Ec2RunnerProvider(
|
|
|
7385
7680
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
7386
7681
|
spot: typing.Optional[builtins.bool] = None,
|
|
7387
7682
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
7683
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7388
7684
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
7389
7685
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
7390
7686
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7391
7687
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
7688
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
7392
7689
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
7393
7690
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7394
7691
|
) -> None:
|
|
@@ -7396,17 +7693,20 @@ class Ec2RunnerProvider(
|
|
|
7396
7693
|
:param scope: -
|
|
7397
7694
|
:param id: -
|
|
7398
7695
|
:param ami_builder:
|
|
7696
|
+
:param group: (experimental) GitHub Actions runner group name. If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It requires a paid GitHub account. The group must exist or the runner will not start. Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group. Default: undefined
|
|
7399
7697
|
:param image_builder: (experimental) Runner image builder used to build AMI containing GitHub Runner and all requirements. The image builder determines the OS and architecture of the runner. Default: Ec2RunnerProvider.imageBuilder()
|
|
7400
|
-
:param instance_type: (experimental) Instance type for launched runner instances. Default:
|
|
7698
|
+
:param instance_type: (experimental) Instance type for launched runner instances. Default: m6i.large
|
|
7401
7699
|
:param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['ec2']
|
|
7402
7700
|
:param security_group: (deprecated) Security Group to assign to launched runner instances. Default: a new security group
|
|
7403
7701
|
:param security_groups: (experimental) Security groups to assign to launched runner instances. Default: a new security group
|
|
7404
7702
|
:param spot: (experimental) Use spot instances to save money. Spot instances are cheaper but not always available and can be stopped prematurely. Default: false
|
|
7405
7703
|
:param spot_max_price: (experimental) Set a maximum price for spot instances. Default: no max price (you will pay current spot price)
|
|
7704
|
+
:param storage_options: (experimental) Options for runner instance storage volume.
|
|
7406
7705
|
:param storage_size: (experimental) Size of volume available for launched runner instances. This modifies the boot volume size and doesn't add any additional volumes. Default: 30GB
|
|
7407
7706
|
:param subnet: (deprecated) Subnet where the runner instances will be launched. Default: default subnet of account's default VPC
|
|
7408
7707
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Only the first matched subnet will be used. Default: default VPC subnet
|
|
7409
7708
|
:param vpc: (experimental) VPC where runner instances will be launched. Default: default account VPC
|
|
7709
|
+
:param default_labels: (experimental) Add default labels based on OS and architecture of the runner. This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``. Default: true
|
|
7410
7710
|
: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
|
|
7411
7711
|
:param retry_options:
|
|
7412
7712
|
|
|
@@ -7418,6 +7718,7 @@ class Ec2RunnerProvider(
|
|
|
7418
7718
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
7419
7719
|
props = Ec2RunnerProviderProps(
|
|
7420
7720
|
ami_builder=ami_builder,
|
|
7721
|
+
group=group,
|
|
7421
7722
|
image_builder=image_builder,
|
|
7422
7723
|
instance_type=instance_type,
|
|
7423
7724
|
labels=labels,
|
|
@@ -7425,10 +7726,12 @@ class Ec2RunnerProvider(
|
|
|
7425
7726
|
security_groups=security_groups,
|
|
7426
7727
|
spot=spot,
|
|
7427
7728
|
spot_max_price=spot_max_price,
|
|
7729
|
+
storage_options=storage_options,
|
|
7428
7730
|
storage_size=storage_size,
|
|
7429
7731
|
subnet=subnet,
|
|
7430
7732
|
subnet_selection=subnet_selection,
|
|
7431
7733
|
vpc=vpc,
|
|
7734
|
+
default_labels=default_labels,
|
|
7432
7735
|
log_retention=log_retention,
|
|
7433
7736
|
retry_options=retry_options,
|
|
7434
7737
|
)
|
|
@@ -7471,6 +7774,7 @@ class Ec2RunnerProvider(
|
|
|
7471
7774
|
Included components:
|
|
7472
7775
|
|
|
7473
7776
|
- ``RunnerImageComponent.requiredPackages()``
|
|
7777
|
+
- ``RunnerImageComponent.cloudWatchAgent()``
|
|
7474
7778
|
- ``RunnerImageComponent.runnerUser()``
|
|
7475
7779
|
- ``RunnerImageComponent.git()``
|
|
7476
7780
|
- ``RunnerImageComponent.githubCli()``
|
|
@@ -7482,8 +7786,8 @@ class Ec2RunnerProvider(
|
|
|
7482
7786
|
:param id: -
|
|
7483
7787
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
7484
7788
|
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
7485
|
-
: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
|
|
7486
|
-
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}. 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
|
|
7789
|
+
: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 and Os.LINUX_UBUNTU_2204, Ubuntu 24.04 AMI for Os.LINUX_UBUNTU_2404, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
|
|
7790
|
+
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU and Os.LINUX_UBUNTU_2204, public.ecr.aws/lts/ubuntu:24.04 for Os.LINUX_UBUNTU_2404, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
7487
7791
|
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
7488
7792
|
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
7489
7793
|
:param components: (experimental) Components to install on the image. Default: none
|
|
@@ -7671,9 +7975,11 @@ class Ec2RunnerProvider(
|
|
|
7671
7975
|
jsii_type="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps",
|
|
7672
7976
|
jsii_struct_bases=[RunnerProviderProps],
|
|
7673
7977
|
name_mapping={
|
|
7978
|
+
"default_labels": "defaultLabels",
|
|
7674
7979
|
"log_retention": "logRetention",
|
|
7675
7980
|
"retry_options": "retryOptions",
|
|
7676
7981
|
"ami_builder": "amiBuilder",
|
|
7982
|
+
"group": "group",
|
|
7677
7983
|
"image_builder": "imageBuilder",
|
|
7678
7984
|
"instance_type": "instanceType",
|
|
7679
7985
|
"labels": "labels",
|
|
@@ -7681,6 +7987,7 @@ class Ec2RunnerProvider(
|
|
|
7681
7987
|
"security_groups": "securityGroups",
|
|
7682
7988
|
"spot": "spot",
|
|
7683
7989
|
"spot_max_price": "spotMaxPrice",
|
|
7990
|
+
"storage_options": "storageOptions",
|
|
7684
7991
|
"storage_size": "storageSize",
|
|
7685
7992
|
"subnet": "subnet",
|
|
7686
7993
|
"subnet_selection": "subnetSelection",
|
|
@@ -7691,9 +7998,11 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7691
7998
|
def __init__(
|
|
7692
7999
|
self,
|
|
7693
8000
|
*,
|
|
8001
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
7694
8002
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
7695
8003
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7696
8004
|
ami_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
8005
|
+
group: typing.Optional[builtins.str] = None,
|
|
7697
8006
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
7698
8007
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
7699
8008
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -7701,6 +8010,7 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7701
8010
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
7702
8011
|
spot: typing.Optional[builtins.bool] = None,
|
|
7703
8012
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
8013
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7704
8014
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
7705
8015
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
7706
8016
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -7708,16 +8018,19 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7708
8018
|
) -> None:
|
|
7709
8019
|
'''(experimental) Properties for {@link Ec2RunnerProvider} construct.
|
|
7710
8020
|
|
|
8021
|
+
:param default_labels: (experimental) Add default labels based on OS and architecture of the runner. This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``. Default: true
|
|
7711
8022
|
: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
|
|
7712
8023
|
:param retry_options:
|
|
7713
8024
|
:param ami_builder:
|
|
8025
|
+
:param group: (experimental) GitHub Actions runner group name. If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It requires a paid GitHub account. The group must exist or the runner will not start. Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group. Default: undefined
|
|
7714
8026
|
:param image_builder: (experimental) Runner image builder used to build AMI containing GitHub Runner and all requirements. The image builder determines the OS and architecture of the runner. Default: Ec2RunnerProvider.imageBuilder()
|
|
7715
|
-
:param instance_type: (experimental) Instance type for launched runner instances. Default:
|
|
8027
|
+
:param instance_type: (experimental) Instance type for launched runner instances. Default: m6i.large
|
|
7716
8028
|
:param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['ec2']
|
|
7717
8029
|
:param security_group: (deprecated) Security Group to assign to launched runner instances. Default: a new security group
|
|
7718
8030
|
:param security_groups: (experimental) Security groups to assign to launched runner instances. Default: a new security group
|
|
7719
8031
|
:param spot: (experimental) Use spot instances to save money. Spot instances are cheaper but not always available and can be stopped prematurely. Default: false
|
|
7720
8032
|
:param spot_max_price: (experimental) Set a maximum price for spot instances. Default: no max price (you will pay current spot price)
|
|
8033
|
+
:param storage_options: (experimental) Options for runner instance storage volume.
|
|
7721
8034
|
:param storage_size: (experimental) Size of volume available for launched runner instances. This modifies the boot volume size and doesn't add any additional volumes. Default: 30GB
|
|
7722
8035
|
:param subnet: (deprecated) Subnet where the runner instances will be launched. Default: default subnet of account's default VPC
|
|
7723
8036
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Only the first matched subnet will be used. Default: default VPC subnet
|
|
@@ -7727,13 +8040,17 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7727
8040
|
'''
|
|
7728
8041
|
if isinstance(retry_options, dict):
|
|
7729
8042
|
retry_options = ProviderRetryOptions(**retry_options)
|
|
8043
|
+
if isinstance(storage_options, dict):
|
|
8044
|
+
storage_options = StorageOptions(**storage_options)
|
|
7730
8045
|
if isinstance(subnet_selection, dict):
|
|
7731
8046
|
subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
|
|
7732
8047
|
if __debug__:
|
|
7733
8048
|
type_hints = typing.get_type_hints(_typecheckingstub__b650c4bf7f2a31b514d6f1f9e0c1b4b2cdae8b20b6f209f5b5fc74ef418fc2a3)
|
|
8049
|
+
check_type(argname="argument default_labels", value=default_labels, expected_type=type_hints["default_labels"])
|
|
7734
8050
|
check_type(argname="argument log_retention", value=log_retention, expected_type=type_hints["log_retention"])
|
|
7735
8051
|
check_type(argname="argument retry_options", value=retry_options, expected_type=type_hints["retry_options"])
|
|
7736
8052
|
check_type(argname="argument ami_builder", value=ami_builder, expected_type=type_hints["ami_builder"])
|
|
8053
|
+
check_type(argname="argument group", value=group, expected_type=type_hints["group"])
|
|
7737
8054
|
check_type(argname="argument image_builder", value=image_builder, expected_type=type_hints["image_builder"])
|
|
7738
8055
|
check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
|
|
7739
8056
|
check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
|
|
@@ -7741,17 +8058,22 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7741
8058
|
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
7742
8059
|
check_type(argname="argument spot", value=spot, expected_type=type_hints["spot"])
|
|
7743
8060
|
check_type(argname="argument spot_max_price", value=spot_max_price, expected_type=type_hints["spot_max_price"])
|
|
8061
|
+
check_type(argname="argument storage_options", value=storage_options, expected_type=type_hints["storage_options"])
|
|
7744
8062
|
check_type(argname="argument storage_size", value=storage_size, expected_type=type_hints["storage_size"])
|
|
7745
8063
|
check_type(argname="argument subnet", value=subnet, expected_type=type_hints["subnet"])
|
|
7746
8064
|
check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
|
|
7747
8065
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
7748
8066
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
8067
|
+
if default_labels is not None:
|
|
8068
|
+
self._values["default_labels"] = default_labels
|
|
7749
8069
|
if log_retention is not None:
|
|
7750
8070
|
self._values["log_retention"] = log_retention
|
|
7751
8071
|
if retry_options is not None:
|
|
7752
8072
|
self._values["retry_options"] = retry_options
|
|
7753
8073
|
if ami_builder is not None:
|
|
7754
8074
|
self._values["ami_builder"] = ami_builder
|
|
8075
|
+
if group is not None:
|
|
8076
|
+
self._values["group"] = group
|
|
7755
8077
|
if image_builder is not None:
|
|
7756
8078
|
self._values["image_builder"] = image_builder
|
|
7757
8079
|
if instance_type is not None:
|
|
@@ -7766,6 +8088,8 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7766
8088
|
self._values["spot"] = spot
|
|
7767
8089
|
if spot_max_price is not None:
|
|
7768
8090
|
self._values["spot_max_price"] = spot_max_price
|
|
8091
|
+
if storage_options is not None:
|
|
8092
|
+
self._values["storage_options"] = storage_options
|
|
7769
8093
|
if storage_size is not None:
|
|
7770
8094
|
self._values["storage_size"] = storage_size
|
|
7771
8095
|
if subnet is not None:
|
|
@@ -7775,6 +8099,19 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7775
8099
|
if vpc is not None:
|
|
7776
8100
|
self._values["vpc"] = vpc
|
|
7777
8101
|
|
|
8102
|
+
@builtins.property
|
|
8103
|
+
def default_labels(self) -> typing.Optional[builtins.bool]:
|
|
8104
|
+
'''(experimental) Add default labels based on OS and architecture of the runner.
|
|
8105
|
+
|
|
8106
|
+
This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``.
|
|
8107
|
+
|
|
8108
|
+
:default: true
|
|
8109
|
+
|
|
8110
|
+
:stability: experimental
|
|
8111
|
+
'''
|
|
8112
|
+
result = self._values.get("default_labels")
|
|
8113
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
8114
|
+
|
|
7778
8115
|
@builtins.property
|
|
7779
8116
|
def log_retention(
|
|
7780
8117
|
self,
|
|
@@ -7812,6 +8149,24 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7812
8149
|
result = self._values.get("ami_builder")
|
|
7813
8150
|
return typing.cast(typing.Optional[IRunnerImageBuilder], result)
|
|
7814
8151
|
|
|
8152
|
+
@builtins.property
|
|
8153
|
+
def group(self) -> typing.Optional[builtins.str]:
|
|
8154
|
+
'''(experimental) GitHub Actions runner group name.
|
|
8155
|
+
|
|
8156
|
+
If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It
|
|
8157
|
+
requires a paid GitHub account.
|
|
8158
|
+
|
|
8159
|
+
The group must exist or the runner will not start.
|
|
8160
|
+
|
|
8161
|
+
Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group.
|
|
8162
|
+
|
|
8163
|
+
:default: undefined
|
|
8164
|
+
|
|
8165
|
+
:stability: experimental
|
|
8166
|
+
'''
|
|
8167
|
+
result = self._values.get("group")
|
|
8168
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
8169
|
+
|
|
7815
8170
|
@builtins.property
|
|
7816
8171
|
def image_builder(self) -> typing.Optional[IRunnerImageBuilder]:
|
|
7817
8172
|
'''(experimental) Runner image builder used to build AMI containing GitHub Runner and all requirements.
|
|
@@ -7829,7 +8184,7 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7829
8184
|
def instance_type(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType]:
|
|
7830
8185
|
'''(experimental) Instance type for launched runner instances.
|
|
7831
8186
|
|
|
7832
|
-
:default:
|
|
8187
|
+
:default: m6i.large
|
|
7833
8188
|
|
|
7834
8189
|
:stability: experimental
|
|
7835
8190
|
'''
|
|
@@ -7903,6 +8258,15 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7903
8258
|
result = self._values.get("spot_max_price")
|
|
7904
8259
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
7905
8260
|
|
|
8261
|
+
@builtins.property
|
|
8262
|
+
def storage_options(self) -> typing.Optional[StorageOptions]:
|
|
8263
|
+
'''(experimental) Options for runner instance storage volume.
|
|
8264
|
+
|
|
8265
|
+
:stability: experimental
|
|
8266
|
+
'''
|
|
8267
|
+
result = self._values.get("storage_options")
|
|
8268
|
+
return typing.cast(typing.Optional[StorageOptions], result)
|
|
8269
|
+
|
|
7906
8270
|
@builtins.property
|
|
7907
8271
|
def storage_size(self) -> typing.Optional[_aws_cdk_ceddda9d.Size]:
|
|
7908
8272
|
'''(experimental) Size of volume available for launched runner instances.
|
|
@@ -7994,6 +8358,7 @@ class EcsRunnerProvider(
|
|
|
7994
8358
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
7995
8359
|
cpu: typing.Optional[jsii.Number] = None,
|
|
7996
8360
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
8361
|
+
group: typing.Optional[builtins.str] = None,
|
|
7997
8362
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
7998
8363
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
7999
8364
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -8001,12 +8366,16 @@ class EcsRunnerProvider(
|
|
|
8001
8366
|
memory_limit_mib: typing.Optional[jsii.Number] = None,
|
|
8002
8367
|
memory_reservation_mib: typing.Optional[jsii.Number] = None,
|
|
8003
8368
|
min_instances: typing.Optional[jsii.Number] = None,
|
|
8369
|
+
placement_constraints: typing.Optional[typing.Sequence[_aws_cdk_aws_ecs_ceddda9d.PlacementConstraint]] = None,
|
|
8370
|
+
placement_strategies: typing.Optional[typing.Sequence[_aws_cdk_aws_ecs_ceddda9d.PlacementStrategy]] = None,
|
|
8004
8371
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
8005
8372
|
spot: typing.Optional[builtins.bool] = None,
|
|
8006
8373
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
8374
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8007
8375
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
8008
8376
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8009
8377
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
8378
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
8010
8379
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
8011
8380
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8012
8381
|
) -> None:
|
|
@@ -8018,19 +8387,24 @@ class EcsRunnerProvider(
|
|
|
8018
8387
|
:param cluster: (experimental) Existing ECS cluster to use. Default: a new cluster
|
|
8019
8388
|
:param cpu: (experimental) The number of cpu units used by the task. 1024 units is 1 vCPU. Fractions of a vCPU are supported. Default: 1024
|
|
8020
8389
|
:param docker_in_docker: (experimental) Support building and running Docker images by enabling Docker-in-Docker (dind) and the required CodeBuild privileged mode. Disabling this can speed up provisioning of CodeBuild runners. If you don't intend on running or building Docker images, disable this for faster start-up times. Default: true
|
|
8390
|
+
:param group: (experimental) GitHub Actions runner group name. If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It requires a paid GitHub account. The group must exist or the runner will not start. Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group. Default: undefined
|
|
8021
8391
|
:param image_builder: (experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements. The image builder determines the OS and architecture of the runner. Default: EcsRunnerProvider.imageBuilder()
|
|
8022
|
-
:param instance_type: (experimental) Instance type of ECS cluster instances. Only used when creating a new cluster. Default:
|
|
8392
|
+
:param instance_type: (experimental) Instance type of ECS cluster instances. Only used when creating a new cluster. Default: m6i.large or m6g.large
|
|
8023
8393
|
:param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['ecs']
|
|
8024
8394
|
:param max_instances: (experimental) The maximum number of instances to run in the cluster. Only used when creating a new cluster. Default: 5
|
|
8025
8395
|
:param memory_limit_mib: (experimental) The amount (in MiB) of memory used by the task. Default: 3500, unless ``memoryReservationMiB`` is used and then it's undefined
|
|
8026
8396
|
:param memory_reservation_mib: (experimental) The soft limit (in MiB) of memory to reserve for the container. Default: undefined
|
|
8027
8397
|
:param min_instances: (experimental) The minimum number of instances to run in the cluster. Only used when creating a new cluster. Default: 0
|
|
8398
|
+
:param placement_constraints: (experimental) ECS placement constraints to influence task placement. Example: [ecs.PlacementConstraint.memberOf('ecs-placement')] Default: undefined (no placement constraints)
|
|
8399
|
+
:param placement_strategies: (experimental) ECS placement strategies to influence task placement. Example: [ecs.PlacementStrategy.packedByCpu()] Default: undefined (no placement strategies)
|
|
8028
8400
|
:param security_groups: (experimental) Security groups to assign to the task. Default: a new security group
|
|
8029
8401
|
:param spot: (experimental) Use spot capacity. Default: false (true if spotMaxPrice is specified)
|
|
8030
8402
|
:param spot_max_price: (experimental) Maximum price for spot instances.
|
|
8403
|
+
:param storage_options: (experimental) Options for runner instance storage volume.
|
|
8031
8404
|
:param storage_size: (experimental) Size of volume available for launched cluster instances. This modifies the boot volume size and doesn't add any additional volumes. Each instance can be used by multiple runners, so make sure there is enough space for all of them. Default: default size for AMI (usually 30GB for Linux and 50GB for Windows)
|
|
8032
8405
|
:param subnet_selection: (experimental) Subnets to run the runners in. Default: ECS default
|
|
8033
8406
|
:param vpc: (experimental) VPC to launch the runners in. Default: default account VPC
|
|
8407
|
+
:param default_labels: (experimental) Add default labels based on OS and architecture of the runner. This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``. Default: true
|
|
8034
8408
|
: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
|
|
8035
8409
|
:param retry_options:
|
|
8036
8410
|
|
|
@@ -8046,6 +8420,7 @@ class EcsRunnerProvider(
|
|
|
8046
8420
|
cluster=cluster,
|
|
8047
8421
|
cpu=cpu,
|
|
8048
8422
|
docker_in_docker=docker_in_docker,
|
|
8423
|
+
group=group,
|
|
8049
8424
|
image_builder=image_builder,
|
|
8050
8425
|
instance_type=instance_type,
|
|
8051
8426
|
labels=labels,
|
|
@@ -8053,12 +8428,16 @@ class EcsRunnerProvider(
|
|
|
8053
8428
|
memory_limit_mib=memory_limit_mib,
|
|
8054
8429
|
memory_reservation_mib=memory_reservation_mib,
|
|
8055
8430
|
min_instances=min_instances,
|
|
8431
|
+
placement_constraints=placement_constraints,
|
|
8432
|
+
placement_strategies=placement_strategies,
|
|
8056
8433
|
security_groups=security_groups,
|
|
8057
8434
|
spot=spot,
|
|
8058
8435
|
spot_max_price=spot_max_price,
|
|
8436
|
+
storage_options=storage_options,
|
|
8059
8437
|
storage_size=storage_size,
|
|
8060
8438
|
subnet_selection=subnet_selection,
|
|
8061
8439
|
vpc=vpc,
|
|
8440
|
+
default_labels=default_labels,
|
|
8062
8441
|
log_retention=log_retention,
|
|
8063
8442
|
retry_options=retry_options,
|
|
8064
8443
|
)
|
|
@@ -8112,8 +8491,8 @@ class EcsRunnerProvider(
|
|
|
8112
8491
|
:param id: -
|
|
8113
8492
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
8114
8493
|
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
8115
|
-
: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
|
|
8116
|
-
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}. 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
|
|
8494
|
+
: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 and Os.LINUX_UBUNTU_2204, Ubuntu 24.04 AMI for Os.LINUX_UBUNTU_2404, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
|
|
8495
|
+
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU and Os.LINUX_UBUNTU_2204, public.ecr.aws/lts/ubuntu:24.04 for Os.LINUX_UBUNTU_2404, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
8117
8496
|
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
8118
8497
|
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
8119
8498
|
:param components: (experimental) Components to install on the image. Default: none
|
|
@@ -8298,6 +8677,7 @@ class EcsRunnerProvider(
|
|
|
8298
8677
|
jsii_type="@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps",
|
|
8299
8678
|
jsii_struct_bases=[RunnerProviderProps],
|
|
8300
8679
|
name_mapping={
|
|
8680
|
+
"default_labels": "defaultLabels",
|
|
8301
8681
|
"log_retention": "logRetention",
|
|
8302
8682
|
"retry_options": "retryOptions",
|
|
8303
8683
|
"assign_public_ip": "assignPublicIp",
|
|
@@ -8305,6 +8685,7 @@ class EcsRunnerProvider(
|
|
|
8305
8685
|
"cluster": "cluster",
|
|
8306
8686
|
"cpu": "cpu",
|
|
8307
8687
|
"docker_in_docker": "dockerInDocker",
|
|
8688
|
+
"group": "group",
|
|
8308
8689
|
"image_builder": "imageBuilder",
|
|
8309
8690
|
"instance_type": "instanceType",
|
|
8310
8691
|
"labels": "labels",
|
|
@@ -8312,9 +8693,12 @@ class EcsRunnerProvider(
|
|
|
8312
8693
|
"memory_limit_mib": "memoryLimitMiB",
|
|
8313
8694
|
"memory_reservation_mib": "memoryReservationMiB",
|
|
8314
8695
|
"min_instances": "minInstances",
|
|
8696
|
+
"placement_constraints": "placementConstraints",
|
|
8697
|
+
"placement_strategies": "placementStrategies",
|
|
8315
8698
|
"security_groups": "securityGroups",
|
|
8316
8699
|
"spot": "spot",
|
|
8317
8700
|
"spot_max_price": "spotMaxPrice",
|
|
8701
|
+
"storage_options": "storageOptions",
|
|
8318
8702
|
"storage_size": "storageSize",
|
|
8319
8703
|
"subnet_selection": "subnetSelection",
|
|
8320
8704
|
"vpc": "vpc",
|
|
@@ -8324,6 +8708,7 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8324
8708
|
def __init__(
|
|
8325
8709
|
self,
|
|
8326
8710
|
*,
|
|
8711
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
8327
8712
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
8328
8713
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8329
8714
|
assign_public_ip: typing.Optional[builtins.bool] = None,
|
|
@@ -8331,6 +8716,7 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8331
8716
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
8332
8717
|
cpu: typing.Optional[jsii.Number] = None,
|
|
8333
8718
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
8719
|
+
group: typing.Optional[builtins.str] = None,
|
|
8334
8720
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
8335
8721
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
8336
8722
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -8338,15 +8724,19 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8338
8724
|
memory_limit_mib: typing.Optional[jsii.Number] = None,
|
|
8339
8725
|
memory_reservation_mib: typing.Optional[jsii.Number] = None,
|
|
8340
8726
|
min_instances: typing.Optional[jsii.Number] = None,
|
|
8727
|
+
placement_constraints: typing.Optional[typing.Sequence[_aws_cdk_aws_ecs_ceddda9d.PlacementConstraint]] = None,
|
|
8728
|
+
placement_strategies: typing.Optional[typing.Sequence[_aws_cdk_aws_ecs_ceddda9d.PlacementStrategy]] = None,
|
|
8341
8729
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
8342
8730
|
spot: typing.Optional[builtins.bool] = None,
|
|
8343
8731
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
8732
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8344
8733
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
8345
8734
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8346
8735
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
8347
8736
|
) -> None:
|
|
8348
8737
|
'''(experimental) Properties for EcsRunnerProvider.
|
|
8349
8738
|
|
|
8739
|
+
:param default_labels: (experimental) Add default labels based on OS and architecture of the runner. This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``. Default: true
|
|
8350
8740
|
: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
|
|
8351
8741
|
:param retry_options:
|
|
8352
8742
|
:param assign_public_ip: (experimental) Assign public IP to the runner task. Make sure the task will have access to GitHub. A public IP might be required unless you have NAT gateway. Default: true
|
|
@@ -8354,16 +8744,20 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8354
8744
|
:param cluster: (experimental) Existing ECS cluster to use. Default: a new cluster
|
|
8355
8745
|
:param cpu: (experimental) The number of cpu units used by the task. 1024 units is 1 vCPU. Fractions of a vCPU are supported. Default: 1024
|
|
8356
8746
|
:param docker_in_docker: (experimental) Support building and running Docker images by enabling Docker-in-Docker (dind) and the required CodeBuild privileged mode. Disabling this can speed up provisioning of CodeBuild runners. If you don't intend on running or building Docker images, disable this for faster start-up times. Default: true
|
|
8747
|
+
:param group: (experimental) GitHub Actions runner group name. If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It requires a paid GitHub account. The group must exist or the runner will not start. Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group. Default: undefined
|
|
8357
8748
|
:param image_builder: (experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements. The image builder determines the OS and architecture of the runner. Default: EcsRunnerProvider.imageBuilder()
|
|
8358
|
-
:param instance_type: (experimental) Instance type of ECS cluster instances. Only used when creating a new cluster. Default:
|
|
8749
|
+
:param instance_type: (experimental) Instance type of ECS cluster instances. Only used when creating a new cluster. Default: m6i.large or m6g.large
|
|
8359
8750
|
:param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['ecs']
|
|
8360
8751
|
:param max_instances: (experimental) The maximum number of instances to run in the cluster. Only used when creating a new cluster. Default: 5
|
|
8361
8752
|
:param memory_limit_mib: (experimental) The amount (in MiB) of memory used by the task. Default: 3500, unless ``memoryReservationMiB`` is used and then it's undefined
|
|
8362
8753
|
:param memory_reservation_mib: (experimental) The soft limit (in MiB) of memory to reserve for the container. Default: undefined
|
|
8363
8754
|
:param min_instances: (experimental) The minimum number of instances to run in the cluster. Only used when creating a new cluster. Default: 0
|
|
8755
|
+
:param placement_constraints: (experimental) ECS placement constraints to influence task placement. Example: [ecs.PlacementConstraint.memberOf('ecs-placement')] Default: undefined (no placement constraints)
|
|
8756
|
+
:param placement_strategies: (experimental) ECS placement strategies to influence task placement. Example: [ecs.PlacementStrategy.packedByCpu()] Default: undefined (no placement strategies)
|
|
8364
8757
|
:param security_groups: (experimental) Security groups to assign to the task. Default: a new security group
|
|
8365
8758
|
:param spot: (experimental) Use spot capacity. Default: false (true if spotMaxPrice is specified)
|
|
8366
8759
|
:param spot_max_price: (experimental) Maximum price for spot instances.
|
|
8760
|
+
:param storage_options: (experimental) Options for runner instance storage volume.
|
|
8367
8761
|
:param storage_size: (experimental) Size of volume available for launched cluster instances. This modifies the boot volume size and doesn't add any additional volumes. Each instance can be used by multiple runners, so make sure there is enough space for all of them. Default: default size for AMI (usually 30GB for Linux and 50GB for Windows)
|
|
8368
8762
|
:param subnet_selection: (experimental) Subnets to run the runners in. Default: ECS default
|
|
8369
8763
|
:param vpc: (experimental) VPC to launch the runners in. Default: default account VPC
|
|
@@ -8372,10 +8766,13 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8372
8766
|
'''
|
|
8373
8767
|
if isinstance(retry_options, dict):
|
|
8374
8768
|
retry_options = ProviderRetryOptions(**retry_options)
|
|
8769
|
+
if isinstance(storage_options, dict):
|
|
8770
|
+
storage_options = StorageOptions(**storage_options)
|
|
8375
8771
|
if isinstance(subnet_selection, dict):
|
|
8376
8772
|
subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
|
|
8377
8773
|
if __debug__:
|
|
8378
8774
|
type_hints = typing.get_type_hints(_typecheckingstub__73c1978e12dcea1bd69ce0927a80bd887d7f7d1b6573831942495e9d5966b483)
|
|
8775
|
+
check_type(argname="argument default_labels", value=default_labels, expected_type=type_hints["default_labels"])
|
|
8379
8776
|
check_type(argname="argument log_retention", value=log_retention, expected_type=type_hints["log_retention"])
|
|
8380
8777
|
check_type(argname="argument retry_options", value=retry_options, expected_type=type_hints["retry_options"])
|
|
8381
8778
|
check_type(argname="argument assign_public_ip", value=assign_public_ip, expected_type=type_hints["assign_public_ip"])
|
|
@@ -8383,6 +8780,7 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8383
8780
|
check_type(argname="argument cluster", value=cluster, expected_type=type_hints["cluster"])
|
|
8384
8781
|
check_type(argname="argument cpu", value=cpu, expected_type=type_hints["cpu"])
|
|
8385
8782
|
check_type(argname="argument docker_in_docker", value=docker_in_docker, expected_type=type_hints["docker_in_docker"])
|
|
8783
|
+
check_type(argname="argument group", value=group, expected_type=type_hints["group"])
|
|
8386
8784
|
check_type(argname="argument image_builder", value=image_builder, expected_type=type_hints["image_builder"])
|
|
8387
8785
|
check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
|
|
8388
8786
|
check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
|
|
@@ -8390,13 +8788,18 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8390
8788
|
check_type(argname="argument memory_limit_mib", value=memory_limit_mib, expected_type=type_hints["memory_limit_mib"])
|
|
8391
8789
|
check_type(argname="argument memory_reservation_mib", value=memory_reservation_mib, expected_type=type_hints["memory_reservation_mib"])
|
|
8392
8790
|
check_type(argname="argument min_instances", value=min_instances, expected_type=type_hints["min_instances"])
|
|
8791
|
+
check_type(argname="argument placement_constraints", value=placement_constraints, expected_type=type_hints["placement_constraints"])
|
|
8792
|
+
check_type(argname="argument placement_strategies", value=placement_strategies, expected_type=type_hints["placement_strategies"])
|
|
8393
8793
|
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
8394
8794
|
check_type(argname="argument spot", value=spot, expected_type=type_hints["spot"])
|
|
8395
8795
|
check_type(argname="argument spot_max_price", value=spot_max_price, expected_type=type_hints["spot_max_price"])
|
|
8796
|
+
check_type(argname="argument storage_options", value=storage_options, expected_type=type_hints["storage_options"])
|
|
8396
8797
|
check_type(argname="argument storage_size", value=storage_size, expected_type=type_hints["storage_size"])
|
|
8397
8798
|
check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
|
|
8398
8799
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
8399
8800
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
8801
|
+
if default_labels is not None:
|
|
8802
|
+
self._values["default_labels"] = default_labels
|
|
8400
8803
|
if log_retention is not None:
|
|
8401
8804
|
self._values["log_retention"] = log_retention
|
|
8402
8805
|
if retry_options is not None:
|
|
@@ -8411,6 +8814,8 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8411
8814
|
self._values["cpu"] = cpu
|
|
8412
8815
|
if docker_in_docker is not None:
|
|
8413
8816
|
self._values["docker_in_docker"] = docker_in_docker
|
|
8817
|
+
if group is not None:
|
|
8818
|
+
self._values["group"] = group
|
|
8414
8819
|
if image_builder is not None:
|
|
8415
8820
|
self._values["image_builder"] = image_builder
|
|
8416
8821
|
if instance_type is not None:
|
|
@@ -8425,12 +8830,18 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8425
8830
|
self._values["memory_reservation_mib"] = memory_reservation_mib
|
|
8426
8831
|
if min_instances is not None:
|
|
8427
8832
|
self._values["min_instances"] = min_instances
|
|
8833
|
+
if placement_constraints is not None:
|
|
8834
|
+
self._values["placement_constraints"] = placement_constraints
|
|
8835
|
+
if placement_strategies is not None:
|
|
8836
|
+
self._values["placement_strategies"] = placement_strategies
|
|
8428
8837
|
if security_groups is not None:
|
|
8429
8838
|
self._values["security_groups"] = security_groups
|
|
8430
8839
|
if spot is not None:
|
|
8431
8840
|
self._values["spot"] = spot
|
|
8432
8841
|
if spot_max_price is not None:
|
|
8433
8842
|
self._values["spot_max_price"] = spot_max_price
|
|
8843
|
+
if storage_options is not None:
|
|
8844
|
+
self._values["storage_options"] = storage_options
|
|
8434
8845
|
if storage_size is not None:
|
|
8435
8846
|
self._values["storage_size"] = storage_size
|
|
8436
8847
|
if subnet_selection is not None:
|
|
@@ -8438,6 +8849,19 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8438
8849
|
if vpc is not None:
|
|
8439
8850
|
self._values["vpc"] = vpc
|
|
8440
8851
|
|
|
8852
|
+
@builtins.property
|
|
8853
|
+
def default_labels(self) -> typing.Optional[builtins.bool]:
|
|
8854
|
+
'''(experimental) Add default labels based on OS and architecture of the runner.
|
|
8855
|
+
|
|
8856
|
+
This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``.
|
|
8857
|
+
|
|
8858
|
+
:default: true
|
|
8859
|
+
|
|
8860
|
+
:stability: experimental
|
|
8861
|
+
'''
|
|
8862
|
+
result = self._values.get("default_labels")
|
|
8863
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
8864
|
+
|
|
8441
8865
|
@builtins.property
|
|
8442
8866
|
def log_retention(
|
|
8443
8867
|
self,
|
|
@@ -8531,6 +8955,24 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8531
8955
|
result = self._values.get("docker_in_docker")
|
|
8532
8956
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
8533
8957
|
|
|
8958
|
+
@builtins.property
|
|
8959
|
+
def group(self) -> typing.Optional[builtins.str]:
|
|
8960
|
+
'''(experimental) GitHub Actions runner group name.
|
|
8961
|
+
|
|
8962
|
+
If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It
|
|
8963
|
+
requires a paid GitHub account.
|
|
8964
|
+
|
|
8965
|
+
The group must exist or the runner will not start.
|
|
8966
|
+
|
|
8967
|
+
Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group.
|
|
8968
|
+
|
|
8969
|
+
:default: undefined
|
|
8970
|
+
|
|
8971
|
+
:stability: experimental
|
|
8972
|
+
'''
|
|
8973
|
+
result = self._values.get("group")
|
|
8974
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
8975
|
+
|
|
8534
8976
|
@builtins.property
|
|
8535
8977
|
def image_builder(self) -> typing.Optional[IRunnerImageBuilder]:
|
|
8536
8978
|
'''(experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements.
|
|
@@ -8550,7 +8992,7 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8550
8992
|
|
|
8551
8993
|
Only used when creating a new cluster.
|
|
8552
8994
|
|
|
8553
|
-
:default:
|
|
8995
|
+
:default: m6i.large or m6g.large
|
|
8554
8996
|
|
|
8555
8997
|
:stability: experimental
|
|
8556
8998
|
'''
|
|
@@ -8620,6 +9062,36 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8620
9062
|
result = self._values.get("min_instances")
|
|
8621
9063
|
return typing.cast(typing.Optional[jsii.Number], result)
|
|
8622
9064
|
|
|
9065
|
+
@builtins.property
|
|
9066
|
+
def placement_constraints(
|
|
9067
|
+
self,
|
|
9068
|
+
) -> typing.Optional[typing.List[_aws_cdk_aws_ecs_ceddda9d.PlacementConstraint]]:
|
|
9069
|
+
'''(experimental) ECS placement constraints to influence task placement.
|
|
9070
|
+
|
|
9071
|
+
Example: [ecs.PlacementConstraint.memberOf('ecs-placement')]
|
|
9072
|
+
|
|
9073
|
+
:default: undefined (no placement constraints)
|
|
9074
|
+
|
|
9075
|
+
:stability: experimental
|
|
9076
|
+
'''
|
|
9077
|
+
result = self._values.get("placement_constraints")
|
|
9078
|
+
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_ecs_ceddda9d.PlacementConstraint]], result)
|
|
9079
|
+
|
|
9080
|
+
@builtins.property
|
|
9081
|
+
def placement_strategies(
|
|
9082
|
+
self,
|
|
9083
|
+
) -> typing.Optional[typing.List[_aws_cdk_aws_ecs_ceddda9d.PlacementStrategy]]:
|
|
9084
|
+
'''(experimental) ECS placement strategies to influence task placement.
|
|
9085
|
+
|
|
9086
|
+
Example: [ecs.PlacementStrategy.packedByCpu()]
|
|
9087
|
+
|
|
9088
|
+
:default: undefined (no placement strategies)
|
|
9089
|
+
|
|
9090
|
+
:stability: experimental
|
|
9091
|
+
'''
|
|
9092
|
+
result = self._values.get("placement_strategies")
|
|
9093
|
+
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_ecs_ceddda9d.PlacementStrategy]], result)
|
|
9094
|
+
|
|
8623
9095
|
@builtins.property
|
|
8624
9096
|
def security_groups(
|
|
8625
9097
|
self,
|
|
@@ -8653,6 +9125,15 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8653
9125
|
result = self._values.get("spot_max_price")
|
|
8654
9126
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
8655
9127
|
|
|
9128
|
+
@builtins.property
|
|
9129
|
+
def storage_options(self) -> typing.Optional[StorageOptions]:
|
|
9130
|
+
'''(experimental) Options for runner instance storage volume.
|
|
9131
|
+
|
|
9132
|
+
:stability: experimental
|
|
9133
|
+
'''
|
|
9134
|
+
result = self._values.get("storage_options")
|
|
9135
|
+
return typing.cast(typing.Optional[StorageOptions], result)
|
|
9136
|
+
|
|
8656
9137
|
@builtins.property
|
|
8657
9138
|
def storage_size(self) -> typing.Optional[_aws_cdk_ceddda9d.Size]:
|
|
8658
9139
|
'''(experimental) Size of volume available for launched cluster instances.
|
|
@@ -8728,6 +9209,7 @@ class FargateRunnerProvider(
|
|
|
8728
9209
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
8729
9210
|
cpu: typing.Optional[jsii.Number] = None,
|
|
8730
9211
|
ephemeral_storage_gib: typing.Optional[jsii.Number] = None,
|
|
9212
|
+
group: typing.Optional[builtins.str] = None,
|
|
8731
9213
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
8732
9214
|
label: typing.Optional[builtins.str] = None,
|
|
8733
9215
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -8737,6 +9219,7 @@ class FargateRunnerProvider(
|
|
|
8737
9219
|
spot: typing.Optional[builtins.bool] = None,
|
|
8738
9220
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8739
9221
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
9222
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
8740
9223
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
8741
9224
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8742
9225
|
) -> None:
|
|
@@ -8747,6 +9230,7 @@ class FargateRunnerProvider(
|
|
|
8747
9230
|
:param cluster: (experimental) Existing Fargate cluster to use. Default: a new cluster
|
|
8748
9231
|
:param cpu: (experimental) The number of cpu units used by the task. For tasks using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the memory parameter: 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) Default: 1024
|
|
8749
9232
|
:param ephemeral_storage_gib: (experimental) The amount (in GiB) of ephemeral storage to be allocated to the task. The maximum supported value is 200 GiB. NOTE: This parameter is only supported for tasks hosted on AWS Fargate using platform version 1.4.0 or later. Default: 20
|
|
9233
|
+
:param group: (experimental) GitHub Actions runner group name. If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It requires a paid GitHub account. The group must exist or the runner will not start. Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group. Default: undefined
|
|
8750
9234
|
:param image_builder: (experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements. The image builder determines the OS and architecture of the runner. Default: FargateRunnerProvider.imageBuilder()
|
|
8751
9235
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
8752
9236
|
:param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['fargate']
|
|
@@ -8756,6 +9240,7 @@ class FargateRunnerProvider(
|
|
|
8756
9240
|
:param spot: (experimental) Use Fargate spot capacity provider to save money. - Runners may fail to start due to missing capacity. - Runners might be stopped prematurely with spot pricing. Default: false
|
|
8757
9241
|
:param subnet_selection: (experimental) Subnets to run the runners in. Default: Fargate default
|
|
8758
9242
|
:param vpc: (experimental) VPC to launch the runners in. Default: default account VPC
|
|
9243
|
+
:param default_labels: (experimental) Add default labels based on OS and architecture of the runner. This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``. Default: true
|
|
8759
9244
|
: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
|
|
8760
9245
|
:param retry_options:
|
|
8761
9246
|
|
|
@@ -8770,6 +9255,7 @@ class FargateRunnerProvider(
|
|
|
8770
9255
|
cluster=cluster,
|
|
8771
9256
|
cpu=cpu,
|
|
8772
9257
|
ephemeral_storage_gib=ephemeral_storage_gib,
|
|
9258
|
+
group=group,
|
|
8773
9259
|
image_builder=image_builder,
|
|
8774
9260
|
label=label,
|
|
8775
9261
|
labels=labels,
|
|
@@ -8779,6 +9265,7 @@ class FargateRunnerProvider(
|
|
|
8779
9265
|
spot=spot,
|
|
8780
9266
|
subnet_selection=subnet_selection,
|
|
8781
9267
|
vpc=vpc,
|
|
9268
|
+
default_labels=default_labels,
|
|
8782
9269
|
log_retention=log_retention,
|
|
8783
9270
|
retry_options=retry_options,
|
|
8784
9271
|
)
|
|
@@ -8831,8 +9318,8 @@ class FargateRunnerProvider(
|
|
|
8831
9318
|
:param id: -
|
|
8832
9319
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
8833
9320
|
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
8834
|
-
: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
|
|
8835
|
-
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}. 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
|
|
9321
|
+
: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 and Os.LINUX_UBUNTU_2204, Ubuntu 24.04 AMI for Os.LINUX_UBUNTU_2404, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
|
|
9322
|
+
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU and Os.LINUX_UBUNTU_2204, public.ecr.aws/lts/ubuntu:24.04 for Os.LINUX_UBUNTU_2404, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
8836
9323
|
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
8837
9324
|
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
8838
9325
|
:param components: (experimental) Components to install on the image. Default: none
|
|
@@ -9129,12 +9616,14 @@ class FargateRunnerProvider(
|
|
|
9129
9616
|
jsii_type="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps",
|
|
9130
9617
|
jsii_struct_bases=[RunnerProviderProps],
|
|
9131
9618
|
name_mapping={
|
|
9619
|
+
"default_labels": "defaultLabels",
|
|
9132
9620
|
"log_retention": "logRetention",
|
|
9133
9621
|
"retry_options": "retryOptions",
|
|
9134
9622
|
"assign_public_ip": "assignPublicIp",
|
|
9135
9623
|
"cluster": "cluster",
|
|
9136
9624
|
"cpu": "cpu",
|
|
9137
9625
|
"ephemeral_storage_gib": "ephemeralStorageGiB",
|
|
9626
|
+
"group": "group",
|
|
9138
9627
|
"image_builder": "imageBuilder",
|
|
9139
9628
|
"label": "label",
|
|
9140
9629
|
"labels": "labels",
|
|
@@ -9150,12 +9639,14 @@ class FargateRunnerProviderProps(RunnerProviderProps):
|
|
|
9150
9639
|
def __init__(
|
|
9151
9640
|
self,
|
|
9152
9641
|
*,
|
|
9642
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
9153
9643
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
9154
9644
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9155
9645
|
assign_public_ip: typing.Optional[builtins.bool] = None,
|
|
9156
9646
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
9157
9647
|
cpu: typing.Optional[jsii.Number] = None,
|
|
9158
9648
|
ephemeral_storage_gib: typing.Optional[jsii.Number] = None,
|
|
9649
|
+
group: typing.Optional[builtins.str] = None,
|
|
9159
9650
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
9160
9651
|
label: typing.Optional[builtins.str] = None,
|
|
9161
9652
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -9168,12 +9659,14 @@ class FargateRunnerProviderProps(RunnerProviderProps):
|
|
|
9168
9659
|
) -> None:
|
|
9169
9660
|
'''(experimental) Properties for FargateRunnerProvider.
|
|
9170
9661
|
|
|
9662
|
+
:param default_labels: (experimental) Add default labels based on OS and architecture of the runner. This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``. Default: true
|
|
9171
9663
|
: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
|
|
9172
9664
|
:param retry_options:
|
|
9173
9665
|
:param assign_public_ip: (experimental) Assign public IP to the runner task. Make sure the task will have access to GitHub. A public IP might be required unless you have NAT gateway. Default: true
|
|
9174
9666
|
:param cluster: (experimental) Existing Fargate cluster to use. Default: a new cluster
|
|
9175
9667
|
:param cpu: (experimental) The number of cpu units used by the task. For tasks using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the memory parameter: 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) Default: 1024
|
|
9176
9668
|
:param ephemeral_storage_gib: (experimental) The amount (in GiB) of ephemeral storage to be allocated to the task. The maximum supported value is 200 GiB. NOTE: This parameter is only supported for tasks hosted on AWS Fargate using platform version 1.4.0 or later. Default: 20
|
|
9669
|
+
:param group: (experimental) GitHub Actions runner group name. If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It requires a paid GitHub account. The group must exist or the runner will not start. Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group. Default: undefined
|
|
9177
9670
|
:param image_builder: (experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements. The image builder determines the OS and architecture of the runner. Default: FargateRunnerProvider.imageBuilder()
|
|
9178
9671
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
9179
9672
|
:param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['fargate']
|
|
@@ -9192,12 +9685,14 @@ class FargateRunnerProviderProps(RunnerProviderProps):
|
|
|
9192
9685
|
subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
|
|
9193
9686
|
if __debug__:
|
|
9194
9687
|
type_hints = typing.get_type_hints(_typecheckingstub__26cdeb87df1adf5c49e0f9c1c061c7138af674da9af221212e1505fc1193583d)
|
|
9688
|
+
check_type(argname="argument default_labels", value=default_labels, expected_type=type_hints["default_labels"])
|
|
9195
9689
|
check_type(argname="argument log_retention", value=log_retention, expected_type=type_hints["log_retention"])
|
|
9196
9690
|
check_type(argname="argument retry_options", value=retry_options, expected_type=type_hints["retry_options"])
|
|
9197
9691
|
check_type(argname="argument assign_public_ip", value=assign_public_ip, expected_type=type_hints["assign_public_ip"])
|
|
9198
9692
|
check_type(argname="argument cluster", value=cluster, expected_type=type_hints["cluster"])
|
|
9199
9693
|
check_type(argname="argument cpu", value=cpu, expected_type=type_hints["cpu"])
|
|
9200
9694
|
check_type(argname="argument ephemeral_storage_gib", value=ephemeral_storage_gib, expected_type=type_hints["ephemeral_storage_gib"])
|
|
9695
|
+
check_type(argname="argument group", value=group, expected_type=type_hints["group"])
|
|
9201
9696
|
check_type(argname="argument image_builder", value=image_builder, expected_type=type_hints["image_builder"])
|
|
9202
9697
|
check_type(argname="argument label", value=label, expected_type=type_hints["label"])
|
|
9203
9698
|
check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
|
|
@@ -9208,6 +9703,8 @@ class FargateRunnerProviderProps(RunnerProviderProps):
|
|
|
9208
9703
|
check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
|
|
9209
9704
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
9210
9705
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
9706
|
+
if default_labels is not None:
|
|
9707
|
+
self._values["default_labels"] = default_labels
|
|
9211
9708
|
if log_retention is not None:
|
|
9212
9709
|
self._values["log_retention"] = log_retention
|
|
9213
9710
|
if retry_options is not None:
|
|
@@ -9220,6 +9717,8 @@ class FargateRunnerProviderProps(RunnerProviderProps):
|
|
|
9220
9717
|
self._values["cpu"] = cpu
|
|
9221
9718
|
if ephemeral_storage_gib is not None:
|
|
9222
9719
|
self._values["ephemeral_storage_gib"] = ephemeral_storage_gib
|
|
9720
|
+
if group is not None:
|
|
9721
|
+
self._values["group"] = group
|
|
9223
9722
|
if image_builder is not None:
|
|
9224
9723
|
self._values["image_builder"] = image_builder
|
|
9225
9724
|
if label is not None:
|
|
@@ -9239,6 +9738,19 @@ class FargateRunnerProviderProps(RunnerProviderProps):
|
|
|
9239
9738
|
if vpc is not None:
|
|
9240
9739
|
self._values["vpc"] = vpc
|
|
9241
9740
|
|
|
9741
|
+
@builtins.property
|
|
9742
|
+
def default_labels(self) -> typing.Optional[builtins.bool]:
|
|
9743
|
+
'''(experimental) Add default labels based on OS and architecture of the runner.
|
|
9744
|
+
|
|
9745
|
+
This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``.
|
|
9746
|
+
|
|
9747
|
+
:default: true
|
|
9748
|
+
|
|
9749
|
+
:stability: experimental
|
|
9750
|
+
'''
|
|
9751
|
+
result = self._values.get("default_labels")
|
|
9752
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
9753
|
+
|
|
9242
9754
|
@builtins.property
|
|
9243
9755
|
def log_retention(
|
|
9244
9756
|
self,
|
|
@@ -9330,6 +9842,24 @@ class FargateRunnerProviderProps(RunnerProviderProps):
|
|
|
9330
9842
|
result = self._values.get("ephemeral_storage_gib")
|
|
9331
9843
|
return typing.cast(typing.Optional[jsii.Number], result)
|
|
9332
9844
|
|
|
9845
|
+
@builtins.property
|
|
9846
|
+
def group(self) -> typing.Optional[builtins.str]:
|
|
9847
|
+
'''(experimental) GitHub Actions runner group name.
|
|
9848
|
+
|
|
9849
|
+
If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It
|
|
9850
|
+
requires a paid GitHub account.
|
|
9851
|
+
|
|
9852
|
+
The group must exist or the runner will not start.
|
|
9853
|
+
|
|
9854
|
+
Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group.
|
|
9855
|
+
|
|
9856
|
+
:default: undefined
|
|
9857
|
+
|
|
9858
|
+
:stability: experimental
|
|
9859
|
+
'''
|
|
9860
|
+
result = self._values.get("group")
|
|
9861
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
9862
|
+
|
|
9333
9863
|
@builtins.property
|
|
9334
9864
|
def image_builder(self) -> typing.Optional[IRunnerImageBuilder]:
|
|
9335
9865
|
'''(experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements.
|
|
@@ -9583,6 +10113,7 @@ class LambdaRunner(
|
|
|
9583
10113
|
id: builtins.str,
|
|
9584
10114
|
*,
|
|
9585
10115
|
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
10116
|
+
group: typing.Optional[builtins.str] = None,
|
|
9586
10117
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
9587
10118
|
label: typing.Optional[builtins.str] = None,
|
|
9588
10119
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -9592,6 +10123,7 @@ class LambdaRunner(
|
|
|
9592
10123
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9593
10124
|
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
9594
10125
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
10126
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
9595
10127
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
9596
10128
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9597
10129
|
) -> None:
|
|
@@ -9599,6 +10131,7 @@ class LambdaRunner(
|
|
|
9599
10131
|
:param scope: -
|
|
9600
10132
|
:param id: -
|
|
9601
10133
|
:param ephemeral_storage_size: (experimental) The size of the function’s /tmp directory in MiB. Default: 10 GiB
|
|
10134
|
+
:param group: (experimental) GitHub Actions runner group name. If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It requires a paid GitHub account. The group must exist or the runner will not start. Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group. Default: undefined
|
|
9602
10135
|
:param image_builder: (experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements. The image builder must contain the {@link RunnerImageComponent.lambdaEntrypoint} component. The image builder determines the OS and architecture of the runner. Default: LambdaRunnerProvider.imageBuilder()
|
|
9603
10136
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
9604
10137
|
:param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['lambda']
|
|
@@ -9608,6 +10141,7 @@ class LambdaRunner(
|
|
|
9608
10141
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
9609
10142
|
:param timeout: (experimental) The function execution time (in seconds) after which Lambda terminates the function. Because the execution time affects cost, set this value based on the function's expected execution time. Default: Duration.minutes(15)
|
|
9610
10143
|
:param vpc: (experimental) VPC to launch the runners in. Default: no VPC
|
|
10144
|
+
:param default_labels: (experimental) Add default labels based on OS and architecture of the runner. This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``. Default: true
|
|
9611
10145
|
: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
|
|
9612
10146
|
:param retry_options:
|
|
9613
10147
|
|
|
@@ -9619,6 +10153,7 @@ class LambdaRunner(
|
|
|
9619
10153
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
9620
10154
|
props = LambdaRunnerProviderProps(
|
|
9621
10155
|
ephemeral_storage_size=ephemeral_storage_size,
|
|
10156
|
+
group=group,
|
|
9622
10157
|
image_builder=image_builder,
|
|
9623
10158
|
label=label,
|
|
9624
10159
|
labels=labels,
|
|
@@ -9628,6 +10163,7 @@ class LambdaRunner(
|
|
|
9628
10163
|
subnet_selection=subnet_selection,
|
|
9629
10164
|
timeout=timeout,
|
|
9630
10165
|
vpc=vpc,
|
|
10166
|
+
default_labels=default_labels,
|
|
9631
10167
|
log_retention=log_retention,
|
|
9632
10168
|
retry_options=retry_options,
|
|
9633
10169
|
)
|
|
@@ -9639,9 +10175,11 @@ class LambdaRunner(
|
|
|
9639
10175
|
jsii_type="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps",
|
|
9640
10176
|
jsii_struct_bases=[RunnerProviderProps],
|
|
9641
10177
|
name_mapping={
|
|
10178
|
+
"default_labels": "defaultLabels",
|
|
9642
10179
|
"log_retention": "logRetention",
|
|
9643
10180
|
"retry_options": "retryOptions",
|
|
9644
10181
|
"ephemeral_storage_size": "ephemeralStorageSize",
|
|
10182
|
+
"group": "group",
|
|
9645
10183
|
"image_builder": "imageBuilder",
|
|
9646
10184
|
"label": "label",
|
|
9647
10185
|
"labels": "labels",
|
|
@@ -9657,9 +10195,11 @@ class LambdaRunnerProviderProps(RunnerProviderProps):
|
|
|
9657
10195
|
def __init__(
|
|
9658
10196
|
self,
|
|
9659
10197
|
*,
|
|
10198
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
9660
10199
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
9661
10200
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9662
10201
|
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
10202
|
+
group: typing.Optional[builtins.str] = None,
|
|
9663
10203
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
9664
10204
|
label: typing.Optional[builtins.str] = None,
|
|
9665
10205
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -9671,9 +10211,11 @@ class LambdaRunnerProviderProps(RunnerProviderProps):
|
|
|
9671
10211
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
9672
10212
|
) -> None:
|
|
9673
10213
|
'''
|
|
10214
|
+
:param default_labels: (experimental) Add default labels based on OS and architecture of the runner. This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``. Default: true
|
|
9674
10215
|
: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
|
|
9675
10216
|
:param retry_options:
|
|
9676
10217
|
:param ephemeral_storage_size: (experimental) The size of the function’s /tmp directory in MiB. Default: 10 GiB
|
|
10218
|
+
:param group: (experimental) GitHub Actions runner group name. If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It requires a paid GitHub account. The group must exist or the runner will not start. Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group. Default: undefined
|
|
9677
10219
|
:param image_builder: (experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements. The image builder must contain the {@link RunnerImageComponent.lambdaEntrypoint} component. The image builder determines the OS and architecture of the runner. Default: LambdaRunnerProvider.imageBuilder()
|
|
9678
10220
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
9679
10221
|
:param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['lambda']
|
|
@@ -9692,9 +10234,11 @@ class LambdaRunnerProviderProps(RunnerProviderProps):
|
|
|
9692
10234
|
subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
|
|
9693
10235
|
if __debug__:
|
|
9694
10236
|
type_hints = typing.get_type_hints(_typecheckingstub__45a4a92b817689da2d55675d278ad5c96699269cc41f3406b7fca6d7a7664861)
|
|
10237
|
+
check_type(argname="argument default_labels", value=default_labels, expected_type=type_hints["default_labels"])
|
|
9695
10238
|
check_type(argname="argument log_retention", value=log_retention, expected_type=type_hints["log_retention"])
|
|
9696
10239
|
check_type(argname="argument retry_options", value=retry_options, expected_type=type_hints["retry_options"])
|
|
9697
10240
|
check_type(argname="argument ephemeral_storage_size", value=ephemeral_storage_size, expected_type=type_hints["ephemeral_storage_size"])
|
|
10241
|
+
check_type(argname="argument group", value=group, expected_type=type_hints["group"])
|
|
9698
10242
|
check_type(argname="argument image_builder", value=image_builder, expected_type=type_hints["image_builder"])
|
|
9699
10243
|
check_type(argname="argument label", value=label, expected_type=type_hints["label"])
|
|
9700
10244
|
check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
|
|
@@ -9705,12 +10249,16 @@ class LambdaRunnerProviderProps(RunnerProviderProps):
|
|
|
9705
10249
|
check_type(argname="argument timeout", value=timeout, expected_type=type_hints["timeout"])
|
|
9706
10250
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
9707
10251
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
10252
|
+
if default_labels is not None:
|
|
10253
|
+
self._values["default_labels"] = default_labels
|
|
9708
10254
|
if log_retention is not None:
|
|
9709
10255
|
self._values["log_retention"] = log_retention
|
|
9710
10256
|
if retry_options is not None:
|
|
9711
10257
|
self._values["retry_options"] = retry_options
|
|
9712
10258
|
if ephemeral_storage_size is not None:
|
|
9713
10259
|
self._values["ephemeral_storage_size"] = ephemeral_storage_size
|
|
10260
|
+
if group is not None:
|
|
10261
|
+
self._values["group"] = group
|
|
9714
10262
|
if image_builder is not None:
|
|
9715
10263
|
self._values["image_builder"] = image_builder
|
|
9716
10264
|
if label is not None:
|
|
@@ -9730,6 +10278,19 @@ class LambdaRunnerProviderProps(RunnerProviderProps):
|
|
|
9730
10278
|
if vpc is not None:
|
|
9731
10279
|
self._values["vpc"] = vpc
|
|
9732
10280
|
|
|
10281
|
+
@builtins.property
|
|
10282
|
+
def default_labels(self) -> typing.Optional[builtins.bool]:
|
|
10283
|
+
'''(experimental) Add default labels based on OS and architecture of the runner.
|
|
10284
|
+
|
|
10285
|
+
This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``.
|
|
10286
|
+
|
|
10287
|
+
:default: true
|
|
10288
|
+
|
|
10289
|
+
:stability: experimental
|
|
10290
|
+
'''
|
|
10291
|
+
result = self._values.get("default_labels")
|
|
10292
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
10293
|
+
|
|
9733
10294
|
@builtins.property
|
|
9734
10295
|
def log_retention(
|
|
9735
10296
|
self,
|
|
@@ -9768,6 +10329,24 @@ class LambdaRunnerProviderProps(RunnerProviderProps):
|
|
|
9768
10329
|
result = self._values.get("ephemeral_storage_size")
|
|
9769
10330
|
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Size], result)
|
|
9770
10331
|
|
|
10332
|
+
@builtins.property
|
|
10333
|
+
def group(self) -> typing.Optional[builtins.str]:
|
|
10334
|
+
'''(experimental) GitHub Actions runner group name.
|
|
10335
|
+
|
|
10336
|
+
If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It
|
|
10337
|
+
requires a paid GitHub account.
|
|
10338
|
+
|
|
10339
|
+
The group must exist or the runner will not start.
|
|
10340
|
+
|
|
10341
|
+
Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group.
|
|
10342
|
+
|
|
10343
|
+
:default: undefined
|
|
10344
|
+
|
|
10345
|
+
:stability: experimental
|
|
10346
|
+
'''
|
|
10347
|
+
result = self._values.get("group")
|
|
10348
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
10349
|
+
|
|
9771
10350
|
@builtins.property
|
|
9772
10351
|
def image_builder(self) -> typing.Optional[IRunnerImageBuilder]:
|
|
9773
10352
|
'''(experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements.
|
|
@@ -9947,8 +10526,8 @@ class RunnerImageBuilder(
|
|
|
9947
10526
|
:param id: -
|
|
9948
10527
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
9949
10528
|
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
9950
|
-
: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
|
|
9951
|
-
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}. 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
|
|
10529
|
+
: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 and Os.LINUX_UBUNTU_2204, Ubuntu 24.04 AMI for Os.LINUX_UBUNTU_2404, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
|
|
10530
|
+
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU and Os.LINUX_UBUNTU_2204, public.ecr.aws/lts/ubuntu:24.04 for Os.LINUX_UBUNTU_2404, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
9952
10531
|
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
9953
10532
|
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
9954
10533
|
:param components: (experimental) Components to install on the image. Default: none
|
|
@@ -10024,8 +10603,8 @@ class RunnerImageBuilder(
|
|
|
10024
10603
|
:param id: -
|
|
10025
10604
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
10026
10605
|
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
10027
|
-
: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
|
|
10028
|
-
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}. 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
|
|
10606
|
+
: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 and Os.LINUX_UBUNTU_2204, Ubuntu 24.04 AMI for Os.LINUX_UBUNTU_2404, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
|
|
10607
|
+
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU and Os.LINUX_UBUNTU_2204, public.ecr.aws/lts/ubuntu:24.04 for Os.LINUX_UBUNTU_2404, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
10029
10608
|
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
10030
10609
|
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
10031
10610
|
:param components: (experimental) Components to install on the image. Default: none
|
|
@@ -10159,7 +10738,7 @@ class RunnerImageBuilder(
|
|
|
10159
10738
|
if __debug__:
|
|
10160
10739
|
type_hints = typing.get_type_hints(_typecheckingstub__705c18a1eedaa490aebad511aac32a801519a57162e30be4673a8ab87ca434dc)
|
|
10161
10740
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
10162
|
-
jsii.set(self, "components", value)
|
|
10741
|
+
jsii.set(self, "components", value) # pyright: ignore[reportArgumentType]
|
|
10163
10742
|
|
|
10164
10743
|
|
|
10165
10744
|
class _RunnerImageBuilderProxy(RunnerImageBuilder):
|
|
@@ -10229,6 +10808,7 @@ class CodeBuildRunner(
|
|
|
10229
10808
|
*,
|
|
10230
10809
|
compute_type: typing.Optional[_aws_cdk_aws_codebuild_ceddda9d.ComputeType] = None,
|
|
10231
10810
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
10811
|
+
group: typing.Optional[builtins.str] = None,
|
|
10232
10812
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
10233
10813
|
label: typing.Optional[builtins.str] = None,
|
|
10234
10814
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -10237,6 +10817,7 @@ class CodeBuildRunner(
|
|
|
10237
10817
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10238
10818
|
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
10239
10819
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
10820
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
10240
10821
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
10241
10822
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10242
10823
|
) -> None:
|
|
@@ -10245,6 +10826,7 @@ class CodeBuildRunner(
|
|
|
10245
10826
|
:param id: -
|
|
10246
10827
|
:param compute_type: (experimental) The type of compute to use for this build. See the {@link ComputeType} enum for the possible values. Default: {@link ComputeType#SMALL }
|
|
10247
10828
|
:param docker_in_docker: (experimental) Support building and running Docker images by enabling Docker-in-Docker (dind) and the required CodeBuild privileged mode. Disabling this can speed up provisioning of CodeBuild runners. If you don't intend on running or building Docker images, disable this for faster start-up times. Default: true
|
|
10829
|
+
:param group: (experimental) GitHub Actions runner group name. If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It requires a paid GitHub account. The group must exist or the runner will not start. Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group. Default: undefined
|
|
10248
10830
|
:param image_builder: (experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements. The image builder must contain the {@link RunnerImageComponent.docker} component unless ``dockerInDocker`` is set to false. The image builder determines the OS and architecture of the runner. Default: CodeBuildRunnerProvider.imageBuilder()
|
|
10249
10831
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
10250
10832
|
:param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['codebuild']
|
|
@@ -10253,6 +10835,7 @@ class CodeBuildRunner(
|
|
|
10253
10835
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
10254
10836
|
:param timeout: (experimental) The number of minutes after which AWS CodeBuild stops the build if it's not complete. For valid values, see the timeoutInMinutes field in the AWS CodeBuild User Guide. Default: Duration.hours(1)
|
|
10255
10837
|
:param vpc: (experimental) VPC to launch the runners in. Default: no VPC
|
|
10838
|
+
:param default_labels: (experimental) Add default labels based on OS and architecture of the runner. This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``. Default: true
|
|
10256
10839
|
: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
|
|
10257
10840
|
:param retry_options:
|
|
10258
10841
|
|
|
@@ -10265,6 +10848,7 @@ class CodeBuildRunner(
|
|
|
10265
10848
|
props = CodeBuildRunnerProviderProps(
|
|
10266
10849
|
compute_type=compute_type,
|
|
10267
10850
|
docker_in_docker=docker_in_docker,
|
|
10851
|
+
group=group,
|
|
10268
10852
|
image_builder=image_builder,
|
|
10269
10853
|
label=label,
|
|
10270
10854
|
labels=labels,
|
|
@@ -10273,6 +10857,7 @@ class CodeBuildRunner(
|
|
|
10273
10857
|
subnet_selection=subnet_selection,
|
|
10274
10858
|
timeout=timeout,
|
|
10275
10859
|
vpc=vpc,
|
|
10860
|
+
default_labels=default_labels,
|
|
10276
10861
|
log_retention=log_retention,
|
|
10277
10862
|
retry_options=retry_options,
|
|
10278
10863
|
)
|
|
@@ -10297,6 +10882,7 @@ class Ec2Runner(
|
|
|
10297
10882
|
id: builtins.str,
|
|
10298
10883
|
*,
|
|
10299
10884
|
ami_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
10885
|
+
group: typing.Optional[builtins.str] = None,
|
|
10300
10886
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
10301
10887
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
10302
10888
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -10304,10 +10890,12 @@ class Ec2Runner(
|
|
|
10304
10890
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
10305
10891
|
spot: typing.Optional[builtins.bool] = None,
|
|
10306
10892
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
10893
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10307
10894
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
10308
10895
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
10309
10896
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10310
10897
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
10898
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
10311
10899
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
10312
10900
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10313
10901
|
) -> None:
|
|
@@ -10315,17 +10903,20 @@ class Ec2Runner(
|
|
|
10315
10903
|
:param scope: -
|
|
10316
10904
|
:param id: -
|
|
10317
10905
|
:param ami_builder:
|
|
10906
|
+
:param group: (experimental) GitHub Actions runner group name. If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It requires a paid GitHub account. The group must exist or the runner will not start. Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group. Default: undefined
|
|
10318
10907
|
:param image_builder: (experimental) Runner image builder used to build AMI containing GitHub Runner and all requirements. The image builder determines the OS and architecture of the runner. Default: Ec2RunnerProvider.imageBuilder()
|
|
10319
|
-
:param instance_type: (experimental) Instance type for launched runner instances. Default:
|
|
10908
|
+
:param instance_type: (experimental) Instance type for launched runner instances. Default: m6i.large
|
|
10320
10909
|
:param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['ec2']
|
|
10321
10910
|
:param security_group: (deprecated) Security Group to assign to launched runner instances. Default: a new security group
|
|
10322
10911
|
:param security_groups: (experimental) Security groups to assign to launched runner instances. Default: a new security group
|
|
10323
10912
|
:param spot: (experimental) Use spot instances to save money. Spot instances are cheaper but not always available and can be stopped prematurely. Default: false
|
|
10324
10913
|
:param spot_max_price: (experimental) Set a maximum price for spot instances. Default: no max price (you will pay current spot price)
|
|
10914
|
+
:param storage_options: (experimental) Options for runner instance storage volume.
|
|
10325
10915
|
:param storage_size: (experimental) Size of volume available for launched runner instances. This modifies the boot volume size and doesn't add any additional volumes. Default: 30GB
|
|
10326
10916
|
:param subnet: (deprecated) Subnet where the runner instances will be launched. Default: default subnet of account's default VPC
|
|
10327
10917
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Only the first matched subnet will be used. Default: default VPC subnet
|
|
10328
10918
|
:param vpc: (experimental) VPC where runner instances will be launched. Default: default account VPC
|
|
10919
|
+
:param default_labels: (experimental) Add default labels based on OS and architecture of the runner. This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``. Default: true
|
|
10329
10920
|
: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
|
|
10330
10921
|
:param retry_options:
|
|
10331
10922
|
|
|
@@ -10337,6 +10928,7 @@ class Ec2Runner(
|
|
|
10337
10928
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
10338
10929
|
props = Ec2RunnerProviderProps(
|
|
10339
10930
|
ami_builder=ami_builder,
|
|
10931
|
+
group=group,
|
|
10340
10932
|
image_builder=image_builder,
|
|
10341
10933
|
instance_type=instance_type,
|
|
10342
10934
|
labels=labels,
|
|
@@ -10344,10 +10936,12 @@ class Ec2Runner(
|
|
|
10344
10936
|
security_groups=security_groups,
|
|
10345
10937
|
spot=spot,
|
|
10346
10938
|
spot_max_price=spot_max_price,
|
|
10939
|
+
storage_options=storage_options,
|
|
10347
10940
|
storage_size=storage_size,
|
|
10348
10941
|
subnet=subnet,
|
|
10349
10942
|
subnet_selection=subnet_selection,
|
|
10350
10943
|
vpc=vpc,
|
|
10944
|
+
default_labels=default_labels,
|
|
10351
10945
|
log_retention=log_retention,
|
|
10352
10946
|
retry_options=retry_options,
|
|
10353
10947
|
)
|
|
@@ -10375,6 +10969,7 @@ class FargateRunner(
|
|
|
10375
10969
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
10376
10970
|
cpu: typing.Optional[jsii.Number] = None,
|
|
10377
10971
|
ephemeral_storage_gib: typing.Optional[jsii.Number] = None,
|
|
10972
|
+
group: typing.Optional[builtins.str] = None,
|
|
10378
10973
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
10379
10974
|
label: typing.Optional[builtins.str] = None,
|
|
10380
10975
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -10384,6 +10979,7 @@ class FargateRunner(
|
|
|
10384
10979
|
spot: typing.Optional[builtins.bool] = None,
|
|
10385
10980
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10386
10981
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
10982
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
10387
10983
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
10388
10984
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10389
10985
|
) -> None:
|
|
@@ -10394,6 +10990,7 @@ class FargateRunner(
|
|
|
10394
10990
|
:param cluster: (experimental) Existing Fargate cluster to use. Default: a new cluster
|
|
10395
10991
|
:param cpu: (experimental) The number of cpu units used by the task. For tasks using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the memory parameter: 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) Default: 1024
|
|
10396
10992
|
:param ephemeral_storage_gib: (experimental) The amount (in GiB) of ephemeral storage to be allocated to the task. The maximum supported value is 200 GiB. NOTE: This parameter is only supported for tasks hosted on AWS Fargate using platform version 1.4.0 or later. Default: 20
|
|
10993
|
+
:param group: (experimental) GitHub Actions runner group name. If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It requires a paid GitHub account. The group must exist or the runner will not start. Users will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group. Default: undefined
|
|
10397
10994
|
:param image_builder: (experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements. The image builder determines the OS and architecture of the runner. Default: FargateRunnerProvider.imageBuilder()
|
|
10398
10995
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
10399
10996
|
:param labels: (experimental) GitHub Actions labels used for this provider. These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the job's labels, this provider will be chosen and spawn a new runner. Default: ['fargate']
|
|
@@ -10403,6 +11000,7 @@ class FargateRunner(
|
|
|
10403
11000
|
:param spot: (experimental) Use Fargate spot capacity provider to save money. - Runners may fail to start due to missing capacity. - Runners might be stopped prematurely with spot pricing. Default: false
|
|
10404
11001
|
:param subnet_selection: (experimental) Subnets to run the runners in. Default: Fargate default
|
|
10405
11002
|
:param vpc: (experimental) VPC to launch the runners in. Default: default account VPC
|
|
11003
|
+
:param default_labels: (experimental) Add default labels based on OS and architecture of the runner. This will tell GitHub Runner to add default labels like ``self-hosted``, ``linux``, ``x64``, and ``arm64``. Default: true
|
|
10406
11004
|
: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
|
|
10407
11005
|
:param retry_options:
|
|
10408
11006
|
|
|
@@ -10417,6 +11015,7 @@ class FargateRunner(
|
|
|
10417
11015
|
cluster=cluster,
|
|
10418
11016
|
cpu=cpu,
|
|
10419
11017
|
ephemeral_storage_gib=ephemeral_storage_gib,
|
|
11018
|
+
group=group,
|
|
10420
11019
|
image_builder=image_builder,
|
|
10421
11020
|
label=label,
|
|
10422
11021
|
labels=labels,
|
|
@@ -10426,6 +11025,7 @@ class FargateRunner(
|
|
|
10426
11025
|
spot=spot,
|
|
10427
11026
|
subnet_selection=subnet_selection,
|
|
10428
11027
|
vpc=vpc,
|
|
11028
|
+
default_labels=default_labels,
|
|
10429
11029
|
log_retention=log_retention,
|
|
10430
11030
|
retry_options=retry_options,
|
|
10431
11031
|
)
|
|
@@ -10488,6 +11088,7 @@ __all__ = [
|
|
|
10488
11088
|
"RunnerVersion",
|
|
10489
11089
|
"Secrets",
|
|
10490
11090
|
"StaticRunnerImage",
|
|
11091
|
+
"StorageOptions",
|
|
10491
11092
|
"WindowsComponents",
|
|
10492
11093
|
]
|
|
10493
11094
|
|
|
@@ -10543,6 +11144,7 @@ def _typecheckingstub__fe17585d38b67015c3f03db2aefab095f171e0e0900c9a4564679bbc5
|
|
|
10543
11144
|
*,
|
|
10544
11145
|
fast_launch_options: typing.Optional[typing.Union[FastLaunchOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10545
11146
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
11147
|
+
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
10546
11148
|
) -> None:
|
|
10547
11149
|
"""Type checking stubs"""
|
|
10548
11150
|
pass
|
|
@@ -10724,6 +11326,7 @@ def _typecheckingstub__637ac3a7237f114ea2a9842f95653a0d13444cd4da7a4dfe9330fdb98
|
|
|
10724
11326
|
id: builtins.str,
|
|
10725
11327
|
*,
|
|
10726
11328
|
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
11329
|
+
group: typing.Optional[builtins.str] = None,
|
|
10727
11330
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
10728
11331
|
label: typing.Optional[builtins.str] = None,
|
|
10729
11332
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -10733,6 +11336,7 @@ def _typecheckingstub__637ac3a7237f114ea2a9842f95653a0d13444cd4da7a4dfe9330fdb98
|
|
|
10733
11336
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10734
11337
|
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
10735
11338
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
11339
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
10736
11340
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
10737
11341
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10738
11342
|
) -> None:
|
|
@@ -10994,6 +11598,7 @@ def _typecheckingstub__6fe5c2d2437d742085479f02259513b739e15d569c2f5b87bf0244bf4
|
|
|
10994
11598
|
|
|
10995
11599
|
def _typecheckingstub__faa1323116edff475c54eafc82f7af57dd73527c022a54b6210c5a490a80a1d3(
|
|
10996
11600
|
*,
|
|
11601
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
10997
11602
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
10998
11603
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10999
11604
|
) -> None:
|
|
@@ -11056,6 +11661,15 @@ def _typecheckingstub__f48d8ecb3f18c1471b45f7dfd8f15c51227e04697959138092d72a915
|
|
|
11056
11661
|
"""Type checking stubs"""
|
|
11057
11662
|
pass
|
|
11058
11663
|
|
|
11664
|
+
def _typecheckingstub__ec3b766929d3a048d89c7dc502f77bbbfc7357735093ebc66695a13b92f9bf82(
|
|
11665
|
+
*,
|
|
11666
|
+
iops: typing.Optional[jsii.Number] = None,
|
|
11667
|
+
throughput: typing.Optional[jsii.Number] = None,
|
|
11668
|
+
volume_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.EbsDeviceVolumeType] = None,
|
|
11669
|
+
) -> None:
|
|
11670
|
+
"""Type checking stubs"""
|
|
11671
|
+
pass
|
|
11672
|
+
|
|
11059
11673
|
def _typecheckingstub__0c68c27f668327e6aeb3b0e5b7e88235ae547046edeb1fa6a808b729a31b7bd2(
|
|
11060
11674
|
scope: _constructs_77d1e7e8.Construct,
|
|
11061
11675
|
id: builtins.str,
|
|
@@ -11248,6 +11862,7 @@ def _typecheckingstub__bb924a0cf987a9f87f4ad0ebd952c61ebd4e02d7d83501b9600f14157
|
|
|
11248
11862
|
*,
|
|
11249
11863
|
compute_type: typing.Optional[_aws_cdk_aws_codebuild_ceddda9d.ComputeType] = None,
|
|
11250
11864
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
11865
|
+
group: typing.Optional[builtins.str] = None,
|
|
11251
11866
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11252
11867
|
label: typing.Optional[builtins.str] = None,
|
|
11253
11868
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11256,6 +11871,7 @@ def _typecheckingstub__bb924a0cf987a9f87f4ad0ebd952c61ebd4e02d7d83501b9600f14157
|
|
|
11256
11871
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11257
11872
|
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
11258
11873
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
11874
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11259
11875
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11260
11876
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11261
11877
|
) -> None:
|
|
@@ -11309,10 +11925,12 @@ def _typecheckingstub__6969b9c3ab349e4eada340b71bb6e985c199a88642a6d68289cc42ad9
|
|
|
11309
11925
|
|
|
11310
11926
|
def _typecheckingstub__9377dcf4cd4dae74730635bdaf02246acb473843cea2856cf9a64295df964eb6(
|
|
11311
11927
|
*,
|
|
11928
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11312
11929
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11313
11930
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11314
11931
|
compute_type: typing.Optional[_aws_cdk_aws_codebuild_ceddda9d.ComputeType] = None,
|
|
11315
11932
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
11933
|
+
group: typing.Optional[builtins.str] = None,
|
|
11316
11934
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11317
11935
|
label: typing.Optional[builtins.str] = None,
|
|
11318
11936
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11406,6 +12024,7 @@ def _typecheckingstub__fd3f279069067627058d9a5818aab030be5ffd71ce03962b4fd7cdd85
|
|
|
11406
12024
|
id: builtins.str,
|
|
11407
12025
|
*,
|
|
11408
12026
|
ami_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
12027
|
+
group: typing.Optional[builtins.str] = None,
|
|
11409
12028
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11410
12029
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
11411
12030
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11413,10 +12032,12 @@ def _typecheckingstub__fd3f279069067627058d9a5818aab030be5ffd71ce03962b4fd7cdd85
|
|
|
11413
12032
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11414
12033
|
spot: typing.Optional[builtins.bool] = None,
|
|
11415
12034
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
12035
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11416
12036
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
11417
12037
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
11418
12038
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11419
12039
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12040
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11420
12041
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11421
12042
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11422
12043
|
) -> None:
|
|
@@ -11470,9 +12091,11 @@ def _typecheckingstub__f493efe2a09a1094bf977e7690b481a2257fb28bdf86de99ba09b0eb0
|
|
|
11470
12091
|
|
|
11471
12092
|
def _typecheckingstub__b650c4bf7f2a31b514d6f1f9e0c1b4b2cdae8b20b6f209f5b5fc74ef418fc2a3(
|
|
11472
12093
|
*,
|
|
12094
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11473
12095
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11474
12096
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11475
12097
|
ami_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
12098
|
+
group: typing.Optional[builtins.str] = None,
|
|
11476
12099
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11477
12100
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
11478
12101
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11480,6 +12103,7 @@ def _typecheckingstub__b650c4bf7f2a31b514d6f1f9e0c1b4b2cdae8b20b6f209f5b5fc74ef4
|
|
|
11480
12103
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11481
12104
|
spot: typing.Optional[builtins.bool] = None,
|
|
11482
12105
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
12106
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11483
12107
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
11484
12108
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
11485
12109
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -11497,6 +12121,7 @@ def _typecheckingstub__c520325dd0289bf8c6670ecdce77df4b229a0a2681957e61665818d2f
|
|
|
11497
12121
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
11498
12122
|
cpu: typing.Optional[jsii.Number] = None,
|
|
11499
12123
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
12124
|
+
group: typing.Optional[builtins.str] = None,
|
|
11500
12125
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11501
12126
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
11502
12127
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11504,12 +12129,16 @@ def _typecheckingstub__c520325dd0289bf8c6670ecdce77df4b229a0a2681957e61665818d2f
|
|
|
11504
12129
|
memory_limit_mib: typing.Optional[jsii.Number] = None,
|
|
11505
12130
|
memory_reservation_mib: typing.Optional[jsii.Number] = None,
|
|
11506
12131
|
min_instances: typing.Optional[jsii.Number] = None,
|
|
12132
|
+
placement_constraints: typing.Optional[typing.Sequence[_aws_cdk_aws_ecs_ceddda9d.PlacementConstraint]] = None,
|
|
12133
|
+
placement_strategies: typing.Optional[typing.Sequence[_aws_cdk_aws_ecs_ceddda9d.PlacementStrategy]] = None,
|
|
11507
12134
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11508
12135
|
spot: typing.Optional[builtins.bool] = None,
|
|
11509
12136
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
12137
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11510
12138
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
11511
12139
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11512
12140
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12141
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11513
12142
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11514
12143
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11515
12144
|
) -> None:
|
|
@@ -11563,6 +12192,7 @@ def _typecheckingstub__e7ecb1269ac1102589a8eb3fdd808b1c194dffc5acfa36b649506b72c
|
|
|
11563
12192
|
|
|
11564
12193
|
def _typecheckingstub__73c1978e12dcea1bd69ce0927a80bd887d7f7d1b6573831942495e9d5966b483(
|
|
11565
12194
|
*,
|
|
12195
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11566
12196
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11567
12197
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11568
12198
|
assign_public_ip: typing.Optional[builtins.bool] = None,
|
|
@@ -11570,6 +12200,7 @@ def _typecheckingstub__73c1978e12dcea1bd69ce0927a80bd887d7f7d1b6573831942495e9d5
|
|
|
11570
12200
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
11571
12201
|
cpu: typing.Optional[jsii.Number] = None,
|
|
11572
12202
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
12203
|
+
group: typing.Optional[builtins.str] = None,
|
|
11573
12204
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11574
12205
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
11575
12206
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11577,9 +12208,12 @@ def _typecheckingstub__73c1978e12dcea1bd69ce0927a80bd887d7f7d1b6573831942495e9d5
|
|
|
11577
12208
|
memory_limit_mib: typing.Optional[jsii.Number] = None,
|
|
11578
12209
|
memory_reservation_mib: typing.Optional[jsii.Number] = None,
|
|
11579
12210
|
min_instances: typing.Optional[jsii.Number] = None,
|
|
12211
|
+
placement_constraints: typing.Optional[typing.Sequence[_aws_cdk_aws_ecs_ceddda9d.PlacementConstraint]] = None,
|
|
12212
|
+
placement_strategies: typing.Optional[typing.Sequence[_aws_cdk_aws_ecs_ceddda9d.PlacementStrategy]] = None,
|
|
11580
12213
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11581
12214
|
spot: typing.Optional[builtins.bool] = None,
|
|
11582
12215
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
12216
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11583
12217
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
11584
12218
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11585
12219
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
@@ -11595,6 +12229,7 @@ def _typecheckingstub__f7098876c10584a4cc58e16d23fd86ffe1fc50f2b55ca60549136d051
|
|
|
11595
12229
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
11596
12230
|
cpu: typing.Optional[jsii.Number] = None,
|
|
11597
12231
|
ephemeral_storage_gib: typing.Optional[jsii.Number] = None,
|
|
12232
|
+
group: typing.Optional[builtins.str] = None,
|
|
11598
12233
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11599
12234
|
label: typing.Optional[builtins.str] = None,
|
|
11600
12235
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11604,6 +12239,7 @@ def _typecheckingstub__f7098876c10584a4cc58e16d23fd86ffe1fc50f2b55ca60549136d051
|
|
|
11604
12239
|
spot: typing.Optional[builtins.bool] = None,
|
|
11605
12240
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11606
12241
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12242
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11607
12243
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11608
12244
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11609
12245
|
) -> None:
|
|
@@ -11657,12 +12293,14 @@ def _typecheckingstub__9c62078db683958716a7ad86909a8b9b4dce462def398eb03faf0dc61
|
|
|
11657
12293
|
|
|
11658
12294
|
def _typecheckingstub__26cdeb87df1adf5c49e0f9c1c061c7138af674da9af221212e1505fc1193583d(
|
|
11659
12295
|
*,
|
|
12296
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11660
12297
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11661
12298
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11662
12299
|
assign_public_ip: typing.Optional[builtins.bool] = None,
|
|
11663
12300
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
11664
12301
|
cpu: typing.Optional[jsii.Number] = None,
|
|
11665
12302
|
ephemeral_storage_gib: typing.Optional[jsii.Number] = None,
|
|
12303
|
+
group: typing.Optional[builtins.str] = None,
|
|
11666
12304
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11667
12305
|
label: typing.Optional[builtins.str] = None,
|
|
11668
12306
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11693,6 +12331,7 @@ def _typecheckingstub__80e9b84ecba02bdef856d3ee3f48a5e0a5e58ad813554fd529c0abe3a
|
|
|
11693
12331
|
id: builtins.str,
|
|
11694
12332
|
*,
|
|
11695
12333
|
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
12334
|
+
group: typing.Optional[builtins.str] = None,
|
|
11696
12335
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11697
12336
|
label: typing.Optional[builtins.str] = None,
|
|
11698
12337
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11702,6 +12341,7 @@ def _typecheckingstub__80e9b84ecba02bdef856d3ee3f48a5e0a5e58ad813554fd529c0abe3a
|
|
|
11702
12341
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11703
12342
|
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
11704
12343
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12344
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11705
12345
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11706
12346
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11707
12347
|
) -> None:
|
|
@@ -11710,9 +12350,11 @@ def _typecheckingstub__80e9b84ecba02bdef856d3ee3f48a5e0a5e58ad813554fd529c0abe3a
|
|
|
11710
12350
|
|
|
11711
12351
|
def _typecheckingstub__45a4a92b817689da2d55675d278ad5c96699269cc41f3406b7fca6d7a7664861(
|
|
11712
12352
|
*,
|
|
12353
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11713
12354
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11714
12355
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11715
12356
|
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
12357
|
+
group: typing.Optional[builtins.str] = None,
|
|
11716
12358
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11717
12359
|
label: typing.Optional[builtins.str] = None,
|
|
11718
12360
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11800,6 +12442,7 @@ def _typecheckingstub__1ab9454b0ecfcd12fc0ab07c0f0f4d7ce646a5a928f5e14092b0a6c42
|
|
|
11800
12442
|
*,
|
|
11801
12443
|
compute_type: typing.Optional[_aws_cdk_aws_codebuild_ceddda9d.ComputeType] = None,
|
|
11802
12444
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
12445
|
+
group: typing.Optional[builtins.str] = None,
|
|
11803
12446
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11804
12447
|
label: typing.Optional[builtins.str] = None,
|
|
11805
12448
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11808,6 +12451,7 @@ def _typecheckingstub__1ab9454b0ecfcd12fc0ab07c0f0f4d7ce646a5a928f5e14092b0a6c42
|
|
|
11808
12451
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11809
12452
|
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
11810
12453
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12454
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11811
12455
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11812
12456
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11813
12457
|
) -> None:
|
|
@@ -11819,6 +12463,7 @@ def _typecheckingstub__a0a6acc584ae2ad3aed3605810cea44858f1a0bc22f62f2df9005b318
|
|
|
11819
12463
|
id: builtins.str,
|
|
11820
12464
|
*,
|
|
11821
12465
|
ami_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
12466
|
+
group: typing.Optional[builtins.str] = None,
|
|
11822
12467
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11823
12468
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
11824
12469
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11826,10 +12471,12 @@ def _typecheckingstub__a0a6acc584ae2ad3aed3605810cea44858f1a0bc22f62f2df9005b318
|
|
|
11826
12471
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11827
12472
|
spot: typing.Optional[builtins.bool] = None,
|
|
11828
12473
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
12474
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11829
12475
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
11830
12476
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
11831
12477
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11832
12478
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12479
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11833
12480
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11834
12481
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11835
12482
|
) -> None:
|
|
@@ -11844,6 +12491,7 @@ def _typecheckingstub__e507aa08f983fcd409ec9cf4ba5e0e6312ce72778cbbb2f9b5b016fde
|
|
|
11844
12491
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
11845
12492
|
cpu: typing.Optional[jsii.Number] = None,
|
|
11846
12493
|
ephemeral_storage_gib: typing.Optional[jsii.Number] = None,
|
|
12494
|
+
group: typing.Optional[builtins.str] = None,
|
|
11847
12495
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11848
12496
|
label: typing.Optional[builtins.str] = None,
|
|
11849
12497
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11853,8 +12501,12 @@ def _typecheckingstub__e507aa08f983fcd409ec9cf4ba5e0e6312ce72778cbbb2f9b5b016fde
|
|
|
11853
12501
|
spot: typing.Optional[builtins.bool] = None,
|
|
11854
12502
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11855
12503
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12504
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11856
12505
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11857
12506
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11858
12507
|
) -> None:
|
|
11859
12508
|
"""Type checking stubs"""
|
|
11860
12509
|
pass
|
|
12510
|
+
|
|
12511
|
+
for cls in [IConfigurableRunnerImageBuilder, IRunnerAmiStatus, IRunnerImageBuilder, IRunnerImageStatus, IRunnerProvider, IRunnerProviderStatus]:
|
|
12512
|
+
typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])
|