Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: add language field #3250

Closed
wants to merge 28 commits into from
Closed

fix: add language field #3250

wants to merge 28 commits into from

Conversation

zwsaqx
Copy link
Contributor

@zwsaqx zwsaqx commented Aug 12, 2024

Description

ignore this pull request I messed up the commits and merge. just work on the new one:
#3442
the toolbar should display and allow editing of the language directly

Issue

it currently doesnt

Link to Basecamp Todo

Solution

add language field

@zwsaqx zwsaqx added effort: 2 type: fix Iterations on existing features or infrastructure. priority: soon labels Aug 12, 2024
@zwsaqx zwsaqx added this to the 2024 - 05 Cooldown milestone Aug 12, 2024
@zwsaqx zwsaqx self-assigned this Aug 12, 2024
@github-actions github-actions bot requested a deployment to Preview - journeys-admin August 12, 2024 23:43 Pending
Copy link
Contributor

github-actions bot commented Aug 12, 2024

The latest updates on your projects.

Name Status Preview Updated (UTC)
watch ✅ Ready Visit Preview Tue Sep 10 02:52:27 UTC 2024

Copy link
Contributor

github-actions bot commented Aug 12, 2024

The latest updates on your projects.

Name Status Preview Updated (UTC)
journeys ✅ Ready Visit Preview Tue Sep 10 02:51:33 UTC 2024

Copy link
Contributor

github-actions bot commented Aug 12, 2024

The latest updates on your projects.

Name Status Preview Updated (UTC)
journeys-admin ✅ Ready Visit Preview Tue Sep 10 02:52:24 UTC 2024

@github-actions github-actions bot temporarily deployed to Preview - journeys-admin August 13, 2024 00:49 Inactive
@zwsaqx zwsaqx requested review from Kneesal and removed request for GeronimoJohn August 13, 2024 00:49
@github-actions github-actions bot temporarily deployed to Preview - journeys-admin August 13, 2024 00:57 Inactive
@jesus-film-bot
Copy link
Collaborator

Continued plan output from previous comment.

Show Output
_destroy      = false
      + tags_all          = (known after apply)
    }

  # module.prod.module.api-tags.module.ecs-task.aws_ecr_lifecycle_policy.ecr_policy will be created
+ resource "aws_ecr_lifecycle_policy" "ecr_policy" {
      + id          = (known after apply)
      + policy      = jsonencode(
            {
              + rules = [
                  + {
                      + action       = {
                          + type = "expire"
                        }
                      + description  = "Expire more than 10 images"
                      + rulePriority = 1
                      + selection    = {
                          + countNumber = 10
                          + countType   = "imageCountMoreThan"
                          + tagStatus   = "any"
                        }
                    },
                ]
            }
        )
      + registry_id = (known after apply)
      + repository  = "jfp-api-tags-prod"
    }

  # module.prod.module.api-tags.module.ecs-task.aws_ecr_repository.ecr_repository will be created
+ resource "aws_ecr_repository" "ecr_repository" {
      + arn                  = (known after apply)
      + id                   = (known after apply)
      + image_tag_mutability = "MUTABLE"
      + name                 = "jfp-api-tags-prod"
      + registry_id          = (known after apply)
      + repository_url       = (known after apply)
      + tags_all             = (known after apply)
    }

  # module.prod.module.api-tags.module.ecs-task.aws_ecs_service.ecs_service will be created
+ resource "aws_ecs_service" "ecs_service" {
      + cluster                            = "arn:aws:ecs:us-east-2:410965620680:cluster/jfp-ecs-cluster-prod"
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "api-tags-prod-service"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = (known after apply)
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "jfp-api-tags-prod-app"
          + container_port   = 4006
          + target_group_arn = (known after apply)
            # (1 unchanged attribute hidden)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = [
              + "sg-02935fccc551bacd8",
            ]
          + subnets          = [
              + "subnet-02f4c2a33ace122c5",
              + "subnet-036663ddfdb3b94b0",
              + "subnet-05c389158df4b940a",
            ]
        }
    }

  # module.prod.module.api-tags.module.ecs-task.aws_ecs_task_definition.ecs_task_definition will be created
+ resource "aws_ecs_task_definition" "ecs_task_definition" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = (known after apply)
      + cpu                      = "512"
      + execution_role_arn       = "arn:aws:iam::410965620680:role/jfp-ecs-task-execution-role"
      + family                   = "jfp-api-tags-prod"
      + id                       = (known after apply)
      + memory                   = "1024"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = (known after apply)
    }

  # module.prod.module.api-tags.module.ecs-task.aws_route53_record.record will be created
+ resource "aws_route53_record" "record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "api-tags"
      + records         = [
          + "internal-jfp-internal-alb-prod-1581820397.us-east-2.elb.amazonaws.com",
        ]
      + ttl             = 300
      + type            = "CNAME"
      + zone_id         = "Z03223152FHL8WN66TI5X"
    }

  # module.prod.module.api-tags.module.ecs-task.aws_ssm_parameter.parameters["PG_DATABASE_URL_TAGS"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-tags/prod/PG_DATABASE_URL_TAGS"
      + overwrite      = true
      + tags           = {
          + "name" = "PG_DATABASE_URL_TAGS"
        }
      + tags_all       = {
          + "name" = "PG_DATABASE_URL_TAGS"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-users.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-prod/api-users-prod-service"
        name                               = "api-users-prod-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-prod:41" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (5 unchanged blocks hidden)
    }

  # module.prod.module.api-users.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-prod:41" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-api-users-prod-app"
                  ~ secrets          = [
                        # (5 unchanged elements hidden)
                        {
                            name      = "JOURNEYS_ADMIN_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/JOURNEYS_ADMIN_URL"
                        },
                      - {
                          - name      = "NAT_ADDRESSES"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/NAT_ADDRESSES"
                        },
                        {
                            name      = "PG_DATABASE_URL_USERS"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/PG_DATABASE_URL_USERS"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/REDIS_PORT"
                        },
                        {
                            name      = "REDIS_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/REDIS_URL"
                        },
                        # (1 unchanged element hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-users-prod-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-users-prod-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-api-users-prod" -> (known after apply)
      ~ revision                 = 41 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.prod.module.api-users.module.ecs-task.aws_ssm_parameter.parameters["NAT_ADDRESSES"] will be destroyed
  # (because key ["NAT_ADDRESSES"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/NAT_ADDRESSES" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-users/prod/NAT_ADDRESSES" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-users/prod/NAT_ADDRESSES" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NAT_ADDRESSES"
        } -> null
      - tags_all        = {
          - "name" = "NAT_ADDRESSES"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-users.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-users/prod/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-users/prod/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-videos.module.alb-listener.aws_alb_listener.alb_listener will be created
+ resource "aws_alb_listener" "alb_listener" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-2:410965620680:loadbalancer/app/jfp-internal-alb-prod/ae1556aacf21465f"
      + port              = 4004
      + protocol          = "HTTP"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order = (known after apply)
          + type  = "fixed-response"

          + fixed_response {
              + content_type = "text/plain"
              + message_body = "No routes defined"
              + status_code  = "200"
            }
        }
    }

  # module.prod.module.api-videos.module.ecs-task.aws_alb_listener_rule.alb_listener_rule will be created
+ resource "aws_alb_listener_rule" "alb_listener_rule" {
      + arn          = (known after apply)
      + id           = (known after apply)
      + listener_arn = (known after apply)
      + priority     = (known after apply)
      + tags_all     = (known after apply)

      + action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }

      + condition {
          + host_header {
              + values = [
                  + "api-videos.service.internal",
                ]
            }
        }
    }

  # module.prod.module.api-videos.module.ecs-task.aws_alb_target_group.alb_target_group will be created
+ resource "aws_alb_target_group" "alb_target_group" {
      + arn                                = (known after apply)
      + arn_suffix                         = (known after apply)
      + connection_termination             = false
      + deregistration_delay               = "300"
      + id                                 = (known after apply)
      + ip_address_type                    = (known after apply)
      + lambda_multi_value_headers_enabled = false
      + load_balancing_algorithm_type      = (known after apply)
      + load_balancing_cross_zone_enabled  = (known after apply)
      + name                               = "api-videos-prod-tg"
      + port                               = 4004
      + preserve_client_ip                 = (known after apply)
      + protocol                           = "HTTP"
      + protocol_version                   = (known after apply)
      + proxy_protocol_v2                  = false
      + slow_start                         = 0
      + tags_all                           = (known after apply)
      + target_type                        = "ip"
      + vpc_id                             = "vpc-0b722b0a1f7789afd"

      + health_check {
          + enabled             = true
          + healthy_threshold   = 2
          + interval            = 5
          + matcher             = (known after apply)
          + path                = "/.well-known/apollo/server-health"
          + port                = "traffic-port"
          + protocol            = "HTTP"
          + timeout             = 4
          + unhealthy_threshold = 3
        }

      + stickiness (known after apply)

      + target_failover (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_appautoscaling_policy.ecs_policy_cpu will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_cpu" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-cpu-autoscaling-prod"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-prod/api-videos-prod-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageCPUUtilization"
            }
        }
    }

  # module.prod.module.api-videos.module.ecs-task.aws_appautoscaling_policy.ecs_policy_memory will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_memory" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-memory-autoscaling-prod"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-prod/api-videos-prod-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageMemoryUtilization"
            }
        }
    }

  # module.prod.module.api-videos.module.ecs-task.aws_appautoscaling_target.service_autoscaling will be created
+ resource "aws_appautoscaling_target" "service_autoscaling" {
      + arn                = (known after apply)
      + id                 = (known after apply)
      + max_capacity       = 2
      + min_capacity       = 1
      + resource_id        = "service/jfp-ecs-cluster-prod/api-videos-prod-service"
      + role_arn           = (known after apply)
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"
      + tags_all           = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_cloudwatch_log_group.ecs_cw_log_group will be created
+ resource "aws_cloudwatch_log_group" "ecs_cw_log_group" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + name              = "api-videos-prod-logs"
      + name_prefix       = (known after apply)
      + retention_in_days = 0
      + skip_destroy      = false
      + tags_all          = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ecr_lifecycle_policy.ecr_policy will be created
+ resource "aws_ecr_lifecycle_policy" "ecr_policy" {
      + id          = (known after apply)
      + policy      = jsonencode(
            {
              + rules = [
                  + {
                      + action       = {
                          + type = "expire"
                        }
                      + description  = "Expire more than 10 images"
                      + rulePriority = 1
                      + selection    = {
                          + countNumber = 10
                          + countType   = "imageCountMoreThan"
                          + tagStatus   = "any"
                        }
                    },
                ]
            }
        )
      + registry_id = (known after apply)
      + repository  = "jfp-api-videos-prod"
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ecr_repository.ecr_repository will be created
+ resource "aws_ecr_repository" "ecr_repository" {
      + arn                  = (known after apply)
      + id                   = (known after apply)
      + image_tag_mutability = "MUTABLE"
      + name                 = "jfp-api-videos-prod"
      + registry_id          = (known after apply)
      + repository_url       = (known after apply)
      + tags_all             = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ecs_service.ecs_service will be created
+ resource "aws_ecs_service" "ecs_service" {
      + cluster                            = "arn:aws:ecs:us-east-2:410965620680:cluster/jfp-ecs-cluster-prod"
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "api-videos-prod-service"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = (known after apply)
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "jfp-api-videos-prod-app"
          + container_port   = 4004
          + target_group_arn = (known after apply)
            # (1 unchanged attribute hidden)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = [
              + "sg-02935fccc551bacd8",
            ]
          + subnets          = [
              + "subnet-02f4c2a33ace122c5",
              + "subnet-036663ddfdb3b94b0",
              + "subnet-05c389158df4b940a",
            ]
        }
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ecs_task_definition.ecs_task_definition will be created
+ resource "aws_ecs_task_definition" "ecs_task_definition" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = (known after apply)
      + cpu                      = "1024"
      + execution_role_arn       = "arn:aws:iam::410965620680:role/jfp-ecs-task-execution-role"
      + family                   = "jfp-api-videos-prod"
      + id                       = (known after apply)
      + memory                   = "4096"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_route53_record.record will be created
+ resource "aws_route53_record" "record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "api-videos"
      + records         = [
          + "internal-jfp-internal-alb-prod-1581820397.us-east-2.elb.amazonaws.com",
        ]
      + ttl             = 300
      + type            = "CNAME"
      + zone_id         = "Z03223152FHL8WN66TI5X"
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/ALGOLIA_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_API_KEY"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_APPLICATION_ID"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/ALGOLIA_APPLICATION_ID"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_APPLICATION_ID"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_APPLICATION_ID"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_INDEX"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/ALGOLIA_INDEX"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_INDEX"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_INDEX"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/ARCLIGHT_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "ARCLIGHT_API_KEY"
        }
      + tags_all       = {
          + "name" = "ARCLIGHT_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_V3_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/ARCLIGHT_V3_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "ARCLIGHT_V3_URL"
        }
      + tags_all       = {
          + "name" = "ARCLIGHT_V3_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["BIG_QUERY_APPLICATION_JSON"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/BIG_QUERY_APPLICATION_JSON"
      + overwrite      = true
      + tags           = {
          + "name" = "BIG_QUERY_APPLICATION_JSON"
        }
      + tags_all       = {
          + "name" = "BIG_QUERY_APPLICATION_JSON"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["CROWDIN_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/CROWDIN_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "CROWDIN_API_KEY"
        }
      + tags_all       = {
          + "name" = "CROWDIN_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["GATEWAY_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/GATEWAY_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "GATEWAY_URL"
        }
      + tags_all       = {
          + "name" = "GATEWAY_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["PG_DATABASE_URL_VIDEOS"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/PG_DATABASE_URL_VIDEOS"
      + overwrite      = true
      + tags           = {
          + "name" = "PG_DATABASE_URL_VIDEOS"
        }
      + tags_all       = {
          + "name" = "PG_DATABASE_URL_VIDEOS"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["REDIS_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/REDIS_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "REDIS_URL"
        }
      + tags_all       = {
          + "name" = "REDIS_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.journeys-admin.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-prod/journeys-admin-prod-service"
        name                               = "journeys-admin-prod-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-prod:4" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.prod.module.journeys-admin.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-prod:4" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-journeys-admin-prod-app"
                  ~ secrets          = [
                        # (4 unchanged elements hidden)
                        {
                            name      = "LAUNCH_DARKLY_SDK_KEY"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/LAUNCH_DARKLY_SDK_KEY"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_API_KEY"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_APP_ID"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_APP_ID"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_INDEX"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_INDEX"
                        },
                        {
                            name      = "NEXT_PUBLIC_CLOUDFLARE_STREAM_CUSTOMER_CODE"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_CLOUDFLARE_STREAM_CUSTOMER_CODE"
                        },
                        # (16 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-journeys-admin-prod-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-journeys-admin-prod-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-journeys-admin-prod" -> (known after apply)
      ~ revision                 = 4 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.prod.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_API_KEY"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_APP_ID"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_APP_ID"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_APP_ID"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_APP_ID"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_INDEX"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_INDEX"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_INDEX"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_INDEX"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-journeys.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-stage/api-journeys-stage-service"
        name                               = "api-journeys-stage-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-journeys-stage:40" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.stage.module.api-journeys.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-journeys-stage:40" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-journeys-stage" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-api-journeys-stage-app"
                  ~ secrets          = [
                        # (26 unchanged elements hidden)
                        {
                            name      = "POWER_BI_WORKSPACE_ID"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/stage/POWER_BI_WORKSPACE_ID"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/stage/REDIS_PORT"
                        },
                        {
                            name      = "REDIS_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/stage/REDIS_URL"
                        },
                        # (4 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-journeys-stage-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-journeys-stage-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-api-journeys-stage" -> (known after apply)
      ~ revision                 = 40 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.stage.module.api-journeys.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/stage/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-journeys/stage/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-journeys/stage/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-languages.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-stage/api-languages-stage-service"
        name                               = "api-languages-stage-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-languages-stage:27" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (5 unchanged blocks hidden)
    }

  # module.stage.module.api-languages.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-languages-stage:27" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-languages-stage" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-api-languages-stage-app"
                  ~ secrets          = [
                        # (3 unchanged elements hidden)
                        {
                            name      = "PG_DATABASE_URL_LANGUAGES"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/stage/PG_DATABASE_URL_LANGUAGES"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/stage/REDIS_PORT"
                        },
                        {
                            name      = "REDIS_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/stage/REDIS_URL"
                        },
                        # (2 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-languages-stage-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-languages-stage-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-api-languages-stage" -> (known after apply)
      ~ revision                 = 27 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.stage.module.api-languages.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/stage/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-languages/stage/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-languages/stage/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-stage/api-media-stage-service"
        name                               = "api-media-stage-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-media-stage:20" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-media-stage:20" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-media-stage" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ cpu              = 1024 -> 512
                  ~ memory           = 2048 -> 1024
                    name             = "jfp-api-media-stage-app"
                  ~ secrets          = [
                      - {
                          - name      = "ALGOLIA_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_API_KEY"
                        },
                      - {
                          - name      = "ALGOLIA_APPLICATION_ID"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_APPLICATION_ID"
                        },
                      - {
                          - name      = "ALGOLIA_INDEX"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_INDEX"
                        },
                      - {
                          - name      = "ARCLIGHT_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ARCLIGHT_API_KEY"
                        },
                      - {
                          - name      = "ARCLIGHT_V3_URL"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ARCLIGHT_V3_URL"
                        },
                      - {
                          - name      = "BIG_QUERY_APPLICATION_JSON"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/BIG_QUERY_APPLICATION_JSON"
                        },
                        {
                            name      = "CLOUDFLARE_ACCOUNT_ID"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/CLOUDFLARE_ACCOUNT_ID"
                        },
                        # (1 unchanged element hidden)
                        {
                            name      = "CLOUDFLARE_STREAM_TOKEN"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/CLOUDFLARE_STREAM_TOKEN"
                        },
                      - {
                          - name      = "CROWDIN_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/CROWDIN_API_KEY"
                        },
                      - {
                          - name      = "GATEWAY_URL"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/GATEWAY_URL"
                        },
                        {
                            name      = "GOOGLE_APPLICATION_JSON"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/GOOGLE_APPLICATION_JSON"
                        },
                        {
                            name      = "PG_DATABASE_URL_MEDIA"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/PG_DATABASE_URL_MEDIA"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/REDIS_PORT"
                        },
                      - {
                          - name      = "REDIS_URL"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/REDIS_URL"
                        },
                        {
                            name      = "SEGMIND_API_KEY"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/SEGMIND_API_KEY"
                        },
                        # (2 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (7 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-media-stage-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-media-stage-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ cpu                      = "1024" -> "512" # forces replacement
      ~ id                       = "jfp-api-media-stage" -> (known after apply)
      ~ memory                   = "2048" -> "1024" # forces replacement
      ~ revision                 = 20 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (8 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_API_KEY"] will be destroyed
  # (because key ["ALGOLIA_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/ALGOLIA_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/ALGOLIA_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ALGOLIA_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "ALGOLIA_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 3 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_APPLICATION_ID"] will be destroyed
  # (because key ["ALGOLIA_APPLICATION_ID"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_APPLICATION_ID" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/ALGOLIA_APPLICATION_ID" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/ALGOLIA_APPLICATION_ID" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ALGOLIA_APPLICATION_ID"
        } -> null
      - tags_all        = {
          - "name" = "ALGOLIA_APPLICATION_ID"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_INDEX"] will be destroyed
  # (because key ["ALGOLIA_INDEX"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_INDEX" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/ALGOLIA_INDEX" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/ALGOLIA_INDEX" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ALGOLIA_INDEX"
        } -> null
      - tags_all        = {
          - "name" = "ALGOLIA_INDEX"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_API_KEY"] will be destroyed
  # (because key ["ARCLIGHT_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ARCLIGHT_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/ARCLIGHT_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/ARCLIGHT_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ARCLIGHT_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "ARCLIGHT_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_V3_URL"] will be destroyed
  # (because key ["ARCLIGHT_V3_URL"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ARCLIGHT_V3_URL" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/ARCLIGHT_V3_URL" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/ARCLIGHT_V3_URL" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ARCLIGHT_V3_URL"
        } -> null
      - tags_all        = {
          - "name" = "ARCLIGHT_V3_URL"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["BIG_QUERY_APPLICATION_JSON"] will be destroyed
  # (because key ["BIG_QUERY_APPLICATION_JSON"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/BIG_QUERY_APPLICATION_JSON" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/BIG_QUERY_APPLICATION_JSON" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/BIG_QUERY_APPLICATION_JSON" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "BIG_QUERY_APPLICATION_JSON"
        } -> null
      - tags_all        = {
          - "name" = "BIG_QUERY_APPLICATION_JSON"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["CROWDIN_API_KEY"] will be destroyed
  # (because key ["CROWDIN_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/CROWDIN_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/CROWDIN_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/CROWDIN_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "CROWDIN_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "CROWDIN_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["GATEWAY_URL"] will be destroyed
  # (because key ["GATEWAY_URL"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/GATEWAY_URL" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/GATEWAY_URL" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/GATEWAY_URL" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "GATEWAY_URL"
        } -> null
      - tags_all        = {
          - "name" = "GATEWAY_URL"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["REDIS_URL"] will be destroyed
  # (because key ["REDIS_URL"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/REDIS_URL" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/REDIS_URL" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/REDIS_URL" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_URL"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_URL"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-nexus.module.alb-listener.aws_alb_listener.alb_listener will be created
+ resource "aws_alb_listener" "alb_listener" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-2:410965620680:loadbalancer/app/jfp-internal-alb-stage/846f69021da58f87"
      + port              = 4007
      + protocol          = "HTTP"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order = (known after apply)
          + type  = "fixed-response"

          + fixed_response {
              + content_type = "text/plain"
              + message_body = "No routes defined"
              + status_code  = "200"
            }
        }
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_alb_listener_rule.alb_listener_rule will be created
+ resource "aws_alb_listener_rule" "alb_listener_rule" {
      + arn          = (known after apply)
      + id           = (known after apply)
      + listener_arn = (known after apply)
      + priority     = (known after apply)
      + tags_all     = (known after apply)

      + action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }

      + condition {
          + host_header {
              + values = [
                  + "api-nexus.stage.internal",
                ]
            }
        }
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_alb_target_group.alb_target_group will be created
+ resource "aws_alb_target_group" "alb_target_group" {
      + arn                                = (known after apply)
      + arn_suffix                         = (known after apply)
      + connection_termination             = false
      + deregistration_delay               = "300"
      + id                                 = (known after apply)
      + ip_address_type                    = (known after apply)
      + lambda_multi_value_headers_enabled = false
      + load_balancing_algorithm_type      = (known after apply)
      + load_balancing_cross_zone_enabled  = (known after apply)
      + name                               = "api-nexus-stage-tg"
      + port                               = 4007
      + preserve_client_ip                 = (known after apply)
      + protocol                           = "HTTP"
      + protocol_version                   = (known after apply)
      + proxy_protocol_v2                  = false
      + slow_start                         = 0
      + tags_all                           = (known after apply)
      + target_type                        = "ip"
      + vpc_id                             = "vpc-08eeff0fe23f23079"

      + health_check {
          + enabled             = true
          + healthy_threshold   = 2
          + interval            = 5
          + matcher             = (known after apply)
          + path                = "/.well-known/apollo/server-health"
          + port                = "traffic-port"
          + protocol            = "HTTP"
          + timeout             = 4
          + unhealthy_threshold = 3
        }

      + stickiness (known after apply)

      + target_failover (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_appautoscaling_policy.ecs_policy_cpu will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_cpu" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-cpu-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-nexus-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageCPUUtilization"
            }
     

Warning: Output length greater than max comment size. Continued in next comment.

@jesus-film-bot
Copy link
Collaborator

Continued plan output from previous comment.

Show Output
   }
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_appautoscaling_policy.ecs_policy_memory will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_memory" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-memory-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-nexus-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageMemoryUtilization"
            }
        }
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_appautoscaling_target.service_autoscaling will be created
+ resource "aws_appautoscaling_target" "service_autoscaling" {
      + arn                = (known after apply)
      + id                 = (known after apply)
      + max_capacity       = 2
      + min_capacity       = 1
      + resource_id        = "service/jfp-ecs-cluster-stage/api-nexus-stage-service"
      + role_arn           = (known after apply)
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"
      + tags_all           = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_cloudwatch_log_group.ecs_cw_log_group will be created
+ resource "aws_cloudwatch_log_group" "ecs_cw_log_group" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + name              = "api-nexus-stage-logs"
      + name_prefix       = (known after apply)
      + retention_in_days = 0
      + skip_destroy      = false
      + tags_all          = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ecr_lifecycle_policy.ecr_policy will be created
+ resource "aws_ecr_lifecycle_policy" "ecr_policy" {
      + id          = (known after apply)
      + policy      = jsonencode(
            {
              + rules = [
                  + {
                      + action       = {
                          + type = "expire"
                        }
                      + description  = "Expire more than 10 images"
                      + rulePriority = 1
                      + selection    = {
                          + countNumber = 10
                          + countType   = "imageCountMoreThan"
                          + tagStatus   = "any"
                        }
                    },
                ]
            }
        )
      + registry_id = (known after apply)
      + repository  = "jfp-api-nexus-stage"
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ecr_repository.ecr_repository will be created
+ resource "aws_ecr_repository" "ecr_repository" {
      + arn                  = (known after apply)
      + id                   = (known after apply)
      + image_tag_mutability = "MUTABLE"
      + name                 = "jfp-api-nexus-stage"
      + registry_id          = (known after apply)
      + repository_url       = (known after apply)
      + tags_all             = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ecs_service.ecs_service will be created
+ resource "aws_ecs_service" "ecs_service" {
      + cluster                            = "arn:aws:ecs:us-east-2:410965620680:cluster/jfp-ecs-cluster-stage"
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "api-nexus-stage-service"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = (known after apply)
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "jfp-api-nexus-stage-app"
          + container_port   = 4007
          + target_group_arn = (known after apply)
            # (1 unchanged attribute hidden)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = [
              + "sg-087bc43a262c94bc1",
            ]
          + subnets          = [
              + "subnet-01f4e86883462b5ce",
              + "subnet-062de12e3e3639eff",
              + "subnet-09cbfc19be5214a8b",
            ]
        }
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ecs_task_definition.ecs_task_definition will be created
+ resource "aws_ecs_task_definition" "ecs_task_definition" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = (known after apply)
      + cpu                      = "1024"
      + execution_role_arn       = "arn:aws:iam::410965620680:role/jfp-ecs-task-execution-role"
      + family                   = "jfp-api-nexus-stage"
      + id                       = (known after apply)
      + memory                   = "2048"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_route53_record.record will be created
+ resource "aws_route53_record" "record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "api-nexus"
      + records         = [
          + "internal-jfp-internal-alb-stage-154137661.us-east-2.elb.amazonaws.com",
        ]
      + ttl             = 300
      + type            = "CNAME"
      + zone_id         = "Z056780738DT3AZL6A4WD"
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_ACCESS_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/BUCKET_ACCESS_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_ACCESS_KEY"
        }
      + tags_all       = {
          + "name" = "BUCKET_ACCESS_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_ENDPOINT"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/BUCKET_ENDPOINT"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_ENDPOINT"
        }
      + tags_all       = {
          + "name" = "BUCKET_ENDPOINT"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_NAME"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/BUCKET_NAME"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_NAME"
        }
      + tags_all       = {
          + "name" = "BUCKET_NAME"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_REGION"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/BUCKET_REGION"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_REGION"
        }
      + tags_all       = {
          + "name" = "BUCKET_REGION"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_SECRET_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/BUCKET_SECRET_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_SECRET_KEY"
        }
      + tags_all       = {
          + "name" = "BUCKET_SECRET_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["CLOUDFLARE_ACCOUNT_ID"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/CLOUDFLARE_ACCOUNT_ID"
      + overwrite      = true
      + tags           = {
          + "name" = "CLOUDFLARE_ACCOUNT_ID"
        }
      + tags_all       = {
          + "name" = "CLOUDFLARE_ACCOUNT_ID"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["CLOUDFLARE_API_TOKEN"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/CLOUDFLARE_API_TOKEN"
      + overwrite      = true
      + tags           = {
          + "name" = "CLOUDFLARE_API_TOKEN"
        }
      + tags_all       = {
          + "name" = "CLOUDFLARE_API_TOKEN"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["CLOUDFLARE_STREAM_TOKEN"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/CLOUDFLARE_STREAM_TOKEN"
      + overwrite      = true
      + tags           = {
          + "name" = "CLOUDFLARE_STREAM_TOKEN"
        }
      + tags_all       = {
          + "name" = "CLOUDFLARE_STREAM_TOKEN"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["FIREBASE_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/FIREBASE_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "FIREBASE_API_KEY"
        }
      + tags_all       = {
          + "name" = "FIREBASE_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/GOOGLE_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_API_KEY"
        }
      + tags_all       = {
          + "name" = "GOOGLE_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_APPLICATION_JSON"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/GOOGLE_APPLICATION_JSON"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_APPLICATION_JSON"
        }
      + tags_all       = {
          + "name" = "GOOGLE_APPLICATION_JSON"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_CLIENT_ID"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/GOOGLE_CLIENT_ID"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_CLIENT_ID"
        }
      + tags_all       = {
          + "name" = "GOOGLE_CLIENT_ID"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_CLIENT_SECRET"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/GOOGLE_CLIENT_SECRET"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_CLIENT_SECRET"
        }
      + tags_all       = {
          + "name" = "GOOGLE_CLIENT_SECRET"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["PG_DATABASE_URL_NEXUS"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/PG_DATABASE_URL_NEXUS"
      + overwrite      = true
      + tags           = {
          + "name" = "PG_DATABASE_URL_NEXUS"
        }
      + tags_all       = {
          + "name" = "PG_DATABASE_URL_NEXUS"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["REDIS_HOST"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/REDIS_HOST"
      + overwrite      = true
      + tags           = {
          + "name" = "REDIS_HOST"
        }
      + tags_all       = {
          + "name" = "REDIS_HOST"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-tags.module.alb-listener.aws_alb_listener.alb_listener will be created
+ resource "aws_alb_listener" "alb_listener" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-2:410965620680:loadbalancer/app/jfp-internal-alb-stage/846f69021da58f87"
      + port              = 4006
      + protocol          = "HTTP"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order = (known after apply)
          + type  = "fixed-response"

          + fixed_response {
              + content_type = "text/plain"
              + message_body = "No routes defined"
              + status_code  = "200"
            }
        }
    }

  # module.stage.module.api-tags.module.ecs-task.aws_alb_listener_rule.alb_listener_rule will be created
+ resource "aws_alb_listener_rule" "alb_listener_rule" {
      + arn          = (known after apply)
      + id           = (known after apply)
      + listener_arn = (known after apply)
      + priority     = (known after apply)
      + tags_all     = (known after apply)

      + action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }

      + condition {
          + host_header {
              + values = [
                  + "api-tags.stage.internal",
                ]
            }
        }
    }

  # module.stage.module.api-tags.module.ecs-task.aws_alb_target_group.alb_target_group will be created
+ resource "aws_alb_target_group" "alb_target_group" {
      + arn                                = (known after apply)
      + arn_suffix                         = (known after apply)
      + connection_termination             = false
      + deregistration_delay               = "300"
      + id                                 = (known after apply)
      + ip_address_type                    = (known after apply)
      + lambda_multi_value_headers_enabled = false
      + load_balancing_algorithm_type      = (known after apply)
      + load_balancing_cross_zone_enabled  = (known after apply)
      + name                               = "api-tags-stage-tg"
      + port                               = 4006
      + preserve_client_ip                 = (known after apply)
      + protocol                           = "HTTP"
      + protocol_version                   = (known after apply)
      + proxy_protocol_v2                  = false
      + slow_start                         = 0
      + tags_all                           = (known after apply)
      + target_type                        = "ip"
      + vpc_id                             = "vpc-08eeff0fe23f23079"

      + health_check {
          + enabled             = true
          + healthy_threshold   = 2
          + interval            = 5
          + matcher             = (known after apply)
          + path                = "/.well-known/apollo/server-health"
          + port                = "traffic-port"
          + protocol            = "HTTP"
          + timeout             = 4
          + unhealthy_threshold = 3
        }

      + stickiness (known after apply)

      + target_failover (known after apply)
    }

  # module.stage.module.api-tags.module.ecs-task.aws_appautoscaling_policy.ecs_policy_cpu will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_cpu" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-cpu-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-tags-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageCPUUtilization"
            }
        }
    }

  # module.stage.module.api-tags.module.ecs-task.aws_appautoscaling_policy.ecs_policy_memory will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_memory" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-memory-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-tags-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageMemoryUtilization"
            }
        }
    }

  # module.stage.module.api-tags.module.ecs-task.aws_appautoscaling_target.service_autoscaling will be created
+ resource "aws_appautoscaling_target" "service_autoscaling" {
      + arn                = (known after apply)
      + id                 = (known after apply)
      + max_capacity       = 2
      + min_capacity       = 1
      + resource_id        = "service/jfp-ecs-cluster-stage/api-tags-stage-service"
      + role_arn           = (known after apply)
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"
      + tags_all           = (known after apply)
    }

  # module.stage.module.api-tags.module.ecs-task.aws_cloudwatch_log_group.ecs_cw_log_group will be created
+ resource "aws_cloudwatch_log_group" "ecs_cw_log_group" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + name              = "api-tags-stage-logs"
      + name_prefix       = (known after apply)
      + retention_in_days = 0
      + skip_destroy      = false
      + tags_all          = (known after apply)
    }

  # module.stage.module.api-tags.module.ecs-task.aws_ecr_lifecycle_policy.ecr_policy will be created
+ resource "aws_ecr_lifecycle_policy" "ecr_policy" {
      + id          = (known after apply)
      + policy      = jsonencode(
            {
              + rules = [
                  + {
                      + action       = {
                          + type = "expire"
                        }
                      + description  = "Expire more than 10 images"
                      + rulePriority = 1
                      + selection    = {
                          + countNumber = 10
                          + countType   = "imageCountMoreThan"
                          + tagStatus   = "any"
                        }
                    },
                ]
            }
        )
      + registry_id = (known after apply)
      + repository  = "jfp-api-tags-stage"
    }

  # module.stage.module.api-tags.module.ecs-task.aws_ecr_repository.ecr_repository will be created
+ resource "aws_ecr_repository" "ecr_repository" {
      + arn                  = (known after apply)
      + id                   = (known after apply)
      + image_tag_mutability = "MUTABLE"
      + name                 = "jfp-api-tags-stage"
      + registry_id          = (known after apply)
      + repository_url       = (known after apply)
      + tags_all             = (known after apply)
    }

  # module.stage.module.api-tags.module.ecs-task.aws_ecs_service.ecs_service will be created
+ resource "aws_ecs_service" "ecs_service" {
      + cluster                            = "arn:aws:ecs:us-east-2:410965620680:cluster/jfp-ecs-cluster-stage"
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "api-tags-stage-service"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = (known after apply)
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "jfp-api-tags-stage-app"
          + container_port   = 4006
          + target_group_arn = (known after apply)
            # (1 unchanged attribute hidden)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = [
              + "sg-087bc43a262c94bc1",
            ]
          + subnets          = [
              + "subnet-01f4e86883462b5ce",
              + "subnet-062de12e3e3639eff",
              + "subnet-09cbfc19be5214a8b",
            ]
        }
    }

  # module.stage.module.api-tags.module.ecs-task.aws_ecs_task_definition.ecs_task_definition will be created
+ resource "aws_ecs_task_definition" "ecs_task_definition" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = (known after apply)
      + cpu                      = "512"
      + execution_role_arn       = "arn:aws:iam::410965620680:role/jfp-ecs-task-execution-role"
      + family                   = "jfp-api-tags-stage"
      + id                       = (known after apply)
      + memory                   = "1024"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = (known after apply)
    }

  # module.stage.module.api-tags.module.ecs-task.aws_route53_record.record will be created
+ resource "aws_route53_record" "record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "api-tags"
      + records         = [
          + "internal-jfp-internal-alb-stage-154137661.us-east-2.elb.amazonaws.com",
        ]
      + ttl             = 300
      + type            = "CNAME"
      + zone_id         = "Z056780738DT3AZL6A4WD"
    }

  # module.stage.module.api-tags.module.ecs-task.aws_ssm_parameter.parameters["PG_DATABASE_URL_TAGS"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-tags/stage/PG_DATABASE_URL_TAGS"
      + overwrite      = true
      + tags           = {
          + "name" = "PG_DATABASE_URL_TAGS"
        }
      + tags_all       = {
          + "name" = "PG_DATABASE_URL_TAGS"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-users.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-stage/api-users-stage-service"
        name                               = "api-users-stage-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-stage:31" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.stage.module.api-users.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-stage:31" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-stage" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-api-users-stage-app"
                  ~ secrets          = [
                        # (5 unchanged elements hidden)
                        {
                            name      = "JOURNEYS_ADMIN_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/JOURNEYS_ADMIN_URL"
                        },
                      - {
                          - name      = "NAT_ADDRESSES"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/NAT_ADDRESSES"
                        },
                        {
                            name      = "PG_DATABASE_URL_USERS"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/PG_DATABASE_URL_USERS"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/REDIS_PORT"
                        },
                        {
                            name      = "REDIS_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/REDIS_URL"
                        },
                        # (1 unchanged element hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-users-stage-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-users-stage-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-api-users-stage" -> (known after apply)
      ~ revision                 = 31 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.stage.module.api-users.module.ecs-task.aws_ssm_parameter.parameters["NAT_ADDRESSES"] will be destroyed
  # (because key ["NAT_ADDRESSES"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/NAT_ADDRESSES" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-users/stage/NAT_ADDRESSES" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-users/stage/NAT_ADDRESSES" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NAT_ADDRESSES"
        } -> null
      - tags_all        = {
          - "name" = "NAT_ADDRESSES"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-users.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-users/stage/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-users/stage/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-videos.module.alb-listener.aws_alb_listener.alb_listener will be created
+ resource "aws_alb_listener" "alb_listener" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-2:410965620680:loadbalancer/app/jfp-internal-alb-stage/846f69021da58f87"
      + port              = 4004
      + protocol          = "HTTP"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order = (known after apply)
          + type  = "fixed-response"

          + fixed_response {
              + content_type = "text/plain"
              + message_body = "No routes defined"
              + status_code  = "200"
            }
        }
    }

  # module.stage.module.api-videos.module.ecs-task.aws_alb_listener_rule.alb_listener_rule will be created
+ resource "aws_alb_listener_rule" "alb_listener_rule" {
      + arn          = (known after apply)
      + id           = (known after apply)
      + listener_arn = (known after apply)
      + priority     = (known after apply)
      + tags_all     = (known after apply)

      + action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }

      + condition {
          + host_header {
              + values = [
                  + "api-videos.stage.internal",
                ]
            }
        }
    }

  # module.stage.module.api-videos.module.ecs-task.aws_alb_target_group.alb_target_group will be created
+ resource "aws_alb_target_group" "alb_target_group" {
      + arn                                = (known after apply)
      + arn_suffix                         = (known after apply)
      + connection_termination             = false
      + deregistration_delay               = "300"
      + id                                 = (known after apply)
      + ip_address_type                    = (known after apply)
      + lambda_multi_value_headers_enabled = false
      + load_balancing_algorithm_type      = (known after apply)
      + load_balancing_cross_zone_enabled  = (known after apply)
      + name                               = "api-videos-stage-tg"
      + port                               = 4004
      + preserve_client_ip                 = (known after apply)
      + protocol                           = "HTTP"
      + protocol_version                   = (known after apply)
      + proxy_protocol_v2                  = false
      + slow_start                         = 0
      + tags_all                           = (known after apply)
      + target_type                        = "ip"
      + vpc_id                             = "vpc-08eeff0fe23f23079"

      + health_check {
          + enabled             = true
          + healthy_threshold   = 2
          + interval            = 5
          + matcher             = (known after apply)
          + path                = "/.well-known/apollo/server-health"
          + port                = "traffic-port"
          + protocol            = "HTTP"
          + timeout             = 4
          + unhealthy_threshold = 3
        }

      + stickiness (known after apply)

      + target_failover (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_appautoscaling_policy.ecs_policy_cpu will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_cpu" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-cpu-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-videos-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageCPUUtilization"
            }
        }
    }

  # module.stage.module.api-videos.module.ecs-task.aws_appautoscaling_policy.ecs_policy_memory will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_memory" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-memory-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-videos-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageMemoryUtilization"
            }
        }
    }

  # module.stage.module.api-videos.module.ecs-task.aws_appautoscaling_target.service_autoscaling will be created
+ resource "aws_appautoscaling_target" "service_autoscaling" {
      + arn                = (known after apply)
      + id                 = (known after apply)
      + max_capacity       = 2
      + min_capacity       = 1
      + resource_id        = "service/jfp-ecs-cluster-stage/api-videos-stage-service"
      + role_arn           = (known after apply)
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"
      + tags_all           = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_cloudwatch_log_group.ecs_cw_log_group will be created
+ resource "aws_cloudwatch_log_group" "ecs_cw_log_group" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + name              = "api-videos-stage-logs"
      + name_prefix       = (known after apply)
      + retention_in_days = 0
      + skip_destroy      = false
      + tags_all          = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ecr_lifecycle_policy.ecr_policy will be created
+ resource "aws_ecr_lifecycle_policy" "ecr_policy" {
      + id          = (known after apply)
      + policy      = jsonencode(
            {
              + rules = [
                  + {
                      + action       = {
                          + type = "expire"
                        }
                      + description  = "Expire more than 10 images"
                      + rulePriority = 1
                      + selection    = {
                          + countNumber = 10
                          + countType   = "imageCountMoreThan"
                          + tagStatus   = "any"
                        }
                    },
                ]
            }
        )
      + registry_id = (known after apply)
      + repository  = "jfp-api-videos-stage"
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ecr_repository.ecr_repository will be created
+ resource "aws_ecr_repository" "ecr_repository" {
      + arn                  = (known after apply)
      + id                   = (known after apply)
      + image_tag_mutability = "MUTABLE"
      + name                 = "jfp-api-videos-stage"
      + registry_id          = (known after apply)
      + repository_url       = (known after apply)
      + tags_all             = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ecs_service.ecs_service will be created
+ resource "aws_ecs_service" "ecs_service" {
      + cluster                            = "arn:aws:ecs:us-east-2:410965620680:cluster/jfp-ecs-cluster-stage"
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "api-videos-stage-service"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = (known after apply)
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "jfp-api-videos-stage-app"
          + container_port   = 4004
          + target_group_arn = (known after apply)
            # (1 unchanged attribute hidden)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = [
              + "sg-087bc43a262c94bc1",
            ]
          + subnets          = [
              + "subnet-01f4e86883462b5ce",
              + "subnet-062de12e3e3639eff",
              + "subnet-09cbfc19be5214a8b",
            ]
        }
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ecs_task_definition.ecs_task_definition will be created
+ resource "aws_ecs_task_definition" "ecs_task_definition" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = (known after apply)
      + cpu                      = "1024"
      + execution_role_arn       = "arn:aws:iam::410965620680:role/jfp-ecs-task-execution-role"
      + family                   = "jfp-api-videos-stage"
      + id                       = (known after apply)
      + memory                   = "4096"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_route53_record.record will be created
+ resource "aws_route53_record" "record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "api-videos"
      + records         = [
          + "internal-jfp-internal-alb-stage-154137661.us-east-2.elb.amazonaws.com",
        ]
      + ttl             = 300
      + type            = "CNAME"
      + zone_id         = "Z056780738DT3AZL6A4WD"
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/ALGOLIA_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_API_KEY"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_APPLICATION_ID"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/ALGOLIA_APPLICATION_ID"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_APPLICATION_ID"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_APPLICATION_ID"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_INDEX"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/ALGOLIA_INDEX"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_INDEX"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_INDEX"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/ARCLIGHT_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "ARCLIGHT_API_KEY"
        }
      + tags_all       = {
          + "name" = "ARCLIGHT_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_V3_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/ARCLIGHT_V3_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "ARCLIGHT_V3_URL"
        }
      + tags_all       = {
          + "name" = "ARCLIGHT_V3_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["BIG_QUERY_APPLICATION_JSON"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/BIG_QUERY_APPLICATION_JSON"
      + overwrite      = true
      + tags           = {
          + "name" = "BIG_QUERY_APPLICATION_JSON"
        }
      + tags_all       = {
          + "name" = "BIG_QUERY_APPLICATION_JSON"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["CROWDIN_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/CROWDIN_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "CROWDIN_API_KEY"
        }
      + tags_all       = {
          + "name" = "CROWDIN_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["GATEWAY_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/GATEWAY_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "GATEWAY_URL"
        }
      + tags_all       = {
          + "name" = "GATEWAY_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["PG_DATABASE_URL_VIDEOS"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/PG_DATABASE_URL_VIDEOS"
      + overwrite      = true
      + tags           = {
          + "name" = "PG_DATABASE_URL_VIDEOS"
        }
      + tags_all       = {
          + "name" = "PG_DATABASE_URL_VIDEOS"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["REDIS_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/REDIS_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "REDIS_URL"
        }
      + tags_all       = {
          + "name" = "REDIS_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.journeys-admin.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-stage/journeys-admin-stage-service"
        name                               = "journeys-admin-stage-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-stage:7" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.stage.module.journeys-admin.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-stage:7" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-stage" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-journeys-admin-stage-app"
                  ~ secrets          = [
                        # (4 unchanged elements hidden)
                        {
                            name      = "LAUNCH_DARKLY_SDK_KEY"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/LAUNCH_DARKLY_SDK_KEY"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_API_KEY"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_APP_ID"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_APP_ID"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_INDEX"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_INDEX"
                        },
                        {
                            name      = "NEXT_PUBLIC_CLOUDFLARE_STREAM_CUSTOMER_CODE"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_CLOUDFLARE_STREAM_CUSTOMER_CODE"
                        },
                        # (16 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-journeys-admin-stage-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-journeys-admin-stage-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-journeys-admin-stage" -> (known after apply)
      ~ revision                 = 7 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.stage.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_API_KEY"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_APP_ID"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_APP_ID"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_APP_ID"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_APP_ID"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_INDEX"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_INDEX"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_INDEX"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_INDEX"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

Plan: 134 to add, 10 to change, 44 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -d infrastructure
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -d infrastructure

Plan: 134 to add, 10 to change, 44 to destroy.


2. dir: infrastructure/resources/atlantis workspace: default

Show Output
No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.
╷
│ Warning: Argument is deprecated
│ 
│   with module.atlantis.module.ecs.aws_ecs_cluster.this[0],
│   on .terraform/modules/atlantis.ecs/main.tf line 1, in resource "aws_ecs_cluster" "this":
│    1: resource "aws_ecs_cluster" "this" {
│ 
│ Use the aws_ecs_cluster_capacity_providers resource instead
│ 
│ (and one more similar warning elsewhere)
╵
  • ▶️ To apply this plan, comment:
    atlantis apply -d infrastructure/resources/atlantis
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -d infrastructure/resources/atlantis

No changes. Your infrastructure matches the configuration.


3. dir: infrastructure/resources/doppler workspace: default

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.
  • ▶️ To apply this plan, comment:
    atlantis apply -d infrastructure/resources/doppler
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -d infrastructure/resources/doppler

4. dir: infrastructure/resources/terraform workspace: default

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.
  • ▶️ To apply this plan, comment:
    atlantis apply -d infrastructure/resources/terraform
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -d infrastructure/resources/terraform

Plan Summary

4 projects, 1 with changes, 3 with no changes, 0 failed

  • ⏩ To apply all unapplied plans from this Pull Request, comment:
    atlantis apply
  • 🚮 To delete all plans and locks from this Pull Request, comment:
    atlantis unlock

Copy link
Contributor

github-actions bot commented Sep 10, 2024

The latest updates on your projects.

Name Status Preview Updated (UTC)
docs ✅ Ready Visit Preview Tue Sep 10 02:50:16 UTC 2024

Copy link
Contributor

github-actions bot commented Sep 10, 2024

The latest updates on your projects.

Name Status Preview Updated (UTC)
arclight ✅ Ready Visit Preview Tue Sep 10 02:51:05 UTC 2024

Copy link
Contributor

github-actions bot commented Sep 10, 2024

The latest updates on your projects.

Name Status Preview Updated (UTC)
nexus-admin ✅ Ready Visit Preview Tue Sep 10 02:50:55 UTC 2024

@jesus-film-bot
Copy link
Collaborator

Ran Plan for 4 projects:

  1. dir: infrastructure workspace: default
  2. dir: infrastructure/resources/atlantis workspace: default
  3. dir: infrastructure/resources/doppler workspace: default
  4. dir: infrastructure/resources/terraform workspace: default

1. dir: infrastructure workspace: default

Show Output
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
~ update in-place
- destroy
+/- create replacement and then destroy

Terraform will perform the following actions:

  # module.prod.module.api-journeys.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-prod/api-journeys-prod-service"
        name                               = "api-journeys-prod-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-journeys-prod:49" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (5 unchanged blocks hidden)
    }

  # module.prod.module.api-journeys.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-journeys-prod:49" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-journeys-prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-api-journeys-prod-app"
                  ~ secrets          = [
                        # (26 unchanged elements hidden)
                        {
                            name      = "POWER_BI_WORKSPACE_ID"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/prod/POWER_BI_WORKSPACE_ID"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/prod/REDIS_PORT"
                        },
                        {
                            name      = "REDIS_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/prod/REDIS_URL"
                        },
                        # (4 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-journeys-prod-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-journeys-prod-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-api-journeys-prod" -> (known after apply)
      ~ revision                 = 49 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.prod.module.api-journeys.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/prod/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-journeys/prod/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-journeys/prod/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-languages.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-prod/api-languages-prod-service"
        name                               = "api-languages-prod-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-languages-prod:37" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.prod.module.api-languages.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-languages-prod:37" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-languages-prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-api-languages-prod-app"
                  ~ secrets          = [
                        # (3 unchanged elements hidden)
                        {
                            name      = "PG_DATABASE_URL_LANGUAGES"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/prod/PG_DATABASE_URL_LANGUAGES"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/prod/REDIS_PORT"
                        },
                        {
                            name      = "REDIS_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/prod/REDIS_URL"
                        },
                        # (2 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-languages-prod-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-languages-prod-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-api-languages-prod" -> (known after apply)
      ~ revision                 = 37 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.prod.module.api-languages.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/prod/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-languages/prod/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-languages/prod/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-prod/api-media-prod-service"
        name                               = "api-media-prod-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-media-prod:22" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (5 unchanged blocks hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-media-prod:22" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-media-prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ cpu              = 1024 -> 512
                  ~ memory           = 2048 -> 1024
                    name             = "jfp-api-media-prod-app"
                  ~ secrets          = [
                      - {
                          - name      = "ALGOLIA_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ALGOLIA_API_KEY"
                        },
                      - {
                          - name      = "ALGOLIA_APPLICATION_ID"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ALGOLIA_APPLICATION_ID"
                        },
                      - {
                          - name      = "ALGOLIA_INDEX"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ALGOLIA_INDEX"
                        },
                      - {
                          - name      = "ARCLIGHT_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ARCLIGHT_API_KEY"
                        },
                      - {
                          - name      = "ARCLIGHT_V3_URL"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ARCLIGHT_V3_URL"
                        },
                      - {
                          - name      = "BIG_QUERY_APPLICATION_JSON"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/BIG_QUERY_APPLICATION_JSON"
                        },
                        {
                            name      = "CLOUDFLARE_ACCOUNT_ID"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/CLOUDFLARE_ACCOUNT_ID"
                        },
                        # (1 unchanged element hidden)
                        {
                            name      = "CLOUDFLARE_STREAM_TOKEN"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/CLOUDFLARE_STREAM_TOKEN"
                        },
                      - {
                          - name      = "CROWDIN_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/CROWDIN_API_KEY"
                        },
                      - {
                          - name      = "GATEWAY_URL"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/GATEWAY_URL"
                        },
                        {
                            name      = "GOOGLE_APPLICATION_JSON"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/GOOGLE_APPLICATION_JSON"
                        },
                        {
                            name      = "PG_DATABASE_URL_MEDIA"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/PG_DATABASE_URL_MEDIA"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/REDIS_PORT"
                        },
                      - {
                          - name      = "REDIS_URL"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/REDIS_URL"
                        },
                        {
                            name      = "SEGMIND_API_KEY"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/SEGMIND_API_KEY"
                        },
                        # (2 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (7 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-media-prod-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-media-prod-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ cpu                      = "1024" -> "512" # forces replacement
      ~ id                       = "jfp-api-media-prod" -> (known after apply)
      ~ memory                   = "2048" -> "1024" # forces replacement
      ~ revision                 = 22 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (8 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_API_KEY"] will be destroyed
  # (because key ["ALGOLIA_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ALGOLIA_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/ALGOLIA_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/ALGOLIA_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ALGOLIA_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "ALGOLIA_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 3 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_APPLICATION_ID"] will be destroyed
  # (because key ["ALGOLIA_APPLICATION_ID"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ALGOLIA_APPLICATION_ID" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/ALGOLIA_APPLICATION_ID" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/ALGOLIA_APPLICATION_ID" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ALGOLIA_APPLICATION_ID"
        } -> null
      - tags_all        = {
          - "name" = "ALGOLIA_APPLICATION_ID"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_INDEX"] will be destroyed
  # (because key ["ALGOLIA_INDEX"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ALGOLIA_INDEX" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/ALGOLIA_INDEX" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/ALGOLIA_INDEX" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ALGOLIA_INDEX"
        } -> null
      - tags_all        = {
          - "name" = "ALGOLIA_INDEX"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_API_KEY"] will be destroyed
  # (because key ["ARCLIGHT_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ARCLIGHT_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/ARCLIGHT_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/ARCLIGHT_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ARCLIGHT_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "ARCLIGHT_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 3 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_V3_URL"] will be destroyed
  # (because key ["ARCLIGHT_V3_URL"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ARCLIGHT_V3_URL" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/ARCLIGHT_V3_URL" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/ARCLIGHT_V3_URL" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ARCLIGHT_V3_URL"
        } -> null
      - tags_all        = {
          - "name" = "ARCLIGHT_V3_URL"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["BIG_QUERY_APPLICATION_JSON"] will be destroyed
  # (because key ["BIG_QUERY_APPLICATION_JSON"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/BIG_QUERY_APPLICATION_JSON" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/BIG_QUERY_APPLICATION_JSON" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/BIG_QUERY_APPLICATION_JSON" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "BIG_QUERY_APPLICATION_JSON"
        } -> null
      - tags_all        = {
          - "name" = "BIG_QUERY_APPLICATION_JSON"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["CROWDIN_API_KEY"] will be destroyed
  # (because key ["CROWDIN_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/CROWDIN_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/CROWDIN_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/CROWDIN_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "CROWDIN_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "CROWDIN_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["GATEWAY_URL"] will be destroyed
  # (because key ["GATEWAY_URL"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/GATEWAY_URL" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/GATEWAY_URL" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/GATEWAY_URL" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "GATEWAY_URL"
        } -> null
      - tags_all        = {
          - "name" = "GATEWAY_URL"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["REDIS_URL"] will be destroyed
  # (because key ["REDIS_URL"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/REDIS_URL" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/REDIS_URL" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/REDIS_URL" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_URL"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_URL"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-nexus.module.alb-listener.aws_alb_listener.alb_listener will be created
+ resource "aws_alb_listener" "alb_listener" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-2:410965620680:loadbalancer/app/jfp-internal-alb-prod/ae1556aacf21465f"
      + port              = 4007
      + protocol          = "HTTP"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order = (known after apply)
          + type  = "fixed-response"

          + fixed_response {
              + content_type = "text/plain"
              + message_body = "No routes defined"
              + status_code  = "200"
            }
        }
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_alb_listener_rule.alb_listener_rule will be created
+ resource "aws_alb_listener_rule" "alb_listener_rule" {
      + arn          = (known after apply)
      + id           = (known after apply)
      + listener_arn = (known after apply)
      + priority     = (known after apply)
      + tags_all     = (known after apply)

      + action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }

      + condition {
          + host_header {
              + values = [
                  + "api-nexus.service.internal",
                ]
            }
        }
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_alb_target_group.alb_target_group will be created
+ resource "aws_alb_target_group" "alb_target_group" {
      + arn                                = (known after apply)
      + arn_suffix                         = (known after apply)
      + connection_termination             = false
      + deregistration_delay               = "300"
      + id                                 = (known after apply)
      + ip_address_type                    = (known after apply)
      + lambda_multi_value_headers_enabled = false
      + load_balancing_algorithm_type      = (known after apply)
      + load_balancing_cross_zone_enabled  = (known after apply)
      + name                               = "api-nexus-prod-tg"
      + port                               = 4007
      + preserve_client_ip                 = (known after apply)
      + protocol                           = "HTTP"
      + protocol_version                   = (known after apply)
      + proxy_protocol_v2                  = false
      + slow_start                         = 0
      + tags_all                           = (known after apply)
      + target_type                        = "ip"
      + vpc_id                             = "vpc-0b722b0a1f7789afd"

      + health_check {
          + enabled             = true
          + healthy_threshold   = 2
          + interval            = 5
          + matcher             = (known after apply)
          + path                = "/.well-known/apollo/server-health"
          + port                = "traffic-port"
          + protocol            = "HTTP"
          + timeout             = 4
          + unhealthy_threshold = 3
        }

      + stickiness (known after apply)

      + target_failover (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_appautoscaling_policy.ecs_policy_cpu will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_cpu" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-cpu-autoscaling-prod"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-prod/api-nexus-prod-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageCPUUtilization"
            }
        }
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_appautoscaling_policy.ecs_policy_memory will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_memory" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-memory-autoscaling-prod"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-prod/api-nexus-prod-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageMemoryUtilization"
            }
        }
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_appautoscaling_target.service_autoscaling will be created
+ resource "aws_appautoscaling_target" "service_autoscaling" {
      + arn                = (known after apply)
      + id                 = (known after apply)
      + max_capacity       = 2
      + min_capacity       = 1
      + resource_id        = "service/jfp-ecs-cluster-prod/api-nexus-prod-service"
      + role_arn           = (known after apply)
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"
      + tags_all           = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_cloudwatch_log_group.ecs_cw_log_group will be created
+ resource "aws_cloudwatch_log_group" "ecs_cw_log_group" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + name              = "api-nexus-prod-logs"
      + name_prefix       = (known after apply)
      + retention_in_days = 0
      + skip_destroy      = false
      + tags_all          = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ecr_lifecycle_policy.ecr_policy will be created
+ resource "aws_ecr_lifecycle_policy" "ecr_policy" {
      + id          = (known after apply)
      + policy      = jsonencode(
            {
              + rules = [
                  + {
                      + action       = {
                          + type = "expire"
                        }
                      + description  = "Expire more than 10 images"
                      + rulePriority = 1
                      + selection    = {
                          + countNumber = 10
                          + countType   = "imageCountMoreThan"
                          + tagStatus   = "any"
                        }
                    },
                ]
            }
        )
      + registry_id = (known after apply)
      + repository  = "jfp-api-nexus-prod"
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ecr_repository.ecr_repository will be created
+ resource "aws_ecr_repository" "ecr_repository" {
      + arn                  = (known after apply)
      + id                   = (known after apply)
      + image_tag_mutability = "MUTABLE"
      + name                 = "jfp-api-nexus-prod"
      + registry_id          = (known after apply)
      + repository_url       = (known after apply)
      + tags_all             = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ecs_service.ecs_service will be created
+ resource "aws_ecs_service" "ecs_service" {
      + cluster                            = "arn:aws:ecs:us-east-2:410965620680:cluster/jfp-ecs-cluster-prod"
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "api-nexus-prod-service"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = (known after apply)
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "jfp-api-nexus-prod-app"
          + container_port   = 4007
          + target_group_arn = (known after apply)
            # (1 unchanged attribute hidden)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = [
              + "sg-02935fccc551bacd8",
            ]
          + subnets          = [
              + "subnet-02f4c2a33ace122c5",
              + "subnet-036663ddfdb3b94b0",
              + "subnet-05c389158df4b940a",
            ]
        }
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ecs_task_definition.ecs_task_definition will be created
+ resource "aws_ecs_task_definition" "ecs_task_definition" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = (known after apply)
      + cpu                      = "1024"
      + execution_role_arn       = "arn:aws:iam::410965620680:role/jfp-ecs-task-execution-role"
      + family                   = "jfp-api-nexus-prod"
      + id                       = (known after apply)
      + memory                   = "2048"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_route53_record.record will be created
+ resource "aws_route53_record" "record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "api-nexus"
      + records         = [
          + "internal-jfp-internal-alb-prod-1581820397.us-east-2.elb.amazonaws.com",
        ]
      + ttl             = 300
      + type            = "CNAME"
      + zone_id         = "Z03223152FHL8WN66TI5X"
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_ACCESS_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/BUCKET_ACCESS_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_ACCESS_KEY"
        }
      + tags_all       = {
          + "name" = "BUCKET_ACCESS_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_ENDPOINT"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/BUCKET_ENDPOINT"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_ENDPOINT"
        }
      + tags_all       = {
          + "name" = "BUCKET_ENDPOINT"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_NAME"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/BUCKET_NAME"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_NAME"
        }
      + tags_all       = {
          + "name" = "BUCKET_NAME"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_REGION"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/BUCKET_REGION"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_REGION"
        }
      + tags_all       = {
          + "name" = "BUCKET_REGION"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_SECRET_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/BUCKET_SECRET_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_SECRET_KEY"
        }
      + tags_all       = {
          + "name" = "BUCKET_SECRET_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["CLOUDFLARE_ACCOUNT_ID"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/CLOUDFLARE_ACCOUNT_ID"
      + overwrite      = true
      + tags           = {
          + "name" = "CLOUDFLARE_ACCOUNT_ID"
        }
      + tags_all       = {
          + "name" = "CLOUDFLARE_ACCOUNT_ID"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["CLOUDFLARE_API_TOKEN"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/CLOUDFLARE_API_TOKEN"
      + overwrite      = true
      + tags           = {
          + "name" = "CLOUDFLARE_API_TOKEN"
        }
      + tags_all       = {
          + "name" = "CLOUDFLARE_API_TOKEN"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["CLOUDFLARE_STREAM_TOKEN"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/CLOUDFLARE_STREAM_TOKEN"
      + overwrite      = true
      + tags           = {
          + "name" = "CLOUDFLARE_STREAM_TOKEN"
        }
      + tags_all       = {
          + "name" = "CLOUDFLARE_STREAM_TOKEN"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["FIREBASE_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/FIREBASE_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "FIREBASE_API_KEY"
        }
      + tags_all       = {
          + "name" = "FIREBASE_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/GOOGLE_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_API_KEY"
        }
      + tags_all       = {
          + "name" = "GOOGLE_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_APPLICATION_JSON"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/GOOGLE_APPLICATION_JSON"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_APPLICATION_JSON"
        }
      + tags_all       = {
          + "name" = "GOOGLE_APPLICATION_JSON"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_CLIENT_ID"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/GOOGLE_CLIENT_ID"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_CLIENT_ID"
        }
      + tags_all       = {
          + "name" = "GOOGLE_CLIENT_ID"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_CLIENT_SECRET"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/GOOGLE_CLIENT_SECRET"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_CLIENT_SECRET"
        }
      + tags_all       = {
          + "name" = "GOOGLE_CLIENT_SECRET"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["PG_DATABASE_URL_NEXUS"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/PG_DATABASE_URL_NEXUS"
      + overwrite      = true
      + tags           = {
          + "name" = "PG_DATABASE_URL_NEXUS"
        }
      + tags_all       = {
          + "name" = "PG_DATABASE_URL_NEXUS"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["REDIS_HOST"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/REDIS_HOST"
      + overwrite      = true
      + tags           = {
          + "name" = "REDIS_HOST"
        }
      + tags_all       = {
          + "name" = "REDIS_HOST"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-tags.module.alb-listener.aws_alb_listener.alb_listener will be created
+ resource "aws_alb_listener" "alb_listener" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-2:410965620680:loadbalancer/app/jfp-internal-alb-prod/ae1556aacf21465f"
      + port              = 4006
      + protocol          = "HTTP"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order = (known after apply)
          + type  = "fixed-response"

          + fixed_response {
              + content_type = "text/plain"
              + message_body = "No routes defined"
              + status_code  = "200"
            }
        }
    }

  # module.prod.module.api-tags.module.ecs-task.aws_alb_listener_rule.alb_listener_rule will be created
+ resource "aws_alb_listener_rule" "alb_listener_rule" {
      + arn          = (known after apply)
      + id           = (known after apply)
      + listener_arn = (known after apply)
      + priority     = (known after apply)
      + tags_all     = (known after apply)

      + action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }

      + condition {
          + host_header {
              + values = [
                  + "api-tags.service.internal",
                ]
            }
        }
    }

  # module.prod.module.api-tags.module.ecs-task.aws_alb_target_group.alb_target_group will be created
+ resource "aws_alb_target_group" "alb_target_group" {
      + arn                                = (known after apply)
      + arn_suffix                         = (known after apply)
      + connection_termination             = false
      + deregistration_delay               = "300"
      + id                                 = (known after apply)
      + ip_address_type                    = (known after apply)
      + lambda_multi_value_headers_enabled = false
      + load_balancing_algorithm_type      = (known after apply)
      + load_balancing_cross_zone_enabled  = (known after apply)
      + name                               = "api-tags-prod-tg"
      + port                               = 4006
      + preserve_client_ip                 = (known after apply)
      + protocol                           = "HTTP"
      + protocol_version                   = (known after apply)
      + proxy_protocol_v2                  = false
      + slow_start                         = 0
      + tags_all                           = (known after apply)
      + target_type                        = "ip"
      + vpc_id                             = "vpc-0b722b0a1f7789afd"

      + health_check {
          + enabled             = true
          + healthy_threshold   = 2
          + interval            = 5
          + matcher             = (known after apply)
          + path                = "/.well-known/apollo/server-health"
          + port                = "traffic-port"
          + protocol            = "HTTP"
          + timeout             = 4
          + unhealthy_threshold = 3
        }

      + stickiness (known after apply)

      + target_failover (known after apply)
    }

  # module.prod.module.api-tags.module.ecs-task.aws_appautoscaling_policy.ecs_policy_cpu will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_cpu" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-cpu-autoscaling-prod"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-prod/api-tags-prod-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageCPUUtilization"
            }
        }
    }

  # module.prod.module.api-tags.module.ecs-task.aws_appautoscaling_policy.ecs_policy_memory will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_memory" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-memory-autoscaling-prod"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-prod/api-tags-prod-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageMemoryUtilization"
            }
        }
    }

  # module.prod.module.api-tags.module.ecs-task.aws_appautoscaling_target.service_autoscaling will be created
+ resource "aws_appautoscaling_target" "service_autoscaling" {
      + arn                = (known after apply)
      + id                 = (known after apply)
      + max_capacity       = 2
      + min_capacity       = 1
      + resource_id        = "service/jfp-ecs-cluster-prod/api-tags-prod-service"
      + role_arn           = (known after apply)
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"
      + tags_all           = (known after apply)
    }

  # module.prod.module.api-tags.module.ecs-task.aws_cloudwatch_log_group.ecs_cw_log_group will be created
+ resource "aws_cloudwatch_log_group" "ecs_cw_log_group" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + name              = "api-tags-prod-logs"
      + name_prefix       = (known after apply)
      + retention_in_days = 0
      + skip

Warning: Output length greater than max comment size. Continued in next comment.

@jesus-film-bot
Copy link
Collaborator

Continued plan output from previous comment.

Show Output
_destroy      = false
      + tags_all          = (known after apply)
    }

  # module.prod.module.api-tags.module.ecs-task.aws_ecr_lifecycle_policy.ecr_policy will be created
+ resource "aws_ecr_lifecycle_policy" "ecr_policy" {
      + id          = (known after apply)
      + policy      = jsonencode(
            {
              + rules = [
                  + {
                      + action       = {
                          + type = "expire"
                        }
                      + description  = "Expire more than 10 images"
                      + rulePriority = 1
                      + selection    = {
                          + countNumber = 10
                          + countType   = "imageCountMoreThan"
                          + tagStatus   = "any"
                        }
                    },
                ]
            }
        )
      + registry_id = (known after apply)
      + repository  = "jfp-api-tags-prod"
    }

  # module.prod.module.api-tags.module.ecs-task.aws_ecr_repository.ecr_repository will be created
+ resource "aws_ecr_repository" "ecr_repository" {
      + arn                  = (known after apply)
      + id                   = (known after apply)
      + image_tag_mutability = "MUTABLE"
      + name                 = "jfp-api-tags-prod"
      + registry_id          = (known after apply)
      + repository_url       = (known after apply)
      + tags_all             = (known after apply)
    }

  # module.prod.module.api-tags.module.ecs-task.aws_ecs_service.ecs_service will be created
+ resource "aws_ecs_service" "ecs_service" {
      + cluster                            = "arn:aws:ecs:us-east-2:410965620680:cluster/jfp-ecs-cluster-prod"
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "api-tags-prod-service"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = (known after apply)
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "jfp-api-tags-prod-app"
          + container_port   = 4006
          + target_group_arn = (known after apply)
            # (1 unchanged attribute hidden)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = [
              + "sg-02935fccc551bacd8",
            ]
          + subnets          = [
              + "subnet-02f4c2a33ace122c5",
              + "subnet-036663ddfdb3b94b0",
              + "subnet-05c389158df4b940a",
            ]
        }
    }

  # module.prod.module.api-tags.module.ecs-task.aws_ecs_task_definition.ecs_task_definition will be created
+ resource "aws_ecs_task_definition" "ecs_task_definition" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = (known after apply)
      + cpu                      = "512"
      + execution_role_arn       = "arn:aws:iam::410965620680:role/jfp-ecs-task-execution-role"
      + family                   = "jfp-api-tags-prod"
      + id                       = (known after apply)
      + memory                   = "1024"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = (known after apply)
    }

  # module.prod.module.api-tags.module.ecs-task.aws_route53_record.record will be created
+ resource "aws_route53_record" "record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "api-tags"
      + records         = [
          + "internal-jfp-internal-alb-prod-1581820397.us-east-2.elb.amazonaws.com",
        ]
      + ttl             = 300
      + type            = "CNAME"
      + zone_id         = "Z03223152FHL8WN66TI5X"
    }

  # module.prod.module.api-tags.module.ecs-task.aws_ssm_parameter.parameters["PG_DATABASE_URL_TAGS"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-tags/prod/PG_DATABASE_URL_TAGS"
      + overwrite      = true
      + tags           = {
          + "name" = "PG_DATABASE_URL_TAGS"
        }
      + tags_all       = {
          + "name" = "PG_DATABASE_URL_TAGS"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-users.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-prod/api-users-prod-service"
        name                               = "api-users-prod-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-prod:41" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (5 unchanged blocks hidden)
    }

  # module.prod.module.api-users.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-prod:41" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-api-users-prod-app"
                  ~ secrets          = [
                        # (5 unchanged elements hidden)
                        {
                            name      = "JOURNEYS_ADMIN_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/JOURNEYS_ADMIN_URL"
                        },
                      - {
                          - name      = "NAT_ADDRESSES"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/NAT_ADDRESSES"
                        },
                        {
                            name      = "PG_DATABASE_URL_USERS"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/PG_DATABASE_URL_USERS"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/REDIS_PORT"
                        },
                        {
                            name      = "REDIS_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/REDIS_URL"
                        },
                        # (1 unchanged element hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-users-prod-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-users-prod-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-api-users-prod" -> (known after apply)
      ~ revision                 = 41 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.prod.module.api-users.module.ecs-task.aws_ssm_parameter.parameters["NAT_ADDRESSES"] will be destroyed
  # (because key ["NAT_ADDRESSES"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/NAT_ADDRESSES" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-users/prod/NAT_ADDRESSES" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-users/prod/NAT_ADDRESSES" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NAT_ADDRESSES"
        } -> null
      - tags_all        = {
          - "name" = "NAT_ADDRESSES"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-users.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-users/prod/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-users/prod/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-videos.module.alb-listener.aws_alb_listener.alb_listener will be created
+ resource "aws_alb_listener" "alb_listener" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-2:410965620680:loadbalancer/app/jfp-internal-alb-prod/ae1556aacf21465f"
      + port              = 4004
      + protocol          = "HTTP"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order = (known after apply)
          + type  = "fixed-response"

          + fixed_response {
              + content_type = "text/plain"
              + message_body = "No routes defined"
              + status_code  = "200"
            }
        }
    }

  # module.prod.module.api-videos.module.ecs-task.aws_alb_listener_rule.alb_listener_rule will be created
+ resource "aws_alb_listener_rule" "alb_listener_rule" {
      + arn          = (known after apply)
      + id           = (known after apply)
      + listener_arn = (known after apply)
      + priority     = (known after apply)
      + tags_all     = (known after apply)

      + action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }

      + condition {
          + host_header {
              + values = [
                  + "api-videos.service.internal",
                ]
            }
        }
    }

  # module.prod.module.api-videos.module.ecs-task.aws_alb_target_group.alb_target_group will be created
+ resource "aws_alb_target_group" "alb_target_group" {
      + arn                                = (known after apply)
      + arn_suffix                         = (known after apply)
      + connection_termination             = false
      + deregistration_delay               = "300"
      + id                                 = (known after apply)
      + ip_address_type                    = (known after apply)
      + lambda_multi_value_headers_enabled = false
      + load_balancing_algorithm_type      = (known after apply)
      + load_balancing_cross_zone_enabled  = (known after apply)
      + name                               = "api-videos-prod-tg"
      + port                               = 4004
      + preserve_client_ip                 = (known after apply)
      + protocol                           = "HTTP"
      + protocol_version                   = (known after apply)
      + proxy_protocol_v2                  = false
      + slow_start                         = 0
      + tags_all                           = (known after apply)
      + target_type                        = "ip"
      + vpc_id                             = "vpc-0b722b0a1f7789afd"

      + health_check {
          + enabled             = true
          + healthy_threshold   = 2
          + interval            = 5
          + matcher             = (known after apply)
          + path                = "/.well-known/apollo/server-health"
          + port                = "traffic-port"
          + protocol            = "HTTP"
          + timeout             = 4
          + unhealthy_threshold = 3
        }

      + stickiness (known after apply)

      + target_failover (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_appautoscaling_policy.ecs_policy_cpu will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_cpu" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-cpu-autoscaling-prod"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-prod/api-videos-prod-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageCPUUtilization"
            }
        }
    }

  # module.prod.module.api-videos.module.ecs-task.aws_appautoscaling_policy.ecs_policy_memory will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_memory" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-memory-autoscaling-prod"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-prod/api-videos-prod-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageMemoryUtilization"
            }
        }
    }

  # module.prod.module.api-videos.module.ecs-task.aws_appautoscaling_target.service_autoscaling will be created
+ resource "aws_appautoscaling_target" "service_autoscaling" {
      + arn                = (known after apply)
      + id                 = (known after apply)
      + max_capacity       = 2
      + min_capacity       = 1
      + resource_id        = "service/jfp-ecs-cluster-prod/api-videos-prod-service"
      + role_arn           = (known after apply)
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"
      + tags_all           = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_cloudwatch_log_group.ecs_cw_log_group will be created
+ resource "aws_cloudwatch_log_group" "ecs_cw_log_group" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + name              = "api-videos-prod-logs"
      + name_prefix       = (known after apply)
      + retention_in_days = 0
      + skip_destroy      = false
      + tags_all          = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ecr_lifecycle_policy.ecr_policy will be created
+ resource "aws_ecr_lifecycle_policy" "ecr_policy" {
      + id          = (known after apply)
      + policy      = jsonencode(
            {
              + rules = [
                  + {
                      + action       = {
                          + type = "expire"
                        }
                      + description  = "Expire more than 10 images"
                      + rulePriority = 1
                      + selection    = {
                          + countNumber = 10
                          + countType   = "imageCountMoreThan"
                          + tagStatus   = "any"
                        }
                    },
                ]
            }
        )
      + registry_id = (known after apply)
      + repository  = "jfp-api-videos-prod"
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ecr_repository.ecr_repository will be created
+ resource "aws_ecr_repository" "ecr_repository" {
      + arn                  = (known after apply)
      + id                   = (known after apply)
      + image_tag_mutability = "MUTABLE"
      + name                 = "jfp-api-videos-prod"
      + registry_id          = (known after apply)
      + repository_url       = (known after apply)
      + tags_all             = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ecs_service.ecs_service will be created
+ resource "aws_ecs_service" "ecs_service" {
      + cluster                            = "arn:aws:ecs:us-east-2:410965620680:cluster/jfp-ecs-cluster-prod"
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "api-videos-prod-service"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = (known after apply)
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "jfp-api-videos-prod-app"
          + container_port   = 4004
          + target_group_arn = (known after apply)
            # (1 unchanged attribute hidden)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = [
              + "sg-02935fccc551bacd8",
            ]
          + subnets          = [
              + "subnet-02f4c2a33ace122c5",
              + "subnet-036663ddfdb3b94b0",
              + "subnet-05c389158df4b940a",
            ]
        }
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ecs_task_definition.ecs_task_definition will be created
+ resource "aws_ecs_task_definition" "ecs_task_definition" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = (known after apply)
      + cpu                      = "1024"
      + execution_role_arn       = "arn:aws:iam::410965620680:role/jfp-ecs-task-execution-role"
      + family                   = "jfp-api-videos-prod"
      + id                       = (known after apply)
      + memory                   = "4096"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_route53_record.record will be created
+ resource "aws_route53_record" "record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "api-videos"
      + records         = [
          + "internal-jfp-internal-alb-prod-1581820397.us-east-2.elb.amazonaws.com",
        ]
      + ttl             = 300
      + type            = "CNAME"
      + zone_id         = "Z03223152FHL8WN66TI5X"
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/ALGOLIA_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_API_KEY"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_APPLICATION_ID"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/ALGOLIA_APPLICATION_ID"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_APPLICATION_ID"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_APPLICATION_ID"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_INDEX"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/ALGOLIA_INDEX"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_INDEX"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_INDEX"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/ARCLIGHT_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "ARCLIGHT_API_KEY"
        }
      + tags_all       = {
          + "name" = "ARCLIGHT_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_V3_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/ARCLIGHT_V3_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "ARCLIGHT_V3_URL"
        }
      + tags_all       = {
          + "name" = "ARCLIGHT_V3_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["BIG_QUERY_APPLICATION_JSON"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/BIG_QUERY_APPLICATION_JSON"
      + overwrite      = true
      + tags           = {
          + "name" = "BIG_QUERY_APPLICATION_JSON"
        }
      + tags_all       = {
          + "name" = "BIG_QUERY_APPLICATION_JSON"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["CROWDIN_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/CROWDIN_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "CROWDIN_API_KEY"
        }
      + tags_all       = {
          + "name" = "CROWDIN_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["GATEWAY_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/GATEWAY_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "GATEWAY_URL"
        }
      + tags_all       = {
          + "name" = "GATEWAY_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["PG_DATABASE_URL_VIDEOS"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/PG_DATABASE_URL_VIDEOS"
      + overwrite      = true
      + tags           = {
          + "name" = "PG_DATABASE_URL_VIDEOS"
        }
      + tags_all       = {
          + "name" = "PG_DATABASE_URL_VIDEOS"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["REDIS_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/REDIS_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "REDIS_URL"
        }
      + tags_all       = {
          + "name" = "REDIS_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.journeys-admin.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-prod/journeys-admin-prod-service"
        name                               = "journeys-admin-prod-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-prod:4" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.prod.module.journeys-admin.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-prod:4" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-journeys-admin-prod-app"
                  ~ secrets          = [
                        # (4 unchanged elements hidden)
                        {
                            name      = "LAUNCH_DARKLY_SDK_KEY"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/LAUNCH_DARKLY_SDK_KEY"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_API_KEY"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_APP_ID"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_APP_ID"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_INDEX"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_INDEX"
                        },
                        {
                            name      = "NEXT_PUBLIC_CLOUDFLARE_STREAM_CUSTOMER_CODE"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_CLOUDFLARE_STREAM_CUSTOMER_CODE"
                        },
                        # (16 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-journeys-admin-prod-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-journeys-admin-prod-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-journeys-admin-prod" -> (known after apply)
      ~ revision                 = 4 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.prod.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_API_KEY"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_APP_ID"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_APP_ID"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_APP_ID"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_APP_ID"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_INDEX"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_INDEX"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_INDEX"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_INDEX"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-journeys.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-stage/api-journeys-stage-service"
        name                               = "api-journeys-stage-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-journeys-stage:40" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.stage.module.api-journeys.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-journeys-stage:40" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-journeys-stage" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-api-journeys-stage-app"
                  ~ secrets          = [
                        # (26 unchanged elements hidden)
                        {
                            name      = "POWER_BI_WORKSPACE_ID"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/stage/POWER_BI_WORKSPACE_ID"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/stage/REDIS_PORT"
                        },
                        {
                            name      = "REDIS_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/stage/REDIS_URL"
                        },
                        # (4 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-journeys-stage-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-journeys-stage-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-api-journeys-stage" -> (known after apply)
      ~ revision                 = 40 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.stage.module.api-journeys.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/stage/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-journeys/stage/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-journeys/stage/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-languages.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-stage/api-languages-stage-service"
        name                               = "api-languages-stage-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-languages-stage:27" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (5 unchanged blocks hidden)
    }

  # module.stage.module.api-languages.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-languages-stage:27" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-languages-stage" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-api-languages-stage-app"
                  ~ secrets          = [
                        # (3 unchanged elements hidden)
                        {
                            name      = "PG_DATABASE_URL_LANGUAGES"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/stage/PG_DATABASE_URL_LANGUAGES"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/stage/REDIS_PORT"
                        },
                        {
                            name      = "REDIS_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/stage/REDIS_URL"
                        },
                        # (2 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-languages-stage-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-languages-stage-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-api-languages-stage" -> (known after apply)
      ~ revision                 = 27 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.stage.module.api-languages.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/stage/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-languages/stage/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-languages/stage/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-stage/api-media-stage-service"
        name                               = "api-media-stage-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-media-stage:20" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-media-stage:20" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-media-stage" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ cpu              = 1024 -> 512
                  ~ memory           = 2048 -> 1024
                    name             = "jfp-api-media-stage-app"
                  ~ secrets          = [
                      - {
                          - name      = "ALGOLIA_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_API_KEY"
                        },
                      - {
                          - name      = "ALGOLIA_APPLICATION_ID"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_APPLICATION_ID"
                        },
                      - {
                          - name      = "ALGOLIA_INDEX"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_INDEX"
                        },
                      - {
                          - name      = "ARCLIGHT_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ARCLIGHT_API_KEY"
                        },
                      - {
                          - name      = "ARCLIGHT_V3_URL"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ARCLIGHT_V3_URL"
                        },
                      - {
                          - name      = "BIG_QUERY_APPLICATION_JSON"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/BIG_QUERY_APPLICATION_JSON"
                        },
                        {
                            name      = "CLOUDFLARE_ACCOUNT_ID"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/CLOUDFLARE_ACCOUNT_ID"
                        },
                        # (1 unchanged element hidden)
                        {
                            name      = "CLOUDFLARE_STREAM_TOKEN"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/CLOUDFLARE_STREAM_TOKEN"
                        },
                      - {
                          - name      = "CROWDIN_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/CROWDIN_API_KEY"
                        },
                      - {
                          - name      = "GATEWAY_URL"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/GATEWAY_URL"
                        },
                        {
                            name      = "GOOGLE_APPLICATION_JSON"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/GOOGLE_APPLICATION_JSON"
                        },
                        {
                            name      = "PG_DATABASE_URL_MEDIA"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/PG_DATABASE_URL_MEDIA"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/REDIS_PORT"
                        },
                      - {
                          - name      = "REDIS_URL"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/REDIS_URL"
                        },
                        {
                            name      = "SEGMIND_API_KEY"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/SEGMIND_API_KEY"
                        },
                        # (2 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (7 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-media-stage-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-media-stage-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ cpu                      = "1024" -> "512" # forces replacement
      ~ id                       = "jfp-api-media-stage" -> (known after apply)
      ~ memory                   = "2048" -> "1024" # forces replacement
      ~ revision                 = 20 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (8 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_API_KEY"] will be destroyed
  # (because key ["ALGOLIA_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/ALGOLIA_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/ALGOLIA_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ALGOLIA_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "ALGOLIA_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 3 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_APPLICATION_ID"] will be destroyed
  # (because key ["ALGOLIA_APPLICATION_ID"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_APPLICATION_ID" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/ALGOLIA_APPLICATION_ID" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/ALGOLIA_APPLICATION_ID" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ALGOLIA_APPLICATION_ID"
        } -> null
      - tags_all        = {
          - "name" = "ALGOLIA_APPLICATION_ID"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_INDEX"] will be destroyed
  # (because key ["ALGOLIA_INDEX"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_INDEX" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/ALGOLIA_INDEX" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/ALGOLIA_INDEX" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ALGOLIA_INDEX"
        } -> null
      - tags_all        = {
          - "name" = "ALGOLIA_INDEX"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_API_KEY"] will be destroyed
  # (because key ["ARCLIGHT_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ARCLIGHT_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/ARCLIGHT_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/ARCLIGHT_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ARCLIGHT_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "ARCLIGHT_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_V3_URL"] will be destroyed
  # (because key ["ARCLIGHT_V3_URL"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ARCLIGHT_V3_URL" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/ARCLIGHT_V3_URL" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/ARCLIGHT_V3_URL" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ARCLIGHT_V3_URL"
        } -> null
      - tags_all        = {
          - "name" = "ARCLIGHT_V3_URL"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["BIG_QUERY_APPLICATION_JSON"] will be destroyed
  # (because key ["BIG_QUERY_APPLICATION_JSON"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/BIG_QUERY_APPLICATION_JSON" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/BIG_QUERY_APPLICATION_JSON" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/BIG_QUERY_APPLICATION_JSON" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "BIG_QUERY_APPLICATION_JSON"
        } -> null
      - tags_all        = {
          - "name" = "BIG_QUERY_APPLICATION_JSON"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["CROWDIN_API_KEY"] will be destroyed
  # (because key ["CROWDIN_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/CROWDIN_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/CROWDIN_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/CROWDIN_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "CROWDIN_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "CROWDIN_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["GATEWAY_URL"] will be destroyed
  # (because key ["GATEWAY_URL"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/GATEWAY_URL" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/GATEWAY_URL" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/GATEWAY_URL" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "GATEWAY_URL"
        } -> null
      - tags_all        = {
          - "name" = "GATEWAY_URL"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["REDIS_URL"] will be destroyed
  # (because key ["REDIS_URL"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/REDIS_URL" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/REDIS_URL" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/REDIS_URL" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_URL"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_URL"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-nexus.module.alb-listener.aws_alb_listener.alb_listener will be created
+ resource "aws_alb_listener" "alb_listener" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-2:410965620680:loadbalancer/app/jfp-internal-alb-stage/846f69021da58f87"
      + port              = 4007
      + protocol          = "HTTP"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order = (known after apply)
          + type  = "fixed-response"

          + fixed_response {
              + content_type = "text/plain"
              + message_body = "No routes defined"
              + status_code  = "200"
            }
        }
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_alb_listener_rule.alb_listener_rule will be created
+ resource "aws_alb_listener_rule" "alb_listener_rule" {
      + arn          = (known after apply)
      + id           = (known after apply)
      + listener_arn = (known after apply)
      + priority     = (known after apply)
      + tags_all     = (known after apply)

      + action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }

      + condition {
          + host_header {
              + values = [
                  + "api-nexus.stage.internal",
                ]
            }
        }
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_alb_target_group.alb_target_group will be created
+ resource "aws_alb_target_group" "alb_target_group" {
      + arn                                = (known after apply)
      + arn_suffix                         = (known after apply)
      + connection_termination             = false
      + deregistration_delay               = "300"
      + id                                 = (known after apply)
      + ip_address_type                    = (known after apply)
      + lambda_multi_value_headers_enabled = false
      + load_balancing_algorithm_type      = (known after apply)
      + load_balancing_cross_zone_enabled  = (known after apply)
      + name                               = "api-nexus-stage-tg"
      + port                               = 4007
      + preserve_client_ip                 = (known after apply)
      + protocol                           = "HTTP"
      + protocol_version                   = (known after apply)
      + proxy_protocol_v2                  = false
      + slow_start                         = 0
      + tags_all                           = (known after apply)
      + target_type                        = "ip"
      + vpc_id                             = "vpc-08eeff0fe23f23079"

      + health_check {
          + enabled             = true
          + healthy_threshold   = 2
          + interval            = 5
          + matcher             = (known after apply)
          + path                = "/.well-known/apollo/server-health"
          + port                = "traffic-port"
          + protocol            = "HTTP"
          + timeout             = 4
          + unhealthy_threshold = 3
        }

      + stickiness (known after apply)

      + target_failover (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_appautoscaling_policy.ecs_policy_cpu will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_cpu" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-cpu-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-nexus-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageCPUUtilization"
            }
     

Warning: Output length greater than max comment size. Continued in next comment.

@jesus-film-bot
Copy link
Collaborator

Continued plan output from previous comment.

Show Output
   }
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_appautoscaling_policy.ecs_policy_memory will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_memory" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-memory-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-nexus-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageMemoryUtilization"
            }
        }
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_appautoscaling_target.service_autoscaling will be created
+ resource "aws_appautoscaling_target" "service_autoscaling" {
      + arn                = (known after apply)
      + id                 = (known after apply)
      + max_capacity       = 2
      + min_capacity       = 1
      + resource_id        = "service/jfp-ecs-cluster-stage/api-nexus-stage-service"
      + role_arn           = (known after apply)
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"
      + tags_all           = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_cloudwatch_log_group.ecs_cw_log_group will be created
+ resource "aws_cloudwatch_log_group" "ecs_cw_log_group" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + name              = "api-nexus-stage-logs"
      + name_prefix       = (known after apply)
      + retention_in_days = 0
      + skip_destroy      = false
      + tags_all          = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ecr_lifecycle_policy.ecr_policy will be created
+ resource "aws_ecr_lifecycle_policy" "ecr_policy" {
      + id          = (known after apply)
      + policy      = jsonencode(
            {
              + rules = [
                  + {
                      + action       = {
                          + type = "expire"
                        }
                      + description  = "Expire more than 10 images"
                      + rulePriority = 1
                      + selection    = {
                          + countNumber = 10
                          + countType   = "imageCountMoreThan"
                          + tagStatus   = "any"
                        }
                    },
                ]
            }
        )
      + registry_id = (known after apply)
      + repository  = "jfp-api-nexus-stage"
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ecr_repository.ecr_repository will be created
+ resource "aws_ecr_repository" "ecr_repository" {
      + arn                  = (known after apply)
      + id                   = (known after apply)
      + image_tag_mutability = "MUTABLE"
      + name                 = "jfp-api-nexus-stage"
      + registry_id          = (known after apply)
      + repository_url       = (known after apply)
      + tags_all             = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ecs_service.ecs_service will be created
+ resource "aws_ecs_service" "ecs_service" {
      + cluster                            = "arn:aws:ecs:us-east-2:410965620680:cluster/jfp-ecs-cluster-stage"
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "api-nexus-stage-service"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = (known after apply)
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "jfp-api-nexus-stage-app"
          + container_port   = 4007
          + target_group_arn = (known after apply)
            # (1 unchanged attribute hidden)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = [
              + "sg-087bc43a262c94bc1",
            ]
          + subnets          = [
              + "subnet-01f4e86883462b5ce",
              + "subnet-062de12e3e3639eff",
              + "subnet-09cbfc19be5214a8b",
            ]
        }
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ecs_task_definition.ecs_task_definition will be created
+ resource "aws_ecs_task_definition" "ecs_task_definition" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = (known after apply)
      + cpu                      = "1024"
      + execution_role_arn       = "arn:aws:iam::410965620680:role/jfp-ecs-task-execution-role"
      + family                   = "jfp-api-nexus-stage"
      + id                       = (known after apply)
      + memory                   = "2048"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_route53_record.record will be created
+ resource "aws_route53_record" "record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "api-nexus"
      + records         = [
          + "internal-jfp-internal-alb-stage-154137661.us-east-2.elb.amazonaws.com",
        ]
      + ttl             = 300
      + type            = "CNAME"
      + zone_id         = "Z056780738DT3AZL6A4WD"
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_ACCESS_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/BUCKET_ACCESS_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_ACCESS_KEY"
        }
      + tags_all       = {
          + "name" = "BUCKET_ACCESS_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_ENDPOINT"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/BUCKET_ENDPOINT"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_ENDPOINT"
        }
      + tags_all       = {
          + "name" = "BUCKET_ENDPOINT"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_NAME"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/BUCKET_NAME"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_NAME"
        }
      + tags_all       = {
          + "name" = "BUCKET_NAME"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_REGION"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/BUCKET_REGION"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_REGION"
        }
      + tags_all       = {
          + "name" = "BUCKET_REGION"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_SECRET_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/BUCKET_SECRET_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_SECRET_KEY"
        }
      + tags_all       = {
          + "name" = "BUCKET_SECRET_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["CLOUDFLARE_ACCOUNT_ID"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/CLOUDFLARE_ACCOUNT_ID"
      + overwrite      = true
      + tags           = {
          + "name" = "CLOUDFLARE_ACCOUNT_ID"
        }
      + tags_all       = {
          + "name" = "CLOUDFLARE_ACCOUNT_ID"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["CLOUDFLARE_API_TOKEN"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/CLOUDFLARE_API_TOKEN"
      + overwrite      = true
      + tags           = {
          + "name" = "CLOUDFLARE_API_TOKEN"
        }
      + tags_all       = {
          + "name" = "CLOUDFLARE_API_TOKEN"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["CLOUDFLARE_STREAM_TOKEN"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/CLOUDFLARE_STREAM_TOKEN"
      + overwrite      = true
      + tags           = {
          + "name" = "CLOUDFLARE_STREAM_TOKEN"
        }
      + tags_all       = {
          + "name" = "CLOUDFLARE_STREAM_TOKEN"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["FIREBASE_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/FIREBASE_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "FIREBASE_API_KEY"
        }
      + tags_all       = {
          + "name" = "FIREBASE_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/GOOGLE_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_API_KEY"
        }
      + tags_all       = {
          + "name" = "GOOGLE_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_APPLICATION_JSON"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/GOOGLE_APPLICATION_JSON"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_APPLICATION_JSON"
        }
      + tags_all       = {
          + "name" = "GOOGLE_APPLICATION_JSON"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_CLIENT_ID"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/GOOGLE_CLIENT_ID"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_CLIENT_ID"
        }
      + tags_all       = {
          + "name" = "GOOGLE_CLIENT_ID"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_CLIENT_SECRET"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/GOOGLE_CLIENT_SECRET"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_CLIENT_SECRET"
        }
      + tags_all       = {
          + "name" = "GOOGLE_CLIENT_SECRET"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["PG_DATABASE_URL_NEXUS"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/PG_DATABASE_URL_NEXUS"
      + overwrite      = true
      + tags           = {
          + "name" = "PG_DATABASE_URL_NEXUS"
        }
      + tags_all       = {
          + "name" = "PG_DATABASE_URL_NEXUS"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["REDIS_HOST"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/REDIS_HOST"
      + overwrite      = true
      + tags           = {
          + "name" = "REDIS_HOST"
        }
      + tags_all       = {
          + "name" = "REDIS_HOST"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-tags.module.alb-listener.aws_alb_listener.alb_listener will be created
+ resource "aws_alb_listener" "alb_listener" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-2:410965620680:loadbalancer/app/jfp-internal-alb-stage/846f69021da58f87"
      + port              = 4006
      + protocol          = "HTTP"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order = (known after apply)
          + type  = "fixed-response"

          + fixed_response {
              + content_type = "text/plain"
              + message_body = "No routes defined"
              + status_code  = "200"
            }
        }
    }

  # module.stage.module.api-tags.module.ecs-task.aws_alb_listener_rule.alb_listener_rule will be created
+ resource "aws_alb_listener_rule" "alb_listener_rule" {
      + arn          = (known after apply)
      + id           = (known after apply)
      + listener_arn = (known after apply)
      + priority     = (known after apply)
      + tags_all     = (known after apply)

      + action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }

      + condition {
          + host_header {
              + values = [
                  + "api-tags.stage.internal",
                ]
            }
        }
    }

  # module.stage.module.api-tags.module.ecs-task.aws_alb_target_group.alb_target_group will be created
+ resource "aws_alb_target_group" "alb_target_group" {
      + arn                                = (known after apply)
      + arn_suffix                         = (known after apply)
      + connection_termination             = false
      + deregistration_delay               = "300"
      + id                                 = (known after apply)
      + ip_address_type                    = (known after apply)
      + lambda_multi_value_headers_enabled = false
      + load_balancing_algorithm_type      = (known after apply)
      + load_balancing_cross_zone_enabled  = (known after apply)
      + name                               = "api-tags-stage-tg"
      + port                               = 4006
      + preserve_client_ip                 = (known after apply)
      + protocol                           = "HTTP"
      + protocol_version                   = (known after apply)
      + proxy_protocol_v2                  = false
      + slow_start                         = 0
      + tags_all                           = (known after apply)
      + target_type                        = "ip"
      + vpc_id                             = "vpc-08eeff0fe23f23079"

      + health_check {
          + enabled             = true
          + healthy_threshold   = 2
          + interval            = 5
          + matcher             = (known after apply)
          + path                = "/.well-known/apollo/server-health"
          + port                = "traffic-port"
          + protocol            = "HTTP"
          + timeout             = 4
          + unhealthy_threshold = 3
        }

      + stickiness (known after apply)

      + target_failover (known after apply)
    }

  # module.stage.module.api-tags.module.ecs-task.aws_appautoscaling_policy.ecs_policy_cpu will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_cpu" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-cpu-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-tags-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageCPUUtilization"
            }
        }
    }

  # module.stage.module.api-tags.module.ecs-task.aws_appautoscaling_policy.ecs_policy_memory will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_memory" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-memory-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-tags-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageMemoryUtilization"
            }
        }
    }

  # module.stage.module.api-tags.module.ecs-task.aws_appautoscaling_target.service_autoscaling will be created
+ resource "aws_appautoscaling_target" "service_autoscaling" {
      + arn                = (known after apply)
      + id                 = (known after apply)
      + max_capacity       = 2
      + min_capacity       = 1
      + resource_id        = "service/jfp-ecs-cluster-stage/api-tags-stage-service"
      + role_arn           = (known after apply)
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"
      + tags_all           = (known after apply)
    }

  # module.stage.module.api-tags.module.ecs-task.aws_cloudwatch_log_group.ecs_cw_log_group will be created
+ resource "aws_cloudwatch_log_group" "ecs_cw_log_group" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + name              = "api-tags-stage-logs"
      + name_prefix       = (known after apply)
      + retention_in_days = 0
      + skip_destroy      = false
      + tags_all          = (known after apply)
    }

  # module.stage.module.api-tags.module.ecs-task.aws_ecr_lifecycle_policy.ecr_policy will be created
+ resource "aws_ecr_lifecycle_policy" "ecr_policy" {
      + id          = (known after apply)
      + policy      = jsonencode(
            {
              + rules = [
                  + {
                      + action       = {
                          + type = "expire"
                        }
                      + description  = "Expire more than 10 images"
                      + rulePriority = 1
                      + selection    = {
                          + countNumber = 10
                          + countType   = "imageCountMoreThan"
                          + tagStatus   = "any"
                        }
                    },
                ]
            }
        )
      + registry_id = (known after apply)
      + repository  = "jfp-api-tags-stage"
    }

  # module.stage.module.api-tags.module.ecs-task.aws_ecr_repository.ecr_repository will be created
+ resource "aws_ecr_repository" "ecr_repository" {
      + arn                  = (known after apply)
      + id                   = (known after apply)
      + image_tag_mutability = "MUTABLE"
      + name                 = "jfp-api-tags-stage"
      + registry_id          = (known after apply)
      + repository_url       = (known after apply)
      + tags_all             = (known after apply)
    }

  # module.stage.module.api-tags.module.ecs-task.aws_ecs_service.ecs_service will be created
+ resource "aws_ecs_service" "ecs_service" {
      + cluster                            = "arn:aws:ecs:us-east-2:410965620680:cluster/jfp-ecs-cluster-stage"
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "api-tags-stage-service"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = (known after apply)
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "jfp-api-tags-stage-app"
          + container_port   = 4006
          + target_group_arn = (known after apply)
            # (1 unchanged attribute hidden)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = [
              + "sg-087bc43a262c94bc1",
            ]
          + subnets          = [
              + "subnet-01f4e86883462b5ce",
              + "subnet-062de12e3e3639eff",
              + "subnet-09cbfc19be5214a8b",
            ]
        }
    }

  # module.stage.module.api-tags.module.ecs-task.aws_ecs_task_definition.ecs_task_definition will be created
+ resource "aws_ecs_task_definition" "ecs_task_definition" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = (known after apply)
      + cpu                      = "512"
      + execution_role_arn       = "arn:aws:iam::410965620680:role/jfp-ecs-task-execution-role"
      + family                   = "jfp-api-tags-stage"
      + id                       = (known after apply)
      + memory                   = "1024"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = (known after apply)
    }

  # module.stage.module.api-tags.module.ecs-task.aws_route53_record.record will be created
+ resource "aws_route53_record" "record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "api-tags"
      + records         = [
          + "internal-jfp-internal-alb-stage-154137661.us-east-2.elb.amazonaws.com",
        ]
      + ttl             = 300
      + type            = "CNAME"
      + zone_id         = "Z056780738DT3AZL6A4WD"
    }

  # module.stage.module.api-tags.module.ecs-task.aws_ssm_parameter.parameters["PG_DATABASE_URL_TAGS"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-tags/stage/PG_DATABASE_URL_TAGS"
      + overwrite      = true
      + tags           = {
          + "name" = "PG_DATABASE_URL_TAGS"
        }
      + tags_all       = {
          + "name" = "PG_DATABASE_URL_TAGS"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-users.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-stage/api-users-stage-service"
        name                               = "api-users-stage-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-stage:31" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.stage.module.api-users.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-stage:31" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-stage" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-api-users-stage-app"
                  ~ secrets          = [
                        # (5 unchanged elements hidden)
                        {
                            name      = "JOURNEYS_ADMIN_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/JOURNEYS_ADMIN_URL"
                        },
                      - {
                          - name      = "NAT_ADDRESSES"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/NAT_ADDRESSES"
                        },
                        {
                            name      = "PG_DATABASE_URL_USERS"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/PG_DATABASE_URL_USERS"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/REDIS_PORT"
                        },
                        {
                            name      = "REDIS_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/REDIS_URL"
                        },
                        # (1 unchanged element hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-users-stage-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-users-stage-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-api-users-stage" -> (known after apply)
      ~ revision                 = 31 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.stage.module.api-users.module.ecs-task.aws_ssm_parameter.parameters["NAT_ADDRESSES"] will be destroyed
  # (because key ["NAT_ADDRESSES"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/NAT_ADDRESSES" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-users/stage/NAT_ADDRESSES" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-users/stage/NAT_ADDRESSES" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NAT_ADDRESSES"
        } -> null
      - tags_all        = {
          - "name" = "NAT_ADDRESSES"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-users.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-users/stage/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-users/stage/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-videos.module.alb-listener.aws_alb_listener.alb_listener will be created
+ resource "aws_alb_listener" "alb_listener" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-2:410965620680:loadbalancer/app/jfp-internal-alb-stage/846f69021da58f87"
      + port              = 4004
      + protocol          = "HTTP"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order = (known after apply)
          + type  = "fixed-response"

          + fixed_response {
              + content_type = "text/plain"
              + message_body = "No routes defined"
              + status_code  = "200"
            }
        }
    }

  # module.stage.module.api-videos.module.ecs-task.aws_alb_listener_rule.alb_listener_rule will be created
+ resource "aws_alb_listener_rule" "alb_listener_rule" {
      + arn          = (known after apply)
      + id           = (known after apply)
      + listener_arn = (known after apply)
      + priority     = (known after apply)
      + tags_all     = (known after apply)

      + action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }

      + condition {
          + host_header {
              + values = [
                  + "api-videos.stage.internal",
                ]
            }
        }
    }

  # module.stage.module.api-videos.module.ecs-task.aws_alb_target_group.alb_target_group will be created
+ resource "aws_alb_target_group" "alb_target_group" {
      + arn                                = (known after apply)
      + arn_suffix                         = (known after apply)
      + connection_termination             = false
      + deregistration_delay               = "300"
      + id                                 = (known after apply)
      + ip_address_type                    = (known after apply)
      + lambda_multi_value_headers_enabled = false
      + load_balancing_algorithm_type      = (known after apply)
      + load_balancing_cross_zone_enabled  = (known after apply)
      + name                               = "api-videos-stage-tg"
      + port                               = 4004
      + preserve_client_ip                 = (known after apply)
      + protocol                           = "HTTP"
      + protocol_version                   = (known after apply)
      + proxy_protocol_v2                  = false
      + slow_start                         = 0
      + tags_all                           = (known after apply)
      + target_type                        = "ip"
      + vpc_id                             = "vpc-08eeff0fe23f23079"

      + health_check {
          + enabled             = true
          + healthy_threshold   = 2
          + interval            = 5
          + matcher             = (known after apply)
          + path                = "/.well-known/apollo/server-health"
          + port                = "traffic-port"
          + protocol            = "HTTP"
          + timeout             = 4
          + unhealthy_threshold = 3
        }

      + stickiness (known after apply)

      + target_failover (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_appautoscaling_policy.ecs_policy_cpu will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_cpu" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-cpu-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-videos-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageCPUUtilization"
            }
        }
    }

  # module.stage.module.api-videos.module.ecs-task.aws_appautoscaling_policy.ecs_policy_memory will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_memory" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-memory-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-videos-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageMemoryUtilization"
            }
        }
    }

  # module.stage.module.api-videos.module.ecs-task.aws_appautoscaling_target.service_autoscaling will be created
+ resource "aws_appautoscaling_target" "service_autoscaling" {
      + arn                = (known after apply)
      + id                 = (known after apply)
      + max_capacity       = 2
      + min_capacity       = 1
      + resource_id        = "service/jfp-ecs-cluster-stage/api-videos-stage-service"
      + role_arn           = (known after apply)
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"
      + tags_all           = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_cloudwatch_log_group.ecs_cw_log_group will be created
+ resource "aws_cloudwatch_log_group" "ecs_cw_log_group" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + name              = "api-videos-stage-logs"
      + name_prefix       = (known after apply)
      + retention_in_days = 0
      + skip_destroy      = false
      + tags_all          = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ecr_lifecycle_policy.ecr_policy will be created
+ resource "aws_ecr_lifecycle_policy" "ecr_policy" {
      + id          = (known after apply)
      + policy      = jsonencode(
            {
              + rules = [
                  + {
                      + action       = {
                          + type = "expire"
                        }
                      + description  = "Expire more than 10 images"
                      + rulePriority = 1
                      + selection    = {
                          + countNumber = 10
                          + countType   = "imageCountMoreThan"
                          + tagStatus   = "any"
                        }
                    },
                ]
            }
        )
      + registry_id = (known after apply)
      + repository  = "jfp-api-videos-stage"
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ecr_repository.ecr_repository will be created
+ resource "aws_ecr_repository" "ecr_repository" {
      + arn                  = (known after apply)
      + id                   = (known after apply)
      + image_tag_mutability = "MUTABLE"
      + name                 = "jfp-api-videos-stage"
      + registry_id          = (known after apply)
      + repository_url       = (known after apply)
      + tags_all             = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ecs_service.ecs_service will be created
+ resource "aws_ecs_service" "ecs_service" {
      + cluster                            = "arn:aws:ecs:us-east-2:410965620680:cluster/jfp-ecs-cluster-stage"
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "api-videos-stage-service"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = (known after apply)
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "jfp-api-videos-stage-app"
          + container_port   = 4004
          + target_group_arn = (known after apply)
            # (1 unchanged attribute hidden)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = [
              + "sg-087bc43a262c94bc1",
            ]
          + subnets          = [
              + "subnet-01f4e86883462b5ce",
              + "subnet-062de12e3e3639eff",
              + "subnet-09cbfc19be5214a8b",
            ]
        }
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ecs_task_definition.ecs_task_definition will be created
+ resource "aws_ecs_task_definition" "ecs_task_definition" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = (known after apply)
      + cpu                      = "1024"
      + execution_role_arn       = "arn:aws:iam::410965620680:role/jfp-ecs-task-execution-role"
      + family                   = "jfp-api-videos-stage"
      + id                       = (known after apply)
      + memory                   = "4096"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_route53_record.record will be created
+ resource "aws_route53_record" "record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "api-videos"
      + records         = [
          + "internal-jfp-internal-alb-stage-154137661.us-east-2.elb.amazonaws.com",
        ]
      + ttl             = 300
      + type            = "CNAME"
      + zone_id         = "Z056780738DT3AZL6A4WD"
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/ALGOLIA_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_API_KEY"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_APPLICATION_ID"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/ALGOLIA_APPLICATION_ID"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_APPLICATION_ID"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_APPLICATION_ID"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_INDEX"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/ALGOLIA_INDEX"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_INDEX"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_INDEX"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/ARCLIGHT_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "ARCLIGHT_API_KEY"
        }
      + tags_all       = {
          + "name" = "ARCLIGHT_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_V3_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/ARCLIGHT_V3_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "ARCLIGHT_V3_URL"
        }
      + tags_all       = {
          + "name" = "ARCLIGHT_V3_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["BIG_QUERY_APPLICATION_JSON"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/BIG_QUERY_APPLICATION_JSON"
      + overwrite      = true
      + tags           = {
          + "name" = "BIG_QUERY_APPLICATION_JSON"
        }
      + tags_all       = {
          + "name" = "BIG_QUERY_APPLICATION_JSON"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["CROWDIN_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/CROWDIN_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "CROWDIN_API_KEY"
        }
      + tags_all       = {
          + "name" = "CROWDIN_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["GATEWAY_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/GATEWAY_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "GATEWAY_URL"
        }
      + tags_all       = {
          + "name" = "GATEWAY_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["PG_DATABASE_URL_VIDEOS"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/PG_DATABASE_URL_VIDEOS"
      + overwrite      = true
      + tags           = {
          + "name" = "PG_DATABASE_URL_VIDEOS"
        }
      + tags_all       = {
          + "name" = "PG_DATABASE_URL_VIDEOS"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["REDIS_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/REDIS_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "REDIS_URL"
        }
      + tags_all       = {
          + "name" = "REDIS_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.journeys-admin.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-stage/journeys-admin-stage-service"
        name                               = "journeys-admin-stage-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-stage:7" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.stage.module.journeys-admin.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-stage:7" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-stage" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-journeys-admin-stage-app"
                  ~ secrets          = [
                        # (4 unchanged elements hidden)
                        {
                            name      = "LAUNCH_DARKLY_SDK_KEY"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/LAUNCH_DARKLY_SDK_KEY"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_API_KEY"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_APP_ID"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_APP_ID"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_INDEX"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_INDEX"
                        },
                        {
                            name      = "NEXT_PUBLIC_CLOUDFLARE_STREAM_CUSTOMER_CODE"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_CLOUDFLARE_STREAM_CUSTOMER_CODE"
                        },
                        # (16 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-journeys-admin-stage-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-journeys-admin-stage-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-journeys-admin-stage" -> (known after apply)
      ~ revision                 = 7 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.stage.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_API_KEY"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_APP_ID"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_APP_ID"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_APP_ID"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_APP_ID"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_INDEX"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_INDEX"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_INDEX"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_INDEX"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

Plan: 134 to add, 10 to change, 44 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -d infrastructure
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -d infrastructure

Plan: 134 to add, 10 to change, 44 to destroy.


2. dir: infrastructure/resources/atlantis workspace: default

Show Output
No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.
╷
│ Warning: Argument is deprecated
│ 
│   with module.atlantis.module.ecs.aws_ecs_cluster.this[0],
│   on .terraform/modules/atlantis.ecs/main.tf line 1, in resource "aws_ecs_cluster" "this":
│    1: resource "aws_ecs_cluster" "this" {
│ 
│ Use the aws_ecs_cluster_capacity_providers resource instead
│ 
│ (and one more similar warning elsewhere)
╵
  • ▶️ To apply this plan, comment:
    atlantis apply -d infrastructure/resources/atlantis
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -d infrastructure/resources/atlantis

No changes. Your infrastructure matches the configuration.


3. dir: infrastructure/resources/doppler workspace: default

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.
  • ▶️ To apply this plan, comment:
    atlantis apply -d infrastructure/resources/doppler
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -d infrastructure/resources/doppler

4. dir: infrastructure/resources/terraform workspace: default

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.
  • ▶️ To apply this plan, comment:
    atlantis apply -d infrastructure/resources/terraform
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -d infrastructure/resources/terraform

Plan Summary

4 projects, 1 with changes, 3 with no changes, 0 failed

  • ⏩ To apply all unapplied plans from this Pull Request, comment:
    atlantis apply
  • 🚮 To delete all plans and locks from this Pull Request, comment:
    atlantis unlock

@jesus-film-bot
Copy link
Collaborator

Ran Plan for 4 projects:

  1. dir: infrastructure workspace: default
  2. dir: infrastructure/resources/atlantis workspace: default
  3. dir: infrastructure/resources/doppler workspace: default
  4. dir: infrastructure/resources/terraform workspace: default

1. dir: infrastructure workspace: default

Show Output
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
~ update in-place
- destroy
+/- create replacement and then destroy

Terraform will perform the following actions:

  # module.prod.module.api-journeys.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-prod/api-journeys-prod-service"
        name                               = "api-journeys-prod-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-journeys-prod:49" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (5 unchanged blocks hidden)
    }

  # module.prod.module.api-journeys.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-journeys-prod:49" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-journeys-prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-api-journeys-prod-app"
                  ~ secrets          = [
                        # (26 unchanged elements hidden)
                        {
                            name      = "POWER_BI_WORKSPACE_ID"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/prod/POWER_BI_WORKSPACE_ID"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/prod/REDIS_PORT"
                        },
                        {
                            name      = "REDIS_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/prod/REDIS_URL"
                        },
                        # (4 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-journeys-prod-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-journeys-prod-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-api-journeys-prod" -> (known after apply)
      ~ revision                 = 49 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.prod.module.api-journeys.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/prod/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-journeys/prod/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-journeys/prod/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-languages.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-prod/api-languages-prod-service"
        name                               = "api-languages-prod-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-languages-prod:37" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.prod.module.api-languages.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-languages-prod:37" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-languages-prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-api-languages-prod-app"
                  ~ secrets          = [
                        # (3 unchanged elements hidden)
                        {
                            name      = "PG_DATABASE_URL_LANGUAGES"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/prod/PG_DATABASE_URL_LANGUAGES"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/prod/REDIS_PORT"
                        },
                        {
                            name      = "REDIS_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/prod/REDIS_URL"
                        },
                        # (2 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-languages-prod-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-languages-prod-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-api-languages-prod" -> (known after apply)
      ~ revision                 = 37 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.prod.module.api-languages.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/prod/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-languages/prod/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-languages/prod/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-prod/api-media-prod-service"
        name                               = "api-media-prod-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-media-prod:22" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (5 unchanged blocks hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-media-prod:22" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-media-prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ cpu              = 1024 -> 512
                  ~ memory           = 2048 -> 1024
                    name             = "jfp-api-media-prod-app"
                  ~ secrets          = [
                      - {
                          - name      = "ALGOLIA_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ALGOLIA_API_KEY"
                        },
                      - {
                          - name      = "ALGOLIA_APPLICATION_ID"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ALGOLIA_APPLICATION_ID"
                        },
                      - {
                          - name      = "ALGOLIA_INDEX"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ALGOLIA_INDEX"
                        },
                      - {
                          - name      = "ARCLIGHT_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ARCLIGHT_API_KEY"
                        },
                      - {
                          - name      = "ARCLIGHT_V3_URL"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ARCLIGHT_V3_URL"
                        },
                      - {
                          - name      = "BIG_QUERY_APPLICATION_JSON"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/BIG_QUERY_APPLICATION_JSON"
                        },
                        {
                            name      = "CLOUDFLARE_ACCOUNT_ID"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/CLOUDFLARE_ACCOUNT_ID"
                        },
                        # (1 unchanged element hidden)
                        {
                            name      = "CLOUDFLARE_STREAM_TOKEN"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/CLOUDFLARE_STREAM_TOKEN"
                        },
                      - {
                          - name      = "CROWDIN_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/CROWDIN_API_KEY"
                        },
                      - {
                          - name      = "GATEWAY_URL"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/GATEWAY_URL"
                        },
                        {
                            name      = "GOOGLE_APPLICATION_JSON"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/GOOGLE_APPLICATION_JSON"
                        },
                        {
                            name      = "PG_DATABASE_URL_MEDIA"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/PG_DATABASE_URL_MEDIA"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/REDIS_PORT"
                        },
                      - {
                          - name      = "REDIS_URL"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/REDIS_URL"
                        },
                        {
                            name      = "SEGMIND_API_KEY"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/SEGMIND_API_KEY"
                        },
                        # (2 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (7 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-media-prod-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-media-prod-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ cpu                      = "1024" -> "512" # forces replacement
      ~ id                       = "jfp-api-media-prod" -> (known after apply)
      ~ memory                   = "2048" -> "1024" # forces replacement
      ~ revision                 = 22 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (8 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_API_KEY"] will be destroyed
  # (because key ["ALGOLIA_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ALGOLIA_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/ALGOLIA_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/ALGOLIA_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ALGOLIA_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "ALGOLIA_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 3 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_APPLICATION_ID"] will be destroyed
  # (because key ["ALGOLIA_APPLICATION_ID"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ALGOLIA_APPLICATION_ID" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/ALGOLIA_APPLICATION_ID" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/ALGOLIA_APPLICATION_ID" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ALGOLIA_APPLICATION_ID"
        } -> null
      - tags_all        = {
          - "name" = "ALGOLIA_APPLICATION_ID"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_INDEX"] will be destroyed
  # (because key ["ALGOLIA_INDEX"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ALGOLIA_INDEX" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/ALGOLIA_INDEX" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/ALGOLIA_INDEX" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ALGOLIA_INDEX"
        } -> null
      - tags_all        = {
          - "name" = "ALGOLIA_INDEX"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_API_KEY"] will be destroyed
  # (because key ["ARCLIGHT_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ARCLIGHT_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/ARCLIGHT_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/ARCLIGHT_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ARCLIGHT_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "ARCLIGHT_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 3 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_V3_URL"] will be destroyed
  # (because key ["ARCLIGHT_V3_URL"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/ARCLIGHT_V3_URL" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/ARCLIGHT_V3_URL" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/ARCLIGHT_V3_URL" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ARCLIGHT_V3_URL"
        } -> null
      - tags_all        = {
          - "name" = "ARCLIGHT_V3_URL"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["BIG_QUERY_APPLICATION_JSON"] will be destroyed
  # (because key ["BIG_QUERY_APPLICATION_JSON"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/BIG_QUERY_APPLICATION_JSON" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/BIG_QUERY_APPLICATION_JSON" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/BIG_QUERY_APPLICATION_JSON" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "BIG_QUERY_APPLICATION_JSON"
        } -> null
      - tags_all        = {
          - "name" = "BIG_QUERY_APPLICATION_JSON"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["CROWDIN_API_KEY"] will be destroyed
  # (because key ["CROWDIN_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/CROWDIN_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/CROWDIN_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/CROWDIN_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "CROWDIN_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "CROWDIN_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["GATEWAY_URL"] will be destroyed
  # (because key ["GATEWAY_URL"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/GATEWAY_URL" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/GATEWAY_URL" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/GATEWAY_URL" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "GATEWAY_URL"
        } -> null
      - tags_all        = {
          - "name" = "GATEWAY_URL"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["REDIS_URL"] will be destroyed
  # (because key ["REDIS_URL"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/prod/REDIS_URL" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/prod/REDIS_URL" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/prod/REDIS_URL" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_URL"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_URL"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-nexus.module.alb-listener.aws_alb_listener.alb_listener will be created
+ resource "aws_alb_listener" "alb_listener" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-2:410965620680:loadbalancer/app/jfp-internal-alb-prod/ae1556aacf21465f"
      + port              = 4007
      + protocol          = "HTTP"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order = (known after apply)
          + type  = "fixed-response"

          + fixed_response {
              + content_type = "text/plain"
              + message_body = "No routes defined"
              + status_code  = "200"
            }
        }
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_alb_listener_rule.alb_listener_rule will be created
+ resource "aws_alb_listener_rule" "alb_listener_rule" {
      + arn          = (known after apply)
      + id           = (known after apply)
      + listener_arn = (known after apply)
      + priority     = (known after apply)
      + tags_all     = (known after apply)

      + action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }

      + condition {
          + host_header {
              + values = [
                  + "api-nexus.service.internal",
                ]
            }
        }
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_alb_target_group.alb_target_group will be created
+ resource "aws_alb_target_group" "alb_target_group" {
      + arn                                = (known after apply)
      + arn_suffix                         = (known after apply)
      + connection_termination             = false
      + deregistration_delay               = "300"
      + id                                 = (known after apply)
      + ip_address_type                    = (known after apply)
      + lambda_multi_value_headers_enabled = false
      + load_balancing_algorithm_type      = (known after apply)
      + load_balancing_cross_zone_enabled  = (known after apply)
      + name                               = "api-nexus-prod-tg"
      + port                               = 4007
      + preserve_client_ip                 = (known after apply)
      + protocol                           = "HTTP"
      + protocol_version                   = (known after apply)
      + proxy_protocol_v2                  = false
      + slow_start                         = 0
      + tags_all                           = (known after apply)
      + target_type                        = "ip"
      + vpc_id                             = "vpc-0b722b0a1f7789afd"

      + health_check {
          + enabled             = true
          + healthy_threshold   = 2
          + interval            = 5
          + matcher             = (known after apply)
          + path                = "/.well-known/apollo/server-health"
          + port                = "traffic-port"
          + protocol            = "HTTP"
          + timeout             = 4
          + unhealthy_threshold = 3
        }

      + stickiness (known after apply)

      + target_failover (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_appautoscaling_policy.ecs_policy_cpu will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_cpu" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-cpu-autoscaling-prod"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-prod/api-nexus-prod-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageCPUUtilization"
            }
        }
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_appautoscaling_policy.ecs_policy_memory will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_memory" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-memory-autoscaling-prod"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-prod/api-nexus-prod-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageMemoryUtilization"
            }
        }
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_appautoscaling_target.service_autoscaling will be created
+ resource "aws_appautoscaling_target" "service_autoscaling" {
      + arn                = (known after apply)
      + id                 = (known after apply)
      + max_capacity       = 2
      + min_capacity       = 1
      + resource_id        = "service/jfp-ecs-cluster-prod/api-nexus-prod-service"
      + role_arn           = (known after apply)
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"
      + tags_all           = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_cloudwatch_log_group.ecs_cw_log_group will be created
+ resource "aws_cloudwatch_log_group" "ecs_cw_log_group" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + name              = "api-nexus-prod-logs"
      + name_prefix       = (known after apply)
      + retention_in_days = 0
      + skip_destroy      = false
      + tags_all          = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ecr_lifecycle_policy.ecr_policy will be created
+ resource "aws_ecr_lifecycle_policy" "ecr_policy" {
      + id          = (known after apply)
      + policy      = jsonencode(
            {
              + rules = [
                  + {
                      + action       = {
                          + type = "expire"
                        }
                      + description  = "Expire more than 10 images"
                      + rulePriority = 1
                      + selection    = {
                          + countNumber = 10
                          + countType   = "imageCountMoreThan"
                          + tagStatus   = "any"
                        }
                    },
                ]
            }
        )
      + registry_id = (known after apply)
      + repository  = "jfp-api-nexus-prod"
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ecr_repository.ecr_repository will be created
+ resource "aws_ecr_repository" "ecr_repository" {
      + arn                  = (known after apply)
      + id                   = (known after apply)
      + image_tag_mutability = "MUTABLE"
      + name                 = "jfp-api-nexus-prod"
      + registry_id          = (known after apply)
      + repository_url       = (known after apply)
      + tags_all             = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ecs_service.ecs_service will be created
+ resource "aws_ecs_service" "ecs_service" {
      + cluster                            = "arn:aws:ecs:us-east-2:410965620680:cluster/jfp-ecs-cluster-prod"
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "api-nexus-prod-service"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = (known after apply)
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "jfp-api-nexus-prod-app"
          + container_port   = 4007
          + target_group_arn = (known after apply)
            # (1 unchanged attribute hidden)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = [
              + "sg-02935fccc551bacd8",
            ]
          + subnets          = [
              + "subnet-02f4c2a33ace122c5",
              + "subnet-036663ddfdb3b94b0",
              + "subnet-05c389158df4b940a",
            ]
        }
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ecs_task_definition.ecs_task_definition will be created
+ resource "aws_ecs_task_definition" "ecs_task_definition" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = (known after apply)
      + cpu                      = "1024"
      + execution_role_arn       = "arn:aws:iam::410965620680:role/jfp-ecs-task-execution-role"
      + family                   = "jfp-api-nexus-prod"
      + id                       = (known after apply)
      + memory                   = "2048"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_route53_record.record will be created
+ resource "aws_route53_record" "record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "api-nexus"
      + records         = [
          + "internal-jfp-internal-alb-prod-1581820397.us-east-2.elb.amazonaws.com",
        ]
      + ttl             = 300
      + type            = "CNAME"
      + zone_id         = "Z03223152FHL8WN66TI5X"
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_ACCESS_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/BUCKET_ACCESS_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_ACCESS_KEY"
        }
      + tags_all       = {
          + "name" = "BUCKET_ACCESS_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_ENDPOINT"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/BUCKET_ENDPOINT"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_ENDPOINT"
        }
      + tags_all       = {
          + "name" = "BUCKET_ENDPOINT"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_NAME"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/BUCKET_NAME"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_NAME"
        }
      + tags_all       = {
          + "name" = "BUCKET_NAME"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_REGION"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/BUCKET_REGION"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_REGION"
        }
      + tags_all       = {
          + "name" = "BUCKET_REGION"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_SECRET_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/BUCKET_SECRET_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_SECRET_KEY"
        }
      + tags_all       = {
          + "name" = "BUCKET_SECRET_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["CLOUDFLARE_ACCOUNT_ID"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/CLOUDFLARE_ACCOUNT_ID"
      + overwrite      = true
      + tags           = {
          + "name" = "CLOUDFLARE_ACCOUNT_ID"
        }
      + tags_all       = {
          + "name" = "CLOUDFLARE_ACCOUNT_ID"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["CLOUDFLARE_API_TOKEN"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/CLOUDFLARE_API_TOKEN"
      + overwrite      = true
      + tags           = {
          + "name" = "CLOUDFLARE_API_TOKEN"
        }
      + tags_all       = {
          + "name" = "CLOUDFLARE_API_TOKEN"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["CLOUDFLARE_STREAM_TOKEN"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/CLOUDFLARE_STREAM_TOKEN"
      + overwrite      = true
      + tags           = {
          + "name" = "CLOUDFLARE_STREAM_TOKEN"
        }
      + tags_all       = {
          + "name" = "CLOUDFLARE_STREAM_TOKEN"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["FIREBASE_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/FIREBASE_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "FIREBASE_API_KEY"
        }
      + tags_all       = {
          + "name" = "FIREBASE_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/GOOGLE_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_API_KEY"
        }
      + tags_all       = {
          + "name" = "GOOGLE_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_APPLICATION_JSON"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/GOOGLE_APPLICATION_JSON"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_APPLICATION_JSON"
        }
      + tags_all       = {
          + "name" = "GOOGLE_APPLICATION_JSON"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_CLIENT_ID"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/GOOGLE_CLIENT_ID"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_CLIENT_ID"
        }
      + tags_all       = {
          + "name" = "GOOGLE_CLIENT_ID"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_CLIENT_SECRET"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/GOOGLE_CLIENT_SECRET"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_CLIENT_SECRET"
        }
      + tags_all       = {
          + "name" = "GOOGLE_CLIENT_SECRET"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["PG_DATABASE_URL_NEXUS"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/PG_DATABASE_URL_NEXUS"
      + overwrite      = true
      + tags           = {
          + "name" = "PG_DATABASE_URL_NEXUS"
        }
      + tags_all       = {
          + "name" = "PG_DATABASE_URL_NEXUS"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["REDIS_HOST"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/prod/REDIS_HOST"
      + overwrite      = true
      + tags           = {
          + "name" = "REDIS_HOST"
        }
      + tags_all       = {
          + "name" = "REDIS_HOST"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-tags.module.alb-listener.aws_alb_listener.alb_listener will be created
+ resource "aws_alb_listener" "alb_listener" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-2:410965620680:loadbalancer/app/jfp-internal-alb-prod/ae1556aacf21465f"
      + port              = 4006
      + protocol          = "HTTP"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order = (known after apply)
          + type  = "fixed-response"

          + fixed_response {
              + content_type = "text/plain"
              + message_body = "No routes defined"
              + status_code  = "200"
            }
        }
    }

  # module.prod.module.api-tags.module.ecs-task.aws_alb_listener_rule.alb_listener_rule will be created
+ resource "aws_alb_listener_rule" "alb_listener_rule" {
      + arn          = (known after apply)
      + id           = (known after apply)
      + listener_arn = (known after apply)
      + priority     = (known after apply)
      + tags_all     = (known after apply)

      + action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }

      + condition {
          + host_header {
              + values = [
                  + "api-tags.service.internal",
                ]
            }
        }
    }

  # module.prod.module.api-tags.module.ecs-task.aws_alb_target_group.alb_target_group will be created
+ resource "aws_alb_target_group" "alb_target_group" {
      + arn                                = (known after apply)
      + arn_suffix                         = (known after apply)
      + connection_termination             = false
      + deregistration_delay               = "300"
      + id                                 = (known after apply)
      + ip_address_type                    = (known after apply)
      + lambda_multi_value_headers_enabled = false
      + load_balancing_algorithm_type      = (known after apply)
      + load_balancing_cross_zone_enabled  = (known after apply)
      + name                               = "api-tags-prod-tg"
      + port                               = 4006
      + preserve_client_ip                 = (known after apply)
      + protocol                           = "HTTP"
      + protocol_version                   = (known after apply)
      + proxy_protocol_v2                  = false
      + slow_start                         = 0
      + tags_all                           = (known after apply)
      + target_type                        = "ip"
      + vpc_id                             = "vpc-0b722b0a1f7789afd"

      + health_check {
          + enabled             = true
          + healthy_threshold   = 2
          + interval            = 5
          + matcher             = (known after apply)
          + path                = "/.well-known/apollo/server-health"
          + port                = "traffic-port"
          + protocol            = "HTTP"
          + timeout             = 4
          + unhealthy_threshold = 3
        }

      + stickiness (known after apply)

      + target_failover (known after apply)
    }

  # module.prod.module.api-tags.module.ecs-task.aws_appautoscaling_policy.ecs_policy_cpu will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_cpu" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-cpu-autoscaling-prod"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-prod/api-tags-prod-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageCPUUtilization"
            }
        }
    }

  # module.prod.module.api-tags.module.ecs-task.aws_appautoscaling_policy.ecs_policy_memory will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_memory" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-memory-autoscaling-prod"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-prod/api-tags-prod-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageMemoryUtilization"
            }
        }
    }

  # module.prod.module.api-tags.module.ecs-task.aws_appautoscaling_target.service_autoscaling will be created
+ resource "aws_appautoscaling_target" "service_autoscaling" {
      + arn                = (known after apply)
      + id                 = (known after apply)
      + max_capacity       = 2
      + min_capacity       = 1
      + resource_id        = "service/jfp-ecs-cluster-prod/api-tags-prod-service"
      + role_arn           = (known after apply)
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"
      + tags_all           = (known after apply)
    }

  # module.prod.module.api-tags.module.ecs-task.aws_cloudwatch_log_group.ecs_cw_log_group will be created
+ resource "aws_cloudwatch_log_group" "ecs_cw_log_group" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + name              = "api-tags-prod-logs"
      + name_prefix       = (known after apply)
      + retention_in_days = 0
      + skip

Warning: Output length greater than max comment size. Continued in next comment.

@jesus-film-bot
Copy link
Collaborator

Continued plan output from previous comment.

Show Output
_destroy      = false
      + tags_all          = (known after apply)
    }

  # module.prod.module.api-tags.module.ecs-task.aws_ecr_lifecycle_policy.ecr_policy will be created
+ resource "aws_ecr_lifecycle_policy" "ecr_policy" {
      + id          = (known after apply)
      + policy      = jsonencode(
            {
              + rules = [
                  + {
                      + action       = {
                          + type = "expire"
                        }
                      + description  = "Expire more than 10 images"
                      + rulePriority = 1
                      + selection    = {
                          + countNumber = 10
                          + countType   = "imageCountMoreThan"
                          + tagStatus   = "any"
                        }
                    },
                ]
            }
        )
      + registry_id = (known after apply)
      + repository  = "jfp-api-tags-prod"
    }

  # module.prod.module.api-tags.module.ecs-task.aws_ecr_repository.ecr_repository will be created
+ resource "aws_ecr_repository" "ecr_repository" {
      + arn                  = (known after apply)
      + id                   = (known after apply)
      + image_tag_mutability = "MUTABLE"
      + name                 = "jfp-api-tags-prod"
      + registry_id          = (known after apply)
      + repository_url       = (known after apply)
      + tags_all             = (known after apply)
    }

  # module.prod.module.api-tags.module.ecs-task.aws_ecs_service.ecs_service will be created
+ resource "aws_ecs_service" "ecs_service" {
      + cluster                            = "arn:aws:ecs:us-east-2:410965620680:cluster/jfp-ecs-cluster-prod"
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "api-tags-prod-service"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = (known after apply)
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "jfp-api-tags-prod-app"
          + container_port   = 4006
          + target_group_arn = (known after apply)
            # (1 unchanged attribute hidden)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = [
              + "sg-02935fccc551bacd8",
            ]
          + subnets          = [
              + "subnet-02f4c2a33ace122c5",
              + "subnet-036663ddfdb3b94b0",
              + "subnet-05c389158df4b940a",
            ]
        }
    }

  # module.prod.module.api-tags.module.ecs-task.aws_ecs_task_definition.ecs_task_definition will be created
+ resource "aws_ecs_task_definition" "ecs_task_definition" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = (known after apply)
      + cpu                      = "512"
      + execution_role_arn       = "arn:aws:iam::410965620680:role/jfp-ecs-task-execution-role"
      + family                   = "jfp-api-tags-prod"
      + id                       = (known after apply)
      + memory                   = "1024"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = (known after apply)
    }

  # module.prod.module.api-tags.module.ecs-task.aws_route53_record.record will be created
+ resource "aws_route53_record" "record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "api-tags"
      + records         = [
          + "internal-jfp-internal-alb-prod-1581820397.us-east-2.elb.amazonaws.com",
        ]
      + ttl             = 300
      + type            = "CNAME"
      + zone_id         = "Z03223152FHL8WN66TI5X"
    }

  # module.prod.module.api-tags.module.ecs-task.aws_ssm_parameter.parameters["PG_DATABASE_URL_TAGS"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-tags/prod/PG_DATABASE_URL_TAGS"
      + overwrite      = true
      + tags           = {
          + "name" = "PG_DATABASE_URL_TAGS"
        }
      + tags_all       = {
          + "name" = "PG_DATABASE_URL_TAGS"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-users.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-prod/api-users-prod-service"
        name                               = "api-users-prod-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-prod:41" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (5 unchanged blocks hidden)
    }

  # module.prod.module.api-users.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-prod:41" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-api-users-prod-app"
                  ~ secrets          = [
                        # (5 unchanged elements hidden)
                        {
                            name      = "JOURNEYS_ADMIN_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/JOURNEYS_ADMIN_URL"
                        },
                      - {
                          - name      = "NAT_ADDRESSES"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/NAT_ADDRESSES"
                        },
                        {
                            name      = "PG_DATABASE_URL_USERS"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/PG_DATABASE_URL_USERS"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/REDIS_PORT"
                        },
                        {
                            name      = "REDIS_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/REDIS_URL"
                        },
                        # (1 unchanged element hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-users-prod-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-users-prod-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-api-users-prod" -> (known after apply)
      ~ revision                 = 41 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.prod.module.api-users.module.ecs-task.aws_ssm_parameter.parameters["NAT_ADDRESSES"] will be destroyed
  # (because key ["NAT_ADDRESSES"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/NAT_ADDRESSES" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-users/prod/NAT_ADDRESSES" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-users/prod/NAT_ADDRESSES" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NAT_ADDRESSES"
        } -> null
      - tags_all        = {
          - "name" = "NAT_ADDRESSES"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-users.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/prod/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-users/prod/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-users/prod/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.api-videos.module.alb-listener.aws_alb_listener.alb_listener will be created
+ resource "aws_alb_listener" "alb_listener" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-2:410965620680:loadbalancer/app/jfp-internal-alb-prod/ae1556aacf21465f"
      + port              = 4004
      + protocol          = "HTTP"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order = (known after apply)
          + type  = "fixed-response"

          + fixed_response {
              + content_type = "text/plain"
              + message_body = "No routes defined"
              + status_code  = "200"
            }
        }
    }

  # module.prod.module.api-videos.module.ecs-task.aws_alb_listener_rule.alb_listener_rule will be created
+ resource "aws_alb_listener_rule" "alb_listener_rule" {
      + arn          = (known after apply)
      + id           = (known after apply)
      + listener_arn = (known after apply)
      + priority     = (known after apply)
      + tags_all     = (known after apply)

      + action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }

      + condition {
          + host_header {
              + values = [
                  + "api-videos.service.internal",
                ]
            }
        }
    }

  # module.prod.module.api-videos.module.ecs-task.aws_alb_target_group.alb_target_group will be created
+ resource "aws_alb_target_group" "alb_target_group" {
      + arn                                = (known after apply)
      + arn_suffix                         = (known after apply)
      + connection_termination             = false
      + deregistration_delay               = "300"
      + id                                 = (known after apply)
      + ip_address_type                    = (known after apply)
      + lambda_multi_value_headers_enabled = false
      + load_balancing_algorithm_type      = (known after apply)
      + load_balancing_cross_zone_enabled  = (known after apply)
      + name                               = "api-videos-prod-tg"
      + port                               = 4004
      + preserve_client_ip                 = (known after apply)
      + protocol                           = "HTTP"
      + protocol_version                   = (known after apply)
      + proxy_protocol_v2                  = false
      + slow_start                         = 0
      + tags_all                           = (known after apply)
      + target_type                        = "ip"
      + vpc_id                             = "vpc-0b722b0a1f7789afd"

      + health_check {
          + enabled             = true
          + healthy_threshold   = 2
          + interval            = 5
          + matcher             = (known after apply)
          + path                = "/.well-known/apollo/server-health"
          + port                = "traffic-port"
          + protocol            = "HTTP"
          + timeout             = 4
          + unhealthy_threshold = 3
        }

      + stickiness (known after apply)

      + target_failover (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_appautoscaling_policy.ecs_policy_cpu will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_cpu" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-cpu-autoscaling-prod"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-prod/api-videos-prod-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageCPUUtilization"
            }
        }
    }

  # module.prod.module.api-videos.module.ecs-task.aws_appautoscaling_policy.ecs_policy_memory will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_memory" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-memory-autoscaling-prod"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-prod/api-videos-prod-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageMemoryUtilization"
            }
        }
    }

  # module.prod.module.api-videos.module.ecs-task.aws_appautoscaling_target.service_autoscaling will be created
+ resource "aws_appautoscaling_target" "service_autoscaling" {
      + arn                = (known after apply)
      + id                 = (known after apply)
      + max_capacity       = 2
      + min_capacity       = 1
      + resource_id        = "service/jfp-ecs-cluster-prod/api-videos-prod-service"
      + role_arn           = (known after apply)
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"
      + tags_all           = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_cloudwatch_log_group.ecs_cw_log_group will be created
+ resource "aws_cloudwatch_log_group" "ecs_cw_log_group" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + name              = "api-videos-prod-logs"
      + name_prefix       = (known after apply)
      + retention_in_days = 0
      + skip_destroy      = false
      + tags_all          = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ecr_lifecycle_policy.ecr_policy will be created
+ resource "aws_ecr_lifecycle_policy" "ecr_policy" {
      + id          = (known after apply)
      + policy      = jsonencode(
            {
              + rules = [
                  + {
                      + action       = {
                          + type = "expire"
                        }
                      + description  = "Expire more than 10 images"
                      + rulePriority = 1
                      + selection    = {
                          + countNumber = 10
                          + countType   = "imageCountMoreThan"
                          + tagStatus   = "any"
                        }
                    },
                ]
            }
        )
      + registry_id = (known after apply)
      + repository  = "jfp-api-videos-prod"
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ecr_repository.ecr_repository will be created
+ resource "aws_ecr_repository" "ecr_repository" {
      + arn                  = (known after apply)
      + id                   = (known after apply)
      + image_tag_mutability = "MUTABLE"
      + name                 = "jfp-api-videos-prod"
      + registry_id          = (known after apply)
      + repository_url       = (known after apply)
      + tags_all             = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ecs_service.ecs_service will be created
+ resource "aws_ecs_service" "ecs_service" {
      + cluster                            = "arn:aws:ecs:us-east-2:410965620680:cluster/jfp-ecs-cluster-prod"
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "api-videos-prod-service"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = (known after apply)
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "jfp-api-videos-prod-app"
          + container_port   = 4004
          + target_group_arn = (known after apply)
            # (1 unchanged attribute hidden)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = [
              + "sg-02935fccc551bacd8",
            ]
          + subnets          = [
              + "subnet-02f4c2a33ace122c5",
              + "subnet-036663ddfdb3b94b0",
              + "subnet-05c389158df4b940a",
            ]
        }
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ecs_task_definition.ecs_task_definition will be created
+ resource "aws_ecs_task_definition" "ecs_task_definition" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = (known after apply)
      + cpu                      = "1024"
      + execution_role_arn       = "arn:aws:iam::410965620680:role/jfp-ecs-task-execution-role"
      + family                   = "jfp-api-videos-prod"
      + id                       = (known after apply)
      + memory                   = "4096"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_route53_record.record will be created
+ resource "aws_route53_record" "record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "api-videos"
      + records         = [
          + "internal-jfp-internal-alb-prod-1581820397.us-east-2.elb.amazonaws.com",
        ]
      + ttl             = 300
      + type            = "CNAME"
      + zone_id         = "Z03223152FHL8WN66TI5X"
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/ALGOLIA_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_API_KEY"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_APPLICATION_ID"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/ALGOLIA_APPLICATION_ID"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_APPLICATION_ID"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_APPLICATION_ID"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_INDEX"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/ALGOLIA_INDEX"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_INDEX"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_INDEX"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/ARCLIGHT_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "ARCLIGHT_API_KEY"
        }
      + tags_all       = {
          + "name" = "ARCLIGHT_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_V3_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/ARCLIGHT_V3_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "ARCLIGHT_V3_URL"
        }
      + tags_all       = {
          + "name" = "ARCLIGHT_V3_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["BIG_QUERY_APPLICATION_JSON"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/BIG_QUERY_APPLICATION_JSON"
      + overwrite      = true
      + tags           = {
          + "name" = "BIG_QUERY_APPLICATION_JSON"
        }
      + tags_all       = {
          + "name" = "BIG_QUERY_APPLICATION_JSON"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["CROWDIN_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/CROWDIN_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "CROWDIN_API_KEY"
        }
      + tags_all       = {
          + "name" = "CROWDIN_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["GATEWAY_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/GATEWAY_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "GATEWAY_URL"
        }
      + tags_all       = {
          + "name" = "GATEWAY_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["PG_DATABASE_URL_VIDEOS"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/PG_DATABASE_URL_VIDEOS"
      + overwrite      = true
      + tags           = {
          + "name" = "PG_DATABASE_URL_VIDEOS"
        }
      + tags_all       = {
          + "name" = "PG_DATABASE_URL_VIDEOS"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["REDIS_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/prod/REDIS_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "REDIS_URL"
        }
      + tags_all       = {
          + "name" = "REDIS_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.prod.module.journeys-admin.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-prod/journeys-admin-prod-service"
        name                               = "journeys-admin-prod-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-prod:4" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.prod.module.journeys-admin.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-prod:4" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-journeys-admin-prod-app"
                  ~ secrets          = [
                        # (4 unchanged elements hidden)
                        {
                            name      = "LAUNCH_DARKLY_SDK_KEY"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/LAUNCH_DARKLY_SDK_KEY"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_API_KEY"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_APP_ID"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_APP_ID"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_INDEX"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_INDEX"
                        },
                        {
                            name      = "NEXT_PUBLIC_CLOUDFLARE_STREAM_CUSTOMER_CODE"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_CLOUDFLARE_STREAM_CUSTOMER_CODE"
                        },
                        # (16 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-journeys-admin-prod-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-journeys-admin-prod-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-journeys-admin-prod" -> (known after apply)
      ~ revision                 = 4 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.prod.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_API_KEY"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_APP_ID"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_APP_ID"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_APP_ID"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_APP_ID"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.prod.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_INDEX"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_INDEX"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/prod/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_INDEX"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_INDEX"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-journeys.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-stage/api-journeys-stage-service"
        name                               = "api-journeys-stage-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-journeys-stage:40" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.stage.module.api-journeys.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-journeys-stage:40" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-journeys-stage" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-api-journeys-stage-app"
                  ~ secrets          = [
                        # (26 unchanged elements hidden)
                        {
                            name      = "POWER_BI_WORKSPACE_ID"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/stage/POWER_BI_WORKSPACE_ID"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/stage/REDIS_PORT"
                        },
                        {
                            name      = "REDIS_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/stage/REDIS_URL"
                        },
                        # (4 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-journeys-stage-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-journeys-stage-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-api-journeys-stage" -> (known after apply)
      ~ revision                 = 40 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.stage.module.api-journeys.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-journeys/stage/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-journeys/stage/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-journeys/stage/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-languages.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-stage/api-languages-stage-service"
        name                               = "api-languages-stage-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-languages-stage:27" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (5 unchanged blocks hidden)
    }

  # module.stage.module.api-languages.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-languages-stage:27" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-languages-stage" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-api-languages-stage-app"
                  ~ secrets          = [
                        # (3 unchanged elements hidden)
                        {
                            name      = "PG_DATABASE_URL_LANGUAGES"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/stage/PG_DATABASE_URL_LANGUAGES"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/stage/REDIS_PORT"
                        },
                        {
                            name      = "REDIS_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/stage/REDIS_URL"
                        },
                        # (2 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-languages-stage-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-languages-stage-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-api-languages-stage" -> (known after apply)
      ~ revision                 = 27 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.stage.module.api-languages.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-languages/stage/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-languages/stage/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-languages/stage/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-stage/api-media-stage-service"
        name                               = "api-media-stage-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-media-stage:20" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-media-stage:20" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-media-stage" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ cpu              = 1024 -> 512
                  ~ memory           = 2048 -> 1024
                    name             = "jfp-api-media-stage-app"
                  ~ secrets          = [
                      - {
                          - name      = "ALGOLIA_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_API_KEY"
                        },
                      - {
                          - name      = "ALGOLIA_APPLICATION_ID"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_APPLICATION_ID"
                        },
                      - {
                          - name      = "ALGOLIA_INDEX"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_INDEX"
                        },
                      - {
                          - name      = "ARCLIGHT_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ARCLIGHT_API_KEY"
                        },
                      - {
                          - name      = "ARCLIGHT_V3_URL"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ARCLIGHT_V3_URL"
                        },
                      - {
                          - name      = "BIG_QUERY_APPLICATION_JSON"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/BIG_QUERY_APPLICATION_JSON"
                        },
                        {
                            name      = "CLOUDFLARE_ACCOUNT_ID"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/CLOUDFLARE_ACCOUNT_ID"
                        },
                        # (1 unchanged element hidden)
                        {
                            name      = "CLOUDFLARE_STREAM_TOKEN"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/CLOUDFLARE_STREAM_TOKEN"
                        },
                      - {
                          - name      = "CROWDIN_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/CROWDIN_API_KEY"
                        },
                      - {
                          - name      = "GATEWAY_URL"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/GATEWAY_URL"
                        },
                        {
                            name      = "GOOGLE_APPLICATION_JSON"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/GOOGLE_APPLICATION_JSON"
                        },
                        {
                            name      = "PG_DATABASE_URL_MEDIA"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/PG_DATABASE_URL_MEDIA"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/REDIS_PORT"
                        },
                      - {
                          - name      = "REDIS_URL"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/REDIS_URL"
                        },
                        {
                            name      = "SEGMIND_API_KEY"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/SEGMIND_API_KEY"
                        },
                        # (2 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (7 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-media-stage-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-media-stage-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ cpu                      = "1024" -> "512" # forces replacement
      ~ id                       = "jfp-api-media-stage" -> (known after apply)
      ~ memory                   = "2048" -> "1024" # forces replacement
      ~ revision                 = 20 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (8 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_API_KEY"] will be destroyed
  # (because key ["ALGOLIA_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/ALGOLIA_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/ALGOLIA_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ALGOLIA_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "ALGOLIA_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 3 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_APPLICATION_ID"] will be destroyed
  # (because key ["ALGOLIA_APPLICATION_ID"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_APPLICATION_ID" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/ALGOLIA_APPLICATION_ID" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/ALGOLIA_APPLICATION_ID" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ALGOLIA_APPLICATION_ID"
        } -> null
      - tags_all        = {
          - "name" = "ALGOLIA_APPLICATION_ID"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_INDEX"] will be destroyed
  # (because key ["ALGOLIA_INDEX"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ALGOLIA_INDEX" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/ALGOLIA_INDEX" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/ALGOLIA_INDEX" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ALGOLIA_INDEX"
        } -> null
      - tags_all        = {
          - "name" = "ALGOLIA_INDEX"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_API_KEY"] will be destroyed
  # (because key ["ARCLIGHT_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ARCLIGHT_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/ARCLIGHT_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/ARCLIGHT_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ARCLIGHT_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "ARCLIGHT_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_V3_URL"] will be destroyed
  # (because key ["ARCLIGHT_V3_URL"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/ARCLIGHT_V3_URL" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/ARCLIGHT_V3_URL" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/ARCLIGHT_V3_URL" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "ARCLIGHT_V3_URL"
        } -> null
      - tags_all        = {
          - "name" = "ARCLIGHT_V3_URL"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["BIG_QUERY_APPLICATION_JSON"] will be destroyed
  # (because key ["BIG_QUERY_APPLICATION_JSON"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/BIG_QUERY_APPLICATION_JSON" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/BIG_QUERY_APPLICATION_JSON" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/BIG_QUERY_APPLICATION_JSON" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "BIG_QUERY_APPLICATION_JSON"
        } -> null
      - tags_all        = {
          - "name" = "BIG_QUERY_APPLICATION_JSON"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["CROWDIN_API_KEY"] will be destroyed
  # (because key ["CROWDIN_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/CROWDIN_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/CROWDIN_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/CROWDIN_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "CROWDIN_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "CROWDIN_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["GATEWAY_URL"] will be destroyed
  # (because key ["GATEWAY_URL"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/GATEWAY_URL" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/GATEWAY_URL" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/GATEWAY_URL" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "GATEWAY_URL"
        } -> null
      - tags_all        = {
          - "name" = "GATEWAY_URL"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-media.module.ecs-task.aws_ssm_parameter.parameters["REDIS_URL"] will be destroyed
  # (because key ["REDIS_URL"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-media/stage/REDIS_URL" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-media/stage/REDIS_URL" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-media/stage/REDIS_URL" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_URL"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_URL"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-nexus.module.alb-listener.aws_alb_listener.alb_listener will be created
+ resource "aws_alb_listener" "alb_listener" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-2:410965620680:loadbalancer/app/jfp-internal-alb-stage/846f69021da58f87"
      + port              = 4007
      + protocol          = "HTTP"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order = (known after apply)
          + type  = "fixed-response"

          + fixed_response {
              + content_type = "text/plain"
              + message_body = "No routes defined"
              + status_code  = "200"
            }
        }
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_alb_listener_rule.alb_listener_rule will be created
+ resource "aws_alb_listener_rule" "alb_listener_rule" {
      + arn          = (known after apply)
      + id           = (known after apply)
      + listener_arn = (known after apply)
      + priority     = (known after apply)
      + tags_all     = (known after apply)

      + action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }

      + condition {
          + host_header {
              + values = [
                  + "api-nexus.stage.internal",
                ]
            }
        }
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_alb_target_group.alb_target_group will be created
+ resource "aws_alb_target_group" "alb_target_group" {
      + arn                                = (known after apply)
      + arn_suffix                         = (known after apply)
      + connection_termination             = false
      + deregistration_delay               = "300"
      + id                                 = (known after apply)
      + ip_address_type                    = (known after apply)
      + lambda_multi_value_headers_enabled = false
      + load_balancing_algorithm_type      = (known after apply)
      + load_balancing_cross_zone_enabled  = (known after apply)
      + name                               = "api-nexus-stage-tg"
      + port                               = 4007
      + preserve_client_ip                 = (known after apply)
      + protocol                           = "HTTP"
      + protocol_version                   = (known after apply)
      + proxy_protocol_v2                  = false
      + slow_start                         = 0
      + tags_all                           = (known after apply)
      + target_type                        = "ip"
      + vpc_id                             = "vpc-08eeff0fe23f23079"

      + health_check {
          + enabled             = true
          + healthy_threshold   = 2
          + interval            = 5
          + matcher             = (known after apply)
          + path                = "/.well-known/apollo/server-health"
          + port                = "traffic-port"
          + protocol            = "HTTP"
          + timeout             = 4
          + unhealthy_threshold = 3
        }

      + stickiness (known after apply)

      + target_failover (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_appautoscaling_policy.ecs_policy_cpu will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_cpu" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-cpu-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-nexus-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageCPUUtilization"
            }
     

Warning: Output length greater than max comment size. Continued in next comment.

@jesus-film-bot
Copy link
Collaborator

Continued plan output from previous comment.

Show Output
   }
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_appautoscaling_policy.ecs_policy_memory will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_memory" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-memory-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-nexus-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageMemoryUtilization"
            }
        }
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_appautoscaling_target.service_autoscaling will be created
+ resource "aws_appautoscaling_target" "service_autoscaling" {
      + arn                = (known after apply)
      + id                 = (known after apply)
      + max_capacity       = 2
      + min_capacity       = 1
      + resource_id        = "service/jfp-ecs-cluster-stage/api-nexus-stage-service"
      + role_arn           = (known after apply)
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"
      + tags_all           = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_cloudwatch_log_group.ecs_cw_log_group will be created
+ resource "aws_cloudwatch_log_group" "ecs_cw_log_group" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + name              = "api-nexus-stage-logs"
      + name_prefix       = (known after apply)
      + retention_in_days = 0
      + skip_destroy      = false
      + tags_all          = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ecr_lifecycle_policy.ecr_policy will be created
+ resource "aws_ecr_lifecycle_policy" "ecr_policy" {
      + id          = (known after apply)
      + policy      = jsonencode(
            {
              + rules = [
                  + {
                      + action       = {
                          + type = "expire"
                        }
                      + description  = "Expire more than 10 images"
                      + rulePriority = 1
                      + selection    = {
                          + countNumber = 10
                          + countType   = "imageCountMoreThan"
                          + tagStatus   = "any"
                        }
                    },
                ]
            }
        )
      + registry_id = (known after apply)
      + repository  = "jfp-api-nexus-stage"
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ecr_repository.ecr_repository will be created
+ resource "aws_ecr_repository" "ecr_repository" {
      + arn                  = (known after apply)
      + id                   = (known after apply)
      + image_tag_mutability = "MUTABLE"
      + name                 = "jfp-api-nexus-stage"
      + registry_id          = (known after apply)
      + repository_url       = (known after apply)
      + tags_all             = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ecs_service.ecs_service will be created
+ resource "aws_ecs_service" "ecs_service" {
      + cluster                            = "arn:aws:ecs:us-east-2:410965620680:cluster/jfp-ecs-cluster-stage"
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "api-nexus-stage-service"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = (known after apply)
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "jfp-api-nexus-stage-app"
          + container_port   = 4007
          + target_group_arn = (known after apply)
            # (1 unchanged attribute hidden)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = [
              + "sg-087bc43a262c94bc1",
            ]
          + subnets          = [
              + "subnet-01f4e86883462b5ce",
              + "subnet-062de12e3e3639eff",
              + "subnet-09cbfc19be5214a8b",
            ]
        }
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ecs_task_definition.ecs_task_definition will be created
+ resource "aws_ecs_task_definition" "ecs_task_definition" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = (known after apply)
      + cpu                      = "1024"
      + execution_role_arn       = "arn:aws:iam::410965620680:role/jfp-ecs-task-execution-role"
      + family                   = "jfp-api-nexus-stage"
      + id                       = (known after apply)
      + memory                   = "2048"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_route53_record.record will be created
+ resource "aws_route53_record" "record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "api-nexus"
      + records         = [
          + "internal-jfp-internal-alb-stage-154137661.us-east-2.elb.amazonaws.com",
        ]
      + ttl             = 300
      + type            = "CNAME"
      + zone_id         = "Z056780738DT3AZL6A4WD"
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_ACCESS_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/BUCKET_ACCESS_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_ACCESS_KEY"
        }
      + tags_all       = {
          + "name" = "BUCKET_ACCESS_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_ENDPOINT"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/BUCKET_ENDPOINT"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_ENDPOINT"
        }
      + tags_all       = {
          + "name" = "BUCKET_ENDPOINT"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_NAME"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/BUCKET_NAME"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_NAME"
        }
      + tags_all       = {
          + "name" = "BUCKET_NAME"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_REGION"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/BUCKET_REGION"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_REGION"
        }
      + tags_all       = {
          + "name" = "BUCKET_REGION"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["BUCKET_SECRET_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/BUCKET_SECRET_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "BUCKET_SECRET_KEY"
        }
      + tags_all       = {
          + "name" = "BUCKET_SECRET_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["CLOUDFLARE_ACCOUNT_ID"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/CLOUDFLARE_ACCOUNT_ID"
      + overwrite      = true
      + tags           = {
          + "name" = "CLOUDFLARE_ACCOUNT_ID"
        }
      + tags_all       = {
          + "name" = "CLOUDFLARE_ACCOUNT_ID"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["CLOUDFLARE_API_TOKEN"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/CLOUDFLARE_API_TOKEN"
      + overwrite      = true
      + tags           = {
          + "name" = "CLOUDFLARE_API_TOKEN"
        }
      + tags_all       = {
          + "name" = "CLOUDFLARE_API_TOKEN"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["CLOUDFLARE_STREAM_TOKEN"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/CLOUDFLARE_STREAM_TOKEN"
      + overwrite      = true
      + tags           = {
          + "name" = "CLOUDFLARE_STREAM_TOKEN"
        }
      + tags_all       = {
          + "name" = "CLOUDFLARE_STREAM_TOKEN"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["FIREBASE_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/FIREBASE_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "FIREBASE_API_KEY"
        }
      + tags_all       = {
          + "name" = "FIREBASE_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/GOOGLE_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_API_KEY"
        }
      + tags_all       = {
          + "name" = "GOOGLE_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_APPLICATION_JSON"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/GOOGLE_APPLICATION_JSON"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_APPLICATION_JSON"
        }
      + tags_all       = {
          + "name" = "GOOGLE_APPLICATION_JSON"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_CLIENT_ID"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/GOOGLE_CLIENT_ID"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_CLIENT_ID"
        }
      + tags_all       = {
          + "name" = "GOOGLE_CLIENT_ID"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["GOOGLE_CLIENT_SECRET"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/GOOGLE_CLIENT_SECRET"
      + overwrite      = true
      + tags           = {
          + "name" = "GOOGLE_CLIENT_SECRET"
        }
      + tags_all       = {
          + "name" = "GOOGLE_CLIENT_SECRET"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["PG_DATABASE_URL_NEXUS"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/PG_DATABASE_URL_NEXUS"
      + overwrite      = true
      + tags           = {
          + "name" = "PG_DATABASE_URL_NEXUS"
        }
      + tags_all       = {
          + "name" = "PG_DATABASE_URL_NEXUS"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-nexus.module.ecs-task.aws_ssm_parameter.parameters["REDIS_HOST"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-nexus/stage/REDIS_HOST"
      + overwrite      = true
      + tags           = {
          + "name" = "REDIS_HOST"
        }
      + tags_all       = {
          + "name" = "REDIS_HOST"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-tags.module.alb-listener.aws_alb_listener.alb_listener will be created
+ resource "aws_alb_listener" "alb_listener" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-2:410965620680:loadbalancer/app/jfp-internal-alb-stage/846f69021da58f87"
      + port              = 4006
      + protocol          = "HTTP"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order = (known after apply)
          + type  = "fixed-response"

          + fixed_response {
              + content_type = "text/plain"
              + message_body = "No routes defined"
              + status_code  = "200"
            }
        }
    }

  # module.stage.module.api-tags.module.ecs-task.aws_alb_listener_rule.alb_listener_rule will be created
+ resource "aws_alb_listener_rule" "alb_listener_rule" {
      + arn          = (known after apply)
      + id           = (known after apply)
      + listener_arn = (known after apply)
      + priority     = (known after apply)
      + tags_all     = (known after apply)

      + action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }

      + condition {
          + host_header {
              + values = [
                  + "api-tags.stage.internal",
                ]
            }
        }
    }

  # module.stage.module.api-tags.module.ecs-task.aws_alb_target_group.alb_target_group will be created
+ resource "aws_alb_target_group" "alb_target_group" {
      + arn                                = (known after apply)
      + arn_suffix                         = (known after apply)
      + connection_termination             = false
      + deregistration_delay               = "300"
      + id                                 = (known after apply)
      + ip_address_type                    = (known after apply)
      + lambda_multi_value_headers_enabled = false
      + load_balancing_algorithm_type      = (known after apply)
      + load_balancing_cross_zone_enabled  = (known after apply)
      + name                               = "api-tags-stage-tg"
      + port                               = 4006
      + preserve_client_ip                 = (known after apply)
      + protocol                           = "HTTP"
      + protocol_version                   = (known after apply)
      + proxy_protocol_v2                  = false
      + slow_start                         = 0
      + tags_all                           = (known after apply)
      + target_type                        = "ip"
      + vpc_id                             = "vpc-08eeff0fe23f23079"

      + health_check {
          + enabled             = true
          + healthy_threshold   = 2
          + interval            = 5
          + matcher             = (known after apply)
          + path                = "/.well-known/apollo/server-health"
          + port                = "traffic-port"
          + protocol            = "HTTP"
          + timeout             = 4
          + unhealthy_threshold = 3
        }

      + stickiness (known after apply)

      + target_failover (known after apply)
    }

  # module.stage.module.api-tags.module.ecs-task.aws_appautoscaling_policy.ecs_policy_cpu will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_cpu" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-cpu-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-tags-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageCPUUtilization"
            }
        }
    }

  # module.stage.module.api-tags.module.ecs-task.aws_appautoscaling_policy.ecs_policy_memory will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_memory" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-memory-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-tags-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageMemoryUtilization"
            }
        }
    }

  # module.stage.module.api-tags.module.ecs-task.aws_appautoscaling_target.service_autoscaling will be created
+ resource "aws_appautoscaling_target" "service_autoscaling" {
      + arn                = (known after apply)
      + id                 = (known after apply)
      + max_capacity       = 2
      + min_capacity       = 1
      + resource_id        = "service/jfp-ecs-cluster-stage/api-tags-stage-service"
      + role_arn           = (known after apply)
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"
      + tags_all           = (known after apply)
    }

  # module.stage.module.api-tags.module.ecs-task.aws_cloudwatch_log_group.ecs_cw_log_group will be created
+ resource "aws_cloudwatch_log_group" "ecs_cw_log_group" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + name              = "api-tags-stage-logs"
      + name_prefix       = (known after apply)
      + retention_in_days = 0
      + skip_destroy      = false
      + tags_all          = (known after apply)
    }

  # module.stage.module.api-tags.module.ecs-task.aws_ecr_lifecycle_policy.ecr_policy will be created
+ resource "aws_ecr_lifecycle_policy" "ecr_policy" {
      + id          = (known after apply)
      + policy      = jsonencode(
            {
              + rules = [
                  + {
                      + action       = {
                          + type = "expire"
                        }
                      + description  = "Expire more than 10 images"
                      + rulePriority = 1
                      + selection    = {
                          + countNumber = 10
                          + countType   = "imageCountMoreThan"
                          + tagStatus   = "any"
                        }
                    },
                ]
            }
        )
      + registry_id = (known after apply)
      + repository  = "jfp-api-tags-stage"
    }

  # module.stage.module.api-tags.module.ecs-task.aws_ecr_repository.ecr_repository will be created
+ resource "aws_ecr_repository" "ecr_repository" {
      + arn                  = (known after apply)
      + id                   = (known after apply)
      + image_tag_mutability = "MUTABLE"
      + name                 = "jfp-api-tags-stage"
      + registry_id          = (known after apply)
      + repository_url       = (known after apply)
      + tags_all             = (known after apply)
    }

  # module.stage.module.api-tags.module.ecs-task.aws_ecs_service.ecs_service will be created
+ resource "aws_ecs_service" "ecs_service" {
      + cluster                            = "arn:aws:ecs:us-east-2:410965620680:cluster/jfp-ecs-cluster-stage"
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "api-tags-stage-service"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = (known after apply)
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "jfp-api-tags-stage-app"
          + container_port   = 4006
          + target_group_arn = (known after apply)
            # (1 unchanged attribute hidden)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = [
              + "sg-087bc43a262c94bc1",
            ]
          + subnets          = [
              + "subnet-01f4e86883462b5ce",
              + "subnet-062de12e3e3639eff",
              + "subnet-09cbfc19be5214a8b",
            ]
        }
    }

  # module.stage.module.api-tags.module.ecs-task.aws_ecs_task_definition.ecs_task_definition will be created
+ resource "aws_ecs_task_definition" "ecs_task_definition" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = (known after apply)
      + cpu                      = "512"
      + execution_role_arn       = "arn:aws:iam::410965620680:role/jfp-ecs-task-execution-role"
      + family                   = "jfp-api-tags-stage"
      + id                       = (known after apply)
      + memory                   = "1024"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = (known after apply)
    }

  # module.stage.module.api-tags.module.ecs-task.aws_route53_record.record will be created
+ resource "aws_route53_record" "record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "api-tags"
      + records         = [
          + "internal-jfp-internal-alb-stage-154137661.us-east-2.elb.amazonaws.com",
        ]
      + ttl             = 300
      + type            = "CNAME"
      + zone_id         = "Z056780738DT3AZL6A4WD"
    }

  # module.stage.module.api-tags.module.ecs-task.aws_ssm_parameter.parameters["PG_DATABASE_URL_TAGS"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-tags/stage/PG_DATABASE_URL_TAGS"
      + overwrite      = true
      + tags           = {
          + "name" = "PG_DATABASE_URL_TAGS"
        }
      + tags_all       = {
          + "name" = "PG_DATABASE_URL_TAGS"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-users.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-stage/api-users-stage-service"
        name                               = "api-users-stage-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-stage:31" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.stage.module.api-users.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-stage:31" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-api-users-stage" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-api-users-stage-app"
                  ~ secrets          = [
                        # (5 unchanged elements hidden)
                        {
                            name      = "JOURNEYS_ADMIN_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/JOURNEYS_ADMIN_URL"
                        },
                      - {
                          - name      = "NAT_ADDRESSES"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/NAT_ADDRESSES"
                        },
                        {
                            name      = "PG_DATABASE_URL_USERS"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/PG_DATABASE_URL_USERS"
                        },
                      - {
                          - name      = "REDIS_PORT"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/REDIS_PORT"
                        },
                        {
                            name      = "REDIS_URL"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/REDIS_URL"
                        },
                        # (1 unchanged element hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-api-users-stage-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-api-users-stage-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-api-users-stage" -> (known after apply)
      ~ revision                 = 31 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.stage.module.api-users.module.ecs-task.aws_ssm_parameter.parameters["NAT_ADDRESSES"] will be destroyed
  # (because key ["NAT_ADDRESSES"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/NAT_ADDRESSES" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-users/stage/NAT_ADDRESSES" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-users/stage/NAT_ADDRESSES" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NAT_ADDRESSES"
        } -> null
      - tags_all        = {
          - "name" = "NAT_ADDRESSES"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 2 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-users.module.ecs-task.aws_ssm_parameter.parameters["REDIS_PORT"] will be destroyed
  # (because key ["REDIS_PORT"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/api-users/stage/REDIS_PORT" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/api-users/stage/REDIS_PORT" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/api-users/stage/REDIS_PORT" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "REDIS_PORT"
        } -> null
      - tags_all        = {
          - "name" = "REDIS_PORT"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.api-videos.module.alb-listener.aws_alb_listener.alb_listener will be created
+ resource "aws_alb_listener" "alb_listener" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-2:410965620680:loadbalancer/app/jfp-internal-alb-stage/846f69021da58f87"
      + port              = 4004
      + protocol          = "HTTP"
      + ssl_policy        = (known after apply)
      + tags_all          = (known after apply)

      + default_action {
          + order = (known after apply)
          + type  = "fixed-response"

          + fixed_response {
              + content_type = "text/plain"
              + message_body = "No routes defined"
              + status_code  = "200"
            }
        }
    }

  # module.stage.module.api-videos.module.ecs-task.aws_alb_listener_rule.alb_listener_rule will be created
+ resource "aws_alb_listener_rule" "alb_listener_rule" {
      + arn          = (known after apply)
      + id           = (known after apply)
      + listener_arn = (known after apply)
      + priority     = (known after apply)
      + tags_all     = (known after apply)

      + action {
          + order            = (known after apply)
          + target_group_arn = (known after apply)
          + type             = "forward"
        }

      + condition {
          + host_header {
              + values = [
                  + "api-videos.stage.internal",
                ]
            }
        }
    }

  # module.stage.module.api-videos.module.ecs-task.aws_alb_target_group.alb_target_group will be created
+ resource "aws_alb_target_group" "alb_target_group" {
      + arn                                = (known after apply)
      + arn_suffix                         = (known after apply)
      + connection_termination             = false
      + deregistration_delay               = "300"
      + id                                 = (known after apply)
      + ip_address_type                    = (known after apply)
      + lambda_multi_value_headers_enabled = false
      + load_balancing_algorithm_type      = (known after apply)
      + load_balancing_cross_zone_enabled  = (known after apply)
      + name                               = "api-videos-stage-tg"
      + port                               = 4004
      + preserve_client_ip                 = (known after apply)
      + protocol                           = "HTTP"
      + protocol_version                   = (known after apply)
      + proxy_protocol_v2                  = false
      + slow_start                         = 0
      + tags_all                           = (known after apply)
      + target_type                        = "ip"
      + vpc_id                             = "vpc-08eeff0fe23f23079"

      + health_check {
          + enabled             = true
          + healthy_threshold   = 2
          + interval            = 5
          + matcher             = (known after apply)
          + path                = "/.well-known/apollo/server-health"
          + port                = "traffic-port"
          + protocol            = "HTTP"
          + timeout             = 4
          + unhealthy_threshold = 3
        }

      + stickiness (known after apply)

      + target_failover (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_appautoscaling_policy.ecs_policy_cpu will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_cpu" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-cpu-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-videos-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageCPUUtilization"
            }
        }
    }

  # module.stage.module.api-videos.module.ecs-task.aws_appautoscaling_policy.ecs_policy_memory will be created
+ resource "aws_appautoscaling_policy" "ecs_policy_memory" {
      + alarm_arns         = (known after apply)
      + arn                = (known after apply)
      + id                 = (known after apply)
      + name               = "jfp-memory-autoscaling-stage"
      + policy_type        = "TargetTrackingScaling"
      + resource_id        = "service/jfp-ecs-cluster-stage/api-videos-stage-service"
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"

      + target_tracking_scaling_policy_configuration {
          + disable_scale_in = false
          + target_value     = 75

          + predefined_metric_specification {
              + predefined_metric_type = "ECSServiceAverageMemoryUtilization"
            }
        }
    }

  # module.stage.module.api-videos.module.ecs-task.aws_appautoscaling_target.service_autoscaling will be created
+ resource "aws_appautoscaling_target" "service_autoscaling" {
      + arn                = (known after apply)
      + id                 = (known after apply)
      + max_capacity       = 2
      + min_capacity       = 1
      + resource_id        = "service/jfp-ecs-cluster-stage/api-videos-stage-service"
      + role_arn           = (known after apply)
      + scalable_dimension = "ecs:service:DesiredCount"
      + service_namespace  = "ecs"
      + tags_all           = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_cloudwatch_log_group.ecs_cw_log_group will be created
+ resource "aws_cloudwatch_log_group" "ecs_cw_log_group" {
      + arn               = (known after apply)
      + id                = (known after apply)
      + name              = "api-videos-stage-logs"
      + name_prefix       = (known after apply)
      + retention_in_days = 0
      + skip_destroy      = false
      + tags_all          = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ecr_lifecycle_policy.ecr_policy will be created
+ resource "aws_ecr_lifecycle_policy" "ecr_policy" {
      + id          = (known after apply)
      + policy      = jsonencode(
            {
              + rules = [
                  + {
                      + action       = {
                          + type = "expire"
                        }
                      + description  = "Expire more than 10 images"
                      + rulePriority = 1
                      + selection    = {
                          + countNumber = 10
                          + countType   = "imageCountMoreThan"
                          + tagStatus   = "any"
                        }
                    },
                ]
            }
        )
      + registry_id = (known after apply)
      + repository  = "jfp-api-videos-stage"
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ecr_repository.ecr_repository will be created
+ resource "aws_ecr_repository" "ecr_repository" {
      + arn                  = (known after apply)
      + id                   = (known after apply)
      + image_tag_mutability = "MUTABLE"
      + name                 = "jfp-api-videos-stage"
      + registry_id          = (known after apply)
      + repository_url       = (known after apply)
      + tags_all             = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ecs_service.ecs_service will be created
+ resource "aws_ecs_service" "ecs_service" {
      + cluster                            = "arn:aws:ecs:us-east-2:410965620680:cluster/jfp-ecs-cluster-stage"
      + deployment_maximum_percent         = 200
      + deployment_minimum_healthy_percent = 100
      + desired_count                      = 1
      + enable_ecs_managed_tags            = false
      + enable_execute_command             = false
      + iam_role                           = (known after apply)
      + id                                 = (known after apply)
      + launch_type                        = "FARGATE"
      + name                               = "api-videos-stage-service"
      + platform_version                   = (known after apply)
      + scheduling_strategy                = "REPLICA"
      + tags_all                           = (known after apply)
      + task_definition                    = (known after apply)
      + triggers                           = (known after apply)
      + wait_for_steady_state              = false

      + load_balancer {
          + container_name   = "jfp-api-videos-stage-app"
          + container_port   = 4004
          + target_group_arn = (known after apply)
            # (1 unchanged attribute hidden)
        }

      + network_configuration {
          + assign_public_ip = false
          + security_groups  = [
              + "sg-087bc43a262c94bc1",
            ]
          + subnets          = [
              + "subnet-01f4e86883462b5ce",
              + "subnet-062de12e3e3639eff",
              + "subnet-09cbfc19be5214a8b",
            ]
        }
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ecs_task_definition.ecs_task_definition will be created
+ resource "aws_ecs_task_definition" "ecs_task_definition" {
      + arn                      = (known after apply)
      + arn_without_revision     = (known after apply)
      + container_definitions    = (known after apply)
      + cpu                      = "1024"
      + execution_role_arn       = "arn:aws:iam::410965620680:role/jfp-ecs-task-execution-role"
      + family                   = "jfp-api-videos-stage"
      + id                       = (known after apply)
      + memory                   = "4096"
      + network_mode             = "awsvpc"
      + requires_compatibilities = [
          + "FARGATE",
        ]
      + revision                 = (known after apply)
      + skip_destroy             = false
      + tags_all                 = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_route53_record.record will be created
+ resource "aws_route53_record" "record" {
      + allow_overwrite = (known after apply)
      + fqdn            = (known after apply)
      + id              = (known after apply)
      + name            = "api-videos"
      + records         = [
          + "internal-jfp-internal-alb-stage-154137661.us-east-2.elb.amazonaws.com",
        ]
      + ttl             = 300
      + type            = "CNAME"
      + zone_id         = "Z056780738DT3AZL6A4WD"
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/ALGOLIA_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_API_KEY"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_APPLICATION_ID"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/ALGOLIA_APPLICATION_ID"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_APPLICATION_ID"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_APPLICATION_ID"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ALGOLIA_INDEX"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/ALGOLIA_INDEX"
      + overwrite      = true
      + tags           = {
          + "name" = "ALGOLIA_INDEX"
        }
      + tags_all       = {
          + "name" = "ALGOLIA_INDEX"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/ARCLIGHT_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "ARCLIGHT_API_KEY"
        }
      + tags_all       = {
          + "name" = "ARCLIGHT_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["ARCLIGHT_V3_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/ARCLIGHT_V3_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "ARCLIGHT_V3_URL"
        }
      + tags_all       = {
          + "name" = "ARCLIGHT_V3_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["BIG_QUERY_APPLICATION_JSON"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/BIG_QUERY_APPLICATION_JSON"
      + overwrite      = true
      + tags           = {
          + "name" = "BIG_QUERY_APPLICATION_JSON"
        }
      + tags_all       = {
          + "name" = "BIG_QUERY_APPLICATION_JSON"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["CROWDIN_API_KEY"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/CROWDIN_API_KEY"
      + overwrite      = true
      + tags           = {
          + "name" = "CROWDIN_API_KEY"
        }
      + tags_all       = {
          + "name" = "CROWDIN_API_KEY"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["GATEWAY_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/GATEWAY_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "GATEWAY_URL"
        }
      + tags_all       = {
          + "name" = "GATEWAY_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["PG_DATABASE_URL_VIDEOS"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/PG_DATABASE_URL_VIDEOS"
      + overwrite      = true
      + tags           = {
          + "name" = "PG_DATABASE_URL_VIDEOS"
        }
      + tags_all       = {
          + "name" = "PG_DATABASE_URL_VIDEOS"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.api-videos.module.ecs-task.aws_ssm_parameter.parameters["REDIS_URL"] will be created
+ resource "aws_ssm_parameter" "parameters" {
      + arn            = (known after apply)
      + data_type      = (known after apply)
      + id             = (known after apply)
      + insecure_value = (known after apply)
      + key_id         = (known after apply)
      + name           = "/ecs/api-videos/stage/REDIS_URL"
      + overwrite      = true
      + tags           = {
          + "name" = "REDIS_URL"
        }
      + tags_all       = {
          + "name" = "REDIS_URL"
        }
      + tier           = (known after apply)
      + type           = "SecureString"
      + value          = (sensitive value)
      + version        = (known after apply)
    }

  # module.stage.module.journeys-admin.module.ecs-task.aws_ecs_service.ecs_service will be updated in-place
~ resource "aws_ecs_service" "ecs_service" {
        id                                 = "arn:aws:ecs:us-east-2:410965620680:service/jfp-ecs-cluster-stage/journeys-admin-stage-service"
        name                               = "journeys-admin-stage-service"
        tags                               = {}
      ~ task_definition                    = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-stage:7" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.stage.module.journeys-admin.module.ecs-task.aws_ecs_task_definition.ecs_task_definition must be replaced
+/- resource "aws_ecs_task_definition" "ecs_task_definition" {
      ~ arn                      = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-stage:7" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-2:410965620680:task-definition/jfp-journeys-admin-stage" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                    name             = "jfp-journeys-admin-stage-app"
                  ~ secrets          = [
                        # (4 unchanged elements hidden)
                        {
                            name      = "LAUNCH_DARKLY_SDK_KEY"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/LAUNCH_DARKLY_SDK_KEY"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_API_KEY"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_API_KEY"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_APP_ID"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_APP_ID"
                        },
                      - {
                          - name      = "NEXT_PUBLIC_ALGOLIA_INDEX"
                          - valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_INDEX"
                        },
                        {
                            name      = "NEXT_PUBLIC_CLOUDFLARE_STREAM_CUSTOMER_CODE"
                            valueFrom = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_CLOUDFLARE_STREAM_CUSTOMER_CODE"
                        },
                        # (16 unchanged elements hidden)
                    ]
                  - systemControls   = []
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name              = "jfp-journeys-admin-stage-datadog-agent"
                  - systemControls    = []
                    # (10 unchanged attributes hidden)
                },
              ~ {
                    name                  = "jfp-journeys-admin-stage-log-router"
                  - systemControls        = []
                    # (11 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "jfp-journeys-admin-stage" -> (known after apply)
      ~ revision                 = 7 -> (known after apply)
      - tags                     = {} -> null
      ~ tags_all                 = {} -> (known after apply)
        # (10 unchanged attributes hidden)
    }

  # module.stage.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_API_KEY"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_API_KEY"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_API_KEY" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_API_KEY"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_API_KEY"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_APP_ID"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_APP_ID"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_APP_ID" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_APP_ID"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_APP_ID"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

  # module.stage.module.journeys-admin.module.ecs-task.aws_ssm_parameter.parameters["NEXT_PUBLIC_ALGOLIA_INDEX"] will be destroyed
  # (because key ["NEXT_PUBLIC_ALGOLIA_INDEX"] is not in for_each map)
- resource "aws_ssm_parameter" "parameters" {
      - arn             = "arn:aws:ssm:us-east-2:410965620680:parameter/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - data_type       = "text" -> null
      - id              = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - key_id          = "alias/aws/ssm" -> null
      - name            = "/ecs/journeys-admin/stage/NEXT_PUBLIC_ALGOLIA_INDEX" -> null
      - overwrite       = true -> null
      - tags            = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_INDEX"
        } -> null
      - tags_all        = {
          - "name" = "NEXT_PUBLIC_ALGOLIA_INDEX"
        } -> null
      - tier            = "Standard" -> null
      - type            = "SecureString" -> null
      - value           = (sensitive value) -> null
      - version         = 1 -> null
        # (2 unchanged attributes hidden)
    }

Plan: 134 to add, 10 to change, 44 to destroy.
  • ▶️ To apply this plan, comment:
    atlantis apply -d infrastructure
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -d infrastructure

Plan: 134 to add, 10 to change, 44 to destroy.


2. dir: infrastructure/resources/atlantis workspace: default

Show Output
No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.
╷
│ Warning: Argument is deprecated
│ 
│   with module.atlantis.module.ecs.aws_ecs_cluster.this[0],
│   on .terraform/modules/atlantis.ecs/main.tf line 1, in resource "aws_ecs_cluster" "this":
│    1: resource "aws_ecs_cluster" "this" {
│ 
│ Use the aws_ecs_cluster_capacity_providers resource instead
│ 
│ (and one more similar warning elsewhere)
╵
  • ▶️ To apply this plan, comment:
    atlantis apply -d infrastructure/resources/atlantis
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -d infrastructure/resources/atlantis

No changes. Your infrastructure matches the configuration.


3. dir: infrastructure/resources/doppler workspace: default

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.
  • ▶️ To apply this plan, comment:
    atlantis apply -d infrastructure/resources/doppler
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -d infrastructure/resources/doppler

4. dir: infrastructure/resources/terraform workspace: default

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.
  • ▶️ To apply this plan, comment:
    atlantis apply -d infrastructure/resources/terraform
  • 🚮 To delete this plan and lock, click here
  • 🔁 To plan this project again, comment:
    atlantis plan -d infrastructure/resources/terraform

Plan Summary

4 projects, 1 with changes, 3 with no changes, 0 failed

  • ⏩ To apply all unapplied plans from this Pull Request, comment:
    atlantis apply
  • 🚮 To delete all plans and locks from this Pull Request, comment:
    atlantis unlock

@zwsaqx zwsaqx marked this pull request as draft September 10, 2024 03:52
@edmonday edmonday closed this Sep 25, 2024
@jesus-film-bot
Copy link
Collaborator

Locks and plans deleted for the projects and workspaces modified in this pull request:

  • dir: infrastructure workspace: default
  • dir: infrastructure/resources/atlantis workspace: default
  • dir: infrastructure/resources/doppler workspace: default
  • dir: infrastructure/resources/terraform workspace: default

@edmonday
Copy link
Contributor

addressed in #3559

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort: 2 priority: soon type: fix Iterations on existing features or infrastructure.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants