Skip to content

l4gdev/terraform-aws-ecs-cluster

Repository files navigation

Requirements

Name Version
terraform >= 1.3.0
aws ~> 5.17.0

Providers

Name Version
aws ~> 5.17.0

Modules

Name Source Version
datadog ./datadog n/a
ec2 ./ec2 n/a
fsx ./fsx n/a
iam ./iam n/a
labels_ecs_cluster ./labels n/a
security_groups ./security_groups n/a

Resources

Name Type
aws_ecs_cluster.cluster resource

Inputs

Name Description Type Default Required
autoscaling_group_health_check_grace_period n/a string 20 no
datadog n/a
object({
enable = optional(bool, false)
api_key_secret_manager_name = string
site = optional(string, "datadoghq.eu")
process_agent_enabled = optional(bool, true)
logs_enable = optional(bool, true),
collect_all_logs = optional(bool, false)
apm_enable = optional(bool, false),
agent_log_level = optional(string, "ERROR")
})
{
"agent_log_level": "ERROR",
"api_key_secret_manager_name": "",
"apm_enable": false,
"collect_all_logs": false,
"enable": false,
"logs_enable": true,
"process_agent_enabled": true,
"site": "datadoghq.eu"
}
no
ecs_optimized_image_ssm_parameter n/a string "" no
enable_container_insights Enable CloudWatch Container Insights for the cluster bool false no
fsx List of FSX file systems to create
list(object({
name = string
storage_capacity = number
deployment_type = optional(string, "SINGLE_AZ_2")
subnet_id = string
throughput_capacity = number
data_compression_type = optional(string, "LZ4")
mount_path = string
disk_iops_configuration = optional(object({
mode = string
iops = number
}), null) }))
[] no
instance_key_name Do not use, by default you should use session manager. It will be enabled by default string null no
instances_groups List of instance groups to create
list(object({
name = string

instance_type = optional(string)
instance_requirements = optional(object({
allowed_instance_types = list(string) # https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_template#allowed_instance_types
vcpu_count = optional(object({
min = optional(number, 1)
max = optional(number)
}))
memory_mib = optional(object({
min = optional(number, 256)
max = optional(number)
}))
on_demand_max_price_percentage_over_lowest_price = optional(number)
spot_max_price_percentage_over_lowest_price = optional(number)
}), null)


architecture = string
autoscaling_group_min_size = string
autoscaling_group_max_size = string
spot = optional(object({
enabled = optional(bool, false)
max_price = optional(string, null)
}), {})
}))
n/a yes
labels Labels to apply to all resources
object({
tags = object({
Environment = string
Service = string
})
name = string
})
n/a yes
private_subnets List of subnets should be private list(string) n/a yes
volume_size n/a number 50 no
vpc_id VPC ID string n/a yes

Outputs

Name Description
autoscalig_group_name n/a
cluster_name n/a
instances_capacity_providers n/a
security_group n/a

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published