Skip to content

CMS-Enterprise/batcave-tf-serverless

Repository files navigation

batcave-tf-serverless

Requirements

Name Version
terraform >= 1.2
aws >= 4.61.0

Providers

Name Version
aws >= 4.61.0

Modules

Name Source Version
alb terraform-aws-modules/alb/aws ~> 6.0
lambda terraform-aws-modules/lambda/aws ~> 3.1

Resources

Name Type
aws_lambda_permission.alb_to_lambda resource
aws_lb_target_group_attachment.alb_to_lambda resource
aws_route53_record.dns resource
aws_security_group.lambda resource
aws_security_group_rule.egress resource
aws_security_group_rule.https-ingress resource
aws_security_group_rule.ingress_cidrs resource
aws_security_group_rule.ingress_prefix_list resource
aws_acm_certificate.acm_certificate data source
aws_route53_zone.dns data source

Inputs

Name Description Type Default Required
alb_access_logs Map of aws_lb access_log config map(any) {} no
base_domain The base domain of the services the lambda should be requesting to. eg: 'batcave.internal.cms.gov' string n/a yes
create_custom_domain Optionally create a custom domain for this serverless service bool false no
custom_subdomain Subdomain for the optionally created dns records string "status" no
frontend_subnets List of subnet ids to house the front-end of this lambda (such as Shared subnet or Transport subnet) list(any) n/a yes
iam_role_path n/a string "/delegatedadmin/developer/" no
iam_role_permissions_boundary n/a string "" no
ingress_cidrs List of CIDR Blocks to attach to ALB Security Group list(any)
[
"10.0.0.0/8"
]
no
ingress_prefix_lists List of prefix lists to attach to ALB Security Group list(any) [] no
ingress_sgs A list of security groups in which https ingress rules will be created list(string) [] no
lambda_environment Environment variables used by the lambda function. map(string) null no
lambda_handler The entry point of the lambda (i.e. the fully qualified name of the function to be invoked: file-or-module-name.function-name) string n/a yes
lambda_path Path to the lambda code string "lambda" no
lambda_runtime The runtime environment to use for this lambda (e.g. 'python3.9' or 'nodejs16.x') string "nodejs16.x" no
lambda_timeout The number of seconds the lambda will be allowed to execute before timing out number 3 no
private_subnets List of subnet ids where the lambda will execute list(any) n/a yes
route53_zone_type Optionally create DNS records, and lookup either 'private' or 'public' r53 zone string "private" no
service_name Name of the serverless service string "batcave-status" no
vpc_id VPC ID where the lambda will execute string n/a yes

Outputs

No outputs.