cloudsnorkel.cdk-github-runners 0.14.3__tar.gz → 0.14.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cloudsnorkel.cdk-github-runners might be problematic. Click here for more details.
- {cloudsnorkel_cdk_github_runners-0.14.3/src/cloudsnorkel.cdk_github_runners.egg-info → cloudsnorkel_cdk_github_runners-0.14.4}/PKG-INFO +2 -2
- {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/setup.py +3 -3
- {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/src/cloudsnorkel/cdk_github_runners/__init__.py +151 -0
- {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/src/cloudsnorkel/cdk_github_runners/_jsii/__init__.py +2 -2
- cloudsnorkel_cdk_github_runners-0.14.4/src/cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.4.jsii.tgz +0 -0
- {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4/src/cloudsnorkel.cdk_github_runners.egg-info}/PKG-INFO +2 -2
- {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/src/cloudsnorkel.cdk_github_runners.egg-info/SOURCES.txt +1 -1
- {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/src/cloudsnorkel.cdk_github_runners.egg-info/requires.txt +1 -1
- cloudsnorkel_cdk_github_runners-0.14.3/src/cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.3.jsii.tgz +0 -0
- {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/LICENSE +0 -0
- {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/MANIFEST.in +0 -0
- {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/README.md +0 -0
- {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/pyproject.toml +0 -0
- {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/setup.cfg +0 -0
- {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/src/cloudsnorkel/cdk_github_runners/py.typed +0 -0
- {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/src/cloudsnorkel.cdk_github_runners.egg-info/dependency_links.txt +0 -0
- {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/src/cloudsnorkel.cdk_github_runners.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cloudsnorkel.cdk-github-runners
|
|
3
|
-
Version: 0.14.
|
|
3
|
+
Version: 0.14.4
|
|
4
4
|
Summary: CDK construct to create GitHub Actions self-hosted runners. A webhook listens to events and creates ephemeral runners on the fly.
|
|
5
5
|
Home-page: https://github.com/CloudSnorkel/cdk-github-runners.git
|
|
6
6
|
Author: Amir Szekely<amir@cloudsnorkel.com>
|
|
@@ -20,7 +20,7 @@ Classifier: License :: OSI Approved
|
|
|
20
20
|
Requires-Python: ~=3.8
|
|
21
21
|
Description-Content-Type: text/markdown
|
|
22
22
|
License-File: LICENSE
|
|
23
|
-
Requires-Dist: aws-cdk-lib<3.0.0,>=2.
|
|
23
|
+
Requires-Dist: aws-cdk-lib<3.0.0,>=2.155.0
|
|
24
24
|
Requires-Dist: constructs<11.0.0,>=10.0.5
|
|
25
25
|
Requires-Dist: jsii<2.0.0,>=1.103.1
|
|
26
26
|
Requires-Dist: publication>=0.0.3
|
|
@@ -5,7 +5,7 @@ kwargs = json.loads(
|
|
|
5
5
|
"""
|
|
6
6
|
{
|
|
7
7
|
"name": "cloudsnorkel.cdk-github-runners",
|
|
8
|
-
"version": "0.14.
|
|
8
|
+
"version": "0.14.4",
|
|
9
9
|
"description": "CDK construct to create GitHub Actions self-hosted runners. A webhook listens to events and creates ephemeral runners on the fly.",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"url": "https://github.com/CloudSnorkel/cdk-github-runners.git",
|
|
@@ -26,7 +26,7 @@ kwargs = json.loads(
|
|
|
26
26
|
],
|
|
27
27
|
"package_data": {
|
|
28
28
|
"cloudsnorkel.cdk_github_runners._jsii": [
|
|
29
|
-
"cdk-github-runners@0.14.
|
|
29
|
+
"cdk-github-runners@0.14.4.jsii.tgz"
|
|
30
30
|
],
|
|
31
31
|
"cloudsnorkel.cdk_github_runners": [
|
|
32
32
|
"py.typed"
|
|
@@ -34,7 +34,7 @@ kwargs = json.loads(
|
|
|
34
34
|
},
|
|
35
35
|
"python_requires": "~=3.8",
|
|
36
36
|
"install_requires": [
|
|
37
|
-
"aws-cdk-lib>=2.
|
|
37
|
+
"aws-cdk-lib>=2.155.0, <3.0.0",
|
|
38
38
|
"constructs>=10.0.5, <11.0.0",
|
|
39
39
|
"jsii>=1.103.1, <2.0.0",
|
|
40
40
|
"publication>=0.0.3",
|
|
@@ -5818,6 +5818,99 @@ class StaticRunnerImage(
|
|
|
5818
5818
|
return typing.cast(IRunnerImageBuilder, jsii.sinvoke(cls, "fromEcrRepository", [repository, tag, architecture, os]))
|
|
5819
5819
|
|
|
5820
5820
|
|
|
5821
|
+
@jsii.data_type(
|
|
5822
|
+
jsii_type="@cloudsnorkel/cdk-github-runners.StorageOptions",
|
|
5823
|
+
jsii_struct_bases=[],
|
|
5824
|
+
name_mapping={
|
|
5825
|
+
"iops": "iops",
|
|
5826
|
+
"throughput": "throughput",
|
|
5827
|
+
"volume_type": "volumeType",
|
|
5828
|
+
},
|
|
5829
|
+
)
|
|
5830
|
+
class StorageOptions:
|
|
5831
|
+
def __init__(
|
|
5832
|
+
self,
|
|
5833
|
+
*,
|
|
5834
|
+
iops: typing.Optional[jsii.Number] = None,
|
|
5835
|
+
throughput: typing.Optional[jsii.Number] = None,
|
|
5836
|
+
volume_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.EbsDeviceVolumeType] = None,
|
|
5837
|
+
) -> None:
|
|
5838
|
+
'''(experimental) Storage options for the runner instance.
|
|
5839
|
+
|
|
5840
|
+
: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``
|
|
5841
|
+
: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.
|
|
5842
|
+
:param volume_type: (experimental) The EBS volume type. Default: ``EbsDeviceVolumeType.GP2``
|
|
5843
|
+
|
|
5844
|
+
:stability: experimental
|
|
5845
|
+
'''
|
|
5846
|
+
if __debug__:
|
|
5847
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ec3b766929d3a048d89c7dc502f77bbbfc7357735093ebc66695a13b92f9bf82)
|
|
5848
|
+
check_type(argname="argument iops", value=iops, expected_type=type_hints["iops"])
|
|
5849
|
+
check_type(argname="argument throughput", value=throughput, expected_type=type_hints["throughput"])
|
|
5850
|
+
check_type(argname="argument volume_type", value=volume_type, expected_type=type_hints["volume_type"])
|
|
5851
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
5852
|
+
if iops is not None:
|
|
5853
|
+
self._values["iops"] = iops
|
|
5854
|
+
if throughput is not None:
|
|
5855
|
+
self._values["throughput"] = throughput
|
|
5856
|
+
if volume_type is not None:
|
|
5857
|
+
self._values["volume_type"] = volume_type
|
|
5858
|
+
|
|
5859
|
+
@builtins.property
|
|
5860
|
+
def iops(self) -> typing.Optional[jsii.Number]:
|
|
5861
|
+
'''(experimental) The number of I/O operations per second (IOPS) to provision for the volume.
|
|
5862
|
+
|
|
5863
|
+
Must only be set for ``volumeType``: ``EbsDeviceVolumeType.IO1``
|
|
5864
|
+
|
|
5865
|
+
The maximum ratio of IOPS to volume size (in GiB) is 50:1, so for 5,000 provisioned IOPS,
|
|
5866
|
+
you need at least 100 GiB storage on the volume.
|
|
5867
|
+
|
|
5868
|
+
:default: - none, required for ``EbsDeviceVolumeType.IO1``
|
|
5869
|
+
|
|
5870
|
+
:see: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
|
|
5871
|
+
:stability: experimental
|
|
5872
|
+
'''
|
|
5873
|
+
result = self._values.get("iops")
|
|
5874
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
5875
|
+
|
|
5876
|
+
@builtins.property
|
|
5877
|
+
def throughput(self) -> typing.Optional[jsii.Number]:
|
|
5878
|
+
'''(experimental) The throughput that the volume supports, in MiB/s Takes a minimum of 125 and maximum of 1000.
|
|
5879
|
+
|
|
5880
|
+
:default: - 125 MiB/s. Only valid on gp3 volumes.
|
|
5881
|
+
|
|
5882
|
+
:see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-throughput
|
|
5883
|
+
:stability: experimental
|
|
5884
|
+
'''
|
|
5885
|
+
result = self._values.get("throughput")
|
|
5886
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
5887
|
+
|
|
5888
|
+
@builtins.property
|
|
5889
|
+
def volume_type(
|
|
5890
|
+
self,
|
|
5891
|
+
) -> typing.Optional[_aws_cdk_aws_ec2_ceddda9d.EbsDeviceVolumeType]:
|
|
5892
|
+
'''(experimental) The EBS volume type.
|
|
5893
|
+
|
|
5894
|
+
:default: ``EbsDeviceVolumeType.GP2``
|
|
5895
|
+
|
|
5896
|
+
:see: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
|
|
5897
|
+
:stability: experimental
|
|
5898
|
+
'''
|
|
5899
|
+
result = self._values.get("volume_type")
|
|
5900
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_ec2_ceddda9d.EbsDeviceVolumeType], result)
|
|
5901
|
+
|
|
5902
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
5903
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
5904
|
+
|
|
5905
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
5906
|
+
return not (rhs == self)
|
|
5907
|
+
|
|
5908
|
+
def __repr__(self) -> str:
|
|
5909
|
+
return "StorageOptions(%s)" % ", ".join(
|
|
5910
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
5911
|
+
)
|
|
5912
|
+
|
|
5913
|
+
|
|
5821
5914
|
class WindowsComponents(
|
|
5822
5915
|
metaclass=jsii.JSIIMeta,
|
|
5823
5916
|
jsii_type="@cloudsnorkel/cdk-github-runners.WindowsComponents",
|
|
@@ -7476,6 +7569,7 @@ class Ec2RunnerProvider(
|
|
|
7476
7569
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
7477
7570
|
spot: typing.Optional[builtins.bool] = None,
|
|
7478
7571
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
7572
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7479
7573
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
7480
7574
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
7481
7575
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -7494,6 +7588,7 @@ class Ec2RunnerProvider(
|
|
|
7494
7588
|
:param security_groups: (experimental) Security groups to assign to launched runner instances. Default: a new security group
|
|
7495
7589
|
:param spot: (experimental) Use spot instances to save money. Spot instances are cheaper but not always available and can be stopped prematurely. Default: false
|
|
7496
7590
|
:param spot_max_price: (experimental) Set a maximum price for spot instances. Default: no max price (you will pay current spot price)
|
|
7591
|
+
:param storage_options: (experimental) Options for runner instance storage volume.
|
|
7497
7592
|
: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
|
|
7498
7593
|
:param subnet: (deprecated) Subnet where the runner instances will be launched. Default: default subnet of account's default VPC
|
|
7499
7594
|
: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
|
|
@@ -7516,6 +7611,7 @@ class Ec2RunnerProvider(
|
|
|
7516
7611
|
security_groups=security_groups,
|
|
7517
7612
|
spot=spot,
|
|
7518
7613
|
spot_max_price=spot_max_price,
|
|
7614
|
+
storage_options=storage_options,
|
|
7519
7615
|
storage_size=storage_size,
|
|
7520
7616
|
subnet=subnet,
|
|
7521
7617
|
subnet_selection=subnet_selection,
|
|
@@ -7772,6 +7868,7 @@ class Ec2RunnerProvider(
|
|
|
7772
7868
|
"security_groups": "securityGroups",
|
|
7773
7869
|
"spot": "spot",
|
|
7774
7870
|
"spot_max_price": "spotMaxPrice",
|
|
7871
|
+
"storage_options": "storageOptions",
|
|
7775
7872
|
"storage_size": "storageSize",
|
|
7776
7873
|
"subnet": "subnet",
|
|
7777
7874
|
"subnet_selection": "subnetSelection",
|
|
@@ -7792,6 +7889,7 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7792
7889
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
7793
7890
|
spot: typing.Optional[builtins.bool] = None,
|
|
7794
7891
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
7892
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7795
7893
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
7796
7894
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
7797
7895
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -7809,6 +7907,7 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7809
7907
|
:param security_groups: (experimental) Security groups to assign to launched runner instances. Default: a new security group
|
|
7810
7908
|
:param spot: (experimental) Use spot instances to save money. Spot instances are cheaper but not always available and can be stopped prematurely. Default: false
|
|
7811
7909
|
:param spot_max_price: (experimental) Set a maximum price for spot instances. Default: no max price (you will pay current spot price)
|
|
7910
|
+
:param storage_options: (experimental) Options for runner instance storage volume.
|
|
7812
7911
|
: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
|
|
7813
7912
|
:param subnet: (deprecated) Subnet where the runner instances will be launched. Default: default subnet of account's default VPC
|
|
7814
7913
|
: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
|
|
@@ -7818,6 +7917,8 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7818
7917
|
'''
|
|
7819
7918
|
if isinstance(retry_options, dict):
|
|
7820
7919
|
retry_options = ProviderRetryOptions(**retry_options)
|
|
7920
|
+
if isinstance(storage_options, dict):
|
|
7921
|
+
storage_options = StorageOptions(**storage_options)
|
|
7821
7922
|
if isinstance(subnet_selection, dict):
|
|
7822
7923
|
subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
|
|
7823
7924
|
if __debug__:
|
|
@@ -7832,6 +7933,7 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7832
7933
|
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
7833
7934
|
check_type(argname="argument spot", value=spot, expected_type=type_hints["spot"])
|
|
7834
7935
|
check_type(argname="argument spot_max_price", value=spot_max_price, expected_type=type_hints["spot_max_price"])
|
|
7936
|
+
check_type(argname="argument storage_options", value=storage_options, expected_type=type_hints["storage_options"])
|
|
7835
7937
|
check_type(argname="argument storage_size", value=storage_size, expected_type=type_hints["storage_size"])
|
|
7836
7938
|
check_type(argname="argument subnet", value=subnet, expected_type=type_hints["subnet"])
|
|
7837
7939
|
check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
|
|
@@ -7857,6 +7959,8 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7857
7959
|
self._values["spot"] = spot
|
|
7858
7960
|
if spot_max_price is not None:
|
|
7859
7961
|
self._values["spot_max_price"] = spot_max_price
|
|
7962
|
+
if storage_options is not None:
|
|
7963
|
+
self._values["storage_options"] = storage_options
|
|
7860
7964
|
if storage_size is not None:
|
|
7861
7965
|
self._values["storage_size"] = storage_size
|
|
7862
7966
|
if subnet is not None:
|
|
@@ -7994,6 +8098,15 @@ class Ec2RunnerProviderProps(RunnerProviderProps):
|
|
|
7994
8098
|
result = self._values.get("spot_max_price")
|
|
7995
8099
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
7996
8100
|
|
|
8101
|
+
@builtins.property
|
|
8102
|
+
def storage_options(self) -> typing.Optional[StorageOptions]:
|
|
8103
|
+
'''(experimental) Options for runner instance storage volume.
|
|
8104
|
+
|
|
8105
|
+
:stability: experimental
|
|
8106
|
+
'''
|
|
8107
|
+
result = self._values.get("storage_options")
|
|
8108
|
+
return typing.cast(typing.Optional[StorageOptions], result)
|
|
8109
|
+
|
|
7997
8110
|
@builtins.property
|
|
7998
8111
|
def storage_size(self) -> typing.Optional[_aws_cdk_ceddda9d.Size]:
|
|
7999
8112
|
'''(experimental) Size of volume available for launched runner instances.
|
|
@@ -8095,6 +8208,7 @@ class EcsRunnerProvider(
|
|
|
8095
8208
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
8096
8209
|
spot: typing.Optional[builtins.bool] = None,
|
|
8097
8210
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
8211
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8098
8212
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
8099
8213
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8100
8214
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
@@ -8119,6 +8233,7 @@ class EcsRunnerProvider(
|
|
|
8119
8233
|
:param security_groups: (experimental) Security groups to assign to the task. Default: a new security group
|
|
8120
8234
|
:param spot: (experimental) Use spot capacity. Default: false (true if spotMaxPrice is specified)
|
|
8121
8235
|
:param spot_max_price: (experimental) Maximum price for spot instances.
|
|
8236
|
+
:param storage_options: (experimental) Options for runner instance storage volume.
|
|
8122
8237
|
: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)
|
|
8123
8238
|
:param subnet_selection: (experimental) Subnets to run the runners in. Default: ECS default
|
|
8124
8239
|
:param vpc: (experimental) VPC to launch the runners in. Default: default account VPC
|
|
@@ -8147,6 +8262,7 @@ class EcsRunnerProvider(
|
|
|
8147
8262
|
security_groups=security_groups,
|
|
8148
8263
|
spot=spot,
|
|
8149
8264
|
spot_max_price=spot_max_price,
|
|
8265
|
+
storage_options=storage_options,
|
|
8150
8266
|
storage_size=storage_size,
|
|
8151
8267
|
subnet_selection=subnet_selection,
|
|
8152
8268
|
vpc=vpc,
|
|
@@ -8406,6 +8522,7 @@ class EcsRunnerProvider(
|
|
|
8406
8522
|
"security_groups": "securityGroups",
|
|
8407
8523
|
"spot": "spot",
|
|
8408
8524
|
"spot_max_price": "spotMaxPrice",
|
|
8525
|
+
"storage_options": "storageOptions",
|
|
8409
8526
|
"storage_size": "storageSize",
|
|
8410
8527
|
"subnet_selection": "subnetSelection",
|
|
8411
8528
|
"vpc": "vpc",
|
|
@@ -8432,6 +8549,7 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8432
8549
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
8433
8550
|
spot: typing.Optional[builtins.bool] = None,
|
|
8434
8551
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
8552
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8435
8553
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
8436
8554
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
8437
8555
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
@@ -8455,6 +8573,7 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8455
8573
|
:param security_groups: (experimental) Security groups to assign to the task. Default: a new security group
|
|
8456
8574
|
:param spot: (experimental) Use spot capacity. Default: false (true if spotMaxPrice is specified)
|
|
8457
8575
|
:param spot_max_price: (experimental) Maximum price for spot instances.
|
|
8576
|
+
:param storage_options: (experimental) Options for runner instance storage volume.
|
|
8458
8577
|
: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)
|
|
8459
8578
|
:param subnet_selection: (experimental) Subnets to run the runners in. Default: ECS default
|
|
8460
8579
|
:param vpc: (experimental) VPC to launch the runners in. Default: default account VPC
|
|
@@ -8463,6 +8582,8 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8463
8582
|
'''
|
|
8464
8583
|
if isinstance(retry_options, dict):
|
|
8465
8584
|
retry_options = ProviderRetryOptions(**retry_options)
|
|
8585
|
+
if isinstance(storage_options, dict):
|
|
8586
|
+
storage_options = StorageOptions(**storage_options)
|
|
8466
8587
|
if isinstance(subnet_selection, dict):
|
|
8467
8588
|
subnet_selection = _aws_cdk_aws_ec2_ceddda9d.SubnetSelection(**subnet_selection)
|
|
8468
8589
|
if __debug__:
|
|
@@ -8484,6 +8605,7 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8484
8605
|
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
8485
8606
|
check_type(argname="argument spot", value=spot, expected_type=type_hints["spot"])
|
|
8486
8607
|
check_type(argname="argument spot_max_price", value=spot_max_price, expected_type=type_hints["spot_max_price"])
|
|
8608
|
+
check_type(argname="argument storage_options", value=storage_options, expected_type=type_hints["storage_options"])
|
|
8487
8609
|
check_type(argname="argument storage_size", value=storage_size, expected_type=type_hints["storage_size"])
|
|
8488
8610
|
check_type(argname="argument subnet_selection", value=subnet_selection, expected_type=type_hints["subnet_selection"])
|
|
8489
8611
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
@@ -8522,6 +8644,8 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8522
8644
|
self._values["spot"] = spot
|
|
8523
8645
|
if spot_max_price is not None:
|
|
8524
8646
|
self._values["spot_max_price"] = spot_max_price
|
|
8647
|
+
if storage_options is not None:
|
|
8648
|
+
self._values["storage_options"] = storage_options
|
|
8525
8649
|
if storage_size is not None:
|
|
8526
8650
|
self._values["storage_size"] = storage_size
|
|
8527
8651
|
if subnet_selection is not None:
|
|
@@ -8744,6 +8868,15 @@ class EcsRunnerProviderProps(RunnerProviderProps):
|
|
|
8744
8868
|
result = self._values.get("spot_max_price")
|
|
8745
8869
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
8746
8870
|
|
|
8871
|
+
@builtins.property
|
|
8872
|
+
def storage_options(self) -> typing.Optional[StorageOptions]:
|
|
8873
|
+
'''(experimental) Options for runner instance storage volume.
|
|
8874
|
+
|
|
8875
|
+
:stability: experimental
|
|
8876
|
+
'''
|
|
8877
|
+
result = self._values.get("storage_options")
|
|
8878
|
+
return typing.cast(typing.Optional[StorageOptions], result)
|
|
8879
|
+
|
|
8747
8880
|
@builtins.property
|
|
8748
8881
|
def storage_size(self) -> typing.Optional[_aws_cdk_ceddda9d.Size]:
|
|
8749
8882
|
'''(experimental) Size of volume available for launched cluster instances.
|
|
@@ -10395,6 +10528,7 @@ class Ec2Runner(
|
|
|
10395
10528
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
10396
10529
|
spot: typing.Optional[builtins.bool] = None,
|
|
10397
10530
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
10531
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
10398
10532
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
10399
10533
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
10400
10534
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -10413,6 +10547,7 @@ class Ec2Runner(
|
|
|
10413
10547
|
:param security_groups: (experimental) Security groups to assign to launched runner instances. Default: a new security group
|
|
10414
10548
|
:param spot: (experimental) Use spot instances to save money. Spot instances are cheaper but not always available and can be stopped prematurely. Default: false
|
|
10415
10549
|
:param spot_max_price: (experimental) Set a maximum price for spot instances. Default: no max price (you will pay current spot price)
|
|
10550
|
+
:param storage_options: (experimental) Options for runner instance storage volume.
|
|
10416
10551
|
: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
|
|
10417
10552
|
:param subnet: (deprecated) Subnet where the runner instances will be launched. Default: default subnet of account's default VPC
|
|
10418
10553
|
: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
|
|
@@ -10435,6 +10570,7 @@ class Ec2Runner(
|
|
|
10435
10570
|
security_groups=security_groups,
|
|
10436
10571
|
spot=spot,
|
|
10437
10572
|
spot_max_price=spot_max_price,
|
|
10573
|
+
storage_options=storage_options,
|
|
10438
10574
|
storage_size=storage_size,
|
|
10439
10575
|
subnet=subnet,
|
|
10440
10576
|
subnet_selection=subnet_selection,
|
|
@@ -10579,6 +10715,7 @@ __all__ = [
|
|
|
10579
10715
|
"RunnerVersion",
|
|
10580
10716
|
"Secrets",
|
|
10581
10717
|
"StaticRunnerImage",
|
|
10718
|
+
"StorageOptions",
|
|
10582
10719
|
"WindowsComponents",
|
|
10583
10720
|
]
|
|
10584
10721
|
|
|
@@ -11148,6 +11285,15 @@ def _typecheckingstub__f48d8ecb3f18c1471b45f7dfd8f15c51227e04697959138092d72a915
|
|
|
11148
11285
|
"""Type checking stubs"""
|
|
11149
11286
|
pass
|
|
11150
11287
|
|
|
11288
|
+
def _typecheckingstub__ec3b766929d3a048d89c7dc502f77bbbfc7357735093ebc66695a13b92f9bf82(
|
|
11289
|
+
*,
|
|
11290
|
+
iops: typing.Optional[jsii.Number] = None,
|
|
11291
|
+
throughput: typing.Optional[jsii.Number] = None,
|
|
11292
|
+
volume_type: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.EbsDeviceVolumeType] = None,
|
|
11293
|
+
) -> None:
|
|
11294
|
+
"""Type checking stubs"""
|
|
11295
|
+
pass
|
|
11296
|
+
|
|
11151
11297
|
def _typecheckingstub__0c68c27f668327e6aeb3b0e5b7e88235ae547046edeb1fa6a808b729a31b7bd2(
|
|
11152
11298
|
scope: _constructs_77d1e7e8.Construct,
|
|
11153
11299
|
id: builtins.str,
|
|
@@ -11505,6 +11651,7 @@ def _typecheckingstub__fd3f279069067627058d9a5818aab030be5ffd71ce03962b4fd7cdd85
|
|
|
11505
11651
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11506
11652
|
spot: typing.Optional[builtins.bool] = None,
|
|
11507
11653
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
11654
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11508
11655
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
11509
11656
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
11510
11657
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -11572,6 +11719,7 @@ def _typecheckingstub__b650c4bf7f2a31b514d6f1f9e0c1b4b2cdae8b20b6f209f5b5fc74ef4
|
|
|
11572
11719
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11573
11720
|
spot: typing.Optional[builtins.bool] = None,
|
|
11574
11721
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
11722
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11575
11723
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
11576
11724
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
11577
11725
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -11599,6 +11747,7 @@ def _typecheckingstub__c520325dd0289bf8c6670ecdce77df4b229a0a2681957e61665818d2f
|
|
|
11599
11747
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11600
11748
|
spot: typing.Optional[builtins.bool] = None,
|
|
11601
11749
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
11750
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11602
11751
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
11603
11752
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11604
11753
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
@@ -11672,6 +11821,7 @@ def _typecheckingstub__73c1978e12dcea1bd69ce0927a80bd887d7f7d1b6573831942495e9d5
|
|
|
11672
11821
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11673
11822
|
spot: typing.Optional[builtins.bool] = None,
|
|
11674
11823
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
11824
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11675
11825
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
11676
11826
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11677
11827
|
vpc: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.IVpc] = None,
|
|
@@ -11918,6 +12068,7 @@ def _typecheckingstub__a0a6acc584ae2ad3aed3605810cea44858f1a0bc22f62f2df9005b318
|
|
|
11918
12068
|
security_groups: typing.Optional[typing.Sequence[_aws_cdk_aws_ec2_ceddda9d.ISecurityGroup]] = None,
|
|
11919
12069
|
spot: typing.Optional[builtins.bool] = None,
|
|
11920
12070
|
spot_max_price: typing.Optional[builtins.str] = None,
|
|
12071
|
+
storage_options: typing.Optional[typing.Union[StorageOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
11921
12072
|
storage_size: typing.Optional[_aws_cdk_ceddda9d.Size] = None,
|
|
11922
12073
|
subnet: typing.Optional[_aws_cdk_aws_ec2_ceddda9d.ISubnet] = None,
|
|
11923
12074
|
subnet_selection: typing.Optional[typing.Union[_aws_cdk_aws_ec2_ceddda9d.SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -33,9 +33,9 @@ import constructs._jsii
|
|
|
33
33
|
|
|
34
34
|
__jsii_assembly__ = jsii.JSIIAssembly.load(
|
|
35
35
|
"@cloudsnorkel/cdk-github-runners",
|
|
36
|
-
"0.14.
|
|
36
|
+
"0.14.4",
|
|
37
37
|
__name__[0:-6],
|
|
38
|
-
"cdk-github-runners@0.14.
|
|
38
|
+
"cdk-github-runners@0.14.4.jsii.tgz",
|
|
39
39
|
)
|
|
40
40
|
|
|
41
41
|
__all__ = [
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cloudsnorkel.cdk-github-runners
|
|
3
|
-
Version: 0.14.
|
|
3
|
+
Version: 0.14.4
|
|
4
4
|
Summary: CDK construct to create GitHub Actions self-hosted runners. A webhook listens to events and creates ephemeral runners on the fly.
|
|
5
5
|
Home-page: https://github.com/CloudSnorkel/cdk-github-runners.git
|
|
6
6
|
Author: Amir Szekely<amir@cloudsnorkel.com>
|
|
@@ -20,7 +20,7 @@ Classifier: License :: OSI Approved
|
|
|
20
20
|
Requires-Python: ~=3.8
|
|
21
21
|
Description-Content-Type: text/markdown
|
|
22
22
|
License-File: LICENSE
|
|
23
|
-
Requires-Dist: aws-cdk-lib<3.0.0,>=2.
|
|
23
|
+
Requires-Dist: aws-cdk-lib<3.0.0,>=2.155.0
|
|
24
24
|
Requires-Dist: constructs<11.0.0,>=10.0.5
|
|
25
25
|
Requires-Dist: jsii<2.0.0,>=1.103.1
|
|
26
26
|
Requires-Dist: publication>=0.0.3
|
|
@@ -11,4 +11,4 @@ src/cloudsnorkel.cdk_github_runners.egg-info/top_level.txt
|
|
|
11
11
|
src/cloudsnorkel/cdk_github_runners/__init__.py
|
|
12
12
|
src/cloudsnorkel/cdk_github_runners/py.typed
|
|
13
13
|
src/cloudsnorkel/cdk_github_runners/_jsii/__init__.py
|
|
14
|
-
src/cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.
|
|
14
|
+
src/cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.4.jsii.tgz
|
|
Binary file
|
|
File without changes
|
{cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/MANIFEST.in
RENAMED
|
File without changes
|
|
File without changes
|
{cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|