You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| <aname="input_aws_partition"></a> [aws\_partition](#input\_aws\_partition)| AWS partition used to construct IAM ARNs. |`string`|`"aws"`| no |
53
53
| <aname="input_aws_region"></a> [aws\_region](#input\_aws\_region)| AWS region used by compute-provider resources and policy documents. |`string`| n/a | yes |
54
54
| <a name="input_config"></a> [config](#input\_config) | Lambda MicroVM compute-provider configuration. Paths match `compute_provider.aws.microvm` in runner-config.<br/><br/>- `image_arn`: ARN of the MicroVM image used to run GitHub runners.<br/>- `image_version`: Optional MicroVM image version.<br/>- `ingress_network_connectors`: Up to 10 Lambda network-connector ARNs passed to RunMicrovm.<br/>- `egress_network_connectors`: Up to 10 Lambda network-connector ARNs passed to RunMicrovm.<br/>- `cloudwatch_agent.enabled`: Enables the image CloudWatch agent through the shared runner configuration path.<br/>- `cloudwatch_agent.config`: Optional complete CloudWatch agent configuration. Null renders the provider default from `log_files`. Custom log destinations must also be declared in `log_files` so Terraform creates their groups and IAM permissions.<br/>- `log_files`: Optional files collected by the CloudWatch agent. Null uses the MicroVM defaults.<br/>- `log_files[].log_group_name`: CloudWatch log-group name before optional prefixing.<br/>- `log_files[].prefix_log_group`: Prefixes the log-group name with the runner configuration path.<br/>- `log_files[].file_path`: File or glob read by the CloudWatch agent.<br/>- `log_files[].log_stream_name`: Log-stream template. The image replaces `{microvm_id}` with the current MicroVM identifier.<br/>- `log_files[].log_class`: CloudWatch log-group class for the collected file.<br/>- `environment_variables`: Additional provider-specific Lambda environment variables merged into scale-up, scale-down, and pool.<br/>- `iam.resource_arns.images`: Optional MicroVM image ARN allowlist for RunMicrovm and TerminateMicrovm. Null restricts both actions to `image_arn`; set an explicit list when dynamic image overrides are enabled. Provider-required list and connector permissions remain separately scoped to `*`.<br/>- `iam.additional_policy_json.scale_up`: Optional additional provider policy attached separately to the scale-up Lambda role.<br/>- `iam.managed_policies.scale_up`: Optional managed-policy wrapper attached to the scale-up Lambda role. Wrapper presence controls resource creation during planning.<br/>- `iam.managed_policies.scale_up.arn`: ARN of the scale-up managed policy. The ARN may remain unknown until apply.<br/>- `iam.managed_policies.pool`: Optional managed-policy wrapper attached to the pool Lambda role. Wrapper presence controls resource creation during planning.<br/>- `iam.managed_policies.pool.arn`: ARN of the pool managed policy. The ARN may remain unknown until apply. | <pre>object({<br/> image_arn = string<br/> image_version = optional(string, null)<br/> ingress_network_connectors = optional(list(string), [])<br/> egress_network_connectors = optional(list(string), [])<br/> cloudwatch_agent = optional(object({<br/> enabled = optional(bool, true)<br/> config = optional(string, null)<br/> }), {})<br/> log_files = optional(list(object({<br/> log_group_name = string<br/> prefix_log_group = bool<br/> file_path = string<br/> log_stream_name = string<br/> log_class = optional(string, "STANDARD")<br/> })), null)<br/> environment_variables = optional(map(string), {})<br/> iam = optional(object({<br/> resource_arns = optional(object({<br/> images = optional(list(string), null)<br/> }), {})<br/> additional_policy_json = optional(object({<br/> scale_up = optional(string, null)<br/> }), {})<br/> managed_policies = optional(object({<br/> scale_up = optional(object({<br/> arn = string<br/> }), null)<br/> pool = optional(object({<br/> arn = string<br/> }), null)<br/> }), {})<br/> }), {})<br/> })</pre> | n/a | yes |
| <a name="input_additional_github_apps"></a> [additional\_github\_apps](#input\_additional\_github\_apps) | Additional GitHub Apps for random API rate limit distribution.<br/><br/>The primary app (var.github\_app) is always included and is the one whose<br/>webhook secret is used for incoming webhook signature validation. Only the<br/>primary app needs a webhook configured in GitHub.<br/><br/>Additional apps listed here are used exclusively by the control-plane<br/>lambdas (scale-up, scale-down, pool, job-retry) which randomly select an<br/>app for each GitHub API call. Each additional app must be installed on the<br/>same repositories/organizations as the primary app. | <pre>list(object({<br/> key_base64 = optional(string)<br/> key_base64_ssm = optional(object({ arn = string, name = string }))<br/> id = optional(string)<br/> id_ssm = optional(object({ arn = string, name = string }))<br/> installation_id = optional(string)<br/> installation_id_ssm = optional(object({ arn = string, name = string }))<br/> }))</pre> | `[]` | no |
201
201
| <aname="input_ami_housekeeper_cleanup_config"></a> [ami\_housekeeper\_cleanup\_config](#input\_ami\_housekeeper\_cleanup\_config)| Configuration for AMI cleanup. | <pre>object({<br/> maxItems = optional(number)<br/> minimumDaysOld = optional(number)<br/> amiFilters = optional(list(object({<br/> Name = string<br/> Values = list(string)<br/> })))<br/> launchTemplateNames = optional(list(string))<br/> ssmParameterNames = optional(list(string))<br/> dryRun = optional(bool)<br/> })</pre> |`{}`| no |
202
202
| <aname="input_ami_housekeeper_lambda_memory_size"></a> [ami\_housekeeper\_lambda\_memory\_size](#input\_ami\_housekeeper\_lambda\_memory\_size)| Memory size limit in MB of the lambda. |`number`|`256`| no |
0 commit comments