@cloudsnorkel/cdk-github-runners 0.9.7 → 0.9.8

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 (53) hide show
  1. package/.gitattributes +2 -0
  2. package/.jsii +64 -41
  3. package/API.md +30 -6
  4. package/assets/delete-runner.lambda/index.js +2983 -5504
  5. package/assets/docker-images/lambda/linux-arm64/runner.sh +1 -1
  6. package/assets/docker-images/lambda/linux-x64/runner.sh +1 -1
  7. package/assets/idle-runner-repear.lambda/index.js +20062 -0
  8. package/assets/setup.lambda/index.html +14 -14
  9. package/assets/setup.lambda/index.js +102 -153
  10. package/assets/status.lambda/index.js +2925 -5418
  11. package/assets/token-retriever.lambda/index.js +2984 -5497
  12. package/assets/webhook-handler.lambda/index.js +1 -1
  13. package/lib/access.d.ts +9 -1
  14. package/lib/access.js +46 -4
  15. package/lib/delete-runner.lambda.js +7 -35
  16. package/lib/idle-runner-repear-function.d.ts +13 -0
  17. package/lib/idle-runner-repear-function.js +23 -0
  18. package/lib/idle-runner-repear.lambda.d.ts +1 -0
  19. package/lib/idle-runner-repear.lambda.js +67 -0
  20. package/lib/image-builders/api.js +1 -1
  21. package/lib/image-builders/aws-image-builder/builder.js +1 -1
  22. package/lib/image-builders/aws-image-builder/delete-ami.lambda.js +1 -3
  23. package/lib/image-builders/aws-image-builder/deprecated/ami.js +1 -1
  24. package/lib/image-builders/aws-image-builder/deprecated/container.js +1 -1
  25. package/lib/image-builders/aws-image-builder/deprecated/linux-components.js +1 -1
  26. package/lib/image-builders/aws-image-builder/deprecated/windows-components.js +1 -1
  27. package/lib/image-builders/aws-image-builder/filter-failed-builds.lambda.js +1 -2
  28. package/lib/image-builders/aws-image-builder/reaper.lambda.js +1 -3
  29. package/lib/image-builders/aws-image-builder/versioner.lambda.js +1 -3
  30. package/lib/image-builders/codebuild-deprecated.js +1 -1
  31. package/lib/image-builders/components.js +1 -1
  32. package/lib/image-builders/static.js +1 -1
  33. package/lib/{github.d.ts → lambda-github.d.ts} +14 -0
  34. package/lib/lambda-github.js +69 -0
  35. package/lib/lambda-helpers.d.ts +0 -1
  36. package/lib/lambda-helpers.js +1 -2
  37. package/lib/providers/build-image.lambda.js +1 -3
  38. package/lib/providers/codebuild.js +5 -5
  39. package/lib/providers/common.js +3 -3
  40. package/lib/providers/ec2.js +5 -5
  41. package/lib/providers/ecs.js +1 -1
  42. package/lib/providers/fargate.js +5 -5
  43. package/lib/providers/lambda.js +2 -2
  44. package/lib/providers/update-lambda.lambda.js +1 -2
  45. package/lib/runner.d.ts +12 -1
  46. package/lib/runner.js +41 -17
  47. package/lib/secrets.js +1 -1
  48. package/lib/setup.lambda.js +3 -4
  49. package/lib/status.lambda.js +4 -6
  50. package/lib/token-retriever.lambda.js +3 -3
  51. package/lib/webhook-handler.lambda.js +2 -3
  52. package/package.json +10 -8
  53. package/lib/github.js +0 -50
package/.gitattributes CHANGED
@@ -17,6 +17,7 @@
17
17
  /.gitignore linguist-generated
18
18
  /.mergify.yml linguist-generated
19
19
  /.npmignore linguist-generated
20
+ /.npmrc linguist-generated
20
21
  /.projen/** linguist-generated
21
22
  /.projen/deps.json linguist-generated
22
23
  /.projen/files.json linguist-generated
@@ -26,6 +27,7 @@
26
27
  /LICENSE linguist-generated
27
28
  /package.json linguist-generated
28
29
  /src/delete-runner-function.ts linguist-generated
30
+ /src/idle-runner-repear-function.ts linguist-generated
29
31
  /src/image-builders/aws-image-builder/delete-ami-function.ts linguist-generated
30
32
  /src/image-builders/aws-image-builder/filter-failed-builds-function.ts linguist-generated
31
33
  /src/image-builders/aws-image-builder/reaper-function.ts linguist-generated
package/.jsii CHANGED
@@ -3851,7 +3851,7 @@
3851
3851
  "immutable": true,
3852
3852
  "locationInModule": {
3853
3853
  "filename": "src/access.ts",
3854
- "line": 17
3854
+ "line": 26
3855
3855
  },
3856
3856
  "name": "allowedIps",
3857
3857
  "optional": true,
@@ -3874,7 +3874,7 @@
3874
3874
  "immutable": true,
3875
3875
  "locationInModule": {
3876
3876
  "filename": "src/access.ts",
3877
- "line": 29
3877
+ "line": 38
3878
3878
  },
3879
3879
  "name": "allowedSecurityGroups",
3880
3880
  "optional": true,
@@ -3891,18 +3891,41 @@
3891
3891
  "abstract": true,
3892
3892
  "docs": {
3893
3893
  "stability": "experimental",
3894
- "summary": "Creates a private API Gateway and allows access from the specified VPC."
3894
+ "summary": "Create a private API Gateway and allow access from the specified VPC."
3895
3895
  },
3896
3896
  "immutable": true,
3897
3897
  "locationInModule": {
3898
3898
  "filename": "src/access.ts",
3899
- "line": 22
3899
+ "line": 31
3900
3900
  },
3901
3901
  "name": "allowedVpc",
3902
3902
  "optional": true,
3903
3903
  "type": {
3904
3904
  "fqn": "aws-cdk-lib.aws_ec2.IVpc"
3905
3905
  }
3906
+ },
3907
+ {
3908
+ "abstract": true,
3909
+ "docs": {
3910
+ "remarks": "Use this to make use of existing VPC endpoints. The VPC endpoint must point to `ec2.InterfaceVpcEndpointAwsService.APIGATEWAY`.\n\nNo other settings are supported when using this option.",
3911
+ "stability": "experimental",
3912
+ "summary": "Create a private API Gateway and allow access from the specified VPC endpoints."
3913
+ },
3914
+ "immutable": true,
3915
+ "locationInModule": {
3916
+ "filename": "src/access.ts",
3917
+ "line": 17
3918
+ },
3919
+ "name": "allowedVpcEndpoints",
3920
+ "optional": true,
3921
+ "type": {
3922
+ "collection": {
3923
+ "elementtype": {
3924
+ "fqn": "aws-cdk-lib.aws_ec2.IVpcEndpoint"
3925
+ },
3926
+ "kind": "array"
3927
+ }
3928
+ }
3906
3929
  }
3907
3930
  ],
3908
3931
  "symbolId": "src/access:ApiGatewayAccessProps"
@@ -8143,7 +8166,7 @@
8143
8166
  },
8144
8167
  "locationInModule": {
8145
8168
  "filename": "src/runner.ts",
8146
- "line": 223
8169
+ "line": 234
8147
8170
  },
8148
8171
  "parameters": [
8149
8172
  {
@@ -8170,7 +8193,7 @@
8170
8193
  "kind": "class",
8171
8194
  "locationInModule": {
8172
8195
  "filename": "src/runner.ts",
8173
- "line": 204
8196
+ "line": 215
8174
8197
  },
8175
8198
  "methods": [
8176
8199
  {
@@ -8181,7 +8204,7 @@
8181
8204
  },
8182
8205
  "locationInModule": {
8183
8206
  "filename": "src/runner.ts",
8184
- "line": 630
8207
+ "line": 664
8185
8208
  },
8186
8209
  "name": "failedImageBuildsTopic",
8187
8210
  "returns": {
@@ -8198,7 +8221,7 @@
8198
8221
  },
8199
8222
  "locationInModule": {
8200
8223
  "filename": "src/runner.ts",
8201
- "line": 612
8224
+ "line": 646
8202
8225
  },
8203
8226
  "name": "metricFailed",
8204
8227
  "parameters": [
@@ -8224,7 +8247,7 @@
8224
8247
  },
8225
8248
  "locationInModule": {
8226
8249
  "filename": "src/runner.ts",
8227
- "line": 557
8250
+ "line": 591
8228
8251
  },
8229
8252
  "name": "metricJobCompleted",
8230
8253
  "parameters": [
@@ -8250,7 +8273,7 @@
8250
8273
  },
8251
8274
  "locationInModule": {
8252
8275
  "filename": "src/runner.ts",
8253
- "line": 603
8276
+ "line": 637
8254
8277
  },
8255
8278
  "name": "metricSucceeded",
8256
8279
  "parameters": [
@@ -8276,7 +8299,7 @@
8276
8299
  },
8277
8300
  "locationInModule": {
8278
8301
  "filename": "src/runner.ts",
8279
- "line": 619
8302
+ "line": 653
8280
8303
  },
8281
8304
  "name": "metricTime",
8282
8305
  "parameters": [
@@ -8305,7 +8328,7 @@
8305
8328
  "immutable": true,
8306
8329
  "locationInModule": {
8307
8330
  "filename": "src/runner.ts",
8308
- "line": 208
8331
+ "line": 219
8309
8332
  },
8310
8333
  "name": "providers",
8311
8334
  "type": {
@@ -8325,7 +8348,7 @@
8325
8348
  "immutable": true,
8326
8349
  "locationInModule": {
8327
8350
  "filename": "src/runner.ts",
8328
- "line": 213
8351
+ "line": 224
8329
8352
  },
8330
8353
  "name": "secrets",
8331
8354
  "type": {
@@ -8339,7 +8362,7 @@
8339
8362
  "immutable": true,
8340
8363
  "locationInModule": {
8341
8364
  "filename": "src/runner.ts",
8342
- "line": 223
8365
+ "line": 234
8343
8366
  },
8344
8367
  "name": "props",
8345
8368
  "optional": true,
@@ -8361,7 +8384,7 @@
8361
8384
  "kind": "interface",
8362
8385
  "locationInModule": {
8363
8386
  "filename": "src/runner.ts",
8364
- "line": 35
8387
+ "line": 37
8365
8388
  },
8366
8389
  "name": "GitHubRunnersProps",
8367
8390
  "properties": [
@@ -8376,7 +8399,7 @@
8376
8399
  "immutable": true,
8377
8400
  "locationInModule": {
8378
8401
  "filename": "src/runner.ts",
8379
- "line": 58
8402
+ "line": 69
8380
8403
  },
8381
8404
  "name": "allowPublicSubnet",
8382
8405
  "optional": true,
@@ -8394,7 +8417,7 @@
8394
8417
  "immutable": true,
8395
8418
  "locationInModule": {
8396
8419
  "filename": "src/runner.ts",
8397
- "line": 88
8420
+ "line": 99
8398
8421
  },
8399
8422
  "name": "extraCertificates",
8400
8423
  "optional": true,
@@ -8405,7 +8428,7 @@
8405
8428
  {
8406
8429
  "abstract": true,
8407
8430
  "docs": {
8408
- "default": "10 minutes",
8431
+ "default": "5 minutes",
8409
8432
  "remarks": "If the user cancelled the job, or if another runner stole it, this stops the runner to avoid wasting resources.",
8410
8433
  "stability": "experimental",
8411
8434
  "summary": "Time to wait before stopping a runner that remains idle."
@@ -8413,7 +8436,7 @@
8413
8436
  "immutable": true,
8414
8437
  "locationInModule": {
8415
8438
  "filename": "src/runner.ts",
8416
- "line": 95
8439
+ "line": 106
8417
8440
  },
8418
8441
  "name": "idleTimeout",
8419
8442
  "optional": true,
@@ -8431,7 +8454,7 @@
8431
8454
  "immutable": true,
8432
8455
  "locationInModule": {
8433
8456
  "filename": "src/runner.ts",
8434
- "line": 102
8457
+ "line": 113
8435
8458
  },
8436
8459
  "name": "logOptions",
8437
8460
  "optional": true,
@@ -8450,7 +8473,7 @@
8450
8473
  "immutable": true,
8451
8474
  "locationInModule": {
8452
8475
  "filename": "src/runner.ts",
8453
- "line": 41
8476
+ "line": 43
8454
8477
  },
8455
8478
  "name": "providers",
8456
8479
  "optional": true,
@@ -8473,7 +8496,7 @@
8473
8496
  "immutable": true,
8474
8497
  "locationInModule": {
8475
8498
  "filename": "src/runner.ts",
8476
- "line": 63
8499
+ "line": 74
8477
8500
  },
8478
8501
  "name": "securityGroup",
8479
8502
  "optional": true,
@@ -8492,7 +8515,7 @@
8492
8515
  "immutable": true,
8493
8516
  "locationInModule": {
8494
8517
  "filename": "src/runner.ts",
8495
- "line": 109
8518
+ "line": 120
8496
8519
  },
8497
8520
  "name": "setupAccess",
8498
8521
  "optional": true,
@@ -8511,7 +8534,7 @@
8511
8534
  "immutable": true,
8512
8535
  "locationInModule": {
8513
8536
  "filename": "src/runner.ts",
8514
- "line": 128
8537
+ "line": 139
8515
8538
  },
8516
8539
  "name": "statusAccess",
8517
8540
  "optional": true,
@@ -8522,14 +8545,14 @@
8522
8545
  {
8523
8546
  "abstract": true,
8524
8547
  "docs": {
8525
- "remarks": "Use this with GitHub Enterprise Server hosted that's inaccessible from outside the VPC.",
8548
+ "remarks": "Make sure the selected VPC and subnets have access to the following with either NAT Gateway or VPC Endpoints:\n* GitHub Enterprise Server\n* Secrets Manager\n* SQS\n* Step Functions\n* CloudFormation (status function only)\n* EC2 (status function only)\n* ECR (status function only)",
8526
8549
  "stability": "experimental",
8527
- "summary": "VPC used for all management functions."
8550
+ "summary": "VPC used for all management functions. Use this with GitHub Enterprise Server hosted that's inaccessible from outside the VPC."
8528
8551
  },
8529
8552
  "immutable": true,
8530
8553
  "locationInModule": {
8531
8554
  "filename": "src/runner.ts",
8532
- "line": 46
8555
+ "line": 57
8533
8556
  },
8534
8557
  "name": "vpc",
8535
8558
  "optional": true,
@@ -8547,7 +8570,7 @@
8547
8570
  "immutable": true,
8548
8571
  "locationInModule": {
8549
8572
  "filename": "src/runner.ts",
8550
- "line": 51
8573
+ "line": 62
8551
8574
  },
8552
8575
  "name": "vpcSubnets",
8553
8576
  "optional": true,
@@ -8566,7 +8589,7 @@
8566
8589
  "immutable": true,
8567
8590
  "locationInModule": {
8568
8591
  "filename": "src/runner.ts",
8569
- "line": 121
8592
+ "line": 132
8570
8593
  },
8571
8594
  "name": "webhookAccess",
8572
8595
  "optional": true,
@@ -9425,7 +9448,7 @@
9425
9448
  "kind": "class",
9426
9449
  "locationInModule": {
9427
9450
  "filename": "src/access.ts",
9428
- "line": 35
9451
+ "line": 44
9429
9452
  },
9430
9453
  "methods": [
9431
9454
  {
@@ -9436,7 +9459,7 @@
9436
9459
  },
9437
9460
  "locationInModule": {
9438
9461
  "filename": "src/access.ts",
9439
- "line": 67
9462
+ "line": 76
9440
9463
  },
9441
9464
  "name": "apiGateway",
9442
9465
  "parameters": [
@@ -9463,7 +9486,7 @@
9463
9486
  },
9464
9487
  "locationInModule": {
9465
9488
  "filename": "src/access.ts",
9466
- "line": 76
9489
+ "line": 85
9467
9490
  },
9468
9491
  "name": "githubWebhookIps",
9469
9492
  "returns": {
@@ -9486,7 +9509,7 @@
9486
9509
  },
9487
9510
  "locationInModule": {
9488
9511
  "filename": "src/access.ts",
9489
- "line": 46
9512
+ "line": 55
9490
9513
  },
9491
9514
  "name": "lambdaUrl",
9492
9515
  "returns": {
@@ -9504,7 +9527,7 @@
9504
9527
  },
9505
9528
  "locationInModule": {
9506
9529
  "filename": "src/access.ts",
9507
- "line": 39
9530
+ "line": 48
9508
9531
  },
9509
9532
  "name": "noAccess",
9510
9533
  "returns": {
@@ -10504,7 +10527,7 @@
10504
10527
  "kind": "interface",
10505
10528
  "locationInModule": {
10506
10529
  "filename": "src/runner.ts",
10507
- "line": 134
10530
+ "line": 145
10508
10531
  },
10509
10532
  "name": "LogOptions",
10510
10533
  "properties": [
@@ -10518,7 +10541,7 @@
10518
10541
  "immutable": true,
10519
10542
  "locationInModule": {
10520
10543
  "filename": "src/runner.ts",
10521
- "line": 145
10544
+ "line": 156
10522
10545
  },
10523
10546
  "name": "includeExecutionData",
10524
10547
  "optional": true,
@@ -10536,7 +10559,7 @@
10536
10559
  "immutable": true,
10537
10560
  "locationInModule": {
10538
10561
  "filename": "src/runner.ts",
10539
- "line": 152
10562
+ "line": 163
10540
10563
  },
10541
10564
  "name": "level",
10542
10565
  "optional": true,
@@ -10553,7 +10576,7 @@
10553
10576
  "immutable": true,
10554
10577
  "locationInModule": {
10555
10578
  "filename": "src/runner.ts",
10556
- "line": 138
10579
+ "line": 149
10557
10580
  },
10558
10581
  "name": "logGroupName",
10559
10582
  "optional": true,
@@ -10572,7 +10595,7 @@
10572
10595
  "immutable": true,
10573
10596
  "locationInModule": {
10574
10597
  "filename": "src/runner.ts",
10575
- "line": 161
10598
+ "line": 172
10576
10599
  },
10577
10600
  "name": "logRetention",
10578
10601
  "optional": true,
@@ -12957,6 +12980,6 @@
12957
12980
  "symbolId": "src/image-builders/aws-image-builder/deprecated/windows-components:WindowsComponents"
12958
12981
  }
12959
12982
  },
12960
- "version": "0.9.7",
12961
- "fingerprint": "WvNV3e021YDh9bxgjpR92gFXUW/VDrTfwOfAn6GsGO8="
12983
+ "version": "0.9.8",
12984
+ "fingerprint": "KTRap0kR/oTc3SHqu9GL3ooB+DmlTzGItu5hqDl2D78="
12962
12985
  }
package/API.md CHANGED
@@ -4831,7 +4831,8 @@ const apiGatewayAccessProps: ApiGatewayAccessProps = { ... }
4831
4831
  | --- | --- | --- |
4832
4832
  | <code><a href="#@cloudsnorkel/cdk-github-runners.ApiGatewayAccessProps.property.allowedIps">allowedIps</a></code> | <code>string[]</code> | List of IP addresses in CIDR notation that are allowed to access the API Gateway. |
4833
4833
  | <code><a href="#@cloudsnorkel/cdk-github-runners.ApiGatewayAccessProps.property.allowedSecurityGroups">allowedSecurityGroups</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup[]</code> | List of security groups that are allowed to access the API Gateway. |
4834
- | <code><a href="#@cloudsnorkel/cdk-github-runners.ApiGatewayAccessProps.property.allowedVpc">allowedVpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | Creates a private API Gateway and allows access from the specified VPC. |
4834
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ApiGatewayAccessProps.property.allowedVpc">allowedVpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | Create a private API Gateway and allow access from the specified VPC. |
4835
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.ApiGatewayAccessProps.property.allowedVpcEndpoints">allowedVpcEndpoints</a></code> | <code>aws-cdk-lib.aws_ec2.IVpcEndpoint[]</code> | Create a private API Gateway and allow access from the specified VPC endpoints. |
4835
4836
 
4836
4837
  ---
4837
4838
 
@@ -4873,7 +4874,23 @@ public readonly allowedVpc: IVpc;
4873
4874
 
4874
4875
  - *Type:* aws-cdk-lib.aws_ec2.IVpc
4875
4876
 
4876
- Creates a private API Gateway and allows access from the specified VPC.
4877
+ Create a private API Gateway and allow access from the specified VPC.
4878
+
4879
+ ---
4880
+
4881
+ ##### `allowedVpcEndpoints`<sup>Optional</sup> <a name="allowedVpcEndpoints" id="@cloudsnorkel/cdk-github-runners.ApiGatewayAccessProps.property.allowedVpcEndpoints"></a>
4882
+
4883
+ ```typescript
4884
+ public readonly allowedVpcEndpoints: IVpcEndpoint[];
4885
+ ```
4886
+
4887
+ - *Type:* aws-cdk-lib.aws_ec2.IVpcEndpoint[]
4888
+
4889
+ Create a private API Gateway and allow access from the specified VPC endpoints.
4890
+
4891
+ Use this to make use of existing VPC endpoints. The VPC endpoint must point to `ec2.InterfaceVpcEndpointAwsService.APIGATEWAY`.
4892
+
4893
+ No other settings are supported when using this option.
4877
4894
 
4878
4895
  ---
4879
4896
 
@@ -6459,7 +6476,7 @@ const gitHubRunnersProps: GitHubRunnersProps = { ... }
6459
6476
  | <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group attached to all management functions. |
6460
6477
  | <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.setupAccess">setupAccess</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaAccess">LambdaAccess</a></code> | Access configuration for the setup function. |
6461
6478
  | <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.statusAccess">statusAccess</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaAccess">LambdaAccess</a></code> | Access configuration for the status function. |
6462
- | <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC used for all management functions. |
6479
+ | <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC used for all management functions. Use this with GitHub Enterprise Server hosted that's inaccessible from outside the VPC. |
6463
6480
  | <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.vpcSubnets">vpcSubnets</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | VPC subnets used for all management functions. |
6464
6481
  | <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.webhookAccess">webhookAccess</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaAccess">LambdaAccess</a></code> | Access configuration for the webhook function. |
6465
6482
 
@@ -6519,7 +6536,7 @@ public readonly idleTimeout: Duration;
6519
6536
  ```
6520
6537
 
6521
6538
  - *Type:* aws-cdk-lib.Duration
6522
- - *Default:* 10 minutes
6539
+ - *Default:* 5 minutes
6523
6540
 
6524
6541
  Time to wait before stopping a runner that remains idle.
6525
6542
 
@@ -6607,9 +6624,16 @@ public readonly vpc: IVpc;
6607
6624
 
6608
6625
  - *Type:* aws-cdk-lib.aws_ec2.IVpc
6609
6626
 
6610
- VPC used for all management functions.
6627
+ VPC used for all management functions. Use this with GitHub Enterprise Server hosted that's inaccessible from outside the VPC.
6611
6628
 
6612
- Use this with GitHub Enterprise Server hosted that's inaccessible from outside the VPC.
6629
+ Make sure the selected VPC and subnets have access to the following with either NAT Gateway or VPC Endpoints:
6630
+ * GitHub Enterprise Server
6631
+ * Secrets Manager
6632
+ * SQS
6633
+ * Step Functions
6634
+ * CloudFormation (status function only)
6635
+ * EC2 (status function only)
6636
+ * ECR (status function only)
6613
6637
 
6614
6638
  ---
6615
6639