Experience Builder


Terraform

< Back

Repository
philips-labs / terraform-aws-github-runner
Description

Terraform module for scalable GitHub action runners on AWS

Stars

 1723

Failed Checks
  •  Security Scanning

  • Scan Date

    2023-10-30 17:57:40

    Security Scanning

    This repository failed the Experience Builder Terraform Module's Security Scanning validation. This means that a security scanning tool was not found to be implemented in any of the CICD tool configuration files in the repository.

    There is an opportunity to:

    Checkov Output
                    
                      2023-10-05 14:39:17,101 [MainThread  ] [WARNI]  Failed to download module terraform-aws-modules/vpc/aws:5.0.0 (for external modules, the --download-external-modules flag is required)
    terraform scan results:
    
    Passed checks: 570, Failed checks: 91, Skipped checks: 0
    
    Check: CKV_AWS_7: "Ensure rotation for customer created CMKs is enabled"
    	FAILED for resource: aws_kms_key.github
    	File: /examples/permissions-boundary/main.tf:18-20
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-logging-policies/logging-8.html
    
    		18 | resource "aws_kms_key" "github" {
    		19 |   is_enabled = true
    		20 | }
    
    Check: CKV_AWS_272: "Ensure AWS Lambda function is configured to validate code-signing"
    	FAILED for resource: module.runners.module.runner_binaries.aws_lambda_function.syncer
    	File: /modules/runner-binaries-syncer/runner-binaries-syncer.tf:10-54
    	Calling File: /main.tf:281-323
    
    		10 | resource "aws_lambda_function" "syncer" {
    		11 |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		12 |   s3_key            = var.syncer_lambda_s3_key != null ? var.syncer_lambda_s3_key : null
    		13 |   s3_object_version = var.syncer_lambda_s3_object_version != null ? var.syncer_lambda_s3_object_version : null
    		14 |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		15 |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		16 |   function_name     = "${var.prefix}-syncer"
    		17 |   role              = aws_iam_role.syncer_lambda.arn
    		18 |   handler           = "index.handler"
    		19 |   runtime           = var.lambda_runtime
    		20 |   timeout           = var.lambda_timeout
    		21 |   memory_size       = 256
    		22 |   architectures     = [var.lambda_architecture]
    		23 | 
    		24 |   environment {
    		25 |     variables = {
    		26 |       ENVIRONMENT                 = var.prefix
    		27 |       GITHUB_RUNNER_ARCHITECTURE  = var.runner_architecture
    		28 |       GITHUB_RUNNER_OS            = local.gh_binary_os_label[var.runner_os]
    		29 |       LOG_LEVEL                   = var.log_level
    		30 |       POWERTOOLS_LOGGER_LOG_EVENT = var.log_level == "debug" ? "true" : "false"
    		31 |       S3_BUCKET_NAME              = aws_s3_bucket.action_dist.id
    		32 |       S3_OBJECT_KEY               = local.action_runner_distribution_object_key
    		33 |       S3_SSE_ALGORITHM            = try(var.server_side_encryption_configuration.rule.apply_server_side_encryption_by_default.sse_algorithm, null)
    		34 |       S3_SSE_KMS_KEY_ID           = try(var.server_side_encryption_configuration.rule.apply_server_side_encryption_by_default.kms_master_key_id, null)
    		35 |     }
    		36 |   }
    		37 | 
    		38 |   dynamic "vpc_config" {
    		39 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		40 |     content {
    		41 |       security_group_ids = var.lambda_security_group_ids
    		42 |       subnet_ids         = var.lambda_subnet_ids
    		43 |     }
    		44 |   }
    		45 | 
    		46 |   tags = var.tags
    		47 | 
    		48 |   dynamic "tracing_config" {
    		49 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		50 |     content {
    		51 |       mode = var.lambda_tracing_mode
    		52 |     }
    		53 |   }
    		54 | }
    
    Check: CKV_AWS_173: "Check encryption settings for Lambda environmental variable"
    	FAILED for resource: module.runners.module.runner_binaries.aws_lambda_function.syncer
    	File: /modules/runner-binaries-syncer/runner-binaries-syncer.tf:10-54
    	Calling File: /main.tf:281-323
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-serverless-policies/bc-aws-serverless-5.html
    
    		10 | resource "aws_lambda_function" "syncer" {
    		11 |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		12 |   s3_key            = var.syncer_lambda_s3_key != null ? var.syncer_lambda_s3_key : null
    		13 |   s3_object_version = var.syncer_lambda_s3_object_version != null ? var.syncer_lambda_s3_object_version : null
    		14 |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		15 |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		16 |   function_name     = "${var.prefix}-syncer"
    		17 |   role              = aws_iam_role.syncer_lambda.arn
    		18 |   handler           = "index.handler"
    		19 |   runtime           = var.lambda_runtime
    		20 |   timeout           = var.lambda_timeout
    		21 |   memory_size       = 256
    		22 |   architectures     = [var.lambda_architecture]
    		23 | 
    		24 |   environment {
    		25 |     variables = {
    		26 |       ENVIRONMENT                 = var.prefix
    		27 |       GITHUB_RUNNER_ARCHITECTURE  = var.runner_architecture
    		28 |       GITHUB_RUNNER_OS            = local.gh_binary_os_label[var.runner_os]
    		29 |       LOG_LEVEL                   = var.log_level
    		30 |       POWERTOOLS_LOGGER_LOG_EVENT = var.log_level == "debug" ? "true" : "false"
    		31 |       S3_BUCKET_NAME              = aws_s3_bucket.action_dist.id
    		32 |       S3_OBJECT_KEY               = local.action_runner_distribution_object_key
    		33 |       S3_SSE_ALGORITHM            = try(var.server_side_encryption_configuration.rule.apply_server_side_encryption_by_default.sse_algorithm, null)
    		34 |       S3_SSE_KMS_KEY_ID           = try(var.server_side_encryption_configuration.rule.apply_server_side_encryption_by_default.kms_master_key_id, null)
    		35 |     }
    		36 |   }
    		37 | 
    		38 |   dynamic "vpc_config" {
    		39 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		40 |     content {
    		41 |       security_group_ids = var.lambda_security_group_ids
    		42 |       subnet_ids         = var.lambda_subnet_ids
    		43 |     }
    		44 |   }
    		45 | 
    		46 |   tags = var.tags
    		47 | 
    		48 |   dynamic "tracing_config" {
    		49 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		50 |     content {
    		51 |       mode = var.lambda_tracing_mode
    		52 |     }
    		53 |   }
    		54 | }
    
    Check: CKV_AWS_115: "Ensure that AWS Lambda function is configured for function-level concurrent execution limit"
    	FAILED for resource: module.runners.module.runner_binaries.aws_lambda_function.syncer
    	File: /modules/runner-binaries-syncer/runner-binaries-syncer.tf:10-54
    	Calling File: /main.tf:281-323
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-function-level-concurrent-execution-limit.html
    
    		10 | resource "aws_lambda_function" "syncer" {
    		11 |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		12 |   s3_key            = var.syncer_lambda_s3_key != null ? var.syncer_lambda_s3_key : null
    		13 |   s3_object_version = var.syncer_lambda_s3_object_version != null ? var.syncer_lambda_s3_object_version : null
    		14 |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		15 |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		16 |   function_name     = "${var.prefix}-syncer"
    		17 |   role              = aws_iam_role.syncer_lambda.arn
    		18 |   handler           = "index.handler"
    		19 |   runtime           = var.lambda_runtime
    		20 |   timeout           = var.lambda_timeout
    		21 |   memory_size       = 256
    		22 |   architectures     = [var.lambda_architecture]
    		23 | 
    		24 |   environment {
    		25 |     variables = {
    		26 |       ENVIRONMENT                 = var.prefix
    		27 |       GITHUB_RUNNER_ARCHITECTURE  = var.runner_architecture
    		28 |       GITHUB_RUNNER_OS            = local.gh_binary_os_label[var.runner_os]
    		29 |       LOG_LEVEL                   = var.log_level
    		30 |       POWERTOOLS_LOGGER_LOG_EVENT = var.log_level == "debug" ? "true" : "false"
    		31 |       S3_BUCKET_NAME              = aws_s3_bucket.action_dist.id
    		32 |       S3_OBJECT_KEY               = local.action_runner_distribution_object_key
    		33 |       S3_SSE_ALGORITHM            = try(var.server_side_encryption_configuration.rule.apply_server_side_encryption_by_default.sse_algorithm, null)
    		34 |       S3_SSE_KMS_KEY_ID           = try(var.server_side_encryption_configuration.rule.apply_server_side_encryption_by_default.kms_master_key_id, null)
    		35 |     }
    		36 |   }
    		37 | 
    		38 |   dynamic "vpc_config" {
    		39 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		40 |     content {
    		41 |       security_group_ids = var.lambda_security_group_ids
    		42 |       subnet_ids         = var.lambda_subnet_ids
    		43 |     }
    		44 |   }
    		45 | 
    		46 |   tags = var.tags
    		47 | 
    		48 |   dynamic "tracing_config" {
    		49 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		50 |     content {
    		51 |       mode = var.lambda_tracing_mode
    		52 |     }
    		53 |   }
    		54 | }
    
    Check: CKV_AWS_116: "Ensure that AWS Lambda function is configured for a Dead Letter Queue(DLQ)"
    	FAILED for resource: module.runners.module.runner_binaries.aws_lambda_function.syncer
    	File: /modules/runner-binaries-syncer/runner-binaries-syncer.tf:10-54
    	Calling File: /main.tf:281-323
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-a-dead-letter-queue-dlq.html
    
    		10 | resource "aws_lambda_function" "syncer" {
    		11 |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		12 |   s3_key            = var.syncer_lambda_s3_key != null ? var.syncer_lambda_s3_key : null
    		13 |   s3_object_version = var.syncer_lambda_s3_object_version != null ? var.syncer_lambda_s3_object_version : null
    		14 |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		15 |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		16 |   function_name     = "${var.prefix}-syncer"
    		17 |   role              = aws_iam_role.syncer_lambda.arn
    		18 |   handler           = "index.handler"
    		19 |   runtime           = var.lambda_runtime
    		20 |   timeout           = var.lambda_timeout
    		21 |   memory_size       = 256
    		22 |   architectures     = [var.lambda_architecture]
    		23 | 
    		24 |   environment {
    		25 |     variables = {
    		26 |       ENVIRONMENT                 = var.prefix
    		27 |       GITHUB_RUNNER_ARCHITECTURE  = var.runner_architecture
    		28 |       GITHUB_RUNNER_OS            = local.gh_binary_os_label[var.runner_os]
    		29 |       LOG_LEVEL                   = var.log_level
    		30 |       POWERTOOLS_LOGGER_LOG_EVENT = var.log_level == "debug" ? "true" : "false"
    		31 |       S3_BUCKET_NAME              = aws_s3_bucket.action_dist.id
    		32 |       S3_OBJECT_KEY               = local.action_runner_distribution_object_key
    		33 |       S3_SSE_ALGORITHM            = try(var.server_side_encryption_configuration.rule.apply_server_side_encryption_by_default.sse_algorithm, null)
    		34 |       S3_SSE_KMS_KEY_ID           = try(var.server_side_encryption_configuration.rule.apply_server_side_encryption_by_default.kms_master_key_id, null)
    		35 |     }
    		36 |   }
    		37 | 
    		38 |   dynamic "vpc_config" {
    		39 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		40 |     content {
    		41 |       security_group_ids = var.lambda_security_group_ids
    		42 |       subnet_ids         = var.lambda_subnet_ids
    		43 |     }
    		44 |   }
    		45 | 
    		46 |   tags = var.tags
    		47 | 
    		48 |   dynamic "tracing_config" {
    		49 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		50 |     content {
    		51 |       mode = var.lambda_tracing_mode
    		52 |     }
    		53 |   }
    		54 | }
    
    Check: CKV_AWS_338: "Ensure CloudWatch log groups retains logs for at least 1 year"
    	FAILED for resource: module.runners.module.runner_binaries.aws_cloudwatch_log_group.syncer
    	File: /modules/runner-binaries-syncer/runner-binaries-syncer.tf:66-71
    	Calling File: /main.tf:281-323
    
    		66 | resource "aws_cloudwatch_log_group" "syncer" {
    		67 |   name              = "/aws/lambda/${aws_lambda_function.syncer.function_name}"
    		68 |   retention_in_days = var.logging_retention_in_days
    		69 |   kms_key_id        = var.logging_kms_key_id
    		70 |   tags              = var.tags
    		71 | }
    
    Check: CKV_AWS_272: "Ensure AWS Lambda function is configured to validate code-signing"
    	FAILED for resource: module.multi-runner.module.runner_binaries.aws_lambda_function.syncer
    	File: /modules/runner-binaries-syncer/runner-binaries-syncer.tf:10-54
    	Calling File: /modules/multi-runner/runner-binaries.tf:1-38
    
    		10 | resource "aws_lambda_function" "syncer" {
    		11 |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		12 |   s3_key            = var.syncer_lambda_s3_key != null ? var.syncer_lambda_s3_key : null
    		13 |   s3_object_version = var.syncer_lambda_s3_object_version != null ? var.syncer_lambda_s3_object_version : null
    		14 |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		15 |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		16 |   function_name     = "${var.prefix}-syncer"
    		17 |   role              = aws_iam_role.syncer_lambda.arn
    		18 |   handler           = "index.handler"
    		19 |   runtime           = var.lambda_runtime
    		20 |   timeout           = var.lambda_timeout
    		21 |   memory_size       = 256
    		22 |   architectures     = [var.lambda_architecture]
    		23 | 
    		24 |   environment {
    		25 |     variables = {
    		26 |       ENVIRONMENT                 = var.prefix
    		27 |       GITHUB_RUNNER_ARCHITECTURE  = var.runner_architecture
    		28 |       GITHUB_RUNNER_OS            = local.gh_binary_os_label[var.runner_os]
    		29 |       LOG_LEVEL                   = var.log_level
    		30 |       POWERTOOLS_LOGGER_LOG_EVENT = var.log_level == "debug" ? "true" : "false"
    		31 |       S3_BUCKET_NAME              = aws_s3_bucket.action_dist.id
    		32 |       S3_OBJECT_KEY               = local.action_runner_distribution_object_key
    		33 |       S3_SSE_ALGORITHM            = try(var.server_side_encryption_configuration.rule.apply_server_side_encryption_by_default.sse_algorithm, null)
    		34 |       S3_SSE_KMS_KEY_ID           = try(var.server_side_encryption_configuration.rule.apply_server_side_encryption_by_default.kms_master_key_id, null)
    		35 |     }
    		36 |   }
    		37 | 
    		38 |   dynamic "vpc_config" {
    		39 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		40 |     content {
    		41 |       security_group_ids = var.lambda_security_group_ids
    		42 |       subnet_ids         = var.lambda_subnet_ids
    		43 |     }
    		44 |   }
    		45 | 
    		46 |   tags = var.tags
    		47 | 
    		48 |   dynamic "tracing_config" {
    		49 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		50 |     content {
    		51 |       mode = var.lambda_tracing_mode
    		52 |     }
    		53 |   }
    		54 | }
    
    Check: CKV_AWS_173: "Check encryption settings for Lambda environmental variable"
    	FAILED for resource: module.multi-runner.module.runner_binaries.aws_lambda_function.syncer
    	File: /modules/runner-binaries-syncer/runner-binaries-syncer.tf:10-54
    	Calling File: /modules/multi-runner/runner-binaries.tf:1-38
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-serverless-policies/bc-aws-serverless-5.html
    
    		10 | resource "aws_lambda_function" "syncer" {
    		11 |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		12 |   s3_key            = var.syncer_lambda_s3_key != null ? var.syncer_lambda_s3_key : null
    		13 |   s3_object_version = var.syncer_lambda_s3_object_version != null ? var.syncer_lambda_s3_object_version : null
    		14 |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		15 |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		16 |   function_name     = "${var.prefix}-syncer"
    		17 |   role              = aws_iam_role.syncer_lambda.arn
    		18 |   handler           = "index.handler"
    		19 |   runtime           = var.lambda_runtime
    		20 |   timeout           = var.lambda_timeout
    		21 |   memory_size       = 256
    		22 |   architectures     = [var.lambda_architecture]
    		23 | 
    		24 |   environment {
    		25 |     variables = {
    		26 |       ENVIRONMENT                 = var.prefix
    		27 |       GITHUB_RUNNER_ARCHITECTURE  = var.runner_architecture
    		28 |       GITHUB_RUNNER_OS            = local.gh_binary_os_label[var.runner_os]
    		29 |       LOG_LEVEL                   = var.log_level
    		30 |       POWERTOOLS_LOGGER_LOG_EVENT = var.log_level == "debug" ? "true" : "false"
    		31 |       S3_BUCKET_NAME              = aws_s3_bucket.action_dist.id
    		32 |       S3_OBJECT_KEY               = local.action_runner_distribution_object_key
    		33 |       S3_SSE_ALGORITHM            = try(var.server_side_encryption_configuration.rule.apply_server_side_encryption_by_default.sse_algorithm, null)
    		34 |       S3_SSE_KMS_KEY_ID           = try(var.server_side_encryption_configuration.rule.apply_server_side_encryption_by_default.kms_master_key_id, null)
    		35 |     }
    		36 |   }
    		37 | 
    		38 |   dynamic "vpc_config" {
    		39 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		40 |     content {
    		41 |       security_group_ids = var.lambda_security_group_ids
    		42 |       subnet_ids         = var.lambda_subnet_ids
    		43 |     }
    		44 |   }
    		45 | 
    		46 |   tags = var.tags
    		47 | 
    		48 |   dynamic "tracing_config" {
    		49 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		50 |     content {
    		51 |       mode = var.lambda_tracing_mode
    		52 |     }
    		53 |   }
    		54 | }
    
    Check: CKV_AWS_115: "Ensure that AWS Lambda function is configured for function-level concurrent execution limit"
    	FAILED for resource: module.multi-runner.module.runner_binaries.aws_lambda_function.syncer
    	File: /modules/runner-binaries-syncer/runner-binaries-syncer.tf:10-54
    	Calling File: /modules/multi-runner/runner-binaries.tf:1-38
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-function-level-concurrent-execution-limit.html
    
    		10 | resource "aws_lambda_function" "syncer" {
    		11 |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		12 |   s3_key            = var.syncer_lambda_s3_key != null ? var.syncer_lambda_s3_key : null
    		13 |   s3_object_version = var.syncer_lambda_s3_object_version != null ? var.syncer_lambda_s3_object_version : null
    		14 |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		15 |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		16 |   function_name     = "${var.prefix}-syncer"
    		17 |   role              = aws_iam_role.syncer_lambda.arn
    		18 |   handler           = "index.handler"
    		19 |   runtime           = var.lambda_runtime
    		20 |   timeout           = var.lambda_timeout
    		21 |   memory_size       = 256
    		22 |   architectures     = [var.lambda_architecture]
    		23 | 
    		24 |   environment {
    		25 |     variables = {
    		26 |       ENVIRONMENT                 = var.prefix
    		27 |       GITHUB_RUNNER_ARCHITECTURE  = var.runner_architecture
    		28 |       GITHUB_RUNNER_OS            = local.gh_binary_os_label[var.runner_os]
    		29 |       LOG_LEVEL                   = var.log_level
    		30 |       POWERTOOLS_LOGGER_LOG_EVENT = var.log_level == "debug" ? "true" : "false"
    		31 |       S3_BUCKET_NAME              = aws_s3_bucket.action_dist.id
    		32 |       S3_OBJECT_KEY               = local.action_runner_distribution_object_key
    		33 |       S3_SSE_ALGORITHM            = try(var.server_side_encryption_configuration.rule.apply_server_side_encryption_by_default.sse_algorithm, null)
    		34 |       S3_SSE_KMS_KEY_ID           = try(var.server_side_encryption_configuration.rule.apply_server_side_encryption_by_default.kms_master_key_id, null)
    		35 |     }
    		36 |   }
    		37 | 
    		38 |   dynamic "vpc_config" {
    		39 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		40 |     content {
    		41 |       security_group_ids = var.lambda_security_group_ids
    		42 |       subnet_ids         = var.lambda_subnet_ids
    		43 |     }
    		44 |   }
    		45 | 
    		46 |   tags = var.tags
    		47 | 
    		48 |   dynamic "tracing_config" {
    		49 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		50 |     content {
    		51 |       mode = var.lambda_tracing_mode
    		52 |     }
    		53 |   }
    		54 | }
    
    Check: CKV_AWS_116: "Ensure that AWS Lambda function is configured for a Dead Letter Queue(DLQ)"
    	FAILED for resource: module.multi-runner.module.runner_binaries.aws_lambda_function.syncer
    	File: /modules/runner-binaries-syncer/runner-binaries-syncer.tf:10-54
    	Calling File: /modules/multi-runner/runner-binaries.tf:1-38
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-a-dead-letter-queue-dlq.html
    
    		10 | resource "aws_lambda_function" "syncer" {
    		11 |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		12 |   s3_key            = var.syncer_lambda_s3_key != null ? var.syncer_lambda_s3_key : null
    		13 |   s3_object_version = var.syncer_lambda_s3_object_version != null ? var.syncer_lambda_s3_object_version : null
    		14 |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		15 |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		16 |   function_name     = "${var.prefix}-syncer"
    		17 |   role              = aws_iam_role.syncer_lambda.arn
    		18 |   handler           = "index.handler"
    		19 |   runtime           = var.lambda_runtime
    		20 |   timeout           = var.lambda_timeout
    		21 |   memory_size       = 256
    		22 |   architectures     = [var.lambda_architecture]
    		23 | 
    		24 |   environment {
    		25 |     variables = {
    		26 |       ENVIRONMENT                 = var.prefix
    		27 |       GITHUB_RUNNER_ARCHITECTURE  = var.runner_architecture
    		28 |       GITHUB_RUNNER_OS            = local.gh_binary_os_label[var.runner_os]
    		29 |       LOG_LEVEL                   = var.log_level
    		30 |       POWERTOOLS_LOGGER_LOG_EVENT = var.log_level == "debug" ? "true" : "false"
    		31 |       S3_BUCKET_NAME              = aws_s3_bucket.action_dist.id
    		32 |       S3_OBJECT_KEY               = local.action_runner_distribution_object_key
    		33 |       S3_SSE_ALGORITHM            = try(var.server_side_encryption_configuration.rule.apply_server_side_encryption_by_default.sse_algorithm, null)
    		34 |       S3_SSE_KMS_KEY_ID           = try(var.server_side_encryption_configuration.rule.apply_server_side_encryption_by_default.kms_master_key_id, null)
    		35 |     }
    		36 |   }
    		37 | 
    		38 |   dynamic "vpc_config" {
    		39 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		40 |     content {
    		41 |       security_group_ids = var.lambda_security_group_ids
    		42 |       subnet_ids         = var.lambda_subnet_ids
    		43 |     }
    		44 |   }
    		45 | 
    		46 |   tags = var.tags
    		47 | 
    		48 |   dynamic "tracing_config" {
    		49 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		50 |     content {
    		51 |       mode = var.lambda_tracing_mode
    		52 |     }
    		53 |   }
    		54 | }
    
    Check: CKV_AWS_338: "Ensure CloudWatch log groups retains logs for at least 1 year"
    	FAILED for resource: module.multi-runner.module.runner_binaries.aws_cloudwatch_log_group.syncer
    	File: /modules/runner-binaries-syncer/runner-binaries-syncer.tf:66-71
    	Calling File: /modules/multi-runner/runner-binaries.tf:1-38
    
    		66 | resource "aws_cloudwatch_log_group" "syncer" {
    		67 |   name              = "/aws/lambda/${aws_lambda_function.syncer.function_name}"
    		68 |   retention_in_days = var.logging_retention_in_days
    		69 |   kms_key_id        = var.logging_kms_key_id
    		70 |   tags              = var.tags
    		71 | }
    
    Check: CKV_AWS_337: "Ensure SSM parameters are using KMS CMK"
    	FAILED for resource: module.runners.module.runners.aws_ssm_parameter.cloudwatch_agent_config_runner[0]
    	File: /modules/runners/logging.tf:43-51
    	Calling File: /main.tf:172-279
    
    		43 | resource "aws_ssm_parameter" "cloudwatch_agent_config_runner" {
    		44 |   count = var.enable_cloudwatch_agent ? 1 : 0
    		45 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/cloudwatch_agent_config_runner"
    		46 |   type  = "String"
    		47 |   value = var.cloudwatch_config != null ? var.cloudwatch_config : templatefile("${path.module}/templates/cloudwatch_config.json", {
    		48 |     logfiles = jsonencode(local.logfiles)
    		49 |   })
    		50 |   tags = local.tags
    		51 | }
    
    Check: CKV_AWS_338: "Ensure CloudWatch log groups retains logs for at least 1 year"
    	FAILED for resource: module.runners.module.runners.aws_cloudwatch_log_group.gh_runners
    	File: /modules/runners/logging.tf:53-59
    	Calling File: /main.tf:172-279
    
    		53 | resource "aws_cloudwatch_log_group" "gh_runners" {
    		54 |   count             = length(local.loggroups_names)
    		55 |   name              = local.loggroups_names[count.index]
    		56 |   retention_in_days = var.logging_retention_in_days
    		57 |   kms_key_id        = var.logging_kms_key_id
    		58 |   tags              = local.tags
    		59 | }
    
    Check: CKV_AWS_337: "Ensure SSM parameters are using KMS CMK"
    	FAILED for resource: module.multi-runner.module.runners.aws_ssm_parameter.cloudwatch_agent_config_runner
    	File: /modules/runners/logging.tf:43-51
    	Calling File: /modules/multi-runner/runners.tf:1-106
    
    		43 | resource "aws_ssm_parameter" "cloudwatch_agent_config_runner" {
    		44 |   count = var.enable_cloudwatch_agent ? 1 : 0
    		45 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/cloudwatch_agent_config_runner"
    		46 |   type  = "String"
    		47 |   value = var.cloudwatch_config != null ? var.cloudwatch_config : templatefile("${path.module}/templates/cloudwatch_config.json", {
    		48 |     logfiles = jsonencode(local.logfiles)
    		49 |   })
    		50 |   tags = local.tags
    		51 | }
    
    Check: CKV_AWS_338: "Ensure CloudWatch log groups retains logs for at least 1 year"
    	FAILED for resource: module.multi-runner.module.runners.aws_cloudwatch_log_group.gh_runners
    	File: /modules/runners/logging.tf:53-59
    	Calling File: /modules/multi-runner/runners.tf:1-106
    
    		53 | resource "aws_cloudwatch_log_group" "gh_runners" {
    		54 |   count             = length(local.loggroups_names)
    		55 |   name              = local.loggroups_names[count.index]
    		56 |   retention_in_days = var.logging_retention_in_days
    		57 |   kms_key_id        = var.logging_kms_key_id
    		58 |   tags              = local.tags
    		59 | }
    
    Check: CKV_AWS_79: "Ensure Instance Metadata Service Version 1 is not enabled"
    	FAILED for resource: module.runners.module.runners.aws_launch_template.runner
    	File: /modules/runners/main.tf:62-179
    	Calling File: /main.tf:172-279
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/bc-aws-general-31.html
    
    		Code lines for this resource are too many. Please use IDE of your choice to review the file.
    Check: CKV_AWS_79: "Ensure Instance Metadata Service Version 1 is not enabled"
    	FAILED for resource: module.multi-runner.module.runners.aws_launch_template.runner
    	File: /modules/runners/main.tf:62-179
    	Calling File: /modules/multi-runner/runners.tf:1-106
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/bc-aws-general-31.html
    
    		Code lines for this resource are too many. Please use IDE of your choice to review the file.
    Check: CKV_AWS_272: "Ensure AWS Lambda function is configured to validate code-signing"
    	FAILED for resource: module.runners.module.runners.module.pool.aws_lambda_function.pool
    	File: /modules/runners/pool/main.tf:1-62
    	Calling File: /modules/runners/pool.tf:1-61
    
    		Code lines for this resource are too many. Please use IDE of your choice to review the file.
    Check: CKV_AWS_173: "Check encryption settings for Lambda environmental variable"
    	FAILED for resource: module.runners.module.runners.module.pool.aws_lambda_function.pool
    	File: /modules/runners/pool/main.tf:1-62
    	Calling File: /modules/runners/pool.tf:1-61
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-serverless-policies/bc-aws-serverless-5.html
    
    		Code lines for this resource are too many. Please use IDE of your choice to review the file.
    Check: CKV_AWS_116: "Ensure that AWS Lambda function is configured for a Dead Letter Queue(DLQ)"
    	FAILED for resource: module.runners.module.runners.module.pool.aws_lambda_function.pool
    	File: /modules/runners/pool/main.tf:1-62
    	Calling File: /modules/runners/pool.tf:1-61
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-a-dead-letter-queue-dlq.html
    
    		Code lines for this resource are too many. Please use IDE of your choice to review the file.
    Check: CKV_AWS_338: "Ensure CloudWatch log groups retains logs for at least 1 year"
    	FAILED for resource: module.runners.module.runners.module.pool.aws_cloudwatch_log_group.pool
    	File: /modules/runners/pool/main.tf:64-69
    	Calling File: /modules/runners/pool.tf:1-61
    
    		64 | resource "aws_cloudwatch_log_group" "pool" {
    		65 |   name              = "/aws/lambda/${aws_lambda_function.pool.function_name}"
    		66 |   retention_in_days = var.config.lambda.logging_retention_in_days
    		67 |   kms_key_id        = var.config.lambda.logging_kms_key_id
    		68 |   tags              = var.config.tags
    		69 | }
    
    Check: CKV_AWS_272: "Ensure AWS Lambda function is configured to validate code-signing"
    	FAILED for resource: module.multi-runner.module.runners.module.pool.aws_lambda_function.pool
    	File: /modules/runners/pool/main.tf:1-62
    	Calling File: /modules/runners/pool.tf:1-61
    
    		Code lines for this resource are too many. Please use IDE of your choice to review the file.
    Check: CKV_AWS_173: "Check encryption settings for Lambda environmental variable"
    	FAILED for resource: module.multi-runner.module.runners.module.pool.aws_lambda_function.pool
    	File: /modules/runners/pool/main.tf:1-62
    	Calling File: /modules/runners/pool.tf:1-61
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-serverless-policies/bc-aws-serverless-5.html
    
    		Code lines for this resource are too many. Please use IDE of your choice to review the file.
    Check: CKV_AWS_116: "Ensure that AWS Lambda function is configured for a Dead Letter Queue(DLQ)"
    	FAILED for resource: module.multi-runner.module.runners.module.pool.aws_lambda_function.pool
    	File: /modules/runners/pool/main.tf:1-62
    	Calling File: /modules/runners/pool.tf:1-61
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-a-dead-letter-queue-dlq.html
    
    		Code lines for this resource are too many. Please use IDE of your choice to review the file.
    Check: CKV_AWS_337: "Ensure SSM parameters are using KMS CMK"
    	FAILED for resource: module.runners.module.runners.aws_ssm_parameter.runner_config_run_as
    	File: /modules/runners/runner-config.tf:1-6
    	Calling File: /main.tf:172-279
    
    		1 | resource "aws_ssm_parameter" "runner_config_run_as" {
    		2 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/run_as"
    		3 |   type  = "String"
    		4 |   value = var.runner_as_root ? "root" : var.runner_run_as
    		5 |   tags  = local.tags
    		6 | }
    
    Check: CKV_AWS_337: "Ensure SSM parameters are using KMS CMK"
    	FAILED for resource: module.runners.module.runners.aws_ssm_parameter.runner_agent_mode
    	File: /modules/runners/runner-config.tf:8-13
    	Calling File: /main.tf:172-279
    
    		8  | resource "aws_ssm_parameter" "runner_agent_mode" {
    		9  |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/agent_mode"
    		10 |   type  = "String"
    		11 |   value = var.enable_ephemeral_runners ? "ephemeral" : "persistent"
    		12 |   tags  = local.tags
    		13 | }
    
    Check: CKV_AWS_337: "Ensure SSM parameters are using KMS CMK"
    	FAILED for resource: module.runners.module.runners.aws_ssm_parameter.jit_config_enabled
    	File: /modules/runners/runner-config.tf:15-20
    	Calling File: /main.tf:172-279
    
    		15 | resource "aws_ssm_parameter" "jit_config_enabled" {
    		16 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/enable_jit_config"
    		17 |   type  = "String"
    		18 |   value = var.enable_jit_config == null ? var.enable_ephemeral_runners : var.enable_jit_config
    		19 |   tags  = local.tags
    		20 | }
    
    Check: CKV_AWS_337: "Ensure SSM parameters are using KMS CMK"
    	FAILED for resource: module.runners.module.runners.aws_ssm_parameter.runner_enable_cloudwatch
    	File: /modules/runners/runner-config.tf:22-27
    	Calling File: /main.tf:172-279
    
    		22 | resource "aws_ssm_parameter" "runner_enable_cloudwatch" {
    		23 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/enable_cloudwatch"
    		24 |   type  = "String"
    		25 |   value = var.enable_cloudwatch_agent
    		26 |   tags  = local.tags
    		27 | }
    
    Check: CKV_AWS_337: "Ensure SSM parameters are using KMS CMK"
    	FAILED for resource: module.runners.module.runners.aws_ssm_parameter.token_path
    	File: /modules/runners/runner-config.tf:29-34
    	Calling File: /main.tf:172-279
    
    		29 | resource "aws_ssm_parameter" "token_path" {
    		30 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/token_path"
    		31 |   type  = "String"
    		32 |   value = "${var.ssm_paths.root}/${var.ssm_paths.tokens}"
    		33 |   tags  = local.tags
    		34 | }
    
    Check: CKV_AWS_337: "Ensure SSM parameters are using KMS CMK"
    	FAILED for resource: module.multi-runner.module.runners.aws_ssm_parameter.runner_config_run_as
    	File: /modules/runners/runner-config.tf:1-6
    	Calling File: /modules/multi-runner/runners.tf:1-106
    
    		1 | resource "aws_ssm_parameter" "runner_config_run_as" {
    		2 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/run_as"
    		3 |   type  = "String"
    		4 |   value = var.runner_as_root ? "root" : var.runner_run_as
    		5 |   tags  = local.tags
    		6 | }
    
    Check: CKV_AWS_337: "Ensure SSM parameters are using KMS CMK"
    	FAILED for resource: module.multi-runner.module.runners.aws_ssm_parameter.runner_agent_mode
    	File: /modules/runners/runner-config.tf:8-13
    	Calling File: /modules/multi-runner/runners.tf:1-106
    
    		8  | resource "aws_ssm_parameter" "runner_agent_mode" {
    		9  |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/agent_mode"
    		10 |   type  = "String"
    		11 |   value = var.enable_ephemeral_runners ? "ephemeral" : "persistent"
    		12 |   tags  = local.tags
    		13 | }
    
    Check: CKV_AWS_337: "Ensure SSM parameters are using KMS CMK"
    	FAILED for resource: module.multi-runner.module.runners.aws_ssm_parameter.jit_config_enabled
    	File: /modules/runners/runner-config.tf:15-20
    	Calling File: /modules/multi-runner/runners.tf:1-106
    
    		15 | resource "aws_ssm_parameter" "jit_config_enabled" {
    		16 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/enable_jit_config"
    		17 |   type  = "String"
    		18 |   value = var.enable_jit_config == null ? var.enable_ephemeral_runners : var.enable_jit_config
    		19 |   tags  = local.tags
    		20 | }
    
    Check: CKV_AWS_337: "Ensure SSM parameters are using KMS CMK"
    	FAILED for resource: module.multi-runner.module.runners.aws_ssm_parameter.runner_enable_cloudwatch
    	File: /modules/runners/runner-config.tf:22-27
    	Calling File: /modules/multi-runner/runners.tf:1-106
    
    		22 | resource "aws_ssm_parameter" "runner_enable_cloudwatch" {
    		23 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/enable_cloudwatch"
    		24 |   type  = "String"
    		25 |   value = var.enable_cloudwatch_agent
    		26 |   tags  = local.tags
    		27 | }
    
    Check: CKV_AWS_337: "Ensure SSM parameters are using KMS CMK"
    	FAILED for resource: module.multi-runner.module.runners.aws_ssm_parameter.token_path
    	File: /modules/runners/runner-config.tf:29-34
    	Calling File: /modules/multi-runner/runners.tf:1-106
    
    		29 | resource "aws_ssm_parameter" "token_path" {
    		30 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/token_path"
    		31 |   type  = "String"
    		32 |   value = "${var.ssm_paths.root}/${var.ssm_paths.tokens}"
    		33 |   tags  = local.tags
    		34 | }
    
    Check: CKV_AWS_272: "Ensure AWS Lambda function is configured to validate code-signing"
    	FAILED for resource: module.runners.module.runners.aws_lambda_function.scale_down
    	File: /modules/runners/scale-down.tf:8-53
    	Calling File: /main.tf:172-279
    
    		8  | resource "aws_lambda_function" "scale_down" {
    		9  |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		10 |   s3_key            = var.runners_lambda_s3_key != null ? var.runners_lambda_s3_key : null
    		11 |   s3_object_version = var.runners_lambda_s3_object_version != null ? var.runners_lambda_s3_object_version : null
    		12 |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		13 |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		14 |   function_name     = "${var.prefix}-scale-down"
    		15 |   role              = aws_iam_role.scale_down.arn
    		16 |   handler           = "index.scaleDownHandler"
    		17 |   runtime           = var.lambda_runtime
    		18 |   timeout           = var.lambda_timeout_scale_down
    		19 |   tags              = local.tags
    		20 |   memory_size       = 512
    		21 |   architectures     = [var.lambda_architecture]
    		22 | 
    		23 |   environment {
    		24 |     variables = {
    		25 |       ENVIRONMENT                          = var.prefix
    		26 |       GHES_URL                             = var.ghes_url
    		27 |       LOG_LEVEL                            = var.log_level
    		28 |       MINIMUM_RUNNING_TIME_IN_MINUTES      = coalesce(var.minimum_running_time_in_minutes, local.min_runtime_defaults[var.runner_os])
    		29 |       NODE_TLS_REJECT_UNAUTHORIZED         = var.ghes_url != null && !var.ghes_ssl_verify ? 0 : 1
    		30 |       PARAMETER_GITHUB_APP_ID_NAME         = var.github_app_parameters.id.name
    		31 |       PARAMETER_GITHUB_APP_KEY_BASE64_NAME = var.github_app_parameters.key_base64.name
    		32 |       POWERTOOLS_LOGGER_LOG_EVENT          = var.log_level == "debug" ? "true" : "false"
    		33 |       RUNNER_BOOT_TIME_IN_MINUTES          = var.runner_boot_time_in_minutes
    		34 |       SCALE_DOWN_CONFIG                    = jsonencode(var.idle_config)
    		35 |       SERVICE_NAME                         = "runners-scale-down"
    		36 |     }
    		37 |   }
    		38 | 
    		39 |   dynamic "vpc_config" {
    		40 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		41 |     content {
    		42 |       security_group_ids = var.lambda_security_group_ids
    		43 |       subnet_ids         = var.lambda_subnet_ids
    		44 |     }
    		45 |   }
    		46 | 
    		47 |   dynamic "tracing_config" {
    		48 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		49 |     content {
    		50 |       mode = var.lambda_tracing_mode
    		51 |     }
    		52 |   }
    		53 | }
    
    Check: CKV_AWS_173: "Check encryption settings for Lambda environmental variable"
    	FAILED for resource: module.runners.module.runners.aws_lambda_function.scale_down
    	File: /modules/runners/scale-down.tf:8-53
    	Calling File: /main.tf:172-279
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-serverless-policies/bc-aws-serverless-5.html
    
    		8  | resource "aws_lambda_function" "scale_down" {
    		9  |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		10 |   s3_key            = var.runners_lambda_s3_key != null ? var.runners_lambda_s3_key : null
    		11 |   s3_object_version = var.runners_lambda_s3_object_version != null ? var.runners_lambda_s3_object_version : null
    		12 |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		13 |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		14 |   function_name     = "${var.prefix}-scale-down"
    		15 |   role              = aws_iam_role.scale_down.arn
    		16 |   handler           = "index.scaleDownHandler"
    		17 |   runtime           = var.lambda_runtime
    		18 |   timeout           = var.lambda_timeout_scale_down
    		19 |   tags              = local.tags
    		20 |   memory_size       = 512
    		21 |   architectures     = [var.lambda_architecture]
    		22 | 
    		23 |   environment {
    		24 |     variables = {
    		25 |       ENVIRONMENT                          = var.prefix
    		26 |       GHES_URL                             = var.ghes_url
    		27 |       LOG_LEVEL                            = var.log_level
    		28 |       MINIMUM_RUNNING_TIME_IN_MINUTES      = coalesce(var.minimum_running_time_in_minutes, local.min_runtime_defaults[var.runner_os])
    		29 |       NODE_TLS_REJECT_UNAUTHORIZED         = var.ghes_url != null && !var.ghes_ssl_verify ? 0 : 1
    		30 |       PARAMETER_GITHUB_APP_ID_NAME         = var.github_app_parameters.id.name
    		31 |       PARAMETER_GITHUB_APP_KEY_BASE64_NAME = var.github_app_parameters.key_base64.name
    		32 |       POWERTOOLS_LOGGER_LOG_EVENT          = var.log_level == "debug" ? "true" : "false"
    		33 |       RUNNER_BOOT_TIME_IN_MINUTES          = var.runner_boot_time_in_minutes
    		34 |       SCALE_DOWN_CONFIG                    = jsonencode(var.idle_config)
    		35 |       SERVICE_NAME                         = "runners-scale-down"
    		36 |     }
    		37 |   }
    		38 | 
    		39 |   dynamic "vpc_config" {
    		40 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		41 |     content {
    		42 |       security_group_ids = var.lambda_security_group_ids
    		43 |       subnet_ids         = var.lambda_subnet_ids
    		44 |     }
    		45 |   }
    		46 | 
    		47 |   dynamic "tracing_config" {
    		48 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		49 |     content {
    		50 |       mode = var.lambda_tracing_mode
    		51 |     }
    		52 |   }
    		53 | }
    
    Check: CKV_AWS_115: "Ensure that AWS Lambda function is configured for function-level concurrent execution limit"
    	FAILED for resource: module.runners.module.runners.aws_lambda_function.scale_down
    	File: /modules/runners/scale-down.tf:8-53
    	Calling File: /main.tf:172-279
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-function-level-concurrent-execution-limit.html
    
    		8  | resource "aws_lambda_function" "scale_down" {
    		9  |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		10 |   s3_key            = var.runners_lambda_s3_key != null ? var.runners_lambda_s3_key : null
    		11 |   s3_object_version = var.runners_lambda_s3_object_version != null ? var.runners_lambda_s3_object_version : null
    		12 |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		13 |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		14 |   function_name     = "${var.prefix}-scale-down"
    		15 |   role              = aws_iam_role.scale_down.arn
    		16 |   handler           = "index.scaleDownHandler"
    		17 |   runtime           = var.lambda_runtime
    		18 |   timeout           = var.lambda_timeout_scale_down
    		19 |   tags              = local.tags
    		20 |   memory_size       = 512
    		21 |   architectures     = [var.lambda_architecture]
    		22 | 
    		23 |   environment {
    		24 |     variables = {
    		25 |       ENVIRONMENT                          = var.prefix
    		26 |       GHES_URL                             = var.ghes_url
    		27 |       LOG_LEVEL                            = var.log_level
    		28 |       MINIMUM_RUNNING_TIME_IN_MINUTES      = coalesce(var.minimum_running_time_in_minutes, local.min_runtime_defaults[var.runner_os])
    		29 |       NODE_TLS_REJECT_UNAUTHORIZED         = var.ghes_url != null && !var.ghes_ssl_verify ? 0 : 1
    		30 |       PARAMETER_GITHUB_APP_ID_NAME         = var.github_app_parameters.id.name
    		31 |       PARAMETER_GITHUB_APP_KEY_BASE64_NAME = var.github_app_parameters.key_base64.name
    		32 |       POWERTOOLS_LOGGER_LOG_EVENT          = var.log_level == "debug" ? "true" : "false"
    		33 |       RUNNER_BOOT_TIME_IN_MINUTES          = var.runner_boot_time_in_minutes
    		34 |       SCALE_DOWN_CONFIG                    = jsonencode(var.idle_config)
    		35 |       SERVICE_NAME                         = "runners-scale-down"
    		36 |     }
    		37 |   }
    		38 | 
    		39 |   dynamic "vpc_config" {
    		40 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		41 |     content {
    		42 |       security_group_ids = var.lambda_security_group_ids
    		43 |       subnet_ids         = var.lambda_subnet_ids
    		44 |     }
    		45 |   }
    		46 | 
    		47 |   dynamic "tracing_config" {
    		48 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		49 |     content {
    		50 |       mode = var.lambda_tracing_mode
    		51 |     }
    		52 |   }
    		53 | }
    
    Check: CKV_AWS_116: "Ensure that AWS Lambda function is configured for a Dead Letter Queue(DLQ)"
    	FAILED for resource: module.runners.module.runners.aws_lambda_function.scale_down
    	File: /modules/runners/scale-down.tf:8-53
    	Calling File: /main.tf:172-279
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-a-dead-letter-queue-dlq.html
    
    		8  | resource "aws_lambda_function" "scale_down" {
    		9  |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		10 |   s3_key            = var.runners_lambda_s3_key != null ? var.runners_lambda_s3_key : null
    		11 |   s3_object_version = var.runners_lambda_s3_object_version != null ? var.runners_lambda_s3_object_version : null
    		12 |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		13 |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		14 |   function_name     = "${var.prefix}-scale-down"
    		15 |   role              = aws_iam_role.scale_down.arn
    		16 |   handler           = "index.scaleDownHandler"
    		17 |   runtime           = var.lambda_runtime
    		18 |   timeout           = var.lambda_timeout_scale_down
    		19 |   tags              = local.tags
    		20 |   memory_size       = 512
    		21 |   architectures     = [var.lambda_architecture]
    		22 | 
    		23 |   environment {
    		24 |     variables = {
    		25 |       ENVIRONMENT                          = var.prefix
    		26 |       GHES_URL                             = var.ghes_url
    		27 |       LOG_LEVEL                            = var.log_level
    		28 |       MINIMUM_RUNNING_TIME_IN_MINUTES      = coalesce(var.minimum_running_time_in_minutes, local.min_runtime_defaults[var.runner_os])
    		29 |       NODE_TLS_REJECT_UNAUTHORIZED         = var.ghes_url != null && !var.ghes_ssl_verify ? 0 : 1
    		30 |       PARAMETER_GITHUB_APP_ID_NAME         = var.github_app_parameters.id.name
    		31 |       PARAMETER_GITHUB_APP_KEY_BASE64_NAME = var.github_app_parameters.key_base64.name
    		32 |       POWERTOOLS_LOGGER_LOG_EVENT          = var.log_level == "debug" ? "true" : "false"
    		33 |       RUNNER_BOOT_TIME_IN_MINUTES          = var.runner_boot_time_in_minutes
    		34 |       SCALE_DOWN_CONFIG                    = jsonencode(var.idle_config)
    		35 |       SERVICE_NAME                         = "runners-scale-down"
    		36 |     }
    		37 |   }
    		38 | 
    		39 |   dynamic "vpc_config" {
    		40 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		41 |     content {
    		42 |       security_group_ids = var.lambda_security_group_ids
    		43 |       subnet_ids         = var.lambda_subnet_ids
    		44 |     }
    		45 |   }
    		46 | 
    		47 |   dynamic "tracing_config" {
    		48 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		49 |     content {
    		50 |       mode = var.lambda_tracing_mode
    		51 |     }
    		52 |   }
    		53 | }
    
    Check: CKV_AWS_338: "Ensure CloudWatch log groups retains logs for at least 1 year"
    	FAILED for resource: module.runners.module.runners.aws_cloudwatch_log_group.scale_down
    	File: /modules/runners/scale-down.tf:55-60
    	Calling File: /main.tf:172-279
    
    		55 | resource "aws_cloudwatch_log_group" "scale_down" {
    		56 |   name              = "/aws/lambda/${aws_lambda_function.scale_down.function_name}"
    		57 |   retention_in_days = var.logging_retention_in_days
    		58 |   kms_key_id        = var.logging_kms_key_id
    		59 |   tags              = var.tags
    		60 | }
    
    Check: CKV_AWS_272: "Ensure AWS Lambda function is configured to validate code-signing"
    	FAILED for resource: module.multi-runner.module.runners.aws_lambda_function.scale_down
    	File: /modules/runners/scale-down.tf:8-53
    	Calling File: /modules/multi-runner/runners.tf:1-106
    
    		8  | resource "aws_lambda_function" "scale_down" {
    		9  |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		10 |   s3_key            = var.runners_lambda_s3_key != null ? var.runners_lambda_s3_key : null
    		11 |   s3_object_version = var.runners_lambda_s3_object_version != null ? var.runners_lambda_s3_object_version : null
    		12 |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		13 |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		14 |   function_name     = "${var.prefix}-scale-down"
    		15 |   role              = aws_iam_role.scale_down.arn
    		16 |   handler           = "index.scaleDownHandler"
    		17 |   runtime           = var.lambda_runtime
    		18 |   timeout           = var.lambda_timeout_scale_down
    		19 |   tags              = local.tags
    		20 |   memory_size       = 512
    		21 |   architectures     = [var.lambda_architecture]
    		22 | 
    		23 |   environment {
    		24 |     variables = {
    		25 |       ENVIRONMENT                          = var.prefix
    		26 |       GHES_URL                             = var.ghes_url
    		27 |       LOG_LEVEL                            = var.log_level
    		28 |       MINIMUM_RUNNING_TIME_IN_MINUTES      = coalesce(var.minimum_running_time_in_minutes, local.min_runtime_defaults[var.runner_os])
    		29 |       NODE_TLS_REJECT_UNAUTHORIZED         = var.ghes_url != null && !var.ghes_ssl_verify ? 0 : 1
    		30 |       PARAMETER_GITHUB_APP_ID_NAME         = var.github_app_parameters.id.name
    		31 |       PARAMETER_GITHUB_APP_KEY_BASE64_NAME = var.github_app_parameters.key_base64.name
    		32 |       POWERTOOLS_LOGGER_LOG_EVENT          = var.log_level == "debug" ? "true" : "false"
    		33 |       RUNNER_BOOT_TIME_IN_MINUTES          = var.runner_boot_time_in_minutes
    		34 |       SCALE_DOWN_CONFIG                    = jsonencode(var.idle_config)
    		35 |       SERVICE_NAME                         = "runners-scale-down"
    		36 |     }
    		37 |   }
    		38 | 
    		39 |   dynamic "vpc_config" {
    		40 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		41 |     content {
    		42 |       security_group_ids = var.lambda_security_group_ids
    		43 |       subnet_ids         = var.lambda_subnet_ids
    		44 |     }
    		45 |   }
    		46 | 
    		47 |   dynamic "tracing_config" {
    		48 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		49 |     content {
    		50 |       mode = var.lambda_tracing_mode
    		51 |     }
    		52 |   }
    		53 | }
    
    Check: CKV_AWS_173: "Check encryption settings for Lambda environmental variable"
    	FAILED for resource: module.multi-runner.module.runners.aws_lambda_function.scale_down
    	File: /modules/runners/scale-down.tf:8-53
    	Calling File: /modules/multi-runner/runners.tf:1-106
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-serverless-policies/bc-aws-serverless-5.html
    
    		8  | resource "aws_lambda_function" "scale_down" {
    		9  |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		10 |   s3_key            = var.runners_lambda_s3_key != null ? var.runners_lambda_s3_key : null
    		11 |   s3_object_version = var.runners_lambda_s3_object_version != null ? var.runners_lambda_s3_object_version : null
    		12 |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		13 |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		14 |   function_name     = "${var.prefix}-scale-down"
    		15 |   role              = aws_iam_role.scale_down.arn
    		16 |   handler           = "index.scaleDownHandler"
    		17 |   runtime           = var.lambda_runtime
    		18 |   timeout           = var.lambda_timeout_scale_down
    		19 |   tags              = local.tags
    		20 |   memory_size       = 512
    		21 |   architectures     = [var.lambda_architecture]
    		22 | 
    		23 |   environment {
    		24 |     variables = {
    		25 |       ENVIRONMENT                          = var.prefix
    		26 |       GHES_URL                             = var.ghes_url
    		27 |       LOG_LEVEL                            = var.log_level
    		28 |       MINIMUM_RUNNING_TIME_IN_MINUTES      = coalesce(var.minimum_running_time_in_minutes, local.min_runtime_defaults[var.runner_os])
    		29 |       NODE_TLS_REJECT_UNAUTHORIZED         = var.ghes_url != null && !var.ghes_ssl_verify ? 0 : 1
    		30 |       PARAMETER_GITHUB_APP_ID_NAME         = var.github_app_parameters.id.name
    		31 |       PARAMETER_GITHUB_APP_KEY_BASE64_NAME = var.github_app_parameters.key_base64.name
    		32 |       POWERTOOLS_LOGGER_LOG_EVENT          = var.log_level == "debug" ? "true" : "false"
    		33 |       RUNNER_BOOT_TIME_IN_MINUTES          = var.runner_boot_time_in_minutes
    		34 |       SCALE_DOWN_CONFIG                    = jsonencode(var.idle_config)
    		35 |       SERVICE_NAME                         = "runners-scale-down"
    		36 |     }
    		37 |   }
    		38 | 
    		39 |   dynamic "vpc_config" {
    		40 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		41 |     content {
    		42 |       security_group_ids = var.lambda_security_group_ids
    		43 |       subnet_ids         = var.lambda_subnet_ids
    		44 |     }
    		45 |   }
    		46 | 
    		47 |   dynamic "tracing_config" {
    		48 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		49 |     content {
    		50 |       mode = var.lambda_tracing_mode
    		51 |     }
    		52 |   }
    		53 | }
    
    Check: CKV_AWS_115: "Ensure that AWS Lambda function is configured for function-level concurrent execution limit"
    	FAILED for resource: module.multi-runner.module.runners.aws_lambda_function.scale_down
    	File: /modules/runners/scale-down.tf:8-53
    	Calling File: /modules/multi-runner/runners.tf:1-106
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-function-level-concurrent-execution-limit.html
    
    		8  | resource "aws_lambda_function" "scale_down" {
    		9  |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		10 |   s3_key            = var.runners_lambda_s3_key != null ? var.runners_lambda_s3_key : null
    		11 |   s3_object_version = var.runners_lambda_s3_object_version != null ? var.runners_lambda_s3_object_version : null
    		12 |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		13 |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		14 |   function_name     = "${var.prefix}-scale-down"
    		15 |   role              = aws_iam_role.scale_down.arn
    		16 |   handler           = "index.scaleDownHandler"
    		17 |   runtime           = var.lambda_runtime
    		18 |   timeout           = var.lambda_timeout_scale_down
    		19 |   tags              = local.tags
    		20 |   memory_size       = 512
    		21 |   architectures     = [var.lambda_architecture]
    		22 | 
    		23 |   environment {
    		24 |     variables = {
    		25 |       ENVIRONMENT                          = var.prefix
    		26 |       GHES_URL                             = var.ghes_url
    		27 |       LOG_LEVEL                            = var.log_level
    		28 |       MINIMUM_RUNNING_TIME_IN_MINUTES      = coalesce(var.minimum_running_time_in_minutes, local.min_runtime_defaults[var.runner_os])
    		29 |       NODE_TLS_REJECT_UNAUTHORIZED         = var.ghes_url != null && !var.ghes_ssl_verify ? 0 : 1
    		30 |       PARAMETER_GITHUB_APP_ID_NAME         = var.github_app_parameters.id.name
    		31 |       PARAMETER_GITHUB_APP_KEY_BASE64_NAME = var.github_app_parameters.key_base64.name
    		32 |       POWERTOOLS_LOGGER_LOG_EVENT          = var.log_level == "debug" ? "true" : "false"
    		33 |       RUNNER_BOOT_TIME_IN_MINUTES          = var.runner_boot_time_in_minutes
    		34 |       SCALE_DOWN_CONFIG                    = jsonencode(var.idle_config)
    		35 |       SERVICE_NAME                         = "runners-scale-down"
    		36 |     }
    		37 |   }
    		38 | 
    		39 |   dynamic "vpc_config" {
    		40 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		41 |     content {
    		42 |       security_group_ids = var.lambda_security_group_ids
    		43 |       subnet_ids         = var.lambda_subnet_ids
    		44 |     }
    		45 |   }
    		46 | 
    		47 |   dynamic "tracing_config" {
    		48 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		49 |     content {
    		50 |       mode = var.lambda_tracing_mode
    		51 |     }
    		52 |   }
    		53 | }
    
    Check: CKV_AWS_116: "Ensure that AWS Lambda function is configured for a Dead Letter Queue(DLQ)"
    	FAILED for resource: module.multi-runner.module.runners.aws_lambda_function.scale_down
    	File: /modules/runners/scale-down.tf:8-53
    	Calling File: /modules/multi-runner/runners.tf:1-106
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-a-dead-letter-queue-dlq.html
    
    		8  | resource "aws_lambda_function" "scale_down" {
    		9  |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		10 |   s3_key            = var.runners_lambda_s3_key != null ? var.runners_lambda_s3_key : null
    		11 |   s3_object_version = var.runners_lambda_s3_object_version != null ? var.runners_lambda_s3_object_version : null
    		12 |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		13 |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		14 |   function_name     = "${var.prefix}-scale-down"
    		15 |   role              = aws_iam_role.scale_down.arn
    		16 |   handler           = "index.scaleDownHandler"
    		17 |   runtime           = var.lambda_runtime
    		18 |   timeout           = var.lambda_timeout_scale_down
    		19 |   tags              = local.tags
    		20 |   memory_size       = 512
    		21 |   architectures     = [var.lambda_architecture]
    		22 | 
    		23 |   environment {
    		24 |     variables = {
    		25 |       ENVIRONMENT                          = var.prefix
    		26 |       GHES_URL                             = var.ghes_url
    		27 |       LOG_LEVEL                            = var.log_level
    		28 |       MINIMUM_RUNNING_TIME_IN_MINUTES      = coalesce(var.minimum_running_time_in_minutes, local.min_runtime_defaults[var.runner_os])
    		29 |       NODE_TLS_REJECT_UNAUTHORIZED         = var.ghes_url != null && !var.ghes_ssl_verify ? 0 : 1
    		30 |       PARAMETER_GITHUB_APP_ID_NAME         = var.github_app_parameters.id.name
    		31 |       PARAMETER_GITHUB_APP_KEY_BASE64_NAME = var.github_app_parameters.key_base64.name
    		32 |       POWERTOOLS_LOGGER_LOG_EVENT          = var.log_level == "debug" ? "true" : "false"
    		33 |       RUNNER_BOOT_TIME_IN_MINUTES          = var.runner_boot_time_in_minutes
    		34 |       SCALE_DOWN_CONFIG                    = jsonencode(var.idle_config)
    		35 |       SERVICE_NAME                         = "runners-scale-down"
    		36 |     }
    		37 |   }
    		38 | 
    		39 |   dynamic "vpc_config" {
    		40 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		41 |     content {
    		42 |       security_group_ids = var.lambda_security_group_ids
    		43 |       subnet_ids         = var.lambda_subnet_ids
    		44 |     }
    		45 |   }
    		46 | 
    		47 |   dynamic "tracing_config" {
    		48 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		49 |     content {
    		50 |       mode = var.lambda_tracing_mode
    		51 |     }
    		52 |   }
    		53 | }
    
    Check: CKV_AWS_338: "Ensure CloudWatch log groups retains logs for at least 1 year"
    	FAILED for resource: module.multi-runner.module.runners.aws_cloudwatch_log_group.scale_down
    	File: /modules/runners/scale-down.tf:55-60
    	Calling File: /modules/multi-runner/runners.tf:1-106
    
    		55 | resource "aws_cloudwatch_log_group" "scale_down" {
    		56 |   name              = "/aws/lambda/${aws_lambda_function.scale_down.function_name}"
    		57 |   retention_in_days = var.logging_retention_in_days
    		58 |   kms_key_id        = var.logging_kms_key_id
    		59 |   tags              = var.tags
    		60 | }
    
    Check: CKV_AWS_272: "Ensure AWS Lambda function is configured to validate code-signing"
    	FAILED for resource: module.runners.module.runners.aws_lambda_function.scale_up
    	File: /modules/runners/scale-up.tf:1-63
    	Calling File: /main.tf:172-279
    
    		Code lines for this resource are too many. Please use IDE of your choice to review the file.
    Check: CKV_AWS_173: "Check encryption settings for Lambda environmental variable"
    	FAILED for resource: module.runners.module.runners.aws_lambda_function.scale_up
    	File: /modules/runners/scale-up.tf:1-63
    	Calling File: /main.tf:172-279
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-serverless-policies/bc-aws-serverless-5.html
    
    		Code lines for this resource are too many. Please use IDE of your choice to review the file.
    Check: CKV_AWS_116: "Ensure that AWS Lambda function is configured for a Dead Letter Queue(DLQ)"
    	FAILED for resource: module.runners.module.runners.aws_lambda_function.scale_up
    	File: /modules/runners/scale-up.tf:1-63
    	Calling File: /main.tf:172-279
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-a-dead-letter-queue-dlq.html
    
    		Code lines for this resource are too many. Please use IDE of your choice to review the file.
    Check: CKV_AWS_338: "Ensure CloudWatch log groups retains logs for at least 1 year"
    	FAILED for resource: module.runners.module.runners.aws_cloudwatch_log_group.scale_up
    	File: /modules/runners/scale-up.tf:65-70
    	Calling File: /main.tf:172-279
    
    		65 | resource "aws_cloudwatch_log_group" "scale_up" {
    		66 |   name              = "/aws/lambda/${aws_lambda_function.scale_up.function_name}"
    		67 |   retention_in_days = var.logging_retention_in_days
    		68 |   kms_key_id        = var.logging_kms_key_id
    		69 |   tags              = var.tags
    		70 | }
    
    Check: CKV_AWS_272: "Ensure AWS Lambda function is configured to validate code-signing"
    	FAILED for resource: module.multi-runner.module.runners.aws_lambda_function.scale_up
    	File: /modules/runners/scale-up.tf:1-63
    	Calling File: /modules/multi-runner/runners.tf:1-106
    
    		Code lines for this resource are too many. Please use IDE of your choice to review the file.
    Check: CKV_AWS_173: "Check encryption settings for Lambda environmental variable"
    	FAILED for resource: module.multi-runner.module.runners.aws_lambda_function.scale_up
    	File: /modules/runners/scale-up.tf:1-63
    	Calling File: /modules/multi-runner/runners.tf:1-106
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-serverless-policies/bc-aws-serverless-5.html
    
    		Code lines for this resource are too many. Please use IDE of your choice to review the file.
    Check: CKV_AWS_116: "Ensure that AWS Lambda function is configured for a Dead Letter Queue(DLQ)"
    	FAILED for resource: module.multi-runner.module.runners.aws_lambda_function.scale_up
    	File: /modules/runners/scale-up.tf:1-63
    	Calling File: /modules/multi-runner/runners.tf:1-106
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-a-dead-letter-queue-dlq.html
    
    		Code lines for this resource are too many. Please use IDE of your choice to review the file.
    Check: CKV_AWS_338: "Ensure CloudWatch log groups retains logs for at least 1 year"
    	FAILED for resource: module.multi-runner.module.runners.aws_cloudwatch_log_group.scale_up
    	File: /modules/runners/scale-up.tf:65-70
    	Calling File: /modules/multi-runner/runners.tf:1-106
    
    		65 | resource "aws_cloudwatch_log_group" "scale_up" {
    		66 |   name              = "/aws/lambda/${aws_lambda_function.scale_up.function_name}"
    		67 |   retention_in_days = var.logging_retention_in_days
    		68 |   kms_key_id        = var.logging_kms_key_id
    		69 |   tags              = var.tags
    		70 | }
    
    Check: CKV_AWS_309: "Ensure API GatewayV2 routes specify an authorization type"
    	FAILED for resource: module.runners.module.webhook.aws_apigatewayv2_route.webhook
    	File: /modules/webhook/main.tf:13-17
    	Calling File: /main.tf:125-170
    
    		13 | resource "aws_apigatewayv2_route" "webhook" {
    		14 |   api_id    = aws_apigatewayv2_api.webhook.id
    		15 |   route_key = "POST /${local.webhook_endpoint}"
    		16 |   target    = "integrations/${aws_apigatewayv2_integration.webhook.id}"
    		17 | }
    
    Check: CKV_AWS_309: "Ensure API GatewayV2 routes specify an authorization type"
    	FAILED for resource: module.multi-runner.module.webhook.aws_apigatewayv2_route.webhook
    	File: /modules/webhook/main.tf:13-17
    	Calling File: /modules/multi-runner/webhook.tf:1-35
    
    		13 | resource "aws_apigatewayv2_route" "webhook" {
    		14 |   api_id    = aws_apigatewayv2_api.webhook.id
    		15 |   route_key = "POST /${local.webhook_endpoint}"
    		16 |   target    = "integrations/${aws_apigatewayv2_integration.webhook.id}"
    		17 | }
    
    Check: CKV_AWS_272: "Ensure AWS Lambda function is configured to validate code-signing"
    	FAILED for resource: module.runners.module.webhook.aws_lambda_function.webhook
    	File: /modules/webhook/webhook.tf:1-42
    	Calling File: /main.tf:125-170
    
    		1  | resource "aws_lambda_function" "webhook" {
    		2  |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		3  |   s3_key            = var.webhook_lambda_s3_key != null ? var.webhook_lambda_s3_key : null
    		4  |   s3_object_version = var.webhook_lambda_s3_object_version != null ? var.webhook_lambda_s3_object_version : null
    		5  |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		6  |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		7  |   function_name     = "${var.prefix}-webhook"
    		8  |   role              = aws_iam_role.webhook_lambda.arn
    		9  |   handler           = "index.githubWebhook"
    		10 |   runtime           = var.lambda_runtime
    		11 |   timeout           = var.lambda_timeout
    		12 |   architectures     = [var.lambda_architecture]
    		13 | 
    		14 |   environment {
    		15 |     variables = {
    		16 |       ENVIRONMENT                         = var.prefix
    		17 |       LOG_LEVEL                           = var.log_level
    		18 |       POWERTOOLS_LOGGER_LOG_EVENT         = var.log_level == "debug" ? "true" : "false"
    		19 |       PARAMETER_GITHUB_APP_WEBHOOK_SECRET = var.github_app_parameters.webhook_secret.name
    		20 |       REPOSITORY_WHITE_LIST               = jsonencode(var.repository_white_list)
    		21 |       RUNNER_CONFIG                       = jsonencode([for k, v in var.runner_config : v])
    		22 |       SQS_WORKFLOW_JOB_QUEUE              = try(var.sqs_workflow_job_queue, null) != null ? var.sqs_workflow_job_queue.id : ""
    		23 |     }
    		24 |   }
    		25 | 
    		26 |   dynamic "vpc_config" {
    		27 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		28 |     content {
    		29 |       security_group_ids = var.lambda_security_group_ids
    		30 |       subnet_ids         = var.lambda_subnet_ids
    		31 |     }
    		32 |   }
    		33 | 
    		34 |   tags = var.tags
    		35 | 
    		36 |   dynamic "tracing_config" {
    		37 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		38 |     content {
    		39 |       mode = var.lambda_tracing_mode
    		40 |     }
    		41 |   }
    		42 | }
    
    Check: CKV_AWS_173: "Check encryption settings for Lambda environmental variable"
    	FAILED for resource: module.runners.module.webhook.aws_lambda_function.webhook
    	File: /modules/webhook/webhook.tf:1-42
    	Calling File: /main.tf:125-170
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-serverless-policies/bc-aws-serverless-5.html
    
    		1  | resource "aws_lambda_function" "webhook" {
    		2  |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		3  |   s3_key            = var.webhook_lambda_s3_key != null ? var.webhook_lambda_s3_key : null
    		4  |   s3_object_version = var.webhook_lambda_s3_object_version != null ? var.webhook_lambda_s3_object_version : null
    		5  |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		6  |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		7  |   function_name     = "${var.prefix}-webhook"
    		8  |   role              = aws_iam_role.webhook_lambda.arn
    		9  |   handler           = "index.githubWebhook"
    		10 |   runtime           = var.lambda_runtime
    		11 |   timeout           = var.lambda_timeout
    		12 |   architectures     = [var.lambda_architecture]
    		13 | 
    		14 |   environment {
    		15 |     variables = {
    		16 |       ENVIRONMENT                         = var.prefix
    		17 |       LOG_LEVEL                           = var.log_level
    		18 |       POWERTOOLS_LOGGER_LOG_EVENT         = var.log_level == "debug" ? "true" : "false"
    		19 |       PARAMETER_GITHUB_APP_WEBHOOK_SECRET = var.github_app_parameters.webhook_secret.name
    		20 |       REPOSITORY_WHITE_LIST               = jsonencode(var.repository_white_list)
    		21 |       RUNNER_CONFIG                       = jsonencode([for k, v in var.runner_config : v])
    		22 |       SQS_WORKFLOW_JOB_QUEUE              = try(var.sqs_workflow_job_queue, null) != null ? var.sqs_workflow_job_queue.id : ""
    		23 |     }
    		24 |   }
    		25 | 
    		26 |   dynamic "vpc_config" {
    		27 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		28 |     content {
    		29 |       security_group_ids = var.lambda_security_group_ids
    		30 |       subnet_ids         = var.lambda_subnet_ids
    		31 |     }
    		32 |   }
    		33 | 
    		34 |   tags = var.tags
    		35 | 
    		36 |   dynamic "tracing_config" {
    		37 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		38 |     content {
    		39 |       mode = var.lambda_tracing_mode
    		40 |     }
    		41 |   }
    		42 | }
    
    Check: CKV_AWS_115: "Ensure that AWS Lambda function is configured for function-level concurrent execution limit"
    	FAILED for resource: module.runners.module.webhook.aws_lambda_function.webhook
    	File: /modules/webhook/webhook.tf:1-42
    	Calling File: /main.tf:125-170
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-function-level-concurrent-execution-limit.html
    
    		1  | resource "aws_lambda_function" "webhook" {
    		2  |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		3  |   s3_key            = var.webhook_lambda_s3_key != null ? var.webhook_lambda_s3_key : null
    		4  |   s3_object_version = var.webhook_lambda_s3_object_version != null ? var.webhook_lambda_s3_object_version : null
    		5  |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		6  |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		7  |   function_name     = "${var.prefix}-webhook"
    		8  |   role              = aws_iam_role.webhook_lambda.arn
    		9  |   handler           = "index.githubWebhook"
    		10 |   runtime           = var.lambda_runtime
    		11 |   timeout           = var.lambda_timeout
    		12 |   architectures     = [var.lambda_architecture]
    		13 | 
    		14 |   environment {
    		15 |     variables = {
    		16 |       ENVIRONMENT                         = var.prefix
    		17 |       LOG_LEVEL                           = var.log_level
    		18 |       POWERTOOLS_LOGGER_LOG_EVENT         = var.log_level == "debug" ? "true" : "false"
    		19 |       PARAMETER_GITHUB_APP_WEBHOOK_SECRET = var.github_app_parameters.webhook_secret.name
    		20 |       REPOSITORY_WHITE_LIST               = jsonencode(var.repository_white_list)
    		21 |       RUNNER_CONFIG                       = jsonencode([for k, v in var.runner_config : v])
    		22 |       SQS_WORKFLOW_JOB_QUEUE              = try(var.sqs_workflow_job_queue, null) != null ? var.sqs_workflow_job_queue.id : ""
    		23 |     }
    		24 |   }
    		25 | 
    		26 |   dynamic "vpc_config" {
    		27 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		28 |     content {
    		29 |       security_group_ids = var.lambda_security_group_ids
    		30 |       subnet_ids         = var.lambda_subnet_ids
    		31 |     }
    		32 |   }
    		33 | 
    		34 |   tags = var.tags
    		35 | 
    		36 |   dynamic "tracing_config" {
    		37 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		38 |     content {
    		39 |       mode = var.lambda_tracing_mode
    		40 |     }
    		41 |   }
    		42 | }
    
    Check: CKV_AWS_116: "Ensure that AWS Lambda function is configured for a Dead Letter Queue(DLQ)"
    	FAILED for resource: module.runners.module.webhook.aws_lambda_function.webhook
    	File: /modules/webhook/webhook.tf:1-42
    	Calling File: /main.tf:125-170
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-a-dead-letter-queue-dlq.html
    
    		1  | resource "aws_lambda_function" "webhook" {
    		2  |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		3  |   s3_key            = var.webhook_lambda_s3_key != null ? var.webhook_lambda_s3_key : null
    		4  |   s3_object_version = var.webhook_lambda_s3_object_version != null ? var.webhook_lambda_s3_object_version : null
    		5  |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		6  |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		7  |   function_name     = "${var.prefix}-webhook"
    		8  |   role              = aws_iam_role.webhook_lambda.arn
    		9  |   handler           = "index.githubWebhook"
    		10 |   runtime           = var.lambda_runtime
    		11 |   timeout           = var.lambda_timeout
    		12 |   architectures     = [var.lambda_architecture]
    		13 | 
    		14 |   environment {
    		15 |     variables = {
    		16 |       ENVIRONMENT                         = var.prefix
    		17 |       LOG_LEVEL                           = var.log_level
    		18 |       POWERTOOLS_LOGGER_LOG_EVENT         = var.log_level == "debug" ? "true" : "false"
    		19 |       PARAMETER_GITHUB_APP_WEBHOOK_SECRET = var.github_app_parameters.webhook_secret.name
    		20 |       REPOSITORY_WHITE_LIST               = jsonencode(var.repository_white_list)
    		21 |       RUNNER_CONFIG                       = jsonencode([for k, v in var.runner_config : v])
    		22 |       SQS_WORKFLOW_JOB_QUEUE              = try(var.sqs_workflow_job_queue, null) != null ? var.sqs_workflow_job_queue.id : ""
    		23 |     }
    		24 |   }
    		25 | 
    		26 |   dynamic "vpc_config" {
    		27 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		28 |     content {
    		29 |       security_group_ids = var.lambda_security_group_ids
    		30 |       subnet_ids         = var.lambda_subnet_ids
    		31 |     }
    		32 |   }
    		33 | 
    		34 |   tags = var.tags
    		35 | 
    		36 |   dynamic "tracing_config" {
    		37 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		38 |     content {
    		39 |       mode = var.lambda_tracing_mode
    		40 |     }
    		41 |   }
    		42 | }
    
    Check: CKV_AWS_338: "Ensure CloudWatch log groups retains logs for at least 1 year"
    	FAILED for resource: module.runners.module.webhook.aws_cloudwatch_log_group.webhook
    	File: /modules/webhook/webhook.tf:44-49
    	Calling File: /main.tf:125-170
    
    		44 | resource "aws_cloudwatch_log_group" "webhook" {
    		45 |   name              = "/aws/lambda/${aws_lambda_function.webhook.function_name}"
    		46 |   retention_in_days = var.logging_retention_in_days
    		47 |   kms_key_id        = var.logging_kms_key_id
    		48 |   tags              = var.tags
    		49 | }
    
    Check: CKV_AWS_272: "Ensure AWS Lambda function is configured to validate code-signing"
    	FAILED for resource: module.multi-runner.module.webhook.aws_lambda_function.webhook
    	File: /modules/webhook/webhook.tf:1-42
    	Calling File: /modules/multi-runner/webhook.tf:1-35
    
    		1  | resource "aws_lambda_function" "webhook" {
    		2  |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		3  |   s3_key            = var.webhook_lambda_s3_key != null ? var.webhook_lambda_s3_key : null
    		4  |   s3_object_version = var.webhook_lambda_s3_object_version != null ? var.webhook_lambda_s3_object_version : null
    		5  |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		6  |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		7  |   function_name     = "${var.prefix}-webhook"
    		8  |   role              = aws_iam_role.webhook_lambda.arn
    		9  |   handler           = "index.githubWebhook"
    		10 |   runtime           = var.lambda_runtime
    		11 |   timeout           = var.lambda_timeout
    		12 |   architectures     = [var.lambda_architecture]
    		13 | 
    		14 |   environment {
    		15 |     variables = {
    		16 |       ENVIRONMENT                         = var.prefix
    		17 |       LOG_LEVEL                           = var.log_level
    		18 |       POWERTOOLS_LOGGER_LOG_EVENT         = var.log_level == "debug" ? "true" : "false"
    		19 |       PARAMETER_GITHUB_APP_WEBHOOK_SECRET = var.github_app_parameters.webhook_secret.name
    		20 |       REPOSITORY_WHITE_LIST               = jsonencode(var.repository_white_list)
    		21 |       RUNNER_CONFIG                       = jsonencode([for k, v in var.runner_config : v])
    		22 |       SQS_WORKFLOW_JOB_QUEUE              = try(var.sqs_workflow_job_queue, null) != null ? var.sqs_workflow_job_queue.id : ""
    		23 |     }
    		24 |   }
    		25 | 
    		26 |   dynamic "vpc_config" {
    		27 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		28 |     content {
    		29 |       security_group_ids = var.lambda_security_group_ids
    		30 |       subnet_ids         = var.lambda_subnet_ids
    		31 |     }
    		32 |   }
    		33 | 
    		34 |   tags = var.tags
    		35 | 
    		36 |   dynamic "tracing_config" {
    		37 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		38 |     content {
    		39 |       mode = var.lambda_tracing_mode
    		40 |     }
    		41 |   }
    		42 | }
    
    Check: CKV_AWS_173: "Check encryption settings for Lambda environmental variable"
    	FAILED for resource: module.multi-runner.module.webhook.aws_lambda_function.webhook
    	File: /modules/webhook/webhook.tf:1-42
    	Calling File: /modules/multi-runner/webhook.tf:1-35
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-serverless-policies/bc-aws-serverless-5.html
    
    		1  | resource "aws_lambda_function" "webhook" {
    		2  |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		3  |   s3_key            = var.webhook_lambda_s3_key != null ? var.webhook_lambda_s3_key : null
    		4  |   s3_object_version = var.webhook_lambda_s3_object_version != null ? var.webhook_lambda_s3_object_version : null
    		5  |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		6  |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		7  |   function_name     = "${var.prefix}-webhook"
    		8  |   role              = aws_iam_role.webhook_lambda.arn
    		9  |   handler           = "index.githubWebhook"
    		10 |   runtime           = var.lambda_runtime
    		11 |   timeout           = var.lambda_timeout
    		12 |   architectures     = [var.lambda_architecture]
    		13 | 
    		14 |   environment {
    		15 |     variables = {
    		16 |       ENVIRONMENT                         = var.prefix
    		17 |       LOG_LEVEL                           = var.log_level
    		18 |       POWERTOOLS_LOGGER_LOG_EVENT         = var.log_level == "debug" ? "true" : "false"
    		19 |       PARAMETER_GITHUB_APP_WEBHOOK_SECRET = var.github_app_parameters.webhook_secret.name
    		20 |       REPOSITORY_WHITE_LIST               = jsonencode(var.repository_white_list)
    		21 |       RUNNER_CONFIG                       = jsonencode([for k, v in var.runner_config : v])
    		22 |       SQS_WORKFLOW_JOB_QUEUE              = try(var.sqs_workflow_job_queue, null) != null ? var.sqs_workflow_job_queue.id : ""
    		23 |     }
    		24 |   }
    		25 | 
    		26 |   dynamic "vpc_config" {
    		27 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		28 |     content {
    		29 |       security_group_ids = var.lambda_security_group_ids
    		30 |       subnet_ids         = var.lambda_subnet_ids
    		31 |     }
    		32 |   }
    		33 | 
    		34 |   tags = var.tags
    		35 | 
    		36 |   dynamic "tracing_config" {
    		37 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		38 |     content {
    		39 |       mode = var.lambda_tracing_mode
    		40 |     }
    		41 |   }
    		42 | }
    
    Check: CKV_AWS_115: "Ensure that AWS Lambda function is configured for function-level concurrent execution limit"
    	FAILED for resource: module.multi-runner.module.webhook.aws_lambda_function.webhook
    	File: /modules/webhook/webhook.tf:1-42
    	Calling File: /modules/multi-runner/webhook.tf:1-35
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-function-level-concurrent-execution-limit.html
    
    		1  | resource "aws_lambda_function" "webhook" {
    		2  |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		3  |   s3_key            = var.webhook_lambda_s3_key != null ? var.webhook_lambda_s3_key : null
    		4  |   s3_object_version = var.webhook_lambda_s3_object_version != null ? var.webhook_lambda_s3_object_version : null
    		5  |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		6  |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		7  |   function_name     = "${var.prefix}-webhook"
    		8  |   role              = aws_iam_role.webhook_lambda.arn
    		9  |   handler           = "index.githubWebhook"
    		10 |   runtime           = var.lambda_runtime
    		11 |   timeout           = var.lambda_timeout
    		12 |   architectures     = [var.lambda_architecture]
    		13 | 
    		14 |   environment {
    		15 |     variables = {
    		16 |       ENVIRONMENT                         = var.prefix
    		17 |       LOG_LEVEL                           = var.log_level
    		18 |       POWERTOOLS_LOGGER_LOG_EVENT         = var.log_level == "debug" ? "true" : "false"
    		19 |       PARAMETER_GITHUB_APP_WEBHOOK_SECRET = var.github_app_parameters.webhook_secret.name
    		20 |       REPOSITORY_WHITE_LIST               = jsonencode(var.repository_white_list)
    		21 |       RUNNER_CONFIG                       = jsonencode([for k, v in var.runner_config : v])
    		22 |       SQS_WORKFLOW_JOB_QUEUE              = try(var.sqs_workflow_job_queue, null) != null ? var.sqs_workflow_job_queue.id : ""
    		23 |     }
    		24 |   }
    		25 | 
    		26 |   dynamic "vpc_config" {
    		27 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		28 |     content {
    		29 |       security_group_ids = var.lambda_security_group_ids
    		30 |       subnet_ids         = var.lambda_subnet_ids
    		31 |     }
    		32 |   }
    		33 | 
    		34 |   tags = var.tags
    		35 | 
    		36 |   dynamic "tracing_config" {
    		37 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		38 |     content {
    		39 |       mode = var.lambda_tracing_mode
    		40 |     }
    		41 |   }
    		42 | }
    
    Check: CKV_AWS_116: "Ensure that AWS Lambda function is configured for a Dead Letter Queue(DLQ)"
    	FAILED for resource: module.multi-runner.module.webhook.aws_lambda_function.webhook
    	File: /modules/webhook/webhook.tf:1-42
    	Calling File: /modules/multi-runner/webhook.tf:1-35
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-a-dead-letter-queue-dlq.html
    
    		1  | resource "aws_lambda_function" "webhook" {
    		2  |   s3_bucket         = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null
    		3  |   s3_key            = var.webhook_lambda_s3_key != null ? var.webhook_lambda_s3_key : null
    		4  |   s3_object_version = var.webhook_lambda_s3_object_version != null ? var.webhook_lambda_s3_object_version : null
    		5  |   filename          = var.lambda_s3_bucket == null ? local.lambda_zip : null
    		6  |   source_code_hash  = var.lambda_s3_bucket == null ? filebase64sha256(local.lambda_zip) : null
    		7  |   function_name     = "${var.prefix}-webhook"
    		8  |   role              = aws_iam_role.webhook_lambda.arn
    		9  |   handler           = "index.githubWebhook"
    		10 |   runtime           = var.lambda_runtime
    		11 |   timeout           = var.lambda_timeout
    		12 |   architectures     = [var.lambda_architecture]
    		13 | 
    		14 |   environment {
    		15 |     variables = {
    		16 |       ENVIRONMENT                         = var.prefix
    		17 |       LOG_LEVEL                           = var.log_level
    		18 |       POWERTOOLS_LOGGER_LOG_EVENT         = var.log_level == "debug" ? "true" : "false"
    		19 |       PARAMETER_GITHUB_APP_WEBHOOK_SECRET = var.github_app_parameters.webhook_secret.name
    		20 |       REPOSITORY_WHITE_LIST               = jsonencode(var.repository_white_list)
    		21 |       RUNNER_CONFIG                       = jsonencode([for k, v in var.runner_config : v])
    		22 |       SQS_WORKFLOW_JOB_QUEUE              = try(var.sqs_workflow_job_queue, null) != null ? var.sqs_workflow_job_queue.id : ""
    		23 |     }
    		24 |   }
    		25 | 
    		26 |   dynamic "vpc_config" {
    		27 |     for_each = var.lambda_subnet_ids != null && var.lambda_security_group_ids != null ? [true] : []
    		28 |     content {
    		29 |       security_group_ids = var.lambda_security_group_ids
    		30 |       subnet_ids         = var.lambda_subnet_ids
    		31 |     }
    		32 |   }
    		33 | 
    		34 |   tags = var.tags
    		35 | 
    		36 |   dynamic "tracing_config" {
    		37 |     for_each = var.lambda_tracing_mode != null ? [true] : []
    		38 |     content {
    		39 |       mode = var.lambda_tracing_mode
    		40 |     }
    		41 |   }
    		42 | }
    
    Check: CKV_AWS_338: "Ensure CloudWatch log groups retains logs for at least 1 year"
    	FAILED for resource: module.multi-runner.module.webhook.aws_cloudwatch_log_group.webhook
    	File: /modules/webhook/webhook.tf:44-49
    	Calling File: /modules/multi-runner/webhook.tf:1-35
    
    		44 | resource "aws_cloudwatch_log_group" "webhook" {
    		45 |   name              = "/aws/lambda/${aws_lambda_function.webhook.function_name}"
    		46 |   retention_in_days = var.logging_retention_in_days
    		47 |   kms_key_id        = var.logging_kms_key_id
    		48 |   tags              = var.tags
    		49 | }
    
    Check: CKV_AWS_144: "Ensure that S3 bucket has cross-region replication enabled"
    	FAILED for resource: module.runners.module.runner_binaries[0].aws_s3_bucket.action_dist
    	File: /modules/runner-binaries-syncer/main.tf:5-9
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-bucket-has-cross-region-replication-enabled.html
    
    		5 | resource "aws_s3_bucket" "action_dist" {
    		6 |   bucket        = var.distribution_bucket_name
    		7 |   force_destroy = true
    		8 |   tags          = var.tags
    		9 | }
    
    Check: CKV_AWS_144: "Ensure that S3 bucket has cross-region replication enabled"
    	FAILED for resource: module.runners.module.runner_binaries.aws_s3_bucket.action_dist
    	File: /modules/runner-binaries-syncer/main.tf:5-9
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-bucket-has-cross-region-replication-enabled.html
    
    		5 | resource "aws_s3_bucket" "action_dist" {
    		6 |   bucket        = var.distribution_bucket_name
    		7 |   force_destroy = true
    		8 |   tags          = var.tags
    		9 | }
    
    Check: CKV_AWS_144: "Ensure that S3 bucket has cross-region replication enabled"
    	FAILED for resource: module.multi-runner.module.runner_binaries.aws_s3_bucket.action_dist
    	File: /modules/runner-binaries-syncer/main.tf:5-9
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-bucket-has-cross-region-replication-enabled.html
    
    		5 | resource "aws_s3_bucket" "action_dist" {
    		6 |   bucket        = var.distribution_bucket_name
    		7 |   force_destroy = true
    		8 |   tags          = var.tags
    		9 | }
    
    Check: CKV_AWS_19: "Ensure all data stored in the S3 bucket is securely encrypted at rest"
    	FAILED for resource: module.runners.module.runner_binaries[0].aws_s3_bucket.action_dist
    	File: /modules/runner-binaries-syncer/main.tf:5-9
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-14-data-encrypted-at-rest.html
    
    		5 | resource "aws_s3_bucket" "action_dist" {
    		6 |   bucket        = var.distribution_bucket_name
    		7 |   force_destroy = true
    		8 |   tags          = var.tags
    		9 | }
    
    Check: CKV_AWS_19: "Ensure all data stored in the S3 bucket is securely encrypted at rest"
    	FAILED for resource: module.runners.module.runner_binaries.aws_s3_bucket.action_dist
    	File: /modules/runner-binaries-syncer/main.tf:5-9
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-14-data-encrypted-at-rest.html
    
    		5 | resource "aws_s3_bucket" "action_dist" {
    		6 |   bucket        = var.distribution_bucket_name
    		7 |   force_destroy = true
    		8 |   tags          = var.tags
    		9 | }
    
    Check: CKV_AWS_19: "Ensure all data stored in the S3 bucket is securely encrypted at rest"
    	FAILED for resource: module.multi-runner.module.runner_binaries.aws_s3_bucket.action_dist
    	File: /modules/runner-binaries-syncer/main.tf:5-9
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-14-data-encrypted-at-rest.html
    
    		5 | resource "aws_s3_bucket" "action_dist" {
    		6 |   bucket        = var.distribution_bucket_name
    		7 |   force_destroy = true
    		8 |   tags          = var.tags
    		9 | }
    
    Check: CKV2_AWS_64: "Ensure KMS key Policy is defined"
    	FAILED for resource: aws_kms_key.github
    	File: /examples/permissions-boundary/main.tf:18-20
    
    		18 | resource "aws_kms_key" "github" {
    		19 |   is_enabled = true
    		20 | }
    
    Check: CKV_AWS_21: "Ensure all data stored in the S3 bucket have versioning enabled"
    	FAILED for resource: module.runners.module.runner_binaries[0].aws_s3_bucket.action_dist
    	File: /modules/runner-binaries-syncer/main.tf:5-9
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-16-enable-versioning.html
    
    		5 | resource "aws_s3_bucket" "action_dist" {
    		6 |   bucket        = var.distribution_bucket_name
    		7 |   force_destroy = true
    		8 |   tags          = var.tags
    		9 | }
    
    Check: CKV_AWS_21: "Ensure all data stored in the S3 bucket have versioning enabled"
    	FAILED for resource: module.runners.module.runner_binaries.aws_s3_bucket.action_dist
    	File: /modules/runner-binaries-syncer/main.tf:5-9
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-16-enable-versioning.html
    
    		5 | resource "aws_s3_bucket" "action_dist" {
    		6 |   bucket        = var.distribution_bucket_name
    		7 |   force_destroy = true
    		8 |   tags          = var.tags
    		9 | }
    
    Check: CKV_AWS_21: "Ensure all data stored in the S3 bucket have versioning enabled"
    	FAILED for resource: module.multi-runner.module.runner_binaries.aws_s3_bucket.action_dist
    	File: /modules/runner-binaries-syncer/main.tf:5-9
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/s3-policies/s3-16-enable-versioning.html
    
    		5 | resource "aws_s3_bucket" "action_dist" {
    		6 |   bucket        = var.distribution_bucket_name
    		7 |   force_destroy = true
    		8 |   tags          = var.tags
    		9 | }
    
    Check: CKV2_AWS_34: "AWS SSM Parameter should be Encrypted"
    	FAILED for resource: module.runners.module.runners.aws_ssm_parameter.cloudwatch_agent_config_runner[0]
    	File: /modules/runners/logging.tf:43-51
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-aws-ssm-parameter-is-encrypted.html
    
    		43 | resource "aws_ssm_parameter" "cloudwatch_agent_config_runner" {
    		44 |   count = var.enable_cloudwatch_agent ? 1 : 0
    		45 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/cloudwatch_agent_config_runner"
    		46 |   type  = "String"
    		47 |   value = var.cloudwatch_config != null ? var.cloudwatch_config : templatefile("${path.module}/templates/cloudwatch_config.json", {
    		48 |     logfiles = jsonencode(local.logfiles)
    		49 |   })
    		50 |   tags = local.tags
    		51 | }
    
    Check: CKV2_AWS_34: "AWS SSM Parameter should be Encrypted"
    	FAILED for resource: module.multi-runner.module.runners.aws_ssm_parameter.cloudwatch_agent_config_runner
    	File: /modules/runners/logging.tf:43-51
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-aws-ssm-parameter-is-encrypted.html
    
    		43 | resource "aws_ssm_parameter" "cloudwatch_agent_config_runner" {
    		44 |   count = var.enable_cloudwatch_agent ? 1 : 0
    		45 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/cloudwatch_agent_config_runner"
    		46 |   type  = "String"
    		47 |   value = var.cloudwatch_config != null ? var.cloudwatch_config : templatefile("${path.module}/templates/cloudwatch_config.json", {
    		48 |     logfiles = jsonencode(local.logfiles)
    		49 |   })
    		50 |   tags = local.tags
    		51 | }
    
    Check: CKV2_AWS_34: "AWS SSM Parameter should be Encrypted"
    	FAILED for resource: module.runners.module.runners.aws_ssm_parameter.runner_config_run_as
    	File: /modules/runners/runner-config.tf:1-6
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-aws-ssm-parameter-is-encrypted.html
    
    		1 | resource "aws_ssm_parameter" "runner_config_run_as" {
    		2 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/run_as"
    		3 |   type  = "String"
    		4 |   value = var.runner_as_root ? "root" : var.runner_run_as
    		5 |   tags  = local.tags
    		6 | }
    
    Check: CKV2_AWS_34: "AWS SSM Parameter should be Encrypted"
    	FAILED for resource: module.runners.module.runners.aws_ssm_parameter.runner_agent_mode
    	File: /modules/runners/runner-config.tf:8-13
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-aws-ssm-parameter-is-encrypted.html
    
    		8  | resource "aws_ssm_parameter" "runner_agent_mode" {
    		9  |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/agent_mode"
    		10 |   type  = "String"
    		11 |   value = var.enable_ephemeral_runners ? "ephemeral" : "persistent"
    		12 |   tags  = local.tags
    		13 | }
    
    Check: CKV2_AWS_34: "AWS SSM Parameter should be Encrypted"
    	FAILED for resource: module.runners.module.runners.aws_ssm_parameter.jit_config_enabled
    	File: /modules/runners/runner-config.tf:15-20
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-aws-ssm-parameter-is-encrypted.html
    
    		15 | resource "aws_ssm_parameter" "jit_config_enabled" {
    		16 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/enable_jit_config"
    		17 |   type  = "String"
    		18 |   value = var.enable_jit_config == null ? var.enable_ephemeral_runners : var.enable_jit_config
    		19 |   tags  = local.tags
    		20 | }
    
    Check: CKV2_AWS_34: "AWS SSM Parameter should be Encrypted"
    	FAILED for resource: module.runners.module.runners.aws_ssm_parameter.runner_enable_cloudwatch
    	File: /modules/runners/runner-config.tf:22-27
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-aws-ssm-parameter-is-encrypted.html
    
    		22 | resource "aws_ssm_parameter" "runner_enable_cloudwatch" {
    		23 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/enable_cloudwatch"
    		24 |   type  = "String"
    		25 |   value = var.enable_cloudwatch_agent
    		26 |   tags  = local.tags
    		27 | }
    
    Check: CKV2_AWS_34: "AWS SSM Parameter should be Encrypted"
    	FAILED for resource: module.runners.module.runners.aws_ssm_parameter.token_path
    	File: /modules/runners/runner-config.tf:29-34
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-aws-ssm-parameter-is-encrypted.html
    
    		29 | resource "aws_ssm_parameter" "token_path" {
    		30 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/token_path"
    		31 |   type  = "String"
    		32 |   value = "${var.ssm_paths.root}/${var.ssm_paths.tokens}"
    		33 |   tags  = local.tags
    		34 | }
    
    Check: CKV2_AWS_34: "AWS SSM Parameter should be Encrypted"
    	FAILED for resource: module.multi-runner.module.runners.aws_ssm_parameter.runner_config_run_as
    	File: /modules/runners/runner-config.tf:1-6
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-aws-ssm-parameter-is-encrypted.html
    
    		1 | resource "aws_ssm_parameter" "runner_config_run_as" {
    		2 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/run_as"
    		3 |   type  = "String"
    		4 |   value = var.runner_as_root ? "root" : var.runner_run_as
    		5 |   tags  = local.tags
    		6 | }
    
    Check: CKV2_AWS_34: "AWS SSM Parameter should be Encrypted"
    	FAILED for resource: module.multi-runner.module.runners.aws_ssm_parameter.runner_agent_mode
    	File: /modules/runners/runner-config.tf:8-13
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-aws-ssm-parameter-is-encrypted.html
    
    		8  | resource "aws_ssm_parameter" "runner_agent_mode" {
    		9  |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/agent_mode"
    		10 |   type  = "String"
    		11 |   value = var.enable_ephemeral_runners ? "ephemeral" : "persistent"
    		12 |   tags  = local.tags
    		13 | }
    
    Check: CKV2_AWS_34: "AWS SSM Parameter should be Encrypted"
    	FAILED for resource: module.multi-runner.module.runners.aws_ssm_parameter.jit_config_enabled
    	File: /modules/runners/runner-config.tf:15-20
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-aws-ssm-parameter-is-encrypted.html
    
    		15 | resource "aws_ssm_parameter" "jit_config_enabled" {
    		16 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/enable_jit_config"
    		17 |   type  = "String"
    		18 |   value = var.enable_jit_config == null ? var.enable_ephemeral_runners : var.enable_jit_config
    		19 |   tags  = local.tags
    		20 | }
    
    Check: CKV2_AWS_34: "AWS SSM Parameter should be Encrypted"
    	FAILED for resource: module.multi-runner.module.runners.aws_ssm_parameter.runner_enable_cloudwatch
    	File: /modules/runners/runner-config.tf:22-27
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-aws-ssm-parameter-is-encrypted.html
    
    		22 | resource "aws_ssm_parameter" "runner_enable_cloudwatch" {
    		23 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/enable_cloudwatch"
    		24 |   type  = "String"
    		25 |   value = var.enable_cloudwatch_agent
    		26 |   tags  = local.tags
    		27 | }
    
    Check: CKV2_AWS_34: "AWS SSM Parameter should be Encrypted"
    	FAILED for resource: module.multi-runner.module.runners.aws_ssm_parameter.token_path
    	File: /modules/runners/runner-config.tf:29-34
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-aws-ssm-parameter-is-encrypted.html
    
    		29 | resource "aws_ssm_parameter" "token_path" {
    		30 |   name  = "${var.ssm_paths.root}/${var.ssm_paths.config}/token_path"
    		31 |   type  = "String"
    		32 |   value = "${var.ssm_paths.root}/${var.ssm_paths.tokens}"
    		33 |   tags  = local.tags
    		34 | }
    
    Check: CKV2_AWS_5: "Ensure that Security Groups are attached to another resource"
    	FAILED for resource: module.runners.module.runners.aws_security_group.runner_sg[0]
    	File: /modules/runners/main.tf:181-211
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/ensure-that-security-groups-are-attached-to-ec2-instances-or-elastic-network-interfaces-enis.html
    
    		181 | resource "aws_security_group" "runner_sg" {
    		182 |   count       = var.enable_managed_runner_security_group ? 1 : 0
    		183 |   name_prefix = "${var.prefix}-github-actions-runner-sg"
    		184 |   description = "Github Actions Runner security group"
    		185 | 
    		186 |   vpc_id = var.vpc_id
    		187 | 
    		188 |   dynamic "egress" {
    		189 |     for_each = var.egress_rules
    		190 |     iterator = each
    		191 | 
    		192 |     content {
    		193 |       cidr_blocks      = each.value.cidr_blocks
    		194 |       ipv6_cidr_blocks = each.value.ipv6_cidr_blocks
    		195 |       prefix_list_ids  = each.value.prefix_list_ids
    		196 |       from_port        = each.value.from_port
    		197 |       protocol         = each.value.protocol
    		198 |       security_groups  = each.value.security_groups
    		199 |       self             = each.value.self
    		200 |       to_port          = each.value.to_port
    		201 |       description      = each.value.description
    		202 |     }
    		203 |   }
    		204 | 
    		205 |   tags = merge(
    		206 |     local.tags,
    		207 |     {
    		208 |       "Name" = format("%s", local.name_sg)
    		209 |     },
    		210 |   )
    		211 | }
    
    Check: CKV2_AWS_5: "Ensure that Security Groups are attached to another resource"
    	FAILED for resource: module.multi-runner.module.runners.aws_security_group.runner_sg[0]
    	File: /modules/runners/main.tf:181-211
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-networking-policies/ensure-that-security-groups-are-attached-to-ec2-instances-or-elastic-network-interfaces-enis.html
    
    		181 | resource "aws_security_group" "runner_sg" {
    		182 |   count       = var.enable_managed_runner_security_group ? 1 : 0
    		183 |   name_prefix = "${var.prefix}-github-actions-runner-sg"
    		184 |   description = "Github Actions Runner security group"
    		185 | 
    		186 |   vpc_id = var.vpc_id
    		187 | 
    		188 |   dynamic "egress" {
    		189 |     for_each = var.egress_rules
    		190 |     iterator = each
    		191 | 
    		192 |     content {
    		193 |       cidr_blocks      = each.value.cidr_blocks
    		194 |       ipv6_cidr_blocks = each.value.ipv6_cidr_blocks
    		195 |       prefix_list_ids  = each.value.prefix_list_ids
    		196 |       from_port        = each.value.from_port
    		197 |       protocol         = each.value.protocol
    		198 |       security_groups  = each.value.security_groups
    		199 |       self             = each.value.self
    		200 |       to_port          = each.value.to_port
    		201 |       description      = each.value.description
    		202 |     }
    		203 |   }
    		204 | 
    		205 |   tags = merge(
    		206 |     local.tags,
    		207 |     {
    		208 |       "Name" = format("%s", local.name_sg)
    		209 |     },
    		210 |   )
    		211 | }
    
    Check: CKV_AWS_145: "Ensure that S3 buckets are encrypted with KMS by default"
    	FAILED for resource: module.runners.module.runner_binaries[0].aws_s3_bucket.action_dist
    	File: /modules/runner-binaries-syncer/main.tf:5-9
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-buckets-are-encrypted-with-kms-by-default.html
    
    		5 | resource "aws_s3_bucket" "action_dist" {
    		6 |   bucket        = var.distribution_bucket_name
    		7 |   force_destroy = true
    		8 |   tags          = var.tags
    		9 | }
    
    Check: CKV_AWS_145: "Ensure that S3 buckets are encrypted with KMS by default"
    	FAILED for resource: module.runners.module.runner_binaries.aws_s3_bucket.action_dist
    	File: /modules/runner-binaries-syncer/main.tf:5-9
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-buckets-are-encrypted-with-kms-by-default.html
    
    		5 | resource "aws_s3_bucket" "action_dist" {
    		6 |   bucket        = var.distribution_bucket_name
    		7 |   force_destroy = true
    		8 |   tags          = var.tags
    		9 | }
    
    Check: CKV_AWS_145: "Ensure that S3 buckets are encrypted with KMS by default"
    	FAILED for resource: module.multi-runner.module.runner_binaries.aws_s3_bucket.action_dist
    	File: /modules/runner-binaries-syncer/main.tf:5-9
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-s3-buckets-are-encrypted-with-kms-by-default.html
    
    		5 | resource "aws_s3_bucket" "action_dist" {
    		6 |   bucket        = var.distribution_bucket_name
    		7 |   force_destroy = true
    		8 |   tags          = var.tags
    		9 | }
    
    cloudformation scan results:
    
    Passed checks: 2, Failed checks: 4, Skipped checks: 0
    
    Check: CKV_AWS_173: "Check encryption settings for Lambda environmental variable"
    	FAILED for resource: AWS::Serverless::Function.Syncer
    	File: /lambdas/functions/gh-agent-syncer/template.yaml:3-16
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-serverless-policies/bc-aws-serverless-5.html
    
    		3  |   Syncer:
    		4  |     Type: AWS::Serverless::Function
    		5  |     Properties:
    		6  |       Runtime: nodejs18.x
    		7  |       Handler: dist/index.handler
    		8  |       MemorySize: 256
    		9  |       Timeout: 300
    		10 |       Environment:
    		11 |         Variables:
    		12 |           GITHUB_RUNNER_ARCHITECTURE:
    		13 |           GITHUB_RUNNER_OS:
    		14 |           LOG_LEVEL:
    		15 |           S3_BUCKET_NAME:
    		16 |           S3_OBJECT_KEY:
    
    Check: CKV_AWS_115: "Ensure that AWS Lambda function is configured for function-level concurrent execution limit"
    	FAILED for resource: AWS::Serverless::Function.Syncer
    	File: /lambdas/functions/gh-agent-syncer/template.yaml:3-16
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-function-level-concurrent-execution-limit.html
    
    		3  |   Syncer:
    		4  |     Type: AWS::Serverless::Function
    		5  |     Properties:
    		6  |       Runtime: nodejs18.x
    		7  |       Handler: dist/index.handler
    		8  |       MemorySize: 256
    		9  |       Timeout: 300
    		10 |       Environment:
    		11 |         Variables:
    		12 |           GITHUB_RUNNER_ARCHITECTURE:
    		13 |           GITHUB_RUNNER_OS:
    		14 |           LOG_LEVEL:
    		15 |           S3_BUCKET_NAME:
    		16 |           S3_OBJECT_KEY:
    
    Check: CKV_AWS_116: "Ensure that AWS Lambda function is configured for a Dead Letter Queue(DLQ)"
    	FAILED for resource: AWS::Serverless::Function.Syncer
    	File: /lambdas/functions/gh-agent-syncer/template.yaml:3-16
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-for-a-dead-letter-queue-dlq.html
    
    		3  |   Syncer:
    		4  |     Type: AWS::Serverless::Function
    		5  |     Properties:
    		6  |       Runtime: nodejs18.x
    		7  |       Handler: dist/index.handler
    		8  |       MemorySize: 256
    		9  |       Timeout: 300
    		10 |       Environment:
    		11 |         Variables:
    		12 |           GITHUB_RUNNER_ARCHITECTURE:
    		13 |           GITHUB_RUNNER_OS:
    		14 |           LOG_LEVEL:
    		15 |           S3_BUCKET_NAME:
    		16 |           S3_OBJECT_KEY:
    
    Check: CKV_AWS_117: "Ensure that AWS Lambda function is configured inside a VPC"
    	FAILED for resource: AWS::Serverless::Function.Syncer
    	File: /lambdas/functions/gh-agent-syncer/template.yaml:3-16
    	Guide: https://docs.paloaltonetworks.com/content/techdocs/en_US/prisma/prisma-cloud/prisma-cloud-code-security-policy-reference/aws-policies/aws-general-policies/ensure-that-aws-lambda-function-is-configured-inside-a-vpc-1.html
    
    		3  |   Syncer:
    		4  |     Type: AWS::Serverless::Function
    		5  |     Properties:
    		6  |       Runtime: nodejs18.x
    		7  |       Handler: dist/index.handler
    		8  |       MemorySize: 256
    		9  |       Timeout: 300
    		10 |       Environment:
    		11 |         Variables:
    		12 |           GITHUB_RUNNER_ARCHITECTURE:
    		13 |           GITHUB_RUNNER_OS:
    		14 |           LOG_LEVEL:
    		15 |           S3_BUCKET_NAME:
    		16 |           S3_OBJECT_KEY:
    
    terraform_plan scan results:
    
    Passed checks: 0, Failed checks: 0, Skipped checks: 0, Parsing errors: 8
    
    github_actions scan results:
    
    Passed checks: 247, Failed checks: 4, Skipped checks: 0
    
    Check: CKV2_GHA_1: "Ensure top-level permissions are not set to write-all"
    	FAILED for resource: on(Packer checks)
    	File: /.github/workflows/packer-build.yml:0-1
    Check: CKV2_GHA_1: "Ensure top-level permissions are not set to write-all"
    	FAILED for resource: on(Build lambdas)
    	File: /.github/workflows/lambda.yml:0-1
    Check: CKV2_GHA_1: "Ensure top-level permissions are not set to write-all"
    	FAILED for resource: on(Release build)
    	File: /.github/workflows/release.yml:13-14
    Check: CKV2_GHA_1: "Ensure top-level permissions are not set to write-all"
    	FAILED for resource: on(Auto approve dependabot)
    	File: /.github/workflows/auto-approve-dependabot.yml:0-1