Skip to content

Commit c094bc1

Browse files
committed
Add try() wrappers for optional service variables to prevent errors when undefined
1 parent c91b5e7 commit c094bc1

File tree

1 file changed

+43
-43
lines changed

1 file changed

+43
-43
lines changed

main.tf

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -234,16 +234,16 @@ module "ecs_service" {
234234
# Service
235235
ignore_task_definition_changes = try(var.service.ignore_task_definition_changes, false)
236236
alarms = try(var.service.alarms, null)
237-
capacity_provider_strategy = var.service.capacity_provider_strategy
237+
capacity_provider_strategy = try(var.service.capacity_provider_strategy, null)
238238
cluster_arn = var.create_cluster && var.create ? module.ecs_cluster.arn : var.cluster_arn
239-
deployment_controller = var.service.deployment_controller
239+
deployment_controller = try(var.service.deployment_controller, null)
240240
deployment_maximum_percent = try(var.service.deployment_maximum_percent, local.deployment_maximum_percent)
241241
deployment_minimum_healthy_percent = try(var.service.deployment_minimum_healthy_percent, local.deployment_minimum_healthy_percent)
242242
desired_count = try(var.service.desired_count, 1)
243243
enable_ecs_managed_tags = try(var.service.enable_ecs_managed_tags, true)
244244
enable_execute_command = try(var.service.enable_execute_command, false)
245245
force_new_deployment = try(var.service.force_new_deployment, true)
246-
health_check_grace_period_seconds = var.service.health_check_grace_period_seconds
246+
health_check_grace_period_seconds = try(var.service.health_check_grace_period_seconds, null)
247247
launch_type = try(var.service.launch_type, "FARGATE")
248248
load_balancer = merge(
249249
{
@@ -259,31 +259,31 @@ module "ecs_service" {
259259
assign_public_ip = try(var.service.assign_public_ip, false)
260260
security_group_ids = try(var.service.security_group_ids, [])
261261
subnet_ids = try(var.service.subnet_ids, var.service_subnets)
262-
ordered_placement_strategy = var.service.ordered_placement_strategy
263-
placement_constraints = var.service.placement_constraints
264-
platform_version = var.service.platform_version
265-
propagate_tags = var.service.propagate_tags
266-
scheduling_strategy = var.service.scheduling_strategy
267-
service_connect_configuration = var.service.service_connect_configuration
268-
service_registries = var.service.service_registries
269-
timeouts = var.service.timeouts
270-
triggers = var.service.triggers
271-
wait_for_steady_state = var.service.wait_for_steady_state
262+
ordered_placement_strategy = try(var.service.ordered_placement_strategy, null)
263+
placement_constraints = try(var.service.placement_constraints, null)
264+
platform_version = try(var.service.platform_version, null)
265+
propagate_tags = try(var.service.propagate_tags, null)
266+
scheduling_strategy = try(var.service.scheduling_strategy, null)
267+
service_connect_configuration = try(var.service.service_connect_configuration, null)
268+
service_registries = try(var.service.service_registries, null)
269+
timeouts = try(var.service.timeouts, null)
270+
triggers = try(var.service.triggers, null)
271+
wait_for_steady_state = try(var.service.wait_for_steady_state, null)
272272

273273
# Service IAM role
274274
create_iam_role = try(var.service.create_iam_role, true)
275-
iam_role_arn = var.service.iam_role_arn
276-
iam_role_name = var.service.iam_role_name
275+
iam_role_arn = try(var.service.iam_role_arn, null)
276+
iam_role_name = try(var.service.iam_role_name, null)
277277
iam_role_use_name_prefix = try(var.service.iam_role_use_name_prefix, true)
278-
iam_role_path = var.service.iam_role_path
279-
iam_role_description = var.service.iam_role_description
280-
iam_role_permissions_boundary = var.service.iam_role_permissions_boundary
278+
iam_role_path = try(var.service.iam_role_path, null)
279+
iam_role_description = try(var.service.iam_role_description, null)
280+
iam_role_permissions_boundary = try(var.service.iam_role_permissions_boundary, null)
281281
iam_role_tags = try(var.service.iam_role_tags, {})
282282
iam_role_statements = lookup(var.service, "iam_role_statements", [])
283283

284284
# Task definition
285285
create_task_definition = try(var.service.create_task_definition, true)
286-
task_definition_arn = var.service.task_definition_arn
286+
task_definition_arn = try(var.service.task_definition_arn, null)
287287
container_definitions = merge(
288288
{
289289
atlantis = {
@@ -357,20 +357,20 @@ module "ecs_service" {
357357
lookup(var.service, "container_definitions", {})
358358
)
359359
cpu = try(var.service.cpu, 1024)
360-
ephemeral_storage = var.service.ephemeral_storage
361-
family = var.service.family
362-
ipc_mode = var.service.ipc_mode
360+
ephemeral_storage = try(var.service.ephemeral_storage, null)
361+
family = try(var.service.family, null)
362+
ipc_mode = try(var.service.ipc_mode, null)
363363
memory = try(var.service.memory, 2048)
364364
network_mode = try(var.service.network_mode, "awsvpc")
365-
pid_mode = var.service.pid_mode
366-
task_definition_placement_constraints = var.service.task_definition_placement_constraints
367-
proxy_configuration = var.service.proxy_configuration
365+
pid_mode = try(var.service.pid_mode, null)
366+
task_definition_placement_constraints = try(var.service.task_definition_placement_constraints, null)
367+
proxy_configuration = try(var.service.proxy_configuration, null)
368368
requires_compatibilities = try(var.service.requires_compatibilities, ["FARGATE"])
369369
runtime_platform = try(var.service.runtime_platform, {
370370
operating_system_family = "LINUX"
371371
cpu_architecture = "X86_64"
372372
})
373-
skip_destroy = var.service.skip_destroy
373+
skip_destroy = try(var.service.skip_destroy, null)
374374
volume = { for k, v in merge(
375375
{
376376
efs = {
@@ -390,15 +390,15 @@ module "ecs_service" {
390390

391391
# Task execution IAM role
392392
create_task_exec_iam_role = try(var.service.create_task_exec_iam_role, true)
393-
task_exec_iam_role_arn = var.service.task_exec_iam_role_arn
394-
task_exec_iam_role_name = var.service.task_exec_iam_role_name
393+
task_exec_iam_role_arn = try(var.service.task_exec_iam_role_arn, null)
394+
task_exec_iam_role_name = try(var.service.task_exec_iam_role_name, null)
395395
task_exec_iam_role_use_name_prefix = try(var.service.task_exec_iam_role_use_name_prefix, true)
396-
task_exec_iam_role_path = var.service.task_exec_iam_role_path
397-
task_exec_iam_role_description = var.service.task_exec_iam_role_description
398-
task_exec_iam_role_permissions_boundary = var.service.task_exec_iam_role_permissions_boundary
396+
task_exec_iam_role_path = try(var.service.task_exec_iam_role_path, null)
397+
task_exec_iam_role_description = try(var.service.task_exec_iam_role_description, null)
398+
task_exec_iam_role_permissions_boundary = try(var.service.task_exec_iam_role_permissions_boundary, null)
399399
task_exec_iam_role_tags = try(var.service.task_exec_iam_role_tags, {})
400400
task_exec_iam_role_policies = lookup(var.service, "task_exec_iam_role_policies", {})
401-
task_exec_iam_role_max_session_duration = var.service.task_exec_iam_role_max_session_duration
401+
task_exec_iam_role_max_session_duration = try(var.service.task_exec_iam_role_max_session_duration, null)
402402

403403
# Task execution IAM role policy
404404
create_task_exec_policy = try(var.service.create_task_exec_policy, true)
@@ -408,22 +408,22 @@ module "ecs_service" {
408408

409409
# Tasks - IAM role
410410
create_tasks_iam_role = try(var.service.create_tasks_iam_role, true)
411-
tasks_iam_role_arn = var.service.tasks_iam_role_arn
412-
tasks_iam_role_name = var.service.tasks_iam_role_name
411+
tasks_iam_role_arn = try(var.service.tasks_iam_role_arn, null)
412+
tasks_iam_role_name = try(var.service.tasks_iam_role_name, null)
413413
tasks_iam_role_use_name_prefix = try(var.service.tasks_iam_role_use_name_prefix, true)
414-
tasks_iam_role_path = var.service.tasks_iam_role_path
415-
tasks_iam_role_description = var.service.tasks_iam_role_description
416-
tasks_iam_role_permissions_boundary = var.service.tasks_iam_role_permissions_boundary
414+
tasks_iam_role_path = try(var.service.tasks_iam_role_path, null)
415+
tasks_iam_role_description = try(var.service.tasks_iam_role_description, null)
416+
tasks_iam_role_permissions_boundary = try(var.service.tasks_iam_role_permissions_boundary, null)
417417
tasks_iam_role_tags = try(var.service.tasks_iam_role_tags, {})
418418
tasks_iam_role_policies = lookup(var.service, "tasks_iam_role_policies", {})
419419
tasks_iam_role_statements = lookup(var.service, "tasks_iam_role_statements", [])
420420

421421
# Task set
422-
external_id = var.service.external_id
423-
scale = var.service.scale
424-
force_delete = var.service.force_delete
422+
external_id = try(var.service.external_id, null)
423+
scale = try(var.service.scale, null)
424+
force_delete = try(var.service.force_delete, null)
425425
wait_until_stable = try(var.service.wait_until_stable, null)
426-
wait_until_stable_timeout = var.service.wait_until_stable_timeout
426+
wait_until_stable_timeout = try(var.service.wait_until_stable_timeout, null)
427427

428428
# Autoscaling
429429
enable_autoscaling = try(var.service.enable_autoscaling, false)
@@ -434,9 +434,9 @@ module "ecs_service" {
434434

435435
# Security Group
436436
create_security_group = try(var.service.create_security_group, true)
437-
security_group_name = var.service.security_group_name
437+
security_group_name = try(var.service.security_group_name, null)
438438
security_group_use_name_prefix = try(var.service.security_group_use_name_prefix, true)
439-
security_group_description = var.service.security_group_description
439+
security_group_description = try(var.service.security_group_description, null)
440440
security_group_ingress_rules = merge(
441441
{
442442
atlantis = {

0 commit comments

Comments
 (0)