Skip to content

champ-oss/terraform-aws-core

Repository files navigation

terraform-aws-core

A Terraform module for creating an AWS ECS Cluster and ALB

.github/workflows/module.yml .github/workflows/lint.yml .github/workflows/sonar.yml

SonarCloud

Quality Gate Status Vulnerabilities Reliability Rating

Example Usage

See the examples/ folder

Requirements

Name Version
aws >= 4.0.0

Providers

Name Version
aws >= 4.0.0
time n/a

Modules

No modules.

Resources

Name Type
aws_athena_database.this resource
aws_athena_named_query.this resource
aws_cloudwatch_log_group.this resource
aws_ecs_cluster.this resource
aws_iam_policy.ssm_policy resource
aws_iam_role.this resource
aws_iam_role_policy_attachment.ecr resource
aws_iam_role_policy_attachment.ecs resource
aws_iam_role_policy_attachment.lambda resource
aws_iam_role_policy_attachment.s3 resource
aws_iam_role_policy_attachment.ses resource
aws_iam_role_policy_attachment.ssm resource
aws_iam_role_policy_attachment.ssm_policy resource
aws_iam_role_policy_attachment.textract resource
aws_lb.private resource
aws_lb.public resource
aws_lb_listener.private_http resource
aws_lb_listener.private_https resource
aws_lb_listener.public_http resource
aws_lb_listener.public_https resource
aws_lb_listener_certificate.private resource
aws_lb_listener_certificate.this resource
aws_s3_bucket.this resource
aws_s3_bucket_acl.this resource
aws_s3_bucket_lifecycle_configuration.this resource
aws_s3_bucket_policy.this resource
aws_s3_bucket_public_access_block.this resource
aws_s3_bucket_server_side_encryption_configuration.this resource
aws_s3_bucket_versioning.this resource
aws_security_group.alb resource
aws_security_group.app resource
aws_security_group_rule.alb_egress_ecs resource
aws_security_group_rule.alb_ingress_http resource
aws_security_group_rule.alb_ingress_https resource
aws_security_group_rule.app_egress_internet resource
aws_security_group_rule.app_ingress_alb resource
time_sleep.wait_container_insight_logs resource
aws_caller_identity.this data source
aws_elb_service_account.this data source
aws_iam_policy_document.s3 data source
aws_iam_policy_document.ssm_policy data source
aws_iam_policy_document.this data source
aws_region.this data source

Inputs

Name Description Type Default Required
additional_certificate_arns https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener_certificate#certificate_arn list(string) [] no
athena_workgroup https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/athena_named_query#workgroup string "primary" no
certificate_arn https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#certificate_arn string n/a yes
cidr_blocks https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule#cidr_blocks list(string)
[
"0.0.0.0/0"
]
no
enable_container_insights https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_cluster#value bool false no
git Identifier to be used on all resources string "terraform-aws-core" no
log_retention Retention period in days for both ALB and container logs number 90 no
name name to be used on all resources string "terraform-aws-core" no
private_subnet_ids https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/eks_cluster#subnet_ids list(string) n/a yes
protect Enables deletion protection on eligible resources bool true no
public_subnet_ids https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#subnets list(string) n/a yes
ssl_policy https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#ssl_policy string "ELBSecurityPolicy-TLS-1-2-2017-01" no
tags https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html map(string) {} no
vpc_id https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#vpc_id string n/a yes

Outputs

Name Description
ecs_app_security_group https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group#id
ecs_cluster_name https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_cluster#name
execution_ecs_role_arn https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role#arn
execution_ecs_role_name https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role#name
lb_private_dns_name https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#dns_name
lb_private_listener_arn https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#arn
lb_private_zone_id https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#zone_id
lb_public_dns_name https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#dns_name
lb_public_listener_arn https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener#arn
lb_public_zone_id https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb#zone_id

Features

Contributing

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages