-
Notifications
You must be signed in to change notification settings - Fork 12
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
fix: add language field #3250
Conversation
The latest updates on your projects.
|
The latest updates on your projects.
|
The latest updates on your projects.
|
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. |
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.
Plan: 134 to add, 10 to change, 44 to destroy. 2. dir:
|
The latest updates on your projects.
|
The latest updates on your projects.
|
The latest updates on your projects.
|
Ran Plan for 4 projects:
1. dir:
|
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. |
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.
Plan: 134 to add, 10 to change, 44 to destroy. 2. dir:
|
Ran Plan for 4 projects:
1. dir:
|
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. |
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.
Plan: 134 to add, 10 to change, 44 to destroy. 2. dir:
|
Locks and plans deleted for the projects and workspaces modified in this pull request:
|
addressed in #3559 |
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