fix(release): releasing apollo-utils from monorepo

Goal
Like https://github.com/Pocket/pocket-monorepo/pull/130 but for apollo-utils!

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:99" -> (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:1829a878206a795ea733cf204972cc0057e817eb" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/sharedsnowplowconsumer-prod-app:9f1ef72ed9d0d7816697afa7a3e980786e8f06e2"
                    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                 = 99 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "SharedSnowplowConsumer"
        }
        # (9 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:651" -> (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:1829a878206a795ea733cf204972cc0057e817eb" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/parsergraphqlwrapper-prod-app:9f1ef72ed9d0d7816697afa7a3e980786e8f06e2"
                    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                 = 651 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "ParserGraphQLWrapper"
        }
        # (9 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 (pocket-event-bridge-cdk)
CI link
Plan: 0 to add, 1 to change, 0 to destroy.

Update

aws_cloudwatch_metric_alarm.shareable-list-events_shareablelistevents-rule-dlq-alarm_FBCFA70C

Change Result (Click me)

  # aws_cloudwatch_metric_alarm.shareable-list-events_shareablelistevents-rule-dlq-alarm_FBCFA70C will be updated in-place
  ~ resource "aws_cloudwatch_metric_alarm" "shareable-list-events_shareablelistevents-rule-dlq-alarm_FBCFA70C" {
      ~ dimensions                = {
          ~ "QueueName" = "PocketEventBridge-Prod-SNS-ShareableListItemEvents-Topic-DLQ" -> "PocketEventBridge-Prod-SNS-ShareableListEvents-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 (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:141" -> (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:1829a878206a795ea733cf204972cc0057e817eb" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/imageapi-prod-app:9f1ef72ed9d0d7816697afa7a3e980786e8f06e2"
                    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                 = 141 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "ImageAPI"
        }
        # (9 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:945" -> (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:1829a878206a795ea733cf204972cc0057e817eb" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/listapi-prod-app:9f1ef72ed9d0d7816697afa7a3e980786e8f06e2"
                    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                 = 945 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "ListAPI"
        }
        # (9 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 (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:305" -> (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:1829a878206a795ea733cf204972cc0057e817eb" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/featureflags-prod-app:9f1ef72ed9d0d7816697afa7a3e980786e8f06e2"
                    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                 = 305 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "FeatureFlags"
        }
        # (9 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:318" -> (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:1829a878206a795ea733cf204972cc0057e817eb" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/shareablelistsapi-prod-app:9f1ef72ed9d0d7816697afa7a3e980786e8f06e2"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "ShareableListsApi-Prod" -> (known after apply)
      ~ revision                 = 318 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "ShareableListsApi"
        }
        # (9 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:278" -> (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:1829a878206a795ea733cf204972cc0057e817eb" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/userapi-prod-app:9f1ef72ed9d0d7816697afa7a3e980786e8f06e2"
                    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                 = 278 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "UserAPI"
        }
        # (9 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 (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   = [
              + "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:637" -> (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:1829a878206a795ea733cf204972cc0057e817eb" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/annotationsapi-prod-app:9f1ef72ed9d0d7816697afa7a3e980786e8f06e2"
                    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                 = 637 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "AnnotationsAPI"
        }
        # (9 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   = [
                          - "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",
                        ]
                      - Sid      = ""
                    },
                  - {
                      - 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"
                      - Sid      = ""
                    },
                ]
              - 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.

:x: Plan Failed (account-delete-monitor-cdk)
CI link
Error: Error acquiring the state lock

 Error message: operation error DynamoDB: PutItem, https response error
 StatusCode: 400, RequestID:
 GJH09FDFD9LT5KU8557I18983JVV4KQNSO5AEMVJF66Q9ASUAAJG,
 ConditionalCheckFailedException: The conditional request failed
 Lock Info:
   ID:        97a9de69-33c4-53c4-543e-fbb172e09b8d
   Path:      mozilla-pocket-team-prod-terraform-state/AccountDeleteMonitor
   Operation: OperationTypePlan
   Who<EMAIL_ADDRESS>   Version:   1.6.6
   Created:   2024-01-31 19:21:31.576457924 +0000 UTC
   Info:

 Terraform acquires a state lock to protect the state from being written
 by multiple users at the same time. Please resolve the issue above and try
 again. For most commands, you can disable locking with the "-lock=false"
 flag, but this is not recommended.

: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:265" -> (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:265/invocations" -> (known after apply)
        tags                           = {
            "environment" = "Prod"
            "service"     = "AccountDeleteMonitor"
        }
      ~ version                        = "265" -> (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 8s [id=AccountDeleteMonitor-Prod-EventTracker-Function]

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

:white_check_mark: Apply Succeeded (shared-snowplow-consumer-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.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:99" -> (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:1829a878206a795ea733cf204972cc0057e817eb" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/sharedsnowplowconsumer-prod-app:d86d81be99a18e7b47f25c69fd28404357815ecf"
                    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                 = 99 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "SharedSnowplowConsumer"
        }
        # (9 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-Prod]
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-Prod]
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=8978b99baa571d0fecba4b5595f018fabec0d755]

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

:white_check_mark: Apply Succeeded (feature-flags-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/FeatureFlags-Prod:305" -> (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:1829a878206a795ea733cf204972cc0057e817eb" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/featureflags-prod-app:d86d81be99a18e7b47f25c69fd28404357815ecf"
                    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                 = 305 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "FeatureFlags"
        }
        # (9 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=FeatureFlags-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=FeatureFlags-Prod]
local_file.application_ecs_service_appspec_94386B9C: Creating...
local_file.application_ecs_service_appspec_94386B9C: Creation complete after 0s [id=e5dcc41e2acabd938b10724ae82c8795484a23b6]

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

: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:651" -> (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:1829a878206a795ea733cf204972cc0057e817eb" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/parsergraphqlwrapper-prod-app:d86d81be99a18e7b47f25c69fd28404357815ecf"
                    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                 = 651 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "ParserGraphQLWrapper"
        }
        # (9 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 1s [id=ParserGraphQLWrapper-Prod]
local_file.application_ecs_service_appspec_94386B9C: Creating...
local_file.application_ecs_service_appspec_94386B9C: Creation complete after 0s [id=1fb7b1731d6d4442876ef47569fa23c243493b47]

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

:white_check_mark: Apply Succeeded (transactional-emails-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.events_sqs-event-consumer_lambda_3BE960B8 will be updated in-place
  ~ resource "aws_lambda_function" "events_sqs-event-consumer_lambda_3BE960B8" {
        id                             = "TransactionalEmails-Prod-Sqs-Event-Consumer-Function"
      ~ qualified_arn                  = "arn:aws:lambda:us-east-1:996905175585:function:TransactionalEmails-Prod-Sqs-Event-Consumer-Function:287" -> (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:TransactionalEmails-Prod-Sqs-Event-Consumer-Function:287/invocations" -> (known after apply)
        tags                           = {
            "environment" = "Prod"
            "service"     = "TransactionalEmails"
        }
      ~ version                        = "287" -> (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-Prod-Sqs-Event-Consumer-Function]
aws_lambda_function.events_sqs-event-consumer_lambda_3BE960B8: Modifications complete after 8s [id=TransactionalEmails-Prod-Sqs-Event-Consumer-Function]

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

:white_check_mark: Apply Succeeded (pocket-event-bridge-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_cloudwatch_metric_alarm.shareable-list-events_shareablelistevents-rule-dlq-alarm_FBCFA70C will be updated in-place
  ~ resource "aws_cloudwatch_metric_alarm" "shareable-list-events_shareablelistevents-rule-dlq-alarm_FBCFA70C" {
      ~ dimensions                = {
          ~ "QueueName" = "PocketEventBridge-Prod-SNS-ShareableListItemEvents-Topic-DLQ" -> "PocketEventBridge-Prod-SNS-ShareableListEvents-Topic-DLQ"
        }
        id                        = "PocketEventBridge-Prod-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-events_shareablelistevents-rule-dlq-alarm_FBCFA70C: Modifying... [id=PocketEventBridge-Prod-ShareableListEvents-Rule-dlq-alarm]
aws_cloudwatch_metric_alarm.shareable-list-events_shareablelistevents-rule-dlq-alarm_FBCFA70C: Modifications complete after 0s [id=PocketEventBridge-Prod-ShareableListEvents-Rule-dlq-alarm]

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

:white_check_mark: Apply Succeeded (account-data-deleter-cdk)
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:996905175585:task-definition/AccountDataDeleter-Prod:418" -> (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:1829a878206a795ea733cf204972cc0057e817eb" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/accountdatadeleter-prod-app:d86d81be99a18e7b47f25c69fd28404357815ecf"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "AccountDataDeleter-Prod" -> (known after apply)
      ~ revision                 = 418 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "AccountDataDeleter"
        }
        # (9 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:329" -> (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:329/invocations" -> (known after apply)
        tags                           = {
            "environment" = "Prod"
            "service"     = "AccountDataDeleter"
        }
      ~ version                        = "329" -> (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:562" -> (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:562/invocations" -> (known after apply)
        tags                           = {
            "environment" = "Prod"
            "service"     = "AccountDataDeleter"
        }
      ~ version                        = "562" -> (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-Prod]
aws_ecs_task_definition.data-deleter-app_application_ecs_service_ecs-task_243DED07: Destruction complete after 0s
aws_ecs_task_definition.data-deleter-app_application_ecs_service_ecs-task_243DED07: Creating...
aws_lambda_function.event-consumer_sqs-event-consumer_lambda_2F35855C: Modifying... [id=AccountDataDeleter-Prod-Sqs-Event-Consumer-Function]
aws_lambda_function.batchdeletelambda_batch-delete-lambda_9A38729B: Modifying... [id=AccountDataDeleter-Prod-BatchDeleteLambda-Function]
aws_ecs_task_definition.data-deleter-app_application_ecs_service_ecs-task_243DED07: Creation complete after 0s [id=AccountDataDeleter-Prod]
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=38f2c7ab21fae55a4c98f8a1b86121cc013c4a04]
aws_lambda_function.event-consumer_sqs-event-consumer_lambda_2F35855C: Modifications complete after 6s [id=AccountDataDeleter-Prod-Sqs-Event-Consumer-Function]
aws_lambda_function.batchdeletelambda_batch-delete-lambda_9A38729B: Modifications complete after 7s [id=AccountDataDeleter-Prod-BatchDeleteLambda-Function]

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

:white_check_mark: Apply Succeeded (list-api-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/ListAPI-Prod:945" -> (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:1829a878206a795ea733cf204972cc0057e817eb" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/listapi-prod-app:d86d81be99a18e7b47f25c69fd28404357815ecf"
                    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                 = 945 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "ListAPI"
        }
        # (9 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-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=ListAPI-Prod]
local_file.application_ecs_service_appspec_94386B9C: Creating...
local_file.application_ecs_service_appspec_94386B9C: Creation complete after 0s [id=1fe4f15f08612b7e75e4b7774d9ad9a1b818ef82]

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

:white_check_mark: Apply Succeeded (image-api-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/ImageAPI-Prod:141" -> (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:1829a878206a795ea733cf204972cc0057e817eb" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/imageapi-prod-app:d86d81be99a18e7b47f25c69fd28404357815ecf"
                    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                 = 141 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "ImageAPI"
        }
        # (9 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-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 1s [id=ImageAPI-Prod]
local_file.application_ecs_service_appspec_94386B9C: Creating...
local_file.application_ecs_service_appspec_94386B9C: Creation complete after 0s [id=3195de0464f125b1cc3c998a16a70dbb2362001c]

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

:white_check_mark: Apply Succeeded (shareable-lists-api-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/ShareableListsApi-Prod:318" -> (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:1829a878206a795ea733cf204972cc0057e817eb" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/shareablelistsapi-prod-app:d86d81be99a18e7b47f25c69fd28404357815ecf"
                    name                   = "app"
                  ~ portMappings           = [
                      ~ {
                          - protocol      = "tcp"
                            # (2 unchanged attributes hidden)
                        },
                    ]
                    # (9 unchanged attributes hidden)
                },
            ] # forces replacement
        )
      ~ id                       = "ShareableListsApi-Prod" -> (known after apply)
      ~ revision                 = 318 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "ShareableListsApi"
        }
        # (9 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=ShareableListsApi-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=ShareableListsApi-Prod]
local_file.application_ecs_service_appspec_94386B9C: Creating...
local_file.application_ecs_service_appspec_94386B9C: Creation complete after 0s [id=461426d818ef80a1c07551678e43cfca64dba969]

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

:white_check_mark: Apply Succeeded (annotations-api-cdk)
CI link
Apply complete! Resources: 2 added, 1 changed, 1 destroyed.
 Resource actions are indicated with the following symbols:
  + create
  ~ update in-place
-/+ 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   = [
              + "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:637" -> (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:1829a878206a795ea733cf204972cc0057e817eb" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/annotationsapi-prod-app:d86d81be99a18e7b47f25c69fd28404357815ecf"
                    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                 = 637 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "AnnotationsAPI"
        }
        # (9 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   = [
                          - "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",
                        ]
                      - Sid      = ""
                    },
                  - {
                      - 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"
                      - Sid      = ""
                    },
                ]
              - 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.
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destroying... [id=AnnotationsAPI-Prod]
aws_ecs_task_definition.application_ecs_service_ecs-task_461CC9D4: Destruction complete after 0s
aws_dynamodb_table.dynamodb_highlight-notes_dynamodb_table_8BD520BF: Modifying... [id=ANNOT-Prod-highlight-notes]
aws_dynamodb_table.dynamodb_highlight-notes_dynamodb_table_8BD520BF: Modifications complete after 0s [id=ANNOT-Prod-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=1845415243]
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-Prod]
local_file.application_ecs_service_appspec_94386B9C: Creating...
local_file.application_ecs_service_appspec_94386B9C: Creation complete after 0s [id=ef78a56c06acc1abedab188696dffc06d51789bd]

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

:white_check_mark: Apply Succeeded (user-api-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/UserAPI-Prod:278" -> (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:1829a878206a795ea733cf204972cc0057e817eb" -> "996905175585.dkr.ecr.us-east-1.amazonaws.com/userapi-prod-app:d86d81be99a18e7b47f25c69fd28404357815ecf"
                    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                 = 278 -> (known after apply)
        tags                     = {
            "environment" = "Prod"
            "service"     = "UserAPI"
        }
        # (9 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-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=UserAPI-Prod]
local_file.application_ecs_service_appspec_94386B9C: Creating...
local_file.application_ecs_service_appspec_94386B9C: Creation complete after 0s [id=1ce3e5d9020063a3440c28c7e3b542d9f7eb61a1]

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

:white_check_mark: Apply Succeeded (fxa-webhook-proxy-cdk)
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-01-31T19:27:52Z" -> (known after apply)
      ~ execution_arn = "arn:aws:execute-api:us-east-1:996905175585:b1aoz7w8yj/" -> (known after apply)
      ~ id            = "f8uv3x" -> (known after apply)
      ~ invoke_url    = "https://b1aoz7w8yj.execute-api.us-east-1.amazonaws.com/" -> (known after apply)
      ~ triggers      = { # forces replacement
          ~ "deployedAt"   = "1706729217911" -> "1706732216670"
            # (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         = "f8uv3x" -> (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:829" -> (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:829/invocations" -> (known after apply)
        tags                           = {}
      ~ version                        = "829" -> (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:862" -> (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:862/invocations" -> (known after apply)
        tags                           = {
            "environment" = "Prod"
            "service"     = "FxAWebhookProxy"
        }
      ~ version                        = "862" -> (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-Prod-ApiGateway-FxA-Events-Function]
aws_lambda_function.proxy-lambda_fxa-events-sqs-lambda_39345609: Modifying... [id=FxAWebhookProxy-Prod-Sqs-FxA-Events-Function]
aws_lambda_function.apigateway-lambda_fxa-events-apigateway-lambda_events-lambda_06645171: Modifications complete after 6s [id=FxAWebhookProxy-Prod-ApiGateway-FxA-Events-Function]
aws_api_gateway_deployment.apigateway-lambda_api-gateway-deployment_3AF9B512: Creating...
aws_api_gateway_deployment.apigateway-lambda_api-gateway-deployment_3AF9B512: Creation complete after 1s [id=5uaxro]
aws_api_gateway_stage.apigateway-lambda_api-gateway-stage_E95B0DF9: Modifying... [id=ags-b1aoz7w8yj-prod]
aws_api_gateway_stage.apigateway-lambda_api-gateway-stage_E95B0DF9: Modifications complete after 0s [id=ags-b1aoz7w8yj-prod]
aws_api_gateway_deployment.apigateway-lambda_api-gateway-deployment_3AF9B512 (deposed object 040191f2): Destroying... [id=f8uv3x]
aws_api_gateway_deployment.apigateway-lambda_api-gateway-deployment_3AF9B512: Destruction complete after 0s
aws_lambda_function.proxy-lambda_fxa-events-sqs-lambda_39345609: Modifications complete after 7s [id=FxAWebhookProxy-Prod-Sqs-FxA-Events-Function]

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


Fix build error when compile with "catkin build"

Test on Ubuntu 20.04, Noetic
compile on current version will show error below:
fatal error: neuronbot2_msgs/RawImu.h: No such file or directory

Nice work!


explicit ↑ in coercions + infix operators = unfolding timeout

Minimized from an issue originally reported on Zulip. Explicit coercion arrows seem to badly interact with the infix% term elaborator, causing nonassignable metavariables to be created which cause unification to go on a wild goose chase of definition unfolding:
def dontUnfoldMe (x : Int) : Nat → List Bool → Nat
  | 0, _ => 0
  | n+1, l => dontUnfoldMe x n (true::l) + dontUnfoldMe x n (false::l)

theorem dontUnfoldMe_eq (x) : ∀ n l, dontUnfoldMe x n l = 0
  | 0, _ => rfl
  | n+1, l => by rw [dontUnfoldMe, dontUnfoldMe_eq x n, dontUnfoldMe_eq x n]

example (a : Int) (n : Nat) : dontUnfoldMe (a * n) 14 [] = 0 :=
  dontUnfoldMe_eq (a * n) 14 [] -- fast
example (a : Int) (n : Nat) : dontUnfoldMe (a * n) 14 [] = 0 :=
  dontUnfoldMe_eq (a * ↑n) 14 [] -- slow

Here dontUnfoldMe is written such that it exponentially blows up if you unfold it. The Meta.isDefEq trace looks like this:
  [] 💥 dontUnfoldMe (a * ?m.1656) 14 [] =?= dontUnfoldMe (a * Int.ofNat n) 14 [] ▼
    [] ❌ a * ?m.1656 =?= a * Int.ofNat n ▼
      [] ✅ a =?= a
      [] ❌ ?m.1656 =?= Int.ofNat n ▼
        [] ?m.1656 [nonassignable] =?= Int.ofNat n [nonassignable]
      [] ❌ instHMul.1 a ?m.1656 =?= instHMul.1 a (Int.ofNat n) ▼
        [] ❌ Mul.mul a ?m.1656 =?= Mul.mul a (Int.ofNat n) ▼
          [] ✅ a =?= a
          [] ❌ ?m.1656 =?= Int.ofNat n ▼
            [] ?m.1656 [nonassignable] =?= Int.ofNat n [nonassignable]
          [] ❌ Int.instMulInt.1 a ?m.1656 =?= Int.instMulInt.1 a (Int.ofNat n) ▼
            [] ❌ Int.mul a ?m.1656 =?= Int.mul a (Int.ofNat n) ▶
    [] 💥 dontUnfoldMe (a * ?m.1656) 13 [true] +
          dontUnfoldMe (a * ?m.1656) 13
            [false] =?= dontUnfoldMe (a * Int.ofNat n) 13 [true] + dontUnfoldMe (a * Int.ofNat n) 13 [false] ▶

Yes:
def dontUnfoldMe (x : Int) : Nat → List Bool → Nat
  | 0, _ => 0
  | n+1, l => dontUnfoldMe x n (true::l) + dontUnfoldMe x n (false::l)

theorem dontUnfoldMe_eq (x) : ∀ n l, dontUnfoldMe x n l = 0
  | 0, _ => rfl
  | n+1, l => by rw [dontUnfoldMe, dontUnfoldMe_eq x n, dontUnfoldMe_eq x n]

example (a n : Int) : dontUnfoldMe (a * n) 14 [] = 0 :=
  dontUnfoldMe_eq (a * n) 14 [] -- fast

example (a n : Int) : dontUnfoldMe (a * n) 14 [] = 0 :=
  dontUnfoldMe_eq (a * ↑n) 14 [] -- deterministic timeout

-- Turn off `binop%` elaborator
local macro_rules | `($x * $y) => `(HMul.hMul $x $y)

example (a n : Int) : dontUnfoldMe (a * n) 14 [] = 0 :=
  dontUnfoldMe_eq (a * ↑n) 14 [] -- fast

I noticed timeouts like this happening when experimenting with the leftact% elaborator in mathlib for its module action notation. One workaround I found was to write (x :) instead of ↑x, but I haven't investigated whether these timeouts and this issue's timeouts are related.


Fixed an internal link in the Performance article (Android)

The internal link to the row view reuse of the ListView article was missing.
Added a missing comma

Here goes ...

Fingers crossed! Anyway, thanks for the comment. That was an oversight on my part as I didn't know about a new publishing system that could handle this case correctly.

It works! (Internally.) Just needs to propagate to the live site. Thanks again!


feat: add Learning-Based Accel/Brake Map Calibrator

Description
This is the PR regarding the learning-based vehicle calibration for longitudinal dynamics already discussed and presented in the discussion thread and in the Planning and Control meeting.

Tests performed

This calibrator has been tested in simulation and real vehicles. We've been using the calibrator for a different range of vehicles in Pix Moving with high accuracy.
Additional materials here:
Pix_Longitudinal_Calibration.pdf
Calibration.pptx
Effects on system behavior
This new calibrator improves the previous one in different aspects:

real data are interpolated with a neural network, which is able to provide a very accurate and smooth map, and can capture the non-linearities of the system;

the whole calibration process is very user-friendly, fast and efficient;

you don't need a huge amount of data for training the neural network, making the data collection process faster;

the learning-based approach can be easily adapted to different kind of scenarios, and not solely on the longitudinal dynamic. In my repository for example, I also included the calibration for steering/parking scenarios, just by adding 1 input to the network;

It can be used with a diverse range of vehicles, with different dynamics, kinematics, engines and transmission systems;

It has been tested in simulation and with real vehicles. We now use it for calibrating our vehicles in Pix Moving.

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@CristianGariboldi Thank you for your contribution! This is so great! Would you fix some checks(DCO, pre-commit)? Then, we can run the CI test.

@ahuazuipiaoliang here

Thank you for your contribution, and the analytics are very informative!
I hope we could further organize the steering calibration file (rename or somehow re-factor them to one single file) if that is possible.
Thank you very much.

Thank you for your contribution, and the analytics are very informative!
I hope we could further organize the steering calibration file (rename or somehow re-factor them to one single file) if that is possible.
Thank you very much.

Hi @Owen-Liuyuxuan , sorry for my late reply, busy times, I have some deadlines for my imminent graduation, as soon as I will be free, I will fix this PR.
When you say to re-factor the steering calibration files to one single file are you referring to the neural network scripts?

@CristianGariboldi
Yeah sure. Because for now the network_scripts_*.py is quite confusing in naming and has quite a lot of repeated code. I hope this could be further organized.

@TakaHoribe @CristianGariboldi Could you share the latest status for this PR?

In my opinion, this could live under autoware_tools repository.

Hi @mitsudome-r , unluckily, since I finished my internship months ago, I cannot have access anymore to the company repository in this PR. I am afraid I can't modify it nor submit a new version. Let me know if I can help.
@ahuazuipiaoliang FYI


Delete entities wasn't saved to definitions.amqp

In def save we tried to find the queue/exchange that was going to be
deleted and decied wheather to write or not if it was durable, but the
queue was already deleted from the hash so was never written. Resulting
in that if a crash occured deleted queues/exchanges reappeared.
Fixes #209

Tested the fix by kill -9 the server process, that's harder to do in a spec... as the spec and the server runs in the same process.

Tested the fix by kill -9 the server process, that's harder to do in a spec... as the spec and the server runs in the same process.


Improve error message cannot initialize info server: block id encoding is not set

Improve error message cannot initialize info server: block id encoding is not set
By default firehose checks for block 0.
If block 0 doesn't exist the server will never start.
Maybe the error message should better suggest what is the problem?  Print which block you're looking for and cannot find.

When I start with first-streamable-block=0 instead of 1 (ex. on injective-mainnet), I get these printed out every 5 seconds:
2024-09-01T13:05:11.292-0400 WARN (firehose) waiting to read the first_streamable_block before starting firehose/substreams endpoints {"first_streamable_block": 0, "merged_blocks_store": "/my/blocks", "one_block_store": "..."}

This is where the info lies.
Anyway, I'm changing the error message to be more explicit, this is how it will look like.
################################################################
Fatal error in app firehose:

Error: unable to launch: cannot initialize info server: context deadline exceeded: no block found for first streamable block 0 in the stores or on live source -- use --ignore-advertise-validation to skip these checks```


Bootstrap does not block the usage of var() anywhere, you must not be doing something right.
Until, you show us a live example (on JSBin or similar) we cannot help you

Hey @anyotherway, I'm going to close this out because we don't know anything about the problem you're reporting and you're unwilling to provide an example or clarify. As such, we cannot help you. Your comment, including it's edited history, is also unnecessarily hostile. Please reconsider your approach next time you're asking for help.

Found your other issue btw—your example of a skyblue link color works as expected. https://codepen.io/anon/pen/PdYPMX

Dear prof., 2 box issues here -: disk fried on 4 month old Mac pro -: European hacker doesn’t like American blood, even attacking Applecare CR (heil mien trump). Thanks for fresh air confirmation, tc.
btw will use your pen on our color project, external evaluation, if you don’t mind
nominal primacy= 1(6) bluesky {{ 1+a(b+c)=(b(bc-c)+(c(cb-b)/((ab)’+(ac)’))’K-1 sortNcol
Css var is first (not only) coding error on disk fail… hmm ((Cupertino, security dissection)) ~o_0~

On 18 Aug 18, at 11:30, Mark Otto<EMAIL_ADDRESS>wrote:
Found your other issue btw—your example of a skyblue link color works as expected. https://codepen.io/anon/pen/PdYPMX https://codepen.io/anon/pen/PdYPMX
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/twbs/bootstrap/issues/27059#issuecomment-414077621, or mute the thread https://github.com/notifications/unsubscribe-auth/AK5rqqzxFs2XsWgmOTeL9eBqo8RNqvaeks5uSF1hgaJpZM4V6bid.


feat(math): adds round symbol

This adds the ability to use round() in the math helper, with tests.
I'm not totally sure what the process is for adding functionality here, and what math functions are going to be supported or not, so I though I'd just put a PR up for.

@joekrill Sorry for letting this sit so long. We'd likely want to pull this into a new set of math symbols specifically for rounding (round, floor, ceiling) that folks can optionally pull in via math's already built-in extensibility.
If you're still interested we'd gladly accept a PR to add the new function map.

@bhough I'm not sure what you mean. This is exactly the same way every other math function is implemented. Is there some additional extensibility I'm not seeing? Is there an example of an existing case where you're already doing something similar?

math has the ability to take in an object of additional functions via the additionalSymbols param (https://github.com/styled-components/polished/blob/master/src/math/math.js#L8). If you create a separate file with rounding related functions, users will be able to optionally pass that to the math function to leverage those capabilities without us bloating the defaultSymbolMap. This is an approach we are planning on taking with existing and future "presets" like the math function or named colors in the color functions.


Repeated attempts at installing NetDisco & python-NMAP

Notice these on my Pi running 0.7.3dev0
15-09-15 01:33:29 INFO (MainThread) [homeassistant.util.package] Attempting install of python-nmap==0.4.3
15-09-15 01:33:01 INFO (MainThread) [homeassistant.util.package] Attempting install of netdisco==0.4
15-09-15 01:33:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=frontend>
15-09-15 01:33:01 INFO (MainThread) [homeassistant.util.package] Attempting install of netdisco==0.4
15-09-15 01:33:29 INFO (MainThread) [homeassistant.core] Bus:Handling <Event component_loaded[L]: component=discovery>
15-09-15 01:33:29 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=device_tracker.carlo, new_state=<state device_tracker.carlo=not_home; friendly_name=Carlo, entity_picture=https://graph.facebook.com/606551310/picture @ 01:33:29 15-09-2015>>
15-09-15 01:33:29 INFO (MainThread) [homeassistant.loader] Loaded device_tracker.nmap_tracker from homeassistant.components.device_tracker.nmap_tracker

15-09-15 01:33:29 INFO (MainThread) [homeassistant.util.package] Attempting install of python-nmap==0.4.3

15-09-15 01:33:37 INFO (MainThread) [homeassistant.components.device_tracker.nmap_tracker] Scanning
15-09-15 01:33:43 INFO (MainThread) [homeassistant.components.device_tracker.nmap_tracker] nmap scan successful
15-09-15 01:33:43 INFO (MainThread) [homeassistant.components.device_tracker.nmap_tracker] nmap scanner initialized

When VersionConflict is raised, we should uninstall the old version before installing the new version
// cc @rmkraus

I had a similar error, but in my case it depended on that Debian/Ubuntu uses pip3 as the executable for the  python3 version of pip. It seems like the current implementation is hardcoded to call 'pip' which will execute the python2 pip and therefore not work as expected.
This block in package.py won't work for Debian based installs:
        _LOGGER.info('Attempting install of %s', package)
        args = [sys.executable, '-m', 'pip', 'install', '--quiet', package]
        if upgrade:
            args.append('--upgrade')
        if target:
            args += ['--target', os.path.abspath(target)]

        try:
            return 0 == subprocess.call(args)
        except subprocess.SubprocessError:
            return False

Also the system wide installs of python packages isn't detected. So the result was that nmap-scanning  was disabled even though it did work if I just disabled the check.

BTW: I am no longer seeing this behavior in my logs.  Still running 0.7.3dev0 but with all the latest little fixes and whatnot.

We're using python 3 pip. We're calling python3 -m pip, not using command
line tool because could not be trusted on some installs
On Sat, Sep 19, 2015, 11:04 Carlo Costanzo<EMAIL_ADDRESS>wrote:

BTW: I am no longer seeing this behavior in my logs. Still running
0.7.3dev0 but with all the latest little fixes and whatnot.
—
Reply to this email directly or view it on GitHub
https://github.com/balloob/home-assistant/issues/378#issuecomment-141693986
.

Aha, well strange that it didn't work. I had to run the pip3 executable with --target /home/.../lib/ for netdisco and python-nmap even though I had them installed system wide.

This has been fixed and released.


⚠ Fortnite has degraded performance

In e2b9ddd, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1562 ms

Resolved: Fortnite performance has improved in b20ab7d.