W. W. Norton & Company Infrastructure Drift Report
104
Total Stacks
85
Clean
13
Drift Detected
6
Errors
accounts/development/acm-pca
CLEAN
accounts/development/acm
CLEAN
accounts/development/amazon-mq
CLEAN
accounts/development/cloudfront/drift-report
CLEAN
accounts/development/cloudmap/ca-central-1
CLEAN
accounts/development/cloudwatch/ca-central-1
CLEAN
accounts/development/cloudwatch
CLEAN
accounts/development/config
CLEAN
accounts/development/ec2/ca-central-1
CLEAN
accounts/development/ec2
CLEAN
accounts/development/elasticache
CLEAN
accounts/development/events
CLEAN
accounts/development/iam
CLEAN
accounts/development/kms
CLEAN
accounts/development/lambda
CLEAN
accounts/development/logs
CLEAN
accounts/development/memorydb
CLEAN
accounts/development/rds/ca-central-1
CLEAN
accounts/development/rds
CLEAN
accounts/development/route53
CLEAN
accounts/development/s3_to_loki
CLEAN
accounts/development/s3_users_secrets
CLEAN
accounts/development/s3
CLEAN
accounts/development/secretsmanager
CLEAN
accounts/development/sftp
CLEAN
accounts/development/sqs
CLEAN
accounts/development/vpc/ca-central-1
CLEAN
accounts/development/vpc
CLEAN
accounts/development/waf
CLEAN
accounts/development/ecs/ca-central-1
DRIFT UNKNOWN CAUSE
Change may be older than the 90-day CloudTrail window, or this is Terraform code that has not been applied yet
View plan output
module.regional.aws_ecs_cluster.this["pii-service-stg"]: Refreshing state... [id=arn:aws:ecs:ca-central-1:637244866643:cluster/pii-service-stg]
module.regional.aws_ecs_task_definition.this["pii-service-dev"]: Refreshing state... [id=pii-service-dev]
module.regional.aws_ecs_cluster.this["pii-service-qa"]: Refreshing state... [id=arn:aws:ecs:ca-central-1:637244866643:cluster/pii-service-qa]
module.regional.aws_ecs_cluster.this["pii-service-dev"]: Refreshing state... [id=arn:aws:ecs:ca-central-1:637244866643:cluster/pii-service-dev]
module.regional.aws_ecs_task_definition.this["pii-service-qa"]: Refreshing state... [id=pii-service-qa]
module.regional.aws_ecs_task_definition.this["pii-service-stg"]: Refreshing state... [id=pii-service-stg]
module.regional.aws_ecs_cluster_capacity_providers.this["pii-service-stg"]: Refreshing state... [id=pii-service-stg]
module.regional.aws_ecs_cluster_capacity_providers.this["pii-service-qa"]: Refreshing state... [id=pii-service-qa]
module.regional.aws_ecs_cluster_capacity_providers.this["pii-service-dev"]: Refreshing state... [id=pii-service-dev]
module.regional.aws_ecs_service.this["pii-service-dev/pii-service"]: Refreshing state... [id=arn:aws:ecs:ca-central-1:637244866643:service/pii-service-dev/pii-service]
module.regional.aws_ecs_service.this["pii-service-stg/pii-service"]: Refreshing state... [id=arn:aws:ecs:ca-central-1:637244866643:service/pii-service-stg/pii-service]
module.regional.aws_ecs_service.this["pii-service-qa/pii-service"]: Refreshing state... [id=arn:aws:ecs:ca-central-1:637244866643:service/pii-service-qa/pii-service]

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

Terraform will perform the following actions:

  # module.regional.aws_ecs_service.this["pii-service-dev/pii-service"] must be replaced
-/+ resource "aws_ecs_service" "this" {
      ~ desired_count                      = 0 -> 2
      - health_check_grace_period_seconds  = 0 -> null
      ~ iam_role                           = "/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS" -> (known after apply)
      ~ id                                 = "arn:aws:ecs:ca-central-1:637244866643:service/pii-service-dev/pii-service" -> (known after apply)
      + launch_type                        = (known after apply)
        name                               = "pii-service"
      - propagate_tags                     = "NONE" -> null
        tags                               = {
            "Name"        = "ca-central-1-pii-service-dev-pii-service"
            "environment" = "dev"
            "managed_by"  = "terraform"
        }
      ~ task_definition                    = "arn:aws:ecs:ca-central-1:637244866643:task-definition/pii-service-dev:51" -> "arn:aws:ecs:ca-central-1:637244866643:task-definition/pii-service-dev:44"
      ~ triggers                           = {} -> (known after apply)
        # (10 unchanged attributes hidden)

      - capacity_provider_strategy { # forces replacement
          - base              = 1 -> null
          - capacity_provider = "FARGATE" -> null
          - weight            = 1 -> null
        }

      - deployment_circuit_breaker {
          - enable   = false -> null
          - rollback = false -> null
        }

      - deployment_controller {
          - type = "ECS" -> null
        }

      ~ service_registries {
          - container_port = 0 -> null
          - port           = 0 -> null
            # (1 unchanged attribute hidden)
        }

        # (1 unchanged block hidden)
    }

  # module.regional.aws_ecs_service.this["pii-service-qa/pii-service"] must be replaced
-/+ resource "aws_ecs_service" "this" {
      - health_check_grace_period_seconds  = 0 -> null
      ~ iam_role                           = "/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS" -> (known after apply)
      ~ id                                 = "arn:aws:ecs:ca-central-1:637244866643:service/pii-service-qa/pii-service" -> (known after apply)
      + launch_type                        = (known after apply)
        name                               = "pii-service"
      - propagate_tags                     = "NONE" -> null
        tags                               = {
            "Name"        = "ca-central-1-pii-service-qa-pii-service"
            "environment" = "dev"
            "managed_by"  = "terraform"
        }
      ~ task_definition                    = "arn:aws:ecs:ca-central-1:637244866643:task-definition/pii-service-qa:17" -> "arn:aws:ecs:ca-central-1:637244866643:task-definition/pii-service-qa:14"
      ~ triggers                           = {} -> (known after apply)
        # (11 unchanged attributes hidden)

      - capacity_provider_strategy { # forces replacement
          - base              = 1 -> null
          - capacity_provider = "FARGATE" -> null
          - weight            = 1 -> null
        }

      - deployment_circuit_breaker {
          - enable   = false -> null
          - rollback = false -> null
        }

      - deployment_controller {
          - type = "ECS" -> null
        }

      ~ service_registries {
          - container_port = 0 -> null
          - port           = 0 -> null
            # (1 unchanged attribute hidden)
        }

        # (1 unchanged block hidden)
    }

  # module.regional.aws_ecs_service.this["pii-service-stg/pii-service"] must be replaced
-/+ resource "aws_ecs_service" "this" {
      ~ desired_count                      = 6 -> 2
      - health_check_grace_period_seconds  = 0 -> null
      ~ iam_role                           = "/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS" -> (known after apply)
      ~ id                                 = "arn:aws:ecs:ca-central-1:637244866643:service/pii-service-stg/pii-service" -> (known after apply)
      + launch_type                        = (known after apply)
        name                               = "pii-service"
      - propagate_tags                     = "NONE" -> null
        tags                               = {
            "Name"        = "ca-central-1-pii-service-stg-pii-service"
            "environment" = "dev"
            "managed_by"  = "terraform"
        }
      ~ task_definition                    = "arn:aws:ecs:ca-central-1:637244866643:task-definition/pii-service-stg:11" -> "arn:aws:ecs:ca-central-1:637244866643:task-definition/pii-service-stg:6"
      ~ triggers                           = {} -> (known after apply)
        # (10 unchanged attributes hidden)

      - capacity_provider_strategy { # forces replacement
          - base              = 1 -> null
          - capacity_provider = "FARGATE" -> null
          - weight            = 1 -> null
        }

      - deployment_circuit_breaker {
          - enable   = false -> null
          - rollback = false -> null
        }

      - deployment_controller {
          - type = "ECS" -> null
        }

      ~ service_registries {
          - container_port = 0 -> null
          - port           = 0 -> null
            # (1 unchanged attribute hidden)
        }

        # (1 unchanged block hidden)
    }

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

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.
accounts/development/pii_secret_sync
DRIFT UNKNOWN CAUSE
Change may be older than the 90-day CloudTrail window, or this is Terraform code that has not been applied yet
View plan output
module.pii_secret_sync.data.archive_file.lambda_zip: Reading...
module.pii_secret_sync.data.archive_file.lambda_zip: Read complete after 0s [id=812fcab5f44ab9f11989a531f1f0d42d1ea914e6]
data.aws_secretsmanager_secret.app_stg_us: Reading...
data.aws_secretsmanager_secret.rds_canada: Reading...
module.pii_secret_sync.aws_cloudwatch_log_group.pii_secret_sync: Refreshing state... [id=/aws/lambda/pii_secret_sync_dev]
data.aws_secretsmanager_secret.app_stg_canada: Reading...
data.aws_secretsmanager_secret.app_dev_us: Reading...
data.aws_secretsmanager_secret.app_dev_canada: Reading...
data.aws_secretsmanager_secret.app_qa_us: Reading...
data.aws_secretsmanager_secret.rds_us: Reading...
module.pii_secret_sync.aws_iam_role.pii_secret_sync: Refreshing state... [id=pii_secret_sync_role_dev]
module.pii_secret_sync.aws_cloudwatch_event_rule.daily_sync_check[0]: Refreshing state... [id=pii-secret-sync-daily-dev]
data.aws_secretsmanager_secret.app_qa_us: Read complete after 0s [id=arn:aws:secretsmanager:us-east-1:637244866643:secret:qa/eng-services/json/pii-service-us-aCFh58]
data.aws_secretsmanager_secret.app_qa_canada: Reading...
data.aws_secretsmanager_secret.app_dev_canada: Read complete after 0s [id=arn:aws:secretsmanager:us-east-1:637244866643:secret:dev/eng-services/json/pii-service-canada-tlM3Wo]
data.aws_secretsmanager_secret.rds_canada: Read complete after 0s [id=arn:aws:secretsmanager:us-east-1:637244866643:secret:rds!db-da981895-13da-45a5-b01a-98827450f092-JIf9ST]
data.aws_secretsmanager_secret.app_stg_canada: Read complete after 0s [id=arn:aws:secretsmanager:us-east-1:637244866643:secret:stg/eng-services/json/pii-service-canada-hzoyjS]
data.aws_secretsmanager_secret.app_stg_us: Read complete after 0s [id=arn:aws:secretsmanager:us-east-1:637244866643:secret:stg/eng-services/json/pii-service-us-eTJ5SR]
data.aws_secretsmanager_secret.rds_us: Read complete after 0s [id=arn:aws:secretsmanager:us-east-1:637244866643:secret:rds!db-5e375db9-413b-4e62-98a4-885aa79986dd-azr80Q]
module.pii_secret_sync.aws_cloudwatch_event_rule.rds_rotation_succeeded: Refreshing state... [id=pii-rds-rotation-succeeded-dev]
data.aws_secretsmanager_secret.app_dev_us: Read complete after 1s [id=arn:aws:secretsmanager:us-east-1:637244866643:secret:dev/eng-services/json/pii-service-us-6gHdBT]
data.aws_secretsmanager_secret.app_qa_canada: Read complete after 1s [id=arn:aws:secretsmanager:us-east-1:637244866643:secret:qa/eng-services/json/pii-service-canada-NLCWwT]
module.pii_secret_sync.aws_iam_role_policy.pii_secret_sync: Refreshing state... [id=pii_secret_sync_role_dev:pii_secret_sync_policy_dev]
module.pii_secret_sync.aws_lambda_function.pii_secret_sync: Refreshing state... [id=pii_secret_sync_dev]
module.pii_secret_sync.aws_lambda_permission.allow_scheduled_invoke[0]: Refreshing state... [id=AllowScheduledInvoke]
module.pii_secret_sync.aws_cloudwatch_event_target.invoke_lambda: Refreshing state... [id=pii-rds-rotation-succeeded-dev-terraform-20260818160402129500000001]
module.pii_secret_sync.aws_cloudwatch_event_target.daily_sync_target[0]: Refreshing state... [id=pii-secret-sync-daily-dev-terraform-20260818160402132800000002]
module.pii_secret_sync.aws_lambda_permission.allow_eventbridge: Refreshing state... [id=AllowEventBridgeInvoke]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # module.pii_secret_sync.aws_cloudwatch_event_rule.rds_rotation_succeeded will be updated in-place
  ~ resource "aws_cloudwatch_event_rule" "rds_rotation_succeeded" {
      ~ event_pattern  = jsonencode(
          ~ {
              ~ detail      = {
                  + requestParameters = {
                      + secretId = [
                          + "arn:aws:secretsmanager:us-east-1:637244866643:secret:rds!db-5e375db9-413b-4e62-98a4-885aa79986dd-azr80Q",
                          + "arn:aws:secretsmanager:us-east-1:637244866643:secret:rds!db-da981895-13da-45a5-b01a-98827450f092-JIf9ST",
                        ]
                    }
                    # (2 unchanged attributes hidden)
                }
              ~ detail-type = [
                  - "AWS Service Event via CloudTrail",
                  + "AWS API Call via CloudTrail",
                ]
                # (1 unchanged attribute hidden)
            }
        )
        id             = "pii-rds-rotation-succeeded-dev"
        name           = "pii-rds-rotation-succeeded-dev"
        tags           = {}
        # (7 unchanged attributes hidden)
    }

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

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.
accounts/development/sns
DRIFT UNKNOWN CAUSE
Change may be older than the 90-day CloudTrail window, or this is Terraform code that has not been applied yet
View plan output
module.sns.data.archive_file.teams_lambda["WWN-DEV-AWS-Health-Alerts"]: Reading...
module.sns.data.archive_file.teams_lambda["WWN-DEV-ALB-TargetGroups-Alerts"]: Reading...
module.sns.data.archive_file.teams_lambda["WWN-DEV-AWS-Health-Alerts"]: Read complete after 0s [id=55b5ee0718f5f330a333567488eda41448408e83]
module.sns.data.archive_file.teams_lambda["WWN-DEV-ALB-TargetGroups-Alerts"]: Read complete after 0s [id=55e079a057127f64df81105cb8b46a311e68368d]
module.sns.data.aws_caller_identity.teams_secret: Reading...
module.sns.aws_iam_role.teams_lambda["WWN-DEV-AWS-Health-Alerts"]: Refreshing state... [id=sns_teams_WWN-DEV-AWS-Health-Alerts_role]
module.sns.aws_iam_role.teams_lambda["WWN-DEV-ALB-TargetGroups-Alerts"]: Refreshing state... [id=sns_teams_WWN-DEV-ALB-TargetGroups-Alerts_role]
module.sns.data.aws_caller_identity.current: Reading...
module.sns.aws_sns_topic.wwnorton_sns_topics["aws-cloudtrail-logs-637244866643-5f19ac95"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:aws-cloudtrail-logs-637244866643-5f19ac95]
module.sns.aws_cloudwatch_log_group.teams_lambda["WWN-DEV-AWS-Health-Alerts"]: Refreshing state... [id=/aws/lambda/sns_teams_WWN-DEV-AWS-Health-Alerts]
module.sns.data.aws_caller_identity.teams_secret: Read complete after 0s [id=637244866643]
module.sns.aws_cloudwatch_log_group.teams_lambda["WWN-DEV-ALB-TargetGroups-Alerts"]: Refreshing state... [id=/aws/lambda/sns_teams_WWN-DEV-ALB-TargetGroups-Alerts]
module.sns.aws_sns_topic.wwnorton_sns_topics["WWN-DEV-AWS-Health-Alerts"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:WWN-DEV-AWS-Health-Alerts]
module.sns.aws_sns_topic.wwnorton_sns_topics["EKS-CloudWatch-Alarm-SNS-Topic-dev"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:EKS-CloudWatch-Alarm-SNS-Topic-dev]
module.sns.data.aws_region.teams_secret: Reading...
module.sns.data.aws_region.teams_secret: Read complete after 0s [id=us-east-1]
module.sns.aws_sns_topic.wwnorton_sns_topics["incoming-email-wwnorton_net"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:incoming-email-wwnorton_net]
module.sns.data.aws_caller_identity.current: Read complete after 0s [id=637244866643]
module.sns.aws_sns_topic.wwnorton_sns_topics["wwnnorton-dev-slack-notification"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:wwnnorton-dev-slack-notification]
module.sns.aws_sns_topic.wwnorton_sns_topics["Grafana_Contact_Point"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:Grafana_Contact_Point]
module.sns.aws_sns_topic.wwnorton_sns_topics["WWN-DEV-ALB-TargetGroups-Alerts"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:WWN-DEV-ALB-TargetGroups-Alerts]
module.sns.aws_sns_topic.wwnorton_sns_topics["DirectoryServiceMonitor"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:DirectoryServiceMonitor]
module.sns.aws_sns_topic.wwnorton_sns_topics["check_lwserver-failures"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:check_lwserver-failures]
module.sns.aws_sns_topic.wwnorton_sns_topics["DirectoryMonitoring_d-90676097bc"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:DirectoryMonitoring_d-90676097bc]
module.sns.aws_sns_topic.wwnorton_sns_topics["norton-security-alerts"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:norton-security-alerts]
module.sns.aws_sns_topic.wwnorton_sns_topics["outgoing-seagull-email"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:outgoing-seagull-email]
module.sns.aws_sns_topic.wwnorton_sns_topics["ACM_Certificate_Renewal_Action"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:ACM_Certificate_Renewal_Action]
module.sns.aws_iam_policy.teams_lambda["WWN-DEV-ALB-TargetGroups-Alerts"]: Refreshing state... [id=arn:aws:iam::637244866643:policy/sns_teams_WWN-DEV-ALB-TargetGroups-Alerts_policy]
module.sns.aws_iam_policy.teams_lambda["WWN-DEV-AWS-Health-Alerts"]: Refreshing state... [id=arn:aws:iam::637244866643:policy/sns_teams_WWN-DEV-AWS-Health-Alerts_policy]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["EKS-CloudWatch-Alarm-SNS-Topic-dev-https-httpsglobalsnsapichatbotamazonawscom"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:EKS-CloudWatch-Alarm-SNS-Topic-dev:0f86a2cf-adb7-4e88-8495-b1c254289afd]
module.sns.aws_sns_topic_policy.eventbridge_publish["WWN-DEV-AWS-Health-Alerts"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:WWN-DEV-AWS-Health-Alerts]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["Grafana_Contact_Point-email-rcrisialcontractorwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:Grafana_Contact_Point:7045640b-0a14-40ec-bb11-be4afb303a1d]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["check_lwserver-failures-email-shurlockwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:check_lwserver-failures:242889b9-e1d8-47c6-b2e0-c965a3127daa]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["ACM_Certificate_Renewal_Action-email-devopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:ACM_Certificate_Renewal_Action:05603a3b-7eac-4d44-b239-53bedbd8703d]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["WWN-DEV-AWS-Health-Alerts-email-devopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:WWN-DEV-AWS-Health-Alerts:b53d8133-5c16-4076-9ffb-5f2add3cd82f]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["DirectoryMonitoring_d-90676097bc-sms-9176783153"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:DirectoryMonitoring_d-90676097bc:ca4f3cb9-6291-4652-9bb5-fce67110f690]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["wwnnorton-dev-slack-notification-lambda-arnawslambdauseast1637244866643functionposttoslack"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:wwnnorton-dev-slack-notification:be1e7067-bcff-4454-8218-bd0a99d85a54]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["WWN-DEV-ALB-TargetGroups-Alerts-email-devopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:WWN-DEV-ALB-TargetGroups-Alerts:c22ff083-a756-4e8a-a4c4-8b6a9b7f0bc1]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["DirectoryServiceMonitor-email-devopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:DirectoryServiceMonitor:2bc55dc4-6e8c-4a8b-9073-c26670606cb3]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["aws-cloudtrail-logs-637244866643-5f19ac95-https-httpsappdatadoghqcomintakewebhooksnsapikey05a754c1d5be6a2de959079716c79768"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:aws-cloudtrail-logs-637244866643-5f19ac95:5e7800d2-267e-42a1-97c4-b818c6554930]
module.sns.aws_iam_role_policy_attachment.teams_lambda["WWN-DEV-AWS-Health-Alerts"]: Refreshing state... [id=sns_teams_WWN-DEV-AWS-Health-Alerts_role-20260914121522086000000001]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["aws-cloudtrail-logs-637244866643-5f19ac95-email-bkaungwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:aws-cloudtrail-logs-637244866643-5f19ac95:0646a4ac-6763-4e92-bb12-8aa8688fce7d]
module.sns.aws_iam_role_policy_attachment.teams_lambda["WWN-DEV-ALB-TargetGroups-Alerts"]: Refreshing state... [id=sns_teams_WWN-DEV-ALB-TargetGroups-Alerts_role-20260923111730605300000001]
module.sns.aws_lambda_function.teams["WWN-DEV-AWS-Health-Alerts"]: Refreshing state... [id=sns_teams_WWN-DEV-AWS-Health-Alerts]
module.sns.aws_lambda_function.teams["WWN-DEV-ALB-TargetGroups-Alerts"]: Refreshing state... [id=sns_teams_WWN-DEV-ALB-TargetGroups-Alerts]
module.sns.aws_lambda_permission.teams_sns_invoke["WWN-DEV-AWS-Health-Alerts"]: Refreshing state... [id=AllowSNSInvoke]
module.sns.aws_lambda_permission.teams_sns_invoke["WWN-DEV-ALB-TargetGroups-Alerts"]: Refreshing state... [id=AllowSNSInvoke]
module.sns.aws_sns_topic_subscription.teams_lambda["WWN-DEV-ALB-TargetGroups-Alerts"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:WWN-DEV-ALB-TargetGroups-Alerts:470bba09-b7ef-4d32-bfdd-5118ab13c876]
module.sns.aws_sns_topic_subscription.teams_lambda["WWN-DEV-AWS-Health-Alerts"]: Refreshing state... [id=arn:aws:sns:us-east-1:637244866643:WWN-DEV-AWS-Health-Alerts:f869a2e1-e8f1-44ed-97f7-431572a3788c]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create
  ~ update in-place

Terraform will perform the following actions:

  # module.sns.aws_lambda_function.teams["WWN-DEV-ALB-TargetGroups-Alerts"] will be updated in-place
  ~ resource "aws_lambda_function" "teams" {
        id                             = "sns_teams_WWN-DEV-ALB-TargetGroups-Alerts"
      ~ last_modified                  = "2026-09-23T11:17:39.064+0000" -> (known after apply)
      ~ source_code_hash               = "8n+y0mSvOrsmqUk+Gv4gor70jBQ2sybm42IY/XgsqQU=" -> "mKszoWUGVBCD3Vd965FgM+9DjcXH5Y9lC61VivurlE0="
        tags                           = {
            "Component"   = "alb-target-groups"
            "Environment" = "dev"
            "ManagedBy"   = "terraform"
        }
        # (21 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.sns.aws_lambda_function.teams["WWN-DEV-AWS-Health-Alerts"] will be updated in-place
  ~ resource "aws_lambda_function" "teams" {
        id                             = "sns_teams_WWN-DEV-AWS-Health-Alerts"
      ~ last_modified                  = "2026-09-14T12:15:30.565+0000" -> (known after apply)
      ~ source_code_hash               = "sFQU2W2ovJxZW6HEB5XM8Wp+XdTgWISfj5fVEihUWE4=" -> "a1G8i38J+hf/3WidcTmWWFSAVKnxNDNQfjM/3EyXtF0="
        tags                           = {
            "Component"   = "aws-health"
            "Environment" = "dev"
            "ManagedBy"   = "terraform"
        }
        # (21 unchanged attributes hidden)

        # (4 unchanged blocks hidden)
    }

  # module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["WWN-DEV-ALB-TargetGroups-Alerts-email-devopswwnortoncom"] will be created
  + resource "aws_sns_topic_subscription" "wwnorton_sns_topic_subscriptions" {
      + arn                             = (known after apply)
      + confirmation_timeout_in_minutes = 1
      + confirmation_was_authenticated  = (known after apply)
      + endpoint                        = "devops@wwnorton.com"
      + endpoint_auto_confirms          = false
      + filter_policy_scope             = (known after apply)
      + id                              = (known after apply)
      + owner_id                        = (known after apply)
      + pending_confirmation            = (known after apply)
      + protocol                        = "email"
      + raw_message_delivery            = false
      + topic_arn                       = "arn:aws:sns:us-east-1:637244866643:WWN-DEV-ALB-TargetGroups-Alerts"
    }

  # module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["WWN-DEV-AWS-Health-Alerts-email-devopswwnortoncom"] will be created
  + resource "aws_sns_topic_subscription" "wwnorton_sns_topic_subscriptions" {
      + arn                             = (known after apply)
      + confirmation_timeout_in_minutes = 1
      + confirmation_was_authenticated  = (known after apply)
      + endpoint                        = "devops@wwnorton.com"
      + endpoint_auto_confirms          = false
      + filter_policy_scope             = (known after apply)
      + id                              = (known after apply)
      + owner_id                        = (known after apply)
      + pending_confirmation            = (known after apply)
      + protocol                        = "email"
      + raw_message_delivery            = false
      + topic_arn                       = "arn:aws:sns:us-east-1:637244866643:WWN-DEV-AWS-Health-Alerts"
    }

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

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.
accounts/digitalqa/iam
CLEAN
accounts/digitalqa/config
DRIFT UNKNOWN CAUSE
Change may be older than the 90-day CloudTrail window, or this is Terraform code that has not been applied yet
View plan output
data.aws_caller_identity.current: Reading...
module.aws_config.data.aws_region.current: Reading...
module.aws_config.data.aws_caller_identity.current: Reading...
module.aws_config.data.aws_partition.current: Reading...
module.aws_config.data.aws_iam_policy_document.config_assume: Reading...
module.aws_config.data.aws_region.current: Read complete after 0s [id=us-east-1]
module.aws_config.data.aws_iam_policy_document.config_assume: Read complete after 0s [id=607352202]
module.aws_config.data.aws_partition.current: Read complete after 0s [id=aws]
data.aws_caller_identity.current: Read complete after 0s [id=524824121587]
module.aws_config.data.aws_caller_identity.current: Read complete after 0s [id=524824121587]
module.aws_config.data.aws_iam_policy_document.config_s3_delivery: Reading...
module.aws_config.data.aws_iam_policy_document.config_s3_delivery: Read complete after 0s [id=2936154814]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # module.aws_config.aws_config_config_rule.this["iam_password_policy"] will be created
  + resource "aws_config_config_rule" "this" {
      + arn                         = (known after apply)
      + id                          = (known after apply)
      + input_parameters            = jsonencode(
            {
              + MaxPasswordAge             = "90"
              + MinimumPasswordLength      = "14"
              + RequireLowercaseCharacters = "true"
              + RequireNumbers             = "true"
              + RequireSymbols             = "true"
              + RequireUppercaseCharacters = "true"
            }
        )
      + maximum_execution_frequency = "TwentyFour_Hours"
      + name                        = "iam_password_policy"
      + rule_id                     = (known after apply)
      + tags                        = {
          + "Environment" = "digitalqa"
          + "ManagedBy"   = "terraform"
          + "Owner"       = "platform"
        }
      + tags_all                    = {
          + "Environment" = "digitalqa"
          + "ManagedBy"   = "terraform"
          + "Owner"       = "platform"
        }

      + source {
          + owner             = "AWS"
          + source_identifier = "IAM_PASSWORD_POLICY"
        }
    }

  # module.aws_config.aws_config_config_rule.this["s3_bucket_public_read_prohibited"] will be created
  + resource "aws_config_config_rule" "this" {
      + arn      = (known after apply)
      + id       = (known after apply)
      + name     = "s3_bucket_public_read_prohibited"
      + rule_id  = (known after apply)
      + tags     = {
          + "Environment" = "digitalqa"
          + "ManagedBy"   = "terraform"
          + "Owner"       = "platform"
        }
      + tags_all = {
          + "Environment" = "digitalqa"
          + "ManagedBy"   = "terraform"
          + "Owner"       = "platform"
        }

      + source {
          + owner             = "AWS"
          + source_identifier = "S3_BUCKET_PUBLIC_READ_PROHIBITED"
        }
    }

  # module.aws_config.aws_config_configuration_recorder.this will be created
  + resource "aws_config_configuration_recorder" "this" {
      + id       = (known after apply)
      + name     = "default"
      + role_arn = (known after apply)

      + recording_group {
          + all_supported                 = true
          + include_global_resource_types = true
        }

      + recording_mode {
          + recording_frequency = "DAILY"
        }
    }

  # module.aws_config.aws_config_configuration_recorder_status.this will be created
  + resource "aws_config_configuration_recorder_status" "this" {
      + id         = (known after apply)
      + is_enabled = true
      + name       = "default"
    }

  # module.aws_config.aws_config_delivery_channel.this will be created
  + resource "aws_config_delivery_channel" "this" {
      + id             = (known after apply)
      + name           = "default"
      + s3_bucket_name = "aws-config-bucket-524824121587"
      + s3_key_prefix  = "config"

      + snapshot_delivery_properties {
          + delivery_frequency = "TwentyFour_Hours"
        }
    }

  # module.aws_config.aws_iam_role.config_service[0] will be created
  + resource "aws_iam_role" "config_service" {
      + arn                   = (known after apply)
      + assume_role_policy    = jsonencode(
            {
              + Statement = [
                  + {
                      + Action    = "sts:AssumeRole"
                      + Effect    = "Allow"
                      + Principal = {
                          + Service = "config.amazonaws.com"
                        }
                    },
                ]
              + Version   = "2012-10-17"
            }
        )
      + create_date           = (known after apply)
      + force_detach_policies = false
      + id                    = (known after apply)
      + managed_policy_arns   = (known after apply)
      + max_session_duration  = 3600
      + name                  = "aws-config-service-role-digitalqa"
      + name_prefix           = (known after apply)
      + path                  = "/"
      + tags                  = {
          + "Environment" = "digitalqa"
          + "ManagedBy"   = "terraform"
          + "Owner"       = "platform"
        }
      + tags_all              = {
          + "Environment" = "digitalqa"
          + "ManagedBy"   = "terraform"
          + "Owner"       = "platform"
        }
      + unique_id             = (known after apply)
    }

  # module.aws_config.aws_iam_role_policy.config_s3_delivery[0] will be created
  + resource "aws_iam_role_policy" "config_s3_delivery" {
      + id          = (known after apply)
      + name        = "config-s3-delivery-digitalqa"
      + name_prefix = (known after apply)
      + policy      = jsonencode(
            {
              + Statement = [
                  + {
                      + Action   = "s3:GetBucketAcl"
                      + Effect   = "Allow"
                      + Resource = "arn:aws:s3:::aws-config-bucket-524824121587"
                      + Sid      = "ConfigBucketAcl"
                    },
                  + {
                      + Action    = "s3:PutObject"
                      + Condition = {
                          + StringEquals = {
                              + "s3:x-amz-acl" = "bucket-owner-full-control"
                            }
                        }
                      + Effect    = "Allow"
                      + Resource  = "arn:aws:s3:::aws-config-bucket-524824121587/config/AWSLogs/524824121587/Config/*"
                      + Sid       = "ConfigObjectDelivery"
                    },
                ]
              + Version   = "2012-10-17"
            }
        )
      + role        = (known after apply)
    }

  # module.aws_config.aws_iam_role_policy_attachment.config_managed[0] will be created
  + resource "aws_iam_role_policy_attachment" "config_managed" {
      + id         = (known after apply)
      + policy_arn = "arn:aws:iam::aws:policy/service-role/AWS_ConfigRole"
      + role       = "aws-config-service-role-digitalqa"
    }

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

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.
accounts/digitalqa/s3
ERROR NO AUDIT
View plan output
module.s3.aws_s3_bucket.s3_buckets["aws-config-bucket-524824121587"]: Refreshing state... [id=aws-config-bucket-524824121587]
module.s3.aws_s3_bucket_versioning.versioning["aws-config-bucket-524824121587"]: Refreshing state... [id=aws-config-bucket-524824121587]
module.s3.aws_s3_bucket_policy.custom_policies["aws-config-bucket-524824121587"]: Refreshing state... [id=aws-config-bucket-524824121587]
module.s3.aws_s3_bucket_server_side_encryption_configuration.encryption["aws-config-bucket-524824121587"]: Refreshing state... [id=aws-config-bucket-524824121587]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform planned the following actions, but then encountered a problem:

  # module.s3.aws_s3_bucket.s3_buckets["aws-config-bucket-524824121587"] will be created
  + resource "aws_s3_bucket" "s3_buckets" {
      + acceleration_status         = (known after apply)
      + acl                         = (known after apply)
      + arn                         = (known after apply)
      + bucket                      = "aws-config-bucket-524824121587"
      + bucket_domain_name          = (known after apply)
      + bucket_prefix               = (known after apply)
      + bucket_regional_domain_name = (known after apply)
      + force_destroy               = true
      + hosted_zone_id              = (known after apply)
      + id                          = (known after apply)
      + object_lock_enabled         = (known after apply)
      + policy                      = (known after apply)
      + region                      = (known after apply)
      + request_payer               = (known after apply)
      + tags_all                    = (known after apply)
      + website_domain              = (known after apply)
      + website_endpoint            = (known after apply)
    }

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

Error: reading S3 Bucket Versioning (aws-config-bucket-524824121587): operation error S3: GetBucketVersioning, https response error StatusCode: 403, RequestID: WJ76CQW630Z61NW1, HostID: T6882PDEmY4Ob/c00prrZzVXERvAnxFF+b3R3PkkGr0AmaO7J29fjQoCD8KdUqZ3rpubuVYny9gQaTeVEP3L/YV8xlZYyCkp, api error AccessDenied: User: arn:aws:sts::524824121587:assumed-role/platform-infra-pipeline-digitalqa/gl-drift-17687506824 is not authorized to perform: s3:GetBucketVersioning on resource: "arn:aws:s3:::aws-config-bucket-524824121587" because no resource-based policy allows the s3:GetBucketVersioning action

  with module.s3.aws_s3_bucket_versioning.versioning["aws-config-bucket-524824121587"],
  on ../../../aws/s3/s3.tf line 12, in resource "aws_s3_bucket_versioning" "versioning":
  12: resource "aws_s3_bucket_versioning" "versioning" {


Error: reading S3 Bucket Server-side Encryption Configuration (aws-config-bucket-524824121587): operation error S3: GetBucketEncryption, https response error StatusCode: 403, RequestID: CBBGTV32CTXW4FTR, HostID: jdSCc25xYUil73gnOB04ODkpFDHqyjR4l95PwK6qz+uWxjME9UrvyG/h1cE+veZr0mxU7f2XA26jc22D7x/Uy6/t2v2Hbtvj, api error AccessDenied: User: arn:aws:sts::524824121587:assumed-role/platform-infra-pipeline-digitalqa/gl-drift-17687506824 is not authorized to perform: s3:GetEncryptionConfiguration on resource: "arn:aws:s3:::aws-config-bucket-524824121587" because no resource-based policy allows the s3:GetEncryptionConfiguration action

  with module.s3.aws_s3_bucket_server_side_encryption_configuration.encryption["aws-config-bucket-524824121587"],
  on ../../../aws/s3/s3.tf line 25, in resource "aws_s3_bucket_server_side_encryption_configuration" "encryption":
  25: resource "aws_s3_bucket_server_side_encryption_configuration" "encryption" {


Error: reading S3 Bucket Policy (aws-config-bucket-524824121587): operation error S3: GetBucketPolicy, https response error StatusCode: 403, RequestID: CBBZ9BB6JZ91KE7P, HostID: Pijqj9LyL8c6lsb3zaVGidxuIFrrKY+E94XabpugLStu8OR58xWBCp32ktF4T8cZvQToZwL96mZjiYhUUpB0VdeNpB8Qou7h, api error AccessDenied: User: arn:aws:sts::524824121587:assumed-role/platform-infra-pipeline-digitalqa/gl-drift-17687506824 is not authorized to perform: s3:GetBucketPolicy on resource: "arn:aws:s3:::aws-config-bucket-524824121587" because no resource-based policy allows the s3:GetBucketPolicy action

  with module.s3.aws_s3_bucket_policy.custom_policies["aws-config-bucket-524824121587"],
  on ../../../aws/s3/s3.tf line 127, in resource "aws_s3_bucket_policy" "custom_policies":
 127: resource "aws_s3_bucket_policy" "custom_policies" {
accounts/editorial/cloudfront/amerpoltoday9
CLEAN
accounts/editorial/cloudfront/enjmus15
CLEAN
accounts/editorial/cloudfront/essphysgeo-interactives
CLEAN
accounts/editorial/cloudfront/esssoc10
CLEAN
accounts/editorial/cloudfront/gateways5
CLEAN
accounts/editorial/cloudfront/govtex8-interactives
CLEAN
accounts/editorial/cloudfront/interactivepsych3-interactives
CLEAN
accounts/editorial/cloudfront/interactives-cms-pilot
CLEAN
accounts/editorial/cloudfront/interactives-kit-v2
CLEAN
accounts/editorial/cloudfront/jazz3ess-interactives
CLEAN
accounts/editorial/cloudfront/journeypsych-interactives
CLEAN
accounts/editorial/cloudfront/psychsci8
CLEAN
accounts/editorial/cloudfront/resmeth5-interactives
CLEAN
accounts/editorial/cloudfront/thesetruths2-interactives
CLEAN
accounts/editorial/cloudfront/webs3
CLEAN
accounts/editorial/cloudfront/westciv7
CLEAN
accounts/editorial/cloudfront/wethepeople16-interactives
CLEAN
accounts/editorial/cloudfront/whatsound7
CLEAN
accounts/editorial/cloudfront/worldstogether8-interactives
CLEAN
accounts/editorial/cloudfront/writing-activity-interactives
CLEAN
accounts/editorial/cloudfront/wtwa8
CLEAN
accounts/editorial/config
CLEAN
accounts/editorial/s3
CLEAN
accounts/editorial/iam
DRIFT NON-AWS
Not tracked by AWS CloudTrail
View plan output
module.iam.data.aws_region.current: Reading...
module.iam.aws_iam_policy.gitlab_oidc_pipeline[0]: Refreshing state... [id=arn:aws:iam::624967411599:policy/platform-infra-pipeline-editorial-policy]
module.iam.data.aws_region.current: Read complete after 0s [id=us-east-1]
module.iam.data.aws_caller_identity.current: Reading...
module.iam.aws_iam_openid_connect_provider.gitlab[0]: Refreshing state... [id=arn:aws:iam::624967411599:oidc-provider/gitlab.com]
module.iam.data.aws_caller_identity.current: Read complete after 0s [id=624967411599]
module.iam.data.aws_iam_policy_document.gitlab_oidc_trust[0]: Reading...
module.iam.data.aws_iam_policy_document.gitlab_oidc_trust[0]: Read complete after 0s [id=922036803]
module.iam.aws_iam_role.gitlab_oidc_pipeline[0]: Refreshing state... [id=platform-infra-pipeline-editorial]
module.iam.aws_iam_role_policy_attachment.gitlab_oidc_pipeline[0]: Refreshing state... [id=platform-infra-pipeline-editorial-20260511162918633600000001]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # module.iam.aws_iam_policy.gitlab_oidc_pipeline[0] will be updated in-place
  ~ resource "aws_iam_policy" "gitlab_oidc_pipeline" {
        id               = "arn:aws:iam::624967411599:policy/platform-infra-pipeline-editorial-policy"
        name             = "platform-infra-pipeline-editorial-policy"
      ~ policy           = jsonencode(
          ~ {
              ~ Statement = [
                    # (5 unchanged elements hidden)
                    {
                        Action   = [
                            "kms:*",
                        ]
                        Effect   = "Allow"
                        Resource = [
                            "*",
                        ]
                        Sid      = "kmsmanagement"
                    },
                  - {
                      - Action   = [
                          - "wafv2:*",
                        ]
                      - Effect   = "Allow"
                      - Resource = [
                          - "*",
                        ]
                      - Sid      = "wafv2management"
                    },
                ]
                # (1 unchanged attribute hidden)
            }
        )
        tags             = {}
        # (6 unchanged attributes hidden)
    }

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

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.
mongodb/projects/PLAT-502
ERROR NO AUDIT
View plan output
Planning failed. Terraform encountered an error while generating this plan.


Error: EmptyStaticCreds: static credentials are empty

  with provider["registry.terraform.io/mongodb/mongodbatlas"],
  on providers.tf line 23, in provider "mongodbatlas":
  23: provider "mongodbatlas" {
mongodb/projects/catalog-search-lower
ERROR NO AUDIT
View plan output
Planning failed. Terraform encountered an error while generating this plan.


Error: EmptyStaticCreds: static credentials are empty

  with provider["registry.terraform.io/mongodb/mongodbatlas"],
  on providers.tf line 23, in provider "mongodbatlas":
  23: provider "mongodbatlas" {
mongodb/projects/catalog-search-prod
ERROR NO AUDIT
View plan output
Planning failed. Terraform encountered an error while generating this plan.


Error: EmptyStaticCreds: static credentials are empty

  with provider["registry.terraform.io/mongodb/mongodbatlas"],
  on providers.tf line 23, in provider "mongodbatlas":
  23: provider "mongodbatlas" {
mongodb/projects/myTestProject
ERROR NO AUDIT
View plan output
Planning failed. Terraform encountered an error while generating this plan.


Error: EmptyStaticCreds: static credentials are empty

  with provider["registry.terraform.io/mongodb/mongodbatlas"],
  on providers.tf line 23, in provider "mongodbatlas":
  23: provider "mongodbatlas" {
accounts/production/acm
CLEAN
accounts/production/athena
CLEAN
accounts/production/cloudmap/ca-central-1
CLEAN
accounts/production/cloudwatch/ca-central-1
CLEAN
accounts/production/cloudwatch
CLEAN
accounts/production/config
CLEAN
accounts/production/ec2/ca-central-1
CLEAN
accounts/production/ec2
CLEAN
accounts/production/elasticache
CLEAN
accounts/production/events
CLEAN
accounts/production/firehose
CLEAN
accounts/production/iam
CLEAN
accounts/production/kms
CLEAN
accounts/production/lambda
CLEAN
accounts/production/logs
CLEAN
accounts/production/route53
CLEAN
accounts/production/s3/maintenance_page
CLEAN
accounts/production/s3/us-east-2
CLEAN
accounts/production/s3_users_secrets
CLEAN
accounts/production/s3
CLEAN
accounts/production/secretsmanager
CLEAN
accounts/production/sftp
CLEAN
accounts/production/shield
CLEAN
accounts/production/sqs
CLEAN
accounts/production/vpc/ca-central-1
CLEAN
accounts/production/vpc
CLEAN
accounts/production/backup
DRIFT UNKNOWN CAUSE
Change may be older than the 90-day CloudTrail window, or this is Terraform code that has not been applied yet
View plan output
module.backup.terraform_data.copy_requires_destination: Refreshing state... [id=e480e763-27c7-2fe7-2165-1c1ade62a777]
module.backup.data.aws_region.current: Reading...
module.backup.data.aws_region.current: Read complete after 0s [id=us-east-1]
module.backup.data.aws_caller_identity.current: Reading...
module.backup.data.aws_partition.current: Reading...
module.backup.data.aws_partition.current: Read complete after 0s [id=aws]
module.backup.aws_backup_region_settings.this[0]: Refreshing state... [id=us-east-1]
module.backup.data.aws_iam_policy_document.backup_assume: Reading...
module.backup.data.aws_kms_key.local: Reading...
module.backup.data.aws_iam_policy_document.backup_assume: Read complete after 0s [id=1497918837]
module.backup.data.aws_caller_identity.current: Read complete after 0s [id=100478842646]
module.backup.aws_iam_role.backup[0]: Refreshing state... [id=aws-backup-prod]
module.backup.aws_iam_role.restore[0]: Refreshing state... [id=aws-backup-restore-prod]
module.backup.data.aws_kms_key.local: Read complete after 0s [id=82928dab-c691-4274-849f-7145d6a32989]
module.backup.aws_backup_vault.local: Refreshing state... [id=local]
module.backup.data.aws_iam_policy_document.restore_kms: Reading...
module.backup.data.aws_iam_policy_document.restore_kms: Read complete after 0s [id=2988223699]
module.backup.data.aws_iam_policy_document.backup_kms_copy: Reading...
module.backup.aws_backup_plan.silver: Refreshing state... [id=11a0b31f-8825-459b-bbdd-7c1a74787800]
module.backup.data.aws_iam_policy_document.backup_kms_copy: Read complete after 0s [id=2131762605]
module.backup.aws_backup_plan.gold: Refreshing state... [id=940f9b04-aac9-4d79-b83e-f101e0297160]
module.backup.aws_iam_role_policy_attachment.backup_service[0]: Refreshing state... [id=aws-backup-prod-20260917142918063700000001]
module.backup.aws_iam_role_policy.backup_kms_copy[0]: Refreshing state... [id=aws-backup-prod:aws-backup-prod-kms-copy]
module.backup.aws_iam_role_policy_attachment.restore_service[0]: Refreshing state... [id=aws-backup-restore-prod-20260917142918080600000002]
module.backup.aws_iam_role_policy.restore_kms[0]: Refreshing state... [id=aws-backup-restore-prod:aws-backup-restore-prod-kms]
module.backup.aws_backup_selection.silver: Refreshing state... [id=b31eaad0-1202-48a9-ac95-ee986b573793]
module.backup.aws_backup_selection.gold: Refreshing state... [id=85e8ebb6-dd6c-490d-a2e4-0f766ca7d490]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # module.backup.aws_backup_plan.gold will be updated in-place
  ~ resource "aws_backup_plan" "gold" {
        id       = "940f9b04-aac9-4d79-b83e-f101e0297160"
        name     = "gold-prod"
        tags     = {
            "BackupTier"  = "gold"
            "Environment" = "prod"
            "ManagedBy"   = "Terraform"
            "Module"      = "backup"
            "Owner"       = "platform"
            "Purpose"     = "aws-backup"
        }
        # (3 unchanged attributes hidden)

      - rule {
          - completion_window            = 180 -> null
          - enable_continuous_backup     = false -> null
          - recovery_point_tags          = {
              - "BackupTier"  = "gold"
              - "Environment" = "prod"
              - "ManagedBy"   = "Terraform"
              - "Module"      = "backup"
              - "Owner"       = "platform"
              - "Purpose"     = "aws-backup"
              - "Rule"        = "daily"
            } -> null
          - rule_name                    = "daily" -> null
          - schedule                     = "cron(0 5 * * ? *)" -> null
          - schedule_expression_timezone = "Etc/UTC" -> null
          - start_window                 = 60 -> null
          - target_vault_name            = "local" -> null

          - lifecycle {
              - cold_storage_after                        = 0 -> null
              - delete_after                              = 35 -> null
              - opt_in_to_archive_for_supported_resources = false -> null
            }
        }
      - rule {
          - completion_window            = 180 -> null
          - enable_continuous_backup     = false -> null
          - recovery_point_tags          = {
              - "BackupTier"  = "gold"
              - "Environment" = "prod"
              - "ManagedBy"   = "Terraform"
              - "Module"      = "backup"
              - "Owner"       = "platform"
              - "Purpose"     = "aws-backup"
              - "Rule"        = "weekly"
            } -> null
          - rule_name                    = "weekly" -> null
          - schedule                     = "cron(0 5 ? * SUN *)" -> null
          - schedule_expression_timezone = "Etc/UTC" -> null
          - start_window                 = 60 -> null
          - target_vault_name            = "local" -> null

          - lifecycle {
              - cold_storage_after                        = 0 -> null
              - delete_after                              = 90 -> null
              - opt_in_to_archive_for_supported_resources = false -> null
            }
        }
      - rule {
          - completion_window            = 180 -> null
          - enable_continuous_backup     = true -> null
          - recovery_point_tags          = {
              - "BackupTier"  = "gold"
              - "Environment" = "prod"
              - "ManagedBy"   = "Terraform"
              - "Module"      = "backup"
              - "Owner"       = "platform"
              - "Purpose"     = "aws-backup"
              - "Rule"        = "continuous"
            } -> null
          - rule_name                    = "continuous-pitr" -> null
          - schedule                     = "cron(0 5 ? * * *)" -> null
          - schedule_expression_timezone = "Etc/UTC" -> null
          - start_window                 = 60 -> null
          - target_vault_name            = "local" -> null

          - lifecycle {
              - cold_storage_after                        = 0 -> null
              - delete_after                              = 35 -> null
              - opt_in_to_archive_for_supported_resources = false -> null
            }
        }
      + rule {
          + completion_window            = 180
          + enable_continuous_backup     = false
          + recovery_point_tags          = {
              + "BackupTier"  = "gold"
              + "Environment" = "prod"
              + "ManagedBy"   = "Terraform"
              + "Module"      = "backup"
              + "Owner"       = "platform"
              + "Purpose"     = "aws-backup"
              + "Rule"        = "daily"
            }
          + rule_name                    = "daily"
          + schedule                     = "cron(0 5 * * ? *)"
          + schedule_expression_timezone = "Etc/UTC"
          + start_window                 = 60
          + target_vault_name            = "local"

          + lifecycle {
              + delete_after                              = 35
              + opt_in_to_archive_for_supported_resources = false
            }
        }
      + rule {
          + completion_window            = 180
          + enable_continuous_backup     = false
          + recovery_point_tags          = {
              + "BackupTier"  = "gold"
              + "Environment" = "prod"
              + "ManagedBy"   = "Terraform"
              + "Module"      = "backup"
              + "Owner"       = "platform"
              + "Purpose"     = "aws-backup"
              + "Rule"        = "weekly"
            }
          + rule_name                    = "weekly"
          + schedule                     = "cron(0 5 ? * SUN *)"
          + schedule_expression_timezone = "Etc/UTC"
          + start_window                 = 60
          + target_vault_name            = "local"

          + lifecycle {
              + delete_after                              = 90
              + opt_in_to_archive_for_supported_resources = false
            }
        }
      + rule {
          + completion_window            = 180
          + enable_continuous_backup     = true
          + recovery_point_tags          = {
              + "BackupTier"  = "gold"
              + "Environment" = "prod"
              + "ManagedBy"   = "Terraform"
              + "Module"      = "backup"
              + "Owner"       = "platform"
              + "Purpose"     = "aws-backup"
              + "Rule"        = "continuous"
            }
          + rule_name                    = "continuous-pitr"
          + schedule_expression_timezone = "Etc/UTC"
          + start_window                 = 60
          + target_vault_name            = "local"

          + lifecycle {
              + delete_after                              = 35
              + opt_in_to_archive_for_supported_resources = (known after apply)
            }
        }
    }

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

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.
accounts/production/ecs/ca-central-1
DRIFT UNKNOWN CAUSE
Change may be older than the 90-day CloudTrail window, or this is Terraform code that has not been applied yet
View plan output
module.regional.aws_ecs_cluster.this["pii-service-prod"]: Refreshing state... [id=arn:aws:ecs:ca-central-1:100478842646:cluster/pii-service-prod]
module.regional.aws_ecs_task_definition.this["pii-service-prod"]: Refreshing state... [id=pii-service-prod]
module.regional.aws_ecs_cluster_capacity_providers.this["pii-service-prod"]: Refreshing state... [id=pii-service-prod]
module.regional.aws_ecs_service.this["pii-service-prod/pii-service"]: Refreshing state... [id=arn:aws:ecs:ca-central-1:100478842646:service/pii-service-prod/pii-service]

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

Terraform will perform the following actions:

  # module.regional.aws_ecs_service.this["pii-service-prod/pii-service"] must be replaced
-/+ resource "aws_ecs_service" "this" {
      - health_check_grace_period_seconds  = 0 -> null
      ~ iam_role                           = "/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS" -> (known after apply)
      ~ id                                 = "arn:aws:ecs:ca-central-1:100478842646:service/pii-service-prod/pii-service" -> (known after apply)
      + launch_type                        = (known after apply)
        name                               = "pii-service"
      - propagate_tags                     = "NONE" -> null
        tags                               = {
            "Name"        = "ca-central-1-pii-service-prod-pii-service"
            "environment" = "prod"
            "managed_by"  = "terraform"
        }
      ~ task_definition                    = "arn:aws:ecs:ca-central-1:100478842646:task-definition/pii-service-prod:2" -> "arn:aws:ecs:ca-central-1:100478842646:task-definition/pii-service-prod:1"
      ~ triggers                           = {} -> (known after apply)
        # (11 unchanged attributes hidden)

      - capacity_provider_strategy { # forces replacement
          - base              = 1 -> null
          - capacity_provider = "FARGATE" -> null
          - weight            = 1 -> null
        }

      - deployment_circuit_breaker {
          - enable   = false -> null
          - rollback = false -> null
        }

      - deployment_controller {
          - type = "ECS" -> null
        }

      ~ service_registries {
          - container_port = 0 -> null
          - port           = 0 -> null
            # (1 unchanged attribute hidden)
        }

        # (1 unchanged block hidden)
    }

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

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.
accounts/production/rds
DRIFT UNKNOWN CAUSE
Change may be older than the 90-day CloudTrail window, or this is Terraform code that has not been applied yet
View plan output
module.rds_ca_central_1.aws_security_group.db_security_groups["pii-service-canada"]: Refreshing state... [id=sg-04a57c6c817426422]
module.rds_ca_central_1.aws_db_subnet_group.db_subnet_groups["pii-service-canada"]: Refreshing state... [id=pii-service-canada_rds_subnet_group]
module.rds.data.aws_security_group.existing_replica_security_groups_by_id["sw5-prd-1-0"]: Reading...
module.rds.data.aws_security_group.existing_replica_security_groups_by_id["sw5-prd-1-1"]: Reading...
module.rds.data.aws_db_subnet_group.existing_replica_subnet_groups_by_name["sw5-prd-1"]: Reading...
module.rds.data.aws_db_subnet_group.existing_subnet_groups_by_name["commerce-api-prod-db"]: Reading...
module.rds.data.aws_db_subnet_group.existing_subnet_groups_by_name["hypothesis-prod"]: Reading...
module.rds.data.aws_db_subnet_group.existing_subnet_groups_by_name["sw5-prd"]: Reading...
module.rds.data.aws_db_subnet_group.existing_subnet_groups_by_name["pii-service-us"]: Reading...
module.rds.data.aws_security_group.existing_replica_security_groups_by_id["sw5-prd-1-2"]: Reading...
module.rds.data.aws_db_subnet_group.existing_subnet_groups_by_name["genai"]: Reading...
module.rds.data.aws_db_subnet_group.existing_subnet_groups_by_name["knewton"]: Reading...
module.rds.data.aws_security_group.existing_replica_security_groups_by_id["sw5-prd-1-1"]: Read complete after 0s [id=sg-207a5751]
module.rds.data.aws_db_subnet_group.existing_subnet_groups_by_name["moodle-platform"]: Reading...
module.rds.data.aws_security_group.existing_replica_security_groups_by_id["sw5-prd-1-0"]: Read complete after 0s [id=sg-682c1116]
module.rds.data.aws_security_group.existing_security_groups_by_id["sw5-prd-1"]: Reading...
module.rds.data.aws_security_group.existing_replica_security_groups_by_id["sw5-prd-1-2"]: Read complete after 0s [id=sg-093de6c8c0a431471]
module.rds.data.aws_secretsmanager_secret_version.db_passwords["genai"]: Reading...
module.rds.data.aws_security_group.existing_security_groups_by_id["sw5-prd-1"]: Read complete after 0s [id=sg-207a5751]
module.rds.data.aws_secretsmanager_secret_version.db_passwords["hypothesis-prod"]: Reading...
module.rds.data.aws_secretsmanager_secret_version.db_passwords["genai"]: Read complete after 0s [id=production/labs/rds/genai|AWSCURRENT]
module.rds.data.aws_secretsmanager_secret_version.db_passwords["knewton"]: Reading...
module.rds.data.aws_secretsmanager_secret_version.db_passwords["hypothesis-prod"]: Read complete after 0s [id=production/labs/rds/hypothesis-prod|AWSCURRENT]
module.rds.data.aws_db_subnet_group.existing_replica_subnet_groups_by_name["sw5-prd-1"]: Read complete after 0s [id=default]
module.rds.data.aws_secretsmanager_secret_version.db_passwords["moodle-platform"]: Reading...
module.rds.data.aws_db_subnet_group.existing_subnet_groups_by_name["hypothesis-prod"]: Read complete after 0s [id=prod-group]
module.rds.data.aws_secretsmanager_secret_version.db_passwords["sw5-prd"]: Reading...
module.rds.data.aws_security_group.existing_security_groups_by_id["moodle-platform-0"]: Reading...
module.rds.data.aws_db_subnet_group.existing_subnet_groups_by_name["sw5-prd"]: Read complete after 0s [id=default]
module.rds.data.aws_db_subnet_group.existing_subnet_groups_by_name["moodle-platform"]: Read complete after 0s [id=prod-group]
module.rds.data.aws_db_subnet_group.existing_subnet_groups_by_name["genai"]: Read complete after 0s [id=prod-group]
module.rds.data.aws_db_subnet_group.existing_subnet_groups_by_name["commerce-api-prod-db"]: Read complete after 0s [id=prod-group]
module.rds.data.aws_secretsmanager_secret_version.db_passwords["knewton"]: Read complete after 0s [id=rds!db-d07796eb-3595-4ad7-972c-a9e53384d44d|AWSCURRENT]
module.rds.data.aws_security_group.existing_security_groups_by_id["pii-service-us-0"]: Reading...
module.rds.data.aws_security_group.existing_security_groups_by_id["genai-0"]: Reading...
module.rds.data.aws_security_group.existing_security_groups_by_id["commerce-api-prod-db-0"]: Reading...
module.rds.data.aws_security_group.existing_security_groups_by_id["hypothesis-prod-0"]: Reading...
module.rds.data.aws_security_group.existing_security_groups_by_id["sw5-prd-0"]: Reading...
module.rds.data.aws_db_subnet_group.existing_subnet_groups_by_name["knewton"]: Read complete after 0s [id=prod-group]
module.rds.data.aws_security_group.existing_security_groups_by_id["knewton-0"]: Reading...
module.rds.data.aws_secretsmanager_secret_version.db_passwords["moodle-platform"]: Read complete after 0s [id=production/moodle/rds/moodle-platform|AWSCURRENT]
module.rds.data.aws_secretsmanager_secret_version.db_passwords["sw5-prd"]: Read complete after 0s [id=production/labs/rds/sw5-prd|AWSCURRENT]
module.rds.data.aws_db_subnet_group.existing_subnet_groups_by_name["pii-service-us"]: Read complete after 0s [id=prod-group]
module.rds_ca_central_1.aws_db_instance.rds_instances_managed_password["pii-service-canada"]: Refreshing state... [id=db-NZUZQOLQIOE6HSOEVALC6TPDXA]
module.rds.data.aws_security_group.existing_security_groups_by_id["moodle-platform-0"]: Read complete after 0s [id=sg-0ec8114e41abf4063]
module.rds.data.aws_security_group.existing_security_groups_by_id["commerce-api-prod-db-0"]: Read complete after 0s [id=sg-0ec8114e41abf4063]
module.rds.data.aws_security_group.existing_security_groups_by_id["pii-service-us-0"]: Read complete after 0s [id=sg-0ec8114e41abf4063]
module.rds.data.aws_security_group.existing_security_groups_by_id["genai-0"]: Read complete after 0s [id=sg-0ec8114e41abf4063]
module.rds.data.aws_security_group.existing_security_groups_by_id["hypothesis-prod-0"]: Read complete after 0s [id=sg-0ec8114e41abf4063]
module.rds.data.aws_security_group.existing_security_groups_by_id["sw5-prd-0"]: Read complete after 0s [id=sg-682c1116]
module.rds.data.aws_security_group.existing_security_groups_by_id["knewton-0"]: Read complete after 0s [id=sg-0ec8114e41abf4063]
module.rds.aws_db_instance.rds_instances_traditional_password["genai"]: Refreshing state... [id=db-2U6Q5G7LG7UTQTE5RTLUYLULRU]
module.rds.aws_db_instance.rds_instances_traditional_password["sw5-prd"]: Refreshing state... [id=db-JX63HZ2HTTWTCO4VEUINTZ4LBM]
module.rds.aws_db_instance.rds_instances_managed_password["knewton"]: Refreshing state... [id=db-ZLWGDMMWWPNTN3GB7FHT3UUFTE]
module.rds.aws_db_instance.rds_instances_managed_password["commerce-api-prod-db"]: Refreshing state... [id=db-FE3ST3ZAOYDWZJAWIDUVGTMV4E]
module.rds.aws_db_instance.rds_instances_traditional_password["hypothesis-prod"]: Refreshing state... [id=db-HQY2V5EPBL432HF7WZ2NEFXN3I]
module.rds.aws_db_instance.rds_instances_traditional_password["moodle-platform"]: Refreshing state... [id=db-7N3P4KUADDWQNL6XZYUTDBK5FM]
module.rds.aws_db_instance.rds_read_replicas["sw5-prd-1"]: Refreshing state... [id=db-GJMHNVGZOUMVAZDPLU5QPC555Y]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create
  ~ update in-place

Terraform will perform the following actions:

  # module.rds.aws_db_instance.rds_instances_managed_password["pii-service-us"] will be created
  + resource "aws_db_instance" "rds_instances_managed_password" {
      + address                               = (known after apply)
      + allocated_storage                     = 20
      + apply_immediately                     = true
      + arn                                   = (known after apply)
      + auto_minor_version_upgrade            = false
      + availability_zone                     = (known after apply)
      + backup_retention_period               = 7
      + backup_target                         = (known after apply)
      + backup_window                         = "06:31-07:01"
      + ca_cert_identifier                    = (known after apply)
      + character_set_name                    = (known after apply)
      + copy_tags_to_snapshot                 = true
      + database_insights_mode                = (known after apply)
      + db_name                               = "pii"
      + db_subnet_group_name                  = "prod-group"
      + dedicated_log_volume                  = false
      + delete_automated_backups              = true
      + deletion_protection                   = true
      + domain_fqdn                           = (known after apply)
      + enabled_cloudwatch_logs_exports       = [
          + "postgresql",
        ]
      + endpoint                              = (known after apply)
      + engine                                = "postgres"
      + engine_lifecycle_support              = (known after apply)
      + engine_version                        = "16.14"
      + engine_version_actual                 = (known after apply)
      + hosted_zone_id                        = (known after apply)
      + id                                    = (known after apply)
      + identifier                            = "pii-service-us"
      + identifier_prefix                     = (known after apply)
      + instance_class                        = "db.t4g.small"
      + iops                                  = (known after apply)
      + kms_key_id                            = (known after apply)
      + latest_restorable_time                = (known after apply)
      + license_model                         = (known after apply)
      + listener_endpoint                     = (known after apply)
      + maintenance_window                    = "fri:03:31-fri:04:01"
      + manage_master_user_password           = true
      + master_user_secret                    = (known after apply)
      + master_user_secret_kms_key_id         = (known after apply)
      + max_allocated_storage                 = 100
      + monitoring_interval                   = 0
      + monitoring_role_arn                   = (known after apply)
      + multi_az                              = true
      + nchar_character_set_name              = (known after apply)
      + network_type                          = (known after apply)
      + option_group_name                     = (known after apply)
      + parameter_group_name                  = (known after apply)
      + performance_insights_enabled          = true
      + performance_insights_kms_key_id       = (known after apply)
      + performance_insights_retention_period = 7
      + port                                  = (known after apply)
      + publicly_accessible                   = false
      + replica_mode                          = (known after apply)
      + replicas                              = (known after apply)
      + resource_id                           = (known after apply)
      + skip_final_snapshot                   = false
      + snapshot_identifier                   = (known after apply)
      + status                                = (known after apply)
      + storage_encrypted                     = true
      + storage_throughput                    = (known after apply)
      + storage_type                          = "gp3"
      + tags                                  = {
          + "BusinessUnit" = "engineering"
          + "CreatedBy"    = "terraform"
          + "Environment"  = "prod"
          + "Product"      = "pii-service"
          + "Region"       = "us"
          + "Team"         = "platform"
        }
      + tags_all                              = {
          + "BusinessUnit" = "engineering"
          + "CreatedBy"    = "terraform"
          + "Environment"  = "prod"
          + "Product"      = "pii-service"
          + "Region"       = "us"
          + "Team"         = "platform"
        }
      + timezone                              = (known after apply)
      + username                              = "pii_service"
      + vpc_security_group_ids                = [
          + "sg-0ec8114e41abf4063",
        ]
    }

  # module.rds_ca_central_1.aws_security_group.db_security_groups["pii-service-canada"] will be updated in-place
  ~ resource "aws_security_group" "db_security_groups" {
        id                     = "sg-04a57c6c817426422"
      ~ ingress                = [
          - {
              - cidr_blocks      = [
                  - "172.129.0.0/16",
                ]
              - description      = ""
              - from_port        = 5432
              - ipv6_cidr_blocks = []
              - prefix_list_ids  = []
              - protocol         = "tcp"
              - security_groups  = []
              - self             = false
              - to_port          = 5432
            },
            # (1 unchanged element hidden)
        ]
        name                   = "rds-postgres-security-group"
        tags                   = {
            "Name" = "RDS-PostgreSQL-Security-Group"
        }
        # (7 unchanged attributes hidden)
    }

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

Changes to Outputs:
  ~ database_instances = {
      + pii-service-us       = {
          + apply_immediately                     = true
          + auto_minor_version_upgrade            = false
          + backup_retention_period               = 7
          + backup_window                         = "06:31-07:01"
          + copy_tags_to_snapshot                 = true
          + db_name                               = "pii"
          + db_subnet_group_name                  = "prod-group"
          + deletion_protection                   = true
          + enabled_cloudwatch_logs_exports       = [
              + "postgresql",
            ]
          + engine                                = "postgres"
          + engine_version                        = "16.14"
          + identifier                            = "pii-service-us"
          + instance_class                        = "db.t4g.small"
          + instance_type                         = "main"
          + maintenance_window                    = "fri:03:31-fri:04:01"
          + max_allocated_storage                 = 100
          + monitoring_interval                   = 0
          + multi_az                              = true
          + password_management                   = "managed"
          + performance_insights_enabled          = true
          + performance_insights_retention_period = 7
          + storage_encrypted                     = true
          + storage_type                          = "gp3"
          + tags                                  = {
              + BusinessUnit = "engineering"
              + CreatedBy    = "terraform"
              + Environment  = "prod"
              + Product      = "pii-service"
              + Region       = "us"
              + Team         = "platform"
            }
          + username                              = "pii_service"
          + vpc_security_group_ids                = [
              + "sg-0ec8114e41abf4063",
            ]
        }
        # (7 unchanged attributes hidden)
    }

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.
accounts/production/s3_to_loki
DRIFT UNKNOWN CAUSE
Change may be older than the 90-day CloudTrail window, or this is Terraform code that has not been applied yet
View plan output
module.s3_to_loki["alb"].data.archive_file.lambda_zip: Reading...
module.s3_to_loki["alb"].data.archive_file.lambda_zip: Read complete after 0s [id=847a0f2737eebccba52f9184683d055e9deafbec]
module.s3_to_loki["alb"].aws_iam_role.s3_to_loki: Refreshing state... [id=s3_to_loki_alb_role_prod]
module.s3_to_loki["alb"].aws_iam_policy.s3_to_loki: Refreshing state... [id=arn:aws:iam::100478842646:policy/s3_to_loki_alb_policy_prod]
module.s3_to_loki["alb"].aws_iam_role_policy_attachment.s3_to_loki: Refreshing state... [id=s3_to_loki_alb_role_prod-20260302201513481600000001]
module.s3_to_loki["alb"].aws_lambda_function.s3_to_loki: Refreshing state... [id=s3_to_loki_alb_prod]
module.s3_to_loki["alb"].aws_lambda_permission.s3_invoke["eks-elb-logs-prod"]: Refreshing state... [id=AllowS3Invoke-eks-elb-logs-prod]
module.s3_to_loki["alb"].aws_s3_bucket_notification.s3_to_loki_trigger["eks-elb-logs-prod"]: Refreshing state... [id=eks-elb-logs-prod]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # module.s3_to_loki["alb"].aws_iam_policy.s3_to_loki will be updated in-place
  ~ resource "aws_iam_policy" "s3_to_loki" {
        id               = "arn:aws:iam::100478842646:policy/s3_to_loki_alb_policy_prod"
        name             = "s3_to_loki_alb_policy_prod"
      ~ policy           = jsonencode(
          ~ {
              ~ Statement = [
                    {
                        Action   = [
                            "s3:GetObject",
                        ]
                        Effect   = "Allow"
                        Resource = [
                            "arn:aws:s3:::eks-elb-logs-prod/*",
                        ]
                    },
                  - {
                      - Action   = [
                          - "s3:GetObject",
                          - "s3:ListBucket",
                        ]
                      - Effect   = "Allow"
                      - Resource = [
                          - "arn:aws:s3:::eks-elb-logs-prod",
                          - "arn:aws:s3:::eks-elb-logs-prod/*",
                        ]
                    },
                    {
                        Action   = [
                            "logs:CreateLogGroup",
                            "logs:CreateLogStream",
                            "logs:PutLogEvents",
                        ]
                        Effect   = "Allow"
                        Resource = "*"
                    },
                    # (1 unchanged element hidden)
                ]
                # (1 unchanged attribute hidden)
            }
        )
        tags             = {}
        # (6 unchanged attributes hidden)
    }

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

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.
accounts/production/sns
DRIFT UNKNOWN CAUSE
Change may be older than the 90-day CloudTrail window, or this is Terraform code that has not been applied yet
View plan output
module.sns.data.archive_file.teams_lambda["WAF_Alarm_Prod"]: Reading...
module.sns.data.archive_file.teams_lambda["WWN-PRD-AWS-Health-Alerts"]: Reading...
module.sns.data.archive_file.teams_lambda["WWNWEB-PRD-NGINX-Alerts"]: Reading...
module.sns.data.archive_file.teams_lambda["WAF_Alarm_Prod"]: Read complete after 0s [id=d6083e38eeded9b82b11d06ab212d8e6cf7cee7c]
module.sns.data.archive_file.teams_lambda["WWNWEB-PRD-NGINX-Alerts"]: Read complete after 0s [id=3190072043390f27b22adc96d4f6ee2cbcf33852]
module.sns.data.archive_file.teams_lambda["WWN-PRD-AWS-Health-Alerts"]: Read complete after 0s [id=eb0c98aad3d67446523d962fca5adeaccfe88717]
module.sns.aws_iam_role.teams_lambda["WWN-PRD-AWS-Health-Alerts"]: Refreshing state... [id=sns_teams_WWN-PRD-AWS-Health-Alerts_role]
module.sns.data.aws_caller_identity.current: Reading...
module.sns.aws_iam_role.teams_lambda["WAF_Alarm_Prod"]: Refreshing state... [id=sns_teams_WAF_Alarm_Prod_role]
module.sns.aws_cloudwatch_log_group.teams_lambda["WWN-PRD-AWS-Health-Alerts"]: Refreshing state... [id=/aws/lambda/sns_teams_WWN-PRD-AWS-Health-Alerts]
module.sns.aws_cloudwatch_log_group.teams_lambda["WAF_Alarm_Prod"]: Refreshing state... [id=/aws/lambda/sns_teams_WAF_Alarm_Prod]
module.sns.aws_cloudwatch_log_group.teams_lambda["WWNWEB-PRD-NGINX-Alerts"]: Refreshing state... [id=/aws/lambda/sns_teams_WWNWEB-PRD-NGINX-Alerts]
module.sns.aws_iam_role.teams_lambda["WWNWEB-PRD-NGINX-Alerts"]: Refreshing state... [id=sns_teams_WWNWEB-PRD-NGINX-Alerts_role]
module.sns.data.aws_region.teams_secret: Reading...
module.sns.aws_sns_topic.wwnorton_sns_topics["url-monitoring-alerts"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:url-monitoring-alerts]
module.sns.aws_sns_topic.wwnorton_sns_topics["SW5-AS-Devops"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:SW5-AS-Devops]
module.sns.data.aws_caller_identity.current: Read complete after 0s [id=100478842646]
module.sns.aws_sns_topic.wwnorton_sns_topics["WAF_Alarm_Prod"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WAF_Alarm_Prod]
module.sns.data.aws_region.teams_secret: Read complete after 0s [id=us-east-1]
module.sns.aws_sns_topic.wwnorton_sns_topics["consolidated-security-notifications"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:consolidated-security-notifications]
module.sns.aws_sns_topic.wwnorton_sns_topics["searchandiser-update"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:searchandiser-update]
module.sns.aws_sns_topic.wwnorton_sns_topics["WWN-PROD-ASG"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWN-PROD-ASG]
module.sns.aws_sns_topic.wwnorton_sns_topics["Flashcards-auto-scaling"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:Flashcards-auto-scaling]
module.sns.aws_sns_topic.wwnorton_sns_topics["searchandiser-iig-nightly"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:searchandiser-iig-nightly]
module.sns.aws_sns_topic.wwnorton_sns_topics["grade-sync-daily-reports"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:grade-sync-daily-reports]
module.sns.aws_sns_topic.wwnorton_sns_topics["ncia-grade-sync"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:ncia-grade-sync]
module.sns.aws_sns_topic.wwnorton_sns_topics["WWNWEB-PRD-NGINX-Alerts"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWNWEB-PRD-NGINX-Alerts]
module.sns.aws_sns_topic.wwnorton_sns_topics["ACM_PROD_Certificate_Renewal_Action"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:ACM_PROD_Certificate_Renewal_Action]
module.sns.aws_sns_topic.wwnorton_sns_topics["CloudWatch-Prod-Cluster-Alarm"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:CloudWatch-Prod-Cluster-Alarm]
module.sns.aws_sns_topic.wwnorton_sns_topics["clever-sync-start"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-start]
module.sns.aws_sns_topic.wwnorton_sns_topics["email-volume-exceeds-threshold"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:email-volume-exceeds-threshold]
module.sns.aws_sns_topic.wwnorton_sns_topics["aws-cloudtrail-logs-100478842646-7553d9e8"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:aws-cloudtrail-logs-100478842646-7553d9e8]
module.sns.aws_sns_topic.wwnorton_sns_topics["notification-service-test"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:notification-service-test]
module.sns.aws_sns_topic.wwnorton_sns_topics["dinesh-test-alarm"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:dinesh-test-alarm]
module.sns.aws_sns_topic.wwnorton_sns_topics["RDS-DB-Event"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:RDS-DB-Event]
module.sns.aws_sns_topic.wwnorton_sns_topics["EKS-CloudWatch-Alarm-SNS-Topic-prod"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:EKS-CloudWatch-Alarm-SNS-Topic-prod]
module.sns.aws_sns_topic.wwnorton_sns_topics["clever-success-dev"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-success-dev]
module.sns.aws_sns_topic.wwnorton_sns_topics["WWNKC"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWNKC]
module.sns.aws_sns_topic.wwnorton_sns_topics["security-group-alerts"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:security-group-alerts]
module.sns.aws_sns_topic.wwnorton_sns_topics["clever-sync-dev"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-dev]
module.sns.aws_sns_topic.wwnorton_sns_topics["clever-sync-to-queue"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-to-queue]
module.sns.aws_sns_topic.wwnorton_sns_topics["NCI-PRD-AS-ELB"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:NCI-PRD-AS-ELB]
module.sns.aws_sns_topic.wwnorton_sns_topics["clever-sync-production"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-production]
module.sns.aws_sns_topic.wwnorton_sns_topics["WWN-LOWER-WRK"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWN-LOWER-WRK]
module.sns.aws_sns_topic.wwnorton_sns_topics["clever-err-dev"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-err-dev]
module.sns.aws_sns_topic.wwnorton_sns_topics["WWN-PRD-AWS-Health-Alerts"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWN-PRD-AWS-Health-Alerts]
module.sns.aws_sns_topic.wwnorton_sns_topics["Shield-Alarms"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:Shield-Alarms]
module.sns.aws_sns_topic.wwnorton_sns_topics["Norton-WAF-Backup-Notifications"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:Norton-WAF-Backup-Notifications]
module.sns.aws_sns_topic.wwnorton_sns_topics["Site-to-site-VPN-Topic"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:Site-to-site-VPN-Topic]
module.sns.aws_sns_topic.wwnorton_sns_topics["aws-daily-security-reports"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:aws-daily-security-reports]
module.sns.aws_sns_topic.wwnorton_sns_topics["cloudcms-iig"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:cloudcms-iig]
module.sns.aws_sns_topic.wwnorton_sns_topics["SNStopicForAllCISAlarms"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:SNStopicForAllCISAlarms]
module.sns.aws_sns_topic.wwnorton_sns_topics["email-bounce-notifications"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:email-bounce-notifications]
module.sns.aws_sns_topic.wwnorton_sns_topics["clever-sync-success"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-success]
module.sns.aws_sns_topic.wwnorton_sns_topics["clever-sync-start-dev"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-start-dev]
module.sns.aws_sns_topic.wwnorton_sns_topics["WWN-LOWER-ASG"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWN-LOWER-ASG]
module.sns.aws_sns_topic.wwnorton_sns_topics["email-account-tracing"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:email-account-tracing]
module.sns.aws_sns_topic.wwnorton_sns_topics["CloudWatch_Alarms_Topic-Test_rcrisial"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:CloudWatch_Alarms_Topic-Test_rcrisial]
module.sns.aws_sns_topic.wwnorton_sns_topics["WWN-PRD-ASG"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWN-PRD-ASG]
module.sns.aws_sns_topic.wwnorton_sns_topics["aws-cloudtrail-logs-100478842646-2ef82391"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:aws-cloudtrail-logs-100478842646-2ef82391]
module.sns.aws_sns_topic.wwnorton_sns_topics["WWN-LOWER-ECW"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWN-LOWER-ECW]
module.sns.aws_sns_topic.wwnorton_sns_topics["devops-alert"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:devops-alert]
module.sns.aws_sns_topic.wwnorton_sns_topics["clever-error-notification"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-error-notification]
module.sns.aws_sns_topic.wwnorton_sns_topics["email-complaint-notifications"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:email-complaint-notifications]
module.sns.aws_sns_topic.wwnorton_sns_topics["DevOps_CloudWatch_Alarms_Topic"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:DevOps_CloudWatch_Alarms_Topic]
module.sns.aws_sns_topic.wwnorton_sns_topics["cosmos-game-update"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:cosmos-game-update]
module.sns.aws_sns_topic.wwnorton_sns_topics["wwnorton-security-alerts"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:wwnorton-security-alerts]
module.sns.data.aws_caller_identity.teams_secret: Reading...
module.sns.data.aws_caller_identity.teams_secret: Read complete after 0s [id=100478842646]
module.sns.aws_iam_policy.teams_lambda["WWNWEB-PRD-NGINX-Alerts"]: Refreshing state... [id=arn:aws:iam::100478842646:policy/sns_teams_WWNWEB-PRD-NGINX-Alerts_policy]
module.sns.aws_iam_policy.teams_lambda["WWN-PRD-AWS-Health-Alerts"]: Refreshing state... [id=arn:aws:iam::100478842646:policy/sns_teams_WWN-PRD-AWS-Health-Alerts_policy]
module.sns.aws_iam_policy.teams_lambda["WAF_Alarm_Prod"]: Refreshing state... [id=arn:aws:iam::100478842646:policy/sns_teams_WAF_Alarm_Prod_policy]
module.sns.aws_sns_topic_policy.eventbridge_publish["WWN-PRD-AWS-Health-Alerts"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWN-PRD-AWS-Health-Alerts]
module.sns.aws_sns_topic_policy.account_only["searchandiser-iig-nightly"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:searchandiser-iig-nightly]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-error-notification-email-sdikewwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-error-notification:5b63f1ed-628f-4151-91b9-cdb4f4c86ef6]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["dinesh-test-alarm-email-dreddywwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:dinesh-test-alarm:80ae9064-0cc8-4089-aa5b-43ddaca8fdc3]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-sync-start-email-vprabhunewwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-start:6aa4c73d-bfbb-4725-bfe5-48a94f6a6f13]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["WWN-LOWER-ECW-email-aelsasserwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWN-LOWER-ECW:bc1ecdf1-fd4a-4886-af3d-26087b3fc10e]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-sync-start-email-pdietrichwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-start:d7364805-e89b-4663-80d5-28ddfdf62f48]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-sync-to-queue-email-pdietrichwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-to-queue:c8640c7f-2eb7-42b9-9e6f-65f620827216]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-sync-production-lambda-arnawslambdauseast1100478842646functionSNStoTeamsWorkflow"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-production:c21a29cd-3fc5-49d2-81f2-a4c62b8e6c54]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["searchandiser-iig-nightly-email-webdevsupportwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:searchandiser-iig-nightly:94d54b04-06ae-4dc0-b9dc-385d23978b2f]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-error-notification-email-pdietrichwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-error-notification:b4b9b75e-5113-4877-8e81-9c64f54118fb]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["searchandiser-update-email-pdietrichwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:searchandiser-update:627af33e-649c-4308-a084-47612b9c6a48]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-error-notification-email-sshindewwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-error-notification:b85db5e4-a786-4ae7-b103-cf15c49e0fbb]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["searchandiser-iig-nightly-lambda-arnawslambdauseast1100478842646functionpushToSlack"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:searchandiser-iig-nightly:4a1118b4-e949-4dcf-833b-012ca94add41]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["Norton-WAF-Backup-Notifications-email-devsecopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:Norton-WAF-Backup-Notifications:631f7c49-4997-4d9e-a06b-a6b2365cfd84]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["cosmos-game-update-email-pdietrichwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:cosmos-game-update:fe0c952e-14dc-48ec-b014-b3bb31802a47]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-sync-dev-email-pdietrichwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-dev:24e92b53-294d-4011-9d2b-83157f4cd66f]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["devops-alert-sqs-arnawssqsuseast1100478842646DevOpsAlert"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:devops-alert:d16fd23d-34e0-443d-9244-97b6f919c160]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["WWN-PRD-AWS-Health-Alerts-email-devopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWN-PRD-AWS-Health-Alerts:a633f378-841e-4f3b-845f-e2452191c6e9]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-error-notification-email-rsrivastavawwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-error-notification:08f35a5e-931e-4e87-bcc7-45777a4af557]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-sync-start-email-sdikewwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-start:d38373fa-f2a6-45d9-ad1b-c3df08cff3cc]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-success-dev-email-pdietrichwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-success-dev:91e3780f-a5b8-4fa0-832e-b1796de7c20c]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["searchandiser-iig-nightly-lambda-arnawslambdauseast1100478842646functionpushToTeams"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:searchandiser-iig-nightly:708fb0a7-0e89-4691-aba0-8f66d3cc7556]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["email-volume-exceeds-threshold-email-devopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:email-volume-exceeds-threshold:74934a7c-7492-4504-b8bf-5acdb31abbeb]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["searchandiser-update-lambda-arnawslambdauseast1100478842646functionpushToSlack"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:searchandiser-update:f52bce0b-81b1-4e7e-ae90-f63b6c60f594]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["cloudcms-iig-sqs-arnawssqsuseast1100478842646iignodejs"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:cloudcms-iig:cc1266b5-43fd-49f8-aa3a-2f85d2415ea0]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["WWNWEB-PRD-NGINX-Alerts-email-devopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWNWEB-PRD-NGINX-Alerts:50d3d2c4-649e-41bb-99e4-38f8cfa3ef22]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-sync-to-queue-sqs-arnawssqsuseast1100478842646CleverSyncErrors"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-to-queue:70134f75-38ee-4d3c-8c85-54e5e483a6a6]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["email-account-tracing-email-devopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:email-account-tracing:9aae36dd-df71-4113-8928-31c8b4f30165]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["CloudWatch-Prod-Cluster-Alarm-email-devopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:CloudWatch-Prod-Cluster-Alarm:824b7de7-7c2d-4cab-9c98-1d2f2efcad35]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["email-complaint-notifications-email-digitaldevwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:email-complaint-notifications:430412d3-2bb0-4328-a7ef-4c7b78032b87]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["searchandiser-update-lambda-arnawslambdauseast1100478842646functionpushToTeams"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:searchandiser-update:45d33d53-2933-42db-a47f-9469a018d79b]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-sync-dev-email-sdikewwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-dev:b8f9f159-a8a7-49b4-ba9f-b25dd325f0a4]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["ACM_PROD_Certificate_Renewal_Action-email-devopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:ACM_PROD_Certificate_Renewal_Action:87178173-c97d-4acf-9e31-32aff0656d27]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["Flashcards-auto-scaling-email-devopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:Flashcards-auto-scaling:758a9480-82cb-4758-9a63-4d9e6160788b]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["WWN-PROD-ASG-email-devopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWN-PROD-ASG:e72830b1-7ff9-4f8c-b2f3-d4ebd331e1ca]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["wwnorton-security-alerts-email-devsecopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:wwnorton-security-alerts:e9cb6f68-59f1-4869-8900-794deef6fcf2]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["DevOps_CloudWatch_Alarms_Topic-email-devopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:DevOps_CloudWatch_Alarms_Topic:38ecb0a7-635a-4775-9db1-fb819d1e4c1a]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["WWN-LOWER-WRK-email-aelsasserwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWN-LOWER-WRK:c8b3f43e-d65d-4419-9a96-2fb58205e61c]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["devops-alert-email-aelsasserwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:devops-alert:afb1a2c3-755c-486e-a9b3-c6529d08e550]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["searchandiser-update-lambda-arnawslambdauseast1100478842646functionNotificationsStackteamsmessage567993698spmZH2LysQP"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:searchandiser-update:926a45e6-beaf-4ccf-afbd-76689bd26daa]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["notification-service-test-email-pdietrichwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:notification-service-test:c457307f-4707-41f9-9c4f-6e4a8d51a342]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["WWN-LOWER-ASG-email-devopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWN-LOWER-ASG:3cc61c3b-83b8-414b-9ef5-cd90160e55f1]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-sync-production-email-pdietrichwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-production:b08ec282-9be7-4b5d-8230-c61cb6939372]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-sync-dev-lambda-arnawslambdauseast1100478842646functionSNStoTeamsWorkflow3"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-dev:881f1b53-ab1a-4479-9b6a-1e9a8f88ba72]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-sync-success-lambda-arnawslambdauseast1100478842646functionSNStoTeamsWorkflow"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-success:599201d4-0ed1-46ac-96d6-1131f8b6b2e1]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["aws-daily-security-reports-email-devsecopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:aws-daily-security-reports:3032f4b3-2222-4371-addb-8477f4d34ffd]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["dinesh-test-alarm-email-pdietrichwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:dinesh-test-alarm:1c72d4d0-896a-4278-8caa-49b5f34c4711]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["searchandiser-iig-nightly-lambda-arnawslambdauseast1100478842646functionNotificationsStackteamsmessage567993698spmZH2LysQP"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:searchandiser-iig-nightly:ce49201f-ac03-46bd-8a2e-e6287f499907]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-sync-to-queue-email-mzappwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-to-queue:3cd7bae5-2407-4f56-978e-0901208769d0]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["WWN-PRD-ASG-email-mzappwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWN-PRD-ASG:afd57cdb-069e-4286-acfc-d6690ec07063]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-sync-to-queue-email-sshindewwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-to-queue:f734d233-8bec-4bc3-9ced-dbb0ffc7a022]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["EKS-CloudWatch-Alarm-SNS-Topic-prod-https-httpsglobalsnsapichatbotamazonawscom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:EKS-CloudWatch-Alarm-SNS-Topic-prod:2f9c21d7-5d58-46d0-b4a5-48afda06f5c9]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-sync-to-queue-email-sdikewwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-to-queue:3f34723e-05ee-43ea-9827-c0ea79996520]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["WWNKC-email-devopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWNKC:d6b5d714-b411-4806-b81f-843e3b5a0337]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["devops-alert-email-devopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:devops-alert:be343c74-ba9f-46d9-9915-c22a12195a89]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["email-bounce-notifications-email-digitaldevwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:email-bounce-notifications:76cfa1ff-21d1-407a-a529-00cb3a2ff478]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-sync-start-dev-email-pdietrichwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-sync-start-dev:ff98852b-8c6b-44ca-b79e-b0661b33dca2]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["SW5-AS-Devops-email-skambampatiwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:SW5-AS-Devops:f0aed3e3-4245-4bc3-a399-78721fc50189]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["clever-err-dev-email-pdietrichwwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:clever-err-dev:46cb09ba-c200-4a30-b012-144432da897a]
module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["SW5-AS-Devops-email-devopswwnortoncom"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:SW5-AS-Devops:c19fd052-5df0-4070-a08a-c3ac906a3df2]
module.sns.aws_iam_role_policy_attachment.teams_lambda["WAF_Alarm_Prod"]: Refreshing state... [id=sns_teams_WAF_Alarm_Prod_role-20260716152657875400000001]
module.sns.aws_iam_role_policy_attachment.teams_lambda["WWNWEB-PRD-NGINX-Alerts"]: Refreshing state... [id=sns_teams_WWNWEB-PRD-NGINX-Alerts_role-20260720132706940700000001]
module.sns.aws_iam_role_policy_attachment.teams_lambda["WWN-PRD-AWS-Health-Alerts"]: Refreshing state... [id=sns_teams_WWN-PRD-AWS-Health-Alerts_role-20260914121526815900000001]
module.sns.aws_lambda_function.teams["WAF_Alarm_Prod"]: Refreshing state... [id=sns_teams_WAF_Alarm_Prod]
module.sns.aws_lambda_function.teams["WWN-PRD-AWS-Health-Alerts"]: Refreshing state... [id=sns_teams_WWN-PRD-AWS-Health-Alerts]
module.sns.aws_lambda_function.teams["WWNWEB-PRD-NGINX-Alerts"]: Refreshing state... [id=sns_teams_WWNWEB-PRD-NGINX-Alerts]
module.sns.aws_lambda_permission.teams_sns_invoke["WAF_Alarm_Prod"]: Refreshing state... [id=AllowSNSInvoke]
module.sns.aws_lambda_permission.teams_sns_invoke["WWNWEB-PRD-NGINX-Alerts"]: Refreshing state... [id=AllowSNSInvoke]
module.sns.aws_lambda_permission.teams_sns_invoke["WWN-PRD-AWS-Health-Alerts"]: Refreshing state... [id=AllowSNSInvoke]
module.sns.aws_sns_topic_subscription.teams_lambda["WWNWEB-PRD-NGINX-Alerts"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWNWEB-PRD-NGINX-Alerts:bbc89f89-a41d-4ab6-b6e8-89b98851dc4f]
module.sns.aws_sns_topic_subscription.teams_lambda["WWN-PRD-AWS-Health-Alerts"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WWN-PRD-AWS-Health-Alerts:8eba1379-93da-49bd-8014-660127a98f47]
module.sns.aws_sns_topic_subscription.teams_lambda["WAF_Alarm_Prod"]: Refreshing state... [id=arn:aws:sns:us-east-1:100478842646:WAF_Alarm_Prod:c3839e93-a33e-4c0a-8be0-0ff1a1877445]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["Norton-WAF-Backup-Notifications-email-devsecopswwnortoncom"] will be created
  + resource "aws_sns_topic_subscription" "wwnorton_sns_topic_subscriptions" {
      + arn                             = (known after apply)
      + confirmation_timeout_in_minutes = 1
      + confirmation_was_authenticated  = (known after apply)
      + endpoint                        = "devsecops@wwnorton.com"
      + endpoint_auto_confirms          = false
      + filter_policy_scope             = (known after apply)
      + id                              = (known after apply)
      + owner_id                        = (known after apply)
      + pending_confirmation            = (known after apply)
      + protocol                        = "email"
      + raw_message_delivery            = false
      + topic_arn                       = "arn:aws:sns:us-east-1:100478842646:Norton-WAF-Backup-Notifications"
    }

  # module.sns.aws_sns_topic_subscription.wwnorton_sns_topic_subscriptions["wwnorton-security-alerts-email-devsecopswwnortoncom"] will be created
  + resource "aws_sns_topic_subscription" "wwnorton_sns_topic_subscriptions" {
      + arn                             = (known after apply)
      + confirmation_timeout_in_minutes = 1
      + confirmation_was_authenticated  = (known after apply)
      + endpoint                        = "devsecops@wwnorton.com"
      + endpoint_auto_confirms          = false
      + filter_policy_scope             = (known after apply)
      + id                              = (known after apply)
      + owner_id                        = (known after apply)
      + pending_confirmation            = (known after apply)
      + protocol                        = "email"
      + raw_message_delivery            = false
      + topic_arn                       = "arn:aws:sns:us-east-1:100478842646:wwnorton-security-alerts"
    }

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

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.
accounts/security-central/iam
CLEAN
accounts/security-central/s3
CLEAN
accounts/security-central/vpc/us-east-1
CLEAN
accounts/security-central/waf-fms
DRIFT UNKNOWN CAUSE
Change may be older than the 90-day CloudTrail window, or this is Terraform code that has not been applied yet
View plan output
module.waf_fms.aws_wafv2_ip_set.this["tf-fm-norton-ip-list"]: Refreshing state... [id=c0e89945-81f5-4206-9cb3-a4b880a5fa92]
module.waf_fms.aws_wafv2_ip_set.this["tf-block-ips"]: Refreshing state... [id=26f9a968-2139-48da-9825-a30187454fec]
module.waf_fms.aws_wafv2_rule_group.ip_set["tf-fm-norton-ip-list"]: Refreshing state... [id=5d58de05-7fd4-40b0-81ff-b3283d1a71a9]
module.waf_fms.aws_wafv2_rule_group.ip_set["tf-block-ips"]: Refreshing state... [id=cd3fcf90-7f56-4e4c-bd10-150c86120534]
module.waf_fms.aws_fms_policy.wafv2["tf-Norton-Dev-Web-ACL"]: Refreshing state... [id=d5839c52-0ad7-4a65-ab18-0c60d1f34967]
module.waf_fms.aws_fms_policy.wafv2["security-testing-bot-control-count"]: Refreshing state... [id=3cbd7723-ef62-439c-a8bb-16cc859d864f]
module.waf_fms.aws_fms_policy.wafv2["tf-norton-waf-policy"]: Refreshing state... [id=fa098115-9916-4948-a478-2748335fc27e]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  - destroy

Terraform will perform the following actions:

  # module.waf_fms.aws_fms_policy.wafv2["security-testing-bot-control-count"] will be destroyed
  # (because key ["security-testing-bot-control-count"] is not in for_each map)
  - resource "aws_fms_policy" "wafv2" {
      - arn                                = "arn:aws:fms:us-east-1:301534478182:policy/3cbd7723-ef62-439c-a8bb-16cc859d864f" -> null
      - delete_all_policy_resources        = false -> null
      - delete_unused_fm_managed_resources = true -> null
      - exclude_resource_tags              = false -> null
      - id                                 = "3cbd7723-ef62-439c-a8bb-16cc859d864f" -> null
      - name                               = "norton-waf-security-testing-bot-control-count" -> null
      - policy_update_token                = "1:fT2WWPciuPW1i4+s0AHTL9hQbo1c1fXJ0UVYNMA=" -> null
      - remediation_enabled                = true -> null
      - resource_set_ids                   = [] -> null
      - resource_tags                      = {
          - "WAFProtected" = "true"
        } -> null
      - resource_type                      = "AWS::ElasticLoadBalancingV2::LoadBalancer" -> null
      - resource_type_list                 = [] -> null
      - tags                               = {
          - "Environment" = "security-central"
          - "ManagedBy"   = "Terraform"
          - "Module"      = "waf-fms"
          - "Name"        = "norton-waf-security-testing-bot-control-count"
        } -> null
      - tags_all                           = {
          - "Environment" = "security-central"
          - "ManagedBy"   = "Terraform"
          - "Module"      = "waf-fms"
          - "Name"        = "norton-waf-security-testing-bot-control-count"
        } -> null

      - exclude_map {}

      - include_map {
          - account = [
              - "978355780665",
            ] -> null
          - orgunit = [] -> null
        }

      - security_service_policy_data {
          - managed_service_data = jsonencode(
                {
                  - customRequestHandling                   = null
                  - customResponse                          = null
                  - defaultAction                           = {
                      - type = "ALLOW"
                    }
                  - loggingConfiguration                    = null
                  - overrideCustomerWebACLAssociation       = false
                  - postProcessRuleGroups                   = []
                  - preProcessRuleGroups                    = [
                      - {
                          - excludeRules               = []
                          - managedRuleGroupIdentifier = {
                              - managedRuleGroupConfigs = [
                                  - {
                                      - awsmanagedRulesBotControlRuleSet = {
                                          - inspectionLevel = "COMMON"
                                        }
                                    },
                                ]
                              - managedRuleGroupName    = "AWSManagedRulesBotControlRuleSet"
                              - vendorName              = "AWS"
                              - version                 = null
                              - versionEnabled          = null
                            }
                          - overrideAction             = {
                              - type = "COUNT"
                            }
                          - ruleGroupArn               = null
                          - ruleGroupType              = "ManagedRuleGroup"
                          - sampledRequestsEnabled     = null
                        },
                      - {
                          - excludeRules               = []
                          - managedRuleGroupIdentifier = null
                          - overrideAction             = {
                              - type = "NONE"
                            }
                          - ruleGroupArn               = "arn:aws:wafv2:us-east-1:301534478182:regional/rulegroup/tf-fm-norton-ip-list-rg/5d58de05-7fd4-40b0-81ff-b3283d1a71a9"
                          - ruleGroupType              = "RuleGroup"
                          - sampledRequestsEnabled     = null
                        },
                    ]
                  - sampledRequestsEnabledForDefaultActions = true
                  - type                                    = "WAFV2"
                }
            ) -> null
          - type                 = "WAFV2" -> null
        }
    }

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

Changes to Outputs:
  ~ policies   = {
      - security-testing-bot-control-count = {
          - arn                 = "arn:aws:fms:us-east-1:301534478182:policy/3cbd7723-ef62-439c-a8bb-16cc859d864f"
          - id                  = "3cbd7723-ef62-439c-a8bb-16cc859d864f"
          - name                = "norton-waf-security-testing-bot-control-count"
          - policy_update_token = "1:0M0HErPPaYaoztAYDMypoUHnKpGHHSJeY40TqbY="
        }
      ~ tf-Norton-Dev-Web-ACL              = {
            id                  = "d5839c52-0ad7-4a65-ab18-0c60d1f34967"
            name                = "tf-Norton-Dev-Web-ACL"
          ~ policy_update_token = "1:NUYvRbcHPuS2vrgJqCoZ/WdbxOh+1s4slIOdgYk=" -> "1:ejk7elSUXDi0MrJsv0BDaQmuNzgkF2Q/5u9iPp0="
            # (1 unchanged attribute hidden)
        }
      ~ tf-norton-waf-policy               = {
            id                  = "fa098115-9916-4948-a478-2748335fc27e"
            name                = "tf-norton-waf-policy"
          ~ policy_update_token = "1:eIORHr45TBwp5Cp5HVS/4kEMLnAMoI1KY1N/tug=" -> "1:SX8caRe2X4UFjYjezeVh+p+819M1FeO6jPQbyX0="
            # (1 unchanged attribute hidden)
        }
    }
  ~ policy_ids = {
      - security-testing-bot-control-count = "3cbd7723-ef62-439c-a8bb-16cc859d864f"
        # (2 unchanged attributes hidden)
    }

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.
accounts/security-testing/healthcheck
CLEAN
accounts/security-testing/iam
CLEAN
tokens/gitlab
DRIFT NON-AWS
Not tracked by AWS CloudTrail
View plan output
module.gitlab_group_access_tokens.gitlab_group_access_token.group_tokens["3"]: Refreshing state... [id=wwnorton:24415422]
module.gitlab_group_access_tokens.gitlab_group_access_token.group_tokens["1"]: Refreshing state... [id=wwnorton/app:24415421]
module.gitlab_group_access_tokens.gitlab_group_access_token.group_tokens["2"]: Refreshing state... [id=wwnorton/lab:24415423]
module.gitlab_group_access_tokens.gitlab_group_access_token.group_tokens["4"]: Refreshing state... [id=wwnorton/media:24415646]
module.gitlab_group_access_tokens.gitlab_group_access_token.group_tokens["5"]: Refreshing state... [id=wwnorton/platform:26871744]
module.gitlab_group_access_tokens.gitlab_group_access_token.group_tokens["0"]: Refreshing state... [id=wwnorton/ops:24415424]
gitlab_group_variable.wwnorton_ops_all_tokens["wwnorton/lab"]: Refreshing state... [id=wwnorton/ops:DELEGATED_TF_LAB_ACCESS_TOKEN:*]
gitlab_group_variable.wwnorton_ops_all_tokens["wwnorton/media"]: Refreshing state... [id=wwnorton/ops:DELEGATED_TF_MEDIA_ACCESS_TOKEN:*]
gitlab_group_variable.wwnorton_ops_all_tokens["wwnorton/platform"]: Refreshing state... [id=wwnorton/ops:DELEGATED_TF_PLATFORM_ACCESS_TOKEN:*]
gitlab_group_variable.wwnorton_group_tokens["wwnorton/app"]: Refreshing state... [id=wwnorton/app:TF_APP_ACCESS_TOKEN:*]
gitlab_group_variable.wwnorton_group_tokens["wwnorton/platform"]: Refreshing state... [id=wwnorton/platform:TF_PLATFORM_ACCESS_TOKEN:*]
gitlab_group_variable.wwnorton_group_tokens["wwnorton/lab"]: Refreshing state... [id=wwnorton/lab:TF_LAB_ACCESS_TOKEN:*]
gitlab_group_variable.wwnorton_group_tokens["wwnorton/ops"]: Refreshing state... [id=wwnorton/ops:TF_OPS_ACCESS_TOKEN:*]
gitlab_group_variable.wwnorton_ops_all_tokens["wwnorton/app"]: Refreshing state... [id=wwnorton/ops:DELEGATED_TF_APP_ACCESS_TOKEN:*]
gitlab_group_variable.wwnorton_group_tokens["wwnorton/media"]: Refreshing state... [id=wwnorton/media:TF_MEDIA_ACCESS_TOKEN:*]

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

Terraform will perform the following actions:

  # gitlab_group_variable.wwnorton_group_tokens["wwnorton/platform"] will be updated in-place
  ~ resource "gitlab_group_variable" "wwnorton_group_tokens" {
        id                = "wwnorton/platform:TF_PLATFORM_ACCESS_TOKEN:*"
      ~ value             = (sensitive value)
        # (7 unchanged attributes hidden)
    }

  # gitlab_group_variable.wwnorton_ops_all_tokens["wwnorton/platform"] will be updated in-place
  ~ resource "gitlab_group_variable" "wwnorton_ops_all_tokens" {
        id                = "wwnorton/ops:DELEGATED_TF_PLATFORM_ACCESS_TOKEN:*"
      ~ value             = (sensitive value)
        # (7 unchanged attributes hidden)
    }

  # module.gitlab_group_access_tokens.gitlab_group_access_token.group_tokens["5"] must be replaced
-/+ resource "gitlab_group_access_token" "group_tokens" {
      ~ active       = true -> (known after apply)
      ~ created_at   = "2026-08-25T17:26:25Z" -> (known after apply)
      ~ expires_at   = "2027-08-25" # forces replacement -> (known after apply)
      ~ id           = "wwnorton/platform:26871744" -> (known after apply)
        name         = "TF_PLATFORM_ACCESS_TOKEN"
      ~ revoked      = false -> (known after apply)
      ~ token        = (sensitive value)
      ~ user_id      = 41685190 -> (known after apply)
        # (3 unchanged attributes hidden)
    }

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

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.
accounts/wwnbusiness-services/iam
CLEAN
accounts/wwnbusiness-services/config
DRIFT UNKNOWN CAUSE
Change may be older than the 90-day CloudTrail window, or this is Terraform code that has not been applied yet
View plan output
data.aws_caller_identity.current: Reading...
module.aws_config.data.aws_partition.current: Reading...
module.aws_config.data.aws_iam_policy_document.config_assume: Reading...
module.aws_config.data.aws_iam_policy_document.config_assume: Read complete after 0s [id=607352202]
module.aws_config.data.aws_partition.current: Read complete after 0s [id=aws]
module.aws_config.data.aws_caller_identity.current: Reading...
module.aws_config.data.aws_region.current: Reading...
module.aws_config.data.aws_region.current: Read complete after 0s [id=us-east-1]
data.aws_caller_identity.current: Read complete after 0s [id=988274420875]
module.aws_config.data.aws_caller_identity.current: Read complete after 0s [id=988274420875]
module.aws_config.data.aws_iam_policy_document.config_s3_delivery: Reading...
module.aws_config.data.aws_iam_policy_document.config_s3_delivery: Read complete after 0s [id=3514416137]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # module.aws_config.aws_config_config_rule.this["iam_password_policy"] will be created
  + resource "aws_config_config_rule" "this" {
      + arn                         = (known after apply)
      + id                          = (known after apply)
      + input_parameters            = jsonencode(
            {
              + MaxPasswordAge             = "90"
              + MinimumPasswordLength      = "14"
              + RequireLowercaseCharacters = "true"
              + RequireNumbers             = "true"
              + RequireSymbols             = "true"
              + RequireUppercaseCharacters = "true"
            }
        )
      + maximum_execution_frequency = "TwentyFour_Hours"
      + name                        = "iam_password_policy"
      + rule_id                     = (known after apply)
      + tags                        = {
          + "Environment" = "wwnbusiness-services"
          + "ManagedBy"   = "terraform"
          + "Owner"       = "platform"
        }
      + tags_all                    = {
          + "Environment" = "wwnbusiness-services"
          + "ManagedBy"   = "terraform"
          + "Owner"       = "platform"
        }

      + source {
          + owner             = "AWS"
          + source_identifier = "IAM_PASSWORD_POLICY"
        }
    }

  # module.aws_config.aws_config_config_rule.this["s3_bucket_public_read_prohibited"] will be created
  + resource "aws_config_config_rule" "this" {
      + arn      = (known after apply)
      + id       = (known after apply)
      + name     = "s3_bucket_public_read_prohibited"
      + rule_id  = (known after apply)
      + tags     = {
          + "Environment" = "wwnbusiness-services"
          + "ManagedBy"   = "terraform"
          + "Owner"       = "platform"
        }
      + tags_all = {
          + "Environment" = "wwnbusiness-services"
          + "ManagedBy"   = "terraform"
          + "Owner"       = "platform"
        }

      + source {
          + owner             = "AWS"
          + source_identifier = "S3_BUCKET_PUBLIC_READ_PROHIBITED"
        }
    }

  # module.aws_config.aws_config_configuration_recorder.this will be created
  + resource "aws_config_configuration_recorder" "this" {
      + id       = (known after apply)
      + name     = "default"
      + role_arn = (known after apply)

      + recording_group {
          + all_supported                 = true
          + include_global_resource_types = true
        }

      + recording_mode {
          + recording_frequency = "DAILY"
        }
    }

  # module.aws_config.aws_config_configuration_recorder_status.this will be created
  + resource "aws_config_configuration_recorder_status" "this" {
      + id         = (known after apply)
      + is_enabled = true
      + name       = "default"
    }

  # module.aws_config.aws_config_delivery_channel.this will be created
  + resource "aws_config_delivery_channel" "this" {
      + id             = (known after apply)
      + name           = "default"
      + s3_bucket_name = "aws-config-bucket-988274420875"
      + s3_key_prefix  = "config"

      + snapshot_delivery_properties {
          + delivery_frequency = "TwentyFour_Hours"
        }
    }

  # module.aws_config.aws_iam_role.config_service[0] will be created
  + resource "aws_iam_role" "config_service" {
      + arn                   = (known after apply)
      + assume_role_policy    = jsonencode(
            {
              + Statement = [
                  + {
                      + Action    = "sts:AssumeRole"
                      + Effect    = "Allow"
                      + Principal = {
                          + Service = "config.amazonaws.com"
                        }
                    },
                ]
              + Version   = "2012-10-17"
            }
        )
      + create_date           = (known after apply)
      + force_detach_policies = false
      + id                    = (known after apply)
      + managed_policy_arns   = (known after apply)
      + max_session_duration  = 3600
      + name                  = "aws-config-service-role-wwnbusiness-services"
      + name_prefix           = (known after apply)
      + path                  = "/"
      + tags                  = {
          + "Environment" = "wwnbusiness-services"
          + "ManagedBy"   = "terraform"
          + "Owner"       = "platform"
        }
      + tags_all              = {
          + "Environment" = "wwnbusiness-services"
          + "ManagedBy"   = "terraform"
          + "Owner"       = "platform"
        }
      + unique_id             = (known after apply)
    }

  # module.aws_config.aws_iam_role_policy.config_s3_delivery[0] will be created
  + resource "aws_iam_role_policy" "config_s3_delivery" {
      + id          = (known after apply)
      + name        = "config-s3-delivery-wwnbusiness-services"
      + name_prefix = (known after apply)
      + policy      = jsonencode(
            {
              + Statement = [
                  + {
                      + Action   = "s3:GetBucketAcl"
                      + Effect   = "Allow"
                      + Resource = "arn:aws:s3:::aws-config-bucket-988274420875"
                      + Sid      = "ConfigBucketAcl"
                    },
                  + {
                      + Action    = "s3:PutObject"
                      + Condition = {
                          + StringEquals = {
                              + "s3:x-amz-acl" = "bucket-owner-full-control"
                            }
                        }
                      + Effect    = "Allow"
                      + Resource  = "arn:aws:s3:::aws-config-bucket-988274420875/config/AWSLogs/988274420875/Config/*"
                      + Sid       = "ConfigObjectDelivery"
                    },
                ]
              + Version   = "2012-10-17"
            }
        )
      + role        = (known after apply)
    }

  # module.aws_config.aws_iam_role_policy_attachment.config_managed[0] will be created
  + resource "aws_iam_role_policy_attachment" "config_managed" {
      + id         = (known after apply)
      + policy_arn = "arn:aws:iam::aws:policy/service-role/AWS_ConfigRole"
      + role       = "aws-config-service-role-wwnbusiness-services"
    }

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

─────────────────────────────────────────────────────────────────────────────

Note: You didn't use the -out option to save this plan, so Terraform can't
guarantee to take exactly these actions if you run "terraform apply" now.
accounts/wwnbusiness-services/s3
ERROR NO AUDIT
View plan output
module.s3.aws_s3_bucket.s3_buckets["aws-config-bucket-988274420875"]: Refreshing state... [id=aws-config-bucket-988274420875]
module.s3.aws_s3_bucket_versioning.versioning["aws-config-bucket-988274420875"]: Refreshing state... [id=aws-config-bucket-988274420875]
module.s3.aws_s3_bucket_policy.custom_policies["aws-config-bucket-988274420875"]: Refreshing state... [id=aws-config-bucket-988274420875]
module.s3.aws_s3_bucket_server_side_encryption_configuration.encryption["aws-config-bucket-988274420875"]: Refreshing state... [id=aws-config-bucket-988274420875]

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform planned the following actions, but then encountered a problem:

  # module.s3.aws_s3_bucket.s3_buckets["aws-config-bucket-988274420875"] will be created
  + resource "aws_s3_bucket" "s3_buckets" {
      + acceleration_status         = (known after apply)
      + acl                         = (known after apply)
      + arn                         = (known after apply)
      + bucket                      = "aws-config-bucket-988274420875"
      + bucket_domain_name          = (known after apply)
      + bucket_prefix               = (known after apply)
      + bucket_regional_domain_name = (known after apply)
      + force_destroy               = true
      + hosted_zone_id              = (known after apply)
      + id                          = (known after apply)
      + object_lock_enabled         = (known after apply)
      + policy                      = (known after apply)
      + region                      = (known after apply)
      + request_payer               = (known after apply)
      + tags_all                    = (known after apply)
      + website_domain              = (known after apply)
      + website_endpoint            = (known after apply)
    }

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

Error: reading S3 Bucket Versioning (aws-config-bucket-988274420875): operation error S3: GetBucketVersioning, https response error StatusCode: 403, RequestID: R4EJYH1FK7ETH49V, HostID: +vNDe6eTHnpd8neaMGKIX1N9Ettp3/+BKLz00HQFFfyGtS2q4nLBNwREAEmvAGfvk4Wrcs78ggkk5tbRpaVUE0k5N9QzrHR+, api error AccessDenied: User: arn:aws:sts::988274420875:assumed-role/platform-infra-pipeline-wwnbusiness-services/gl-drift-17687506888 is not authorized to perform: s3:GetBucketVersioning on resource: "arn:aws:s3:::aws-config-bucket-988274420875" because no resource-based policy allows the s3:GetBucketVersioning action

  with module.s3.aws_s3_bucket_versioning.versioning["aws-config-bucket-988274420875"],
  on ../../../aws/s3/s3.tf line 12, in resource "aws_s3_bucket_versioning" "versioning":
  12: resource "aws_s3_bucket_versioning" "versioning" {


Error: reading S3 Bucket Server-side Encryption Configuration (aws-config-bucket-988274420875): operation error S3: GetBucketEncryption, https response error StatusCode: 403, RequestID: 12W9MV2G52B7XQQ0, HostID: J7KMNutHY2osu3T/2v6DJl9mwRSkcOQUvCMKDbDRcPcPY0pWtewPwgT5sa9iWbAA9DNSuNInRWz84pyLEzSYnEfyP5LiqPZB, api error AccessDenied: User: arn:aws:sts::988274420875:assumed-role/platform-infra-pipeline-wwnbusiness-services/gl-drift-17687506888 is not authorized to perform: s3:GetEncryptionConfiguration on resource: "arn:aws:s3:::aws-config-bucket-988274420875" because no resource-based policy allows the s3:GetEncryptionConfiguration action

  with module.s3.aws_s3_bucket_server_side_encryption_configuration.encryption["aws-config-bucket-988274420875"],
  on ../../../aws/s3/s3.tf line 25, in resource "aws_s3_bucket_server_side_encryption_configuration" "encryption":
  25: resource "aws_s3_bucket_server_side_encryption_configuration" "encryption" {


Error: reading S3 Bucket Policy (aws-config-bucket-988274420875): operation error S3: GetBucketPolicy, https response error StatusCode: 403, RequestID: 12W6XJ1RM9GY7Z9Z, HostID: 6BynWEfKUG0huAds4ZUXyMFYrnju5oHWKZv4SHIBKwP4lWsGG0NxnaJUxS8Xbx9sNnSqACDZuQpew+H5Xlm5nZvegpX7zNE7, api error AccessDenied: User: arn:aws:sts::988274420875:assumed-role/platform-infra-pipeline-wwnbusiness-services/gl-drift-17687506888 is not authorized to perform: s3:GetBucketPolicy on resource: "arn:aws:s3:::aws-config-bucket-988274420875" because no resource-based policy allows the s3:GetBucketPolicy action

  with module.s3.aws_s3_bucket_policy.custom_policies["aws-config-bucket-988274420875"],
  on ../../../aws/s3/s3.tf line 127, in resource "aws_s3_bucket_policy" "custom_policies":
 127: resource "aws_s3_bucket_policy" "custom_policies" {
Generated by GitLab CI/CD · Pipeline #3020911785 · 2026-11-03 06:20:34 UTC