fix(search): move kinesis transformer to separate lambda

Goal
Move the Kinesis to SQS lambda out of User List Search and allow it to deploy on it's own.
https://mozilla-hub.atlassian.net/browse/POCKET-9652

Plan Result (user-list-search-cdk)
CI link
Plan: 1 to add, 0 to change, 0 to destroy.

Create

local_file.appspec

Change Result (Click me)

  # local_file.appspec will be created
  + resource "local_file" "appspec" {
      + content              = jsonencode(
            {
              + Resources = [
                  + {
                      + TargetService = {
                          + Properties = {
                              + LoadBalancerInfo = {
                                  + ContainerName = "node"
                                  + ContainerPort = 4000
                                }
                              + TaskDefinition   = "arn:aws:ecs:us-east-1:996905175585:task-definition/UserListSearch-Prod-Apollo:372"
                            }
                          + Type       = "AWS::ECS::Service"
                        }
                    },
                ]
              + version   = 1
            }
        )
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Plan Result (account-delete-monitor-cdk)
CI link
Plan: 0 to add, 1 to change, 0 to destroy.

Update

aws_lambda_function.eventtracker_lambda_2D56166D

Change Result (Click me)

  # aws_lambda_function.eventtracker_lambda_2D56166D will be updated in-place
  ~ resource "aws_lambda_function" "eventtracker_lambda_2D56166D" {
        id                             = "AccountDeleteMonitor-Prod-EventTracker-Function"
      ~ qualified_arn                  = "arn:aws:lambda:us-east-1:996905175585:function:AccountDeleteMonitor-Prod-EventTracker-Function:349" -> (known after apply)
      ~ qualified_invoke_arn           = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:996905175585:function:AccountDeleteMonitor-Prod-EventTracker-Function:349/invocations" -> (known after apply)
        tags                           = {
            "environment" = "Prod"
            "service"     = "AccountDeleteMonitor"
        }
      ~ version                        = "349" -> (known after apply)
        # (19 unchanged attributes hidden)

      ~ environment {
          ~ variables = {
              ~ "GIT_SHA"              = (sensitive value)
                # (4 unchanged elements hidden)
            }
        }

        # (4 unchanged blocks hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.

Plan Result (shared-snowplow-consumer-cdk)
CI link
:warning: Resource Deletion will happen
This plan contains resource delete operation. Please check the plan result very carefully!
Plan: 2 to add, 0 to change, 1 to destroy.

Create

local_file.shared-snowplow-consumer-app_application_ecs_service_appspec_7674CFF9

Replace

aws_ecs_task_definition.shared-snowplow-consumer-app_application_ecs_service_ecs-task_6958091B

Change Result (Click me)

  # aws_ecs_task_definition.shared-snowplow-consumer-app_application_ecs_service_ecs-task_6958091B must be replaced
-/+ resource "aws_ecs_task_definition" "shared-snowplow-consumer-app_application_ecs_service_ecs-task_6958091B" {
      ~ arn                      = "arn:aws:ecs:us-east-1:996905175585:task-definition/SharedSnowplowConsumer-Prod:142" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:996905175585:task-definition/SharedSnowplowConsumer-Prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "996905175585.dkr.ecr.us-east-1.amazonaws.com/sharedsnowplowconsumer-prod-app:bb28f54d357fa82680a40a13c327a7f76faf1102" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/sharedsnowplowconsumer-prod-app:f9aa11fc2116345ef700ac044dac0f1550eec136"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name                   = "aws-otel-collector"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (10 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "SharedSnowplowConsumer-Prod" -> (known after apply)
      ~ revision                 = 142 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "SharedSnowplowConsumer"
        }
        # (10 unchanged attributes hidden)
    }

  # local_file.shared-snowplow-consumer-app_application_ecs_service_appspec_7674CFF9 will be created
  + resource "local_file" "shared-snowplow-consumer-app_application_ecs_service_appspec_7674CFF9" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 0 to change, 1 to destroy.

Plan Result (parser-graphql-wrapper-cdk)
CI link
:warning: Resource Deletion will happen
This plan contains resource delete operation. Please check the plan result very carefully!
Plan: 2 to add, 0 to change, 1 to destroy.

Create

local_file.application_ecs_service_appspec_94386B9C

Replace

aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4

Change Result (Click me)

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:996905175585:task-definition/ParserGraphQLWrapper-Prod:698" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:996905175585:task-definition/ParserGraphQLWrapper-Prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "996905175585.dkr.ecr.us-east-1.amazonaws.com/parsergraphqlwrapper-prod-app:bb28f54d357fa82680a40a13c327a7f76faf1102" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/parsergraphqlwrapper-prod-app:f9aa11fc2116345ef700ac044dac0f1550eec136"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name                   = "aws-otel-collector"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (10 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "ParserGraphQLWrapper-Prod" -> (known after apply)
      ~ revision                 = 698 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "ParserGraphQLWrapper"
        }
        # (10 unchanged attributes hidden)
    }

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 0 to change, 1 to destroy.

Plan Result (v3-proxy-api-cdk)
CI link
Plan: 1 to add, 0 to change, 0 to destroy.

Create

local_file.application_ecs_service_appspec_94386B9C

Change Result (Click me)

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = jsonencode(
            {
              + Resources = [
                  + {
                      + TargetService = {
                          + Properties = {
                              + LoadBalancerInfo = {
                                  + ContainerName = "app"
                                  + ContainerPort = 4029
                                }
                              + TaskDefinition   = "arn:aws:ecs:us-east-1:996905175585:task-definition/V3ProxyApi-Prod:13"
                            }
                          + Type       = "AWS::ECS::Service"
                        }
                    },
                ]
              + version   = 1
            }
        )
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 1 to add, 0 to change, 0 to destroy.

Plan Result (pocket-event-bridge-cdk)
CI link
Plan: 0 to add, 1 to change, 0 to destroy.

Update

aws_cloudwatch_metric_alarm.shareable-list-item-events_shareablelistevents-rule-dlq-alarm_2CE4E6A3

Change Result (Click me)

  # aws_cloudwatch_metric_alarm.shareable-list-item-events_shareablelistevents-rule-dlq-alarm_2CE4E6A3 will be updated in-place
  ~ resource "aws_cloudwatch_metric_alarm" "shareable-list-item-events_shareablelistevents-rule-dlq-alarm_2CE4E6A3" {
      ~ dimensions                = {
          ~ "QueueName" = "PocketEventBridge-Prod-SNS-ShareableListEvents-Topic-DLQ" -> "PocketEventBridge-Prod-SNS-ShareableListItemEvents-Topic-DLQ"
        }
        id                        = "PocketEventBridge-Prod-ShareableListEvents-Rule-dlq-alarm"
        tags                      = {}
        # (17 unchanged attributes hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.

Plan Result (account-data-deleter-cdk)
CI link
:warning: Resource Deletion will happen
This plan contains resource delete operation. Please check the plan result very carefully!
Plan: 2 to add, 2 to change, 1 to destroy.

Create

local_file.data-deleter-app_application_ecs_service_appspec_5FC42C09

Update

aws_lambda_function.batchdeletelambda_batch-delete-lambda_9A38729B
aws_lambda_function.event-consumer_sqs-event-consumer_lambda_2F35855C

Replace

aws_ecs_task_definition.data-deleter-app_application_ecs_service_ecs-task_243DED07

Change Result (Click me)

  # aws_ecs_task_definition.data-deleter-app_application_ecs_service_ecs-task_243DED07 must be replaced
-/+ resource "aws_ecs_task_definition" "data-deleter-app_application_ecs_service_ecs-task_243DED07" {
      ~ arn                      = "arn:aws:ecs:us-east-1:996905175585:task-definition/AccountDataDeleter-Prod:461" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:996905175585:task-definition/AccountDataDeleter-Prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "996905175585.dkr.ecr.us-east-1.amazonaws.com/accountdatadeleter-prod-app:bb28f54d357fa82680a40a13c327a7f76faf1102" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/accountdatadeleter-prod-app:52c8bc8ecd9f0d538c1feff57c7a268bb2343510"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "AccountDataDeleter-Prod" -> (known after apply)
      ~ revision                 = 461 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "AccountDataDeleter"
        }
        # (10 unchanged attributes hidden)
    }

  # aws_lambda_function.batchdeletelambda_batch-delete-lambda_9A38729B will be updated in-place
  ~ resource "aws_lambda_function" "batchdeletelambda_batch-delete-lambda_9A38729B" {
        id                             = "AccountDataDeleter-Prod-BatchDeleteLambda-Function"
      ~ qualified_arn                  = "arn:aws:lambda:us-east-1:996905175585:function:AccountDataDeleter-Prod-BatchDeleteLambda-Function:415" -> (known after apply)
      ~ qualified_invoke_arn           = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:996905175585:function:AccountDataDeleter-Prod-BatchDeleteLambda-Function:415/invocations" -> (known after apply)
        tags                           = {
            "environment" = "Prod"
            "service"     = "AccountDataDeleter"
        }
      ~ version                        = "415" -> (known after apply)
        # (19 unchanged attributes hidden)

      ~ environment {
          ~ variables = {
              ~ "GIT_SHA"     = (sensitive value)
                # (4 unchanged elements hidden)
            }
        }

        # (4 unchanged blocks hidden)
    }

  # aws_lambda_function.event-consumer_sqs-event-consumer_lambda_2F35855C will be updated in-place
  ~ resource "aws_lambda_function" "event-consumer_sqs-event-consumer_lambda_2F35855C" {
        id                             = "AccountDataDeleter-Prod-Sqs-Event-Consumer-Function"
      ~ qualified_arn                  = "arn:aws:lambda:us-east-1:996905175585:function:AccountDataDeleter-Prod-Sqs-Event-Consumer-Function:648" -> (known after apply)
      ~ qualified_invoke_arn           = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:996905175585:function:AccountDataDeleter-Prod-Sqs-Event-Consumer-Function:648/invocations" -> (known after apply)
        tags                           = {
            "environment" = "Prod"
            "service"     = "AccountDataDeleter"
        }
      ~ version                        = "648" -> (known after apply)
        # (19 unchanged attributes hidden)

      ~ environment {
          ~ variables = {
              ~ "GIT_SHA"                      = (sensitive value)
                # (4 unchanged elements hidden)
            }
        }

        # (4 unchanged blocks hidden)
    }

  # local_file.data-deleter-app_application_ecs_service_appspec_5FC42C09 will be created
  + resource "local_file" "data-deleter-app_application_ecs_service_appspec_5FC42C09" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 2 to change, 1 to destroy.

Plan Result (image-api-cdk)
CI link
:warning: Resource Deletion will happen
This plan contains resource delete operation. Please check the plan result very carefully!
Plan: 2 to add, 0 to change, 1 to destroy.

Create

local_file.application_ecs_service_appspec_94386B9C

Replace

aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4

Change Result (Click me)

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:996905175585:task-definition/ImageAPI-Prod:186" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:996905175585:task-definition/ImageAPI-Prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "996905175585.dkr.ecr.us-east-1.amazonaws.com/imageapi-prod-app:bb28f54d357fa82680a40a13c327a7f76faf1102" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/imageapi-prod-app:52c8bc8ecd9f0d538c1feff57c7a268bb2343510"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name                   = "aws-otel-collector"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (10 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "ImageAPI-Prod" -> (known after apply)
      ~ revision                 = 186 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "ImageAPI"
        }
        # (10 unchanged attributes hidden)
    }

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 0 to change, 1 to destroy.

Plan Result (push-server-cdk)
CI link
:warning: Resource Deletion will happen
This plan contains resource delete operation. Please check the plan result very carefully!
Plan: 1 to add, 1 to change, 1 to destroy.

Update

aws_ecs_service.application_ecs_service_ecs-service_A8BAB5F4

Replace

aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4

Change Result (Click me)

  # aws_ecs_service.application_ecs_service_ecs-service_A8BAB5F4 will be updated in-place
  ~ resource "aws_ecs_service" "application_ecs_service_ecs-service_A8BAB5F4" {
        id                                 = "arn:aws:ecs:us-east-1:996905175585:service/Push-Prod/Push-Prod"
        name                               = "Push-Prod"
        tags                               = {
            "environment" = "Prod"
            "service"     = "Push"
        }
      ~ task_definition                    = "arn:aws:ecs:us-east-1:996905175585:task-definition/Push-Prod:27" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (3 unchanged blocks hidden)
    }

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:996905175585:task-definition/Push-Prod:27" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:996905175585:task-definition/Push-Prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "996905175585.dkr.ecr.us-east-1.amazonaws.com/push-prod-app:bb28f54d357fa82680a40a13c327a7f76faf1102" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/push-prod-app:52c8bc8ecd9f0d538c1feff57c7a268bb2343510"
                    name                   = "app"
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name                   = "aws-otel-collector"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (10 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "Push-Prod" -> (known after apply)
      ~ revision                 = 27 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "Push"
        }
        # (10 unchanged attributes hidden)
    }

Plan: 1 to add, 1 to change, 1 to destroy.

Plan Result (feature-flags-cdk)
CI link
:warning: Resource Deletion will happen
This plan contains resource delete operation. Please check the plan result very carefully!
Plan: 2 to add, 0 to change, 1 to destroy.

Create

local_file.application_ecs_service_appspec_94386B9C

Replace

aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4

Change Result (Click me)

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:996905175585:task-definition/FeatureFlags-Prod:347" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:996905175585:task-definition/FeatureFlags-Prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "996905175585.dkr.ecr.us-east-1.amazonaws.com/featureflags-prod-app:bb28f54d357fa82680a40a13c327a7f76faf1102" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/featureflags-prod-app:52c8bc8ecd9f0d538c1feff57c7a268bb2343510"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
                {
                    command                = [
                        "--region",
                        "us-east-1",
                        "--local-mode",
                    ]
                    cpu                    = 0
                    environment            = []
                    essential              = true
                    image                  = "amazon/aws-xray-daemon"
                    logConfiguration       = {
                        logDriver     = "awslogs"
                        options       = {
                            awslogs-group         = "/ecs/FeatureFlags-Prod/xray-daemon20231129182155361100000003"
                            awslogs-region        = "us-east-1"
                            awslogs-stream-prefix = "ecs"
                        }
                        secretOptions = []
                    }
                    mountPoints            = []
                    name                   = "xray-daemon"
                    portMappings           = [
                        {
                            containerPort = 2000
                            hostPort      = 2000
                            protocol      = "udp"
                        },
                    ]
                    readonlyRootFilesystem = false
                    repositoryCredentials  = {
                        credentialsParameter = "arn:aws:secretsmanager:us-east-1:996905175585:secret:Shared/DockerHub"
                    }
                    volumesFrom            = []
                },
            ] # forces replacement
        )
      ~ id                       = "FeatureFlags-Prod" -> (known after apply)
      ~ revision                 = 347 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "FeatureFlags"
        }
        # (10 unchanged attributes hidden)
    }

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 0 to change, 1 to destroy.

Plan Result (list-api-cdk)
CI link
:warning: Resource Deletion will happen
This plan contains resource delete operation. Please check the plan result very carefully!
Plan: 2 to add, 0 to change, 1 to destroy.

Create

local_file.application_ecs_service_appspec_94386B9C

Replace

aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4

Change Result (Click me)

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:996905175585:task-definition/ListAPI-Prod:990" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:996905175585:task-definition/ListAPI-Prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "996905175585.dkr.ecr.us-east-1.amazonaws.com/listapi-prod-app:bb28f54d357fa82680a40a13c327a7f76faf1102" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/listapi-prod-app:52c8bc8ecd9f0d538c1feff57c7a268bb2343510"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name                   = "aws-otel-collector"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (10 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "ListAPI-Prod" -> (known after apply)
      ~ revision                 = 990 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "ListAPI"
        }
        # (10 unchanged attributes hidden)
    }

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 0 to change, 1 to destroy.

Plan Result (shareable-lists-api-cdk)
CI link
:warning: Resource Deletion will happen
This plan contains resource delete operation. Please check the plan result very carefully!
Plan: 2 to add, 0 to change, 1 to destroy.

Create

local_file.application_ecs_service_appspec_94386B9C

Replace

aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4

Change Result (Click me)

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:996905175585:task-definition/ShareableListsApi-Prod:364" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:996905175585:task-definition/ShareableListsApi-Prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "996905175585.dkr.ecr.us-east-1.amazonaws.com/shareablelistsapi-prod-app:bb28f54d357fa82680a40a13c327a7f76faf1102" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/shareablelistsapi-prod-app:52c8bc8ecd9f0d538c1feff57c7a268bb2343510"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "ShareableListsApi-Prod" -> (known after apply)
      ~ revision                 = 364 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "ShareableListsApi"
        }
        # (10 unchanged attributes hidden)
    }

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 0 to change, 1 to destroy.

Plan Result (user-api-cdk)
CI link
:warning: Resource Deletion will happen
This plan contains resource delete operation. Please check the plan result very carefully!
Plan: 2 to add, 0 to change, 1 to destroy.

Create

local_file.application_ecs_service_appspec_94386B9C

Replace

aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4

Change Result (Click me)

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:996905175585:task-definition/UserAPI-Prod:321" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:996905175585:task-definition/UserAPI-Prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "996905175585.dkr.ecr.us-east-1.amazonaws.com/userapi-prod-app:bb28f54d357fa82680a40a13c327a7f76faf1102" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/userapi-prod-app:52c8bc8ecd9f0d538c1feff57c7a268bb2343510"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name                   = "aws-otel-collector"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (10 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "UserAPI-Prod" -> (known after apply)
      ~ revision                 = 321 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "UserAPI"
        }
        # (10 unchanged attributes hidden)
    }

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 0 to change, 1 to destroy.

Plan Result (fxa-webhook-proxy-cdk)
CI link
:warning: Resource Deletion will happen
This plan contains resource delete operation. Please check the plan result very carefully!
Plan: 1 to add, 3 to change, 1 to destroy.

Update

aws_api_gateway_stage.apigateway-lambda_api-gateway-stage_E95B0DF9
aws_lambda_function.apigateway-lambda_fxa-events-apigateway-lambda_events-lambda_06645171
aws_lambda_function.proxy-lambda_fxa-events-sqs-lambda_39345609

Replace

aws_api_gateway_deployment.apigateway-lambda_api-gateway-deployment_3AF9B512

Change Result (Click me)

  # aws_api_gateway_deployment.apigateway-lambda_api-gateway-deployment_3AF9B512 must be replaced
+/- resource "aws_api_gateway_deployment" "apigateway-lambda_api-gateway-deployment_3AF9B512" {
      ~ created_date  = "2024-02-22T21:52:26Z" -> (known after apply)
      ~ execution_arn = "arn:aws:execute-api:us-east-1:996905175585:b1aoz7w8yj/" -> (known after apply)
      ~ id            = "923tpo" -> (known after apply)
      ~ invoke_url    = "https://b1aoz7w8yj.execute-api.us-east-1.amazonaws.com/" -> (known after apply)
      ~ triggers      = { # forces replacement
          ~ "deployedAt"   = "1708638703719" -> "1708648297514"
            # (1 unchanged element hidden)
        }
        # (1 unchanged attribute hidden)
    }

  # aws_api_gateway_stage.apigateway-lambda_api-gateway-stage_E95B0DF9 will be updated in-place
  ~ resource "aws_api_gateway_stage" "apigateway-lambda_api-gateway-stage_E95B0DF9" {
      ~ deployment_id         = "923tpo" -> (known after apply)
        id                    = "ags-b1aoz7w8yj-prod"
        tags                  = {}
        # (9 unchanged attributes hidden)
    }

  # aws_lambda_function.apigateway-lambda_fxa-events-apigateway-lambda_events-lambda_06645171 will be updated in-place
  ~ resource "aws_lambda_function" "apigateway-lambda_fxa-events-apigateway-lambda_events-lambda_06645171" {
        id                             = "FxAWebhookProxy-Prod-ApiGateway-FxA-Events-Function"
      ~ qualified_arn                  = "arn:aws:lambda:us-east-1:996905175585:function:FxAWebhookProxy-Prod-ApiGateway-FxA-Events-Function:907" -> (known after apply)
      ~ qualified_invoke_arn           = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:996905175585:function:FxAWebhookProxy-Prod-ApiGateway-FxA-Events-Function:907/invocations" -> (known after apply)
        tags                           = {}
      ~ version                        = "907" -> (known after apply)
        # (19 unchanged attributes hidden)

      ~ environment {
          ~ variables = {
              ~ "GIT_SHA"            = (sensitive value)
                # (3 unchanged elements hidden)
            }
        }

        # (4 unchanged blocks hidden)
    }

  # aws_lambda_function.proxy-lambda_fxa-events-sqs-lambda_39345609 will be updated in-place
  ~ resource "aws_lambda_function" "proxy-lambda_fxa-events-sqs-lambda_39345609" {
        id                             = "FxAWebhookProxy-Prod-Sqs-FxA-Events-Function"
      ~ qualified_arn                  = "arn:aws:lambda:us-east-1:996905175585:function:FxAWebhookProxy-Prod-Sqs-FxA-Events-Function:940" -> (known after apply)
      ~ qualified_invoke_arn           = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:996905175585:function:FxAWebhookProxy-Prod-Sqs-FxA-Events-Function:940/invocations" -> (known after apply)
        tags                           = {
            "environment" = "Prod"
            "service"     = "FxAWebhookProxy"
        }
      ~ version                        = "940" -> (known after apply)
        # (19 unchanged attributes hidden)

      ~ environment {
          ~ variables = {
              ~ "GIT_SHA"     = (sensitive value)
                # (4 unchanged elements hidden)
            }
        }

        # (4 unchanged blocks hidden)
    }

Plan: 1 to add, 3 to change, 1 to destroy.

Plan Result (annotations-api-cdk)
CI link
:warning: Resource Deletion will happen
This plan contains resource delete operation. Please check the plan result very carefully!
Plan: 2 to add, 2 to change, 1 to destroy.

Create

local_file.application_ecs_service_appspec_94386B9C

Update

aws_dynamodb_table.dynamodb_highlight-notes_dynamodb_table_8BD520BF
aws_iam_policy.application_ecs_service_ecs-iam_ecs-task-role-policy_6FC89FB6

Replace

aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4

Change Result (Click me)

  # data.aws_iam_policy_document.application_ecs_service_ecs-iam_data-ecs-task-role-policy_090CC3AD will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "aws_iam_policy_document" "application_ecs_service_ecs-iam_data-ecs-task-role-policy_090CC3AD" {
      + id      = (known after apply)
      + json    = (known after apply)
      + version = "2012-10-17"

      + statement {
          + actions   = [
              + "logs:CreateLogGroup",
              + "logs:CreateLogStream",
              + "logs:DescribeLogGroups",
              + "logs:DescribeLogStreams",
              + "logs:PutLogEvents",
              + "xray:GetSamplingRules",
              + "xray:GetSamplingStatisticSummaries",
              + "xray:GetSamplingTargets",
              + "xray:PutTelemetryRecords",
              + "xray:PutTraceSegments",
            ]
          + effect    = "Allow"
          + resources = [
              + "*",
            ]
        }
      + statement {
          + actions   = [
              + "dynamodb:BatchGet*",
              + "dynamodb:BatchWrite*",
              + "dynamodb:Delete*",
              + "dynamodb:DescribeTable",
              + "dynamodb:Get*",
              + "dynamodb:PutItem",
              + "dynamodb:Query",
              + "dynamodb:Scan",
              + "dynamodb:UpdateItem",
            ]
          + effect    = "Allow"
          + resources = [
              + "arn:aws:dynamodb:us-east-1:996905175585:table/ANNOT-Prod-highlight-notes",
              + "arn:aws:dynamodb:us-east-1:996905175585:table/ANNOT-Prod-highlight-notes/*",
            ]
        }
      + statement {
          + actions   = [
              + "sqs:DeleteMessage",
              + "sqs:ReceiveMessage",
              + "sqs:SendMessage",
              + "sqs:SendMessageBatch",
            ]
          + effect    = "Allow"
          + resources = [
              + "arn:aws:sqs:us-east-1:996905175585:AnnotationsAPI-Prod-Batch-Delete-Consumer-Queue",
            ]
        }
    }

  # aws_dynamodb_table.dynamodb_highlight-notes_dynamodb_table_8BD520BF will be updated in-place
  ~ resource "aws_dynamodb_table" "dynamodb_highlight-notes_dynamodb_table_8BD520BF" {
        id                          = "ANNOT-Prod-highlight-notes"
        name                        = "ANNOT-Prod-highlight-notes"
        tags                        = {
            "environment" = "Prod"
            "service"     = "AnnotationsAPI"
        }
        # (9 unchanged attributes hidden)

      - global_secondary_index {
          - hash_key           = "userId" -> null
          - name               = "userId" -> null
          - non_key_attributes = [] -> null
          - projection_type    = "KEYS_ONLY" -> null
          - read_capacity      = 0 -> null
          - write_capacity     = 0 -> null
        }
      + global_secondary_index {
          + hash_key           = "userId"
          + name               = "userId"
          + non_key_attributes = []
          + projection_type    = "KEYS_ONLY"
          + read_capacity      = 5
          + write_capacity     = 5
        }

        # (4 unchanged blocks hidden)
    }

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:996905175585:task-definition/AnnotationsAPI-Prod:684" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:996905175585:task-definition/AnnotationsAPI-Prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "996905175585.dkr.ecr.us-east-1.amazonaws.com/annotationsapi-prod-app:bb28f54d357fa82680a40a13c327a7f76faf1102" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/annotationsapi-prod-app:52c8bc8ecd9f0d538c1feff57c7a268bb2343510"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name                   = "aws-otel-collector"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (10 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "AnnotationsAPI-Prod" -> (known after apply)
      ~ revision                 = 684 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "AnnotationsAPI"
        }
        # (10 unchanged attributes hidden)
    }

  # aws_iam_policy.application_ecs_service_ecs-iam_ecs-task-role-policy_6FC89FB6 will be updated in-place
  ~ resource "aws_iam_policy" "application_ecs_service_ecs-iam_ecs-task-role-policy_6FC89FB6" {
        id        = "arn:aws:iam::996905175585:policy/AnnotationsAPI-Prod-TaskRolePolicy"
        name      = "AnnotationsAPI-Prod-TaskRolePolicy"
      ~ policy    = jsonencode(
            {
              - Statement = [
                  - {
                      - Action   = [
                          - "xray:PutTraceSegments",
                          - "xray:PutTelemetryRecords",
                          - "xray:GetSamplingTargets",
                          - "xray:GetSamplingStatisticSummaries",
                          - "xray:GetSamplingRules",
                          - "logs:PutLogEvents",
                          - "logs:DescribeLogStreams",
                          - "logs:DescribeLogGroups",
                          - "logs:CreateLogStream",
                          - "logs:CreateLogGroup",
                        ]
                      - Effect   = "Allow"
                      - Resource = "*"
                    },
                  - {
                      - Action   = [
                          - "dynamodb:UpdateItem",
                          - "dynamodb:Scan",
                          - "dynamodb:Query",
                          - "dynamodb:PutItem",
                          - "dynamodb:Get*",
                          - "dynamodb:DescribeTable",
                          - "dynamodb:Delete*",
                          - "dynamodb:BatchWrite*",
                          - "dynamodb:BatchGet*",
                        ]
                      - Effect   = "Allow"
                      - Resource = [
                          - "arn:aws:dynamodb:us-east-1:996905175585:table/ANNOT-Prod-highlight-notes/*",
                          - "arn:aws:dynamodb:us-east-1:996905175585:table/ANNOT-Prod-highlight-notes",
                        ]
                    },
                  - {
                      - Action   = [
                          - "sqs:SendMessageBatch",
                          - "sqs:SendMessage",
                          - "sqs:ReceiveMessage",
                          - "sqs:DeleteMessage",
                        ]
                      - Effect   = "Allow"
                      - Resource = "arn:aws:sqs:us-east-1:996905175585:AnnotationsAPI-Prod-Batch-Delete-Consumer-Queue"
                    },
                ]
              - Version   = "2012-10-17"
            }
        ) -> (known after apply)
        tags      = {
            "environment" = "Prod"
            "service"     = "AnnotationsAPI"
        }
        # (4 unchanged attributes hidden)
    }

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 2 to change, 1 to destroy.

:white_check_mark: Apply Succeeded (user-list-search-cdk-dev)
CI link
Apply complete! Resources: 1 added, 1 changed, 0 destroyed.
 Resource actions are indicated with the following symbols:
  + create
  ~ update in-place

Terraform will perform the following actions:

  # aws_lambda_function.unified_events_consumer will be updated in-place
  ~ resource "aws_lambda_function" "unified_events_consumer" {
      ~ handler                        = "lambda.streamHandler" -> "index.handler"
        id                             = "UserListSearch-Dev-UnifiedEventsConsumer"
      ~ qualified_arn                  = "arn:aws:lambda:us-east-1:410318598490:function:UserListSearch-Dev-UnifiedEventsConsumer:151" -> (known after apply)
      ~ qualified_invoke_arn           = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:410318598490:function:UserListSearch-Dev-UnifiedEventsConsumer:151/invocations" -> (known after apply)
        tags                           = {
            "environment" = "Dev"
            "service"     = "UserListSearch"
        }
      ~ version                        = "151" -> (known after apply)
        # (18 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # local_file.appspec will be created
  + resource "local_file" "appspec" {
      + content              = jsonencode(
            {
              + Resources = [
                  + {
                      + TargetService = {
                          + Properties = {
                              + LoadBalancerInfo = {
                                  + ContainerName = "node"
                                  + ContainerPort = 4000
                                }
                              + TaskDefinition   = "arn:aws:ecs:us-east-1:410318598490:task-definition/UserListSearch-Dev-Apollo:130"
                            }
                          + Type       = "AWS::ECS::Service"
                        }
                    },
                ]
              + version   = 1
            }
        )
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 1 to add, 1 to change, 0 to destroy.
local_file.appspec: Creating...
local_file.appspec: Creation complete after 0s [id=318b6c8d454a297843c18f2e5bd3b1ebcd14cb88]
aws_lambda_function.unified_events_consumer: Modifying... [id=UserListSearch-Dev-UnifiedEventsConsumer]
aws_lambda_function.unified_events_consumer: Modifications complete after 8s [id=UserListSearch-Dev-UnifiedEventsConsumer]

Apply complete! Resources: 1 added, 1 changed, 0 destroyed.

Outputs:

workspace = "UserListSearch-Dev"

:white_check_mark: Apply Succeeded (account-delete-monitor-cdk-dev)
CI link
Apply complete! Resources: 0 added, 1 changed, 0 destroyed.
 Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # aws_lambda_function.eventtracker_lambda_2D56166D will be updated in-place
  ~ resource "aws_lambda_function" "eventtracker_lambda_2D56166D" {
        id                             = "AccountDeleteMonitor-Dev-EventTracker-Function"
      ~ qualified_arn                  = "arn:aws:lambda:us-east-1:410318598490:function:AccountDeleteMonitor-Dev-EventTracker-Function:127" -> (known after apply)
      ~ qualified_invoke_arn           = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:410318598490:function:AccountDeleteMonitor-Dev-EventTracker-Function:127/invocations" -> (known after apply)
        tags                           = {
            "environment" = "Dev"
            "service"     = "AccountDeleteMonitor"
        }
      ~ version                        = "127" -> (known after apply)
        # (19 unchanged attributes hidden)

      ~ environment {
          ~ variables = {
              ~ "GIT_SHA"              = (sensitive value)
                # (4 unchanged elements hidden)
            }
        }

        # (4 unchanged blocks hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.
aws_lambda_function.eventtracker_lambda_2D56166D: Modifying... [id=AccountDeleteMonitor-Dev-EventTracker-Function]
aws_lambda_function.eventtracker_lambda_2D56166D: Modifications complete after 6s [id=AccountDeleteMonitor-Dev-EventTracker-Function]

Apply complete! Resources: 0 added, 1 changed, 0 destroyed.

:white_check_mark: Apply Succeeded (shared-snowplow-consumer-cdk-dev)
CI link
Apply complete! Resources: 2 added, 0 changed, 1 destroyed.
 Resource actions are indicated with the following symbols:
  + create
-/+ destroy and then create replacement

Terraform will perform the following actions:

  # aws_ecs_task_definition.shared-snowplow-consumer-app_application_ecs_service_ecs-task_6958091B must be replaced
-/+ resource "aws_ecs_task_definition" "shared-snowplow-consumer-app_application_ecs_service_ecs-task_6958091B" {
      ~ arn                      = "arn:aws:ecs:us-east-1:410318598490:task-definition/SharedSnowplowConsumer-Dev:112" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:410318598490:task-definition/SharedSnowplowConsumer-Dev" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "410318598490.dkr.ecr.us-east-1.amazonaws.com/sharedsnowplowconsumer-dev-app:317f296e86afdea437344a065f282a6e20a96b65" -> "410318598490.dkr.ecr.us-east-1.amazonaws.com/sharedsnowplowconsumer-dev-app:f5ad01c0f6cb78c045d609a1b3441b2b7eb7359d"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name                   = "aws-otel-collector"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (10 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "SharedSnowplowConsumer-Dev" -> (known after apply)
      ~ revision                 = 112 -> (known after apply)
        tags                     = {
            "environment" = "Dev"
            "service"     = "SharedSnowplowConsumer"
        }
        # (10 unchanged attributes hidden)
    }

  # local_file.shared-snowplow-consumer-app_application_ecs_service_appspec_7674CFF9 will be created
  + resource "local_file" "shared-snowplow-consumer-app_application_ecs_service_appspec_7674CFF9" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 0 to change, 1 to destroy.
aws_ecs_task_definition.shared-snowplow-consumer-app_application_ecs_service_ecs-task_6958091B: Destroying... [id=SharedSnowplowConsumer-Dev]
aws_ecs_task_definition.shared-snowplow-consumer-app_application_ecs_service_ecs-task_6958091B: Destruction complete after 0s
aws_ecs_task_definition.shared-snowplow-consumer-app_application_ecs_service_ecs-task_6958091B: Creating...
aws_ecs_task_definition.shared-snowplow-consumer-app_application_ecs_service_ecs-task_6958091B: Creation complete after 0s [id=SharedSnowplowConsumer-Dev]
local_file.shared-snowplow-consumer-app_application_ecs_service_appspec_7674CFF9: Creating...
local_file.shared-snowplow-consumer-app_application_ecs_service_appspec_7674CFF9: Creation complete after 0s [id=fdda46273fc37615a796ad611ba248bb7b0f97b1]

Apply complete! Resources: 2 added, 0 changed, 1 destroyed.

:white_check_mark: Apply Succeeded (braze-cdk-dev)
CI link
Apply complete! Resources: 0 added, 0 changed, 0 destroyed.
 Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

:white_check_mark: Apply Succeeded (v3-proxy-api-cdk-dev)
CI link
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
 Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = jsonencode(
            {
              + Resources = [
                  + {
                      + TargetService = {
                          + Properties = {
                              + LoadBalancerInfo = {
                                  + ContainerName = "app"
                                  + ContainerPort = 4029
                                }
                              + TaskDefinition   = "arn:aws:ecs:us-east-1:410318598490:task-definition/V3ProxyApi-Dev:21"
                            }
                          + Type       = "AWS::ECS::Service"
                        }
                    },
                ]
              + version   = 1
            }
        )
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 1 to add, 0 to change, 0 to destroy.
local_file.application_ecs_service_appspec_94386B9C: Creating...
local_file.application_ecs_service_appspec_94386B9C: Creation complete after 0s [id=c525867038a6ae29df03ab1d0ccecd852e79f9ed]

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

:white_check_mark: Apply Succeeded (account-data-deleter-cdk-dev)
CI link
Apply complete! Resources: 2 added, 2 changed, 1 destroyed.
 Resource actions are indicated with the following symbols:
  + create
  ~ update in-place
-/+ destroy and then create replacement

Terraform will perform the following actions:

  # aws_ecs_task_definition.data-deleter-app_application_ecs_service_ecs-task_243DED07 must be replaced
-/+ resource "aws_ecs_task_definition" "data-deleter-app_application_ecs_service_ecs-task_243DED07" {
      ~ arn                      = "arn:aws:ecs:us-east-1:410318598490:task-definition/AccountDataDeleter-Dev:116" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:410318598490:task-definition/AccountDataDeleter-Dev" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "410318598490.dkr.ecr.us-east-1.amazonaws.com/accountdatadeleter-dev-app:317f296e86afdea437344a065f282a6e20a96b65" -> "410318598490.dkr.ecr.us-east-1.amazonaws.com/accountdatadeleter-dev-app:f5ad01c0f6cb78c045d609a1b3441b2b7eb7359d"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "AccountDataDeleter-Dev" -> (known after apply)
      ~ revision                 = 116 -> (known after apply)
        tags                     = {
            "environment" = "Dev"
            "service"     = "AccountDataDeleter"
        }
        # (10 unchanged attributes hidden)
    }

  # aws_lambda_function.batchdeletelambda_batch-delete-lambda_9A38729B will be updated in-place
  ~ resource "aws_lambda_function" "batchdeletelambda_batch-delete-lambda_9A38729B" {
        id                             = "AccountDataDeleter-Dev-BatchDeleteLambda-Function"
      ~ qualified_arn                  = "arn:aws:lambda:us-east-1:410318598490:function:AccountDataDeleter-Dev-BatchDeleteLambda-Function:152" -> (known after apply)
      ~ qualified_invoke_arn           = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:410318598490:function:AccountDataDeleter-Dev-BatchDeleteLambda-Function:152/invocations" -> (known after apply)
        tags                           = {
            "environment" = "Dev"
            "service"     = "AccountDataDeleter"
        }
      ~ version                        = "152" -> (known after apply)
        # (19 unchanged attributes hidden)

      ~ environment {
          ~ variables = {
              ~ "GIT_SHA"     = (sensitive value)
                # (4 unchanged elements hidden)
            }
        }

        # (4 unchanged blocks hidden)
    }

  # aws_lambda_function.event-consumer_sqs-event-consumer_lambda_2F35855C will be updated in-place
  ~ resource "aws_lambda_function" "event-consumer_sqs-event-consumer_lambda_2F35855C" {
        id                             = "AccountDataDeleter-Dev-Sqs-Event-Consumer-Function"
      ~ qualified_arn                  = "arn:aws:lambda:us-east-1:410318598490:function:AccountDataDeleter-Dev-Sqs-Event-Consumer-Function:195" -> (known after apply)
      ~ qualified_invoke_arn           = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:410318598490:function:AccountDataDeleter-Dev-Sqs-Event-Consumer-Function:195/invocations" -> (known after apply)
        tags                           = {
            "environment" = "Dev"
            "service"     = "AccountDataDeleter"
        }
      ~ version                        = "195" -> (known after apply)
        # (19 unchanged attributes hidden)

      ~ environment {
          ~ variables = {
              ~ "GIT_SHA"                      = (sensitive value)
                # (4 unchanged elements hidden)
            }
        }

        # (4 unchanged blocks hidden)
    }

  # local_file.data-deleter-app_application_ecs_service_appspec_5FC42C09 will be created
  + resource "local_file" "data-deleter-app_application_ecs_service_appspec_5FC42C09" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 2 to change, 1 to destroy.
aws_ecs_task_definition.data-deleter-app_application_ecs_service_ecs-task_243DED07: Destroying... [id=AccountDataDeleter-Dev]
aws_ecs_task_definition.data-deleter-app_application_ecs_service_ecs-task_243DED07: Destruction complete after 0s
aws_lambda_function.event-consumer_sqs-event-consumer_lambda_2F35855C: Modifying... [id=AccountDataDeleter-Dev-Sqs-Event-Consumer-Function]
aws_lambda_function.batchdeletelambda_batch-delete-lambda_9A38729B: Modifying... [id=AccountDataDeleter-Dev-BatchDeleteLambda-Function]
aws_ecs_task_definition.data-deleter-app_application_ecs_service_ecs-task_243DED07: Creating...
aws_ecs_task_definition.data-deleter-app_application_ecs_service_ecs-task_243DED07: Creation complete after 0s [id=AccountDataDeleter-Dev]
local_file.data-deleter-app_application_ecs_service_appspec_5FC42C09: Creating...
local_file.data-deleter-app_application_ecs_service_appspec_5FC42C09: Creation complete after 0s [id=cf08268644c125995d83d7b0318687dc1adcacde]
aws_lambda_function.batchdeletelambda_batch-delete-lambda_9A38729B: Modifications complete after 7s [id=AccountDataDeleter-Dev-BatchDeleteLambda-Function]
aws_lambda_function.event-consumer_sqs-event-consumer_lambda_2F35855C: Modifications complete after 7s [id=AccountDataDeleter-Dev-Sqs-Event-Consumer-Function]

Apply complete! Resources: 2 added, 2 changed, 1 destroyed.

:white_check_mark: Apply Succeeded (pocket-event-bridge-cdk-dev)
CI link
Apply complete! Resources: 0 added, 1 changed, 0 destroyed.
 Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # aws_cloudwatch_metric_alarm.shareable-list-item-events_shareablelistevents-rule-dlq-alarm_2CE4E6A3 will be updated in-place
  ~ resource "aws_cloudwatch_metric_alarm" "shareable-list-item-events_shareablelistevents-rule-dlq-alarm_2CE4E6A3" {
      ~ dimensions                = {
          ~ "QueueName" = "PocketEventBridge-Dev-SNS-ShareableListEvents-Topic-DLQ" -> "PocketEventBridge-Dev-SNS-ShareableListItemEvents-Topic-DLQ"
        }
        id                        = "PocketEventBridge-Dev-ShareableListEvents-Rule-dlq-alarm"
        tags                      = {}
        # (17 unchanged attributes hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.
aws_cloudwatch_metric_alarm.shareable-list-item-events_shareablelistevents-rule-dlq-alarm_2CE4E6A3: Modifying... [id=PocketEventBridge-Dev-ShareableListEvents-Rule-dlq-alarm]
aws_cloudwatch_metric_alarm.shareable-list-item-events_shareablelistevents-rule-dlq-alarm_2CE4E6A3: Modifications complete after 0s [id=PocketEventBridge-Dev-ShareableListEvents-Rule-dlq-alarm]

Apply complete! Resources: 0 added, 1 changed, 0 destroyed.

:white_check_mark: Apply Succeeded (push-server-cdk-dev)
CI link
Apply complete! Resources: 1 added, 1 changed, 1 destroyed.
 Resource actions are indicated with the following symbols:
  ~ update in-place
-/+ destroy and then create replacement

Terraform will perform the following actions:

  # aws_ecs_service.application_ecs_service_ecs-service_A8BAB5F4 will be updated in-place
  ~ resource "aws_ecs_service" "application_ecs_service_ecs-service_A8BAB5F4" {
        id                                 = "arn:aws:ecs:us-east-1:410318598490:service/Push-Dev/Push-Dev"
        name                               = "Push-Dev"
        tags                               = {
            "environment" = "Dev"
            "service"     = "Push"
        }
      ~ task_definition                    = "arn:aws:ecs:us-east-1:410318598490:task-definition/Push-Dev:13" -> (known after apply)
        # (15 unchanged attributes hidden)

        # (3 unchanged blocks hidden)
    }

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:410318598490:task-definition/Push-Dev:13" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:410318598490:task-definition/Push-Dev" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "410318598490.dkr.ecr.us-east-1.amazonaws.com/push-dev-app:317f296e86afdea437344a065f282a6e20a96b65" -> "410318598490.dkr.ecr.us-east-1.amazonaws.com/push-dev-app:f5ad01c0f6cb78c045d609a1b3441b2b7eb7359d"
                    name                   = "app"
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name                   = "aws-otel-collector"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (10 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "Push-Dev" -> (known after apply)
      ~ revision                 = 13 -> (known after apply)
        tags                     = {
            "environment" = "Dev"
            "service"     = "Push"
        }
        # (10 unchanged attributes hidden)
    }

Plan: 1 to add, 1 to change, 1 to destroy.
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destroying... [id=Push-Dev]
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destruction complete after 0s
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creating...
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creation complete after 0s [id=Push-Dev]
aws_ecs_service.application_ecs_service_ecs-service_A8BAB5F4: Modifying... [id=arn:aws:ecs:us-east-1:410318598490:service/Push-Dev/Push-Dev]
aws_ecs_service.application_ecs_service_ecs-service_A8BAB5F4: Modifications complete after 0s [id=arn:aws:ecs:us-east-1:410318598490:service/Push-Dev/Push-Dev]

Apply complete! Resources: 1 added, 1 changed, 1 destroyed.

:white_check_mark: Apply Succeeded (image-api-cdk-dev)
CI link
Apply complete! Resources: 2 added, 0 changed, 1 destroyed.
 Resource actions are indicated with the following symbols:
  + create
-/+ destroy and then create replacement

Terraform will perform the following actions:

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:410318598490:task-definition/ImageAPI-Dev:56" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:410318598490:task-definition/ImageAPI-Dev" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "410318598490.dkr.ecr.us-east-1.amazonaws.com/imageapi-dev-app:317f296e86afdea437344a065f282a6e20a96b65" -> "410318598490.dkr.ecr.us-east-1.amazonaws.com/imageapi-dev-app:f5ad01c0f6cb78c045d609a1b3441b2b7eb7359d"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name                   = "aws-otel-collector"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (10 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "ImageAPI-Dev" -> (known after apply)
      ~ revision                 = 56 -> (known after apply)
        tags                     = {
            "environment" = "Dev"
            "service"     = "ImageAPI"
        }
        # (10 unchanged attributes hidden)
    }

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 0 to change, 1 to destroy.
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destroying... [id=ImageAPI-Dev]
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destruction complete after 0s
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creating...
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creation complete after 0s [id=ImageAPI-Dev]
local_file.application_ecs_service_appspec_94386B9C: Creating...
local_file.application_ecs_service_appspec_94386B9C: Creation complete after 0s [id=043150669a8b348ede240ed30c31df6c305b6a0a]

Apply complete! Resources: 2 added, 0 changed, 1 destroyed.

:white_check_mark: Apply Succeeded (shareable-lists-api-cdk-dev)
CI link
Apply complete! Resources: 2 added, 2 changed, 1 destroyed.
 Resource actions are indicated with the following symbols:
  + create
  ~ update in-place
-/+ destroy and then create replacement

Terraform will perform the following actions:

  # aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_query_0_52F9FF21 will be updated in-place
  ~ resource "aws_cloudwatch_metric_alarm" "synthetics_synthetics_synthetic_check_alarm_query_0_52F9FF21" {
      ~ alarm_actions             = [
          + "",
        ]
        id                        = "slapi-dev-query-0"
      ~ ok_actions                = [
          + "",
        ]
        tags                      = {}
        # (16 unchanged attributes hidden)
    }

  # aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_uptime_0_3A56DFC7 will be updated in-place
  ~ resource "aws_cloudwatch_metric_alarm" "synthetics_synthetics_synthetic_check_alarm_uptime_0_3A56DFC7" {
      ~ alarm_actions             = [
          + "",
        ]
        id                        = "slapi-dev-uptime-0"
      ~ ok_actions                = [
          + "",
        ]
        tags                      = {}
        # (16 unchanged attributes hidden)
    }

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:410318598490:task-definition/ShareableListsApi-Dev:171" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:410318598490:task-definition/ShareableListsApi-Dev" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "410318598490.dkr.ecr.us-east-1.amazonaws.com/shareablelistsapi-dev-app:4d1194717d2c0591edc95e1dd2a0881e9ab45fec" -> "410318598490.dkr.ecr.us-east-1.amazonaws.com/shareablelistsapi-dev-app:f5ad01c0f6cb78c045d609a1b3441b2b7eb7359d"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "ShareableListsApi-Dev" -> (known after apply)
      ~ revision                 = 171 -> (known after apply)
        tags                     = {
            "environment" = "Dev"
            "service"     = "ShareableListsApi"
        }
        # (10 unchanged attributes hidden)
    }

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 2 to change, 1 to destroy.
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destroying... [id=ShareableListsApi-Dev]
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destruction complete after 0s
aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_uptime_0_3A56DFC7: Modifying... [id=slapi-dev-uptime-0]
aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_query_0_52F9FF21: Modifying... [id=slapi-dev-query-0]
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creating...
aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_uptime_0_3A56DFC7: Modifications complete after 0s [id=slapi-dev-uptime-0]
aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_query_0_52F9FF21: Modifications complete after 0s [id=slapi-dev-query-0]
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creation complete after 0s [id=ShareableListsApi-Dev]
local_file.application_ecs_service_appspec_94386B9C: Creating...
local_file.application_ecs_service_appspec_94386B9C: Creation complete after 0s [id=93a740e48d634ae8071c959f3cba806e2b18f72f]

Apply complete! Resources: 2 added, 2 changed, 1 destroyed.

:white_check_mark: Apply Succeeded (transactional-emails-cdk-dev)
CI link
Apply complete! Resources: 0 added, 1 changed, 0 destroyed.
 Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # aws_lambda_function.events_sqs-event-consumer_lambda_3BE960B8 will be updated in-place
  ~ resource "aws_lambda_function" "events_sqs-event-consumer_lambda_3BE960B8" {
        id                             = "TransactionalEmails-Dev-Sqs-Event-Consumer-Function"
      ~ qualified_arn                  = "arn:aws:lambda:us-east-1:410318598490:function:TransactionalEmails-Dev-Sqs-Event-Consumer-Function:208" -> (known after apply)
      ~ qualified_invoke_arn           = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:410318598490:function:TransactionalEmails-Dev-Sqs-Event-Consumer-Function:208/invocations" -> (known after apply)
        tags                           = {
            "environment" = "Dev"
            "service"     = "TransactionalEmails"
        }
      ~ version                        = "208" -> (known after apply)
        # (19 unchanged attributes hidden)

      ~ environment {
          ~ variables = {
              ~ "GIT_SHA"                            = (sensitive value)
                # (6 unchanged elements hidden)
            }
        }

        # (4 unchanged blocks hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.
aws_lambda_function.events_sqs-event-consumer_lambda_3BE960B8: Modifying... [id=TransactionalEmails-Dev-Sqs-Event-Consumer-Function]
aws_lambda_function.events_sqs-event-consumer_lambda_3BE960B8: Modifications complete after 7s [id=TransactionalEmails-Dev-Sqs-Event-Consumer-Function]

Apply complete! Resources: 0 added, 1 changed, 0 destroyed.

:white_check_mark: Apply Succeeded (user-api-cdk-dev)
CI link
Apply complete! Resources: 2 added, 0 changed, 1 destroyed.
 Resource actions are indicated with the following symbols:
  + create
-/+ destroy and then create replacement

Terraform will perform the following actions:

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:410318598490:task-definition/UserAPI-Dev:93" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:410318598490:task-definition/UserAPI-Dev" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "410318598490.dkr.ecr.us-east-1.amazonaws.com/userapi-dev-app:317f296e86afdea437344a065f282a6e20a96b65" -> "410318598490.dkr.ecr.us-east-1.amazonaws.com/userapi-dev-app:f5ad01c0f6cb78c045d609a1b3441b2b7eb7359d"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name                   = "aws-otel-collector"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (10 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "UserAPI-Dev" -> (known after apply)
      ~ revision                 = 93 -> (known after apply)
        tags                     = {
            "environment" = "Dev"
            "service"     = "UserAPI"
        }
        # (10 unchanged attributes hidden)
    }

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 0 to change, 1 to destroy.
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destroying... [id=UserAPI-Dev]
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destruction complete after 0s
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creating...
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creation complete after 0s [id=UserAPI-Dev]
local_file.application_ecs_service_appspec_94386B9C: Creating...
local_file.application_ecs_service_appspec_94386B9C: Creation complete after 0s [id=11c5261326e5f50803a29299ad98dd024cdbc5bb]

Apply complete! Resources: 2 added, 0 changed, 1 destroyed.

:white_check_mark: Apply Succeeded (list-api-cdk-dev)
CI link
Apply complete! Resources: 2 added, 0 changed, 1 destroyed.
 Resource actions are indicated with the following symbols:
  + create
-/+ destroy and then create replacement

Terraform will perform the following actions:

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:410318598490:task-definition/ListAPI-Dev:195" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:410318598490:task-definition/ListAPI-Dev" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "410318598490.dkr.ecr.us-east-1.amazonaws.com/listapi-dev-app:317f296e86afdea437344a065f282a6e20a96b65" -> "410318598490.dkr.ecr.us-east-1.amazonaws.com/listapi-dev-app:f5ad01c0f6cb78c045d609a1b3441b2b7eb7359d"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name                   = "aws-otel-collector"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (10 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "ListAPI-Dev" -> (known after apply)
      ~ revision                 = 195 -> (known after apply)
        tags                     = {
            "environment" = "Dev"
            "service"     = "ListAPI"
        }
        # (10 unchanged attributes hidden)
    }

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 0 to change, 1 to destroy.
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destroying... [id=ListAPI-Dev]
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destruction complete after 0s
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creating...
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creation complete after 0s [id=ListAPI-Dev]
local_file.application_ecs_service_appspec_94386B9C: Creating...
local_file.application_ecs_service_appspec_94386B9C: Creation complete after 0s [id=83e1fc5561022ec7564fd094de2736c8d774351f]

Apply complete! Resources: 2 added, 0 changed, 1 destroyed.

:white_check_mark: Apply Succeeded (fxa-webhook-proxy-cdk-dev)
CI link
Apply complete! Resources: 1 added, 3 changed, 1 destroyed.
 Resource actions are indicated with the following symbols:
  ~ update in-place
+/- create replacement and then destroy

Terraform will perform the following actions:

  # aws_api_gateway_deployment.apigateway-lambda_api-gateway-deployment_3AF9B512 must be replaced
+/- resource "aws_api_gateway_deployment" "apigateway-lambda_api-gateway-deployment_3AF9B512" {
      ~ created_date  = "2024-02-14T19:37:07Z" -> (known after apply)
      ~ execution_arn = "arn:aws:execute-api:us-east-1:410318598490:ctafu7cig4/" -> (known after apply)
      ~ id            = "jnbmy5" -> (known after apply)
      ~ invoke_url    = "https://ctafu7cig4.execute-api.us-east-1.amazonaws.com/" -> (known after apply)
      ~ triggers      = { # forces replacement
          ~ "deployedAt"   = "1707939386002" -> "1708649769907"
            # (1 unchanged element hidden)
        }
        # (1 unchanged attribute hidden)
    }

  # aws_api_gateway_stage.apigateway-lambda_api-gateway-stage_E95B0DF9 will be updated in-place
  ~ resource "aws_api_gateway_stage" "apigateway-lambda_api-gateway-stage_E95B0DF9" {
      ~ deployment_id         = "jnbmy5" -> (known after apply)
        id                    = "ags-ctafu7cig4-dev"
        tags                  = {}
        # (9 unchanged attributes hidden)
    }

  # aws_lambda_function.apigateway-lambda_fxa-events-apigateway-lambda_events-lambda_06645171 will be updated in-place
  ~ resource "aws_lambda_function" "apigateway-lambda_fxa-events-apigateway-lambda_events-lambda_06645171" {
        id                             = "FxAWebhookProxy-Dev-ApiGateway-FxA-Events-Function"
      ~ qualified_arn                  = "arn:aws:lambda:us-east-1:410318598490:function:FxAWebhookProxy-Dev-ApiGateway-FxA-Events-Function:172" -> (known after apply)
      ~ qualified_invoke_arn           = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:410318598490:function:FxAWebhookProxy-Dev-ApiGateway-FxA-Events-Function:172/invocations" -> (known after apply)
        tags                           = {}
      ~ version                        = "172" -> (known after apply)
        # (19 unchanged attributes hidden)

      ~ environment {
          ~ variables = {
              ~ "GIT_SHA"            = (sensitive value)
                # (3 unchanged elements hidden)
            }
        }

        # (4 unchanged blocks hidden)
    }

  # aws_lambda_function.proxy-lambda_fxa-events-sqs-lambda_39345609 will be updated in-place
  ~ resource "aws_lambda_function" "proxy-lambda_fxa-events-sqs-lambda_39345609" {
        id                             = "FxAWebhookProxy-Dev-Sqs-FxA-Events-Function"
      ~ qualified_arn                  = "arn:aws:lambda:us-east-1:410318598490:function:FxAWebhookProxy-Dev-Sqs-FxA-Events-Function:183" -> (known after apply)
      ~ qualified_invoke_arn           = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:410318598490:function:FxAWebhookProxy-Dev-Sqs-FxA-Events-Function:183/invocations" -> (known after apply)
        tags                           = {
            "environment" = "Dev"
            "service"     = "FxAWebhookProxy"
        }
      ~ version                        = "183" -> (known after apply)
        # (19 unchanged attributes hidden)

      ~ environment {
          ~ variables = {
              ~ "GIT_SHA"     = (sensitive value)
                # (4 unchanged elements hidden)
            }
        }

        # (4 unchanged blocks hidden)
    }

Plan: 1 to add, 3 to change, 1 to destroy.
aws_lambda_function.apigateway-lambda_fxa-events-apigateway-lambda_events-lambda_06645171: Modifying... [id=FxAWebhookProxy-Dev-ApiGateway-FxA-Events-Function]
aws_lambda_function.proxy-lambda_fxa-events-sqs-lambda_39345609: Modifying... [id=FxAWebhookProxy-Dev-Sqs-FxA-Events-Function]
aws_lambda_function.apigateway-lambda_fxa-events-apigateway-lambda_events-lambda_06645171: Modifications complete after 7s [id=FxAWebhookProxy-Dev-ApiGateway-FxA-Events-Function]
aws_api_gateway_deployment.apigateway-lambda_api-gateway-deployment_3AF9B512: Creating...
aws_lambda_function.proxy-lambda_fxa-events-sqs-lambda_39345609: Modifications complete after 7s [id=FxAWebhookProxy-Dev-Sqs-FxA-Events-Function]
aws_api_gateway_deployment.apigateway-lambda_api-gateway-deployment_3AF9B512: Creation complete after 0s [id=y2nhwn]
aws_api_gateway_stage.apigateway-lambda_api-gateway-stage_E95B0DF9: Modifying... [id=ags-ctafu7cig4-dev]
aws_api_gateway_stage.apigateway-lambda_api-gateway-stage_E95B0DF9: Modifications complete after 0s [id=ags-ctafu7cig4-dev]
aws_api_gateway_deployment.apigateway-lambda_api-gateway-deployment_3AF9B512 (deposed object ad5f668b): Destroying... [id=jnbmy5]
aws_api_gateway_deployment.apigateway-lambda_api-gateway-deployment_3AF9B512: Destruction complete after 0s

Apply complete! Resources: 1 added, 3 changed, 1 destroyed.

:white_check_mark: Apply Succeeded (annotations-api-cdk-dev)
CI link
Apply complete! Resources: 2 added, 3 changed, 4 destroyed.
 Resource actions are indicated with the following symbols:
  + create
  ~ update in-place
  - destroy
-/+ destroy and then create replacement
 <= read (data resources)

Terraform will perform the following actions:

  # data.aws_iam_policy_document.application_ecs_service_ecs-iam_data-ecs-task-role-policy_090CC3AD will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "aws_iam_policy_document" "application_ecs_service_ecs-iam_data-ecs-task-role-policy_090CC3AD" {
      + id      = (known after apply)
      + json    = (known after apply)
      + version = "2012-10-17"

      + statement {
          + actions   = [
              + "logs:CreateLogGroup",
              + "logs:CreateLogStream",
              + "logs:DescribeLogGroups",
              + "logs:DescribeLogStreams",
              + "logs:PutLogEvents",
              + "xray:GetSamplingRules",
              + "xray:GetSamplingStatisticSummaries",
              + "xray:GetSamplingTargets",
              + "xray:PutTelemetryRecords",
              + "xray:PutTraceSegments",
            ]
          + effect    = "Allow"
          + resources = [
              + "*",
            ]
        }
      + statement {
          + actions   = [
              + "dynamodb:BatchGet*",
              + "dynamodb:BatchWrite*",
              + "dynamodb:Delete*",
              + "dynamodb:DescribeTable",
              + "dynamodb:Get*",
              + "dynamodb:PutItem",
              + "dynamodb:Query",
              + "dynamodb:Scan",
              + "dynamodb:UpdateItem",
            ]
          + effect    = "Allow"
          + resources = [
              + "arn:aws:dynamodb:us-east-1:410318598490:table/ANNOT-Dev-highlight-notes",
              + "arn:aws:dynamodb:us-east-1:410318598490:table/ANNOT-Dev-highlight-notes/*",
            ]
        }
      + statement {
          + actions   = [
              + "sqs:DeleteMessage",
              + "sqs:ReceiveMessage",
              + "sqs:SendMessage",
              + "sqs:SendMessageBatch",
            ]
          + effect    = "Allow"
          + resources = [
              + "arn:aws:sqs:us-east-1:410318598490:AnnotationsAPI-Dev-Batch-Delete-Consumer-Queue",
            ]
        }
    }

  # aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_query_0_52F9FF21 will be updated in-place
  ~ resource "aws_cloudwatch_metric_alarm" "synthetics_synthetics_synthetic_check_alarm_query_0_52F9FF21" {
      ~ alarm_actions             = [
          + "",
        ]
        id                        = "annot-dev-query-0"
      ~ ok_actions                = [
          + "",
        ]
        tags                      = {}
        # (16 unchanged attributes hidden)
    }

  # aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_uptime_0_3A56DFC7 will be updated in-place
  ~ resource "aws_cloudwatch_metric_alarm" "synthetics_synthetics_synthetic_check_alarm_uptime_0_3A56DFC7" {
      ~ alarm_actions             = [
          + "",
        ]
        id                        = "annot-dev-uptime-0"
      ~ ok_actions                = [
          + "",
        ]
        tags                      = {}
        # (16 unchanged attributes hidden)
    }

  # aws_dynamodb_table.dynamodb_highlight-notes_dynamodb_table_8BD520BF will be updated in-place
  ~ resource "aws_dynamodb_table" "dynamodb_highlight-notes_dynamodb_table_8BD520BF" {
        id                          = "ANNOT-Dev-highlight-notes"
        name                        = "ANNOT-Dev-highlight-notes"
        tags                        = {
            "environment" = "Dev"
            "service"     = "AnnotationsAPI"
        }
        # (9 unchanged attributes hidden)

      - global_secondary_index {
          - hash_key           = "userId" -> null
          - name               = "userId" -> null
          - non_key_attributes = [] -> null
          - projection_type    = "KEYS_ONLY" -> null
          - read_capacity      = 0 -> null
          - write_capacity     = 0 -> null
        }
      + global_secondary_index {
          + hash_key           = "userId"
          + name               = "userId"
          + non_key_attributes = []
          + projection_type    = "KEYS_ONLY"
          + read_capacity      = 5
          + write_capacity     = 5
        }

        # (4 unchanged blocks hidden)
    }

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:410318598490:task-definition/AnnotationsAPI-Dev:103" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:410318598490:task-definition/AnnotationsAPI-Dev" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ environment            = [
                        # (9 unchanged elements hidden)
                        {
                            name  = "OTLP_COLLECTOR_HOST"
                            value = "localhost"
                        },
                      - {
                          - name  = "REDIS_PRIMARY_ENDPOINT"
                          - value = "annotationsapi-dev.n7e2yl.ng.0001.use1.cache.amazonaws.com"
                        },
                      - {
                          - name  = "REDIS_READER_ENDPOINT"
                          - value = "annotationsapi-dev-ro.n7e2yl.ng.0001.use1.cache.amazonaws.com"
                        },
                        {
                            name  = "SQS_BATCH_DELETE_QUEUE_URL"
                            value = "https://sqs.us-east-1.amazonaws.com/410318598490/AnnotationsAPI-Dev-Batch-Delete-Consumer-Queue"
                        },
                    ]
                  ~ image                  = "410318598490.dkr.ecr.us-east-1.amazonaws.com/annotationsapi-dev-app:317f296e86afdea437344a065f282a6e20a96b65" -> "410318598490.dkr.ecr.us-east-1.amazonaws.com/annotationsapi-dev-app:f5ad01c0f6cb78c045d609a1b3441b2b7eb7359d"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (8 unchanged attributes hidden)
                },
              ~ {
                    name                   = "aws-otel-collector"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (10 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "AnnotationsAPI-Dev" -> (known after apply)
      ~ revision                 = 103 -> (known after apply)
        tags                     = {
            "environment" = "Dev"
            "service"     = "AnnotationsAPI"
        }
        # (10 unchanged attributes hidden)
    }

  # aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446 will be destroyed
  # (because aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446 is not in configuration)
  - resource "aws_elasticache_replication_group" "redis_elasticache_replication_group_6DE00446" {
      - apply_immediately          = true -> null
      - arn                        = "arn:aws:elasticache:us-east-1:410318598490:replicationgroup:annotationsapi-dev" -> null
      - at_rest_encryption_enabled = false -> null
      - auth_token_update_strategy = "ROTATE" -> null
      - auto_minor_version_upgrade = "true" -> null
      - automatic_failover_enabled = true -> null
      - cluster_enabled            = false -> null
      - data_tiering_enabled       = false -> null
      - description                = "annotationsapi-dev | Managed by terraform" -> null
      - engine                     = "redis" -> null
      - engine_version             = "7.0" -> null
      - engine_version_actual      = "7.0.7" -> null
      - id                         = "annotationsapi-dev" -> null
      - ip_discovery               = "ipv4" -> null
      - maintenance_window         = "tue:06:00-tue:07:00" -> null
      - member_clusters            = [
          - "annotationsapi-dev-001",
          - "annotationsapi-dev-002",
        ] -> null
      - multi_az_enabled           = true -> null
      - network_type               = "ipv4" -> null
      - node_type                  = "cache.t3.micro" -> null
      - num_cache_clusters         = 2 -> null
      - num_node_groups            = 1 -> null
      - parameter_group_name       = "default.redis7" -> null
      - port                       = 6379 -> null
      - primary_endpoint_address   = "annotationsapi-dev.n7e2yl.ng.0001.use1.cache.amazonaws.com" -> null
      - reader_endpoint_address    = "annotationsapi-dev-ro.n7e2yl.ng.0001.use1.cache.amazonaws.com" -> null
      - replicas_per_node_group    = 1 -> null
      - replication_group_id       = "annotationsapi-dev" -> null
      - security_group_ids         = [
          - "sg-089ce737a8ef6f66c",
        ] -> null
      - security_group_names       = [] -> null
      - snapshot_retention_limit   = 0 -> null
      - snapshot_window            = "03:30-04:30" -> null
      - subnet_group_name          = "annotationsapi-dev-elasticachesubnetgroup" -> null
      - tags                       = {
          - "environment" = "Dev"
          - "service"     = "AnnotationsAPI"
        } -> null
      - tags_all                   = {
          - "environment" = "Dev"
          - "service"     = "AnnotationsAPI"
        } -> null
      - transit_encryption_enabled = false -> null
      - user_group_ids             = [] -> null
    }

  # aws_elasticache_subnet_group.redis_elasticache_subnet_group_EA2B92B2 will be destroyed
  # (because aws_elasticache_subnet_group.redis_elasticache_subnet_group_EA2B92B2 is not in configuration)
  - resource "aws_elasticache_subnet_group" "redis_elasticache_subnet_group_EA2B92B2" {
      - arn         = "arn:aws:elasticache:us-east-1:410318598490:subnetgroup:annotationsapi-dev-elasticachesubnetgroup" -> null
      - description = "Managed by Terraform" -> null
      - id          = "annotationsapi-dev-elasticachesubnetgroup" -> null
      - name        = "annotationsapi-dev-elasticachesubnetgroup" -> null
      - subnet_ids  = [
          - "subnet-04478ac1c55709b1f",
          - "subnet-07854aac95d07bb16",
          - "subnet-0a6c00fa564f97b10",
          - "subnet-0eb99fe10e08d5d96",
        ] -> null
      - tags        = {
          - "environment" = "Dev"
          - "service"     = "AnnotationsAPI"
        } -> null
      - tags_all    = {
          - "environment" = "Dev"
          - "service"     = "AnnotationsAPI"
        } -> null
    }

  # aws_iam_policy.application_ecs_service_ecs-iam_ecs-task-role-policy_6FC89FB6 will be updated in-place
  ~ resource "aws_iam_policy" "application_ecs_service_ecs-iam_ecs-task-role-policy_6FC89FB6" {
        id        = "arn:aws:iam::410318598490:policy/AnnotationsAPI-Dev-TaskRolePolicy"
        name      = "AnnotationsAPI-Dev-TaskRolePolicy"
      ~ policy    = jsonencode(
            {
              - Statement = [
                  - {
                      - Action   = [
                          - "xray:PutTraceSegments",
                          - "xray:PutTelemetryRecords",
                          - "xray:GetSamplingTargets",
                          - "xray:GetSamplingStatisticSummaries",
                          - "xray:GetSamplingRules",
                          - "logs:PutLogEvents",
                          - "logs:DescribeLogStreams",
                          - "logs:DescribeLogGroups",
                          - "logs:CreateLogStream",
                          - "logs:CreateLogGroup",
                        ]
                      - Effect   = "Allow"
                      - Resource = "*"
                    },
                  - {
                      - Action   = [
                          - "dynamodb:UpdateItem",
                          - "dynamodb:Scan",
                          - "dynamodb:Query",
                          - "dynamodb:PutItem",
                          - "dynamodb:Get*",
                          - "dynamodb:DescribeTable",
                          - "dynamodb:Delete*",
                          - "dynamodb:BatchWrite*",
                          - "dynamodb:BatchGet*",
                        ]
                      - Effect   = "Allow"
                      - Resource = [
                          - "arn:aws:dynamodb:us-east-1:410318598490:table/ANNOT-Dev-highlight-notes/*",
                          - "arn:aws:dynamodb:us-east-1:410318598490:table/ANNOT-Dev-highlight-notes",
                        ]
                    },
                  - {
                      - Action   = [
                          - "sqs:SendMessageBatch",
                          - "sqs:SendMessage",
                          - "sqs:ReceiveMessage",
                          - "sqs:DeleteMessage",
                        ]
                      - Effect   = "Allow"
                      - Resource = "arn:aws:sqs:us-east-1:410318598490:AnnotationsAPI-Dev-Batch-Delete-Consumer-Queue"
                    },
                ]
              - Version   = "2012-10-17"
            }
        ) -> (known after apply)
        tags      = {
            "environment" = "Dev"
            "service"     = "AnnotationsAPI"
        }
        # (4 unchanged attributes hidden)
    }

  # aws_security_group.redis_elasticache_security_group_24BFB83E will be destroyed
  # (because aws_security_group.redis_elasticache_security_group_24BFB83E is not in configuration)
  - resource "aws_security_group" "redis_elasticache_security_group_24BFB83E" {
      - arn                    = "arn:aws:ec2:us-east-1:410318598490:security-group/sg-089ce737a8ef6f66c" -> null
      - description            = "Managed by Terraform" -> null
      - egress                 = [] -> null
      - id                     = "sg-089ce737a8ef6f66c" -> null
      - ingress                = [
          - {
              - cidr_blocks      = [
                  - "<IP_ADDRESS>/16",
                ]
              - description      = ""
              - from_port        = 6379
              - ipv6_cidr_blocks = []
              - prefix_list_ids  = []
              - protocol         = "tcp"
              - security_groups  = []
              - self             = false
              - to_port          = 6379
            },
        ] -> null
      - name                   = "AnnotationsAPI-Dev20230728222944339300000005" -> null
      - name_prefix            = "AnnotationsAPI-Dev" -> null
      - owner_id               = "410318598490" -> null
      - revoke_rules_on_delete = false -> null
      - tags                   = {
          - "environment" = "Dev"
          - "service"     = "AnnotationsAPI"
        } -> null
      - tags_all               = {
          - "environment" = "Dev"
          - "service"     = "AnnotationsAPI"
        } -> null
      - vpc_id                 = "vpc-012481e83ffa5e152" -> null
    }

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 4 to change, 4 to destroy.
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destroying... [id=AnnotationsAPI-Dev]
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destruction complete after 0s
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Destroying... [id=annotationsapi-dev]
aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_query_0_52F9FF21: Modifying... [id=annot-dev-query-0]
aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_uptime_0_3A56DFC7: Modifying... [id=annot-dev-uptime-0]
aws_dynamodb_table.dynamodb_highlight-notes_dynamodb_table_8BD520BF: Modifying... [id=ANNOT-Dev-highlight-notes]
aws_dynamodb_table.dynamodb_highlight-notes_dynamodb_table_8BD520BF: Modifications complete after 0s [id=ANNOT-Dev-highlight-notes]
data.aws_iam_policy_document.application_ecs_service_ecs-iam_data-ecs-task-role-policy_090CC3AD: Reading...
data.aws_iam_policy_document.application_ecs_service_ecs-iam_data-ecs-task-role-policy_090CC3AD: Read complete after 0s [id=1635203112]
aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_uptime_0_3A56DFC7: Modifications complete after 0s [id=annot-dev-uptime-0]
aws_cloudwatch_metric_alarm.synthetics_synthetics_synthetic_check_alarm_query_0_52F9FF21: Modifications complete after 0s [id=annot-dev-query-0]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 10s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 20s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 30s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 40s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 50s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 1m0s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 1m10s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 1m20s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 1m30s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 1m40s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 1m50s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 2m0s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 2m10s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 2m20s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 2m30s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 2m40s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 2m50s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 3m0s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 3m10s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 3m20s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 3m30s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 3m40s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 3m50s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 4m0s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 4m10s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 4m20s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 4m30s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 4m40s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 4m50s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 5m0s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 5m10s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 5m20s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Still destroying... [id=annotationsapi-dev, 5m30s elapsed]
aws_elasticache_replication_group.redis_elasticache_replication_group_6DE00446: Destruction complete after 5m35s
aws_elasticache_subnet_group.redis_elasticache_subnet_group_EA2B92B2: Destroying... [id=annotationsapi-dev-elasticachesubnetgroup]
aws_security_group.redis_elasticache_security_group_24BFB83E: Destroying... [id=sg-089ce737a8ef6f66c]
aws_elasticache_subnet_group.redis_elasticache_subnet_group_EA2B92B2: Destruction complete after 0s
aws_security_group.redis_elasticache_security_group_24BFB83E: Destruction complete after 0s
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creating...
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creation complete after 0s [id=AnnotationsAPI-Dev]
local_file.application_ecs_service_appspec_94386B9C: Creating...
local_file.application_ecs_service_appspec_94386B9C: Creation complete after 0s [id=0f1563f4e54726541f45a914c6be86e6a1758f2c]

Apply complete! Resources: 2 added, 3 changed, 4 destroyed.

:white_check_mark: Apply Succeeded (user-list-search-cdk)
CI link
Apply complete! Resources: 1 added, 1 changed, 0 destroyed.
 Resource actions are indicated with the following symbols:
  + create
  ~ update in-place

Terraform will perform the following actions:

  # aws_lambda_function.unified_events_consumer will be updated in-place
  ~ resource "aws_lambda_function" "unified_events_consumer" {
      ~ handler                        = "lambda.streamHandler" -> "index.handler"
        id                             = "UserListSearch-Prod-UnifiedEventsConsumer"
      ~ qualified_arn                  = "arn:aws:lambda:us-east-1:996905175585:function:UserListSearch-Prod-UnifiedEventsConsumer:342" -> (known after apply)
      ~ qualified_invoke_arn           = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:996905175585:function:UserListSearch-Prod-UnifiedEventsConsumer:342/invocations" -> (known after apply)
        tags                           = {
            "environment" = "Prod"
            "service"     = "UserListSearch"
        }
      ~ version                        = "342" -> (known after apply)
        # (17 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # local_file.appspec will be created
  + resource "local_file" "appspec" {
      + content              = jsonencode(
            {
              + Resources = [
                  + {
                      + TargetService = {
                          + Properties = {
                              + LoadBalancerInfo = {
                                  + ContainerName = "node"
                                  + ContainerPort = 4000
                                }
                              + TaskDefinition   = "arn:aws:ecs:us-east-1:996905175585:task-definition/UserListSearch-Prod-Apollo:372"
                            }
                          + Type       = "AWS::ECS::Service"
                        }
                    },
                ]
              + version   = 1
            }
        )
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 1 to add, 1 to change, 0 to destroy.
local_file.appspec: Creating...
local_file.appspec: Creation complete after 0s [id=f0836ac8989e42804a2166f942f2ed51285de578]
aws_lambda_function.unified_events_consumer: Modifying... [id=UserListSearch-Prod-UnifiedEventsConsumer]
aws_lambda_function.unified_events_consumer: Modifications complete after 8s [id=UserListSearch-Prod-UnifiedEventsConsumer]

Apply complete! Resources: 1 added, 1 changed, 0 destroyed.

Outputs:

workspace = "UserListSearch-Prod"

:white_check_mark: Apply Succeeded (parser-graphql-wrapper-cdk)
CI link
Apply complete! Resources: 2 added, 0 changed, 1 destroyed.
 Resource actions are indicated with the following symbols:
  + create
-/+ destroy and then create replacement

Terraform will perform the following actions:

  # aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4 must be replaced
-/+ resource "aws_ecs_task_definition" "application_ecs_service_ecs-task_461CC9D4" {
      ~ arn                      = "arn:aws:ecs:us-east-1:996905175585:task-definition/ParserGraphQLWrapper-Prod:702" -> (known after apply)
      ~ arn_without_revision     = "arn:aws:ecs:us-east-1:996905175585:task-definition/ParserGraphQLWrapper-Prod" -> (known after apply)
      ~ container_definitions    = jsonencode(
          ~ [
              ~ {
                  ~ image                  = "996905175585.dkr.ecr.us-east-1.amazonaws.com/parsergraphqlwrapper-prod-app:b9fbc97b78dbb247667c21524fb48042eb297bb1" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/parsergraphqlwrapper-prod-app:4bccfbb7058f50f9de78a8b1e5cc69cfa491f4eb"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
              ~ {
                    name                   = "aws-otel-collector"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (10 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "ParserGraphQLWrapper-Prod" -> (known after apply)
      ~ revision                 = 702 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "ParserGraphQLWrapper"
        }
        # (10 unchanged attributes hidden)
    }

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = (known after apply)
      + content_base64sha256 = (known after apply)
      + content_base64sha512 = (known after apply)
      + content_md5          = (known after apply)
      + content_sha1         = (known after apply)
      + content_sha256       = (known after apply)
      + content_sha512       = (known after apply)
      + directory_permission = "0777"
      + file_permission      = "0777"
      + filename             = "appspec.json"
      + id                   = (known after apply)
    }

Plan: 2 to add, 0 to change, 1 to destroy.
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destroying... [id=ParserGraphQLWrapper-Prod]
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destruction complete after 0s
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creating...
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Creation complete after 0s [id=ParserGraphQLWrapper-Prod]
local_file.application_ecs_service_appspec_94386B9C: Creating...
local_file.application_ecs_service_appspec_94386B9C: Creation complete after 0s [id=42a88aa36b584c00b20a9e9afded05f42a51f2e6]

Apply complete! Resources: 2 added, 0 changed, 1 destroyed.

:white_check_mark: Apply Succeeded (account-delete-monitor-cdk)
CI link
Apply complete! Resources: 0 added, 1 changed, 0 destroyed.
 Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # aws_lambda_function.eventtracker_lambda_2D56166D will be updated in-place
  ~ resource "aws_lambda_function" "eventtracker_lambda_2D56166D" {
        id                             = "AccountDeleteMonitor-Prod-EventTracker-Function"
      ~ qualified_arn                  = "arn:aws:lambda:us-east-1:996905175585:function:AccountDeleteMonitor-Prod-EventTracker-Function:357" -> (known after apply)
      ~ qualified_invoke_arn           = "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:996905175585:function:AccountDeleteMonitor-Prod-EventTracker-Function:357/invocations" -> (known after apply)
        tags                           = {
            "environment" = "Prod"
            "service"     = "AccountDeleteMonitor"
        }
      ~ version                        = "357" -> (known after apply)
        # (19 unchanged attributes hidden)

      ~ environment {
          ~ variables = {
              ~ "GIT_SHA"              = (sensitive value)
                # (4 unchanged elements hidden)
            }
        }

        # (4 unchanged blocks hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.
aws_lambda_function.eventtracker_lambda_2D56166D: Modifying... [id=AccountDeleteMonitor-Prod-EventTracker-Function]
aws_lambda_function.eventtracker_lambda_2D56166D: Modifications complete after 7s [id=AccountDeleteMonitor-Prod-EventTracker-Function]

Apply complete! Resources: 0 added, 1 changed, 0 destroyed.

:white_check_mark: Apply Succeeded (v3-proxy-api-cdk)
CI link
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
 Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # local_file.application_ecs_service_appspec_94386B9C will be created
  + resource "local_file" "application_ecs_service_appspec_94386B9C" {
      + content              = jsonencode(
            {
              + Resources = [
                  + {
                      + TargetService = {
                          + Properties = {
                              + LoadBalancerInfo = {
                                  + ContainerName = "app"
                                  + ContainerPort = 4029
                                }
                              + TaskDefinition   = "arn:aws:ecs:us-east-1:996905175585:task-definition/V3ProxyApi-Prod:13"
                            }
                          + Type       = "AWS::ECS::Service"
                        }
                    },
                ]
              + version   = 1
            }
        )
      + content_base64sha256 = (known after apply)