cloudsnorkel.cdk-github-runners 0.12.0__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 +980 -61
- cloudsnorkel/cdk_github_runners/_jsii/__init__.py +21 -3
- cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.15.jsii.tgz +0 -0
- {cloudsnorkel.cdk_github_runners-0.12.0.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.12.0.dist-info → cloudsnorkel_cdk_github_runners-0.14.15.dist-info}/WHEEL +1 -1
- cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.12.0.jsii.tgz +0 -0
- cloudsnorkel.cdk_github_runners-0.12.0.dist-info/RECORD +0 -9
- {cloudsnorkel.cdk_github_runners-0.12.0.dist-info → cloudsnorkel_cdk_github_runners-0.14.15.dist-info}/LICENSE +0 -0
- {cloudsnorkel.cdk_github_runners-0.12.0.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
|
|
155
|
+
|
|
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{})
|
|
135
166
|
|
|
136
|
-
|
|
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,11 +374,28 @@ 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
|
|
329
394
|
2. [actions/actions-runner-controller](https://github.com/actions/actions-runner-controller) if you're using Kubernetes
|
|
330
395
|
'''
|
|
396
|
+
from pkgutil import extend_path
|
|
397
|
+
__path__ = extend_path(__path__, __name__)
|
|
398
|
+
|
|
331
399
|
import abc
|
|
332
400
|
import builtins
|
|
333
401
|
import datetime
|
|
@@ -338,7 +406,22 @@ import jsii
|
|
|
338
406
|
import publication
|
|
339
407
|
import typing_extensions
|
|
340
408
|
|
|
341
|
-
|
|
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
|
|
342
425
|
|
|
343
426
|
from ._jsii import *
|
|
344
427
|
|
|
@@ -398,7 +481,7 @@ class AmiBuilderProps:
|
|
|
398
481
|
|
|
399
482
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
400
483
|
:param install_docker: (experimental) Install Docker inside the image, so it can be used by the runner. Default: true
|
|
401
|
-
: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
|
|
402
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
|
|
403
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
|
|
404
487
|
:param os: (experimental) Image OS. Default: OS.LINUX
|
|
@@ -479,7 +562,7 @@ class AmiBuilderProps:
|
|
|
479
562
|
def instance_type(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType]:
|
|
480
563
|
'''(experimental) The instance type used to build the image.
|
|
481
564
|
|
|
482
|
-
:default:
|
|
565
|
+
:default: m6i.large
|
|
483
566
|
|
|
484
567
|
:stability: experimental
|
|
485
568
|
'''
|
|
@@ -809,37 +892,79 @@ class Architecture(
|
|
|
809
892
|
@jsii.data_type(
|
|
810
893
|
jsii_type="@cloudsnorkel/cdk-github-runners.AwsImageBuilderRunnerImageBuilderProps",
|
|
811
894
|
jsii_struct_bases=[],
|
|
812
|
-
name_mapping={
|
|
895
|
+
name_mapping={
|
|
896
|
+
"fast_launch_options": "fastLaunchOptions",
|
|
897
|
+
"instance_type": "instanceType",
|
|
898
|
+
"storage_size": "storageSize",
|
|
899
|
+
},
|
|
813
900
|
)
|
|
814
901
|
class AwsImageBuilderRunnerImageBuilderProps:
|
|
815
902
|
def __init__(
|
|
816
903
|
self,
|
|
817
904
|
*,
|
|
905
|
+
fast_launch_options: typing.Optional[typing.Union["FastLaunchOptions", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
818
906
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
907
|
+
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
819
908
|
) -> None:
|
|
820
909
|
'''
|
|
821
|
-
:param
|
|
910
|
+
:param fast_launch_options: (experimental) Options for fast launch. This is only supported for Windows AMIs. Default: disabled
|
|
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)
|
|
822
913
|
|
|
823
914
|
:stability: experimental
|
|
824
915
|
'''
|
|
916
|
+
if isinstance(fast_launch_options, dict):
|
|
917
|
+
fast_launch_options = FastLaunchOptions(**fast_launch_options)
|
|
825
918
|
if __debug__:
|
|
826
919
|
type_hints = typing.get_type_hints(_typecheckingstub__fe17585d38b67015c3f03db2aefab095f171e0e0900c9a4564679bbc5a29fd07)
|
|
920
|
+
check_type(argname="argument fast_launch_options", value=fast_launch_options, expected_type=type_hints["fast_launch_options"])
|
|
827
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"])
|
|
828
923
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
924
|
+
if fast_launch_options is not None:
|
|
925
|
+
self._values["fast_launch_options"] = fast_launch_options
|
|
829
926
|
if instance_type is not None:
|
|
830
927
|
self._values["instance_type"] = instance_type
|
|
928
|
+
if storage_size is not None:
|
|
929
|
+
self._values["storage_size"] = storage_size
|
|
930
|
+
|
|
931
|
+
@builtins.property
|
|
932
|
+
def fast_launch_options(self) -> typing.Optional["FastLaunchOptions"]:
|
|
933
|
+
'''(experimental) Options for fast launch.
|
|
934
|
+
|
|
935
|
+
This is only supported for Windows AMIs.
|
|
936
|
+
|
|
937
|
+
:default: disabled
|
|
938
|
+
|
|
939
|
+
:stability: experimental
|
|
940
|
+
'''
|
|
941
|
+
result = self._values.get("fast_launch_options")
|
|
942
|
+
return typing.cast(typing.Optional["FastLaunchOptions"], result)
|
|
831
943
|
|
|
832
944
|
@builtins.property
|
|
833
945
|
def instance_type(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType]:
|
|
834
946
|
'''(experimental) The instance type used to build the image.
|
|
835
947
|
|
|
836
|
-
:default:
|
|
948
|
+
:default: m6i.large
|
|
837
949
|
|
|
838
950
|
:stability: experimental
|
|
839
951
|
'''
|
|
840
952
|
result = self._values.get("instance_type")
|
|
841
953
|
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType], result)
|
|
842
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
|
+
|
|
843
968
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
844
969
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
845
970
|
|
|
@@ -1157,7 +1282,7 @@ class CodeBuildRunnerImageBuilderProps:
|
|
|
1157
1282
|
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
1158
1283
|
) -> None:
|
|
1159
1284
|
'''
|
|
1160
|
-
:param build_image: (experimental) Build image to use in CodeBuild. This is the image that's going to run the code that builds the runner image. The only action taken in CodeBuild is running ``docker build``. You would therefore not need to change this setting often. Default:
|
|
1285
|
+
:param build_image: (experimental) Build image to use in CodeBuild. This is the image that's going to run the code that builds the runner image. The only action taken in CodeBuild is running ``docker build``. You would therefore not need to change this setting often. Default: Amazon Linux 2023
|
|
1161
1286
|
: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 }
|
|
1162
1287
|
: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)
|
|
1163
1288
|
|
|
@@ -1186,7 +1311,7 @@ class CodeBuildRunnerImageBuilderProps:
|
|
|
1186
1311
|
|
|
1187
1312
|
The only action taken in CodeBuild is running ``docker build``. You would therefore not need to change this setting often.
|
|
1188
1313
|
|
|
1189
|
-
:default:
|
|
1314
|
+
:default: Amazon Linux 2023
|
|
1190
1315
|
|
|
1191
1316
|
:stability: experimental
|
|
1192
1317
|
'''
|
|
@@ -1272,7 +1397,7 @@ class ContainerImageBuilderProps:
|
|
|
1272
1397
|
'''(experimental) Properties for ContainerImageBuilder construct.
|
|
1273
1398
|
|
|
1274
1399
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
1275
|
-
: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
|
|
1276
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
|
|
1277
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
|
|
1278
1403
|
:param os: (experimental) Image OS. Default: OS.LINUX
|
|
@@ -1343,7 +1468,7 @@ class ContainerImageBuilderProps:
|
|
|
1343
1468
|
def instance_type(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType]:
|
|
1344
1469
|
'''(experimental) The instance type used to build the image.
|
|
1345
1470
|
|
|
1346
|
-
:default:
|
|
1471
|
+
:default: m6i.large
|
|
1347
1472
|
|
|
1348
1473
|
:stability: experimental
|
|
1349
1474
|
'''
|
|
@@ -1496,6 +1621,96 @@ class ContainerImageBuilderProps:
|
|
|
1496
1621
|
)
|
|
1497
1622
|
|
|
1498
1623
|
|
|
1624
|
+
@jsii.data_type(
|
|
1625
|
+
jsii_type="@cloudsnorkel/cdk-github-runners.FastLaunchOptions",
|
|
1626
|
+
jsii_struct_bases=[],
|
|
1627
|
+
name_mapping={
|
|
1628
|
+
"enabled": "enabled",
|
|
1629
|
+
"max_parallel_launches": "maxParallelLaunches",
|
|
1630
|
+
"target_resource_count": "targetResourceCount",
|
|
1631
|
+
},
|
|
1632
|
+
)
|
|
1633
|
+
class FastLaunchOptions:
|
|
1634
|
+
def __init__(
|
|
1635
|
+
self,
|
|
1636
|
+
*,
|
|
1637
|
+
enabled: typing.Optional[builtins.bool] = None,
|
|
1638
|
+
max_parallel_launches: typing.Optional[jsii.Number] = None,
|
|
1639
|
+
target_resource_count: typing.Optional[jsii.Number] = None,
|
|
1640
|
+
) -> None:
|
|
1641
|
+
'''(experimental) Options for fast launch.
|
|
1642
|
+
|
|
1643
|
+
:param enabled: (experimental) Enable fast launch for AMIs generated by this builder. It creates a snapshot of the root volume and uses it to launch new instances faster. This is only supported for Windows AMIs. Default: false
|
|
1644
|
+
:param max_parallel_launches: (experimental) The maximum number of parallel instances that are launched for creating resources. Must be at least 6. Default: 6
|
|
1645
|
+
:param target_resource_count: (experimental) The number of pre-provisioned snapshots to keep on hand for a fast-launch enabled Windows AMI. Default: 1
|
|
1646
|
+
|
|
1647
|
+
:stability: experimental
|
|
1648
|
+
'''
|
|
1649
|
+
if __debug__:
|
|
1650
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d2952ae322a0fd40b480084b183be9e7179337af84efb30a496aa331a22fa562)
|
|
1651
|
+
check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
|
|
1652
|
+
check_type(argname="argument max_parallel_launches", value=max_parallel_launches, expected_type=type_hints["max_parallel_launches"])
|
|
1653
|
+
check_type(argname="argument target_resource_count", value=target_resource_count, expected_type=type_hints["target_resource_count"])
|
|
1654
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
1655
|
+
if enabled is not None:
|
|
1656
|
+
self._values["enabled"] = enabled
|
|
1657
|
+
if max_parallel_launches is not None:
|
|
1658
|
+
self._values["max_parallel_launches"] = max_parallel_launches
|
|
1659
|
+
if target_resource_count is not None:
|
|
1660
|
+
self._values["target_resource_count"] = target_resource_count
|
|
1661
|
+
|
|
1662
|
+
@builtins.property
|
|
1663
|
+
def enabled(self) -> typing.Optional[builtins.bool]:
|
|
1664
|
+
'''(experimental) Enable fast launch for AMIs generated by this builder.
|
|
1665
|
+
|
|
1666
|
+
It creates a snapshot of the root volume and uses it to launch new instances faster.
|
|
1667
|
+
|
|
1668
|
+
This is only supported for Windows AMIs.
|
|
1669
|
+
|
|
1670
|
+
:default: false
|
|
1671
|
+
|
|
1672
|
+
:stability: experimental
|
|
1673
|
+
:note: enabling fast launch on an existing builder will not enable it for existing AMIs. It will only affect new AMIs. If you want immediate effect, trigger a new image build. Alternatively, you can create a new builder with fast launch enabled and use it for new AMIs.
|
|
1674
|
+
'''
|
|
1675
|
+
result = self._values.get("enabled")
|
|
1676
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
1677
|
+
|
|
1678
|
+
@builtins.property
|
|
1679
|
+
def max_parallel_launches(self) -> typing.Optional[jsii.Number]:
|
|
1680
|
+
'''(experimental) The maximum number of parallel instances that are launched for creating resources.
|
|
1681
|
+
|
|
1682
|
+
Must be at least 6.
|
|
1683
|
+
|
|
1684
|
+
:default: 6
|
|
1685
|
+
|
|
1686
|
+
:stability: experimental
|
|
1687
|
+
'''
|
|
1688
|
+
result = self._values.get("max_parallel_launches")
|
|
1689
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1690
|
+
|
|
1691
|
+
@builtins.property
|
|
1692
|
+
def target_resource_count(self) -> typing.Optional[jsii.Number]:
|
|
1693
|
+
'''(experimental) The number of pre-provisioned snapshots to keep on hand for a fast-launch enabled Windows AMI.
|
|
1694
|
+
|
|
1695
|
+
:default: 1
|
|
1696
|
+
|
|
1697
|
+
:stability: experimental
|
|
1698
|
+
'''
|
|
1699
|
+
result = self._values.get("target_resource_count")
|
|
1700
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1701
|
+
|
|
1702
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1703
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1704
|
+
|
|
1705
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1706
|
+
return not (rhs == self)
|
|
1707
|
+
|
|
1708
|
+
def __repr__(self) -> str:
|
|
1709
|
+
return "FastLaunchOptions(%s)" % ", ".join(
|
|
1710
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1711
|
+
)
|
|
1712
|
+
|
|
1713
|
+
|
|
1499
1714
|
@jsii.implements(_aws_cdk_aws_ec2_ceddda9d.IConnectable)
|
|
1500
1715
|
class GitHubRunners(
|
|
1501
1716
|
_constructs_77d1e7e8.Construct,
|
|
@@ -3280,6 +3495,7 @@ class LambdaRunnerProvider(
|
|
|
3280
3495
|
id: builtins.str,
|
|
3281
3496
|
*,
|
|
3282
3497
|
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
3498
|
+
group: typing.Optional[builtins.str] = None,
|
|
3283
3499
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
3284
3500
|
label: typing.Optional[builtins.str] = None,
|
|
3285
3501
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -3289,6 +3505,7 @@ class LambdaRunnerProvider(
|
|
|
3289
3505
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3290
3506
|
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3291
3507
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
3508
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
3292
3509
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
3293
3510
|
retry_options: typing.Optional[typing.Union["ProviderRetryOptions", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3294
3511
|
) -> None:
|
|
@@ -3296,6 +3513,7 @@ class LambdaRunnerProvider(
|
|
|
3296
3513
|
:param scope: -
|
|
3297
3514
|
:param id: -
|
|
3298
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
|
|
3299
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()
|
|
3300
3518
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
3301
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']
|
|
@@ -3305,6 +3523,7 @@ class LambdaRunnerProvider(
|
|
|
3305
3523
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
3306
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)
|
|
3307
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
|
|
3308
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
|
|
3309
3528
|
:param retry_options:
|
|
3310
3529
|
|
|
@@ -3316,6 +3535,7 @@ class LambdaRunnerProvider(
|
|
|
3316
3535
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
3317
3536
|
props = LambdaRunnerProviderProps(
|
|
3318
3537
|
ephemeral_storage_size=ephemeral_storage_size,
|
|
3538
|
+
group=group,
|
|
3319
3539
|
image_builder=image_builder,
|
|
3320
3540
|
label=label,
|
|
3321
3541
|
labels=labels,
|
|
@@ -3325,6 +3545,7 @@ class LambdaRunnerProvider(
|
|
|
3325
3545
|
subnet_selection=subnet_selection,
|
|
3326
3546
|
timeout=timeout,
|
|
3327
3547
|
vpc=vpc,
|
|
3548
|
+
default_labels=default_labels,
|
|
3328
3549
|
log_retention=log_retention,
|
|
3329
3550
|
retry_options=retry_options,
|
|
3330
3551
|
)
|
|
@@ -3345,6 +3566,7 @@ class LambdaRunnerProvider(
|
|
|
3345
3566
|
builder_type: typing.Optional["RunnerImageBuilderType"] = None,
|
|
3346
3567
|
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3347
3568
|
components: typing.Optional[typing.Sequence["RunnerImageComponent"]] = None,
|
|
3569
|
+
docker_setup_commands: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3348
3570
|
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
3349
3571
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
3350
3572
|
os: typing.Optional["Os"] = None,
|
|
@@ -3353,6 +3575,7 @@ class LambdaRunnerProvider(
|
|
|
3353
3575
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
3354
3576
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3355
3577
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
3578
|
+
wait_on_deploy: typing.Optional[builtins.bool] = None,
|
|
3356
3579
|
) -> "IConfigurableRunnerImageBuilder":
|
|
3357
3580
|
'''(experimental) Create new image builder that builds Lambda specific runner images.
|
|
3358
3581
|
|
|
@@ -3360,7 +3583,7 @@ class LambdaRunnerProvider(
|
|
|
3360
3583
|
|
|
3361
3584
|
You can add components to the image builder by calling ``imageBuilder.addComponent()``.
|
|
3362
3585
|
|
|
3363
|
-
The default OS is Amazon Linux
|
|
3586
|
+
The default OS is Amazon Linux 2023 running on x64 architecture.
|
|
3364
3587
|
|
|
3365
3588
|
Included components:
|
|
3366
3589
|
|
|
@@ -3372,17 +3595,16 @@ class LambdaRunnerProvider(
|
|
|
3372
3595
|
- ``RunnerImageComponent.githubRunner()``
|
|
3373
3596
|
- ``RunnerImageComponent.lambdaEntrypoint()``
|
|
3374
3597
|
|
|
3375
|
-
Base Docker image: ``public.ecr.aws/lambda/nodejs:16-x86_64`` or ``public.ecr.aws/lambda/nodejs:16-arm64``
|
|
3376
|
-
|
|
3377
3598
|
:param scope: -
|
|
3378
3599
|
:param id: -
|
|
3379
3600
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
3380
3601
|
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
3381
|
-
: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
|
|
3382
|
-
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
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
|
|
3383
3604
|
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
3384
3605
|
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
3385
3606
|
:param components: (experimental) Components to install on the image. Default: none
|
|
3607
|
+
:param docker_setup_commands: (experimental) Additional commands to run on the build host before starting the Docker runner image build. Use this to execute commands such as ``docker login`` or ``aws ecr get-login-password`` to pull private base images. Default: []
|
|
3386
3608
|
: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
|
|
3387
3609
|
: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
|
|
3388
3610
|
:param os: (experimental) Image OS. Default: OS.LINUX_UBUNTU
|
|
@@ -3391,6 +3613,7 @@ class LambdaRunnerProvider(
|
|
|
3391
3613
|
:param security_groups: (experimental) Security Groups to assign to this instance.
|
|
3392
3614
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
3393
3615
|
:param vpc: (experimental) VPC to build the image in. Default: no VPC
|
|
3616
|
+
:param wait_on_deploy: (experimental) Wait for image to finish building during deployment. It's usually best to leave this enabled to ensure everything is ready once deployment is done. However, it can be disabled to speed up deployment in case where you have a lot of image components that can take a long time to build. Disabling this option means a finished deployment is not ready to be used. You will have to wait for the image to finish building before the system can be used. Disabling this option may also mean any changes to settings or components can take up to a week (default rebuild interval) to take effect. Default: true
|
|
3394
3617
|
|
|
3395
3618
|
:stability: experimental
|
|
3396
3619
|
'''
|
|
@@ -3406,6 +3629,7 @@ class LambdaRunnerProvider(
|
|
|
3406
3629
|
builder_type=builder_type,
|
|
3407
3630
|
code_build_options=code_build_options,
|
|
3408
3631
|
components=components,
|
|
3632
|
+
docker_setup_commands=docker_setup_commands,
|
|
3409
3633
|
log_removal_policy=log_removal_policy,
|
|
3410
3634
|
log_retention=log_retention,
|
|
3411
3635
|
os=os,
|
|
@@ -3414,6 +3638,7 @@ class LambdaRunnerProvider(
|
|
|
3414
3638
|
security_groups=security_groups,
|
|
3415
3639
|
subnet_selection=subnet_selection,
|
|
3416
3640
|
vpc=vpc,
|
|
3641
|
+
wait_on_deploy=wait_on_deploy,
|
|
3417
3642
|
)
|
|
3418
3643
|
|
|
3419
3644
|
return typing.cast("IConfigurableRunnerImageBuilder", jsii.sinvoke(cls, "imageBuilder", [scope, id, props]))
|
|
@@ -3952,7 +4177,7 @@ class Os(metaclass=jsii.JSIIMeta, jsii_type="@cloudsnorkel/cdk-github-runners.Os
|
|
|
3952
4177
|
def LINUX(cls) -> "Os":
|
|
3953
4178
|
'''(deprecated) Linux.
|
|
3954
4179
|
|
|
3955
|
-
:deprecated: use {@link LINUX_UBUNTU }
|
|
4180
|
+
:deprecated: use {@link LINUX_UBUNTU }, {@link LINUX_UBUNTU_2404 }, {@link LINUX_AMAZON_2 } or {@link LINUX_AMAZON_2023 }
|
|
3956
4181
|
|
|
3957
4182
|
:stability: deprecated
|
|
3958
4183
|
'''
|
|
@@ -3967,6 +4192,15 @@ class Os(metaclass=jsii.JSIIMeta, jsii_type="@cloudsnorkel/cdk-github-runners.Os
|
|
|
3967
4192
|
'''
|
|
3968
4193
|
return typing.cast("Os", jsii.sget(cls, "LINUX_AMAZON_2"))
|
|
3969
4194
|
|
|
4195
|
+
@jsii.python.classproperty
|
|
4196
|
+
@jsii.member(jsii_name="LINUX_AMAZON_2023")
|
|
4197
|
+
def LINUX_AMAZON_2023(cls) -> "Os":
|
|
4198
|
+
'''(experimental) Amazon Linux 2023.
|
|
4199
|
+
|
|
4200
|
+
:stability: experimental
|
|
4201
|
+
'''
|
|
4202
|
+
return typing.cast("Os", jsii.sget(cls, "LINUX_AMAZON_2023"))
|
|
4203
|
+
|
|
3970
4204
|
@jsii.python.classproperty
|
|
3971
4205
|
@jsii.member(jsii_name="LINUX_UBUNTU")
|
|
3972
4206
|
def LINUX_UBUNTU(cls) -> "Os":
|
|
@@ -3976,6 +4210,24 @@ class Os(metaclass=jsii.JSIIMeta, jsii_type="@cloudsnorkel/cdk-github-runners.Os
|
|
|
3976
4210
|
'''
|
|
3977
4211
|
return typing.cast("Os", jsii.sget(cls, "LINUX_UBUNTU"))
|
|
3978
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
|
+
|
|
3979
4231
|
@jsii.python.classproperty
|
|
3980
4232
|
@jsii.member(jsii_name="WINDOWS")
|
|
3981
4233
|
def WINDOWS(cls) -> "Os":
|
|
@@ -4403,6 +4655,7 @@ class RunnerImageAsset:
|
|
|
4403
4655
|
"builder_type": "builderType",
|
|
4404
4656
|
"code_build_options": "codeBuildOptions",
|
|
4405
4657
|
"components": "components",
|
|
4658
|
+
"docker_setup_commands": "dockerSetupCommands",
|
|
4406
4659
|
"log_removal_policy": "logRemovalPolicy",
|
|
4407
4660
|
"log_retention": "logRetention",
|
|
4408
4661
|
"os": "os",
|
|
@@ -4411,6 +4664,7 @@ class RunnerImageAsset:
|
|
|
4411
4664
|
"security_groups": "securityGroups",
|
|
4412
4665
|
"subnet_selection": "subnetSelection",
|
|
4413
4666
|
"vpc": "vpc",
|
|
4667
|
+
"wait_on_deploy": "waitOnDeploy",
|
|
4414
4668
|
},
|
|
4415
4669
|
)
|
|
4416
4670
|
class RunnerImageBuilderProps:
|
|
@@ -4424,6 +4678,7 @@ class RunnerImageBuilderProps:
|
|
|
4424
4678
|
builder_type: typing.Optional["RunnerImageBuilderType"] = None,
|
|
4425
4679
|
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4426
4680
|
components: typing.Optional[typing.Sequence["RunnerImageComponent"]] = None,
|
|
4681
|
+
docker_setup_commands: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
4427
4682
|
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
4428
4683
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
4429
4684
|
os: typing.Optional[Os] = None,
|
|
@@ -4432,15 +4687,17 @@ class RunnerImageBuilderProps:
|
|
|
4432
4687
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
4433
4688
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4434
4689
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
4690
|
+
wait_on_deploy: typing.Optional[builtins.bool] = None,
|
|
4435
4691
|
) -> None:
|
|
4436
4692
|
'''
|
|
4437
4693
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
4438
4694
|
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
4439
|
-
: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
|
|
4440
|
-
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
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
|
|
4441
4697
|
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
4442
4698
|
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
4443
4699
|
:param components: (experimental) Components to install on the image. Default: none
|
|
4700
|
+
:param docker_setup_commands: (experimental) Additional commands to run on the build host before starting the Docker runner image build. Use this to execute commands such as ``docker login`` or ``aws ecr get-login-password`` to pull private base images. Default: []
|
|
4444
4701
|
: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
|
|
4445
4702
|
: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
|
|
4446
4703
|
:param os: (experimental) Image OS. Default: OS.LINUX_UBUNTU
|
|
@@ -4449,6 +4706,7 @@ class RunnerImageBuilderProps:
|
|
|
4449
4706
|
:param security_groups: (experimental) Security Groups to assign to this instance.
|
|
4450
4707
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
4451
4708
|
:param vpc: (experimental) VPC to build the image in. Default: no VPC
|
|
4709
|
+
:param wait_on_deploy: (experimental) Wait for image to finish building during deployment. It's usually best to leave this enabled to ensure everything is ready once deployment is done. However, it can be disabled to speed up deployment in case where you have a lot of image components that can take a long time to build. Disabling this option means a finished deployment is not ready to be used. You will have to wait for the image to finish building before the system can be used. Disabling this option may also mean any changes to settings or components can take up to a week (default rebuild interval) to take effect. Default: true
|
|
4452
4710
|
|
|
4453
4711
|
:stability: experimental
|
|
4454
4712
|
'''
|
|
@@ -4467,6 +4725,7 @@ class RunnerImageBuilderProps:
|
|
|
4467
4725
|
check_type(argname="argument builder_type", value=builder_type, expected_type=type_hints["builder_type"])
|
|
4468
4726
|
check_type(argname="argument code_build_options", value=code_build_options, expected_type=type_hints["code_build_options"])
|
|
4469
4727
|
check_type(argname="argument components", value=components, expected_type=type_hints["components"])
|
|
4728
|
+
check_type(argname="argument docker_setup_commands", value=docker_setup_commands, expected_type=type_hints["docker_setup_commands"])
|
|
4470
4729
|
check_type(argname="argument log_removal_policy", value=log_removal_policy, expected_type=type_hints["log_removal_policy"])
|
|
4471
4730
|
check_type(argname="argument log_retention", value=log_retention, expected_type=type_hints["log_retention"])
|
|
4472
4731
|
check_type(argname="argument os", value=os, expected_type=type_hints["os"])
|
|
@@ -4475,6 +4734,7 @@ class RunnerImageBuilderProps:
|
|
|
4475
4734
|
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
4476
4735
|
check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
|
|
4477
4736
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
4737
|
+
check_type(argname="argument wait_on_deploy", value=wait_on_deploy, expected_type=type_hints["wait_on_deploy"])
|
|
4478
4738
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
4479
4739
|
if architecture is not None:
|
|
4480
4740
|
self._values["architecture"] = architecture
|
|
@@ -4490,6 +4750,8 @@ class RunnerImageBuilderProps:
|
|
|
4490
4750
|
self._values["code_build_options"] = code_build_options
|
|
4491
4751
|
if components is not None:
|
|
4492
4752
|
self._values["components"] = components
|
|
4753
|
+
if docker_setup_commands is not None:
|
|
4754
|
+
self._values["docker_setup_commands"] = docker_setup_commands
|
|
4493
4755
|
if log_removal_policy is not None:
|
|
4494
4756
|
self._values["log_removal_policy"] = log_removal_policy
|
|
4495
4757
|
if log_retention is not None:
|
|
@@ -4506,6 +4768,8 @@ class RunnerImageBuilderProps:
|
|
|
4506
4768
|
self._values["subnet_selection"] = subnet_selection
|
|
4507
4769
|
if vpc is not None:
|
|
4508
4770
|
self._values["vpc"] = vpc
|
|
4771
|
+
if wait_on_deploy is not None:
|
|
4772
|
+
self._values["wait_on_deploy"] = wait_on_deploy
|
|
4509
4773
|
|
|
4510
4774
|
@builtins.property
|
|
4511
4775
|
def architecture(self) -> typing.Optional[Architecture]:
|
|
@@ -4537,7 +4801,7 @@ class RunnerImageBuilderProps:
|
|
|
4537
4801
|
|
|
4538
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.
|
|
4539
4803
|
|
|
4540
|
-
: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
|
|
4541
4805
|
|
|
4542
4806
|
:stability: experimental
|
|
4543
4807
|
'''
|
|
@@ -4548,7 +4812,9 @@ class RunnerImageBuilderProps:
|
|
|
4548
4812
|
def base_docker_image(self) -> typing.Optional[builtins.str]:
|
|
4549
4813
|
'''(experimental) Base image from which Docker runner images will be built.
|
|
4550
4814
|
|
|
4551
|
-
|
|
4815
|
+
When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}.
|
|
4816
|
+
|
|
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
|
|
4552
4818
|
|
|
4553
4819
|
:stability: experimental
|
|
4554
4820
|
'''
|
|
@@ -4587,6 +4853,19 @@ class RunnerImageBuilderProps:
|
|
|
4587
4853
|
result = self._values.get("components")
|
|
4588
4854
|
return typing.cast(typing.Optional[typing.List["RunnerImageComponent"]], result)
|
|
4589
4855
|
|
|
4856
|
+
@builtins.property
|
|
4857
|
+
def docker_setup_commands(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
4858
|
+
'''(experimental) Additional commands to run on the build host before starting the Docker runner image build.
|
|
4859
|
+
|
|
4860
|
+
Use this to execute commands such as ``docker login`` or ``aws ecr get-login-password`` to pull private base images.
|
|
4861
|
+
|
|
4862
|
+
:default: []
|
|
4863
|
+
|
|
4864
|
+
:stability: experimental
|
|
4865
|
+
'''
|
|
4866
|
+
result = self._values.get("docker_setup_commands")
|
|
4867
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
4868
|
+
|
|
4590
4869
|
@builtins.property
|
|
4591
4870
|
def log_removal_policy(self) -> typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy]:
|
|
4592
4871
|
'''(experimental) Removal policy for logs of image builds.
|
|
@@ -4691,6 +4970,23 @@ class RunnerImageBuilderProps:
|
|
|
4691
4970
|
result = self._values.get("vpc")
|
|
4692
4971
|
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc], result)
|
|
4693
4972
|
|
|
4973
|
+
@builtins.property
|
|
4974
|
+
def wait_on_deploy(self) -> typing.Optional[builtins.bool]:
|
|
4975
|
+
'''(experimental) Wait for image to finish building during deployment.
|
|
4976
|
+
|
|
4977
|
+
It's usually best to leave this enabled to ensure everything is ready once deployment is done. However, it can be disabled to speed up deployment in case where you have a lot of image components that can take a long time to build.
|
|
4978
|
+
|
|
4979
|
+
Disabling this option means a finished deployment is not ready to be used. You will have to wait for the image to finish building before the system can be used.
|
|
4980
|
+
|
|
4981
|
+
Disabling this option may also mean any changes to settings or components can take up to a week (default rebuild interval) to take effect.
|
|
4982
|
+
|
|
4983
|
+
:default: true
|
|
4984
|
+
|
|
4985
|
+
:stability: experimental
|
|
4986
|
+
'''
|
|
4987
|
+
result = self._values.get("wait_on_deploy")
|
|
4988
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
4989
|
+
|
|
4694
4990
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4695
4991
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4696
4992
|
|
|
@@ -4751,6 +5047,15 @@ class RunnerImageComponent(
|
|
|
4751
5047
|
'''
|
|
4752
5048
|
return typing.cast("RunnerImageComponent", jsii.sinvoke(cls, "awsCli", []))
|
|
4753
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
|
+
|
|
4754
5059
|
@jsii.member(jsii_name="custom")
|
|
4755
5060
|
@builtins.classmethod
|
|
4756
5061
|
def custom(
|
|
@@ -4807,6 +5112,29 @@ class RunnerImageComponent(
|
|
|
4807
5112
|
'''
|
|
4808
5113
|
return typing.cast("RunnerImageComponent", jsii.sinvoke(cls, "dockerInDocker", []))
|
|
4809
5114
|
|
|
5115
|
+
@jsii.member(jsii_name="environmentVariables")
|
|
5116
|
+
@builtins.classmethod
|
|
5117
|
+
def environment_variables(
|
|
5118
|
+
cls,
|
|
5119
|
+
vars: typing.Mapping[builtins.str, builtins.str],
|
|
5120
|
+
) -> "RunnerImageComponent":
|
|
5121
|
+
'''(experimental) A component to add environment variables for jobs the runner executes.
|
|
5122
|
+
|
|
5123
|
+
These variables only affect the jobs ran by the runner. They are not global. They do not affect other components.
|
|
5124
|
+
|
|
5125
|
+
It is not recommended to use this component to pass secrets. Instead, use GitHub Secrets or AWS Secrets Manager.
|
|
5126
|
+
|
|
5127
|
+
Must be used after the {@link githubRunner} component.
|
|
5128
|
+
|
|
5129
|
+
:param vars: -
|
|
5130
|
+
|
|
5131
|
+
:stability: experimental
|
|
5132
|
+
'''
|
|
5133
|
+
if __debug__:
|
|
5134
|
+
type_hints = typing.get_type_hints(_typecheckingstub__604cc9b160ccf839230b5f673dff20a8c9722aa81c88ef3ccadcdfcec778ec1a)
|
|
5135
|
+
check_type(argname="argument vars", value=vars, expected_type=type_hints["vars"])
|
|
5136
|
+
return typing.cast("RunnerImageComponent", jsii.sinvoke(cls, "environmentVariables", [vars]))
|
|
5137
|
+
|
|
4810
5138
|
@jsii.member(jsii_name="extraCertificates")
|
|
4811
5139
|
@builtins.classmethod
|
|
4812
5140
|
def extra_certificates(
|
|
@@ -5117,17 +5445,23 @@ class RunnerImageComponentCustomProps:
|
|
|
5117
5445
|
@jsii.data_type(
|
|
5118
5446
|
jsii_type="@cloudsnorkel/cdk-github-runners.RunnerProviderProps",
|
|
5119
5447
|
jsii_struct_bases=[],
|
|
5120
|
-
name_mapping={
|
|
5448
|
+
name_mapping={
|
|
5449
|
+
"default_labels": "defaultLabels",
|
|
5450
|
+
"log_retention": "logRetention",
|
|
5451
|
+
"retry_options": "retryOptions",
|
|
5452
|
+
},
|
|
5121
5453
|
)
|
|
5122
5454
|
class RunnerProviderProps:
|
|
5123
5455
|
def __init__(
|
|
5124
5456
|
self,
|
|
5125
5457
|
*,
|
|
5458
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
5126
5459
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
5127
5460
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5128
5461
|
) -> None:
|
|
5129
5462
|
'''(experimental) Common properties for all runner providers.
|
|
5130
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
|
|
5131
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
|
|
5132
5466
|
:param retry_options:
|
|
5133
5467
|
|
|
@@ -5137,14 +5471,30 @@ class RunnerProviderProps:
|
|
|
5137
5471
|
retry_options = ProviderRetryOptions(**retry_options)
|
|
5138
5472
|
if __debug__:
|
|
5139
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"])
|
|
5140
5475
|
check_type(argname="argument log_retention", value=log_retention, expected_type=type_hints["log_retention"])
|
|
5141
5476
|
check_type(argname="argument retry_options", value=retry_options, expected_type=type_hints["retry_options"])
|
|
5142
5477
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
5478
|
+
if default_labels is not None:
|
|
5479
|
+
self._values["default_labels"] = default_labels
|
|
5143
5480
|
if log_retention is not None:
|
|
5144
5481
|
self._values["log_retention"] = log_retention
|
|
5145
5482
|
if retry_options is not None:
|
|
5146
5483
|
self._values["retry_options"] = retry_options
|
|
5147
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
|
+
|
|
5148
5498
|
@builtins.property
|
|
5149
5499
|
def log_retention(
|
|
5150
5500
|
self,
|
|
@@ -5529,6 +5879,99 @@ class StaticRunnerImage(
|
|
|
5529
5879
|
return typing.cast(IRunnerImageBuilder, jsii.sinvoke(cls, "fromEcrRepository", [repository, tag, architecture, os]))
|
|
5530
5880
|
|
|
5531
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
|
+
|
|
5532
5975
|
class WindowsComponents(
|
|
5533
5976
|
metaclass=jsii.JSIIMeta,
|
|
5534
5977
|
jsii_type="@cloudsnorkel/cdk-github-runners.WindowsComponents",
|
|
@@ -5696,7 +6139,7 @@ class AmiBuilder(
|
|
|
5696
6139
|
):
|
|
5697
6140
|
'''(deprecated) An AMI builder that uses AWS Image Builder to build AMIs pre-baked with all the GitHub Actions runner requirements.
|
|
5698
6141
|
|
|
5699
|
-
Builders can be used with {@link
|
|
6142
|
+
Builders can be used with {@link Ec2RunnerProvider }.
|
|
5700
6143
|
|
|
5701
6144
|
Each builder re-runs automatically at a set interval to make sure the AMIs contain the latest versions of everything.
|
|
5702
6145
|
|
|
@@ -5721,7 +6164,7 @@ class AmiBuilder(
|
|
|
5721
6164
|
amiBuilder: builder,
|
|
5722
6165
|
});
|
|
5723
6166
|
|
|
5724
|
-
:deprecated: use RunnerImageBuilder
|
|
6167
|
+
:deprecated: use RunnerImageBuilder, e.g. with Ec2RunnerProvider.imageBuilder()
|
|
5725
6168
|
|
|
5726
6169
|
:stability: deprecated
|
|
5727
6170
|
'''
|
|
@@ -5749,7 +6192,7 @@ class AmiBuilder(
|
|
|
5749
6192
|
:param id: -
|
|
5750
6193
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
5751
6194
|
:param install_docker: (experimental) Install Docker inside the image, so it can be used by the runner. Default: true
|
|
5752
|
-
: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
|
|
5753
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
|
|
5754
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
|
|
5755
6198
|
:param os: (experimental) Image OS. Default: OS.LINUX
|
|
@@ -5994,7 +6437,7 @@ class AmiBuilder(
|
|
|
5994
6437
|
if __debug__:
|
|
5995
6438
|
type_hints = typing.get_type_hints(_typecheckingstub__8088868062a70621aab7b900883cf52d9c930de8a458039564d69a7d0cc80f52)
|
|
5996
6439
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
5997
|
-
jsii.set(self, "components", value)
|
|
6440
|
+
jsii.set(self, "components", value) # pyright: ignore[reportArgumentType]
|
|
5998
6441
|
|
|
5999
6442
|
|
|
6000
6443
|
@jsii.implements(IRunnerImageBuilder)
|
|
@@ -6237,6 +6680,7 @@ class CodeBuildRunnerProvider(
|
|
|
6237
6680
|
*,
|
|
6238
6681
|
compute_type: typing.Optional[_aws_cdk_aws_codebuild_ceddda9d.ComputeType] = None,
|
|
6239
6682
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
6683
|
+
group: typing.Optional[builtins.str] = None,
|
|
6240
6684
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
6241
6685
|
label: typing.Optional[builtins.str] = None,
|
|
6242
6686
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -6245,6 +6689,7 @@ class CodeBuildRunnerProvider(
|
|
|
6245
6689
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6246
6690
|
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
6247
6691
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
6692
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
6248
6693
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
6249
6694
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6250
6695
|
) -> None:
|
|
@@ -6253,6 +6698,7 @@ class CodeBuildRunnerProvider(
|
|
|
6253
6698
|
:param id: -
|
|
6254
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 }
|
|
6255
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
|
|
6256
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()
|
|
6257
6703
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
6258
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']
|
|
@@ -6261,6 +6707,7 @@ class CodeBuildRunnerProvider(
|
|
|
6261
6707
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
6262
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)
|
|
6263
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
|
|
6264
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
|
|
6265
6712
|
:param retry_options:
|
|
6266
6713
|
|
|
@@ -6273,6 +6720,7 @@ class CodeBuildRunnerProvider(
|
|
|
6273
6720
|
props = CodeBuildRunnerProviderProps(
|
|
6274
6721
|
compute_type=compute_type,
|
|
6275
6722
|
docker_in_docker=docker_in_docker,
|
|
6723
|
+
group=group,
|
|
6276
6724
|
image_builder=image_builder,
|
|
6277
6725
|
label=label,
|
|
6278
6726
|
labels=labels,
|
|
@@ -6281,6 +6729,7 @@ class CodeBuildRunnerProvider(
|
|
|
6281
6729
|
subnet_selection=subnet_selection,
|
|
6282
6730
|
timeout=timeout,
|
|
6283
6731
|
vpc=vpc,
|
|
6732
|
+
default_labels=default_labels,
|
|
6284
6733
|
log_retention=log_retention,
|
|
6285
6734
|
retry_options=retry_options,
|
|
6286
6735
|
)
|
|
@@ -6301,6 +6750,7 @@ class CodeBuildRunnerProvider(
|
|
|
6301
6750
|
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
6302
6751
|
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6303
6752
|
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
6753
|
+
docker_setup_commands: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
6304
6754
|
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
6305
6755
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
6306
6756
|
os: typing.Optional[Os] = None,
|
|
@@ -6309,6 +6759,7 @@ class CodeBuildRunnerProvider(
|
|
|
6309
6759
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
6310
6760
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6311
6761
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
6762
|
+
wait_on_deploy: typing.Optional[builtins.bool] = None,
|
|
6312
6763
|
) -> "IConfigurableRunnerImageBuilder":
|
|
6313
6764
|
'''(experimental) Create new image builder that builds CodeBuild specific runner images.
|
|
6314
6765
|
|
|
@@ -6332,11 +6783,12 @@ class CodeBuildRunnerProvider(
|
|
|
6332
6783
|
:param id: -
|
|
6333
6784
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
6334
6785
|
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
6335
|
-
: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
|
|
6336
|
-
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
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
|
|
6337
6788
|
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
6338
6789
|
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
6339
6790
|
:param components: (experimental) Components to install on the image. Default: none
|
|
6791
|
+
:param docker_setup_commands: (experimental) Additional commands to run on the build host before starting the Docker runner image build. Use this to execute commands such as ``docker login`` or ``aws ecr get-login-password`` to pull private base images. Default: []
|
|
6340
6792
|
: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
|
|
6341
6793
|
: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
|
|
6342
6794
|
:param os: (experimental) Image OS. Default: OS.LINUX_UBUNTU
|
|
@@ -6345,6 +6797,7 @@ class CodeBuildRunnerProvider(
|
|
|
6345
6797
|
:param security_groups: (experimental) Security Groups to assign to this instance.
|
|
6346
6798
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
6347
6799
|
:param vpc: (experimental) VPC to build the image in. Default: no VPC
|
|
6800
|
+
:param wait_on_deploy: (experimental) Wait for image to finish building during deployment. It's usually best to leave this enabled to ensure everything is ready once deployment is done. However, it can be disabled to speed up deployment in case where you have a lot of image components that can take a long time to build. Disabling this option means a finished deployment is not ready to be used. You will have to wait for the image to finish building before the system can be used. Disabling this option may also mean any changes to settings or components can take up to a week (default rebuild interval) to take effect. Default: true
|
|
6348
6801
|
|
|
6349
6802
|
:stability: experimental
|
|
6350
6803
|
'''
|
|
@@ -6360,6 +6813,7 @@ class CodeBuildRunnerProvider(
|
|
|
6360
6813
|
builder_type=builder_type,
|
|
6361
6814
|
code_build_options=code_build_options,
|
|
6362
6815
|
components=components,
|
|
6816
|
+
docker_setup_commands=docker_setup_commands,
|
|
6363
6817
|
log_removal_policy=log_removal_policy,
|
|
6364
6818
|
log_retention=log_retention,
|
|
6365
6819
|
os=os,
|
|
@@ -6368,6 +6822,7 @@ class CodeBuildRunnerProvider(
|
|
|
6368
6822
|
security_groups=security_groups,
|
|
6369
6823
|
subnet_selection=subnet_selection,
|
|
6370
6824
|
vpc=vpc,
|
|
6825
|
+
wait_on_deploy=wait_on_deploy,
|
|
6371
6826
|
)
|
|
6372
6827
|
|
|
6373
6828
|
return typing.cast("IConfigurableRunnerImageBuilder", jsii.sinvoke(cls, "imageBuilder", [scope, id, props]))
|
|
@@ -6578,10 +7033,12 @@ class CodeBuildRunnerProvider(
|
|
|
6578
7033
|
jsii_type="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps",
|
|
6579
7034
|
jsii_struct_bases=[RunnerProviderProps],
|
|
6580
7035
|
name_mapping={
|
|
7036
|
+
"default_labels": "defaultLabels",
|
|
6581
7037
|
"log_retention": "logRetention",
|
|
6582
7038
|
"retry_options": "retryOptions",
|
|
6583
7039
|
"compute_type": "computeType",
|
|
6584
7040
|
"docker_in_docker": "dockerInDocker",
|
|
7041
|
+
"group": "group",
|
|
6585
7042
|
"image_builder": "imageBuilder",
|
|
6586
7043
|
"label": "label",
|
|
6587
7044
|
"labels": "labels",
|
|
@@ -6596,10 +7053,12 @@ class CodeBuildRunnerProviderProps(RunnerProviderProps):
|
|
|
6596
7053
|
def __init__(
|
|
6597
7054
|
self,
|
|
6598
7055
|
*,
|
|
7056
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
6599
7057
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
6600
7058
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6601
7059
|
compute_type: typing.Optional[_aws_cdk_aws_codebuild_ceddda9d.ComputeType] = None,
|
|
6602
7060
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
7061
|
+
group: typing.Optional[builtins.str] = None,
|
|
6603
7062
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
6604
7063
|
label: typing.Optional[builtins.str] = None,
|
|
6605
7064
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -6610,10 +7069,12 @@ class CodeBuildRunnerProviderProps(RunnerProviderProps):
|
|
|
6610
7069
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
6611
7070
|
) -> None:
|
|
6612
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
|
|
6613
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
|
|
6614
7074
|
:param retry_options:
|
|
6615
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 }
|
|
6616
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
|
|
6617
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()
|
|
6618
7079
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
6619
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']
|
|
@@ -6631,10 +7092,12 @@ class CodeBuildRunnerProviderProps(RunnerProviderProps):
|
|
|
6631
7092
|
subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
|
|
6632
7093
|
if __debug__:
|
|
6633
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"])
|
|
6634
7096
|
check_type(argname="argument log_retention", value=log_retention, expected_type=type_hints["log_retention"])
|
|
6635
7097
|
check_type(argname="argument retry_options", value=retry_options, expected_type=type_hints["retry_options"])
|
|
6636
7098
|
check_type(argname="argument compute_type", value=compute_type, expected_type=type_hints["compute_type"])
|
|
6637
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"])
|
|
6638
7101
|
check_type(argname="argument image_builder", value=image_builder, expected_type=type_hints["image_builder"])
|
|
6639
7102
|
check_type(argname="argument label", value=label, expected_type=type_hints["label"])
|
|
6640
7103
|
check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
|
|
@@ -6644,6 +7107,8 @@ class CodeBuildRunnerProviderProps(RunnerProviderProps):
|
|
|
6644
7107
|
check_type(argname="argument timeout", value=timeout, expected_type=type_hints["timeout"])
|
|
6645
7108
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
6646
7109
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
7110
|
+
if default_labels is not None:
|
|
7111
|
+
self._values["default_labels"] = default_labels
|
|
6647
7112
|
if log_retention is not None:
|
|
6648
7113
|
self._values["log_retention"] = log_retention
|
|
6649
7114
|
if retry_options is not None:
|
|
@@ -6652,6 +7117,8 @@ class CodeBuildRunnerProviderProps(RunnerProviderProps):
|
|
|
6652
7117
|
self._values["compute_type"] = compute_type
|
|
6653
7118
|
if docker_in_docker is not None:
|
|
6654
7119
|
self._values["docker_in_docker"] = docker_in_docker
|
|
7120
|
+
if group is not None:
|
|
7121
|
+
self._values["group"] = group
|
|
6655
7122
|
if image_builder is not None:
|
|
6656
7123
|
self._values["image_builder"] = image_builder
|
|
6657
7124
|
if label is not None:
|
|
@@ -6669,6 +7136,19 @@ class CodeBuildRunnerProviderProps(RunnerProviderProps):
|
|
|
6669
7136
|
if vpc is not None:
|
|
6670
7137
|
self._values["vpc"] = vpc
|
|
6671
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
|
+
|
|
6672
7152
|
@builtins.property
|
|
6673
7153
|
def log_retention(
|
|
6674
7154
|
self,
|
|
@@ -6725,6 +7205,24 @@ class CodeBuildRunnerProviderProps(RunnerProviderProps):
|
|
|
6725
7205
|
result = self._values.get("docker_in_docker")
|
|
6726
7206
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
6727
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
|
+
|
|
6728
7226
|
@builtins.property
|
|
6729
7227
|
def image_builder(self) -> typing.Optional[IRunnerImageBuilder]:
|
|
6730
7228
|
'''(experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements.
|
|
@@ -6900,7 +7398,7 @@ class ContainerImageBuilder(
|
|
|
6900
7398
|
:param scope: -
|
|
6901
7399
|
:param id: -
|
|
6902
7400
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
6903
|
-
: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
|
|
6904
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
|
|
6905
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
|
|
6906
7404
|
:param os: (experimental) Image OS. Default: OS.LINUX
|
|
@@ -7152,7 +7650,7 @@ class ContainerImageBuilder(
|
|
|
7152
7650
|
if __debug__:
|
|
7153
7651
|
type_hints = typing.get_type_hints(_typecheckingstub__f4c47d52e3f51709153fc49a53f833f06b1fd2ba44d3c86696b418a3bf88a972)
|
|
7154
7652
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
7155
|
-
jsii.set(self, "components", value)
|
|
7653
|
+
jsii.set(self, "components", value) # pyright: ignore[reportArgumentType]
|
|
7156
7654
|
|
|
7157
7655
|
|
|
7158
7656
|
@jsii.implements(IRunnerProvider)
|
|
@@ -7174,6 +7672,7 @@ class Ec2RunnerProvider(
|
|
|
7174
7672
|
id: builtins.str,
|
|
7175
7673
|
*,
|
|
7176
7674
|
ami_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
7675
|
+
group: typing.Optional[builtins.str] = None,
|
|
7177
7676
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
7178
7677
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
7179
7678
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -7181,10 +7680,12 @@ class Ec2RunnerProvider(
|
|
|
7181
7680
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
7182
7681
|
spot: typing.Optional[builtins.bool] = None,
|
|
7183
7682
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
7683
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7184
7684
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
7185
7685
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
7186
7686
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7187
7687
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
7688
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
7188
7689
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
7189
7690
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7190
7691
|
) -> None:
|
|
@@ -7192,17 +7693,20 @@ class Ec2RunnerProvider(
|
|
|
7192
7693
|
:param scope: -
|
|
7193
7694
|
:param id: -
|
|
7194
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
|
|
7195
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()
|
|
7196
|
-
: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
|
|
7197
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']
|
|
7198
7700
|
:param security_group: (deprecated) Security Group to assign to launched runner instances. Default: a new security group
|
|
7199
7701
|
:param security_groups: (experimental) Security groups to assign to launched runner instances. Default: a new security group
|
|
7200
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
|
|
7201
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.
|
|
7202
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
|
|
7203
7706
|
:param subnet: (deprecated) Subnet where the runner instances will be launched. Default: default subnet of account's default VPC
|
|
7204
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
|
|
7205
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
|
|
7206
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
|
|
7207
7711
|
:param retry_options:
|
|
7208
7712
|
|
|
@@ -7214,6 +7718,7 @@ class Ec2RunnerProvider(
|
|
|
7214
7718
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
7215
7719
|
props = Ec2RunnerProviderProps(
|
|
7216
7720
|
ami_builder=ami_builder,
|
|
7721
|
+
group=group,
|
|
7217
7722
|
image_builder=image_builder,
|
|
7218
7723
|
instance_type=instance_type,
|
|
7219
7724
|
labels=labels,
|
|
@@ -7221,10 +7726,12 @@ class Ec2RunnerProvider(
|
|
|
7221
7726
|
security_groups=security_groups,
|
|
7222
7727
|
spot=spot,
|
|
7223
7728
|
spot_max_price=spot_max_price,
|
|
7729
|
+
storage_options=storage_options,
|
|
7224
7730
|
storage_size=storage_size,
|
|
7225
7731
|
subnet=subnet,
|
|
7226
7732
|
subnet_selection=subnet_selection,
|
|
7227
7733
|
vpc=vpc,
|
|
7734
|
+
default_labels=default_labels,
|
|
7228
7735
|
log_retention=log_retention,
|
|
7229
7736
|
retry_options=retry_options,
|
|
7230
7737
|
)
|
|
@@ -7245,6 +7752,7 @@ class Ec2RunnerProvider(
|
|
|
7245
7752
|
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
7246
7753
|
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7247
7754
|
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
7755
|
+
docker_setup_commands: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
7248
7756
|
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
7249
7757
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
7250
7758
|
os: typing.Optional[Os] = None,
|
|
@@ -7253,6 +7761,7 @@ class Ec2RunnerProvider(
|
|
|
7253
7761
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
7254
7762
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7255
7763
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
7764
|
+
wait_on_deploy: typing.Optional[builtins.bool] = None,
|
|
7256
7765
|
) -> "IConfigurableRunnerImageBuilder":
|
|
7257
7766
|
'''(experimental) Create new image builder that builds EC2 specific runner images.
|
|
7258
7767
|
|
|
@@ -7265,6 +7774,7 @@ class Ec2RunnerProvider(
|
|
|
7265
7774
|
Included components:
|
|
7266
7775
|
|
|
7267
7776
|
- ``RunnerImageComponent.requiredPackages()``
|
|
7777
|
+
- ``RunnerImageComponent.cloudWatchAgent()``
|
|
7268
7778
|
- ``RunnerImageComponent.runnerUser()``
|
|
7269
7779
|
- ``RunnerImageComponent.git()``
|
|
7270
7780
|
- ``RunnerImageComponent.githubCli()``
|
|
@@ -7276,11 +7786,12 @@ class Ec2RunnerProvider(
|
|
|
7276
7786
|
:param id: -
|
|
7277
7787
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
7278
7788
|
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
7279
|
-
: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
|
|
7280
|
-
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
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
|
|
7281
7791
|
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
7282
7792
|
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
7283
7793
|
:param components: (experimental) Components to install on the image. Default: none
|
|
7794
|
+
:param docker_setup_commands: (experimental) Additional commands to run on the build host before starting the Docker runner image build. Use this to execute commands such as ``docker login`` or ``aws ecr get-login-password`` to pull private base images. Default: []
|
|
7284
7795
|
: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
|
|
7285
7796
|
: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
|
|
7286
7797
|
:param os: (experimental) Image OS. Default: OS.LINUX_UBUNTU
|
|
@@ -7289,6 +7800,7 @@ class Ec2RunnerProvider(
|
|
|
7289
7800
|
:param security_groups: (experimental) Security Groups to assign to this instance.
|
|
7290
7801
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
7291
7802
|
:param vpc: (experimental) VPC to build the image in. Default: no VPC
|
|
7803
|
+
:param wait_on_deploy: (experimental) Wait for image to finish building during deployment. It's usually best to leave this enabled to ensure everything is ready once deployment is done. However, it can be disabled to speed up deployment in case where you have a lot of image components that can take a long time to build. Disabling this option means a finished deployment is not ready to be used. You will have to wait for the image to finish building before the system can be used. Disabling this option may also mean any changes to settings or components can take up to a week (default rebuild interval) to take effect. Default: true
|
|
7292
7804
|
|
|
7293
7805
|
:stability: experimental
|
|
7294
7806
|
'''
|
|
@@ -7304,6 +7816,7 @@ class Ec2RunnerProvider(
|
|
|
7304
7816
|
builder_type=builder_type,
|
|
7305
7817
|
code_build_options=code_build_options,
|
|
7306
7818
|
components=components,
|
|
7819
|
+
docker_setup_commands=docker_setup_commands,
|
|
7307
7820
|
log_removal_policy=log_removal_policy,
|
|
7308
7821
|
log_retention=log_retention,
|
|
7309
7822
|
os=os,
|
|
@@ -7312,6 +7825,7 @@ class Ec2RunnerProvider(
|
|
|
7312
7825
|
security_groups=security_groups,
|
|
7313
7826
|
subnet_selection=subnet_selection,
|
|
7314
7827
|
vpc=vpc,
|
|
7828
|
+
wait_on_deploy=wait_on_deploy,
|
|
7315
7829
|
)
|
|
7316
7830
|
|
|
7317
7831
|
return typing.cast("IConfigurableRunnerImageBuilder", jsii.sinvoke(cls, "imageBuilder", [scope, id, props]))
|
|
@@ -7461,9 +7975,11 @@ class Ec2RunnerProvider(
|
|
|
7461
7975
|
jsii_type="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps",
|
|
7462
7976
|
jsii_struct_bases=[RunnerProviderProps],
|
|
7463
7977
|
name_mapping={
|
|
7978
|
+
"default_labels": "defaultLabels",
|
|
7464
7979
|
"log_retention": "logRetention",
|
|
7465
7980
|
"retry_options": "retryOptions",
|
|
7466
7981
|
"ami_builder": "amiBuilder",
|
|
7982
|
+
"group": "group",
|
|
7467
7983
|
"image_builder": "imageBuilder",
|
|
7468
7984
|
"instance_type": "instanceType",
|
|
7469
7985
|
"labels": "labels",
|
|
@@ -7471,6 +7987,7 @@ class Ec2RunnerProvider(
|
|
|
7471
7987
|
"security_groups": "securityGroups",
|
|
7472
7988
|
"spot": "spot",
|
|
7473
7989
|
"spot_max_price": "spotMaxPrice",
|
|
7990
|
+
"storage_options": "storageOptions",
|
|
7474
7991
|
"storage_size": "storageSize",
|
|
7475
7992
|
"subnet": "subnet",
|
|
7476
7993
|
"subnet_selection": "subnetSelection",
|
|
@@ -7481,9 +7998,11 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7481
7998
|
def __init__(
|
|
7482
7999
|
self,
|
|
7483
8000
|
*,
|
|
8001
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
7484
8002
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
7485
8003
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7486
8004
|
ami_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
8005
|
+
group: typing.Optional[builtins.str] = None,
|
|
7487
8006
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
7488
8007
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
7489
8008
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -7491,6 +8010,7 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7491
8010
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
7492
8011
|
spot: typing.Optional[builtins.bool] = None,
|
|
7493
8012
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
8013
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7494
8014
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
7495
8015
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
7496
8016
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -7498,16 +8018,19 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7498
8018
|
) -> None:
|
|
7499
8019
|
'''(experimental) Properties for {@link Ec2RunnerProvider} construct.
|
|
7500
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
|
|
7501
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
|
|
7502
8023
|
:param retry_options:
|
|
7503
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
|
|
7504
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()
|
|
7505
|
-
: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
|
|
7506
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']
|
|
7507
8029
|
:param security_group: (deprecated) Security Group to assign to launched runner instances. Default: a new security group
|
|
7508
8030
|
:param security_groups: (experimental) Security groups to assign to launched runner instances. Default: a new security group
|
|
7509
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
|
|
7510
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.
|
|
7511
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
|
|
7512
8035
|
:param subnet: (deprecated) Subnet where the runner instances will be launched. Default: default subnet of account's default VPC
|
|
7513
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
|
|
@@ -7517,13 +8040,17 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7517
8040
|
'''
|
|
7518
8041
|
if isinstance(retry_options, dict):
|
|
7519
8042
|
retry_options = ProviderRetryOptions(**retry_options)
|
|
8043
|
+
if isinstance(storage_options, dict):
|
|
8044
|
+
storage_options = StorageOptions(**storage_options)
|
|
7520
8045
|
if isinstance(subnet_selection, dict):
|
|
7521
8046
|
subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
|
|
7522
8047
|
if __debug__:
|
|
7523
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"])
|
|
7524
8050
|
check_type(argname="argument log_retention", value=log_retention, expected_type=type_hints["log_retention"])
|
|
7525
8051
|
check_type(argname="argument retry_options", value=retry_options, expected_type=type_hints["retry_options"])
|
|
7526
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"])
|
|
7527
8054
|
check_type(argname="argument image_builder", value=image_builder, expected_type=type_hints["image_builder"])
|
|
7528
8055
|
check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
|
|
7529
8056
|
check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
|
|
@@ -7531,17 +8058,22 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7531
8058
|
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
7532
8059
|
check_type(argname="argument spot", value=spot, expected_type=type_hints["spot"])
|
|
7533
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"])
|
|
7534
8062
|
check_type(argname="argument storage_size", value=storage_size, expected_type=type_hints["storage_size"])
|
|
7535
8063
|
check_type(argname="argument subnet", value=subnet, expected_type=type_hints["subnet"])
|
|
7536
8064
|
check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
|
|
7537
8065
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
7538
8066
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
8067
|
+
if default_labels is not None:
|
|
8068
|
+
self._values["default_labels"] = default_labels
|
|
7539
8069
|
if log_retention is not None:
|
|
7540
8070
|
self._values["log_retention"] = log_retention
|
|
7541
8071
|
if retry_options is not None:
|
|
7542
8072
|
self._values["retry_options"] = retry_options
|
|
7543
8073
|
if ami_builder is not None:
|
|
7544
8074
|
self._values["ami_builder"] = ami_builder
|
|
8075
|
+
if group is not None:
|
|
8076
|
+
self._values["group"] = group
|
|
7545
8077
|
if image_builder is not None:
|
|
7546
8078
|
self._values["image_builder"] = image_builder
|
|
7547
8079
|
if instance_type is not None:
|
|
@@ -7556,6 +8088,8 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7556
8088
|
self._values["spot"] = spot
|
|
7557
8089
|
if spot_max_price is not None:
|
|
7558
8090
|
self._values["spot_max_price"] = spot_max_price
|
|
8091
|
+
if storage_options is not None:
|
|
8092
|
+
self._values["storage_options"] = storage_options
|
|
7559
8093
|
if storage_size is not None:
|
|
7560
8094
|
self._values["storage_size"] = storage_size
|
|
7561
8095
|
if subnet is not None:
|
|
@@ -7565,6 +8099,19 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7565
8099
|
if vpc is not None:
|
|
7566
8100
|
self._values["vpc"] = vpc
|
|
7567
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
|
+
|
|
7568
8115
|
@builtins.property
|
|
7569
8116
|
def log_retention(
|
|
7570
8117
|
self,
|
|
@@ -7602,6 +8149,24 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7602
8149
|
result = self._values.get("ami_builder")
|
|
7603
8150
|
return typing.cast(typing.Optional[IRunnerImageBuilder], result)
|
|
7604
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
|
+
|
|
7605
8170
|
@builtins.property
|
|
7606
8171
|
def image_builder(self) -> typing.Optional[IRunnerImageBuilder]:
|
|
7607
8172
|
'''(experimental) Runner image builder used to build AMI containing GitHub Runner and all requirements.
|
|
@@ -7619,7 +8184,7 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7619
8184
|
def instance_type(self) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType]:
|
|
7620
8185
|
'''(experimental) Instance type for launched runner instances.
|
|
7621
8186
|
|
|
7622
|
-
:default:
|
|
8187
|
+
:default: m6i.large
|
|
7623
8188
|
|
|
7624
8189
|
:stability: experimental
|
|
7625
8190
|
'''
|
|
@@ -7693,6 +8258,15 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7693
8258
|
result = self._values.get("spot_max_price")
|
|
7694
8259
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
7695
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
|
+
|
|
7696
8270
|
@builtins.property
|
|
7697
8271
|
def storage_size(self) -> typing.Optional[_aws_cdk_ceddda9d.Size]:
|
|
7698
8272
|
'''(experimental) Size of volume available for launched runner instances.
|
|
@@ -7784,6 +8358,7 @@ class EcsRunnerProvider(
|
|
|
7784
8358
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
7785
8359
|
cpu: typing.Optional[jsii.Number] = None,
|
|
7786
8360
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
8361
|
+
group: typing.Optional[builtins.str] = None,
|
|
7787
8362
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
7788
8363
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
7789
8364
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -7791,12 +8366,16 @@ class EcsRunnerProvider(
|
|
|
7791
8366
|
memory_limit_mib: typing.Optional[jsii.Number] = None,
|
|
7792
8367
|
memory_reservation_mib: typing.Optional[jsii.Number] = None,
|
|
7793
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,
|
|
7794
8371
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
7795
8372
|
spot: typing.Optional[builtins.bool] = None,
|
|
7796
8373
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
8374
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7797
8375
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
7798
8376
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7799
8377
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
8378
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
7800
8379
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
7801
8380
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7802
8381
|
) -> None:
|
|
@@ -7808,19 +8387,24 @@ class EcsRunnerProvider(
|
|
|
7808
8387
|
:param cluster: (experimental) Existing ECS cluster to use. Default: a new cluster
|
|
7809
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
|
|
7810
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
|
|
7811
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()
|
|
7812
|
-
: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
|
|
7813
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']
|
|
7814
8394
|
:param max_instances: (experimental) The maximum number of instances to run in the cluster. Only used when creating a new cluster. Default: 5
|
|
7815
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
|
|
7816
8396
|
:param memory_reservation_mib: (experimental) The soft limit (in MiB) of memory to reserve for the container. Default: undefined
|
|
7817
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)
|
|
7818
8400
|
:param security_groups: (experimental) Security groups to assign to the task. Default: a new security group
|
|
7819
8401
|
:param spot: (experimental) Use spot capacity. Default: false (true if spotMaxPrice is specified)
|
|
7820
8402
|
:param spot_max_price: (experimental) Maximum price for spot instances.
|
|
8403
|
+
:param storage_options: (experimental) Options for runner instance storage volume.
|
|
7821
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)
|
|
7822
8405
|
:param subnet_selection: (experimental) Subnets to run the runners in. Default: ECS default
|
|
7823
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
|
|
7824
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
|
|
7825
8409
|
:param retry_options:
|
|
7826
8410
|
|
|
@@ -7836,6 +8420,7 @@ class EcsRunnerProvider(
|
|
|
7836
8420
|
cluster=cluster,
|
|
7837
8421
|
cpu=cpu,
|
|
7838
8422
|
docker_in_docker=docker_in_docker,
|
|
8423
|
+
group=group,
|
|
7839
8424
|
image_builder=image_builder,
|
|
7840
8425
|
instance_type=instance_type,
|
|
7841
8426
|
labels=labels,
|
|
@@ -7843,12 +8428,16 @@ class EcsRunnerProvider(
|
|
|
7843
8428
|
memory_limit_mib=memory_limit_mib,
|
|
7844
8429
|
memory_reservation_mib=memory_reservation_mib,
|
|
7845
8430
|
min_instances=min_instances,
|
|
8431
|
+
placement_constraints=placement_constraints,
|
|
8432
|
+
placement_strategies=placement_strategies,
|
|
7846
8433
|
security_groups=security_groups,
|
|
7847
8434
|
spot=spot,
|
|
7848
8435
|
spot_max_price=spot_max_price,
|
|
8436
|
+
storage_options=storage_options,
|
|
7849
8437
|
storage_size=storage_size,
|
|
7850
8438
|
subnet_selection=subnet_selection,
|
|
7851
8439
|
vpc=vpc,
|
|
8440
|
+
default_labels=default_labels,
|
|
7852
8441
|
log_retention=log_retention,
|
|
7853
8442
|
retry_options=retry_options,
|
|
7854
8443
|
)
|
|
@@ -7869,6 +8458,7 @@ class EcsRunnerProvider(
|
|
|
7869
8458
|
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
7870
8459
|
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7871
8460
|
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
8461
|
+
docker_setup_commands: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
7872
8462
|
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
7873
8463
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
7874
8464
|
os: typing.Optional[Os] = None,
|
|
@@ -7877,6 +8467,7 @@ class EcsRunnerProvider(
|
|
|
7877
8467
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
7878
8468
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7879
8469
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
8470
|
+
wait_on_deploy: typing.Optional[builtins.bool] = None,
|
|
7880
8471
|
) -> "IConfigurableRunnerImageBuilder":
|
|
7881
8472
|
'''(experimental) Create new image builder that builds ECS specific runner images.
|
|
7882
8473
|
|
|
@@ -7900,11 +8491,12 @@ class EcsRunnerProvider(
|
|
|
7900
8491
|
:param id: -
|
|
7901
8492
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
7902
8493
|
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
7903
|
-
: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
|
|
7904
|
-
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
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
|
|
7905
8496
|
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
7906
8497
|
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
7907
8498
|
:param components: (experimental) Components to install on the image. Default: none
|
|
8499
|
+
:param docker_setup_commands: (experimental) Additional commands to run on the build host before starting the Docker runner image build. Use this to execute commands such as ``docker login`` or ``aws ecr get-login-password`` to pull private base images. Default: []
|
|
7908
8500
|
: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
|
|
7909
8501
|
: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
|
|
7910
8502
|
:param os: (experimental) Image OS. Default: OS.LINUX_UBUNTU
|
|
@@ -7913,6 +8505,7 @@ class EcsRunnerProvider(
|
|
|
7913
8505
|
:param security_groups: (experimental) Security Groups to assign to this instance.
|
|
7914
8506
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
7915
8507
|
:param vpc: (experimental) VPC to build the image in. Default: no VPC
|
|
8508
|
+
:param wait_on_deploy: (experimental) Wait for image to finish building during deployment. It's usually best to leave this enabled to ensure everything is ready once deployment is done. However, it can be disabled to speed up deployment in case where you have a lot of image components that can take a long time to build. Disabling this option means a finished deployment is not ready to be used. You will have to wait for the image to finish building before the system can be used. Disabling this option may also mean any changes to settings or components can take up to a week (default rebuild interval) to take effect. Default: true
|
|
7916
8509
|
|
|
7917
8510
|
:stability: experimental
|
|
7918
8511
|
'''
|
|
@@ -7928,6 +8521,7 @@ class EcsRunnerProvider(
|
|
|
7928
8521
|
builder_type=builder_type,
|
|
7929
8522
|
code_build_options=code_build_options,
|
|
7930
8523
|
components=components,
|
|
8524
|
+
docker_setup_commands=docker_setup_commands,
|
|
7931
8525
|
log_removal_policy=log_removal_policy,
|
|
7932
8526
|
log_retention=log_retention,
|
|
7933
8527
|
os=os,
|
|
@@ -7936,6 +8530,7 @@ class EcsRunnerProvider(
|
|
|
7936
8530
|
security_groups=security_groups,
|
|
7937
8531
|
subnet_selection=subnet_selection,
|
|
7938
8532
|
vpc=vpc,
|
|
8533
|
+
wait_on_deploy=wait_on_deploy,
|
|
7939
8534
|
)
|
|
7940
8535
|
|
|
7941
8536
|
return typing.cast("IConfigurableRunnerImageBuilder", jsii.sinvoke(cls, "imageBuilder", [scope, id, props]))
|
|
@@ -8082,6 +8677,7 @@ class EcsRunnerProvider(
|
|
|
8082
8677
|
jsii_type="@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps",
|
|
8083
8678
|
jsii_struct_bases=[RunnerProviderProps],
|
|
8084
8679
|
name_mapping={
|
|
8680
|
+
"default_labels": "defaultLabels",
|
|
8085
8681
|
"log_retention": "logRetention",
|
|
8086
8682
|
"retry_options": "retryOptions",
|
|
8087
8683
|
"assign_public_ip": "assignPublicIp",
|
|
@@ -8089,6 +8685,7 @@ class EcsRunnerProvider(
|
|
|
8089
8685
|
"cluster": "cluster",
|
|
8090
8686
|
"cpu": "cpu",
|
|
8091
8687
|
"docker_in_docker": "dockerInDocker",
|
|
8688
|
+
"group": "group",
|
|
8092
8689
|
"image_builder": "imageBuilder",
|
|
8093
8690
|
"instance_type": "instanceType",
|
|
8094
8691
|
"labels": "labels",
|
|
@@ -8096,9 +8693,12 @@ class EcsRunnerProvider(
|
|
|
8096
8693
|
"memory_limit_mib": "memoryLimitMiB",
|
|
8097
8694
|
"memory_reservation_mib": "memoryReservationMiB",
|
|
8098
8695
|
"min_instances": "minInstances",
|
|
8696
|
+
"placement_constraints": "placementConstraints",
|
|
8697
|
+
"placement_strategies": "placementStrategies",
|
|
8099
8698
|
"security_groups": "securityGroups",
|
|
8100
8699
|
"spot": "spot",
|
|
8101
8700
|
"spot_max_price": "spotMaxPrice",
|
|
8701
|
+
"storage_options": "storageOptions",
|
|
8102
8702
|
"storage_size": "storageSize",
|
|
8103
8703
|
"subnet_selection": "subnetSelection",
|
|
8104
8704
|
"vpc": "vpc",
|
|
@@ -8108,6 +8708,7 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8108
8708
|
def __init__(
|
|
8109
8709
|
self,
|
|
8110
8710
|
*,
|
|
8711
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
8111
8712
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
8112
8713
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8113
8714
|
assign_public_ip: typing.Optional[builtins.bool] = None,
|
|
@@ -8115,6 +8716,7 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8115
8716
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
8116
8717
|
cpu: typing.Optional[jsii.Number] = None,
|
|
8117
8718
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
8719
|
+
group: typing.Optional[builtins.str] = None,
|
|
8118
8720
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
8119
8721
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
8120
8722
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -8122,15 +8724,19 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8122
8724
|
memory_limit_mib: typing.Optional[jsii.Number] = None,
|
|
8123
8725
|
memory_reservation_mib: typing.Optional[jsii.Number] = None,
|
|
8124
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,
|
|
8125
8729
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
8126
8730
|
spot: typing.Optional[builtins.bool] = None,
|
|
8127
8731
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
8732
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8128
8733
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
8129
8734
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8130
8735
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
8131
8736
|
) -> None:
|
|
8132
8737
|
'''(experimental) Properties for EcsRunnerProvider.
|
|
8133
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
|
|
8134
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
|
|
8135
8741
|
:param retry_options:
|
|
8136
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
|
|
@@ -8138,16 +8744,20 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8138
8744
|
:param cluster: (experimental) Existing ECS cluster to use. Default: a new cluster
|
|
8139
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
|
|
8140
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
|
|
8141
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()
|
|
8142
|
-
: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
|
|
8143
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']
|
|
8144
8751
|
:param max_instances: (experimental) The maximum number of instances to run in the cluster. Only used when creating a new cluster. Default: 5
|
|
8145
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
|
|
8146
8753
|
:param memory_reservation_mib: (experimental) The soft limit (in MiB) of memory to reserve for the container. Default: undefined
|
|
8147
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)
|
|
8148
8757
|
:param security_groups: (experimental) Security groups to assign to the task. Default: a new security group
|
|
8149
8758
|
:param spot: (experimental) Use spot capacity. Default: false (true if spotMaxPrice is specified)
|
|
8150
8759
|
:param spot_max_price: (experimental) Maximum price for spot instances.
|
|
8760
|
+
:param storage_options: (experimental) Options for runner instance storage volume.
|
|
8151
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)
|
|
8152
8762
|
:param subnet_selection: (experimental) Subnets to run the runners in. Default: ECS default
|
|
8153
8763
|
:param vpc: (experimental) VPC to launch the runners in. Default: default account VPC
|
|
@@ -8156,10 +8766,13 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8156
8766
|
'''
|
|
8157
8767
|
if isinstance(retry_options, dict):
|
|
8158
8768
|
retry_options = ProviderRetryOptions(**retry_options)
|
|
8769
|
+
if isinstance(storage_options, dict):
|
|
8770
|
+
storage_options = StorageOptions(**storage_options)
|
|
8159
8771
|
if isinstance(subnet_selection, dict):
|
|
8160
8772
|
subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
|
|
8161
8773
|
if __debug__:
|
|
8162
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"])
|
|
8163
8776
|
check_type(argname="argument log_retention", value=log_retention, expected_type=type_hints["log_retention"])
|
|
8164
8777
|
check_type(argname="argument retry_options", value=retry_options, expected_type=type_hints["retry_options"])
|
|
8165
8778
|
check_type(argname="argument assign_public_ip", value=assign_public_ip, expected_type=type_hints["assign_public_ip"])
|
|
@@ -8167,6 +8780,7 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8167
8780
|
check_type(argname="argument cluster", value=cluster, expected_type=type_hints["cluster"])
|
|
8168
8781
|
check_type(argname="argument cpu", value=cpu, expected_type=type_hints["cpu"])
|
|
8169
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"])
|
|
8170
8784
|
check_type(argname="argument image_builder", value=image_builder, expected_type=type_hints["image_builder"])
|
|
8171
8785
|
check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
|
|
8172
8786
|
check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
|
|
@@ -8174,13 +8788,18 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8174
8788
|
check_type(argname="argument memory_limit_mib", value=memory_limit_mib, expected_type=type_hints["memory_limit_mib"])
|
|
8175
8789
|
check_type(argname="argument memory_reservation_mib", value=memory_reservation_mib, expected_type=type_hints["memory_reservation_mib"])
|
|
8176
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"])
|
|
8177
8793
|
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
8178
8794
|
check_type(argname="argument spot", value=spot, expected_type=type_hints["spot"])
|
|
8179
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"])
|
|
8180
8797
|
check_type(argname="argument storage_size", value=storage_size, expected_type=type_hints["storage_size"])
|
|
8181
8798
|
check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
|
|
8182
8799
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
8183
8800
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
8801
|
+
if default_labels is not None:
|
|
8802
|
+
self._values["default_labels"] = default_labels
|
|
8184
8803
|
if log_retention is not None:
|
|
8185
8804
|
self._values["log_retention"] = log_retention
|
|
8186
8805
|
if retry_options is not None:
|
|
@@ -8195,6 +8814,8 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8195
8814
|
self._values["cpu"] = cpu
|
|
8196
8815
|
if docker_in_docker is not None:
|
|
8197
8816
|
self._values["docker_in_docker"] = docker_in_docker
|
|
8817
|
+
if group is not None:
|
|
8818
|
+
self._values["group"] = group
|
|
8198
8819
|
if image_builder is not None:
|
|
8199
8820
|
self._values["image_builder"] = image_builder
|
|
8200
8821
|
if instance_type is not None:
|
|
@@ -8209,12 +8830,18 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8209
8830
|
self._values["memory_reservation_mib"] = memory_reservation_mib
|
|
8210
8831
|
if min_instances is not None:
|
|
8211
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
|
|
8212
8837
|
if security_groups is not None:
|
|
8213
8838
|
self._values["security_groups"] = security_groups
|
|
8214
8839
|
if spot is not None:
|
|
8215
8840
|
self._values["spot"] = spot
|
|
8216
8841
|
if spot_max_price is not None:
|
|
8217
8842
|
self._values["spot_max_price"] = spot_max_price
|
|
8843
|
+
if storage_options is not None:
|
|
8844
|
+
self._values["storage_options"] = storage_options
|
|
8218
8845
|
if storage_size is not None:
|
|
8219
8846
|
self._values["storage_size"] = storage_size
|
|
8220
8847
|
if subnet_selection is not None:
|
|
@@ -8222,6 +8849,19 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8222
8849
|
if vpc is not None:
|
|
8223
8850
|
self._values["vpc"] = vpc
|
|
8224
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
|
+
|
|
8225
8865
|
@builtins.property
|
|
8226
8866
|
def log_retention(
|
|
8227
8867
|
self,
|
|
@@ -8315,6 +8955,24 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8315
8955
|
result = self._values.get("docker_in_docker")
|
|
8316
8956
|
return typing.cast(typing.Optional[builtins.bool], result)
|
|
8317
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
|
+
|
|
8318
8976
|
@builtins.property
|
|
8319
8977
|
def image_builder(self) -> typing.Optional[IRunnerImageBuilder]:
|
|
8320
8978
|
'''(experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements.
|
|
@@ -8334,7 +8992,7 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8334
8992
|
|
|
8335
8993
|
Only used when creating a new cluster.
|
|
8336
8994
|
|
|
8337
|
-
:default:
|
|
8995
|
+
:default: m6i.large or m6g.large
|
|
8338
8996
|
|
|
8339
8997
|
:stability: experimental
|
|
8340
8998
|
'''
|
|
@@ -8404,6 +9062,36 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8404
9062
|
result = self._values.get("min_instances")
|
|
8405
9063
|
return typing.cast(typing.Optional[jsii.Number], result)
|
|
8406
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
|
+
|
|
8407
9095
|
@builtins.property
|
|
8408
9096
|
def security_groups(
|
|
8409
9097
|
self,
|
|
@@ -8437,6 +9125,15 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8437
9125
|
result = self._values.get("spot_max_price")
|
|
8438
9126
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
8439
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
|
+
|
|
8440
9137
|
@builtins.property
|
|
8441
9138
|
def storage_size(self) -> typing.Optional[_aws_cdk_ceddda9d.Size]:
|
|
8442
9139
|
'''(experimental) Size of volume available for launched cluster instances.
|
|
@@ -8512,6 +9209,7 @@ class FargateRunnerProvider(
|
|
|
8512
9209
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
8513
9210
|
cpu: typing.Optional[jsii.Number] = None,
|
|
8514
9211
|
ephemeral_storage_gib: typing.Optional[jsii.Number] = None,
|
|
9212
|
+
group: typing.Optional[builtins.str] = None,
|
|
8515
9213
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
8516
9214
|
label: typing.Optional[builtins.str] = None,
|
|
8517
9215
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -8521,6 +9219,7 @@ class FargateRunnerProvider(
|
|
|
8521
9219
|
spot: typing.Optional[builtins.bool] = None,
|
|
8522
9220
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8523
9221
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
9222
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
8524
9223
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
8525
9224
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8526
9225
|
) -> None:
|
|
@@ -8531,6 +9230,7 @@ class FargateRunnerProvider(
|
|
|
8531
9230
|
:param cluster: (experimental) Existing Fargate cluster to use. Default: a new cluster
|
|
8532
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
|
|
8533
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
|
|
8534
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()
|
|
8535
9235
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
8536
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']
|
|
@@ -8540,6 +9240,7 @@ class FargateRunnerProvider(
|
|
|
8540
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
|
|
8541
9241
|
:param subnet_selection: (experimental) Subnets to run the runners in. Default: Fargate default
|
|
8542
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
|
|
8543
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
|
|
8544
9245
|
:param retry_options:
|
|
8545
9246
|
|
|
@@ -8554,6 +9255,7 @@ class FargateRunnerProvider(
|
|
|
8554
9255
|
cluster=cluster,
|
|
8555
9256
|
cpu=cpu,
|
|
8556
9257
|
ephemeral_storage_gib=ephemeral_storage_gib,
|
|
9258
|
+
group=group,
|
|
8557
9259
|
image_builder=image_builder,
|
|
8558
9260
|
label=label,
|
|
8559
9261
|
labels=labels,
|
|
@@ -8563,6 +9265,7 @@ class FargateRunnerProvider(
|
|
|
8563
9265
|
spot=spot,
|
|
8564
9266
|
subnet_selection=subnet_selection,
|
|
8565
9267
|
vpc=vpc,
|
|
9268
|
+
default_labels=default_labels,
|
|
8566
9269
|
log_retention=log_retention,
|
|
8567
9270
|
retry_options=retry_options,
|
|
8568
9271
|
)
|
|
@@ -8583,6 +9286,7 @@ class FargateRunnerProvider(
|
|
|
8583
9286
|
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
8584
9287
|
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8585
9288
|
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
9289
|
+
docker_setup_commands: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
8586
9290
|
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
8587
9291
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
8588
9292
|
os: typing.Optional[Os] = None,
|
|
@@ -8591,6 +9295,7 @@ class FargateRunnerProvider(
|
|
|
8591
9295
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
8592
9296
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8593
9297
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
9298
|
+
wait_on_deploy: typing.Optional[builtins.bool] = None,
|
|
8594
9299
|
) -> "IConfigurableRunnerImageBuilder":
|
|
8595
9300
|
'''(experimental) Create new image builder that builds Fargate specific runner images.
|
|
8596
9301
|
|
|
@@ -8613,11 +9318,12 @@ class FargateRunnerProvider(
|
|
|
8613
9318
|
:param id: -
|
|
8614
9319
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
8615
9320
|
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
8616
|
-
: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
|
|
8617
|
-
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
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
|
|
8618
9323
|
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
8619
9324
|
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
8620
9325
|
:param components: (experimental) Components to install on the image. Default: none
|
|
9326
|
+
:param docker_setup_commands: (experimental) Additional commands to run on the build host before starting the Docker runner image build. Use this to execute commands such as ``docker login`` or ``aws ecr get-login-password`` to pull private base images. Default: []
|
|
8621
9327
|
: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
|
|
8622
9328
|
: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
|
|
8623
9329
|
:param os: (experimental) Image OS. Default: OS.LINUX_UBUNTU
|
|
@@ -8626,6 +9332,7 @@ class FargateRunnerProvider(
|
|
|
8626
9332
|
:param security_groups: (experimental) Security Groups to assign to this instance.
|
|
8627
9333
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
8628
9334
|
:param vpc: (experimental) VPC to build the image in. Default: no VPC
|
|
9335
|
+
:param wait_on_deploy: (experimental) Wait for image to finish building during deployment. It's usually best to leave this enabled to ensure everything is ready once deployment is done. However, it can be disabled to speed up deployment in case where you have a lot of image components that can take a long time to build. Disabling this option means a finished deployment is not ready to be used. You will have to wait for the image to finish building before the system can be used. Disabling this option may also mean any changes to settings or components can take up to a week (default rebuild interval) to take effect. Default: true
|
|
8629
9336
|
|
|
8630
9337
|
:stability: experimental
|
|
8631
9338
|
'''
|
|
@@ -8641,6 +9348,7 @@ class FargateRunnerProvider(
|
|
|
8641
9348
|
builder_type=builder_type,
|
|
8642
9349
|
code_build_options=code_build_options,
|
|
8643
9350
|
components=components,
|
|
9351
|
+
docker_setup_commands=docker_setup_commands,
|
|
8644
9352
|
log_removal_policy=log_removal_policy,
|
|
8645
9353
|
log_retention=log_retention,
|
|
8646
9354
|
os=os,
|
|
@@ -8649,6 +9357,7 @@ class FargateRunnerProvider(
|
|
|
8649
9357
|
security_groups=security_groups,
|
|
8650
9358
|
subnet_selection=subnet_selection,
|
|
8651
9359
|
vpc=vpc,
|
|
9360
|
+
wait_on_deploy=wait_on_deploy,
|
|
8652
9361
|
)
|
|
8653
9362
|
|
|
8654
9363
|
return typing.cast("IConfigurableRunnerImageBuilder", jsii.sinvoke(cls, "imageBuilder", [scope, id, props]))
|
|
@@ -8907,12 +9616,14 @@ class FargateRunnerProvider(
|
|
|
8907
9616
|
jsii_type="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps",
|
|
8908
9617
|
jsii_struct_bases=[RunnerProviderProps],
|
|
8909
9618
|
name_mapping={
|
|
9619
|
+
"default_labels": "defaultLabels",
|
|
8910
9620
|
"log_retention": "logRetention",
|
|
8911
9621
|
"retry_options": "retryOptions",
|
|
8912
9622
|
"assign_public_ip": "assignPublicIp",
|
|
8913
9623
|
"cluster": "cluster",
|
|
8914
9624
|
"cpu": "cpu",
|
|
8915
9625
|
"ephemeral_storage_gib": "ephemeralStorageGiB",
|
|
9626
|
+
"group": "group",
|
|
8916
9627
|
"image_builder": "imageBuilder",
|
|
8917
9628
|
"label": "label",
|
|
8918
9629
|
"labels": "labels",
|
|
@@ -8928,12 +9639,14 @@ class FargateRunnerProviderProps(RunnerProviderProps):
|
|
|
8928
9639
|
def __init__(
|
|
8929
9640
|
self,
|
|
8930
9641
|
*,
|
|
9642
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
8931
9643
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
8932
9644
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8933
9645
|
assign_public_ip: typing.Optional[builtins.bool] = None,
|
|
8934
9646
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
8935
9647
|
cpu: typing.Optional[jsii.Number] = None,
|
|
8936
9648
|
ephemeral_storage_gib: typing.Optional[jsii.Number] = None,
|
|
9649
|
+
group: typing.Optional[builtins.str] = None,
|
|
8937
9650
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
8938
9651
|
label: typing.Optional[builtins.str] = None,
|
|
8939
9652
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -8946,12 +9659,14 @@ class FargateRunnerProviderProps(RunnerProviderProps):
|
|
|
8946
9659
|
) -> None:
|
|
8947
9660
|
'''(experimental) Properties for FargateRunnerProvider.
|
|
8948
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
|
|
8949
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
|
|
8950
9664
|
:param retry_options:
|
|
8951
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
|
|
8952
9666
|
:param cluster: (experimental) Existing Fargate cluster to use. Default: a new cluster
|
|
8953
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
|
|
8954
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
|
|
8955
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()
|
|
8956
9671
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
8957
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']
|
|
@@ -8970,12 +9685,14 @@ class FargateRunnerProviderProps(RunnerProviderProps):
|
|
|
8970
9685
|
subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
|
|
8971
9686
|
if __debug__:
|
|
8972
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"])
|
|
8973
9689
|
check_type(argname="argument log_retention", value=log_retention, expected_type=type_hints["log_retention"])
|
|
8974
9690
|
check_type(argname="argument retry_options", value=retry_options, expected_type=type_hints["retry_options"])
|
|
8975
9691
|
check_type(argname="argument assign_public_ip", value=assign_public_ip, expected_type=type_hints["assign_public_ip"])
|
|
8976
9692
|
check_type(argname="argument cluster", value=cluster, expected_type=type_hints["cluster"])
|
|
8977
9693
|
check_type(argname="argument cpu", value=cpu, expected_type=type_hints["cpu"])
|
|
8978
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"])
|
|
8979
9696
|
check_type(argname="argument image_builder", value=image_builder, expected_type=type_hints["image_builder"])
|
|
8980
9697
|
check_type(argname="argument label", value=label, expected_type=type_hints["label"])
|
|
8981
9698
|
check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
|
|
@@ -8986,6 +9703,8 @@ class FargateRunnerProviderProps(RunnerProviderProps):
|
|
|
8986
9703
|
check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
|
|
8987
9704
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
8988
9705
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
9706
|
+
if default_labels is not None:
|
|
9707
|
+
self._values["default_labels"] = default_labels
|
|
8989
9708
|
if log_retention is not None:
|
|
8990
9709
|
self._values["log_retention"] = log_retention
|
|
8991
9710
|
if retry_options is not None:
|
|
@@ -8998,6 +9717,8 @@ class FargateRunnerProviderProps(RunnerProviderProps):
|
|
|
8998
9717
|
self._values["cpu"] = cpu
|
|
8999
9718
|
if ephemeral_storage_gib is not None:
|
|
9000
9719
|
self._values["ephemeral_storage_gib"] = ephemeral_storage_gib
|
|
9720
|
+
if group is not None:
|
|
9721
|
+
self._values["group"] = group
|
|
9001
9722
|
if image_builder is not None:
|
|
9002
9723
|
self._values["image_builder"] = image_builder
|
|
9003
9724
|
if label is not None:
|
|
@@ -9017,6 +9738,19 @@ class FargateRunnerProviderProps(RunnerProviderProps):
|
|
|
9017
9738
|
if vpc is not None:
|
|
9018
9739
|
self._values["vpc"] = vpc
|
|
9019
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
|
+
|
|
9020
9754
|
@builtins.property
|
|
9021
9755
|
def log_retention(
|
|
9022
9756
|
self,
|
|
@@ -9108,6 +9842,24 @@ class FargateRunnerProviderProps(RunnerProviderProps):
|
|
|
9108
9842
|
result = self._values.get("ephemeral_storage_gib")
|
|
9109
9843
|
return typing.cast(typing.Optional[jsii.Number], result)
|
|
9110
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
|
+
|
|
9111
9863
|
@builtins.property
|
|
9112
9864
|
def image_builder(self) -> typing.Optional[IRunnerImageBuilder]:
|
|
9113
9865
|
'''(experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements.
|
|
@@ -9361,6 +10113,7 @@ class LambdaRunner(
|
|
|
9361
10113
|
id: builtins.str,
|
|
9362
10114
|
*,
|
|
9363
10115
|
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
10116
|
+
group: typing.Optional[builtins.str] = None,
|
|
9364
10117
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
9365
10118
|
label: typing.Optional[builtins.str] = None,
|
|
9366
10119
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -9370,6 +10123,7 @@ class LambdaRunner(
|
|
|
9370
10123
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9371
10124
|
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
9372
10125
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
10126
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
9373
10127
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
9374
10128
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9375
10129
|
) -> None:
|
|
@@ -9377,6 +10131,7 @@ class LambdaRunner(
|
|
|
9377
10131
|
:param scope: -
|
|
9378
10132
|
:param id: -
|
|
9379
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
|
|
9380
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()
|
|
9381
10136
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
9382
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']
|
|
@@ -9386,6 +10141,7 @@ class LambdaRunner(
|
|
|
9386
10141
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
9387
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)
|
|
9388
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
|
|
9389
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
|
|
9390
10146
|
:param retry_options:
|
|
9391
10147
|
|
|
@@ -9397,6 +10153,7 @@ class LambdaRunner(
|
|
|
9397
10153
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
9398
10154
|
props = LambdaRunnerProviderProps(
|
|
9399
10155
|
ephemeral_storage_size=ephemeral_storage_size,
|
|
10156
|
+
group=group,
|
|
9400
10157
|
image_builder=image_builder,
|
|
9401
10158
|
label=label,
|
|
9402
10159
|
labels=labels,
|
|
@@ -9406,6 +10163,7 @@ class LambdaRunner(
|
|
|
9406
10163
|
subnet_selection=subnet_selection,
|
|
9407
10164
|
timeout=timeout,
|
|
9408
10165
|
vpc=vpc,
|
|
10166
|
+
default_labels=default_labels,
|
|
9409
10167
|
log_retention=log_retention,
|
|
9410
10168
|
retry_options=retry_options,
|
|
9411
10169
|
)
|
|
@@ -9417,9 +10175,11 @@ class LambdaRunner(
|
|
|
9417
10175
|
jsii_type="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps",
|
|
9418
10176
|
jsii_struct_bases=[RunnerProviderProps],
|
|
9419
10177
|
name_mapping={
|
|
10178
|
+
"default_labels": "defaultLabels",
|
|
9420
10179
|
"log_retention": "logRetention",
|
|
9421
10180
|
"retry_options": "retryOptions",
|
|
9422
10181
|
"ephemeral_storage_size": "ephemeralStorageSize",
|
|
10182
|
+
"group": "group",
|
|
9423
10183
|
"image_builder": "imageBuilder",
|
|
9424
10184
|
"label": "label",
|
|
9425
10185
|
"labels": "labels",
|
|
@@ -9435,9 +10195,11 @@ class LambdaRunnerProviderProps(RunnerProviderProps):
|
|
|
9435
10195
|
def __init__(
|
|
9436
10196
|
self,
|
|
9437
10197
|
*,
|
|
10198
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
9438
10199
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
9439
10200
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9440
10201
|
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
10202
|
+
group: typing.Optional[builtins.str] = None,
|
|
9441
10203
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
9442
10204
|
label: typing.Optional[builtins.str] = None,
|
|
9443
10205
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -9449,9 +10211,11 @@ class LambdaRunnerProviderProps(RunnerProviderProps):
|
|
|
9449
10211
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
9450
10212
|
) -> None:
|
|
9451
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
|
|
9452
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
|
|
9453
10216
|
:param retry_options:
|
|
9454
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
|
|
9455
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()
|
|
9456
10220
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
9457
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']
|
|
@@ -9470,9 +10234,11 @@ class LambdaRunnerProviderProps(RunnerProviderProps):
|
|
|
9470
10234
|
subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
|
|
9471
10235
|
if __debug__:
|
|
9472
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"])
|
|
9473
10238
|
check_type(argname="argument log_retention", value=log_retention, expected_type=type_hints["log_retention"])
|
|
9474
10239
|
check_type(argname="argument retry_options", value=retry_options, expected_type=type_hints["retry_options"])
|
|
9475
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"])
|
|
9476
10242
|
check_type(argname="argument image_builder", value=image_builder, expected_type=type_hints["image_builder"])
|
|
9477
10243
|
check_type(argname="argument label", value=label, expected_type=type_hints["label"])
|
|
9478
10244
|
check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
|
|
@@ -9483,12 +10249,16 @@ class LambdaRunnerProviderProps(RunnerProviderProps):
|
|
|
9483
10249
|
check_type(argname="argument timeout", value=timeout, expected_type=type_hints["timeout"])
|
|
9484
10250
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
9485
10251
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
10252
|
+
if default_labels is not None:
|
|
10253
|
+
self._values["default_labels"] = default_labels
|
|
9486
10254
|
if log_retention is not None:
|
|
9487
10255
|
self._values["log_retention"] = log_retention
|
|
9488
10256
|
if retry_options is not None:
|
|
9489
10257
|
self._values["retry_options"] = retry_options
|
|
9490
10258
|
if ephemeral_storage_size is not None:
|
|
9491
10259
|
self._values["ephemeral_storage_size"] = ephemeral_storage_size
|
|
10260
|
+
if group is not None:
|
|
10261
|
+
self._values["group"] = group
|
|
9492
10262
|
if image_builder is not None:
|
|
9493
10263
|
self._values["image_builder"] = image_builder
|
|
9494
10264
|
if label is not None:
|
|
@@ -9508,6 +10278,19 @@ class LambdaRunnerProviderProps(RunnerProviderProps):
|
|
|
9508
10278
|
if vpc is not None:
|
|
9509
10279
|
self._values["vpc"] = vpc
|
|
9510
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
|
+
|
|
9511
10294
|
@builtins.property
|
|
9512
10295
|
def log_retention(
|
|
9513
10296
|
self,
|
|
@@ -9546,6 +10329,24 @@ class LambdaRunnerProviderProps(RunnerProviderProps):
|
|
|
9546
10329
|
result = self._values.get("ephemeral_storage_size")
|
|
9547
10330
|
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Size], result)
|
|
9548
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
|
+
|
|
9549
10350
|
@builtins.property
|
|
9550
10351
|
def image_builder(self) -> typing.Optional[IRunnerImageBuilder]:
|
|
9551
10352
|
'''(experimental) Runner image builder used to build Docker images containing GitHub Runner and all requirements.
|
|
@@ -9709,6 +10510,7 @@ class RunnerImageBuilder(
|
|
|
9709
10510
|
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
9710
10511
|
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9711
10512
|
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
10513
|
+
docker_setup_commands: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9712
10514
|
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
9713
10515
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
9714
10516
|
os: typing.Optional[Os] = None,
|
|
@@ -9717,17 +10519,19 @@ class RunnerImageBuilder(
|
|
|
9717
10519
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
9718
10520
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9719
10521
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
10522
|
+
wait_on_deploy: typing.Optional[builtins.bool] = None,
|
|
9720
10523
|
) -> None:
|
|
9721
10524
|
'''
|
|
9722
10525
|
:param scope: -
|
|
9723
10526
|
:param id: -
|
|
9724
10527
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
9725
10528
|
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
9726
|
-
: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
|
|
9727
|
-
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
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
|
|
9728
10531
|
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
9729
10532
|
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
9730
10533
|
:param components: (experimental) Components to install on the image. Default: none
|
|
10534
|
+
:param docker_setup_commands: (experimental) Additional commands to run on the build host before starting the Docker runner image build. Use this to execute commands such as ``docker login`` or ``aws ecr get-login-password`` to pull private base images. Default: []
|
|
9731
10535
|
: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
|
|
9732
10536
|
: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
|
|
9733
10537
|
:param os: (experimental) Image OS. Default: OS.LINUX_UBUNTU
|
|
@@ -9736,6 +10540,7 @@ class RunnerImageBuilder(
|
|
|
9736
10540
|
:param security_groups: (experimental) Security Groups to assign to this instance.
|
|
9737
10541
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
9738
10542
|
:param vpc: (experimental) VPC to build the image in. Default: no VPC
|
|
10543
|
+
:param wait_on_deploy: (experimental) Wait for image to finish building during deployment. It's usually best to leave this enabled to ensure everything is ready once deployment is done. However, it can be disabled to speed up deployment in case where you have a lot of image components that can take a long time to build. Disabling this option means a finished deployment is not ready to be used. You will have to wait for the image to finish building before the system can be used. Disabling this option may also mean any changes to settings or components can take up to a week (default rebuild interval) to take effect. Default: true
|
|
9739
10544
|
|
|
9740
10545
|
:stability: experimental
|
|
9741
10546
|
'''
|
|
@@ -9751,6 +10556,7 @@ class RunnerImageBuilder(
|
|
|
9751
10556
|
builder_type=builder_type,
|
|
9752
10557
|
code_build_options=code_build_options,
|
|
9753
10558
|
components=components,
|
|
10559
|
+
docker_setup_commands=docker_setup_commands,
|
|
9754
10560
|
log_removal_policy=log_removal_policy,
|
|
9755
10561
|
log_retention=log_retention,
|
|
9756
10562
|
os=os,
|
|
@@ -9759,6 +10565,7 @@ class RunnerImageBuilder(
|
|
|
9759
10565
|
security_groups=security_groups,
|
|
9760
10566
|
subnet_selection=subnet_selection,
|
|
9761
10567
|
vpc=vpc,
|
|
10568
|
+
wait_on_deploy=wait_on_deploy,
|
|
9762
10569
|
)
|
|
9763
10570
|
|
|
9764
10571
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
@@ -9777,6 +10584,7 @@ class RunnerImageBuilder(
|
|
|
9777
10584
|
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
9778
10585
|
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9779
10586
|
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
10587
|
+
docker_setup_commands: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9780
10588
|
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
9781
10589
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
9782
10590
|
os: typing.Optional[Os] = None,
|
|
@@ -9785,6 +10593,7 @@ class RunnerImageBuilder(
|
|
|
9785
10593
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
9786
10594
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
9787
10595
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
10596
|
+
wait_on_deploy: typing.Optional[builtins.bool] = None,
|
|
9788
10597
|
) -> IConfigurableRunnerImageBuilder:
|
|
9789
10598
|
'''(experimental) Create a new image builder based on the provided properties.
|
|
9790
10599
|
|
|
@@ -9794,11 +10603,12 @@ class RunnerImageBuilder(
|
|
|
9794
10603
|
:param id: -
|
|
9795
10604
|
:param architecture: (experimental) Image architecture. Default: Architecture.X86_64
|
|
9796
10605
|
:param aws_image_builder_options: (experimental) Options specific to AWS Image Builder. Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
9797
|
-
: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
|
|
9798
|
-
:param base_docker_image: (experimental) Base image from which Docker runner images will be built. Default: public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
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
|
|
9799
10608
|
:param builder_type: Default: CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
9800
10609
|
:param code_build_options: (experimental) Options specific to CodeBuild image builder. Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
9801
10610
|
:param components: (experimental) Components to install on the image. Default: none
|
|
10611
|
+
:param docker_setup_commands: (experimental) Additional commands to run on the build host before starting the Docker runner image build. Use this to execute commands such as ``docker login`` or ``aws ecr get-login-password`` to pull private base images. Default: []
|
|
9802
10612
|
: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
|
|
9803
10613
|
: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
|
|
9804
10614
|
:param os: (experimental) Image OS. Default: OS.LINUX_UBUNTU
|
|
@@ -9807,6 +10617,7 @@ class RunnerImageBuilder(
|
|
|
9807
10617
|
:param security_groups: (experimental) Security Groups to assign to this instance.
|
|
9808
10618
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
9809
10619
|
:param vpc: (experimental) VPC to build the image in. Default: no VPC
|
|
10620
|
+
:param wait_on_deploy: (experimental) Wait for image to finish building during deployment. It's usually best to leave this enabled to ensure everything is ready once deployment is done. However, it can be disabled to speed up deployment in case where you have a lot of image components that can take a long time to build. Disabling this option means a finished deployment is not ready to be used. You will have to wait for the image to finish building before the system can be used. Disabling this option may also mean any changes to settings or components can take up to a week (default rebuild interval) to take effect. Default: true
|
|
9810
10621
|
|
|
9811
10622
|
:stability: experimental
|
|
9812
10623
|
'''
|
|
@@ -9822,6 +10633,7 @@ class RunnerImageBuilder(
|
|
|
9822
10633
|
builder_type=builder_type,
|
|
9823
10634
|
code_build_options=code_build_options,
|
|
9824
10635
|
components=components,
|
|
10636
|
+
docker_setup_commands=docker_setup_commands,
|
|
9825
10637
|
log_removal_policy=log_removal_policy,
|
|
9826
10638
|
log_retention=log_retention,
|
|
9827
10639
|
os=os,
|
|
@@ -9830,6 +10642,7 @@ class RunnerImageBuilder(
|
|
|
9830
10642
|
security_groups=security_groups,
|
|
9831
10643
|
subnet_selection=subnet_selection,
|
|
9832
10644
|
vpc=vpc,
|
|
10645
|
+
wait_on_deploy=wait_on_deploy,
|
|
9833
10646
|
)
|
|
9834
10647
|
|
|
9835
10648
|
return typing.cast(IConfigurableRunnerImageBuilder, jsii.sinvoke(cls, "new", [scope, id, props]))
|
|
@@ -9925,7 +10738,7 @@ class RunnerImageBuilder(
|
|
|
9925
10738
|
if __debug__:
|
|
9926
10739
|
type_hints = typing.get_type_hints(_typecheckingstub__705c18a1eedaa490aebad511aac32a801519a57162e30be4673a8ab87ca434dc)
|
|
9927
10740
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
9928
|
-
jsii.set(self, "components", value)
|
|
10741
|
+
jsii.set(self, "components", value) # pyright: ignore[reportArgumentType]
|
|
9929
10742
|
|
|
9930
10743
|
|
|
9931
10744
|
class _RunnerImageBuilderProxy(RunnerImageBuilder):
|
|
@@ -9995,6 +10808,7 @@ class CodeBuildRunner(
|
|
|
9995
10808
|
*,
|
|
9996
10809
|
compute_type: typing.Optional[_aws_cdk_aws_codebuild_ceddda9d.ComputeType] = None,
|
|
9997
10810
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
10811
|
+
group: typing.Optional[builtins.str] = None,
|
|
9998
10812
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
9999
10813
|
label: typing.Optional[builtins.str] = None,
|
|
10000
10814
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -10003,6 +10817,7 @@ class CodeBuildRunner(
|
|
|
10003
10817
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10004
10818
|
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
10005
10819
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
10820
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
10006
10821
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
10007
10822
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10008
10823
|
) -> None:
|
|
@@ -10011,6 +10826,7 @@ class CodeBuildRunner(
|
|
|
10011
10826
|
:param id: -
|
|
10012
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 }
|
|
10013
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
|
|
10014
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()
|
|
10015
10831
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
10016
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']
|
|
@@ -10019,6 +10835,7 @@ class CodeBuildRunner(
|
|
|
10019
10835
|
:param subnet_selection: (experimental) Where to place the network interfaces within the VPC. Default: no subnet
|
|
10020
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)
|
|
10021
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
|
|
10022
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
|
|
10023
10840
|
:param retry_options:
|
|
10024
10841
|
|
|
@@ -10031,6 +10848,7 @@ class CodeBuildRunner(
|
|
|
10031
10848
|
props = CodeBuildRunnerProviderProps(
|
|
10032
10849
|
compute_type=compute_type,
|
|
10033
10850
|
docker_in_docker=docker_in_docker,
|
|
10851
|
+
group=group,
|
|
10034
10852
|
image_builder=image_builder,
|
|
10035
10853
|
label=label,
|
|
10036
10854
|
labels=labels,
|
|
@@ -10039,6 +10857,7 @@ class CodeBuildRunner(
|
|
|
10039
10857
|
subnet_selection=subnet_selection,
|
|
10040
10858
|
timeout=timeout,
|
|
10041
10859
|
vpc=vpc,
|
|
10860
|
+
default_labels=default_labels,
|
|
10042
10861
|
log_retention=log_retention,
|
|
10043
10862
|
retry_options=retry_options,
|
|
10044
10863
|
)
|
|
@@ -10063,6 +10882,7 @@ class Ec2Runner(
|
|
|
10063
10882
|
id: builtins.str,
|
|
10064
10883
|
*,
|
|
10065
10884
|
ami_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
10885
|
+
group: typing.Optional[builtins.str] = None,
|
|
10066
10886
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
10067
10887
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
10068
10888
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -10070,10 +10890,12 @@ class Ec2Runner(
|
|
|
10070
10890
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
10071
10891
|
spot: typing.Optional[builtins.bool] = None,
|
|
10072
10892
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
10893
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10073
10894
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
10074
10895
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
10075
10896
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10076
10897
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
10898
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
10077
10899
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
10078
10900
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10079
10901
|
) -> None:
|
|
@@ -10081,17 +10903,20 @@ class Ec2Runner(
|
|
|
10081
10903
|
:param scope: -
|
|
10082
10904
|
:param id: -
|
|
10083
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
|
|
10084
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()
|
|
10085
|
-
: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
|
|
10086
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']
|
|
10087
10910
|
:param security_group: (deprecated) Security Group to assign to launched runner instances. Default: a new security group
|
|
10088
10911
|
:param security_groups: (experimental) Security groups to assign to launched runner instances. Default: a new security group
|
|
10089
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
|
|
10090
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.
|
|
10091
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
|
|
10092
10916
|
:param subnet: (deprecated) Subnet where the runner instances will be launched. Default: default subnet of account's default VPC
|
|
10093
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
|
|
10094
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
|
|
10095
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
|
|
10096
10921
|
:param retry_options:
|
|
10097
10922
|
|
|
@@ -10103,6 +10928,7 @@ class Ec2Runner(
|
|
|
10103
10928
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
10104
10929
|
props = Ec2RunnerProviderProps(
|
|
10105
10930
|
ami_builder=ami_builder,
|
|
10931
|
+
group=group,
|
|
10106
10932
|
image_builder=image_builder,
|
|
10107
10933
|
instance_type=instance_type,
|
|
10108
10934
|
labels=labels,
|
|
@@ -10110,10 +10936,12 @@ class Ec2Runner(
|
|
|
10110
10936
|
security_groups=security_groups,
|
|
10111
10937
|
spot=spot,
|
|
10112
10938
|
spot_max_price=spot_max_price,
|
|
10939
|
+
storage_options=storage_options,
|
|
10113
10940
|
storage_size=storage_size,
|
|
10114
10941
|
subnet=subnet,
|
|
10115
10942
|
subnet_selection=subnet_selection,
|
|
10116
10943
|
vpc=vpc,
|
|
10944
|
+
default_labels=default_labels,
|
|
10117
10945
|
log_retention=log_retention,
|
|
10118
10946
|
retry_options=retry_options,
|
|
10119
10947
|
)
|
|
@@ -10141,6 +10969,7 @@ class FargateRunner(
|
|
|
10141
10969
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
10142
10970
|
cpu: typing.Optional[jsii.Number] = None,
|
|
10143
10971
|
ephemeral_storage_gib: typing.Optional[jsii.Number] = None,
|
|
10972
|
+
group: typing.Optional[builtins.str] = None,
|
|
10144
10973
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
10145
10974
|
label: typing.Optional[builtins.str] = None,
|
|
10146
10975
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -10150,6 +10979,7 @@ class FargateRunner(
|
|
|
10150
10979
|
spot: typing.Optional[builtins.bool] = None,
|
|
10151
10980
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10152
10981
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
10982
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
10153
10983
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
10154
10984
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10155
10985
|
) -> None:
|
|
@@ -10160,6 +10990,7 @@ class FargateRunner(
|
|
|
10160
10990
|
:param cluster: (experimental) Existing Fargate cluster to use. Default: a new cluster
|
|
10161
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
|
|
10162
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
|
|
10163
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()
|
|
10164
10995
|
:param label: (deprecated) GitHub Actions label used for this provider. Default: undefined
|
|
10165
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']
|
|
@@ -10169,6 +11000,7 @@ class FargateRunner(
|
|
|
10169
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
|
|
10170
11001
|
:param subnet_selection: (experimental) Subnets to run the runners in. Default: Fargate default
|
|
10171
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
|
|
10172
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
|
|
10173
11005
|
:param retry_options:
|
|
10174
11006
|
|
|
@@ -10183,6 +11015,7 @@ class FargateRunner(
|
|
|
10183
11015
|
cluster=cluster,
|
|
10184
11016
|
cpu=cpu,
|
|
10185
11017
|
ephemeral_storage_gib=ephemeral_storage_gib,
|
|
11018
|
+
group=group,
|
|
10186
11019
|
image_builder=image_builder,
|
|
10187
11020
|
label=label,
|
|
10188
11021
|
labels=labels,
|
|
@@ -10192,6 +11025,7 @@ class FargateRunner(
|
|
|
10192
11025
|
spot=spot,
|
|
10193
11026
|
subnet_selection=subnet_selection,
|
|
10194
11027
|
vpc=vpc,
|
|
11028
|
+
default_labels=default_labels,
|
|
10195
11029
|
log_retention=log_retention,
|
|
10196
11030
|
retry_options=retry_options,
|
|
10197
11031
|
)
|
|
@@ -10221,6 +11055,7 @@ __all__ = [
|
|
|
10221
11055
|
"FargateRunner",
|
|
10222
11056
|
"FargateRunnerProvider",
|
|
10223
11057
|
"FargateRunnerProviderProps",
|
|
11058
|
+
"FastLaunchOptions",
|
|
10224
11059
|
"GitHubRunners",
|
|
10225
11060
|
"GitHubRunnersProps",
|
|
10226
11061
|
"IConfigurableRunnerImageBuilder",
|
|
@@ -10253,6 +11088,7 @@ __all__ = [
|
|
|
10253
11088
|
"RunnerVersion",
|
|
10254
11089
|
"Secrets",
|
|
10255
11090
|
"StaticRunnerImage",
|
|
11091
|
+
"StorageOptions",
|
|
10256
11092
|
"WindowsComponents",
|
|
10257
11093
|
]
|
|
10258
11094
|
|
|
@@ -10306,7 +11142,9 @@ def _typecheckingstub__41cf6bb0c2118d6cb7d082b7e678fba3dae1f5b8812776005eef7b14e
|
|
|
10306
11142
|
|
|
10307
11143
|
def _typecheckingstub__fe17585d38b67015c3f03db2aefab095f171e0e0900c9a4564679bbc5a29fd07(
|
|
10308
11144
|
*,
|
|
11145
|
+
fast_launch_options: typing.Optional[typing.Union[FastLaunchOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10309
11146
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
11147
|
+
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
10310
11148
|
) -> None:
|
|
10311
11149
|
"""Type checking stubs"""
|
|
10312
11150
|
pass
|
|
@@ -10357,6 +11195,15 @@ def _typecheckingstub__b7b6832b84987dee7e16a1e7bde046b812c75e74a268cb3fbf2685d3f
|
|
|
10357
11195
|
"""Type checking stubs"""
|
|
10358
11196
|
pass
|
|
10359
11197
|
|
|
11198
|
+
def _typecheckingstub__d2952ae322a0fd40b480084b183be9e7179337af84efb30a496aa331a22fa562(
|
|
11199
|
+
*,
|
|
11200
|
+
enabled: typing.Optional[builtins.bool] = None,
|
|
11201
|
+
max_parallel_launches: typing.Optional[jsii.Number] = None,
|
|
11202
|
+
target_resource_count: typing.Optional[jsii.Number] = None,
|
|
11203
|
+
) -> None:
|
|
11204
|
+
"""Type checking stubs"""
|
|
11205
|
+
pass
|
|
11206
|
+
|
|
10360
11207
|
def _typecheckingstub__c1a45de07d09ed9f4fd0b9051aeff4571ceda633f49c0b30a5058ad6d72fad18(
|
|
10361
11208
|
scope: _constructs_77d1e7e8.Construct,
|
|
10362
11209
|
id: builtins.str,
|
|
@@ -10479,6 +11326,7 @@ def _typecheckingstub__637ac3a7237f114ea2a9842f95653a0d13444cd4da7a4dfe9330fdb98
|
|
|
10479
11326
|
id: builtins.str,
|
|
10480
11327
|
*,
|
|
10481
11328
|
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
11329
|
+
group: typing.Optional[builtins.str] = None,
|
|
10482
11330
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
10483
11331
|
label: typing.Optional[builtins.str] = None,
|
|
10484
11332
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -10488,6 +11336,7 @@ def _typecheckingstub__637ac3a7237f114ea2a9842f95653a0d13444cd4da7a4dfe9330fdb98
|
|
|
10488
11336
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10489
11337
|
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
10490
11338
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
11339
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
10491
11340
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
10492
11341
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10493
11342
|
) -> None:
|
|
@@ -10505,6 +11354,7 @@ def _typecheckingstub__ce2bbc7a18f99610673c6eb5e5f04fb45ba63301ff0fbe52524601461
|
|
|
10505
11354
|
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
10506
11355
|
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10507
11356
|
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
11357
|
+
docker_setup_commands: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
10508
11358
|
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
10509
11359
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
10510
11360
|
os: typing.Optional[Os] = None,
|
|
@@ -10513,6 +11363,7 @@ def _typecheckingstub__ce2bbc7a18f99610673c6eb5e5f04fb45ba63301ff0fbe52524601461
|
|
|
10513
11363
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
10514
11364
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10515
11365
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
11366
|
+
wait_on_deploy: typing.Optional[builtins.bool] = None,
|
|
10516
11367
|
) -> None:
|
|
10517
11368
|
"""Type checking stubs"""
|
|
10518
11369
|
pass
|
|
@@ -10674,6 +11525,7 @@ def _typecheckingstub__ab96b7f3871624e8430668114e7f5748ba5d253168db5b8f9a13955d0
|
|
|
10674
11525
|
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
10675
11526
|
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10676
11527
|
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
11528
|
+
docker_setup_commands: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
10677
11529
|
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
10678
11530
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
10679
11531
|
os: typing.Optional[Os] = None,
|
|
@@ -10682,6 +11534,13 @@ def _typecheckingstub__ab96b7f3871624e8430668114e7f5748ba5d253168db5b8f9a13955d0
|
|
|
10682
11534
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
10683
11535
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10684
11536
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
11537
|
+
wait_on_deploy: typing.Optional[builtins.bool] = None,
|
|
11538
|
+
) -> None:
|
|
11539
|
+
"""Type checking stubs"""
|
|
11540
|
+
pass
|
|
11541
|
+
|
|
11542
|
+
def _typecheckingstub__604cc9b160ccf839230b5f673dff20a8c9722aa81c88ef3ccadcdfcec778ec1a(
|
|
11543
|
+
vars: typing.Mapping[builtins.str, builtins.str],
|
|
10685
11544
|
) -> None:
|
|
10686
11545
|
"""Type checking stubs"""
|
|
10687
11546
|
pass
|
|
@@ -10739,6 +11598,7 @@ def _typecheckingstub__6fe5c2d2437d742085479f02259513b739e15d569c2f5b87bf0244bf4
|
|
|
10739
11598
|
|
|
10740
11599
|
def _typecheckingstub__faa1323116edff475c54eafc82f7af57dd73527c022a54b6210c5a490a80a1d3(
|
|
10741
11600
|
*,
|
|
11601
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
10742
11602
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
10743
11603
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10744
11604
|
) -> None:
|
|
@@ -10801,6 +11661,15 @@ def _typecheckingstub__f48d8ecb3f18c1471b45f7dfd8f15c51227e04697959138092d72a915
|
|
|
10801
11661
|
"""Type checking stubs"""
|
|
10802
11662
|
pass
|
|
10803
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
|
+
|
|
10804
11673
|
def _typecheckingstub__0c68c27f668327e6aeb3b0e5b7e88235ae547046edeb1fa6a808b729a31b7bd2(
|
|
10805
11674
|
scope: _constructs_77d1e7e8.Construct,
|
|
10806
11675
|
id: builtins.str,
|
|
@@ -10993,6 +11862,7 @@ def _typecheckingstub__bb924a0cf987a9f87f4ad0ebd952c61ebd4e02d7d83501b9600f14157
|
|
|
10993
11862
|
*,
|
|
10994
11863
|
compute_type: typing.Optional[_aws_cdk_aws_codebuild_ceddda9d.ComputeType] = None,
|
|
10995
11864
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
11865
|
+
group: typing.Optional[builtins.str] = None,
|
|
10996
11866
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
10997
11867
|
label: typing.Optional[builtins.str] = None,
|
|
10998
11868
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11001,6 +11871,7 @@ def _typecheckingstub__bb924a0cf987a9f87f4ad0ebd952c61ebd4e02d7d83501b9600f14157
|
|
|
11001
11871
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11002
11872
|
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
11003
11873
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
11874
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11004
11875
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11005
11876
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11006
11877
|
) -> None:
|
|
@@ -11018,6 +11889,7 @@ def _typecheckingstub__5b74a56ca854b011edea7d259b730771e5a994081db1aa0bdbea8b3e2
|
|
|
11018
11889
|
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
11019
11890
|
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11020
11891
|
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
11892
|
+
docker_setup_commands: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
11021
11893
|
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
11022
11894
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11023
11895
|
os: typing.Optional[Os] = None,
|
|
@@ -11026,6 +11898,7 @@ def _typecheckingstub__5b74a56ca854b011edea7d259b730771e5a994081db1aa0bdbea8b3e2
|
|
|
11026
11898
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11027
11899
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11028
11900
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
11901
|
+
wait_on_deploy: typing.Optional[builtins.bool] = None,
|
|
11029
11902
|
) -> None:
|
|
11030
11903
|
"""Type checking stubs"""
|
|
11031
11904
|
pass
|
|
@@ -11052,10 +11925,12 @@ def _typecheckingstub__6969b9c3ab349e4eada340b71bb6e985c199a88642a6d68289cc42ad9
|
|
|
11052
11925
|
|
|
11053
11926
|
def _typecheckingstub__9377dcf4cd4dae74730635bdaf02246acb473843cea2856cf9a64295df964eb6(
|
|
11054
11927
|
*,
|
|
11928
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11055
11929
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11056
11930
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11057
11931
|
compute_type: typing.Optional[_aws_cdk_aws_codebuild_ceddda9d.ComputeType] = None,
|
|
11058
11932
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
11933
|
+
group: typing.Optional[builtins.str] = None,
|
|
11059
11934
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11060
11935
|
label: typing.Optional[builtins.str] = None,
|
|
11061
11936
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11149,6 +12024,7 @@ def _typecheckingstub__fd3f279069067627058d9a5818aab030be5ffd71ce03962b4fd7cdd85
|
|
|
11149
12024
|
id: builtins.str,
|
|
11150
12025
|
*,
|
|
11151
12026
|
ami_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
12027
|
+
group: typing.Optional[builtins.str] = None,
|
|
11152
12028
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11153
12029
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
11154
12030
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11156,10 +12032,12 @@ def _typecheckingstub__fd3f279069067627058d9a5818aab030be5ffd71ce03962b4fd7cdd85
|
|
|
11156
12032
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11157
12033
|
spot: typing.Optional[builtins.bool] = None,
|
|
11158
12034
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
12035
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11159
12036
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
11160
12037
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
11161
12038
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11162
12039
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12040
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11163
12041
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11164
12042
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11165
12043
|
) -> None:
|
|
@@ -11177,6 +12055,7 @@ def _typecheckingstub__c9910152a829b3b3a0a9e70ec31bd3ae8669b723ebb60627c6d08813b
|
|
|
11177
12055
|
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
11178
12056
|
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11179
12057
|
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
12058
|
+
docker_setup_commands: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
11180
12059
|
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
11181
12060
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11182
12061
|
os: typing.Optional[Os] = None,
|
|
@@ -11185,6 +12064,7 @@ def _typecheckingstub__c9910152a829b3b3a0a9e70ec31bd3ae8669b723ebb60627c6d08813b
|
|
|
11185
12064
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11186
12065
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11187
12066
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12067
|
+
wait_on_deploy: typing.Optional[builtins.bool] = None,
|
|
11188
12068
|
) -> None:
|
|
11189
12069
|
"""Type checking stubs"""
|
|
11190
12070
|
pass
|
|
@@ -11211,9 +12091,11 @@ def _typecheckingstub__f493efe2a09a1094bf977e7690b481a2257fb28bdf86de99ba09b0eb0
|
|
|
11211
12091
|
|
|
11212
12092
|
def _typecheckingstub__b650c4bf7f2a31b514d6f1f9e0c1b4b2cdae8b20b6f209f5b5fc74ef418fc2a3(
|
|
11213
12093
|
*,
|
|
12094
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11214
12095
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11215
12096
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11216
12097
|
ami_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
12098
|
+
group: typing.Optional[builtins.str] = None,
|
|
11217
12099
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11218
12100
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
11219
12101
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11221,6 +12103,7 @@ def _typecheckingstub__b650c4bf7f2a31b514d6f1f9e0c1b4b2cdae8b20b6f209f5b5fc74ef4
|
|
|
11221
12103
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11222
12104
|
spot: typing.Optional[builtins.bool] = None,
|
|
11223
12105
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
12106
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11224
12107
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
11225
12108
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
11226
12109
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -11238,6 +12121,7 @@ def _typecheckingstub__c520325dd0289bf8c6670ecdce77df4b229a0a2681957e61665818d2f
|
|
|
11238
12121
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
11239
12122
|
cpu: typing.Optional[jsii.Number] = None,
|
|
11240
12123
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
12124
|
+
group: typing.Optional[builtins.str] = None,
|
|
11241
12125
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11242
12126
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
11243
12127
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11245,12 +12129,16 @@ def _typecheckingstub__c520325dd0289bf8c6670ecdce77df4b229a0a2681957e61665818d2f
|
|
|
11245
12129
|
memory_limit_mib: typing.Optional[jsii.Number] = None,
|
|
11246
12130
|
memory_reservation_mib: typing.Optional[jsii.Number] = None,
|
|
11247
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,
|
|
11248
12134
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11249
12135
|
spot: typing.Optional[builtins.bool] = None,
|
|
11250
12136
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
12137
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11251
12138
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
11252
12139
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11253
12140
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12141
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11254
12142
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11255
12143
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11256
12144
|
) -> None:
|
|
@@ -11268,6 +12156,7 @@ def _typecheckingstub__7b459d87ca6935e6c04ff03be02ed821eef81dbc792be822f356697f6
|
|
|
11268
12156
|
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
11269
12157
|
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11270
12158
|
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
12159
|
+
docker_setup_commands: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
11271
12160
|
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
11272
12161
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11273
12162
|
os: typing.Optional[Os] = None,
|
|
@@ -11276,6 +12165,7 @@ def _typecheckingstub__7b459d87ca6935e6c04ff03be02ed821eef81dbc792be822f356697f6
|
|
|
11276
12165
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11277
12166
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11278
12167
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12168
|
+
wait_on_deploy: typing.Optional[builtins.bool] = None,
|
|
11279
12169
|
) -> None:
|
|
11280
12170
|
"""Type checking stubs"""
|
|
11281
12171
|
pass
|
|
@@ -11302,6 +12192,7 @@ def _typecheckingstub__e7ecb1269ac1102589a8eb3fdd808b1c194dffc5acfa36b649506b72c
|
|
|
11302
12192
|
|
|
11303
12193
|
def _typecheckingstub__73c1978e12dcea1bd69ce0927a80bd887d7f7d1b6573831942495e9d5966b483(
|
|
11304
12194
|
*,
|
|
12195
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11305
12196
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11306
12197
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11307
12198
|
assign_public_ip: typing.Optional[builtins.bool] = None,
|
|
@@ -11309,6 +12200,7 @@ def _typecheckingstub__73c1978e12dcea1bd69ce0927a80bd887d7f7d1b6573831942495e9d5
|
|
|
11309
12200
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
11310
12201
|
cpu: typing.Optional[jsii.Number] = None,
|
|
11311
12202
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
12203
|
+
group: typing.Optional[builtins.str] = None,
|
|
11312
12204
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11313
12205
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
11314
12206
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11316,9 +12208,12 @@ def _typecheckingstub__73c1978e12dcea1bd69ce0927a80bd887d7f7d1b6573831942495e9d5
|
|
|
11316
12208
|
memory_limit_mib: typing.Optional[jsii.Number] = None,
|
|
11317
12209
|
memory_reservation_mib: typing.Optional[jsii.Number] = None,
|
|
11318
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,
|
|
11319
12213
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11320
12214
|
spot: typing.Optional[builtins.bool] = None,
|
|
11321
12215
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
12216
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11322
12217
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
11323
12218
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11324
12219
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
@@ -11334,6 +12229,7 @@ def _typecheckingstub__f7098876c10584a4cc58e16d23fd86ffe1fc50f2b55ca60549136d051
|
|
|
11334
12229
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
11335
12230
|
cpu: typing.Optional[jsii.Number] = None,
|
|
11336
12231
|
ephemeral_storage_gib: typing.Optional[jsii.Number] = None,
|
|
12232
|
+
group: typing.Optional[builtins.str] = None,
|
|
11337
12233
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11338
12234
|
label: typing.Optional[builtins.str] = None,
|
|
11339
12235
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11343,6 +12239,7 @@ def _typecheckingstub__f7098876c10584a4cc58e16d23fd86ffe1fc50f2b55ca60549136d051
|
|
|
11343
12239
|
spot: typing.Optional[builtins.bool] = None,
|
|
11344
12240
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11345
12241
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12242
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11346
12243
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11347
12244
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11348
12245
|
) -> None:
|
|
@@ -11360,6 +12257,7 @@ def _typecheckingstub__9fd4f7f17e5e5c5b64ec7abfe1183d153e9472f7a1e9312e6d4b55f3f
|
|
|
11360
12257
|
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
11361
12258
|
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11362
12259
|
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
12260
|
+
docker_setup_commands: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
11363
12261
|
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
11364
12262
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11365
12263
|
os: typing.Optional[Os] = None,
|
|
@@ -11368,6 +12266,7 @@ def _typecheckingstub__9fd4f7f17e5e5c5b64ec7abfe1183d153e9472f7a1e9312e6d4b55f3f
|
|
|
11368
12266
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11369
12267
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11370
12268
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12269
|
+
wait_on_deploy: typing.Optional[builtins.bool] = None,
|
|
11371
12270
|
) -> None:
|
|
11372
12271
|
"""Type checking stubs"""
|
|
11373
12272
|
pass
|
|
@@ -11394,12 +12293,14 @@ def _typecheckingstub__9c62078db683958716a7ad86909a8b9b4dce462def398eb03faf0dc61
|
|
|
11394
12293
|
|
|
11395
12294
|
def _typecheckingstub__26cdeb87df1adf5c49e0f9c1c061c7138af674da9af221212e1505fc1193583d(
|
|
11396
12295
|
*,
|
|
12296
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11397
12297
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11398
12298
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11399
12299
|
assign_public_ip: typing.Optional[builtins.bool] = None,
|
|
11400
12300
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
11401
12301
|
cpu: typing.Optional[jsii.Number] = None,
|
|
11402
12302
|
ephemeral_storage_gib: typing.Optional[jsii.Number] = None,
|
|
12303
|
+
group: typing.Optional[builtins.str] = None,
|
|
11403
12304
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11404
12305
|
label: typing.Optional[builtins.str] = None,
|
|
11405
12306
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11430,6 +12331,7 @@ def _typecheckingstub__80e9b84ecba02bdef856d3ee3f48a5e0a5e58ad813554fd529c0abe3a
|
|
|
11430
12331
|
id: builtins.str,
|
|
11431
12332
|
*,
|
|
11432
12333
|
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
12334
|
+
group: typing.Optional[builtins.str] = None,
|
|
11433
12335
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11434
12336
|
label: typing.Optional[builtins.str] = None,
|
|
11435
12337
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11439,6 +12341,7 @@ def _typecheckingstub__80e9b84ecba02bdef856d3ee3f48a5e0a5e58ad813554fd529c0abe3a
|
|
|
11439
12341
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11440
12342
|
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
11441
12343
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12344
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11442
12345
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11443
12346
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11444
12347
|
) -> None:
|
|
@@ -11447,9 +12350,11 @@ def _typecheckingstub__80e9b84ecba02bdef856d3ee3f48a5e0a5e58ad813554fd529c0abe3a
|
|
|
11447
12350
|
|
|
11448
12351
|
def _typecheckingstub__45a4a92b817689da2d55675d278ad5c96699269cc41f3406b7fca6d7a7664861(
|
|
11449
12352
|
*,
|
|
12353
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11450
12354
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11451
12355
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11452
12356
|
ephemeral_storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
12357
|
+
group: typing.Optional[builtins.str] = None,
|
|
11453
12358
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11454
12359
|
label: typing.Optional[builtins.str] = None,
|
|
11455
12360
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11474,6 +12379,7 @@ def _typecheckingstub__963c9a4884bb9d7400672391dfb47486f969a1b8fe5616bba9cd493e8
|
|
|
11474
12379
|
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
11475
12380
|
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11476
12381
|
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
12382
|
+
docker_setup_commands: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
11477
12383
|
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
11478
12384
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11479
12385
|
os: typing.Optional[Os] = None,
|
|
@@ -11482,6 +12388,7 @@ def _typecheckingstub__963c9a4884bb9d7400672391dfb47486f969a1b8fe5616bba9cd493e8
|
|
|
11482
12388
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11483
12389
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11484
12390
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12391
|
+
wait_on_deploy: typing.Optional[builtins.bool] = None,
|
|
11485
12392
|
) -> None:
|
|
11486
12393
|
"""Type checking stubs"""
|
|
11487
12394
|
pass
|
|
@@ -11497,6 +12404,7 @@ def _typecheckingstub__c44d5704c54d7fdcf24ad39567c0e9f53f9837163bf8bf3b1b4e652e2
|
|
|
11497
12404
|
builder_type: typing.Optional[RunnerImageBuilderType] = None,
|
|
11498
12405
|
code_build_options: typing.Optional[typing.Union[CodeBuildRunnerImageBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11499
12406
|
components: typing.Optional[typing.Sequence[RunnerImageComponent]] = None,
|
|
12407
|
+
docker_setup_commands: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
11500
12408
|
log_removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
11501
12409
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11502
12410
|
os: typing.Optional[Os] = None,
|
|
@@ -11505,6 +12413,7 @@ def _typecheckingstub__c44d5704c54d7fdcf24ad39567c0e9f53f9837163bf8bf3b1b4e652e2
|
|
|
11505
12413
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11506
12414
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11507
12415
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12416
|
+
wait_on_deploy: typing.Optional[builtins.bool] = None,
|
|
11508
12417
|
) -> None:
|
|
11509
12418
|
"""Type checking stubs"""
|
|
11510
12419
|
pass
|
|
@@ -11533,6 +12442,7 @@ def _typecheckingstub__1ab9454b0ecfcd12fc0ab07c0f0f4d7ce646a5a928f5e14092b0a6c42
|
|
|
11533
12442
|
*,
|
|
11534
12443
|
compute_type: typing.Optional[_aws_cdk_aws_codebuild_ceddda9d.ComputeType] = None,
|
|
11535
12444
|
docker_in_docker: typing.Optional[builtins.bool] = None,
|
|
12445
|
+
group: typing.Optional[builtins.str] = None,
|
|
11536
12446
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11537
12447
|
label: typing.Optional[builtins.str] = None,
|
|
11538
12448
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11541,6 +12451,7 @@ def _typecheckingstub__1ab9454b0ecfcd12fc0ab07c0f0f4d7ce646a5a928f5e14092b0a6c42
|
|
|
11541
12451
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11542
12452
|
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
11543
12453
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12454
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11544
12455
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11545
12456
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11546
12457
|
) -> None:
|
|
@@ -11552,6 +12463,7 @@ def _typecheckingstub__a0a6acc584ae2ad3aed3605810cea44858f1a0bc22f62f2df9005b318
|
|
|
11552
12463
|
id: builtins.str,
|
|
11553
12464
|
*,
|
|
11554
12465
|
ami_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
12466
|
+
group: typing.Optional[builtins.str] = None,
|
|
11555
12467
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11556
12468
|
instance_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.InstanceType] = None,
|
|
11557
12469
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11559,10 +12471,12 @@ def _typecheckingstub__a0a6acc584ae2ad3aed3605810cea44858f1a0bc22f62f2df9005b318
|
|
|
11559
12471
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11560
12472
|
spot: typing.Optional[builtins.bool] = None,
|
|
11561
12473
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
12474
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11562
12475
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
11563
12476
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
11564
12477
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11565
12478
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12479
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11566
12480
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11567
12481
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11568
12482
|
) -> None:
|
|
@@ -11577,6 +12491,7 @@ def _typecheckingstub__e507aa08f983fcd409ec9cf4ba5e0e6312ce72778cbbb2f9b5b016fde
|
|
|
11577
12491
|
cluster: typing.Optional[_aws_cdk_aws_ecs_ceddda9d.Cluster] = None,
|
|
11578
12492
|
cpu: typing.Optional[jsii.Number] = None,
|
|
11579
12493
|
ephemeral_storage_gib: typing.Optional[jsii.Number] = None,
|
|
12494
|
+
group: typing.Optional[builtins.str] = None,
|
|
11580
12495
|
image_builder: typing.Optional[IRunnerImageBuilder] = None,
|
|
11581
12496
|
label: typing.Optional[builtins.str] = None,
|
|
11582
12497
|
labels: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11586,8 +12501,12 @@ def _typecheckingstub__e507aa08f983fcd409ec9cf4ba5e0e6312ce72778cbbb2f9b5b016fde
|
|
|
11586
12501
|
spot: typing.Optional[builtins.bool] = None,
|
|
11587
12502
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11588
12503
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
12504
|
+
default_labels: typing.Optional[builtins.bool] = None,
|
|
11589
12505
|
log_retention: typing.Optional[_aws_cdk_aws_logs_ceddda9d.RetentionDays] = None,
|
|
11590
12506
|
retry_options: typing.Optional[typing.Union[ProviderRetryOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11591
12507
|
) -> None:
|
|
11592
12508
|
"""Type checking stubs"""
|
|
11593
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__'])
|