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.

Files changed (17) hide show
  1. {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
  2. {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/setup.py +3 -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
  4. {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/src/cloudsnorkel/cdk_github_runners/_jsii/__init__.py +2 -2
  5. cloudsnorkel_cdk_github_runners-0.14.4/src/cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.4.jsii.tgz +0 -0
  6. {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
  7. {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
  8. {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
  9. cloudsnorkel_cdk_github_runners-0.14.3/src/cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.3.jsii.tgz +0 -0
  10. {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/LICENSE +0 -0
  11. {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/MANIFEST.in +0 -0
  12. {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/README.md +0 -0
  13. {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/pyproject.toml +0 -0
  14. {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/setup.cfg +0 -0
  15. {cloudsnorkel_cdk_github_runners-0.14.3 → cloudsnorkel_cdk_github_runners-0.14.4}/src/cloudsnorkel/cdk_github_runners/py.typed +0 -0
  16. {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
  17. {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
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.123.0
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.3",
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.3.jsii.tgz"
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.123.0, <3.0.0",
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.3",
36
+ "0.14.4",
37
37
  __name__[0:-6],
38
- "cdk-github-runners@0.14.3.jsii.tgz",
38
+ "cdk-github-runners@0.14.4.jsii.tgz",
39
39
  )
40
40
 
41
41
  __all__ = [
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cloudsnorkel.cdk-github-runners
3
- Version: 0.14.3
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.123.0
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.3.jsii.tgz
14
+ src/cloudsnorkel/cdk_github_runners/_jsii/cdk-github-runners@0.14.4.jsii.tgz
@@ -1,4 +1,4 @@
1
- aws-cdk-lib<3.0.0,>=2.123.0
1
+ aws-cdk-lib<3.0.0,>=2.155.0
2
2
  constructs<11.0.0,>=10.0.5
3
3
  jsii<2.0.0,>=1.103.1
4
4
  publication>=0.0.3