@cloudsnorkel/cdk-github-runners 0.8.0 → 0.8.2

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.
Files changed (98) hide show
  1. package/.gitattributes +9 -0
  2. package/.jsii +386 -183
  3. package/API.md +1724 -500
  4. package/README.md +2 -2
  5. package/{lib/providers → assets}/docker-images/lambda/linux-arm64/runner.sh +1 -1
  6. package/{lib/providers → assets}/docker-images/lambda/linux-x64/runner.sh +1 -1
  7. package/{lib/lambdas/aws-image-builder-versioner → assets/lambdas/aws-image-builder-versioner.lambda}/index.js +5 -5
  8. package/{lib/lambdas/build-image → assets/lambdas/build-image.lambda}/index.js +5 -5
  9. package/{lib/lambdas/delete-ami → assets/lambdas/delete-ami.lambda}/index.js +2 -2
  10. package/{lib/lambdas/delete-runner → assets/lambdas/delete-runner.lambda}/index.js +18 -16
  11. package/{lib/lambdas/setup → assets/lambdas/setup.lambda}/index.js +5 -3
  12. package/{lib/lambdas/status → assets/lambdas/status.lambda}/index.js +19 -17
  13. package/{lib/lambdas/token-retriever → assets/lambdas/token-retriever.lambda}/index.js +18 -16
  14. package/assets/lambdas/update-lambda.lambda/index.js +63 -0
  15. package/{lib/lambdas/webhook-handler → assets/lambdas/webhook-handler.lambda}/index.js +2 -2
  16. package/lib/lambdas/aws-image-builder-versioner-function.d.ts +13 -0
  17. package/lib/lambdas/aws-image-builder-versioner-function.js +23 -0
  18. package/lib/lambdas/aws-image-builder-versioner.lambda.d.ts +2 -0
  19. package/lib/lambdas/aws-image-builder-versioner.lambda.js +80 -0
  20. package/lib/lambdas/build-image-function.d.ts +13 -0
  21. package/lib/lambdas/build-image-function.js +23 -0
  22. package/lib/lambdas/build-image.lambda.d.ts +2 -0
  23. package/lib/lambdas/build-image.lambda.js +92 -0
  24. package/lib/lambdas/delete-ami-function.d.ts +13 -0
  25. package/lib/lambdas/delete-ami-function.js +23 -0
  26. package/lib/lambdas/delete-ami.lambda.d.ts +1 -0
  27. package/lib/lambdas/delete-ami.lambda.js +87 -0
  28. package/lib/lambdas/delete-runner-function.d.ts +13 -0
  29. package/lib/lambdas/delete-runner-function.js +23 -0
  30. package/lib/lambdas/delete-runner.lambda.d.ts +1 -0
  31. package/lib/lambdas/delete-runner.lambda.js +69 -0
  32. package/lib/lambdas/github.d.ts +7 -0
  33. package/lib/lambdas/github.js +50 -0
  34. package/lib/lambdas/helpers.d.ts +12 -0
  35. package/lib/lambdas/helpers.js +66 -0
  36. package/lib/lambdas/setup-function.d.ts +13 -0
  37. package/lib/lambdas/setup-function.js +23 -0
  38. package/lib/lambdas/setup.lambda.d.ts +1 -0
  39. package/lib/lambdas/setup.lambda.js +148 -0
  40. package/lib/lambdas/status-function.d.ts +13 -0
  41. package/lib/lambdas/status-function.js +23 -0
  42. package/lib/lambdas/status.lambda.d.ts +1 -0
  43. package/lib/lambdas/status.lambda.js +285 -0
  44. package/lib/lambdas/token-retriever-function.d.ts +13 -0
  45. package/lib/lambdas/token-retriever-function.js +23 -0
  46. package/lib/lambdas/token-retriever.lambda.d.ts +1 -0
  47. package/lib/lambdas/token-retriever.lambda.js +15 -0
  48. package/lib/lambdas/update-lambda-function.d.ts +13 -0
  49. package/lib/lambdas/update-lambda-function.js +23 -0
  50. package/lib/lambdas/update-lambda.lambda.d.ts +7 -0
  51. package/lib/lambdas/update-lambda.lambda.js +34 -0
  52. package/lib/lambdas/webhook-handler-function.d.ts +13 -0
  53. package/lib/lambdas/webhook-handler-function.js +23 -0
  54. package/lib/lambdas/webhook-handler.lambda.d.ts +1 -0
  55. package/lib/lambdas/webhook-handler.lambda.js +107 -0
  56. package/lib/providers/codebuild.d.ts +8 -3
  57. package/lib/providers/codebuild.js +17 -9
  58. package/lib/providers/common.js +3 -3
  59. package/lib/providers/ec2.d.ts +9 -4
  60. package/lib/providers/ec2.js +14 -6
  61. package/lib/providers/fargate.d.ts +8 -3
  62. package/lib/providers/fargate.js +17 -9
  63. package/lib/providers/image-builders/ami.js +6 -3
  64. package/lib/providers/image-builders/codebuild.d.ts +8 -0
  65. package/lib/providers/image-builders/codebuild.js +9 -6
  66. package/lib/providers/image-builders/common.js +5 -3
  67. package/lib/providers/image-builders/container.js +5 -3
  68. package/lib/providers/image-builders/linux-components.js +1 -1
  69. package/lib/providers/image-builders/static.js +3 -3
  70. package/lib/providers/image-builders/windows-components.js +1 -1
  71. package/lib/providers/lambda.d.ts +8 -3
  72. package/lib/providers/lambda.js +20 -10
  73. package/lib/runner.js +17 -10
  74. package/lib/secrets.js +1 -1
  75. package/lib/utils.d.ts +2 -6
  76. package/lib/utils.js +11 -26
  77. package/lib/webhook.d.ts +2 -2
  78. package/lib/webhook.js +5 -3
  79. package/package.json +32 -18
  80. package/lib/lambdas/update-lambda/index.js +0 -29155
  81. package/setup/index.html +0 -12
  82. package/setup/src/App.svelte +0 -291
  83. package/setup/src/app.scss +0 -15
  84. package/setup/src/main.ts +0 -8
  85. package/setup/src/vite-env.d.ts +0 -2
  86. package/setup/svelte.config.mjs +0 -7
  87. package/setup/tsconfig.json +0 -21
  88. package/setup/tsconfig.node.json +0 -8
  89. package/setup/vite.config.ts +0 -15
  90. /package/{lib/providers → assets}/docker-images/codebuild/linux-arm64/Dockerfile +0 -0
  91. /package/{lib/providers → assets}/docker-images/codebuild/linux-x64/Dockerfile +0 -0
  92. /package/{lib/providers → assets}/docker-images/fargate/linux-arm64/Dockerfile +0 -0
  93. /package/{lib/providers → assets}/docker-images/fargate/linux-x64/Dockerfile +0 -0
  94. /package/{lib/providers → assets}/docker-images/lambda/linux-arm64/Dockerfile +0 -0
  95. /package/{lib/providers → assets}/docker-images/lambda/linux-arm64/runner.js +0 -0
  96. /package/{lib/providers → assets}/docker-images/lambda/linux-x64/Dockerfile +0 -0
  97. /package/{lib/providers → assets}/docker-images/lambda/linux-x64/runner.js +0 -0
  98. /package/{lib/lambdas/setup → assets/lambdas/setup.lambda}/index.html +0 -0
package/API.md CHANGED
@@ -474,27 +474,19 @@ public readonly props: CodeBuildImageBuilderProps;
474
474
 
475
475
  ### CodeBuildRunner <a name="CodeBuildRunner" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner"></a>
476
476
 
477
- - *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
478
-
479
- GitHub Actions runner provider using CodeBuild to execute jobs.
480
-
481
- Creates a project that gets started for each job.
482
-
483
- This construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.
484
-
485
477
  #### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.Initializer"></a>
486
478
 
487
479
  ```typescript
488
480
  import { CodeBuildRunner } from '@cloudsnorkel/cdk-github-runners'
489
481
 
490
- new CodeBuildRunner(scope: Construct, id: string, props?: CodeBuildRunnerProps)
482
+ new CodeBuildRunner(scope: Construct, id: string, props?: CodeBuildRunnerProviderProps)
491
483
  ```
492
484
 
493
485
  | **Name** | **Type** | **Description** |
494
486
  | --- | --- | --- |
495
487
  | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
496
488
  | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
497
- | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps">CodeBuildRunnerProps</a></code> | *No description.* |
489
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps">CodeBuildRunnerProviderProps</a></code> | *No description.* |
498
490
 
499
491
  ---
500
492
 
@@ -512,7 +504,7 @@ new CodeBuildRunner(scope: Construct, id: string, props?: CodeBuildRunnerProps)
512
504
 
513
505
  ##### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.Initializer.parameter.props"></a>
514
506
 
515
- - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps">CodeBuildRunnerProps</a>
507
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps">CodeBuildRunnerProviderProps</a>
516
508
 
517
509
  ---
518
510
 
@@ -527,7 +519,7 @@ new CodeBuildRunner(scope: Construct, id: string, props?: CodeBuildRunnerProps)
527
519
 
528
520
  ---
529
521
 
530
- ##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.toString"></a>
522
+ ##### ~~`toString`~~ <a name="toString" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.toString"></a>
531
523
 
532
524
  ```typescript
533
525
  public toString(): string
@@ -535,7 +527,7 @@ public toString(): string
535
527
 
536
528
  Returns a string representation of this construct.
537
529
 
538
- ##### `getStepFunctionTask` <a name="getStepFunctionTask" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.getStepFunctionTask"></a>
530
+ ##### ~~`getStepFunctionTask`~~ <a name="getStepFunctionTask" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.getStepFunctionTask"></a>
539
531
 
540
532
  ```typescript
541
533
  public getStepFunctionTask(parameters: RunnerRuntimeParameters): IChainable
@@ -553,7 +545,7 @@ workflow job details.
553
545
 
554
546
  ---
555
547
 
556
- ##### `grantStateMachine` <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.grantStateMachine"></a>
548
+ ##### ~~`grantStateMachine`~~ <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.grantStateMachine"></a>
557
549
 
558
550
  ```typescript
559
551
  public grantStateMachine(_: IGrantable): void
@@ -570,7 +562,7 @@ statements to the state machine role that are not automatically added by the tas
570
562
 
571
563
  ---
572
564
 
573
- ##### `status` <a name="status" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.status"></a>
565
+ ##### ~~`status`~~ <a name="status" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.status"></a>
574
566
 
575
567
  ```typescript
576
568
  public status(statusFunctionRole: IGrantable): IRunnerProviderStatus
@@ -626,7 +618,9 @@ Any object.
626
618
 
627
619
  ---
628
620
 
629
- ##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.node"></a>
621
+ ##### ~~`node`~~<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.node"></a>
622
+
623
+ - *Deprecated:* use {@link CodeBuildRunnerProvider}
630
624
 
631
625
  ```typescript
632
626
  public readonly node: Node;
@@ -638,7 +632,9 @@ The tree node.
638
632
 
639
633
  ---
640
634
 
641
- ##### `connections`<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.connections"></a>
635
+ ##### ~~`connections`~~<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.connections"></a>
636
+
637
+ - *Deprecated:* use {@link CodeBuildRunnerProvider}
642
638
 
643
639
  ```typescript
644
640
  public readonly connections: Connections;
@@ -650,7 +646,9 @@ The network connections associated with this resource.
650
646
 
651
647
  ---
652
648
 
653
- ##### `grantPrincipal`<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.grantPrincipal"></a>
649
+ ##### ~~`grantPrincipal`~~<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.grantPrincipal"></a>
650
+
651
+ - *Deprecated:* use {@link CodeBuildRunnerProvider}
654
652
 
655
653
  ```typescript
656
654
  public readonly grantPrincipal: IPrincipal;
@@ -662,7 +660,9 @@ Grant principal used to add permissions to the runner role.
662
660
 
663
661
  ---
664
662
 
665
- ##### `image`<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.image"></a>
663
+ ##### ~~`image`~~<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.image"></a>
664
+
665
+ - *Deprecated:* use {@link CodeBuildRunnerProvider}
666
666
 
667
667
  ```typescript
668
668
  public readonly image: RunnerImage;
@@ -676,7 +676,9 @@ The image is built by an image builder and is specific to CodeBuild.
676
676
 
677
677
  ---
678
678
 
679
- ##### `labels`<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.labels"></a>
679
+ ##### ~~`labels`~~<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.labels"></a>
680
+
681
+ - *Deprecated:* use {@link CodeBuildRunnerProvider}
680
682
 
681
683
  ```typescript
682
684
  public readonly labels: string[];
@@ -688,7 +690,9 @@ Labels associated with this provider.
688
690
 
689
691
  ---
690
692
 
691
- ##### `logGroup`<sup>Required</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.logGroup"></a>
693
+ ##### ~~`logGroup`~~<sup>Required</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.logGroup"></a>
694
+
695
+ - *Deprecated:* use {@link CodeBuildRunnerProvider}
692
696
 
693
697
  ```typescript
694
698
  public readonly logGroup: ILogGroup;
@@ -702,7 +706,9 @@ Note that this is not the job log, but the runner itself. It will not contain ou
702
706
 
703
707
  ---
704
708
 
705
- ##### `project`<sup>Required</sup> <a name="project" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.project"></a>
709
+ ##### ~~`project`~~<sup>Required</sup> <a name="project" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.project"></a>
710
+
711
+ - *Deprecated:* use {@link CodeBuildRunnerProvider}
706
712
 
707
713
  ```typescript
708
714
  public readonly project: Project;
@@ -723,7 +729,9 @@ CodeBuild project hosting the runner.
723
729
 
724
730
  ---
725
731
 
726
- ##### `LINUX_ARM64_DOCKERFILE_PATH`<sup>Required</sup> <a name="LINUX_ARM64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.LINUX_ARM64_DOCKERFILE_PATH"></a>
732
+ ##### ~~`LINUX_ARM64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_ARM64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.LINUX_ARM64_DOCKERFILE_PATH"></a>
733
+
734
+ - *Deprecated:* use {@link CodeBuildRunnerProvider}
727
735
 
728
736
  ```typescript
729
737
  public readonly LINUX_ARM64_DOCKERFILE_PATH: string;
@@ -745,7 +753,9 @@ Available build arguments that can be set in the image builder:
745
753
 
746
754
  ---
747
755
 
748
- ##### `LINUX_X64_DOCKERFILE_PATH`<sup>Required</sup> <a name="LINUX_X64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.LINUX_X64_DOCKERFILE_PATH"></a>
756
+ ##### ~~`LINUX_X64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_X64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.LINUX_X64_DOCKERFILE_PATH"></a>
757
+
758
+ - *Deprecated:* use {@link CodeBuildRunnerProvider}
749
759
 
750
760
  ```typescript
751
761
  public readonly LINUX_X64_DOCKERFILE_PATH: string;
@@ -767,64 +777,47 @@ Available build arguments that can be set in the image builder:
767
777
 
768
778
  ---
769
779
 
770
- ### ContainerImageBuilder <a name="ContainerImageBuilder" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder"></a>
771
-
772
- - *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a>, aws-cdk-lib.aws_ec2.IConnectable
773
-
774
- An image builder that uses AWS Image Builder to build Docker images pre-baked with all the GitHub Actions runner requirements.
775
-
776
- Builders can be used with runner providers.
777
-
778
- The CodeBuild builder is better and faster. Only use this one if you have no choice. For example, if you need Windows containers.
780
+ ### CodeBuildRunnerProvider <a name="CodeBuildRunnerProvider" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider"></a>
779
781
 
780
- Each builder re-runs automatically at a set interval to make sure the images contain the latest versions of everything.
782
+ - *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
781
783
 
782
- You can create an instance of this construct to customize the image used to spin-up runners. Some runner providers may require custom components. Check the runner provider documentation. The default components work with CodeBuild and Fargate.
784
+ GitHub Actions runner provider using CodeBuild to execute jobs.
783
785
 
784
- For example, to set a specific runner version, rebuild the image every 2 weeks, and add a few packages for the Fargate provider, use:
786
+ Creates a project that gets started for each job.
785
787
 
786
- ```
787
- const builder = new ContainerImageBuilder(this, 'Builder', {
788
- runnerVersion: RunnerVersion.specific('2.293.0'),
789
- rebuildInterval: Duration.days(14),
790
- });
791
- new CodeBuildRunner(this, 'CodeBuild provider', {
792
- label: 'custom-codebuild',
793
- imageBuilder: builder,
794
- });
795
- ```
788
+ This construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.
796
789
 
797
- #### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer"></a>
790
+ #### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.Initializer"></a>
798
791
 
799
792
  ```typescript
800
- import { ContainerImageBuilder } from '@cloudsnorkel/cdk-github-runners'
793
+ import { CodeBuildRunnerProvider } from '@cloudsnorkel/cdk-github-runners'
801
794
 
802
- new ContainerImageBuilder(scope: Construct, id: string, props?: ContainerImageBuilderProps)
795
+ new CodeBuildRunnerProvider(scope: Construct, id: string, props?: CodeBuildRunnerProviderProps)
803
796
  ```
804
797
 
805
798
  | **Name** | **Type** | **Description** |
806
799
  | --- | --- | --- |
807
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
808
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
809
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps">ContainerImageBuilderProps</a></code> | *No description.* |
800
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
801
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
802
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps">CodeBuildRunnerProviderProps</a></code> | *No description.* |
810
803
 
811
804
  ---
812
805
 
813
- ##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.scope"></a>
806
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.Initializer.parameter.scope"></a>
814
807
 
815
808
  - *Type:* constructs.Construct
816
809
 
817
810
  ---
818
811
 
819
- ##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.id"></a>
812
+ ##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.Initializer.parameter.id"></a>
820
813
 
821
814
  - *Type:* string
822
815
 
823
816
  ---
824
817
 
825
- ##### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.props"></a>
818
+ ##### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.Initializer.parameter.props"></a>
826
819
 
827
- - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps">ContainerImageBuilderProps</a>
820
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps">CodeBuildRunnerProviderProps</a>
828
821
 
829
822
  ---
830
823
 
@@ -832,15 +825,14 @@ new ContainerImageBuilder(scope: Construct, id: string, props?: ContainerImageBu
832
825
 
833
826
  | **Name** | **Description** |
834
827
  | --- | --- |
835
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.toString">toString</a></code> | Returns a string representation of this construct. |
836
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addComponent">addComponent</a></code> | Add a component to be installed. |
837
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addExtraCertificates">addExtraCertificates</a></code> | Add extra trusted certificates. This helps deal with self-signed certificates for GitHub Enterprise Server. |
838
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.bind">bind</a></code> | Called by IRunnerProvider to finalize settings and create the image builder. |
839
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.prependComponent">prependComponent</a></code> | Add a component to be installed before any other components. |
828
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.toString">toString</a></code> | Returns a string representation of this construct. |
829
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.getStepFunctionTask">getStepFunctionTask</a></code> | Generate step function task(s) to start a new runner. |
830
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.grantStateMachine">grantStateMachine</a></code> | An optional method that modifies the role of the state machine after all the tasks have been generated. |
831
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.status">status</a></code> | Return status of the runner provider to be used in the main status function. |
840
832
 
841
833
  ---
842
834
 
843
- ##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.toString"></a>
835
+ ##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.toString"></a>
844
836
 
845
837
  ```typescript
846
838
  public toString(): string
@@ -848,59 +840,54 @@ public toString(): string
848
840
 
849
841
  Returns a string representation of this construct.
850
842
 
851
- ##### `addComponent` <a name="addComponent" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addComponent"></a>
843
+ ##### `getStepFunctionTask` <a name="getStepFunctionTask" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.getStepFunctionTask"></a>
852
844
 
853
845
  ```typescript
854
- public addComponent(component: ImageBuilderComponent): void
846
+ public getStepFunctionTask(parameters: RunnerRuntimeParameters): IChainable
855
847
  ```
856
848
 
857
- Add a component to be installed.
849
+ Generate step function task(s) to start a new runner.
858
850
 
859
- ###### `component`<sup>Required</sup> <a name="component" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addComponent.parameter.component"></a>
851
+ Called by GithubRunners and shouldn't be called manually.
860
852
 
861
- - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent">ImageBuilderComponent</a>
853
+ ###### `parameters`<sup>Required</sup> <a name="parameters" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.getStepFunctionTask.parameter.parameters"></a>
854
+
855
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters">RunnerRuntimeParameters</a>
856
+
857
+ workflow job details.
862
858
 
863
859
  ---
864
860
 
865
- ##### `addExtraCertificates` <a name="addExtraCertificates" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addExtraCertificates"></a>
861
+ ##### `grantStateMachine` <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.grantStateMachine"></a>
866
862
 
867
863
  ```typescript
868
- public addExtraCertificates(path: string): void
864
+ public grantStateMachine(_: IGrantable): void
869
865
  ```
870
866
 
871
- Add extra trusted certificates. This helps deal with self-signed certificates for GitHub Enterprise Server.
872
-
873
- All first party Dockerfiles support this. Others may not.
867
+ An optional method that modifies the role of the state machine after all the tasks have been generated.
874
868
 
875
- ###### `path`<sup>Required</sup> <a name="path" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addExtraCertificates.parameter.path"></a>
869
+ This can be used to add additional policy
870
+ statements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.
876
871
 
877
- - *Type:* string
872
+ ###### `_`<sup>Required</sup> <a name="_" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.grantStateMachine.parameter._"></a>
878
873
 
879
- path to directory containing a file called certs.pem containing all the required certificates.
874
+ - *Type:* aws-cdk-lib.aws_iam.IGrantable
880
875
 
881
876
  ---
882
877
 
883
- ##### `bind` <a name="bind" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.bind"></a>
884
-
885
- ```typescript
886
- public bind(): RunnerImage
887
- ```
888
-
889
- Called by IRunnerProvider to finalize settings and create the image builder.
890
-
891
- ##### `prependComponent` <a name="prependComponent" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.prependComponent"></a>
878
+ ##### `status` <a name="status" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.status"></a>
892
879
 
893
880
  ```typescript
894
- public prependComponent(component: ImageBuilderComponent): void
881
+ public status(statusFunctionRole: IGrantable): IRunnerProviderStatus
895
882
  ```
896
883
 
897
- Add a component to be installed before any other components.
884
+ Return status of the runner provider to be used in the main status function.
898
885
 
899
- Useful for required system settings like certificates or proxy settings.
886
+ Also gives the status function any needed permissions to query the Docker image or AMI.
900
887
 
901
- ###### `component`<sup>Required</sup> <a name="component" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.prependComponent.parameter.component"></a>
888
+ ###### `statusFunctionRole`<sup>Required</sup> <a name="statusFunctionRole" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.status.parameter.statusFunctionRole"></a>
902
889
 
903
- - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent">ImageBuilderComponent</a>
890
+ - *Type:* aws-cdk-lib.aws_iam.IGrantable
904
891
 
905
892
  ---
906
893
 
@@ -908,21 +895,21 @@ Useful for required system settings like certificates or proxy settings.
908
895
 
909
896
  | **Name** | **Description** |
910
897
  | --- | --- |
911
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
898
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
912
899
 
913
900
  ---
914
901
 
915
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.isConstruct"></a>
902
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.isConstruct"></a>
916
903
 
917
904
  ```typescript
918
- import { ContainerImageBuilder } from '@cloudsnorkel/cdk-github-runners'
905
+ import { CodeBuildRunnerProvider } from '@cloudsnorkel/cdk-github-runners'
919
906
 
920
- ContainerImageBuilder.isConstruct(x: any)
907
+ CodeBuildRunnerProvider.isConstruct(x: any)
921
908
  ```
922
909
 
923
910
  Checks if `x` is a construct.
924
911
 
925
- ###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.isConstruct.parameter.x"></a>
912
+ ###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.isConstruct.parameter.x"></a>
926
913
 
927
914
  - *Type:* any
928
915
 
@@ -934,13 +921,17 @@ Any object.
934
921
 
935
922
  | **Name** | **Type** | **Description** |
936
923
  | --- | --- | --- |
937
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
938
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
939
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.repository">repository</a></code> | <code>aws-cdk-lib.aws_ecr.IRepository</code> | *No description.* |
924
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
925
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
926
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
927
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Docker image loaded with GitHub Actions Runner and its prerequisites. |
928
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
929
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
930
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.project">project</a></code> | <code>aws-cdk-lib.aws_codebuild.Project</code> | CodeBuild project hosting the runner. |
940
931
 
941
932
  ---
942
933
 
943
- ##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.node"></a>
934
+ ##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.node"></a>
944
935
 
945
936
  ```typescript
946
937
  public readonly node: Node;
@@ -952,7 +943,7 @@ The tree node.
952
943
 
953
944
  ---
954
945
 
955
- ##### `connections`<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.connections"></a>
946
+ ##### `connections`<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.connections"></a>
956
947
 
957
948
  ```typescript
958
949
  public readonly connections: Connections;
@@ -964,168 +955,916 @@ The network connections associated with this resource.
964
955
 
965
956
  ---
966
957
 
967
- ##### `repository`<sup>Required</sup> <a name="repository" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.repository"></a>
958
+ ##### `grantPrincipal`<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.grantPrincipal"></a>
968
959
 
969
960
  ```typescript
970
- public readonly repository: IRepository;
961
+ public readonly grantPrincipal: IPrincipal;
971
962
  ```
972
963
 
973
- - *Type:* aws-cdk-lib.aws_ecr.IRepository
974
-
975
- ---
976
-
977
-
978
- ### Ec2Runner <a name="Ec2Runner" id="@cloudsnorkel/cdk-github-runners.Ec2Runner"></a>
979
-
980
- - *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
964
+ - *Type:* aws-cdk-lib.aws_iam.IPrincipal
981
965
 
982
- GitHub Actions runner provider using EC2 to execute jobs.
966
+ Grant principal used to add permissions to the runner role.
983
967
 
984
- This construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.
968
+ ---
985
969
 
986
- #### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer"></a>
970
+ ##### `image`<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.image"></a>
987
971
 
988
972
  ```typescript
989
- import { Ec2Runner } from '@cloudsnorkel/cdk-github-runners'
990
-
991
- new Ec2Runner(scope: Construct, id: string, props?: Ec2RunnerProps)
973
+ public readonly image: RunnerImage;
992
974
  ```
993
975
 
994
- | **Name** | **Type** | **Description** |
995
- | --- | --- | --- |
996
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
997
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
998
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps">Ec2RunnerProps</a></code> | *No description.* |
999
-
1000
- ---
976
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a>
1001
977
 
1002
- ##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.scope"></a>
978
+ Docker image loaded with GitHub Actions Runner and its prerequisites.
1003
979
 
1004
- - *Type:* constructs.Construct
980
+ The image is built by an image builder and is specific to CodeBuild.
1005
981
 
1006
982
  ---
1007
983
 
1008
- ##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.id"></a>
1009
-
1010
- - *Type:* string
984
+ ##### `labels`<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.labels"></a>
1011
985
 
1012
- ---
986
+ ```typescript
987
+ public readonly labels: string[];
988
+ ```
1013
989
 
1014
- ##### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.props"></a>
990
+ - *Type:* string[]
1015
991
 
1016
- - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps">Ec2RunnerProps</a>
992
+ Labels associated with this provider.
1017
993
 
1018
994
  ---
1019
995
 
1020
- #### Methods <a name="Methods" id="Methods"></a>
996
+ ##### `logGroup`<sup>Required</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.logGroup"></a>
1021
997
 
1022
- | **Name** | **Description** |
1023
- | --- | --- |
1024
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.toString">toString</a></code> | Returns a string representation of this construct. |
1025
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.getStepFunctionTask">getStepFunctionTask</a></code> | Generate step function task(s) to start a new runner. |
1026
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.grantStateMachine">grantStateMachine</a></code> | An optional method that modifies the role of the state machine after all the tasks have been generated. |
1027
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.status">status</a></code> | Return status of the runner provider to be used in the main status function. |
998
+ ```typescript
999
+ public readonly logGroup: ILogGroup;
1000
+ ```
1028
1001
 
1029
- ---
1002
+ - *Type:* aws-cdk-lib.aws_logs.ILogGroup
1030
1003
 
1031
- ##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.toString"></a>
1004
+ Log group where provided runners will save their logs.
1032
1005
 
1033
- ```typescript
1034
- public toString(): string
1035
- ```
1006
+ Note that this is not the job log, but the runner itself. It will not contain output from the GitHub Action but only metadata on its execution.
1036
1007
 
1037
- Returns a string representation of this construct.
1008
+ ---
1038
1009
 
1039
- ##### `getStepFunctionTask` <a name="getStepFunctionTask" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.getStepFunctionTask"></a>
1010
+ ##### `project`<sup>Required</sup> <a name="project" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.project"></a>
1040
1011
 
1041
1012
  ```typescript
1042
- public getStepFunctionTask(parameters: RunnerRuntimeParameters): IChainable
1013
+ public readonly project: Project;
1043
1014
  ```
1044
1015
 
1045
- Generate step function task(s) to start a new runner.
1016
+ - *Type:* aws-cdk-lib.aws_codebuild.Project
1046
1017
 
1047
- Called by GithubRunners and shouldn't be called manually.
1018
+ CodeBuild project hosting the runner.
1048
1019
 
1049
- ###### `parameters`<sup>Required</sup> <a name="parameters" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.getStepFunctionTask.parameter.parameters"></a>
1020
+ ---
1050
1021
 
1051
- - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters">RunnerRuntimeParameters</a>
1022
+ #### Constants <a name="Constants" id="Constants"></a>
1052
1023
 
1053
- workflow job details.
1024
+ | **Name** | **Type** | **Description** |
1025
+ | --- | --- | --- |
1026
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.LINUX_ARM64_DOCKERFILE_PATH">LINUX_ARM64_DOCKERFILE_PATH</a></code> | <code>string</code> | Path to Dockerfile for Linux ARM64 with all the requirements for CodeBuild runner. |
1027
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.LINUX_X64_DOCKERFILE_PATH">LINUX_X64_DOCKERFILE_PATH</a></code> | <code>string</code> | Path to Dockerfile for Linux x64 with all the requirements for CodeBuild runner. |
1054
1028
 
1055
1029
  ---
1056
1030
 
1057
- ##### `grantStateMachine` <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.grantStateMachine"></a>
1031
+ ##### `LINUX_ARM64_DOCKERFILE_PATH`<sup>Required</sup> <a name="LINUX_ARM64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.LINUX_ARM64_DOCKERFILE_PATH"></a>
1058
1032
 
1059
1033
  ```typescript
1060
- public grantStateMachine(stateMachineRole: IGrantable): void
1034
+ public readonly LINUX_ARM64_DOCKERFILE_PATH: string;
1061
1035
  ```
1062
1036
 
1063
- An optional method that modifies the role of the state machine after all the tasks have been generated.
1037
+ - *Type:* string
1064
1038
 
1065
- This can be used to add additional policy
1066
- statements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.
1039
+ Path to Dockerfile for Linux ARM64 with all the requirements for CodeBuild runner.
1067
1040
 
1068
- ###### `stateMachineRole`<sup>Required</sup> <a name="stateMachineRole" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.grantStateMachine.parameter.stateMachineRole"></a>
1041
+ Use this Dockerfile unless you need to customize it further than allowed by hooks.
1069
1042
 
1070
- - *Type:* aws-cdk-lib.aws_iam.IGrantable
1043
+ Available build arguments that can be set in the image builder:
1044
+ * `BASE_IMAGE` sets the `FROM` line. This should be an Ubuntu compatible image.
1045
+ * `EXTRA_PACKAGES` can be used to install additional packages.
1046
+ * `DOCKER_CHANNEL` overrides the channel from which Docker will be downloaded. Defaults to `"stable"`.
1047
+ * `DIND_COMMIT` overrides the commit where dind is found.
1048
+ * `DOCKER_VERSION` overrides the installed Docker version.
1049
+ * `DOCKER_COMPOSE_VERSION` overrides the installed docker-compose version.
1071
1050
 
1072
1051
  ---
1073
1052
 
1074
- ##### `status` <a name="status" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.status"></a>
1053
+ ##### `LINUX_X64_DOCKERFILE_PATH`<sup>Required</sup> <a name="LINUX_X64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.LINUX_X64_DOCKERFILE_PATH"></a>
1075
1054
 
1076
1055
  ```typescript
1077
- public status(statusFunctionRole: IGrantable): IRunnerProviderStatus
1056
+ public readonly LINUX_X64_DOCKERFILE_PATH: string;
1078
1057
  ```
1079
1058
 
1080
- Return status of the runner provider to be used in the main status function.
1059
+ - *Type:* string
1081
1060
 
1082
- Also gives the status function any needed permissions to query the Docker image or AMI.
1061
+ Path to Dockerfile for Linux x64 with all the requirements for CodeBuild runner.
1083
1062
 
1084
- ###### `statusFunctionRole`<sup>Required</sup> <a name="statusFunctionRole" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.status.parameter.statusFunctionRole"></a>
1063
+ Use this Dockerfile unless you need to customize it further than allowed by hooks.
1085
1064
 
1086
- - *Type:* aws-cdk-lib.aws_iam.IGrantable
1065
+ Available build arguments that can be set in the image builder:
1066
+ * `BASE_IMAGE` sets the `FROM` line. This should be an Ubuntu compatible image.
1067
+ * `EXTRA_PACKAGES` can be used to install additional packages.
1068
+ * `DOCKER_CHANNEL` overrides the channel from which Docker will be downloaded. Defaults to `"stable"`.
1069
+ * `DIND_COMMIT` overrides the commit where dind is found.
1070
+ * `DOCKER_VERSION` overrides the installed Docker version.
1071
+ * `DOCKER_COMPOSE_VERSION` overrides the installed docker-compose version.
1087
1072
 
1088
1073
  ---
1089
1074
 
1090
- #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1091
-
1092
- | **Name** | **Description** |
1093
- | --- | --- |
1094
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
1075
+ ### ContainerImageBuilder <a name="ContainerImageBuilder" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder"></a>
1095
1076
 
1096
- ---
1077
+ - *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a>, aws-cdk-lib.aws_ec2.IConnectable
1097
1078
 
1098
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.isConstruct"></a>
1079
+ An image builder that uses AWS Image Builder to build Docker images pre-baked with all the GitHub Actions runner requirements.
1099
1080
 
1100
- ```typescript
1101
- import { Ec2Runner } from '@cloudsnorkel/cdk-github-runners'
1081
+ Builders can be used with runner providers.
1102
1082
 
1103
- Ec2Runner.isConstruct(x: any)
1104
- ```
1083
+ The CodeBuild builder is better and faster. Only use this one if you have no choice. For example, if you need Windows containers.
1105
1084
 
1106
- Checks if `x` is a construct.
1085
+ Each builder re-runs automatically at a set interval to make sure the images contain the latest versions of everything.
1107
1086
 
1108
- ###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.isConstruct.parameter.x"></a>
1087
+ You can create an instance of this construct to customize the image used to spin-up runners. Some runner providers may require custom components. Check the runner provider documentation. The default components work with CodeBuild and Fargate.
1109
1088
 
1110
- - *Type:* any
1089
+ For example, to set a specific runner version, rebuild the image every 2 weeks, and add a few packages for the Fargate provider, use:
1111
1090
 
1112
- Any object.
1091
+ ```
1092
+ const builder = new ContainerImageBuilder(this, 'Builder', {
1093
+ runnerVersion: RunnerVersion.specific('2.293.0'),
1094
+ rebuildInterval: Duration.days(14),
1095
+ });
1096
+ new CodeBuildRunner(this, 'CodeBuild provider', {
1097
+ label: 'custom-codebuild',
1098
+ imageBuilder: builder,
1099
+ });
1100
+ ```
1113
1101
 
1114
- ---
1102
+ #### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer"></a>
1115
1103
 
1116
- #### Properties <a name="Properties" id="Properties"></a>
1104
+ ```typescript
1105
+ import { ContainerImageBuilder } from '@cloudsnorkel/cdk-github-runners'
1106
+
1107
+ new ContainerImageBuilder(scope: Construct, id: string, props?: ContainerImageBuilderProps)
1108
+ ```
1109
+
1110
+ | **Name** | **Type** | **Description** |
1111
+ | --- | --- | --- |
1112
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
1113
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
1114
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps">ContainerImageBuilderProps</a></code> | *No description.* |
1115
+
1116
+ ---
1117
+
1118
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.scope"></a>
1119
+
1120
+ - *Type:* constructs.Construct
1121
+
1122
+ ---
1123
+
1124
+ ##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.id"></a>
1125
+
1126
+ - *Type:* string
1127
+
1128
+ ---
1129
+
1130
+ ##### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.props"></a>
1131
+
1132
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps">ContainerImageBuilderProps</a>
1133
+
1134
+ ---
1135
+
1136
+ #### Methods <a name="Methods" id="Methods"></a>
1137
+
1138
+ | **Name** | **Description** |
1139
+ | --- | --- |
1140
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.toString">toString</a></code> | Returns a string representation of this construct. |
1141
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addComponent">addComponent</a></code> | Add a component to be installed. |
1142
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addExtraCertificates">addExtraCertificates</a></code> | Add extra trusted certificates. This helps deal with self-signed certificates for GitHub Enterprise Server. |
1143
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.bind">bind</a></code> | Called by IRunnerProvider to finalize settings and create the image builder. |
1144
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.prependComponent">prependComponent</a></code> | Add a component to be installed before any other components. |
1145
+
1146
+ ---
1147
+
1148
+ ##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.toString"></a>
1149
+
1150
+ ```typescript
1151
+ public toString(): string
1152
+ ```
1153
+
1154
+ Returns a string representation of this construct.
1155
+
1156
+ ##### `addComponent` <a name="addComponent" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addComponent"></a>
1157
+
1158
+ ```typescript
1159
+ public addComponent(component: ImageBuilderComponent): void
1160
+ ```
1161
+
1162
+ Add a component to be installed.
1163
+
1164
+ ###### `component`<sup>Required</sup> <a name="component" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addComponent.parameter.component"></a>
1165
+
1166
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent">ImageBuilderComponent</a>
1167
+
1168
+ ---
1169
+
1170
+ ##### `addExtraCertificates` <a name="addExtraCertificates" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addExtraCertificates"></a>
1171
+
1172
+ ```typescript
1173
+ public addExtraCertificates(path: string): void
1174
+ ```
1175
+
1176
+ Add extra trusted certificates. This helps deal with self-signed certificates for GitHub Enterprise Server.
1177
+
1178
+ All first party Dockerfiles support this. Others may not.
1179
+
1180
+ ###### `path`<sup>Required</sup> <a name="path" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addExtraCertificates.parameter.path"></a>
1181
+
1182
+ - *Type:* string
1183
+
1184
+ path to directory containing a file called certs.pem containing all the required certificates.
1185
+
1186
+ ---
1187
+
1188
+ ##### `bind` <a name="bind" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.bind"></a>
1189
+
1190
+ ```typescript
1191
+ public bind(): RunnerImage
1192
+ ```
1193
+
1194
+ Called by IRunnerProvider to finalize settings and create the image builder.
1195
+
1196
+ ##### `prependComponent` <a name="prependComponent" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.prependComponent"></a>
1197
+
1198
+ ```typescript
1199
+ public prependComponent(component: ImageBuilderComponent): void
1200
+ ```
1201
+
1202
+ Add a component to be installed before any other components.
1203
+
1204
+ Useful for required system settings like certificates or proxy settings.
1205
+
1206
+ ###### `component`<sup>Required</sup> <a name="component" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.prependComponent.parameter.component"></a>
1207
+
1208
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent">ImageBuilderComponent</a>
1209
+
1210
+ ---
1211
+
1212
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1213
+
1214
+ | **Name** | **Description** |
1215
+ | --- | --- |
1216
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
1217
+
1218
+ ---
1219
+
1220
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.isConstruct"></a>
1221
+
1222
+ ```typescript
1223
+ import { ContainerImageBuilder } from '@cloudsnorkel/cdk-github-runners'
1224
+
1225
+ ContainerImageBuilder.isConstruct(x: any)
1226
+ ```
1227
+
1228
+ Checks if `x` is a construct.
1229
+
1230
+ ###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.isConstruct.parameter.x"></a>
1231
+
1232
+ - *Type:* any
1233
+
1234
+ Any object.
1235
+
1236
+ ---
1237
+
1238
+ #### Properties <a name="Properties" id="Properties"></a>
1239
+
1240
+ | **Name** | **Type** | **Description** |
1241
+ | --- | --- | --- |
1242
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
1243
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
1244
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.repository">repository</a></code> | <code>aws-cdk-lib.aws_ecr.IRepository</code> | *No description.* |
1245
+
1246
+ ---
1247
+
1248
+ ##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.node"></a>
1249
+
1250
+ ```typescript
1251
+ public readonly node: Node;
1252
+ ```
1253
+
1254
+ - *Type:* constructs.Node
1255
+
1256
+ The tree node.
1257
+
1258
+ ---
1259
+
1260
+ ##### `connections`<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.connections"></a>
1261
+
1262
+ ```typescript
1263
+ public readonly connections: Connections;
1264
+ ```
1265
+
1266
+ - *Type:* aws-cdk-lib.aws_ec2.Connections
1267
+
1268
+ The network connections associated with this resource.
1269
+
1270
+ ---
1271
+
1272
+ ##### `repository`<sup>Required</sup> <a name="repository" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.repository"></a>
1273
+
1274
+ ```typescript
1275
+ public readonly repository: IRepository;
1276
+ ```
1277
+
1278
+ - *Type:* aws-cdk-lib.aws_ecr.IRepository
1279
+
1280
+ ---
1281
+
1282
+
1283
+ ### Ec2Runner <a name="Ec2Runner" id="@cloudsnorkel/cdk-github-runners.Ec2Runner"></a>
1284
+
1285
+ #### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer"></a>
1286
+
1287
+ ```typescript
1288
+ import { Ec2Runner } from '@cloudsnorkel/cdk-github-runners'
1289
+
1290
+ new Ec2Runner(scope: Construct, id: string, props?: Ec2RunnerProviderProps)
1291
+ ```
1292
+
1293
+ | **Name** | **Type** | **Description** |
1294
+ | --- | --- | --- |
1295
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
1296
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
1297
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps">Ec2RunnerProviderProps</a></code> | *No description.* |
1298
+
1299
+ ---
1300
+
1301
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.scope"></a>
1302
+
1303
+ - *Type:* constructs.Construct
1304
+
1305
+ ---
1306
+
1307
+ ##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.id"></a>
1308
+
1309
+ - *Type:* string
1310
+
1311
+ ---
1312
+
1313
+ ##### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.props"></a>
1314
+
1315
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps">Ec2RunnerProviderProps</a>
1316
+
1317
+ ---
1318
+
1319
+ #### Methods <a name="Methods" id="Methods"></a>
1320
+
1321
+ | **Name** | **Description** |
1322
+ | --- | --- |
1323
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.toString">toString</a></code> | Returns a string representation of this construct. |
1324
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.getStepFunctionTask">getStepFunctionTask</a></code> | Generate step function task(s) to start a new runner. |
1325
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.grantStateMachine">grantStateMachine</a></code> | An optional method that modifies the role of the state machine after all the tasks have been generated. |
1326
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.status">status</a></code> | Return status of the runner provider to be used in the main status function. |
1327
+
1328
+ ---
1329
+
1330
+ ##### ~~`toString`~~ <a name="toString" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.toString"></a>
1331
+
1332
+ ```typescript
1333
+ public toString(): string
1334
+ ```
1335
+
1336
+ Returns a string representation of this construct.
1337
+
1338
+ ##### ~~`getStepFunctionTask`~~ <a name="getStepFunctionTask" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.getStepFunctionTask"></a>
1339
+
1340
+ ```typescript
1341
+ public getStepFunctionTask(parameters: RunnerRuntimeParameters): IChainable
1342
+ ```
1343
+
1344
+ Generate step function task(s) to start a new runner.
1345
+
1346
+ Called by GithubRunners and shouldn't be called manually.
1347
+
1348
+ ###### `parameters`<sup>Required</sup> <a name="parameters" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.getStepFunctionTask.parameter.parameters"></a>
1349
+
1350
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters">RunnerRuntimeParameters</a>
1351
+
1352
+ workflow job details.
1353
+
1354
+ ---
1355
+
1356
+ ##### ~~`grantStateMachine`~~ <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.grantStateMachine"></a>
1357
+
1358
+ ```typescript
1359
+ public grantStateMachine(stateMachineRole: IGrantable): void
1360
+ ```
1361
+
1362
+ An optional method that modifies the role of the state machine after all the tasks have been generated.
1363
+
1364
+ This can be used to add additional policy
1365
+ statements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.
1366
+
1367
+ ###### `stateMachineRole`<sup>Required</sup> <a name="stateMachineRole" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.grantStateMachine.parameter.stateMachineRole"></a>
1368
+
1369
+ - *Type:* aws-cdk-lib.aws_iam.IGrantable
1370
+
1371
+ ---
1372
+
1373
+ ##### ~~`status`~~ <a name="status" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.status"></a>
1374
+
1375
+ ```typescript
1376
+ public status(statusFunctionRole: IGrantable): IRunnerProviderStatus
1377
+ ```
1378
+
1379
+ Return status of the runner provider to be used in the main status function.
1380
+
1381
+ Also gives the status function any needed permissions to query the Docker image or AMI.
1382
+
1383
+ ###### `statusFunctionRole`<sup>Required</sup> <a name="statusFunctionRole" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.status.parameter.statusFunctionRole"></a>
1384
+
1385
+ - *Type:* aws-cdk-lib.aws_iam.IGrantable
1386
+
1387
+ ---
1388
+
1389
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1390
+
1391
+ | **Name** | **Description** |
1392
+ | --- | --- |
1393
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
1394
+
1395
+ ---
1396
+
1397
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.isConstruct"></a>
1398
+
1399
+ ```typescript
1400
+ import { Ec2Runner } from '@cloudsnorkel/cdk-github-runners'
1401
+
1402
+ Ec2Runner.isConstruct(x: any)
1403
+ ```
1404
+
1405
+ Checks if `x` is a construct.
1406
+
1407
+ ###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.isConstruct.parameter.x"></a>
1408
+
1409
+ - *Type:* any
1410
+
1411
+ Any object.
1412
+
1413
+ ---
1414
+
1415
+ #### Properties <a name="Properties" id="Properties"></a>
1416
+
1417
+ | **Name** | **Type** | **Description** |
1418
+ | --- | --- | --- |
1419
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
1420
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
1421
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
1422
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
1423
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
1424
+
1425
+ ---
1426
+
1427
+ ##### ~~`node`~~<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.node"></a>
1428
+
1429
+ - *Deprecated:* use {@link Ec2RunnerProvider}
1430
+
1431
+ ```typescript
1432
+ public readonly node: Node;
1433
+ ```
1434
+
1435
+ - *Type:* constructs.Node
1436
+
1437
+ The tree node.
1438
+
1439
+ ---
1440
+
1441
+ ##### ~~`connections`~~<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.connections"></a>
1442
+
1443
+ - *Deprecated:* use {@link Ec2RunnerProvider}
1444
+
1445
+ ```typescript
1446
+ public readonly connections: Connections;
1447
+ ```
1448
+
1449
+ - *Type:* aws-cdk-lib.aws_ec2.Connections
1450
+
1451
+ The network connections associated with this resource.
1452
+
1453
+ ---
1454
+
1455
+ ##### ~~`grantPrincipal`~~<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.grantPrincipal"></a>
1456
+
1457
+ - *Deprecated:* use {@link Ec2RunnerProvider}
1458
+
1459
+ ```typescript
1460
+ public readonly grantPrincipal: IPrincipal;
1461
+ ```
1462
+
1463
+ - *Type:* aws-cdk-lib.aws_iam.IPrincipal
1464
+
1465
+ Grant principal used to add permissions to the runner role.
1466
+
1467
+ ---
1468
+
1469
+ ##### ~~`labels`~~<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.labels"></a>
1470
+
1471
+ - *Deprecated:* use {@link Ec2RunnerProvider}
1472
+
1473
+ ```typescript
1474
+ public readonly labels: string[];
1475
+ ```
1476
+
1477
+ - *Type:* string[]
1478
+
1479
+ Labels associated with this provider.
1480
+
1481
+ ---
1482
+
1483
+ ##### ~~`logGroup`~~<sup>Required</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.logGroup"></a>
1484
+
1485
+ - *Deprecated:* use {@link Ec2RunnerProvider}
1486
+
1487
+ ```typescript
1488
+ public readonly logGroup: ILogGroup;
1489
+ ```
1490
+
1491
+ - *Type:* aws-cdk-lib.aws_logs.ILogGroup
1492
+
1493
+ Log group where provided runners will save their logs.
1494
+
1495
+ Note that this is not the job log, but the runner itself. It will not contain output from the GitHub Action but only metadata on its execution.
1496
+
1497
+ ---
1498
+
1499
+
1500
+ ### Ec2RunnerProvider <a name="Ec2RunnerProvider" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider"></a>
1501
+
1502
+ - *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
1503
+
1504
+ GitHub Actions runner provider using EC2 to execute jobs.
1505
+
1506
+ This construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.
1507
+
1508
+ #### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.Initializer"></a>
1509
+
1510
+ ```typescript
1511
+ import { Ec2RunnerProvider } from '@cloudsnorkel/cdk-github-runners'
1512
+
1513
+ new Ec2RunnerProvider(scope: Construct, id: string, props?: Ec2RunnerProviderProps)
1514
+ ```
1515
+
1516
+ | **Name** | **Type** | **Description** |
1517
+ | --- | --- | --- |
1518
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
1519
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
1520
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps">Ec2RunnerProviderProps</a></code> | *No description.* |
1521
+
1522
+ ---
1523
+
1524
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.Initializer.parameter.scope"></a>
1525
+
1526
+ - *Type:* constructs.Construct
1527
+
1528
+ ---
1529
+
1530
+ ##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.Initializer.parameter.id"></a>
1531
+
1532
+ - *Type:* string
1533
+
1534
+ ---
1535
+
1536
+ ##### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.Initializer.parameter.props"></a>
1537
+
1538
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps">Ec2RunnerProviderProps</a>
1539
+
1540
+ ---
1541
+
1542
+ #### Methods <a name="Methods" id="Methods"></a>
1543
+
1544
+ | **Name** | **Description** |
1545
+ | --- | --- |
1546
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.toString">toString</a></code> | Returns a string representation of this construct. |
1547
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.getStepFunctionTask">getStepFunctionTask</a></code> | Generate step function task(s) to start a new runner. |
1548
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.grantStateMachine">grantStateMachine</a></code> | An optional method that modifies the role of the state machine after all the tasks have been generated. |
1549
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.status">status</a></code> | Return status of the runner provider to be used in the main status function. |
1550
+
1551
+ ---
1552
+
1553
+ ##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.toString"></a>
1554
+
1555
+ ```typescript
1556
+ public toString(): string
1557
+ ```
1558
+
1559
+ Returns a string representation of this construct.
1560
+
1561
+ ##### `getStepFunctionTask` <a name="getStepFunctionTask" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.getStepFunctionTask"></a>
1562
+
1563
+ ```typescript
1564
+ public getStepFunctionTask(parameters: RunnerRuntimeParameters): IChainable
1565
+ ```
1566
+
1567
+ Generate step function task(s) to start a new runner.
1568
+
1569
+ Called by GithubRunners and shouldn't be called manually.
1570
+
1571
+ ###### `parameters`<sup>Required</sup> <a name="parameters" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.getStepFunctionTask.parameter.parameters"></a>
1572
+
1573
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters">RunnerRuntimeParameters</a>
1574
+
1575
+ workflow job details.
1576
+
1577
+ ---
1578
+
1579
+ ##### `grantStateMachine` <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.grantStateMachine"></a>
1580
+
1581
+ ```typescript
1582
+ public grantStateMachine(stateMachineRole: IGrantable): void
1583
+ ```
1584
+
1585
+ An optional method that modifies the role of the state machine after all the tasks have been generated.
1586
+
1587
+ This can be used to add additional policy
1588
+ statements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.
1589
+
1590
+ ###### `stateMachineRole`<sup>Required</sup> <a name="stateMachineRole" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.grantStateMachine.parameter.stateMachineRole"></a>
1591
+
1592
+ - *Type:* aws-cdk-lib.aws_iam.IGrantable
1593
+
1594
+ ---
1595
+
1596
+ ##### `status` <a name="status" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.status"></a>
1597
+
1598
+ ```typescript
1599
+ public status(statusFunctionRole: IGrantable): IRunnerProviderStatus
1600
+ ```
1601
+
1602
+ Return status of the runner provider to be used in the main status function.
1603
+
1604
+ Also gives the status function any needed permissions to query the Docker image or AMI.
1605
+
1606
+ ###### `statusFunctionRole`<sup>Required</sup> <a name="statusFunctionRole" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.status.parameter.statusFunctionRole"></a>
1607
+
1608
+ - *Type:* aws-cdk-lib.aws_iam.IGrantable
1609
+
1610
+ ---
1611
+
1612
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1613
+
1614
+ | **Name** | **Description** |
1615
+ | --- | --- |
1616
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
1617
+
1618
+ ---
1619
+
1620
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.isConstruct"></a>
1621
+
1622
+ ```typescript
1623
+ import { Ec2RunnerProvider } from '@cloudsnorkel/cdk-github-runners'
1624
+
1625
+ Ec2RunnerProvider.isConstruct(x: any)
1626
+ ```
1627
+
1628
+ Checks if `x` is a construct.
1629
+
1630
+ ###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.isConstruct.parameter.x"></a>
1631
+
1632
+ - *Type:* any
1633
+
1634
+ Any object.
1635
+
1636
+ ---
1637
+
1638
+ #### Properties <a name="Properties" id="Properties"></a>
1639
+
1640
+ | **Name** | **Type** | **Description** |
1641
+ | --- | --- | --- |
1642
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
1643
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
1644
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
1645
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
1646
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
1647
+
1648
+ ---
1649
+
1650
+ ##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.property.node"></a>
1651
+
1652
+ ```typescript
1653
+ public readonly node: Node;
1654
+ ```
1655
+
1656
+ - *Type:* constructs.Node
1657
+
1658
+ The tree node.
1659
+
1660
+ ---
1661
+
1662
+ ##### `connections`<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.property.connections"></a>
1663
+
1664
+ ```typescript
1665
+ public readonly connections: Connections;
1666
+ ```
1667
+
1668
+ - *Type:* aws-cdk-lib.aws_ec2.Connections
1669
+
1670
+ The network connections associated with this resource.
1671
+
1672
+ ---
1673
+
1674
+ ##### `grantPrincipal`<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.property.grantPrincipal"></a>
1675
+
1676
+ ```typescript
1677
+ public readonly grantPrincipal: IPrincipal;
1678
+ ```
1679
+
1680
+ - *Type:* aws-cdk-lib.aws_iam.IPrincipal
1681
+
1682
+ Grant principal used to add permissions to the runner role.
1683
+
1684
+ ---
1685
+
1686
+ ##### `labels`<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.property.labels"></a>
1687
+
1688
+ ```typescript
1689
+ public readonly labels: string[];
1690
+ ```
1691
+
1692
+ - *Type:* string[]
1693
+
1694
+ Labels associated with this provider.
1695
+
1696
+ ---
1697
+
1698
+ ##### `logGroup`<sup>Required</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.property.logGroup"></a>
1699
+
1700
+ ```typescript
1701
+ public readonly logGroup: ILogGroup;
1702
+ ```
1703
+
1704
+ - *Type:* aws-cdk-lib.aws_logs.ILogGroup
1705
+
1706
+ Log group where provided runners will save their logs.
1707
+
1708
+ Note that this is not the job log, but the runner itself. It will not contain output from the GitHub Action but only metadata on its execution.
1709
+
1710
+ ---
1711
+
1712
+
1713
+ ### FargateRunner <a name="FargateRunner" id="@cloudsnorkel/cdk-github-runners.FargateRunner"></a>
1714
+
1715
+ #### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.FargateRunner.Initializer"></a>
1716
+
1717
+ ```typescript
1718
+ import { FargateRunner } from '@cloudsnorkel/cdk-github-runners'
1719
+
1720
+ new FargateRunner(scope: Construct, id: string, props?: FargateRunnerProviderProps)
1721
+ ```
1722
+
1723
+ | **Name** | **Type** | **Description** |
1724
+ | --- | --- | --- |
1725
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
1726
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
1727
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps">FargateRunnerProviderProps</a></code> | *No description.* |
1728
+
1729
+ ---
1730
+
1731
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.FargateRunner.Initializer.parameter.scope"></a>
1732
+
1733
+ - *Type:* constructs.Construct
1734
+
1735
+ ---
1736
+
1737
+ ##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.FargateRunner.Initializer.parameter.id"></a>
1738
+
1739
+ - *Type:* string
1740
+
1741
+ ---
1742
+
1743
+ ##### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.FargateRunner.Initializer.parameter.props"></a>
1744
+
1745
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps">FargateRunnerProviderProps</a>
1746
+
1747
+ ---
1748
+
1749
+ #### Methods <a name="Methods" id="Methods"></a>
1750
+
1751
+ | **Name** | **Description** |
1752
+ | --- | --- |
1753
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.toString">toString</a></code> | Returns a string representation of this construct. |
1754
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.getStepFunctionTask">getStepFunctionTask</a></code> | Generate step function task(s) to start a new runner. |
1755
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.grantStateMachine">grantStateMachine</a></code> | An optional method that modifies the role of the state machine after all the tasks have been generated. |
1756
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.status">status</a></code> | Return status of the runner provider to be used in the main status function. |
1757
+
1758
+ ---
1759
+
1760
+ ##### ~~`toString`~~ <a name="toString" id="@cloudsnorkel/cdk-github-runners.FargateRunner.toString"></a>
1761
+
1762
+ ```typescript
1763
+ public toString(): string
1764
+ ```
1765
+
1766
+ Returns a string representation of this construct.
1767
+
1768
+ ##### ~~`getStepFunctionTask`~~ <a name="getStepFunctionTask" id="@cloudsnorkel/cdk-github-runners.FargateRunner.getStepFunctionTask"></a>
1769
+
1770
+ ```typescript
1771
+ public getStepFunctionTask(parameters: RunnerRuntimeParameters): IChainable
1772
+ ```
1773
+
1774
+ Generate step function task(s) to start a new runner.
1775
+
1776
+ Called by GithubRunners and shouldn't be called manually.
1777
+
1778
+ ###### `parameters`<sup>Required</sup> <a name="parameters" id="@cloudsnorkel/cdk-github-runners.FargateRunner.getStepFunctionTask.parameter.parameters"></a>
1779
+
1780
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters">RunnerRuntimeParameters</a>
1781
+
1782
+ workflow job details.
1783
+
1784
+ ---
1785
+
1786
+ ##### ~~`grantStateMachine`~~ <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.FargateRunner.grantStateMachine"></a>
1787
+
1788
+ ```typescript
1789
+ public grantStateMachine(_: IGrantable): void
1790
+ ```
1791
+
1792
+ An optional method that modifies the role of the state machine after all the tasks have been generated.
1793
+
1794
+ This can be used to add additional policy
1795
+ statements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.
1796
+
1797
+ ###### `_`<sup>Required</sup> <a name="_" id="@cloudsnorkel/cdk-github-runners.FargateRunner.grantStateMachine.parameter._"></a>
1798
+
1799
+ - *Type:* aws-cdk-lib.aws_iam.IGrantable
1800
+
1801
+ ---
1802
+
1803
+ ##### ~~`status`~~ <a name="status" id="@cloudsnorkel/cdk-github-runners.FargateRunner.status"></a>
1804
+
1805
+ ```typescript
1806
+ public status(statusFunctionRole: IGrantable): IRunnerProviderStatus
1807
+ ```
1808
+
1809
+ Return status of the runner provider to be used in the main status function.
1810
+
1811
+ Also gives the status function any needed permissions to query the Docker image or AMI.
1812
+
1813
+ ###### `statusFunctionRole`<sup>Required</sup> <a name="statusFunctionRole" id="@cloudsnorkel/cdk-github-runners.FargateRunner.status.parameter.statusFunctionRole"></a>
1814
+
1815
+ - *Type:* aws-cdk-lib.aws_iam.IGrantable
1816
+
1817
+ ---
1818
+
1819
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
1820
+
1821
+ | **Name** | **Description** |
1822
+ | --- | --- |
1823
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
1824
+
1825
+ ---
1826
+
1827
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.FargateRunner.isConstruct"></a>
1828
+
1829
+ ```typescript
1830
+ import { FargateRunner } from '@cloudsnorkel/cdk-github-runners'
1831
+
1832
+ FargateRunner.isConstruct(x: any)
1833
+ ```
1834
+
1835
+ Checks if `x` is a construct.
1836
+
1837
+ ###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.FargateRunner.isConstruct.parameter.x"></a>
1838
+
1839
+ - *Type:* any
1840
+
1841
+ Any object.
1842
+
1843
+ ---
1844
+
1845
+ #### Properties <a name="Properties" id="Properties"></a>
1117
1846
 
1118
1847
  | **Name** | **Type** | **Description** |
1119
1848
  | --- | --- | --- |
1120
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
1121
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
1122
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
1123
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
1124
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
1849
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
1850
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.assignPublicIp">assignPublicIp</a></code> | <code>boolean</code> | Whether runner task will have a public IP. |
1851
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_ecs.Cluster</code> | Cluster hosting the task hosting the runner. |
1852
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
1853
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | Container definition hosting the runner. |
1854
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
1855
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Docker image loaded with GitHub Actions Runner and its prerequisites. |
1856
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
1857
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
1858
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.spot">spot</a></code> | <code>boolean</code> | Use spot pricing for Fargate tasks. |
1859
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.task">task</a></code> | <code>aws-cdk-lib.aws_ecs.FargateTaskDefinition</code> | Fargate task hosting the runner. |
1860
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Subnets used for hosting the runner task. |
1861
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC used for hosting the runner task. |
1125
1862
 
1126
1863
  ---
1127
1864
 
1128
- ##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.node"></a>
1865
+ ##### ~~`node`~~<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.node"></a>
1866
+
1867
+ - *Deprecated:* use {@link FargateRunnerProvider}
1129
1868
 
1130
1869
  ```typescript
1131
1870
  public readonly node: Node;
@@ -1137,7 +1876,37 @@ The tree node.
1137
1876
 
1138
1877
  ---
1139
1878
 
1140
- ##### `connections`<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.connections"></a>
1879
+ ##### ~~`assignPublicIp`~~<sup>Required</sup> <a name="assignPublicIp" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.assignPublicIp"></a>
1880
+
1881
+ - *Deprecated:* use {@link FargateRunnerProvider}
1882
+
1883
+ ```typescript
1884
+ public readonly assignPublicIp: boolean;
1885
+ ```
1886
+
1887
+ - *Type:* boolean
1888
+
1889
+ Whether runner task will have a public IP.
1890
+
1891
+ ---
1892
+
1893
+ ##### ~~`cluster`~~<sup>Required</sup> <a name="cluster" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.cluster"></a>
1894
+
1895
+ - *Deprecated:* use {@link FargateRunnerProvider}
1896
+
1897
+ ```typescript
1898
+ public readonly cluster: Cluster;
1899
+ ```
1900
+
1901
+ - *Type:* aws-cdk-lib.aws_ecs.Cluster
1902
+
1903
+ Cluster hosting the task hosting the runner.
1904
+
1905
+ ---
1906
+
1907
+ ##### ~~`connections`~~<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.connections"></a>
1908
+
1909
+ - *Deprecated:* use {@link FargateRunnerProvider}
1141
1910
 
1142
1911
  ```typescript
1143
1912
  public readonly connections: Connections;
@@ -1149,7 +1918,23 @@ The network connections associated with this resource.
1149
1918
 
1150
1919
  ---
1151
1920
 
1152
- ##### `grantPrincipal`<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.grantPrincipal"></a>
1921
+ ##### ~~`container`~~<sup>Required</sup> <a name="container" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.container"></a>
1922
+
1923
+ - *Deprecated:* use {@link FargateRunnerProvider}
1924
+
1925
+ ```typescript
1926
+ public readonly container: ContainerDefinition;
1927
+ ```
1928
+
1929
+ - *Type:* aws-cdk-lib.aws_ecs.ContainerDefinition
1930
+
1931
+ Container definition hosting the runner.
1932
+
1933
+ ---
1934
+
1935
+ ##### ~~`grantPrincipal`~~<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.grantPrincipal"></a>
1936
+
1937
+ - *Deprecated:* use {@link FargateRunnerProvider}
1153
1938
 
1154
1939
  ```typescript
1155
1940
  public readonly grantPrincipal: IPrincipal;
@@ -1161,7 +1946,25 @@ Grant principal used to add permissions to the runner role.
1161
1946
 
1162
1947
  ---
1163
1948
 
1164
- ##### `labels`<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.labels"></a>
1949
+ ##### ~~`image`~~<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.image"></a>
1950
+
1951
+ - *Deprecated:* use {@link FargateRunnerProvider}
1952
+
1953
+ ```typescript
1954
+ public readonly image: RunnerImage;
1955
+ ```
1956
+
1957
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a>
1958
+
1959
+ Docker image loaded with GitHub Actions Runner and its prerequisites.
1960
+
1961
+ The image is built by an image builder and is specific to Fargate tasks.
1962
+
1963
+ ---
1964
+
1965
+ ##### ~~`labels`~~<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.labels"></a>
1966
+
1967
+ - *Deprecated:* use {@link FargateRunnerProvider}
1165
1968
 
1166
1969
  ```typescript
1167
1970
  public readonly labels: string[];
@@ -1173,7 +1976,9 @@ Labels associated with this provider.
1173
1976
 
1174
1977
  ---
1175
1978
 
1176
- ##### `logGroup`<sup>Required</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.logGroup"></a>
1979
+ ##### ~~`logGroup`~~<sup>Required</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.logGroup"></a>
1980
+
1981
+ - *Deprecated:* use {@link FargateRunnerProvider}
1177
1982
 
1178
1983
  ```typescript
1179
1984
  public readonly logGroup: ILogGroup;
@@ -1187,8 +1992,112 @@ Note that this is not the job log, but the runner itself. It will not contain ou
1187
1992
 
1188
1993
  ---
1189
1994
 
1995
+ ##### ~~`spot`~~<sup>Required</sup> <a name="spot" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.spot"></a>
1190
1996
 
1191
- ### FargateRunner <a name="FargateRunner" id="@cloudsnorkel/cdk-github-runners.FargateRunner"></a>
1997
+ - *Deprecated:* use {@link FargateRunnerProvider}
1998
+
1999
+ ```typescript
2000
+ public readonly spot: boolean;
2001
+ ```
2002
+
2003
+ - *Type:* boolean
2004
+
2005
+ Use spot pricing for Fargate tasks.
2006
+
2007
+ ---
2008
+
2009
+ ##### ~~`task`~~<sup>Required</sup> <a name="task" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.task"></a>
2010
+
2011
+ - *Deprecated:* use {@link FargateRunnerProvider}
2012
+
2013
+ ```typescript
2014
+ public readonly task: FargateTaskDefinition;
2015
+ ```
2016
+
2017
+ - *Type:* aws-cdk-lib.aws_ecs.FargateTaskDefinition
2018
+
2019
+ Fargate task hosting the runner.
2020
+
2021
+ ---
2022
+
2023
+ ##### ~~`subnetSelection`~~<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.subnetSelection"></a>
2024
+
2025
+ - *Deprecated:* use {@link FargateRunnerProvider}
2026
+
2027
+ ```typescript
2028
+ public readonly subnetSelection: SubnetSelection;
2029
+ ```
2030
+
2031
+ - *Type:* aws-cdk-lib.aws_ec2.SubnetSelection
2032
+
2033
+ Subnets used for hosting the runner task.
2034
+
2035
+ ---
2036
+
2037
+ ##### ~~`vpc`~~<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.vpc"></a>
2038
+
2039
+ - *Deprecated:* use {@link FargateRunnerProvider}
2040
+
2041
+ ```typescript
2042
+ public readonly vpc: IVpc;
2043
+ ```
2044
+
2045
+ - *Type:* aws-cdk-lib.aws_ec2.IVpc
2046
+
2047
+ VPC used for hosting the runner task.
2048
+
2049
+ ---
2050
+
2051
+ #### Constants <a name="Constants" id="Constants"></a>
2052
+
2053
+ | **Name** | **Type** | **Description** |
2054
+ | --- | --- | --- |
2055
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.LINUX_ARM64_DOCKERFILE_PATH">LINUX_ARM64_DOCKERFILE_PATH</a></code> | <code>string</code> | Path to Dockerfile for Linux ARM64 with all the requirement for Fargate runner. |
2056
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.LINUX_X64_DOCKERFILE_PATH">LINUX_X64_DOCKERFILE_PATH</a></code> | <code>string</code> | Path to Dockerfile for Linux x64 with all the requirement for Fargate runner. |
2057
+
2058
+ ---
2059
+
2060
+ ##### ~~`LINUX_ARM64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_ARM64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.LINUX_ARM64_DOCKERFILE_PATH"></a>
2061
+
2062
+ - *Deprecated:* use {@link FargateRunnerProvider}
2063
+
2064
+ ```typescript
2065
+ public readonly LINUX_ARM64_DOCKERFILE_PATH: string;
2066
+ ```
2067
+
2068
+ - *Type:* string
2069
+
2070
+ Path to Dockerfile for Linux ARM64 with all the requirement for Fargate runner.
2071
+
2072
+ Use this Dockerfile unless you need to customize it further than allowed by hooks.
2073
+
2074
+ Available build arguments that can be set in the image builder:
2075
+ * `BASE_IMAGE` sets the `FROM` line. This should be an Ubuntu compatible image.
2076
+ * `EXTRA_PACKAGES` can be used to install additional packages.
2077
+
2078
+ ---
2079
+
2080
+ ##### ~~`LINUX_X64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_X64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.LINUX_X64_DOCKERFILE_PATH"></a>
2081
+
2082
+ - *Deprecated:* use {@link FargateRunnerProvider}
2083
+
2084
+ ```typescript
2085
+ public readonly LINUX_X64_DOCKERFILE_PATH: string;
2086
+ ```
2087
+
2088
+ - *Type:* string
2089
+
2090
+ Path to Dockerfile for Linux x64 with all the requirement for Fargate runner.
2091
+
2092
+ Use this Dockerfile unless you need to customize it further than allowed by hooks.
2093
+
2094
+ Available build arguments that can be set in the image builder:
2095
+ * `BASE_IMAGE` sets the `FROM` line. This should be an Ubuntu compatible image.
2096
+ * `EXTRA_PACKAGES` can be used to install additional packages.
2097
+
2098
+ ---
2099
+
2100
+ ### FargateRunnerProvider <a name="FargateRunnerProvider" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider"></a>
1192
2101
 
1193
2102
  - *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
1194
2103
 
@@ -1198,37 +2107,37 @@ Creates a task definition with a single container that gets started for each job
1198
2107
 
1199
2108
  This construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.
1200
2109
 
1201
- #### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.FargateRunner.Initializer"></a>
2110
+ #### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.Initializer"></a>
1202
2111
 
1203
2112
  ```typescript
1204
- import { FargateRunner } from '@cloudsnorkel/cdk-github-runners'
2113
+ import { FargateRunnerProvider } from '@cloudsnorkel/cdk-github-runners'
1205
2114
 
1206
- new FargateRunner(scope: Construct, id: string, props?: FargateRunnerProps)
2115
+ new FargateRunnerProvider(scope: Construct, id: string, props?: FargateRunnerProviderProps)
1207
2116
  ```
1208
2117
 
1209
2118
  | **Name** | **Type** | **Description** |
1210
- | --- | --- | --- |
1211
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
1212
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
1213
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps">FargateRunnerProps</a></code> | *No description.* |
2119
+ | --- | --- | --- |
2120
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
2121
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
2122
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps">FargateRunnerProviderProps</a></code> | *No description.* |
1214
2123
 
1215
2124
  ---
1216
2125
 
1217
- ##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.FargateRunner.Initializer.parameter.scope"></a>
2126
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.Initializer.parameter.scope"></a>
1218
2127
 
1219
2128
  - *Type:* constructs.Construct
1220
2129
 
1221
2130
  ---
1222
2131
 
1223
- ##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.FargateRunner.Initializer.parameter.id"></a>
2132
+ ##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.Initializer.parameter.id"></a>
1224
2133
 
1225
2134
  - *Type:* string
1226
2135
 
1227
2136
  ---
1228
2137
 
1229
- ##### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.FargateRunner.Initializer.parameter.props"></a>
2138
+ ##### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.Initializer.parameter.props"></a>
1230
2139
 
1231
- - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps">FargateRunnerProps</a>
2140
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps">FargateRunnerProviderProps</a>
1232
2141
 
1233
2142
  ---
1234
2143
 
@@ -1236,14 +2145,14 @@ new FargateRunner(scope: Construct, id: string, props?: FargateRunnerProps)
1236
2145
 
1237
2146
  | **Name** | **Description** |
1238
2147
  | --- | --- |
1239
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.toString">toString</a></code> | Returns a string representation of this construct. |
1240
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.getStepFunctionTask">getStepFunctionTask</a></code> | Generate step function task(s) to start a new runner. |
1241
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.grantStateMachine">grantStateMachine</a></code> | An optional method that modifies the role of the state machine after all the tasks have been generated. |
1242
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.status">status</a></code> | Return status of the runner provider to be used in the main status function. |
2148
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.toString">toString</a></code> | Returns a string representation of this construct. |
2149
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.getStepFunctionTask">getStepFunctionTask</a></code> | Generate step function task(s) to start a new runner. |
2150
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.grantStateMachine">grantStateMachine</a></code> | An optional method that modifies the role of the state machine after all the tasks have been generated. |
2151
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.status">status</a></code> | Return status of the runner provider to be used in the main status function. |
1243
2152
 
1244
2153
  ---
1245
2154
 
1246
- ##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.FargateRunner.toString"></a>
2155
+ ##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.toString"></a>
1247
2156
 
1248
2157
  ```typescript
1249
2158
  public toString(): string
@@ -1251,7 +2160,7 @@ public toString(): string
1251
2160
 
1252
2161
  Returns a string representation of this construct.
1253
2162
 
1254
- ##### `getStepFunctionTask` <a name="getStepFunctionTask" id="@cloudsnorkel/cdk-github-runners.FargateRunner.getStepFunctionTask"></a>
2163
+ ##### `getStepFunctionTask` <a name="getStepFunctionTask" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.getStepFunctionTask"></a>
1255
2164
 
1256
2165
  ```typescript
1257
2166
  public getStepFunctionTask(parameters: RunnerRuntimeParameters): IChainable
@@ -1261,7 +2170,7 @@ Generate step function task(s) to start a new runner.
1261
2170
 
1262
2171
  Called by GithubRunners and shouldn't be called manually.
1263
2172
 
1264
- ###### `parameters`<sup>Required</sup> <a name="parameters" id="@cloudsnorkel/cdk-github-runners.FargateRunner.getStepFunctionTask.parameter.parameters"></a>
2173
+ ###### `parameters`<sup>Required</sup> <a name="parameters" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.getStepFunctionTask.parameter.parameters"></a>
1265
2174
 
1266
2175
  - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters">RunnerRuntimeParameters</a>
1267
2176
 
@@ -1269,7 +2178,7 @@ workflow job details.
1269
2178
 
1270
2179
  ---
1271
2180
 
1272
- ##### `grantStateMachine` <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.FargateRunner.grantStateMachine"></a>
2181
+ ##### `grantStateMachine` <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.grantStateMachine"></a>
1273
2182
 
1274
2183
  ```typescript
1275
2184
  public grantStateMachine(_: IGrantable): void
@@ -1280,13 +2189,13 @@ An optional method that modifies the role of the state machine after all the tas
1280
2189
  This can be used to add additional policy
1281
2190
  statements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.
1282
2191
 
1283
- ###### `_`<sup>Required</sup> <a name="_" id="@cloudsnorkel/cdk-github-runners.FargateRunner.grantStateMachine.parameter._"></a>
2192
+ ###### `_`<sup>Required</sup> <a name="_" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.grantStateMachine.parameter._"></a>
1284
2193
 
1285
2194
  - *Type:* aws-cdk-lib.aws_iam.IGrantable
1286
2195
 
1287
2196
  ---
1288
2197
 
1289
- ##### `status` <a name="status" id="@cloudsnorkel/cdk-github-runners.FargateRunner.status"></a>
2198
+ ##### `status` <a name="status" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.status"></a>
1290
2199
 
1291
2200
  ```typescript
1292
2201
  public status(statusFunctionRole: IGrantable): IRunnerProviderStatus
@@ -1296,7 +2205,7 @@ Return status of the runner provider to be used in the main status function.
1296
2205
 
1297
2206
  Also gives the status function any needed permissions to query the Docker image or AMI.
1298
2207
 
1299
- ###### `statusFunctionRole`<sup>Required</sup> <a name="statusFunctionRole" id="@cloudsnorkel/cdk-github-runners.FargateRunner.status.parameter.statusFunctionRole"></a>
2208
+ ###### `statusFunctionRole`<sup>Required</sup> <a name="statusFunctionRole" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.status.parameter.statusFunctionRole"></a>
1300
2209
 
1301
2210
  - *Type:* aws-cdk-lib.aws_iam.IGrantable
1302
2211
 
@@ -1306,21 +2215,21 @@ Also gives the status function any needed permissions to query the Docker image
1306
2215
 
1307
2216
  | **Name** | **Description** |
1308
2217
  | --- | --- |
1309
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
2218
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
1310
2219
 
1311
2220
  ---
1312
2221
 
1313
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.FargateRunner.isConstruct"></a>
2222
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.isConstruct"></a>
1314
2223
 
1315
2224
  ```typescript
1316
- import { FargateRunner } from '@cloudsnorkel/cdk-github-runners'
2225
+ import { FargateRunnerProvider } from '@cloudsnorkel/cdk-github-runners'
1317
2226
 
1318
- FargateRunner.isConstruct(x: any)
2227
+ FargateRunnerProvider.isConstruct(x: any)
1319
2228
  ```
1320
2229
 
1321
2230
  Checks if `x` is a construct.
1322
2231
 
1323
- ###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.FargateRunner.isConstruct.parameter.x"></a>
2232
+ ###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.isConstruct.parameter.x"></a>
1324
2233
 
1325
2234
  - *Type:* any
1326
2235
 
@@ -1332,23 +2241,23 @@ Any object.
1332
2241
 
1333
2242
  | **Name** | **Type** | **Description** |
1334
2243
  | --- | --- | --- |
1335
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
1336
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.assignPublicIp">assignPublicIp</a></code> | <code>boolean</code> | Whether runner task will have a public IP. |
1337
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_ecs.Cluster</code> | Cluster hosting the task hosting the runner. |
1338
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
1339
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | Container definition hosting the runner. |
1340
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
1341
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Docker image loaded with GitHub Actions Runner and its prerequisites. |
1342
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
1343
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
1344
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.spot">spot</a></code> | <code>boolean</code> | Use spot pricing for Fargate tasks. |
1345
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.task">task</a></code> | <code>aws-cdk-lib.aws_ecs.FargateTaskDefinition</code> | Fargate task hosting the runner. |
1346
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Subnets used for hosting the runner task. |
1347
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC used for hosting the runner task. |
2244
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
2245
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.assignPublicIp">assignPublicIp</a></code> | <code>boolean</code> | Whether runner task will have a public IP. |
2246
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_ecs.Cluster</code> | Cluster hosting the task hosting the runner. |
2247
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
2248
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | Container definition hosting the runner. |
2249
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
2250
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Docker image loaded with GitHub Actions Runner and its prerequisites. |
2251
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
2252
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
2253
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.spot">spot</a></code> | <code>boolean</code> | Use spot pricing for Fargate tasks. |
2254
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.task">task</a></code> | <code>aws-cdk-lib.aws_ecs.FargateTaskDefinition</code> | Fargate task hosting the runner. |
2255
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Subnets used for hosting the runner task. |
2256
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC used for hosting the runner task. |
1348
2257
 
1349
2258
  ---
1350
2259
 
1351
- ##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.node"></a>
2260
+ ##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.node"></a>
1352
2261
 
1353
2262
  ```typescript
1354
2263
  public readonly node: Node;
@@ -1360,7 +2269,7 @@ The tree node.
1360
2269
 
1361
2270
  ---
1362
2271
 
1363
- ##### `assignPublicIp`<sup>Required</sup> <a name="assignPublicIp" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.assignPublicIp"></a>
2272
+ ##### `assignPublicIp`<sup>Required</sup> <a name="assignPublicIp" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.assignPublicIp"></a>
1364
2273
 
1365
2274
  ```typescript
1366
2275
  public readonly assignPublicIp: boolean;
@@ -1372,7 +2281,7 @@ Whether runner task will have a public IP.
1372
2281
 
1373
2282
  ---
1374
2283
 
1375
- ##### `cluster`<sup>Required</sup> <a name="cluster" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.cluster"></a>
2284
+ ##### `cluster`<sup>Required</sup> <a name="cluster" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.cluster"></a>
1376
2285
 
1377
2286
  ```typescript
1378
2287
  public readonly cluster: Cluster;
@@ -1384,7 +2293,7 @@ Cluster hosting the task hosting the runner.
1384
2293
 
1385
2294
  ---
1386
2295
 
1387
- ##### `connections`<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.connections"></a>
2296
+ ##### `connections`<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.connections"></a>
1388
2297
 
1389
2298
  ```typescript
1390
2299
  public readonly connections: Connections;
@@ -1396,7 +2305,7 @@ The network connections associated with this resource.
1396
2305
 
1397
2306
  ---
1398
2307
 
1399
- ##### `container`<sup>Required</sup> <a name="container" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.container"></a>
2308
+ ##### `container`<sup>Required</sup> <a name="container" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.container"></a>
1400
2309
 
1401
2310
  ```typescript
1402
2311
  public readonly container: ContainerDefinition;
@@ -1408,7 +2317,7 @@ Container definition hosting the runner.
1408
2317
 
1409
2318
  ---
1410
2319
 
1411
- ##### `grantPrincipal`<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.grantPrincipal"></a>
2320
+ ##### `grantPrincipal`<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.grantPrincipal"></a>
1412
2321
 
1413
2322
  ```typescript
1414
2323
  public readonly grantPrincipal: IPrincipal;
@@ -1420,7 +2329,7 @@ Grant principal used to add permissions to the runner role.
1420
2329
 
1421
2330
  ---
1422
2331
 
1423
- ##### `image`<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.image"></a>
2332
+ ##### `image`<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.image"></a>
1424
2333
 
1425
2334
  ```typescript
1426
2335
  public readonly image: RunnerImage;
@@ -1434,7 +2343,7 @@ The image is built by an image builder and is specific to Fargate tasks.
1434
2343
 
1435
2344
  ---
1436
2345
 
1437
- ##### `labels`<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.labels"></a>
2346
+ ##### `labels`<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.labels"></a>
1438
2347
 
1439
2348
  ```typescript
1440
2349
  public readonly labels: string[];
@@ -1446,7 +2355,7 @@ Labels associated with this provider.
1446
2355
 
1447
2356
  ---
1448
2357
 
1449
- ##### `logGroup`<sup>Required</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.logGroup"></a>
2358
+ ##### `logGroup`<sup>Required</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.logGroup"></a>
1450
2359
 
1451
2360
  ```typescript
1452
2361
  public readonly logGroup: ILogGroup;
@@ -1460,7 +2369,7 @@ Note that this is not the job log, but the runner itself. It will not contain ou
1460
2369
 
1461
2370
  ---
1462
2371
 
1463
- ##### `spot`<sup>Required</sup> <a name="spot" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.spot"></a>
2372
+ ##### `spot`<sup>Required</sup> <a name="spot" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.spot"></a>
1464
2373
 
1465
2374
  ```typescript
1466
2375
  public readonly spot: boolean;
@@ -1472,7 +2381,7 @@ Use spot pricing for Fargate tasks.
1472
2381
 
1473
2382
  ---
1474
2383
 
1475
- ##### `task`<sup>Required</sup> <a name="task" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.task"></a>
2384
+ ##### `task`<sup>Required</sup> <a name="task" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.task"></a>
1476
2385
 
1477
2386
  ```typescript
1478
2387
  public readonly task: FargateTaskDefinition;
@@ -1484,7 +2393,7 @@ Fargate task hosting the runner.
1484
2393
 
1485
2394
  ---
1486
2395
 
1487
- ##### `subnetSelection`<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.subnetSelection"></a>
2396
+ ##### `subnetSelection`<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.subnetSelection"></a>
1488
2397
 
1489
2398
  ```typescript
1490
2399
  public readonly subnetSelection: SubnetSelection;
@@ -1496,7 +2405,7 @@ Subnets used for hosting the runner task.
1496
2405
 
1497
2406
  ---
1498
2407
 
1499
- ##### `vpc`<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.vpc"></a>
2408
+ ##### `vpc`<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.vpc"></a>
1500
2409
 
1501
2410
  ```typescript
1502
2411
  public readonly vpc: IVpc;
@@ -1512,12 +2421,12 @@ VPC used for hosting the runner task.
1512
2421
 
1513
2422
  | **Name** | **Type** | **Description** |
1514
2423
  | --- | --- | --- |
1515
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.LINUX_ARM64_DOCKERFILE_PATH">LINUX_ARM64_DOCKERFILE_PATH</a></code> | <code>string</code> | Path to Dockerfile for Linux ARM64 with all the requirement for Fargate runner. |
1516
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.LINUX_X64_DOCKERFILE_PATH">LINUX_X64_DOCKERFILE_PATH</a></code> | <code>string</code> | Path to Dockerfile for Linux x64 with all the requirement for Fargate runner. |
2424
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.LINUX_ARM64_DOCKERFILE_PATH">LINUX_ARM64_DOCKERFILE_PATH</a></code> | <code>string</code> | Path to Dockerfile for Linux ARM64 with all the requirement for Fargate runner. |
2425
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.LINUX_X64_DOCKERFILE_PATH">LINUX_X64_DOCKERFILE_PATH</a></code> | <code>string</code> | Path to Dockerfile for Linux x64 with all the requirement for Fargate runner. |
1517
2426
 
1518
2427
  ---
1519
2428
 
1520
- ##### `LINUX_ARM64_DOCKERFILE_PATH`<sup>Required</sup> <a name="LINUX_ARM64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.LINUX_ARM64_DOCKERFILE_PATH"></a>
2429
+ ##### `LINUX_ARM64_DOCKERFILE_PATH`<sup>Required</sup> <a name="LINUX_ARM64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.LINUX_ARM64_DOCKERFILE_PATH"></a>
1521
2430
 
1522
2431
  ```typescript
1523
2432
  public readonly LINUX_ARM64_DOCKERFILE_PATH: string;
@@ -1535,7 +2444,7 @@ Available build arguments that can be set in the image builder:
1535
2444
 
1536
2445
  ---
1537
2446
 
1538
- ##### `LINUX_X64_DOCKERFILE_PATH`<sup>Required</sup> <a name="LINUX_X64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.LINUX_X64_DOCKERFILE_PATH"></a>
2447
+ ##### `LINUX_X64_DOCKERFILE_PATH`<sup>Required</sup> <a name="LINUX_X64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.LINUX_X64_DOCKERFILE_PATH"></a>
1539
2448
 
1540
2449
  ```typescript
1541
2450
  public readonly LINUX_X64_DOCKERFILE_PATH: string;
@@ -1822,37 +2731,267 @@ new ImageBuilderComponent(this, 'AWS CLI', {
1822
2731
  }
1823
2732
  ```
1824
2733
 
1825
- #### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer"></a>
2734
+ #### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer"></a>
2735
+
2736
+ ```typescript
2737
+ import { ImageBuilderComponent } from '@cloudsnorkel/cdk-github-runners'
2738
+
2739
+ new ImageBuilderComponent(scope: Construct, id: string, props: ImageBuilderComponentProperties)
2740
+ ```
2741
+
2742
+ | **Name** | **Type** | **Description** |
2743
+ | --- | --- | --- |
2744
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
2745
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
2746
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties">ImageBuilderComponentProperties</a></code> | *No description.* |
2747
+
2748
+ ---
2749
+
2750
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.scope"></a>
2751
+
2752
+ - *Type:* constructs.Construct
2753
+
2754
+ ---
2755
+
2756
+ ##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.id"></a>
2757
+
2758
+ - *Type:* string
2759
+
2760
+ ---
2761
+
2762
+ ##### `props`<sup>Required</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.props"></a>
2763
+
2764
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties">ImageBuilderComponentProperties</a>
2765
+
2766
+ ---
2767
+
2768
+ #### Methods <a name="Methods" id="Methods"></a>
2769
+
2770
+ | **Name** | **Description** |
2771
+ | --- | --- |
2772
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.toString">toString</a></code> | Returns a string representation of this construct. |
2773
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.applyRemovalPolicy">applyRemovalPolicy</a></code> | Apply the given removal policy to this resource. |
2774
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.grantAssetsRead">grantAssetsRead</a></code> | Grants read permissions to the principal on the assets buckets. |
2775
+
2776
+ ---
2777
+
2778
+ ##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.toString"></a>
2779
+
2780
+ ```typescript
2781
+ public toString(): string
2782
+ ```
2783
+
2784
+ Returns a string representation of this construct.
2785
+
2786
+ ##### `applyRemovalPolicy` <a name="applyRemovalPolicy" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.applyRemovalPolicy"></a>
2787
+
2788
+ ```typescript
2789
+ public applyRemovalPolicy(policy: RemovalPolicy): void
2790
+ ```
2791
+
2792
+ Apply the given removal policy to this resource.
2793
+
2794
+ The Removal Policy controls what happens to this resource when it stops
2795
+ being managed by CloudFormation, either because you've removed it from the
2796
+ CDK application or because you've made a change that requires the resource
2797
+ to be replaced.
2798
+
2799
+ The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
2800
+ account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
2801
+
2802
+ ###### `policy`<sup>Required</sup> <a name="policy" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.applyRemovalPolicy.parameter.policy"></a>
2803
+
2804
+ - *Type:* aws-cdk-lib.RemovalPolicy
2805
+
2806
+ ---
2807
+
2808
+ ##### `grantAssetsRead` <a name="grantAssetsRead" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.grantAssetsRead"></a>
2809
+
2810
+ ```typescript
2811
+ public grantAssetsRead(grantee: IGrantable): void
2812
+ ```
2813
+
2814
+ Grants read permissions to the principal on the assets buckets.
2815
+
2816
+ ###### `grantee`<sup>Required</sup> <a name="grantee" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.grantAssetsRead.parameter.grantee"></a>
2817
+
2818
+ - *Type:* aws-cdk-lib.aws_iam.IGrantable
2819
+
2820
+ ---
2821
+
2822
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
2823
+
2824
+ | **Name** | **Description** |
2825
+ | --- | --- |
2826
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
2827
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isOwnedResource">isOwnedResource</a></code> | Returns true if the construct was created by CDK, and false otherwise. |
2828
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isResource">isResource</a></code> | Check whether the given construct is a Resource. |
2829
+
2830
+ ---
2831
+
2832
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isConstruct"></a>
2833
+
2834
+ ```typescript
2835
+ import { ImageBuilderComponent } from '@cloudsnorkel/cdk-github-runners'
2836
+
2837
+ ImageBuilderComponent.isConstruct(x: any)
2838
+ ```
2839
+
2840
+ Checks if `x` is a construct.
2841
+
2842
+ ###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isConstruct.parameter.x"></a>
2843
+
2844
+ - *Type:* any
2845
+
2846
+ Any object.
2847
+
2848
+ ---
2849
+
2850
+ ##### `isOwnedResource` <a name="isOwnedResource" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isOwnedResource"></a>
2851
+
2852
+ ```typescript
2853
+ import { ImageBuilderComponent } from '@cloudsnorkel/cdk-github-runners'
2854
+
2855
+ ImageBuilderComponent.isOwnedResource(construct: IConstruct)
2856
+ ```
2857
+
2858
+ Returns true if the construct was created by CDK, and false otherwise.
2859
+
2860
+ ###### `construct`<sup>Required</sup> <a name="construct" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isOwnedResource.parameter.construct"></a>
2861
+
2862
+ - *Type:* constructs.IConstruct
2863
+
2864
+ ---
2865
+
2866
+ ##### `isResource` <a name="isResource" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isResource"></a>
2867
+
2868
+ ```typescript
2869
+ import { ImageBuilderComponent } from '@cloudsnorkel/cdk-github-runners'
2870
+
2871
+ ImageBuilderComponent.isResource(construct: IConstruct)
2872
+ ```
2873
+
2874
+ Check whether the given construct is a Resource.
2875
+
2876
+ ###### `construct`<sup>Required</sup> <a name="construct" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isResource.parameter.construct"></a>
2877
+
2878
+ - *Type:* constructs.IConstruct
2879
+
2880
+ ---
2881
+
2882
+ #### Properties <a name="Properties" id="Properties"></a>
2883
+
2884
+ | **Name** | **Type** | **Description** |
2885
+ | --- | --- | --- |
2886
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
2887
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.env">env</a></code> | <code>aws-cdk-lib.ResourceEnvironment</code> | The environment this resource belongs to. |
2888
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.stack">stack</a></code> | <code>aws-cdk-lib.Stack</code> | The stack in which this resource is defined. |
2889
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.arn">arn</a></code> | <code>string</code> | Component ARN. |
2890
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.platform">platform</a></code> | <code>string</code> | Supported platform for the component. |
2891
+
2892
+ ---
2893
+
2894
+ ##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.node"></a>
2895
+
2896
+ ```typescript
2897
+ public readonly node: Node;
2898
+ ```
2899
+
2900
+ - *Type:* constructs.Node
2901
+
2902
+ The tree node.
2903
+
2904
+ ---
2905
+
2906
+ ##### `env`<sup>Required</sup> <a name="env" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.env"></a>
2907
+
2908
+ ```typescript
2909
+ public readonly env: ResourceEnvironment;
2910
+ ```
2911
+
2912
+ - *Type:* aws-cdk-lib.ResourceEnvironment
2913
+
2914
+ The environment this resource belongs to.
2915
+
2916
+ For resources that are created and managed by the CDK
2917
+ (generally, those created by creating new class instances like Role, Bucket, etc.),
2918
+ this is always the same as the environment of the stack they belong to;
2919
+ however, for imported resources
2920
+ (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
2921
+ that might be different than the stack they were imported into.
2922
+
2923
+ ---
2924
+
2925
+ ##### `stack`<sup>Required</sup> <a name="stack" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.stack"></a>
2926
+
2927
+ ```typescript
2928
+ public readonly stack: Stack;
2929
+ ```
2930
+
2931
+ - *Type:* aws-cdk-lib.Stack
2932
+
2933
+ The stack in which this resource is defined.
2934
+
2935
+ ---
2936
+
2937
+ ##### `arn`<sup>Required</sup> <a name="arn" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.arn"></a>
2938
+
2939
+ ```typescript
2940
+ public readonly arn: string;
2941
+ ```
2942
+
2943
+ - *Type:* string
2944
+
2945
+ Component ARN.
2946
+
2947
+ ---
2948
+
2949
+ ##### `platform`<sup>Required</sup> <a name="platform" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.platform"></a>
2950
+
2951
+ ```typescript
2952
+ public readonly platform: string;
2953
+ ```
2954
+
2955
+ - *Type:* string
2956
+
2957
+ Supported platform for the component.
2958
+
2959
+ ---
2960
+
2961
+
2962
+ ### LambdaRunner <a name="LambdaRunner" id="@cloudsnorkel/cdk-github-runners.LambdaRunner"></a>
2963
+
2964
+ #### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.Initializer"></a>
1826
2965
 
1827
2966
  ```typescript
1828
- import { ImageBuilderComponent } from '@cloudsnorkel/cdk-github-runners'
2967
+ import { LambdaRunner } from '@cloudsnorkel/cdk-github-runners'
1829
2968
 
1830
- new ImageBuilderComponent(scope: Construct, id: string, props: ImageBuilderComponentProperties)
2969
+ new LambdaRunner(scope: Construct, id: string, props?: LambdaRunnerProviderProps)
1831
2970
  ```
1832
2971
 
1833
2972
  | **Name** | **Type** | **Description** |
1834
2973
  | --- | --- | --- |
1835
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
1836
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
1837
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties">ImageBuilderComponentProperties</a></code> | *No description.* |
2974
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
2975
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
2976
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps">LambdaRunnerProviderProps</a></code> | *No description.* |
1838
2977
 
1839
2978
  ---
1840
2979
 
1841
- ##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.scope"></a>
2980
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.Initializer.parameter.scope"></a>
1842
2981
 
1843
2982
  - *Type:* constructs.Construct
1844
2983
 
1845
2984
  ---
1846
2985
 
1847
- ##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.id"></a>
2986
+ ##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.Initializer.parameter.id"></a>
1848
2987
 
1849
2988
  - *Type:* string
1850
2989
 
1851
2990
  ---
1852
2991
 
1853
- ##### `props`<sup>Required</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.props"></a>
2992
+ ##### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.Initializer.parameter.props"></a>
1854
2993
 
1855
- - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties">ImageBuilderComponentProperties</a>
2994
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps">LambdaRunnerProviderProps</a>
1856
2995
 
1857
2996
  ---
1858
2997
 
@@ -1860,13 +2999,14 @@ new ImageBuilderComponent(scope: Construct, id: string, props: ImageBuilderCompo
1860
2999
 
1861
3000
  | **Name** | **Description** |
1862
3001
  | --- | --- |
1863
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.toString">toString</a></code> | Returns a string representation of this construct. |
1864
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.applyRemovalPolicy">applyRemovalPolicy</a></code> | Apply the given removal policy to this resource. |
1865
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.grantAssetsRead">grantAssetsRead</a></code> | Grants read permissions to the principal on the assets buckets. |
3002
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.toString">toString</a></code> | Returns a string representation of this construct. |
3003
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.getStepFunctionTask">getStepFunctionTask</a></code> | Generate step function task(s) to start a new runner. |
3004
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.grantStateMachine">grantStateMachine</a></code> | An optional method that modifies the role of the state machine after all the tasks have been generated. |
3005
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.status">status</a></code> | Return status of the runner provider to be used in the main status function. |
1866
3006
 
1867
3007
  ---
1868
3008
 
1869
- ##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.toString"></a>
3009
+ ##### ~~`toString`~~ <a name="toString" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.toString"></a>
1870
3010
 
1871
3011
  ```typescript
1872
3012
  public toString(): string
@@ -1874,37 +3014,52 @@ public toString(): string
1874
3014
 
1875
3015
  Returns a string representation of this construct.
1876
3016
 
1877
- ##### `applyRemovalPolicy` <a name="applyRemovalPolicy" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.applyRemovalPolicy"></a>
3017
+ ##### ~~`getStepFunctionTask`~~ <a name="getStepFunctionTask" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.getStepFunctionTask"></a>
1878
3018
 
1879
3019
  ```typescript
1880
- public applyRemovalPolicy(policy: RemovalPolicy): void
3020
+ public getStepFunctionTask(parameters: RunnerRuntimeParameters): IChainable
1881
3021
  ```
1882
3022
 
1883
- Apply the given removal policy to this resource.
3023
+ Generate step function task(s) to start a new runner.
1884
3024
 
1885
- The Removal Policy controls what happens to this resource when it stops
1886
- being managed by CloudFormation, either because you've removed it from the
1887
- CDK application or because you've made a change that requires the resource
1888
- to be replaced.
3025
+ Called by GithubRunners and shouldn't be called manually.
1889
3026
 
1890
- The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
1891
- account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
3027
+ ###### `parameters`<sup>Required</sup> <a name="parameters" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.getStepFunctionTask.parameter.parameters"></a>
1892
3028
 
1893
- ###### `policy`<sup>Required</sup> <a name="policy" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.applyRemovalPolicy.parameter.policy"></a>
3029
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters">RunnerRuntimeParameters</a>
1894
3030
 
1895
- - *Type:* aws-cdk-lib.RemovalPolicy
3031
+ workflow job details.
1896
3032
 
1897
3033
  ---
1898
3034
 
1899
- ##### `grantAssetsRead` <a name="grantAssetsRead" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.grantAssetsRead"></a>
3035
+ ##### ~~`grantStateMachine`~~ <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.grantStateMachine"></a>
1900
3036
 
1901
3037
  ```typescript
1902
- public grantAssetsRead(grantee: IGrantable): void
3038
+ public grantStateMachine(_: IGrantable): void
1903
3039
  ```
1904
3040
 
1905
- Grants read permissions to the principal on the assets buckets.
3041
+ An optional method that modifies the role of the state machine after all the tasks have been generated.
1906
3042
 
1907
- ###### `grantee`<sup>Required</sup> <a name="grantee" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.grantAssetsRead.parameter.grantee"></a>
3043
+ This can be used to add additional policy
3044
+ statements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.
3045
+
3046
+ ###### `_`<sup>Required</sup> <a name="_" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.grantStateMachine.parameter._"></a>
3047
+
3048
+ - *Type:* aws-cdk-lib.aws_iam.IGrantable
3049
+
3050
+ ---
3051
+
3052
+ ##### ~~`status`~~ <a name="status" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.status"></a>
3053
+
3054
+ ```typescript
3055
+ public status(statusFunctionRole: IGrantable): IRunnerProviderStatus
3056
+ ```
3057
+
3058
+ Return status of the runner provider to be used in the main status function.
3059
+
3060
+ Also gives the status function any needed permissions to query the Docker image or AMI.
3061
+
3062
+ ###### `statusFunctionRole`<sup>Required</sup> <a name="statusFunctionRole" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.status.parameter.statusFunctionRole"></a>
1908
3063
 
1909
3064
  - *Type:* aws-cdk-lib.aws_iam.IGrantable
1910
3065
 
@@ -1914,23 +3069,21 @@ Grants read permissions to the principal on the assets buckets.
1914
3069
 
1915
3070
  | **Name** | **Description** |
1916
3071
  | --- | --- |
1917
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
1918
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isOwnedResource">isOwnedResource</a></code> | Returns true if the construct was created by CDK, and false otherwise. |
1919
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isResource">isResource</a></code> | Check whether the given construct is a Resource. |
3072
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
1920
3073
 
1921
3074
  ---
1922
3075
 
1923
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isConstruct"></a>
3076
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.isConstruct"></a>
1924
3077
 
1925
3078
  ```typescript
1926
- import { ImageBuilderComponent } from '@cloudsnorkel/cdk-github-runners'
3079
+ import { LambdaRunner } from '@cloudsnorkel/cdk-github-runners'
1927
3080
 
1928
- ImageBuilderComponent.isConstruct(x: any)
3081
+ LambdaRunner.isConstruct(x: any)
1929
3082
  ```
1930
3083
 
1931
3084
  Checks if `x` is a construct.
1932
3085
 
1933
- ###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isConstruct.parameter.x"></a>
3086
+ ###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.isConstruct.parameter.x"></a>
1934
3087
 
1935
3088
  - *Type:* any
1936
3089
 
@@ -1938,119 +3091,172 @@ Any object.
1938
3091
 
1939
3092
  ---
1940
3093
 
1941
- ##### `isOwnedResource` <a name="isOwnedResource" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isOwnedResource"></a>
3094
+ #### Properties <a name="Properties" id="Properties"></a>
1942
3095
 
1943
- ```typescript
1944
- import { ImageBuilderComponent } from '@cloudsnorkel/cdk-github-runners'
3096
+ | **Name** | **Type** | **Description** |
3097
+ | --- | --- | --- |
3098
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
3099
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
3100
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.function">function</a></code> | <code>aws-cdk-lib.aws_lambda.Function</code> | The function hosting the GitHub runner. |
3101
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
3102
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Docker image loaded with GitHub Actions Runner and its prerequisites. |
3103
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
3104
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
1945
3105
 
1946
- ImageBuilderComponent.isOwnedResource(construct: IConstruct)
1947
- ```
3106
+ ---
1948
3107
 
1949
- Returns true if the construct was created by CDK, and false otherwise.
3108
+ ##### ~~`node`~~<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.node"></a>
1950
3109
 
1951
- ###### `construct`<sup>Required</sup> <a name="construct" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isOwnedResource.parameter.construct"></a>
3110
+ - *Deprecated:* use {@link LambdaRunnerProvider}
1952
3111
 
1953
- - *Type:* constructs.IConstruct
3112
+ ```typescript
3113
+ public readonly node: Node;
3114
+ ```
3115
+
3116
+ - *Type:* constructs.Node
3117
+
3118
+ The tree node.
1954
3119
 
1955
3120
  ---
1956
3121
 
1957
- ##### `isResource` <a name="isResource" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isResource"></a>
3122
+ ##### ~~`connections`~~<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.connections"></a>
1958
3123
 
1959
- ```typescript
1960
- import { ImageBuilderComponent } from '@cloudsnorkel/cdk-github-runners'
3124
+ - *Deprecated:* use {@link LambdaRunnerProvider}
1961
3125
 
1962
- ImageBuilderComponent.isResource(construct: IConstruct)
3126
+ ```typescript
3127
+ public readonly connections: Connections;
1963
3128
  ```
1964
3129
 
1965
- Check whether the given construct is a Resource.
1966
-
1967
- ###### `construct`<sup>Required</sup> <a name="construct" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isResource.parameter.construct"></a>
3130
+ - *Type:* aws-cdk-lib.aws_ec2.Connections
1968
3131
 
1969
- - *Type:* constructs.IConstruct
3132
+ The network connections associated with this resource.
1970
3133
 
1971
3134
  ---
1972
3135
 
1973
- #### Properties <a name="Properties" id="Properties"></a>
3136
+ ##### ~~`function`~~<sup>Required</sup> <a name="function" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.function"></a>
1974
3137
 
1975
- | **Name** | **Type** | **Description** |
1976
- | --- | --- | --- |
1977
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
1978
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.env">env</a></code> | <code>aws-cdk-lib.ResourceEnvironment</code> | The environment this resource belongs to. |
1979
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.stack">stack</a></code> | <code>aws-cdk-lib.Stack</code> | The stack in which this resource is defined. |
1980
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.arn">arn</a></code> | <code>string</code> | Component ARN. |
1981
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.platform">platform</a></code> | <code>string</code> | Supported platform for the component. |
3138
+ - *Deprecated:* use {@link LambdaRunnerProvider}
3139
+
3140
+ ```typescript
3141
+ public readonly function: Function;
3142
+ ```
3143
+
3144
+ - *Type:* aws-cdk-lib.aws_lambda.Function
3145
+
3146
+ The function hosting the GitHub runner.
1982
3147
 
1983
3148
  ---
1984
3149
 
1985
- ##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.node"></a>
3150
+ ##### ~~`grantPrincipal`~~<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.grantPrincipal"></a>
3151
+
3152
+ - *Deprecated:* use {@link LambdaRunnerProvider}
1986
3153
 
1987
3154
  ```typescript
1988
- public readonly node: Node;
3155
+ public readonly grantPrincipal: IPrincipal;
1989
3156
  ```
1990
3157
 
1991
- - *Type:* constructs.Node
3158
+ - *Type:* aws-cdk-lib.aws_iam.IPrincipal
1992
3159
 
1993
- The tree node.
3160
+ Grant principal used to add permissions to the runner role.
1994
3161
 
1995
3162
  ---
1996
3163
 
1997
- ##### `env`<sup>Required</sup> <a name="env" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.env"></a>
3164
+ ##### ~~`image`~~<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.image"></a>
3165
+
3166
+ - *Deprecated:* use {@link LambdaRunnerProvider}
1998
3167
 
1999
3168
  ```typescript
2000
- public readonly env: ResourceEnvironment;
3169
+ public readonly image: RunnerImage;
2001
3170
  ```
2002
3171
 
2003
- - *Type:* aws-cdk-lib.ResourceEnvironment
3172
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a>
2004
3173
 
2005
- The environment this resource belongs to.
3174
+ Docker image loaded with GitHub Actions Runner and its prerequisites.
2006
3175
 
2007
- For resources that are created and managed by the CDK
2008
- (generally, those created by creating new class instances like Role, Bucket, etc.),
2009
- this is always the same as the environment of the stack they belong to;
2010
- however, for imported resources
2011
- (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
2012
- that might be different than the stack they were imported into.
3176
+ The image is built by an image builder and is specific to Lambda.
2013
3177
 
2014
3178
  ---
2015
3179
 
2016
- ##### `stack`<sup>Required</sup> <a name="stack" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.stack"></a>
3180
+ ##### ~~`labels`~~<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.labels"></a>
3181
+
3182
+ - *Deprecated:* use {@link LambdaRunnerProvider}
2017
3183
 
2018
3184
  ```typescript
2019
- public readonly stack: Stack;
3185
+ public readonly labels: string[];
2020
3186
  ```
2021
3187
 
2022
- - *Type:* aws-cdk-lib.Stack
3188
+ - *Type:* string[]
2023
3189
 
2024
- The stack in which this resource is defined.
3190
+ Labels associated with this provider.
2025
3191
 
2026
3192
  ---
2027
3193
 
2028
- ##### `arn`<sup>Required</sup> <a name="arn" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.arn"></a>
3194
+ ##### ~~`logGroup`~~<sup>Required</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.logGroup"></a>
3195
+
3196
+ - *Deprecated:* use {@link LambdaRunnerProvider}
2029
3197
 
2030
3198
  ```typescript
2031
- public readonly arn: string;
3199
+ public readonly logGroup: ILogGroup;
2032
3200
  ```
2033
3201
 
2034
- - *Type:* string
3202
+ - *Type:* aws-cdk-lib.aws_logs.ILogGroup
2035
3203
 
2036
- Component ARN.
3204
+ Log group where provided runners will save their logs.
3205
+
3206
+ Note that this is not the job log, but the runner itself. It will not contain output from the GitHub Action but only metadata on its execution.
2037
3207
 
2038
3208
  ---
2039
3209
 
2040
- ##### `platform`<sup>Required</sup> <a name="platform" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.platform"></a>
3210
+ #### Constants <a name="Constants" id="Constants"></a>
3211
+
3212
+ | **Name** | **Type** | **Description** |
3213
+ | --- | --- | --- |
3214
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.LINUX_ARM64_DOCKERFILE_PATH">LINUX_ARM64_DOCKERFILE_PATH</a></code> | <code>string</code> | Path to Dockerfile for Linux ARM64 with all the requirement for Lambda runner. |
3215
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.LINUX_X64_DOCKERFILE_PATH">LINUX_X64_DOCKERFILE_PATH</a></code> | <code>string</code> | Path to Dockerfile for Linux x64 with all the requirement for Lambda runner. |
3216
+
3217
+ ---
3218
+
3219
+ ##### ~~`LINUX_ARM64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_ARM64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.LINUX_ARM64_DOCKERFILE_PATH"></a>
3220
+
3221
+ - *Deprecated:* use {@link LambdaRunnerProvider}
2041
3222
 
2042
3223
  ```typescript
2043
- public readonly platform: string;
3224
+ public readonly LINUX_ARM64_DOCKERFILE_PATH: string;
2044
3225
  ```
2045
3226
 
2046
3227
  - *Type:* string
2047
3228
 
2048
- Supported platform for the component.
3229
+ Path to Dockerfile for Linux ARM64 with all the requirement for Lambda runner.
3230
+
3231
+ Use this Dockerfile unless you need to customize it further than allowed by hooks.
3232
+
3233
+ Available build arguments that can be set in the image builder:
3234
+ * `BASE_IMAGE` sets the `FROM` line. This should be similar to public.ecr.aws/lambda/nodejs:14.
3235
+ * `EXTRA_PACKAGES` can be used to install additional packages.
2049
3236
 
2050
3237
  ---
2051
3238
 
3239
+ ##### ~~`LINUX_X64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_X64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.LINUX_X64_DOCKERFILE_PATH"></a>
2052
3240
 
2053
- ### LambdaRunner <a name="LambdaRunner" id="@cloudsnorkel/cdk-github-runners.LambdaRunner"></a>
3241
+ - *Deprecated:* use {@link LambdaRunnerProvider}
3242
+
3243
+ ```typescript
3244
+ public readonly LINUX_X64_DOCKERFILE_PATH: string;
3245
+ ```
3246
+
3247
+ - *Type:* string
3248
+
3249
+ Path to Dockerfile for Linux x64 with all the requirement for Lambda runner.
3250
+
3251
+ Use this Dockerfile unless you need to customize it further than allowed by hooks.
3252
+
3253
+ Available build arguments that can be set in the image builder:
3254
+ * `BASE_IMAGE` sets the `FROM` line. This should be similar to public.ecr.aws/lambda/nodejs:14.
3255
+ * `EXTRA_PACKAGES` can be used to install additional packages.
3256
+
3257
+ ---
3258
+
3259
+ ### LambdaRunnerProvider <a name="LambdaRunnerProvider" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider"></a>
2054
3260
 
2055
3261
  - *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
2056
3262
 
@@ -2060,37 +3266,37 @@ Creates a Docker-based function that gets executed for each job.
2060
3266
 
2061
3267
  This construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.
2062
3268
 
2063
- #### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.Initializer"></a>
3269
+ #### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.Initializer"></a>
2064
3270
 
2065
3271
  ```typescript
2066
- import { LambdaRunner } from '@cloudsnorkel/cdk-github-runners'
3272
+ import { LambdaRunnerProvider } from '@cloudsnorkel/cdk-github-runners'
2067
3273
 
2068
- new LambdaRunner(scope: Construct, id: string, props?: LambdaRunnerProps)
3274
+ new LambdaRunnerProvider(scope: Construct, id: string, props?: LambdaRunnerProviderProps)
2069
3275
  ```
2070
3276
 
2071
3277
  | **Name** | **Type** | **Description** |
2072
3278
  | --- | --- | --- |
2073
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
2074
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
2075
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProps">LambdaRunnerProps</a></code> | *No description.* |
3279
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
3280
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
3281
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps">LambdaRunnerProviderProps</a></code> | *No description.* |
2076
3282
 
2077
3283
  ---
2078
3284
 
2079
- ##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.Initializer.parameter.scope"></a>
3285
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.Initializer.parameter.scope"></a>
2080
3286
 
2081
3287
  - *Type:* constructs.Construct
2082
3288
 
2083
3289
  ---
2084
3290
 
2085
- ##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.Initializer.parameter.id"></a>
3291
+ ##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.Initializer.parameter.id"></a>
2086
3292
 
2087
3293
  - *Type:* string
2088
3294
 
2089
3295
  ---
2090
3296
 
2091
- ##### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.Initializer.parameter.props"></a>
3297
+ ##### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.Initializer.parameter.props"></a>
2092
3298
 
2093
- - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProps">LambdaRunnerProps</a>
3299
+ - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps">LambdaRunnerProviderProps</a>
2094
3300
 
2095
3301
  ---
2096
3302
 
@@ -2098,14 +3304,14 @@ new LambdaRunner(scope: Construct, id: string, props?: LambdaRunnerProps)
2098
3304
 
2099
3305
  | **Name** | **Description** |
2100
3306
  | --- | --- |
2101
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.toString">toString</a></code> | Returns a string representation of this construct. |
2102
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.getStepFunctionTask">getStepFunctionTask</a></code> | Generate step function task(s) to start a new runner. |
2103
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.grantStateMachine">grantStateMachine</a></code> | An optional method that modifies the role of the state machine after all the tasks have been generated. |
2104
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.status">status</a></code> | Return status of the runner provider to be used in the main status function. |
3307
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.toString">toString</a></code> | Returns a string representation of this construct. |
3308
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.getStepFunctionTask">getStepFunctionTask</a></code> | Generate step function task(s) to start a new runner. |
3309
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.grantStateMachine">grantStateMachine</a></code> | An optional method that modifies the role of the state machine after all the tasks have been generated. |
3310
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.status">status</a></code> | Return status of the runner provider to be used in the main status function. |
2105
3311
 
2106
3312
  ---
2107
3313
 
2108
- ##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.toString"></a>
3314
+ ##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.toString"></a>
2109
3315
 
2110
3316
  ```typescript
2111
3317
  public toString(): string
@@ -2113,7 +3319,7 @@ public toString(): string
2113
3319
 
2114
3320
  Returns a string representation of this construct.
2115
3321
 
2116
- ##### `getStepFunctionTask` <a name="getStepFunctionTask" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.getStepFunctionTask"></a>
3322
+ ##### `getStepFunctionTask` <a name="getStepFunctionTask" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.getStepFunctionTask"></a>
2117
3323
 
2118
3324
  ```typescript
2119
3325
  public getStepFunctionTask(parameters: RunnerRuntimeParameters): IChainable
@@ -2123,7 +3329,7 @@ Generate step function task(s) to start a new runner.
2123
3329
 
2124
3330
  Called by GithubRunners and shouldn't be called manually.
2125
3331
 
2126
- ###### `parameters`<sup>Required</sup> <a name="parameters" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.getStepFunctionTask.parameter.parameters"></a>
3332
+ ###### `parameters`<sup>Required</sup> <a name="parameters" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.getStepFunctionTask.parameter.parameters"></a>
2127
3333
 
2128
3334
  - *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters">RunnerRuntimeParameters</a>
2129
3335
 
@@ -2131,7 +3337,7 @@ workflow job details.
2131
3337
 
2132
3338
  ---
2133
3339
 
2134
- ##### `grantStateMachine` <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.grantStateMachine"></a>
3340
+ ##### `grantStateMachine` <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.grantStateMachine"></a>
2135
3341
 
2136
3342
  ```typescript
2137
3343
  public grantStateMachine(_: IGrantable): void
@@ -2142,13 +3348,13 @@ An optional method that modifies the role of the state machine after all the tas
2142
3348
  This can be used to add additional policy
2143
3349
  statements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.
2144
3350
 
2145
- ###### `_`<sup>Required</sup> <a name="_" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.grantStateMachine.parameter._"></a>
3351
+ ###### `_`<sup>Required</sup> <a name="_" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.grantStateMachine.parameter._"></a>
2146
3352
 
2147
3353
  - *Type:* aws-cdk-lib.aws_iam.IGrantable
2148
3354
 
2149
3355
  ---
2150
3356
 
2151
- ##### `status` <a name="status" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.status"></a>
3357
+ ##### `status` <a name="status" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.status"></a>
2152
3358
 
2153
3359
  ```typescript
2154
3360
  public status(statusFunctionRole: IGrantable): IRunnerProviderStatus
@@ -2158,7 +3364,7 @@ Return status of the runner provider to be used in the main status function.
2158
3364
 
2159
3365
  Also gives the status function any needed permissions to query the Docker image or AMI.
2160
3366
 
2161
- ###### `statusFunctionRole`<sup>Required</sup> <a name="statusFunctionRole" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.status.parameter.statusFunctionRole"></a>
3367
+ ###### `statusFunctionRole`<sup>Required</sup> <a name="statusFunctionRole" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.status.parameter.statusFunctionRole"></a>
2162
3368
 
2163
3369
  - *Type:* aws-cdk-lib.aws_iam.IGrantable
2164
3370
 
@@ -2168,21 +3374,21 @@ Also gives the status function any needed permissions to query the Docker image
2168
3374
 
2169
3375
  | **Name** | **Description** |
2170
3376
  | --- | --- |
2171
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
3377
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
2172
3378
 
2173
3379
  ---
2174
3380
 
2175
- ##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.isConstruct"></a>
3381
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.isConstruct"></a>
2176
3382
 
2177
3383
  ```typescript
2178
- import { LambdaRunner } from '@cloudsnorkel/cdk-github-runners'
3384
+ import { LambdaRunnerProvider } from '@cloudsnorkel/cdk-github-runners'
2179
3385
 
2180
- LambdaRunner.isConstruct(x: any)
3386
+ LambdaRunnerProvider.isConstruct(x: any)
2181
3387
  ```
2182
3388
 
2183
3389
  Checks if `x` is a construct.
2184
3390
 
2185
- ###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.isConstruct.parameter.x"></a>
3391
+ ###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.isConstruct.parameter.x"></a>
2186
3392
 
2187
3393
  - *Type:* any
2188
3394
 
@@ -2194,17 +3400,17 @@ Any object.
2194
3400
 
2195
3401
  | **Name** | **Type** | **Description** |
2196
3402
  | --- | --- | --- |
2197
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
2198
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
2199
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.function">function</a></code> | <code>aws-cdk-lib.aws_lambda.Function</code> | The function hosting the GitHub runner. |
2200
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
2201
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Docker image loaded with GitHub Actions Runner and its prerequisites. |
2202
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
2203
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
3403
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
3404
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
3405
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.function">function</a></code> | <code>aws-cdk-lib.aws_lambda.Function</code> | The function hosting the GitHub runner. |
3406
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
3407
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Docker image loaded with GitHub Actions Runner and its prerequisites. |
3408
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
3409
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.ILogGroup</code> | Log group where provided runners will save their logs. |
2204
3410
 
2205
3411
  ---
2206
3412
 
2207
- ##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.node"></a>
3413
+ ##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.node"></a>
2208
3414
 
2209
3415
  ```typescript
2210
3416
  public readonly node: Node;
@@ -2216,7 +3422,7 @@ The tree node.
2216
3422
 
2217
3423
  ---
2218
3424
 
2219
- ##### `connections`<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.connections"></a>
3425
+ ##### `connections`<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.connections"></a>
2220
3426
 
2221
3427
  ```typescript
2222
3428
  public readonly connections: Connections;
@@ -2228,7 +3434,7 @@ The network connections associated with this resource.
2228
3434
 
2229
3435
  ---
2230
3436
 
2231
- ##### `function`<sup>Required</sup> <a name="function" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.function"></a>
3437
+ ##### `function`<sup>Required</sup> <a name="function" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.function"></a>
2232
3438
 
2233
3439
  ```typescript
2234
3440
  public readonly function: Function;
@@ -2240,7 +3446,7 @@ The function hosting the GitHub runner.
2240
3446
 
2241
3447
  ---
2242
3448
 
2243
- ##### `grantPrincipal`<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.grantPrincipal"></a>
3449
+ ##### `grantPrincipal`<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.grantPrincipal"></a>
2244
3450
 
2245
3451
  ```typescript
2246
3452
  public readonly grantPrincipal: IPrincipal;
@@ -2252,7 +3458,7 @@ Grant principal used to add permissions to the runner role.
2252
3458
 
2253
3459
  ---
2254
3460
 
2255
- ##### `image`<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.image"></a>
3461
+ ##### `image`<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.image"></a>
2256
3462
 
2257
3463
  ```typescript
2258
3464
  public readonly image: RunnerImage;
@@ -2266,7 +3472,7 @@ The image is built by an image builder and is specific to Lambda.
2266
3472
 
2267
3473
  ---
2268
3474
 
2269
- ##### `labels`<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.labels"></a>
3475
+ ##### `labels`<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.labels"></a>
2270
3476
 
2271
3477
  ```typescript
2272
3478
  public readonly labels: string[];
@@ -2278,7 +3484,7 @@ Labels associated with this provider.
2278
3484
 
2279
3485
  ---
2280
3486
 
2281
- ##### `logGroup`<sup>Required</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.logGroup"></a>
3487
+ ##### `logGroup`<sup>Required</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.logGroup"></a>
2282
3488
 
2283
3489
  ```typescript
2284
3490
  public readonly logGroup: ILogGroup;
@@ -2296,12 +3502,12 @@ Note that this is not the job log, but the runner itself. It will not contain ou
2296
3502
 
2297
3503
  | **Name** | **Type** | **Description** |
2298
3504
  | --- | --- | --- |
2299
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.LINUX_ARM64_DOCKERFILE_PATH">LINUX_ARM64_DOCKERFILE_PATH</a></code> | <code>string</code> | Path to Dockerfile for Linux ARM64 with all the requirement for Lambda runner. |
2300
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.LINUX_X64_DOCKERFILE_PATH">LINUX_X64_DOCKERFILE_PATH</a></code> | <code>string</code> | Path to Dockerfile for Linux x64 with all the requirement for Lambda runner. |
3505
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.LINUX_ARM64_DOCKERFILE_PATH">LINUX_ARM64_DOCKERFILE_PATH</a></code> | <code>string</code> | Path to Dockerfile for Linux ARM64 with all the requirement for Lambda runner. |
3506
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.LINUX_X64_DOCKERFILE_PATH">LINUX_X64_DOCKERFILE_PATH</a></code> | <code>string</code> | Path to Dockerfile for Linux x64 with all the requirement for Lambda runner. |
2301
3507
 
2302
3508
  ---
2303
3509
 
2304
- ##### `LINUX_ARM64_DOCKERFILE_PATH`<sup>Required</sup> <a name="LINUX_ARM64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.LINUX_ARM64_DOCKERFILE_PATH"></a>
3510
+ ##### `LINUX_ARM64_DOCKERFILE_PATH`<sup>Required</sup> <a name="LINUX_ARM64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.LINUX_ARM64_DOCKERFILE_PATH"></a>
2305
3511
 
2306
3512
  ```typescript
2307
3513
  public readonly LINUX_ARM64_DOCKERFILE_PATH: string;
@@ -2319,7 +3525,7 @@ Available build arguments that can be set in the image builder:
2319
3525
 
2320
3526
  ---
2321
3527
 
2322
- ##### `LINUX_X64_DOCKERFILE_PATH`<sup>Required</sup> <a name="LINUX_X64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.LINUX_X64_DOCKERFILE_PATH"></a>
3528
+ ##### `LINUX_X64_DOCKERFILE_PATH`<sup>Required</sup> <a name="LINUX_X64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.LINUX_X64_DOCKERFILE_PATH"></a>
2323
3529
 
2324
3530
  ```typescript
2325
3531
  public readonly LINUX_X64_DOCKERFILE_PATH: string;
@@ -2717,6 +3923,7 @@ const codeBuildImageBuilderProps: CodeBuildImageBuilderProps = { ... }
2717
3923
  | --- | --- | --- |
2718
3924
  | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps.property.dockerfilePath">dockerfilePath</a></code> | <code>string</code> | Path to Dockerfile to be built. |
2719
3925
  | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps.property.architecture">architecture</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a></code> | Image architecture. |
3926
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps.property.buildImage">buildImage</a></code> | <code>aws-cdk-lib.aws_codebuild.IBuildImage</code> | Build image to use in CodeBuild. |
2720
3927
  | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps.property.computeType">computeType</a></code> | <code>aws-cdk-lib.aws_codebuild.ComputeType</code> | The type of compute to use for this build. |
2721
3928
  | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps.property.logRemovalPolicy">logRemovalPolicy</a></code> | <code>aws-cdk-lib.RemovalPolicy</code> | Removal policy for logs of image builds. |
2722
3929
  | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
@@ -2757,6 +3964,23 @@ Image architecture.
2757
3964
 
2758
3965
  ---
2759
3966
 
3967
+ ##### `buildImage`<sup>Optional</sup> <a name="buildImage" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps.property.buildImage"></a>
3968
+
3969
+ ```typescript
3970
+ public readonly buildImage: IBuildImage;
3971
+ ```
3972
+
3973
+ - *Type:* aws-cdk-lib.aws_codebuild.IBuildImage
3974
+ - *Default:* Ubuntu 20.04 for x64 and Amazon Linux 2 for ARM64
3975
+
3976
+ Build image to use in CodeBuild.
3977
+
3978
+ This is the image that's going to run the code that builds the runner image.
3979
+
3980
+ The only action taken in CodeBuild is running `docker build`. You would therefore not need to change this setting often.
3981
+
3982
+ ---
3983
+
2760
3984
  ##### `computeType`<sup>Optional</sup> <a name="computeType" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps.property.computeType"></a>
2761
3985
 
2762
3986
  ```typescript
@@ -2904,36 +4128,36 @@ VPC to build the image in.
2904
4128
 
2905
4129
  ---
2906
4130
 
2907
- ### CodeBuildRunnerProps <a name="CodeBuildRunnerProps" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps"></a>
4131
+ ### CodeBuildRunnerProviderProps <a name="CodeBuildRunnerProviderProps" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps"></a>
2908
4132
 
2909
- #### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.Initializer"></a>
4133
+ #### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.Initializer"></a>
2910
4134
 
2911
4135
  ```typescript
2912
- import { CodeBuildRunnerProps } from '@cloudsnorkel/cdk-github-runners'
4136
+ import { CodeBuildRunnerProviderProps } from '@cloudsnorkel/cdk-github-runners'
2913
4137
 
2914
- const codeBuildRunnerProps: CodeBuildRunnerProps = { ... }
4138
+ const codeBuildRunnerProviderProps: CodeBuildRunnerProviderProps = { ... }
2915
4139
  ```
2916
4140
 
2917
4141
  #### Properties <a name="Properties" id="Properties"></a>
2918
4142
 
2919
4143
  | **Name** | **Type** | **Description** |
2920
4144
  | --- | --- | --- |
2921
- | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
2922
- | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
2923
- | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.computeType">computeType</a></code> | <code>aws-cdk-lib.aws_codebuild.ComputeType</code> | The type of compute to use for this build. |
2924
- | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.dockerInDocker">dockerInDocker</a></code> | <code>boolean</code> | Support building and running Docker images by enabling Docker-in-Docker (dind) and the required CodeBuild privileged mode. |
2925
- | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a></code> | Image builder for CodeBuild image with GitHub runner pre-configured. |
2926
- | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
2927
- | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
2928
- | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group to assign to this instance. |
2929
- | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.securityGroups">securityGroups</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup[]</code> | Security groups to assign to this instance. |
2930
- | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Where to place the network interfaces within the VPC. |
2931
- | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.timeout">timeout</a></code> | <code>aws-cdk-lib.Duration</code> | The number of minutes after which AWS CodeBuild stops the build if it's not complete. |
2932
- | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to launch the runners in. |
4145
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
4146
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
4147
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.computeType">computeType</a></code> | <code>aws-cdk-lib.aws_codebuild.ComputeType</code> | The type of compute to use for this build. |
4148
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.dockerInDocker">dockerInDocker</a></code> | <code>boolean</code> | Support building and running Docker images by enabling Docker-in-Docker (dind) and the required CodeBuild privileged mode. |
4149
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a></code> | Image builder for CodeBuild image with GitHub runner pre-configured. |
4150
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
4151
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
4152
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group to assign to this instance. |
4153
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.securityGroups">securityGroups</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup[]</code> | Security groups to assign to this instance. |
4154
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Where to place the network interfaces within the VPC. |
4155
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.timeout">timeout</a></code> | <code>aws-cdk-lib.Duration</code> | The number of minutes after which AWS CodeBuild stops the build if it's not complete. |
4156
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to launch the runners in. |
2933
4157
 
2934
4158
  ---
2935
4159
 
2936
- ##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.logRetention"></a>
4160
+ ##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.logRetention"></a>
2937
4161
 
2938
4162
  ```typescript
2939
4163
  public readonly logRetention: RetentionDays;
@@ -2950,7 +4174,7 @@ remove the retention policy, set the value to `INFINITE`.
2950
4174
 
2951
4175
  ---
2952
4176
 
2953
- ##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.retryOptions"></a>
4177
+ ##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.retryOptions"></a>
2954
4178
 
2955
4179
  ```typescript
2956
4180
  public readonly retryOptions: ProviderRetryOptions;
@@ -2963,7 +4187,7 @@ Options to retry operation in case of failure like missing capacity, or API quot
2963
4187
 
2964
4188
  ---
2965
4189
 
2966
- ##### `computeType`<sup>Optional</sup> <a name="computeType" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.computeType"></a>
4190
+ ##### `computeType`<sup>Optional</sup> <a name="computeType" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.computeType"></a>
2967
4191
 
2968
4192
  ```typescript
2969
4193
  public readonly computeType: ComputeType;
@@ -2978,7 +4202,7 @@ See the {@link ComputeType} enum for the possible values.
2978
4202
 
2979
4203
  ---
2980
4204
 
2981
- ##### `dockerInDocker`<sup>Optional</sup> <a name="dockerInDocker" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.dockerInDocker"></a>
4205
+ ##### `dockerInDocker`<sup>Optional</sup> <a name="dockerInDocker" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.dockerInDocker"></a>
2982
4206
 
2983
4207
  ```typescript
2984
4208
  public readonly dockerInDocker: boolean;
@@ -2994,7 +4218,7 @@ speed up provisioning of CodeBuild runners. If you don't intend on running or bu
2994
4218
 
2995
4219
  ---
2996
4220
 
2997
- ##### `imageBuilder`<sup>Optional</sup> <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.imageBuilder"></a>
4221
+ ##### `imageBuilder`<sup>Optional</sup> <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.imageBuilder"></a>
2998
4222
 
2999
4223
  ```typescript
3000
4224
  public readonly imageBuilder: IImageBuilder;
@@ -3009,7 +4233,7 @@ A user named `runner` is expected to exist with access to Docker-in-Docker.
3009
4233
 
3010
4234
  ---
3011
4235
 
3012
- ##### ~~`label`~~<sup>Optional</sup> <a name="label" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.label"></a>
4236
+ ##### ~~`label`~~<sup>Optional</sup> <a name="label" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.label"></a>
3013
4237
 
3014
4238
  - *Deprecated:* use {@link labels} instead
3015
4239
 
@@ -3024,7 +4248,7 @@ GitHub Actions label used for this provider.
3024
4248
 
3025
4249
  ---
3026
4250
 
3027
- ##### `labels`<sup>Optional</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.labels"></a>
4251
+ ##### `labels`<sup>Optional</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.labels"></a>
3028
4252
 
3029
4253
  ```typescript
3030
4254
  public readonly labels: string[];
@@ -3041,7 +4265,7 @@ job's labels, this provider will be chosen and spawn a new runner.
3041
4265
 
3042
4266
  ---
3043
4267
 
3044
- ##### ~~`securityGroup`~~<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.securityGroup"></a>
4268
+ ##### ~~`securityGroup`~~<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.securityGroup"></a>
3045
4269
 
3046
4270
  - *Deprecated:* use {@link securityGroups}
3047
4271
 
@@ -3056,7 +4280,7 @@ Security group to assign to this instance.
3056
4280
 
3057
4281
  ---
3058
4282
 
3059
- ##### `securityGroups`<sup>Optional</sup> <a name="securityGroups" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.securityGroups"></a>
4283
+ ##### `securityGroups`<sup>Optional</sup> <a name="securityGroups" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.securityGroups"></a>
3060
4284
 
3061
4285
  ```typescript
3062
4286
  public readonly securityGroups: ISecurityGroup[];
@@ -3069,7 +4293,7 @@ Security groups to assign to this instance.
3069
4293
 
3070
4294
  ---
3071
4295
 
3072
- ##### `subnetSelection`<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.subnetSelection"></a>
4296
+ ##### `subnetSelection`<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.subnetSelection"></a>
3073
4297
 
3074
4298
  ```typescript
3075
4299
  public readonly subnetSelection: SubnetSelection;
@@ -3082,7 +4306,7 @@ Where to place the network interfaces within the VPC.
3082
4306
 
3083
4307
  ---
3084
4308
 
3085
- ##### `timeout`<sup>Optional</sup> <a name="timeout" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.timeout"></a>
4309
+ ##### `timeout`<sup>Optional</sup> <a name="timeout" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.timeout"></a>
3086
4310
 
3087
4311
  ```typescript
3088
4312
  public readonly timeout: Duration;
@@ -3098,7 +4322,7 @@ CodeBuild User Guide.
3098
4322
 
3099
4323
  ---
3100
4324
 
3101
- ##### `vpc`<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.vpc"></a>
4325
+ ##### `vpc`<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.vpc"></a>
3102
4326
 
3103
4327
  ```typescript
3104
4328
  public readonly vpc: IVpc;
@@ -3314,39 +4538,39 @@ VPC to launch the runners in.
3314
4538
 
3315
4539
  ---
3316
4540
 
3317
- ### Ec2RunnerProps <a name="Ec2RunnerProps" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps"></a>
4541
+ ### Ec2RunnerProviderProps <a name="Ec2RunnerProviderProps" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps"></a>
3318
4542
 
3319
- Properties for {@link Ec2Runner} construct.
4543
+ Properties for {@link Ec2RunnerProvider} construct.
3320
4544
 
3321
- #### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.Initializer"></a>
4545
+ #### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.Initializer"></a>
3322
4546
 
3323
4547
  ```typescript
3324
- import { Ec2RunnerProps } from '@cloudsnorkel/cdk-github-runners'
4548
+ import { Ec2RunnerProviderProps } from '@cloudsnorkel/cdk-github-runners'
3325
4549
 
3326
- const ec2RunnerProps: Ec2RunnerProps = { ... }
4550
+ const ec2RunnerProviderProps: Ec2RunnerProviderProps = { ... }
3327
4551
  ```
3328
4552
 
3329
4553
  #### Properties <a name="Properties" id="Properties"></a>
3330
4554
 
3331
4555
  | **Name** | **Type** | **Description** |
3332
4556
  | --- | --- | --- |
3333
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
3334
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
3335
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.amiBuilder">amiBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IAmiBuilder">IAmiBuilder</a></code> | AMI builder that creates AMIs with GitHub runner pre-configured. |
3336
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.instanceType">instanceType</a></code> | <code>aws-cdk-lib.aws_ec2.InstanceType</code> | Instance type for launched runner instances. |
3337
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
3338
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security Group to assign to launched runner instances. |
3339
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.securityGroups">securityGroups</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup[]</code> | Security groups to assign to launched runner instances. |
3340
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.spot">spot</a></code> | <code>boolean</code> | Use spot instances to save money. |
3341
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.spotMaxPrice">spotMaxPrice</a></code> | <code>string</code> | Set a maximum price for spot instances. |
3342
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.storageSize">storageSize</a></code> | <code>aws-cdk-lib.Size</code> | Size of volume available for launched runner instances. |
3343
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.subnet">subnet</a></code> | <code>aws-cdk-lib.aws_ec2.ISubnet</code> | Subnet where the runner instances will be launched. |
3344
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Where to place the network interfaces within the VPC. |
3345
- | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC where runner instances will be launched. |
4557
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
4558
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
4559
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.amiBuilder">amiBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IAmiBuilder">IAmiBuilder</a></code> | AMI builder that creates AMIs with GitHub runner pre-configured. |
4560
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.instanceType">instanceType</a></code> | <code>aws-cdk-lib.aws_ec2.InstanceType</code> | Instance type for launched runner instances. |
4561
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
4562
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security Group to assign to launched runner instances. |
4563
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.securityGroups">securityGroups</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup[]</code> | Security groups to assign to launched runner instances. |
4564
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.spot">spot</a></code> | <code>boolean</code> | Use spot instances to save money. |
4565
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.spotMaxPrice">spotMaxPrice</a></code> | <code>string</code> | Set a maximum price for spot instances. |
4566
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.storageSize">storageSize</a></code> | <code>aws-cdk-lib.Size</code> | Size of volume available for launched runner instances. |
4567
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.subnet">subnet</a></code> | <code>aws-cdk-lib.aws_ec2.ISubnet</code> | Subnet where the runner instances will be launched. |
4568
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Where to place the network interfaces within the VPC. |
4569
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC where runner instances will be launched. |
3346
4570
 
3347
4571
  ---
3348
4572
 
3349
- ##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.logRetention"></a>
4573
+ ##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.logRetention"></a>
3350
4574
 
3351
4575
  ```typescript
3352
4576
  public readonly logRetention: RetentionDays;
@@ -3363,7 +4587,7 @@ remove the retention policy, set the value to `INFINITE`.
3363
4587
 
3364
4588
  ---
3365
4589
 
3366
- ##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.retryOptions"></a>
4590
+ ##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.retryOptions"></a>
3367
4591
 
3368
4592
  ```typescript
3369
4593
  public readonly retryOptions: ProviderRetryOptions;
@@ -3376,7 +4600,7 @@ Options to retry operation in case of failure like missing capacity, or API quot
3376
4600
 
3377
4601
  ---
3378
4602
 
3379
- ##### `amiBuilder`<sup>Optional</sup> <a name="amiBuilder" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.amiBuilder"></a>
4603
+ ##### `amiBuilder`<sup>Optional</sup> <a name="amiBuilder" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.amiBuilder"></a>
3380
4604
 
3381
4605
  ```typescript
3382
4606
  public readonly amiBuilder: IAmiBuilder;
@@ -3391,7 +4615,7 @@ On Linux, a user named `runner` is expected to exist with access to Docker.
3391
4615
 
3392
4616
  ---
3393
4617
 
3394
- ##### `instanceType`<sup>Optional</sup> <a name="instanceType" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.instanceType"></a>
4618
+ ##### `instanceType`<sup>Optional</sup> <a name="instanceType" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.instanceType"></a>
3395
4619
 
3396
4620
  ```typescript
3397
4621
  public readonly instanceType: InstanceType;
@@ -3404,7 +4628,7 @@ Instance type for launched runner instances.
3404
4628
 
3405
4629
  ---
3406
4630
 
3407
- ##### `labels`<sup>Optional</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.labels"></a>
4631
+ ##### `labels`<sup>Optional</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.labels"></a>
3408
4632
 
3409
4633
  ```typescript
3410
4634
  public readonly labels: string[];
@@ -3421,7 +4645,7 @@ job's labels, this provider will be chosen and spawn a new runner.
3421
4645
 
3422
4646
  ---
3423
4647
 
3424
- ##### ~~`securityGroup`~~<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.securityGroup"></a>
4648
+ ##### ~~`securityGroup`~~<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.securityGroup"></a>
3425
4649
 
3426
4650
  - *Deprecated:* use {@link securityGroups}
3427
4651
 
@@ -3436,7 +4660,7 @@ Security Group to assign to launched runner instances.
3436
4660
 
3437
4661
  ---
3438
4662
 
3439
- ##### `securityGroups`<sup>Optional</sup> <a name="securityGroups" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.securityGroups"></a>
4663
+ ##### `securityGroups`<sup>Optional</sup> <a name="securityGroups" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.securityGroups"></a>
3440
4664
 
3441
4665
  ```typescript
3442
4666
  public readonly securityGroups: ISecurityGroup[];
@@ -3449,7 +4673,7 @@ Security groups to assign to launched runner instances.
3449
4673
 
3450
4674
  ---
3451
4675
 
3452
- ##### `spot`<sup>Optional</sup> <a name="spot" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.spot"></a>
4676
+ ##### `spot`<sup>Optional</sup> <a name="spot" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.spot"></a>
3453
4677
 
3454
4678
  ```typescript
3455
4679
  public readonly spot: boolean;
@@ -3464,7 +4688,7 @@ Spot instances are cheaper but not always available and can be stopped premature
3464
4688
 
3465
4689
  ---
3466
4690
 
3467
- ##### `spotMaxPrice`<sup>Optional</sup> <a name="spotMaxPrice" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.spotMaxPrice"></a>
4691
+ ##### `spotMaxPrice`<sup>Optional</sup> <a name="spotMaxPrice" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.spotMaxPrice"></a>
3468
4692
 
3469
4693
  ```typescript
3470
4694
  public readonly spotMaxPrice: string;
@@ -3477,7 +4701,7 @@ Set a maximum price for spot instances.
3477
4701
 
3478
4702
  ---
3479
4703
 
3480
- ##### `storageSize`<sup>Optional</sup> <a name="storageSize" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.storageSize"></a>
4704
+ ##### `storageSize`<sup>Optional</sup> <a name="storageSize" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.storageSize"></a>
3481
4705
 
3482
4706
  ```typescript
3483
4707
  public readonly storageSize: Size;
@@ -3492,7 +4716,7 @@ This modifies the boot volume size and doesn't add any additional volumes.
3492
4716
 
3493
4717
  ---
3494
4718
 
3495
- ##### ~~`subnet`~~<sup>Optional</sup> <a name="subnet" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.subnet"></a>
4719
+ ##### ~~`subnet`~~<sup>Optional</sup> <a name="subnet" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.subnet"></a>
3496
4720
 
3497
4721
  - *Deprecated:* use {@link vpc} and {@link subnetSelection}
3498
4722
 
@@ -3507,7 +4731,7 @@ Subnet where the runner instances will be launched.
3507
4731
 
3508
4732
  ---
3509
4733
 
3510
- ##### `subnetSelection`<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.subnetSelection"></a>
4734
+ ##### `subnetSelection`<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.subnetSelection"></a>
3511
4735
 
3512
4736
  ```typescript
3513
4737
  public readonly subnetSelection: SubnetSelection;
@@ -3522,7 +4746,7 @@ Only the first matched subnet will be used.
3522
4746
 
3523
4747
  ---
3524
4748
 
3525
- ##### `vpc`<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.vpc"></a>
4749
+ ##### `vpc`<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.vpc"></a>
3526
4750
 
3527
4751
  ```typescript
3528
4752
  public readonly vpc: IVpc;
@@ -3535,41 +4759,41 @@ VPC where runner instances will be launched.
3535
4759
 
3536
4760
  ---
3537
4761
 
3538
- ### FargateRunnerProps <a name="FargateRunnerProps" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps"></a>
4762
+ ### FargateRunnerProviderProps <a name="FargateRunnerProviderProps" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps"></a>
3539
4763
 
3540
4764
  Properties for FargateRunner.
3541
4765
 
3542
- #### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.Initializer"></a>
4766
+ #### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.Initializer"></a>
3543
4767
 
3544
4768
  ```typescript
3545
- import { FargateRunnerProps } from '@cloudsnorkel/cdk-github-runners'
4769
+ import { FargateRunnerProviderProps } from '@cloudsnorkel/cdk-github-runners'
3546
4770
 
3547
- const fargateRunnerProps: FargateRunnerProps = { ... }
4771
+ const fargateRunnerProviderProps: FargateRunnerProviderProps = { ... }
3548
4772
  ```
3549
4773
 
3550
4774
  #### Properties <a name="Properties" id="Properties"></a>
3551
4775
 
3552
4776
  | **Name** | **Type** | **Description** |
3553
4777
  | --- | --- | --- |
3554
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
3555
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
3556
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.assignPublicIp">assignPublicIp</a></code> | <code>boolean</code> | Assign public IP to the runner task. |
3557
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_ecs.Cluster</code> | Existing Fargate cluster to use. |
3558
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.cpu">cpu</a></code> | <code>number</code> | The number of cpu units used by the task. |
3559
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.ephemeralStorageGiB">ephemeralStorageGiB</a></code> | <code>number</code> | The amount (in GiB) of ephemeral storage to be allocated to the task. |
3560
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a></code> | Provider running an image to run inside CodeBuild with GitHub runner pre-configured. |
3561
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
3562
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
3563
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.memoryLimitMiB">memoryLimitMiB</a></code> | <code>number</code> | The amount (in MiB) of memory used by the task. |
3564
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group to assign to the task. |
3565
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.securityGroups">securityGroups</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup[]</code> | Security groups to assign to the task. |
3566
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.spot">spot</a></code> | <code>boolean</code> | Use Fargate spot capacity provider to save money. |
3567
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Subnets to run the runners in. |
3568
- | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to launch the runners in. |
4778
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
4779
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
4780
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.assignPublicIp">assignPublicIp</a></code> | <code>boolean</code> | Assign public IP to the runner task. |
4781
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_ecs.Cluster</code> | Existing Fargate cluster to use. |
4782
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.cpu">cpu</a></code> | <code>number</code> | The number of cpu units used by the task. |
4783
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.ephemeralStorageGiB">ephemeralStorageGiB</a></code> | <code>number</code> | The amount (in GiB) of ephemeral storage to be allocated to the task. |
4784
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a></code> | Provider running an image to run inside CodeBuild with GitHub runner pre-configured. |
4785
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
4786
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
4787
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.memoryLimitMiB">memoryLimitMiB</a></code> | <code>number</code> | The amount (in MiB) of memory used by the task. |
4788
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group to assign to the task. |
4789
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.securityGroups">securityGroups</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup[]</code> | Security groups to assign to the task. |
4790
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.spot">spot</a></code> | <code>boolean</code> | Use Fargate spot capacity provider to save money. |
4791
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Subnets to run the runners in. |
4792
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to launch the runners in. |
3569
4793
 
3570
4794
  ---
3571
4795
 
3572
- ##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.logRetention"></a>
4796
+ ##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.logRetention"></a>
3573
4797
 
3574
4798
  ```typescript
3575
4799
  public readonly logRetention: RetentionDays;
@@ -3586,7 +4810,7 @@ remove the retention policy, set the value to `INFINITE`.
3586
4810
 
3587
4811
  ---
3588
4812
 
3589
- ##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.retryOptions"></a>
4813
+ ##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.retryOptions"></a>
3590
4814
 
3591
4815
  ```typescript
3592
4816
  public readonly retryOptions: ProviderRetryOptions;
@@ -3599,7 +4823,7 @@ Options to retry operation in case of failure like missing capacity, or API quot
3599
4823
 
3600
4824
  ---
3601
4825
 
3602
- ##### `assignPublicIp`<sup>Optional</sup> <a name="assignPublicIp" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.assignPublicIp"></a>
4826
+ ##### `assignPublicIp`<sup>Optional</sup> <a name="assignPublicIp" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.assignPublicIp"></a>
3603
4827
 
3604
4828
  ```typescript
3605
4829
  public readonly assignPublicIp: boolean;
@@ -3614,7 +4838,7 @@ Make sure the task will have access to GitHub. A public IP might be required unl
3614
4838
 
3615
4839
  ---
3616
4840
 
3617
- ##### `cluster`<sup>Optional</sup> <a name="cluster" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.cluster"></a>
4841
+ ##### `cluster`<sup>Optional</sup> <a name="cluster" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.cluster"></a>
3618
4842
 
3619
4843
  ```typescript
3620
4844
  public readonly cluster: Cluster;
@@ -3627,7 +4851,7 @@ Existing Fargate cluster to use.
3627
4851
 
3628
4852
  ---
3629
4853
 
3630
- ##### `cpu`<sup>Optional</sup> <a name="cpu" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.cpu"></a>
4854
+ ##### `cpu`<sup>Optional</sup> <a name="cpu" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.cpu"></a>
3631
4855
 
3632
4856
  ```typescript
3633
4857
  public readonly cpu: number;
@@ -3654,7 +4878,7 @@ which determines your range of valid values for the memory parameter:
3654
4878
 
3655
4879
  ---
3656
4880
 
3657
- ##### `ephemeralStorageGiB`<sup>Optional</sup> <a name="ephemeralStorageGiB" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.ephemeralStorageGiB"></a>
4881
+ ##### `ephemeralStorageGiB`<sup>Optional</sup> <a name="ephemeralStorageGiB" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.ephemeralStorageGiB"></a>
3658
4882
 
3659
4883
  ```typescript
3660
4884
  public readonly ephemeralStorageGiB: number;
@@ -3671,7 +4895,7 @@ NOTE: This parameter is only supported for tasks hosted on AWS Fargate using pla
3671
4895
 
3672
4896
  ---
3673
4897
 
3674
- ##### `imageBuilder`<sup>Optional</sup> <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.imageBuilder"></a>
4898
+ ##### `imageBuilder`<sup>Optional</sup> <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.imageBuilder"></a>
3675
4899
 
3676
4900
  ```typescript
3677
4901
  public readonly imageBuilder: IImageBuilder;
@@ -3686,7 +4910,7 @@ A user named `runner` is expected to exist.
3686
4910
 
3687
4911
  ---
3688
4912
 
3689
- ##### ~~`label`~~<sup>Optional</sup> <a name="label" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.label"></a>
4913
+ ##### ~~`label`~~<sup>Optional</sup> <a name="label" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.label"></a>
3690
4914
 
3691
4915
  - *Deprecated:* use {@link labels} instead
3692
4916
 
@@ -3701,7 +4925,7 @@ GitHub Actions label used for this provider.
3701
4925
 
3702
4926
  ---
3703
4927
 
3704
- ##### `labels`<sup>Optional</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.labels"></a>
4928
+ ##### `labels`<sup>Optional</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.labels"></a>
3705
4929
 
3706
4930
  ```typescript
3707
4931
  public readonly labels: string[];
@@ -3718,7 +4942,7 @@ job's labels, this provider will be chosen and spawn a new runner.
3718
4942
 
3719
4943
  ---
3720
4944
 
3721
- ##### `memoryLimitMiB`<sup>Optional</sup> <a name="memoryLimitMiB" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.memoryLimitMiB"></a>
4945
+ ##### `memoryLimitMiB`<sup>Optional</sup> <a name="memoryLimitMiB" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.memoryLimitMiB"></a>
3722
4946
 
3723
4947
  ```typescript
3724
4948
  public readonly memoryLimitMiB: number;
@@ -3744,7 +4968,7 @@ Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available c
3744
4968
 
3745
4969
  ---
3746
4970
 
3747
- ##### ~~`securityGroup`~~<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.securityGroup"></a>
4971
+ ##### ~~`securityGroup`~~<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.securityGroup"></a>
3748
4972
 
3749
4973
  - *Deprecated:* use {@link securityGroups}
3750
4974
 
@@ -3759,7 +4983,7 @@ Security group to assign to the task.
3759
4983
 
3760
4984
  ---
3761
4985
 
3762
- ##### `securityGroups`<sup>Optional</sup> <a name="securityGroups" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.securityGroups"></a>
4986
+ ##### `securityGroups`<sup>Optional</sup> <a name="securityGroups" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.securityGroups"></a>
3763
4987
 
3764
4988
  ```typescript
3765
4989
  public readonly securityGroups: ISecurityGroup[];
@@ -3772,7 +4996,7 @@ Security groups to assign to the task.
3772
4996
 
3773
4997
  ---
3774
4998
 
3775
- ##### `spot`<sup>Optional</sup> <a name="spot" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.spot"></a>
4999
+ ##### `spot`<sup>Optional</sup> <a name="spot" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.spot"></a>
3776
5000
 
3777
5001
  ```typescript
3778
5002
  public readonly spot: boolean;
@@ -3788,7 +5012,7 @@ Use Fargate spot capacity provider to save money.
3788
5012
 
3789
5013
  ---
3790
5014
 
3791
- ##### `subnetSelection`<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.subnetSelection"></a>
5015
+ ##### `subnetSelection`<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.subnetSelection"></a>
3792
5016
 
3793
5017
  ```typescript
3794
5018
  public readonly subnetSelection: SubnetSelection;
@@ -3801,7 +5025,7 @@ Subnets to run the runners in.
3801
5025
 
3802
5026
  ---
3803
5027
 
3804
- ##### `vpc`<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.vpc"></a>
5028
+ ##### `vpc`<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.vpc"></a>
3805
5029
 
3806
5030
  ```typescript
3807
5031
  public readonly vpc: IVpc;
@@ -4108,36 +5332,36 @@ Optional assets to add to the built image.
4108
5332
 
4109
5333
  ---
4110
5334
 
4111
- ### LambdaRunnerProps <a name="LambdaRunnerProps" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProps"></a>
5335
+ ### LambdaRunnerProviderProps <a name="LambdaRunnerProviderProps" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps"></a>
4112
5336
 
4113
- #### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.Initializer"></a>
5337
+ #### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.Initializer"></a>
4114
5338
 
4115
5339
  ```typescript
4116
- import { LambdaRunnerProps } from '@cloudsnorkel/cdk-github-runners'
5340
+ import { LambdaRunnerProviderProps } from '@cloudsnorkel/cdk-github-runners'
4117
5341
 
4118
- const lambdaRunnerProps: LambdaRunnerProps = { ... }
5342
+ const lambdaRunnerProviderProps: LambdaRunnerProviderProps = { ... }
4119
5343
  ```
4120
5344
 
4121
5345
  #### Properties <a name="Properties" id="Properties"></a>
4122
5346
 
4123
5347
  | **Name** | **Type** | **Description** |
4124
5348
  | --- | --- | --- |
4125
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
4126
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
4127
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.ephemeralStorageSize">ephemeralStorageSize</a></code> | <code>aws-cdk-lib.Size</code> | The size of the function’s /tmp directory in MiB. |
4128
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a></code> | Provider running an image to run inside CodeBuild with GitHub runner pre-configured. |
4129
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
4130
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
4131
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.memorySize">memorySize</a></code> | <code>number</code> | The amount of memory, in MB, that is allocated to your Lambda function. |
4132
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group to assign to this instance. |
4133
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.securityGroups">securityGroups</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup[]</code> | Security groups to assign to this instance. |
4134
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Where to place the network interfaces within the VPC. |
4135
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.timeout">timeout</a></code> | <code>aws-cdk-lib.Duration</code> | The function execution time (in seconds) after which Lambda terminates the function. |
4136
- | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to launch the runners in. |
5349
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
5350
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
5351
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.ephemeralStorageSize">ephemeralStorageSize</a></code> | <code>aws-cdk-lib.Size</code> | The size of the function’s /tmp directory in MiB. |
5352
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a></code> | Provider running an image to run inside CodeBuild with GitHub runner pre-configured. |
5353
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
5354
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
5355
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.memorySize">memorySize</a></code> | <code>number</code> | The amount of memory, in MB, that is allocated to your Lambda function. |
5356
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group to assign to this instance. |
5357
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.securityGroups">securityGroups</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup[]</code> | Security groups to assign to this instance. |
5358
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Where to place the network interfaces within the VPC. |
5359
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.timeout">timeout</a></code> | <code>aws-cdk-lib.Duration</code> | The function execution time (in seconds) after which Lambda terminates the function. |
5360
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to launch the runners in. |
4137
5361
 
4138
5362
  ---
4139
5363
 
4140
- ##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.logRetention"></a>
5364
+ ##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.logRetention"></a>
4141
5365
 
4142
5366
  ```typescript
4143
5367
  public readonly logRetention: RetentionDays;
@@ -4154,7 +5378,7 @@ remove the retention policy, set the value to `INFINITE`.
4154
5378
 
4155
5379
  ---
4156
5380
 
4157
- ##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.retryOptions"></a>
5381
+ ##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.retryOptions"></a>
4158
5382
 
4159
5383
  ```typescript
4160
5384
  public readonly retryOptions: ProviderRetryOptions;
@@ -4167,7 +5391,7 @@ Options to retry operation in case of failure like missing capacity, or API quot
4167
5391
 
4168
5392
  ---
4169
5393
 
4170
- ##### `ephemeralStorageSize`<sup>Optional</sup> <a name="ephemeralStorageSize" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.ephemeralStorageSize"></a>
5394
+ ##### `ephemeralStorageSize`<sup>Optional</sup> <a name="ephemeralStorageSize" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.ephemeralStorageSize"></a>
4171
5395
 
4172
5396
  ```typescript
4173
5397
  public readonly ephemeralStorageSize: Size;
@@ -4180,7 +5404,7 @@ The size of the function’s /tmp directory in MiB.
4180
5404
 
4181
5405
  ---
4182
5406
 
4183
- ##### `imageBuilder`<sup>Optional</sup> <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.imageBuilder"></a>
5407
+ ##### `imageBuilder`<sup>Optional</sup> <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.imageBuilder"></a>
4184
5408
 
4185
5409
  ```typescript
4186
5410
  public readonly imageBuilder: IImageBuilder;
@@ -4197,7 +5421,7 @@ The default command (`CMD`) should be `["runner.handler"]` which points to an in
4197
5421
 
4198
5422
  ---
4199
5423
 
4200
- ##### ~~`label`~~<sup>Optional</sup> <a name="label" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.label"></a>
5424
+ ##### ~~`label`~~<sup>Optional</sup> <a name="label" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.label"></a>
4201
5425
 
4202
5426
  - *Deprecated:* use {@link labels} instead
4203
5427
 
@@ -4212,7 +5436,7 @@ GitHub Actions label used for this provider.
4212
5436
 
4213
5437
  ---
4214
5438
 
4215
- ##### `labels`<sup>Optional</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.labels"></a>
5439
+ ##### `labels`<sup>Optional</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.labels"></a>
4216
5440
 
4217
5441
  ```typescript
4218
5442
  public readonly labels: string[];
@@ -4229,7 +5453,7 @@ job's labels, this provider will be chosen and spawn a new runner.
4229
5453
 
4230
5454
  ---
4231
5455
 
4232
- ##### `memorySize`<sup>Optional</sup> <a name="memorySize" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.memorySize"></a>
5456
+ ##### `memorySize`<sup>Optional</sup> <a name="memorySize" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.memorySize"></a>
4233
5457
 
4234
5458
  ```typescript
4235
5459
  public readonly memorySize: number;
@@ -4246,7 +5470,7 @@ Developer Guide.
4246
5470
 
4247
5471
  ---
4248
5472
 
4249
- ##### ~~`securityGroup`~~<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.securityGroup"></a>
5473
+ ##### ~~`securityGroup`~~<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.securityGroup"></a>
4250
5474
 
4251
5475
  - *Deprecated:* use {@link securityGroups}
4252
5476
 
@@ -4261,7 +5485,7 @@ Security group to assign to this instance.
4261
5485
 
4262
5486
  ---
4263
5487
 
4264
- ##### `securityGroups`<sup>Optional</sup> <a name="securityGroups" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.securityGroups"></a>
5488
+ ##### `securityGroups`<sup>Optional</sup> <a name="securityGroups" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.securityGroups"></a>
4265
5489
 
4266
5490
  ```typescript
4267
5491
  public readonly securityGroups: ISecurityGroup[];
@@ -4274,7 +5498,7 @@ Security groups to assign to this instance.
4274
5498
 
4275
5499
  ---
4276
5500
 
4277
- ##### `subnetSelection`<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.subnetSelection"></a>
5501
+ ##### `subnetSelection`<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.subnetSelection"></a>
4278
5502
 
4279
5503
  ```typescript
4280
5504
  public readonly subnetSelection: SubnetSelection;
@@ -4287,7 +5511,7 @@ Where to place the network interfaces within the VPC.
4287
5511
 
4288
5512
  ---
4289
5513
 
4290
- ##### `timeout`<sup>Optional</sup> <a name="timeout" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.timeout"></a>
5514
+ ##### `timeout`<sup>Optional</sup> <a name="timeout" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.timeout"></a>
4291
5515
 
4292
5516
  ```typescript
4293
5517
  public readonly timeout: Duration;
@@ -4303,7 +5527,7 @@ based on the function's expected execution time.
4303
5527
 
4304
5528
  ---
4305
5529
 
4306
- ##### `vpc`<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.property.vpc"></a>
5530
+ ##### `vpc`<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.vpc"></a>
4307
5531
 
4308
5532
  ```typescript
4309
5533
  public readonly vpc: IVpc;
@@ -5841,7 +7065,7 @@ Log group name for the image builder where history of image builds can be analyz
5841
7065
 
5842
7066
  - *Extends:* aws-cdk-lib.aws_ec2.IConnectable, aws-cdk-lib.aws_iam.IGrantable, constructs.IConstruct
5843
7067
 
5844
- - *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner">CodeBuildRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner">Ec2Runner</a>, <a href="#@cloudsnorkel/cdk-github-runners.FargateRunner">FargateRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner">LambdaRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
7068
+ - *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner">CodeBuildRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider">CodeBuildRunnerProvider</a>, <a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner">Ec2Runner</a>, <a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider">Ec2RunnerProvider</a>, <a href="#@cloudsnorkel/cdk-github-runners.FargateRunner">FargateRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider">FargateRunnerProvider</a>, <a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner">LambdaRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider">LambdaRunnerProvider</a>, <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
5845
7069
 
5846
7070
  Interface for all runner providers.
5847
7071