/apply-staging
The daily cost report in #integration-insights was showing $13,103 total spend when actual spend was ~$9,425. Bedrock inference costs were being double-counted:
total_cost_usd ($3,678)format_cost_report.py simply added them: total = inference + awsThe Datadog number was also wrong — it under-reports vs actual Bedrock billing because:
watchdog/clients/llm/client.py) don't emit cost metricscall_generic_llm() calls inside tools (curl_tester, failure_summarizer) bypass the agent SDKcost_usd = None for Bedrock model ARNs (silently dropped)Additionally, the debugging role (integrator-ai-agent-debugging-prod) couldn't be assumed by SSO users due to an MFA condition bug.
infra/scripts/aws_infra_cost_report.py: Separate Bedrock services from infrastructure in Cost Explorer output. New bedrock_total / bedrock_by_service fields. Switch from MONTHLY to DAILY granularity.infra/scripts/format_cost_report.py: Use Bedrock billing as inference source of truth. Datadog metrics used only for per-workflow/per-toolkit attribution. Report the tracking gap between Bedrock billing and internal metrics.infra/terraform/modules/ai-agent-debugging-role/main.tf: Fix trust policy — SSO role-chaining sets aws:MultiFactorAuthPresent=false (not absent), causing BoolIfExists to deny. Split into separate SSO statement (no MFA check, SSO has MFA built-in) and IAM user statement (explicit MFA required).agent/skills/infrastructure/overall-cost-analysis.md: Document new cost source hierarchy and tracking gap causes.source infra/assume-debug-prod.sh # (also tests the SSO fix)
uv run python infra/scripts/aws_infra_cost_report.py --days 1 --json | python3 -c "
import json, sys; d = json.load(sys.stdin)
c = d['aws_costs']
print(f'Infra: \${c[\"total_cost\"]:,.2f}')
print(f'Bedrock: \${c[\"bedrock_total\"]:,.2f}')
print(f'Combined: \${c[\"total_cost_all_services\"]:,.2f}')
"
format_cost_report.py with both reports and verify no double-counting in the headercall_generic_llm() with cost metrics🤖 Generated with Claude Code
/apply-staging
/apply-staging
/apply-staging
ℹ️ Note: The
Plan: 3 to add, 3 to change, 3 to destroy.output is always expected due to a known Terraform AWS provider issue. ECS task definitions show asmust be replacedon every plan because the provider stores container definitions in a different order than AWS returns them. This is cosmetic only - real changes (new images, env vars) are still detected correctly.
module.rds.random_password.master[0]: Refreshing state... [id=none]
module.doppler_aws_secrets.doppler_environment.config: Refreshing state... [id=integrator.prod]
module.rds.random_password.readonly[0]: Refreshing state... [id=none]
data.doppler_secrets.github: Reading...
module.rds.tls_private_key.bastion[0]: Refreshing state... [id=b458af7b383ee8f3e3fcd9aeaac04b321158c3eb]
module.doppler_aws_secrets.data.external.env_vars: Reading...
module.github_actions_role.data.tls_certificate.github: Reading...
module.github_actions_role.data.tls_certificate.github: Read complete after 0s [id=772ed8785f2c647baa040d3a1b4aa6cafacb6267]
module.datadog_log_pipeline.datadog_apm_retention_filter.llmobs_traces: Refreshing state... [id=ZAg6PqW4QYS9vFG1VbVz-g]
module.datadog_watchdog_monitors.datadog_monitor.fixable_error_rate_tiered: Refreshing state... [id=259161122]
module.datadog_aws_integration.data.datadog_integration_aws_iam_permissions.permissions: Reading...
module.datadog_aws_integration.data.datadog_integration_aws_available_namespaces.available: Reading...
module.datadog_watchdog_monitors.datadog_monitor.batch_poller_heartbeat: Refreshing state... [id=258866091]
module.datadog_log_pipeline.datadog_apm_retention_filter.error_traces: Refreshing state... [id=nUNRxvKsTYaNYc3mOIp8qQ]
module.datadog_aws_integration.data.datadog_integration_aws_available_namespaces.available: Read complete after 0s [id=integration-aws-available-namespaces]
module.datadog_aws_integration.data.datadog_integration_aws_iam_permissions.permissions: Read complete after 0s [id=integration-aws-iam-permissions]
module.datadog_monitors.datadog_monitor.all_errors_log[0]: Refreshing state... [id=253047645]
module.datadog_monitors.datadog_monitor.error_tracking_new_issues: Refreshing state... [id=253047644]
module.datadog_watchdog_monitors.datadog_monitor.fixable_error_rate_anomaly: Refreshing state... [id=258866090]
module.doppler_aws_secrets.data.external.env_vars: Read complete after 1s [id=-]
module.datadog_log_pipeline.datadog_logs_index.integrator: Refreshing state... [id=integrator-prod]
module.datadog_log_pipeline.datadog_logs_custom_pipeline.integrator_json: Refreshing state... [id=Tr5j8R9oTUmYINowsAYAcw]
data.doppler_secrets.github: Read complete after 1s [id=integrator.prod]
module.ecs_api.aws_iam_role.api_task: Refreshing state... [id=integrator-prod-api-task-role]
module.ecs_api.aws_cloudwatch_log_group.poller_logs: Refreshing state... [id=/ecs/integrator/prod/poller]
module.private_subnets.data.aws_availability_zones.available: Reading...
module.rds.aws_iam_role.rds_monitoring[0]: Refreshing state... [id=integrator-prod-rds-monitoring-role]
module.ecs_api.aws_s3_bucket.migrations: Refreshing state... [id=integrator-prod-migrations]
module.private_subnets.data.aws_availability_zones.available: Read complete after 0s [id=us-east-1]
module.doppler_aws_secrets.aws_iam_role.doppler_secrets_manager: Refreshing state... [id=integrator-prod-doppler-secrets-manager-role]
module.ecs_api.aws_iam_policy.ecs_exec: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-api-ecs-exec-policy]
module.rds.data.aws_ami.amazon_linux[0]: Reading...
module.rds.data.aws_region.current: Reading...
module.rds.data.aws_region.current: Read complete after 0s [id=us-east-1]
module.github_actions_role.aws_iam_openid_connect_provider.github[0]: Refreshing state... [id=arn:aws:iam::256586139593:oidc-provider/token.actions.githubusercontent.com]
module.rds.aws_key_pair.bastion[0]: Refreshing state... [id=integrator-prod-bastion-key]
module.ecs_api.aws_cloudwatch_log_group.migrations_lambda_logs: Refreshing state... [id=/aws/lambda/integrator-prod-migrations]
module.ecs_api.aws_ecr_repository.api[0]: Refreshing state... [id=integrator-api]
module.ecs_api.aws_iam_role.api_task_execution: Refreshing state... [id=integrator-prod-api-task-execution-role]
module.ecs_api.aws_cloudwatch_log_group.api_logs: Refreshing state... [id=/ecs/integrator/prod/api]
module.ecs_api.aws_cloudwatch_log_group.migrations_logs: Refreshing state... [id=/ecs/integrator/prod/migrations]
module.ecs_api.aws_iam_role.migrations_lambda: Refreshing state... [id=integrator-prod-migrations-lambda-role]
module.ecs_api.aws_s3_bucket.alb_logs[0]: Refreshing state... [id=integrator-prod-alb-logs]
module.doppler_aws_secrets.aws_iam_policy.doppler_secrets_manager: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-doppler-secrets-manager-policy]
module.ecs_api.data.aws_elb_service_account.main: Reading...
module.ecs_api.data.aws_elb_service_account.main: Read complete after 0s [id=127311923021]
module.rds.aws_db_parameter_group.main: Refreshing state... [id=integrator-prod-postgres-20251121153637932500000001]
module.rds.aws_iam_role.bastion[0]: Refreshing state... [id=integrator-prod-bastion-role]
module.rds.aws_secretsmanager_secret.readonly_password[0]: Refreshing state... [id=integrator/prod/rds-readonly-password]
module.private_subnets.data.aws_vpc.default: Reading...
module.knowledge_bucket.aws_s3_bucket.this: Refreshing state... [id=integrator-knowledge-prod]
module.bedrock_profiles.data.aws_region.current: Reading...
module.bedrock_profiles.data.aws_region.current: Read complete after 0s [id=us-east-1]
module.rds.aws_secretsmanager_secret.master_password[0]: Refreshing state... [id=arn:aws:secretsmanager:us-east-1:256586139593:secret:integrator/prod/rds-master-password-eUwfvl]
module.artifacts_bucket.aws_s3_bucket.this: Refreshing state... [id=integrator-artifacts-prod]
module.ecs_api.data.aws_vpc.selected: Reading...
data.aws_caller_identity.current: Reading...
data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
module.ai_agent_debugging_role.data.aws_caller_identity.current: Reading...
module.ai_agent_debugging_role.data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
module.github_actions_role.data.aws_caller_identity.current: Reading...
module.github_actions_role.data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
module.ecs_api.data.aws_caller_identity.current: Reading...
module.ecs_api.data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
module.ecs_api.data.aws_ecs_cluster.default: Reading...
module.rds.aws_secretsmanager_secret.bastion_ssh_key[0]: Refreshing state... [id=arn:aws:secretsmanager:us-east-1:256586139593:secret:integrator/prod/bastion-ssh-key-1KH899]
module.doppler_aws_secrets.data.doppler_secrets.existing: Reading...
module.ecs_api.data.aws_ecs_cluster.default: Read complete after 1s [id=arn:aws:ecs:us-east-1:256586139593:cluster/default]
github_actions_secret.gh_access_token: Refreshing state... [id=integrator:GH_ACCESS_TOKEN]
module.rds.aws_iam_role_policy_attachment.rds_monitoring[0]: Refreshing state... [id=integrator-prod-rds-monitoring-role-20251121100809599300000002]
module.doppler_aws_secrets.doppler_integration_aws_secrets_manager.integration: Refreshing state... [id=f8180e75-b756-44ea-94f0-ba14f3f34cf3]
module.github_actions_role.aws_iam_role.github_actions: Refreshing state... [id=integrator-github-actions-prod]
module.ecs_api.aws_iam_role_policy_attachment.api_ecs_exec: Refreshing state... [id=integrator-prod-api-task-role-20260110143245125100000001]
module.rds.data.aws_ami.amazon_linux[0]: Read complete after 1s [id=ami-0aae19d30bab785d3]
module.ecs_api.aws_s3_bucket_public_access_block.migrations: Refreshing state... [id=integrator-prod-migrations]
module.ecs_api.aws_iam_role_policy_attachment.api_task_execution: Refreshing state... [id=integrator-prod-api-task-execution-role-20251119130129752900000001]
module.ecs_api.aws_ecr_lifecycle_policy.api[0]: Refreshing state... [id=integrator-api]
module.private_subnets.data.aws_vpc.default: Read complete after 1s [id=vpc-0529dea5160deb846]
module.doppler_aws_secrets.aws_iam_role_policy_attachment.doppler_secrets_manager: Refreshing state... [id=integrator-prod-doppler-secrets-manager-role-20251117114311112900000001]
module.ecs_api.data.aws_vpc.selected: Read complete after 1s [id=vpc-0529dea5160deb846]
module.ecs_api.aws_iam_role_policy_attachment.migrations_lambda_basic: Refreshing state... [id=integrator-prod-migrations-lambda-role-20260204170613005600000002]
module.ecs_api.aws_iam_role_policy_attachment.migrations_lambda_vpc: Refreshing state... [id=integrator-prod-migrations-lambda-role-20260204170613044800000003]
module.rds.aws_iam_instance_profile.bastion[0]: Refreshing state... [id=integrator-prod-bastion-profile]
module.rds.aws_iam_role_policy_attachment.bastion_ssm[0]: Refreshing state... [id=integrator-prod-bastion-role-20251209065339934800000002]
module.rds.aws_secretsmanager_secret_version.readonly_password[0]: Refreshing state... [id=integrator/prod/rds-readonly-password|terraform-20260113102854430300000001]
module.rds.aws_secretsmanager_secret_version.master_password[0]: Refreshing state... [id=arn:aws:secretsmanager:us-east-1:256586139593:secret:integrator/prod/rds-master-password-eUwfvl|terraform-20260102104323671400000002]
module.ecs_api.aws_s3_bucket_lifecycle_configuration.alb_logs[0]: Refreshing state... [id=integrator-prod-alb-logs]
module.ecs_api.aws_iam_policy.bedrock_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-api-bedrock-access]
module.ecs_api.aws_s3_bucket_public_access_block.alb_logs[0]: Refreshing state... [id=integrator-prod-alb-logs]
module.ecs_api.aws_s3_bucket_server_side_encryption_configuration.alb_logs[0]: Refreshing state... [id=integrator-prod-alb-logs]
module.rds.aws_secretsmanager_secret_version.bastion_ssh_key[0]: Refreshing state... [id=arn:aws:secretsmanager:us-east-1:256586139593:secret:integrator/prod/bastion-ssh-key-1KH899|terraform-20251209070355334400000002]
module.doppler_aws_secrets.data.doppler_secrets.existing: Read complete after 1s [id=integrator.prod]
module.knowledge_bucket.aws_s3_bucket_versioning.this[0]: Refreshing state... [id=integrator-knowledge-prod]
module.knowledge_bucket.aws_s3_bucket_public_access_block.this: Refreshing state... [id=integrator-knowledge-prod]
module.knowledge_bucket.aws_s3_bucket_lifecycle_configuration.this: Refreshing state... [id=integrator-knowledge-prod]
module.knowledge_bucket.aws_s3_bucket_server_side_encryption_configuration.this: Refreshing state... [id=integrator-knowledge-prod]
module.artifacts_bucket.aws_s3_bucket_lifecycle_configuration.this: Refreshing state... [id=integrator-artifacts-prod]
module.artifacts_bucket.aws_s3_bucket_server_side_encryption_configuration.this: Refreshing state... [id=integrator-artifacts-prod]
module.artifacts_bucket.aws_s3_bucket_public_access_block.this: Refreshing state... [id=integrator-artifacts-prod]
module.private_subnets.aws_route_table.private: Refreshing state... [id=rtb-0cec1fb4f58eaade7]
module.private_subnets.aws_subnet.private[0]: Refreshing state... [id=subnet-0c9ccc78412c4983e]
module.private_subnets.aws_subnet.private[1]: Refreshing state... [id=subnet-0e6efa013fe2ac723]
module.ecs_api.aws_security_group.alb: Refreshing state... [id=sg-01a98c3baf47519e1]
module.ecs_api.data.aws_subnets.public: Reading...
module.ecs_api.aws_security_group.vpc_endpoints[0]: Refreshing state... [id=sg-08812bf3835fa7025]
module.ecs_api.data.aws_route_tables.main: Reading...
module.ecs_api.aws_lb_target_group.api: Refreshing state... [id=arn:aws:elasticloadbalancing:us-east-1:256586139593:targetgroup/integrator-prod-api-tg/480bcba81e9b7bc4]
module.ecs_api.data.aws_route_tables.main: Read complete after 0s [id=us-east-1]
module.bedrock_profiles.aws_bedrock_inference_profile.sonnet: Refreshing state... [id=enps8f03v7hs]
module.ecs_api.data.aws_subnets.public: Read complete after 0s [id=us-east-1]
module.bedrock_profiles.aws_bedrock_inference_profile.haiku: Refreshing state... [id=8o8r6d38y4zb]
module.bedrock_profiles.aws_bedrock_inference_profile.opus: Refreshing state... [id=958j2gt23zd8]
module.datadog_aws_integration.datadog_integration_aws_account.this: Refreshing state... [id=f7db3959-cf79-4150-a3bf-411d58e829e7]
module.doppler_aws_secrets.doppler_secret.secrets["ENCRYPTION_KEY"]: Refreshing state... [id=integrator.prod.ENCRYPTION_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["ANCHOR_API_KEY"]: Refreshing state... [id=integrator.prod.ANCHOR_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["AZURE_OPENAI_SUBSCRIPTION_KEY"]: Refreshing state... [id=integrator.prod.AZURE_OPENAI_SUBSCRIPTION_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["NOTION_API_KEY"]: Refreshing state... [id=integrator.prod.NOTION_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["DD_APP_KEY"]: Refreshing state... [id=integrator.prod.DD_APP_KEY]
module.datadog_dashboards.datadog_dashboard.workflow_debugging[0]: Refreshing state... [id=2mg-shi-xe5]
module.doppler_aws_secrets.doppler_secret.secrets["DEEPSEEK_API_KEY"]: Refreshing state... [id=integrator.prod.DEEPSEEK_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_SERPAPI_API_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_SERPAPI_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["FIRECRAWL_API_KEY"]: Refreshing state... [id=integrator.prod.FIRECRAWL_API_KEY]
module.datadog_dashboards.datadog_dashboard.cost[0]: Refreshing state... [id=sg9-zyk-4r7]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_TAVILY_API_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_TAVILY_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["GITHUB_REVIEWER_TOKEN"]: Refreshing state... [id=integrator.prod.GITHUB_REVIEWER_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["LINEAR_API_KEY"]: Refreshing state... [id=integrator.prod.LINEAR_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["AZURE_OPENAI_ENDPOINT_URL"]: Refreshing state... [id=integrator.prod.AZURE_OPENAI_ENDPOINT_URL]
module.doppler_aws_secrets.doppler_secret.secrets["PIPEDREAM_PATH"]: Refreshing state... [id=integrator.prod.PIPEDREAM_PATH]
module.doppler_aws_secrets.doppler_secret.secrets["USE_APOLLO_GET_DOWNLOAD_URL_API"]: Refreshing state... [id=integrator.prod.USE_APOLLO_GET_DOWNLOAD_URL_API]
module.doppler_aws_secrets.doppler_secret.secrets["OPENAI_API_KEY"]: Refreshing state... [id=integrator.prod.OPENAI_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_USERNAME"]: Refreshing state... [id=integrator.prod.THERMOS_USERNAME]
module.doppler_aws_secrets.doppler_secret.secrets["GROQ_API_KEY"]: Refreshing state... [id=integrator.prod.GROQ_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_PASSWORD"]: Refreshing state... [id=integrator.prod.THERMOS_PASSWORD]
module.doppler_aws_secrets.doppler_secret.secrets["PERPLEXITY_API_KEY"]: Refreshing state... [id=integrator.prod.PERPLEXITY_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["LANGSMITH_TRACING"]: Refreshing state... [id=integrator.prod.LANGSMITH_TRACING]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_HOST"]: Refreshing state... [id=integrator.prod.THERMOS_HOST]
module.doppler_aws_secrets.doppler_secret.secrets["BRANDFETCH_API_KEY"]: Refreshing state... [id=integrator.prod.BRANDFETCH_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["ANTHROPIC_API_KEY"]: Refreshing state... [id=integrator.prod.ANTHROPIC_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["MERCURY_AUTOLOAD"]: Refreshing state... [id=integrator.prod.MERCURY_AUTOLOAD]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_DATABASE"]: Refreshing state... [id=integrator.prod.THERMOS_DATABASE]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_API_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["GH_WEBHOOK_SECRET"]: Refreshing state... [id=integrator.prod.GH_WEBHOOK_SECRET]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_ADMIN_TOKEN"]: Refreshing state... [id=integrator.prod.COMPOSIO_ADMIN_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["Z_AI_API_KEY"]: Refreshing state... [id=integrator.prod.Z_AI_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_STAGING_API_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_STAGING_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["WATCHDOG_MAX_FIXERS_PER_DAY"]: Refreshing state... [id=integrator.prod.WATCHDOG_MAX_FIXERS_PER_DAY]
module.doppler_aws_secrets.doppler_secret.secrets["PYTHONPATH"]: Refreshing state... [id=integrator.prod.PYTHONPATH]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_YELP_API_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_YELP_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["TWITTER_API_SECRET"]: Refreshing state... [id=integrator.prod.TWITTER_API_SECRET]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_INSTACART_API_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_INSTACART_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["ZAPIER_PATH"]: Refreshing state... [id=integrator.prod.ZAPIER_PATH]
module.doppler_aws_secrets.doppler_secret.secrets["TWITTER_API_KEY"]: Refreshing state... [id=integrator.prod.TWITTER_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["TOOLS_DATABASE_URL"]: Refreshing state... [id=integrator.prod.TOOLS_DATABASE_URL]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_GEMINI_API_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_GEMINI_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["VERCEL_AI_GATEWAY_API_KEY"]: Refreshing state... [id=integrator.prod.VERCEL_AI_GATEWAY_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_SEATGEEK_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_SEATGEEK_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["HELICONE_API_KEY"]: Refreshing state... [id=integrator.prod.HELICONE_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["TEST_CONNECTION_ID"]: Refreshing state... [id=integrator.prod.TEST_CONNECTION_ID]
module.doppler_aws_secrets.doppler_secret.secrets["Z_AI_BASE_URL"]: Refreshing state... [id=integrator.prod.Z_AI_BASE_URL]
module.doppler_aws_secrets.doppler_secret.secrets["CLICKHOUSE_USERNAME"]: Refreshing state... [id=integrator.prod.CLICKHOUSE_USERNAME]
module.doppler_aws_secrets.doppler_secret.secrets["WATCHDOG_BATCH_POLLER_DISABLED"]: Refreshing state... [id=integrator.prod.WATCHDOG_BATCH_POLLER_DISABLED]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_STAGING_ADMIN_TOKEN"]: Refreshing state... [id=integrator.prod.COMPOSIO_STAGING_ADMIN_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["GITHUB_ACCESS_TOKEN"]: Refreshing state... [id=integrator.prod.GITHUB_ACCESS_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["BACKEND_READONLY_URL"]: Refreshing state... [id=integrator.prod.BACKEND_READONLY_URL]
module.doppler_aws_secrets.doppler_secret.secrets["APOLLO_URL"]: Refreshing state... [id=integrator.prod.APOLLO_URL]
module.doppler_aws_secrets.doppler_secret.secrets["APOLLO_ADMIN_TOKEN"]: Refreshing state... [id=integrator.prod.APOLLO_ADMIN_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_EXA_API_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_EXA_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["DISABLE_MERCURY_CLEANUP"]: Refreshing state... [id=integrator.prod.DISABLE_MERCURY_CLEANUP]
module.doppler_aws_secrets.doppler_secret.secrets["DD_API_KEY"]: Refreshing state... [id=integrator.prod.DD_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["STATSD_METRICS_FLUSH_WAIT_TIME_SECS"]: Refreshing state... [id=integrator.prod.STATSD_METRICS_FLUSH_WAIT_TIME_SECS]
module.doppler_aws_secrets.doppler_secret.secrets["MINIMAX_API_KEY"]: Refreshing state... [id=integrator.prod.MINIMAX_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["SLACK_BOT_TOKEN"]: Refreshing state... [id=integrator.prod.SLACK_BOT_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["LANGSMITH_ENDPOINT"]: Refreshing state... [id=integrator.prod.LANGSMITH_ENDPOINT]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_WEBHOOK_SECRET"]: Refreshing state... [id=integrator.prod.COMPOSIO_WEBHOOK_SECRET]
module.doppler_aws_secrets.doppler_secret.secrets["CLICKHOUSE_PASSWORD"]: Refreshing state... [id=integrator.prod.CLICKHOUSE_PASSWORD]
module.doppler_aws_secrets.doppler_secret.secrets["LANGSMITH_API_KEY"]: Refreshing state... [id=integrator.prod.LANGSMITH_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_PORT"]: Refreshing state... [id=integrator.prod.THERMOS_PORT]
module.ecs_api.aws_s3_bucket_policy.alb_logs[0]: Refreshing state... [id=integrator-prod-alb-logs]
module.ecs_api.aws_iam_role_policy_attachment.api_bedrock_access: Refreshing state... [id=integrator-prod-api-task-role-20260209135620314900000002]
module.ai_agent_debugging_role.aws_iam_role.ai_agent_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod]
module.github_actions_role.aws_iam_role_policy.cloudwatch_logs: Refreshing state... [id=integrator-github-actions-prod:integrator-github-actions-prod-cloudwatch-logs-policy]
module.github_actions_role.aws_iam_role_policy_attachment.terraform_admin[0]: Refreshing state... [id=integrator-github-actions-prod-20260115155059879900000001]
module.github_actions_role.aws_iam_role_policy.lambda: Refreshing state... [id=integrator-github-actions-prod:integrator-github-actions-prod-lambda-policy]
data.aws_vpc.default: Reading...
module.ecs_api.aws_security_group.api: Refreshing state... [id=sg-0b340dddce9618955]
module.private_subnets.aws_route_table_association.private[0]: Refreshing state... [id=rtbassoc-0965ac73c1c272e6d]
module.private_subnets.aws_route_table_association.private[1]: Refreshing state... [id=rtbassoc-004db5cb1a7f82fe4]
module.ecs_api.aws_vpc_endpoint.s3[0]: Refreshing state... [id=vpce-01dcb60025fcb1af7]
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_assume_role: Reading...
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_assume_role: Read complete after 0s [id=3755515486]
module.rds.data.aws_vpc.selected: Reading...
module.rds.aws_security_group.rds_client[0]: Refreshing state... [id=sg-0a5f38e269947dd2b]
github_actions_secret.aws_role_arn: Refreshing state... [id=integrator:AWS_ROLE_ARN_PROD]
module.rds.aws_security_group.bastion[0]: Refreshing state... [id=sg-00fec6e131a7856da]
data.aws_vpc.default: Read complete after 0s [id=vpc-0529dea5160deb846]
module.doppler_aws_secrets.doppler_secrets_sync_aws_secrets_manager.sync: Refreshing state... [id=dd32cab2-43b9-4982-8608-0d9e7ef07008]
module.ecs_api.aws_vpc_endpoint.secretsmanager[0]: Refreshing state... [id=vpce-03bbad757c880b926]
module.rds.data.aws_vpc.selected: Read complete after 1s [id=vpc-0529dea5160deb846]
module.ecs_api.aws_lb.api: Refreshing state... [id=arn:aws:elasticloadbalancing:us-east-1:256586139593:loadbalancer/app/integrator-prod-alb/a90df99d7efaafb4]
module.datadog_aws_integration.aws_iam_role.datadog: Refreshing state... [id=DatadogIntegrationRole-prod]
module.rds.aws_db_subnet_group.main: Refreshing state... [id=integrator-prod-db-subnet-group]
data.aws_subnets.public: Reading...
github_actions_secret.ecs_subnets: Refreshing state... [id=integrator:ECS_SUBNETS_PROD]
data.aws_subnets.public: Read complete after 0s [id=us-east-1]
module.rds.aws_security_group_rule.bastion_proxy[0]: Refreshing state... [id=sgrule-417166805]
module.rds.aws_security_group.rds: Refreshing state... [id=sg-0d7ecef877697558c]
module.datadog_infra_alerts.datadog_monitor.alb_unhealthy_targets[0]: Refreshing state... [id=253204905]
module.ai_agent_debugging_role.aws_iam_role_policy.ecr_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-ecr-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.rds_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-rds-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.cloudwatch_metrics_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-cloudwatch-metrics-policy]
module.clickhouse_privatelink.aws_security_group.clickhouse_vpce: Refreshing state... [id=sg-034330929d9d990c1]
module.ai_agent_debugging_role.aws_iam_role_policy.cloudwatch_logs_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-cloudwatch-logs-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.iam_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-iam-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.ecs_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-ecs-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.deny_privilege_escalation: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-deny-privilege-escalation]
module.ai_agent_debugging_role.aws_iam_role_policy.s3_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-s3-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.vpc_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-vpc-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.cost_explorer_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-cost-explorer-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.alb_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-alb-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.secrets_manager_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-secrets-manager-policy]
module.ecs_api.aws_lb_listener.http: Refreshing state... [id=arn:aws:elasticloadbalancing:us-east-1:256586139593:listener/app/integrator-prod-alb/a90df99d7efaafb4/0c03b8bc33aef8d0]
module.doppler_aws_secrets.null_resource.wait_for_secrets: Refreshing state... [id=6377302389223299939]
module.datadog_aws_integration.aws_iam_role_policy_attachment.security_audit: Refreshing state... [id=DatadogIntegrationRole-prod-20260122200458727200000001]
module.clickhouse_privatelink.aws_vpc_endpoint.clickhouse: Refreshing state... [id=vpce-042be8f500c67fba7]
module.rds.aws_db_instance.main: Refreshing state... [id=db-PPFVILK5DKEQIIFO47ASSRDD2A]
github_actions_secret.aws_debugging_role_arn: Refreshing state... [id=integrator:AWS_DEBUGGING_ROLE_ARN_PROD]
github_actions_secret.ecs_security_groups: Refreshing state... [id=integrator:ECS_SECURITY_GROUPS_PROD]
module.rds.aws_instance.bastion[0]: Refreshing state... [id=i-0342e072cbf34ad16]
module.datadog_infra_alerts.datadog_monitor.alb_5xx[0]: Refreshing state... [id=253204904]
module.rds.null_resource.create_readonly_user[0]: Refreshing state... [id=1172274362782256699]
module.datadog_infra_alerts.datadog_monitor.rds_cpu: Refreshing state... [id=253205241]
module.datadog_infra_alerts.datadog_monitor.rds_queue_depth: Refreshing state... [id=253205237]
module.datadog_infra_alerts.datadog_monitor.rds_storage: Refreshing state... [id=253205238]
module.datadog_infra_alerts.datadog_monitor.rds_read_latency: Refreshing state... [id=253205236]
module.datadog_infra_alerts.datadog_monitor.rds_write_latency: Refreshing state... [id=253205235]
module.datadog_infra_alerts.datadog_monitor.rds_connections: Refreshing state... [id=253205240]
module.datadog_infra_alerts.datadog_monitor.rds_memory: Refreshing state... [id=253205239]
module.ecs_api.aws_iam_policy.api_secrets_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-api-secrets-access]
module.ecs_api.aws_iam_role_policy.migrations_lambda_access: Refreshing state... [id=integrator-prod-migrations-lambda-role:integrator-prod-migrations-lambda-access]
module.ecs_api.aws_lambda_function.migrations: Refreshing state... [id=integrator-prod-migrations]
module.ecs_api.aws_ecs_task_definition.migrations: Refreshing state... [id=integrator-prod-migrations]
module.ecs_api.aws_iam_role_policy_attachment.api_secrets_access: Refreshing state... [id=integrator-prod-api-task-execution-role-20251127102314997400000001]
module.clickhouse_privatelink.clickhouse_service_private_endpoints_attachment.this: Refreshing state...
module.rds.aws_eip.bastion[0]: Refreshing state... [id=eipalloc-0e0ae9a6a950dc2d6]
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[2]: Reading...
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[0]: Reading...
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[4]: Reading...
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[3]: Reading...
module.ecs_background_runner.aws_iam_policy.s3_knowledge_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-s3-knowledge-access]
module.ecs_background_runner.aws_iam_role.task_execution: Refreshing state... [id=integrator-prod-ecs-task-execution-role]
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[1]: Reading...
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[4]: Read complete after 0s [id=3797455924]
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[1]: Read complete after 0s [id=1846264275]
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[2]: Read complete after 0s [id=4005895420]
module.ecs_background_runner.aws_ecs_cluster.cluster[0]: Refreshing state... [id=arn:aws:ecs:us-east-1:256586139593:cluster/default]
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[3]: Read complete after 0s [id=2585308447]
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[0]: Read complete after 0s [id=616917803]
module.ecs_background_runner.aws_iam_policy.ecs_exec: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-ecs-exec-policy]
module.ecs_background_runner.aws_ecr_repository.background_runner[0]: Refreshing state... [id=integrator-background-runner]
module.ecs_background_runner.aws_iam_policy.bedrock_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-bedrock-access]
module.ecs_background_runner.aws_cloudwatch_log_group.ecs_task_events: Refreshing state... [id=/aws/events/integrator/prod/ecs-task-state-change]
module.ecs_background_runner.aws_iam_policy.secrets_manager_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-ecs-secrets-access]
module.ecs_background_runner.aws_cloudwatch_log_group.task_logs: Refreshing state... [id=/ecs/integrator/prod/background-runner]
module.ecs_background_runner.aws_iam_role.task: Refreshing state... [id=integrator-prod-ecs-task-role]
module.datadog_aws_integration.aws_iam_policy.datadog[1]: Refreshing state... [id=arn:aws:iam::256586139593:policy/DatadogIntegrationPolicy-prod-2]
module.datadog_aws_integration.aws_iam_policy.datadog[3]: Refreshing state... [id=arn:aws:iam::256586139593:policy/DatadogIntegrationPolicy-prod-4]
module.datadog_aws_integration.aws_iam_policy.datadog[2]: Refreshing state... [id=arn:aws:iam::256586139593:policy/DatadogIntegrationPolicy-prod-3]
module.datadog_aws_integration.aws_iam_policy.datadog[4]: Refreshing state... [id=arn:aws:iam::256586139593:policy/DatadogIntegrationPolicy-prod-5]
module.datadog_aws_integration.aws_iam_policy.datadog[0]: Refreshing state... [id=arn:aws:iam::256586139593:policy/DatadogIntegrationPolicy-prod-1]
module.ecs_background_runner.aws_cloudwatch_event_rule.ecs_task_state_change: Refreshing state... [id=integrator-prod-ecs-task-state-change]
module.ecs_background_runner.aws_iam_role_policy_attachment.task_execution: Refreshing state... [id=integrator-prod-ecs-task-execution-role-20251117132727612500000001]
module.ecs_background_runner.aws_ecr_lifecycle_policy.background_runner[0]: Refreshing state... [id=integrator-background-runner]
module.ecs_background_runner.aws_iam_role_policy_attachment.secrets_access: Refreshing state... [id=integrator-prod-ecs-task-execution-role-20251117132727872900000002]
module.ecs_background_runner.aws_iam_role_policy_attachment.ecs_exec: Refreshing state... [id=integrator-prod-ecs-task-role-20251118121957970700000001]
module.ecs_background_runner.aws_iam_role_policy_attachment.s3_knowledge_access: Refreshing state... [id=integrator-prod-ecs-task-role-20260110150021566200000001]
module.ecs_background_runner.aws_iam_role_policy_attachment.bedrock_access: Refreshing state... [id=integrator-prod-ecs-task-role-20260209135620251900000001]
module.ecs_background_runner.aws_ecs_task_definition.background_runner: Refreshing state... [id=integrator-prod-background-runner]
module.datadog_aws_integration.aws_iam_role_policy_attachment.datadog[0]: Refreshing state... [id=DatadogIntegrationRole-prod-20260122200458870300000006]
module.datadog_aws_integration.aws_iam_role_policy_attachment.datadog[1]: Refreshing state... [id=DatadogIntegrationRole-prod-20260122200458823800000002]
module.datadog_aws_integration.aws_iam_role_policy_attachment.datadog[2]: Refreshing state... [id=DatadogIntegrationRole-prod-20260122200458869600000005]
module.datadog_aws_integration.aws_iam_role_policy_attachment.datadog[4]: Refreshing state... [id=DatadogIntegrationRole-prod-20260122200458829600000003]
module.github_actions_role.aws_iam_role_policy.ecr: Refreshing state... [id=integrator-github-actions-prod:integrator-github-actions-prod-ecr-policy]
module.datadog_aws_integration.aws_iam_role_policy_attachment.datadog[3]: Refreshing state... [id=DatadogIntegrationRole-prod-20260122200458830300000004]
module.ecs_background_runner.aws_cloudwatch_event_target.ecs_task_state_change_logs: Refreshing state... [id=integrator-prod-ecs-task-state-change-LogTaskStateChanges]
module.ecs_api.aws_ecs_task_definition.api: Refreshing state... [id=integrator-prod-api]
module.datadog_infra_alerts.datadog_monitor.background_runner_memory: Refreshing state... [id=253205244]
module.ecs_api.aws_iam_policy.launch_background_runner: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-api-launch-tasks-policy]
module.ecs_api.aws_ecs_task_definition.poller: Refreshing state... [id=integrator-prod-poller]
module.ecs_api.aws_ecs_service.api: Refreshing state... [id=arn:aws:ecs:us-east-1:256586139593:service/default/integrator-prod-api]
module.ecs_api.aws_iam_role_policy_attachment.api_launch_tasks: Refreshing state... [id=integrator-prod-api-task-role-20251119130129778400000002]
module.ecs_api.aws_ecs_service.poller: Refreshing state... [id=arn:aws:ecs:us-east-1:256586139593:service/default/integrator-prod-poller]
module.datadog_infra_alerts.datadog_monitor.ecs_api_memory: Refreshing state... [id=253205257]
module.datadog_infra_alerts.datadog_monitor.ecs_api_task_failures: Refreshing state... [id=253205260]
module.datadog_infra_alerts.datadog_monitor.ecs_api_cpu: Refreshing state... [id=253205258]
module.github_actions_role.aws_iam_role_policy.ecs: Refreshing state... [id=integrator-github-actions-prod:integrator-github-actions-prod-ecs-policy]
module.datadog_infra_alerts.datadog_monitor.ecs_poller_memory: Refreshing state... [id=253205261]
module.datadog_infra_alerts.datadog_monitor.ecs_poller_cpu: Refreshing state... [id=253205259]
module.datadog_infra_alerts.datadog_monitor.ecs_poller_task_failures: Refreshing state... [id=253205262]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
- destroy
-/+ destroy and then create replacement
<= read (data resources)
Terraform will perform the following actions:
# module.ai_agent_debugging_role.aws_iam_role.ai_agent_debugging will be updated in-place
~ resource "aws_iam_role" "ai_agent_debugging" {
~ assume_role_policy = jsonencode(
~ {
~ Statement = [
~ {
~ Condition = {
- BoolIfExists = {
- "aws:MultiFactorAuthPresent" = "true"
}
~ StringLike = {
~ "aws:PrincipalArn" = [
- "arn:aws:iam::256586139593:user/*",
- "arn:aws:iam::256586139593:role/aws-reserved/sso.amazonaws.com/AWSReservedSSO_*",
] -> "arn:aws:iam::256586139593:role/aws-reserved/sso.amazonaws.com/AWSReservedSSO_*"
}
}
+ Sid = "AllowSSORoles"
# (3 unchanged attributes hidden)
},
+ {
+ Action = "sts:AssumeRole"
+ Condition = {
+ Bool = {
+ "aws:MultiFactorAuthPresent" = "true"
}
+ StringLike = {
+ "aws:PrincipalArn" = "arn:aws:iam::256586139593:user/*"
}
}
+ Effect = "Allow"
+ Principal = {
+ AWS = "arn:aws:iam::256586139593:root"
}
+ Sid = "AllowIAMUsers"
},
{
Action = "sts:AssumeRoleWithWebIdentity"
Condition = {
StringEquals = {
"token.actions.githubusercontent.com:aud" = "sts.amazonaws.com"
}
StringLike = {
"token.actions.githubusercontent.com:sub" = [
"repo:ComposioHQ/integrator:ref:refs/heads/next",
"repo:ComposioHQ/integrator:environment:production",
]
}
}
Effect = "Allow"
Principal = {
Federated = "arn:aws:iam::256586139593:oidc-provider/token.actions.githubusercontent.com"
}
},
]
# (1 unchanged attribute hidden)
}
)
id = "integrator-ai-agent-debugging-prod"
name = "integrator-ai-agent-debugging-prod"
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-ai-agent-debugging-prod"
"Purpose" = "AI Agent Read-only Debugging"
}
# (8 unchanged attributes hidden)
# (12 unchanged blocks hidden)
}
# module.doppler_aws_secrets.data.aws_secretsmanager_secrets.synced will be read during apply
# (depends on a resource or a module with changes pending)
<= data "aws_secretsmanager_secrets" "synced" {
+ arns = (known after apply)
+ id = (known after apply)
+ names = (known after apply)
+ filter {
+ name = "name"
+ values = [
+ "doppler/integrator/prod/",
]
}
}
# module.doppler_aws_secrets.doppler_secret.secrets["DEEPSEEK_API_KEY"] will be destroyed
# (because key ["DEEPSEEK_API_KEY"] is not in for_each map)
- resource "doppler_secret" "secrets" {
- computed = (sensitive value) -> null
- config = "prod" -> null
- id = "integrator.prod.DEEPSEEK_API_KEY" -> null
- name = "DEEPSEEK_API_KEY" -> null
- project = "integrator" -> null
- value = (sensitive value) -> null
- value_type = "string" -> null
- visibility = "masked" -> null
}
# module.doppler_aws_secrets.doppler_secret.secrets["MINIMAX_API_KEY"] will be destroyed
# (because key ["MINIMAX_API_KEY"] is not in for_each map)
- resource "doppler_secret" "secrets" {
- computed = (sensitive value) -> null
- config = "prod" -> null
- id = "integrator.prod.MINIMAX_API_KEY" -> null
- name = "MINIMAX_API_KEY" -> null
- project = "integrator" -> null
- value = (sensitive value) -> null
- value_type = "string" -> null
- visibility = "masked" -> null
}
# module.doppler_aws_secrets.doppler_secret.secrets["Z_AI_API_KEY"] will be destroyed
# (because key ["Z_AI_API_KEY"] is not in for_each map)
- resource "doppler_secret" "secrets" {
- computed = (sensitive value) -> null
- config = "prod" -> null
- id = "integrator.prod.Z_AI_API_KEY" -> null
- name = "Z_AI_API_KEY" -> null
- project = "integrator" -> null
- value = (sensitive value) -> null
- value_type = "string" -> null
- visibility = "masked" -> null
}
# module.doppler_aws_secrets.doppler_secret.secrets["Z_AI_BASE_URL"] will be destroyed
# (because key ["Z_AI_BASE_URL"] is not in for_each map)
- resource "doppler_secret" "secrets" {
- computed = (sensitive value) -> null
- config = "prod" -> null
- id = "integrator.prod.Z_AI_BASE_URL" -> null
- name = "Z_AI_BASE_URL" -> null
- project = "integrator" -> null
- value = (sensitive value) -> null
- value_type = "string" -> null
- visibility = "masked" -> null
}
# module.doppler_aws_secrets.null_resource.wait_for_secrets must be replaced
-/+ resource "null_resource" "wait_for_secrets" {
~ id = "6377302389223299939" -> (known after apply)
~ triggers = { # forces replacement
~ "secret_count" = "62" -> "58"
# (2 unchanged elements hidden)
}
}
# module.ecs_api.aws_ecs_service.api will be updated in-place
~ resource "aws_ecs_service" "api" {
id = "arn:aws:ecs:us-east-1:256586139593:service/default/integrator-prod-api"
name = "integrator-prod-api"
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-api-service"
}
~ task_definition = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-api:125" -> (known after apply)
# (16 unchanged attributes hidden)
# (4 unchanged blocks hidden)
}
# module.ecs_api.aws_ecs_service.poller will be updated in-place
~ resource "aws_ecs_service" "poller" {
id = "arn:aws:ecs:us-east-1:256586139593:service/default/integrator-prod-poller"
name = "integrator-prod-poller"
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-poller-service"
}
~ task_definition = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-poller:110" -> (known after apply)
# (16 unchanged attributes hidden)
# (3 unchanged blocks hidden)
}
# module.ecs_api.aws_ecs_task_definition.api must be replaced
-/+ resource "aws_ecs_task_definition" "api" {
~ arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-api:125" -> (known after apply)
~ arn_without_revision = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-api" -> (known after apply)
~ container_definitions = (sensitive value) # forces replacement
~ enable_fault_injection = false -> (known after apply)
~ id = "integrator-prod-api" -> (known after apply)
~ revision = 125 -> (known after apply)
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-api"
}
# (10 unchanged attributes hidden)
}
# module.ecs_api.aws_ecs_task_definition.poller must be replaced
-/+ resource "aws_ecs_task_definition" "poller" {
~ arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-poller:110" -> (known after apply)
~ arn_without_revision = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-poller" -> (known after apply)
~ container_definitions = (sensitive value) # forces replacement
~ enable_fault_injection = false -> (known after apply)
~ id = "integrator-prod-poller" -> (known after apply)
~ revision = 110 -> (known after apply)
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-poller"
}
# (10 unchanged attributes hidden)
}
# module.ecs_api.aws_iam_policy.api_secrets_access will be updated in-place
~ resource "aws_iam_policy" "api_secrets_access" {
id = "arn:aws:iam::256586139593:policy/integrator-prod-api-secrets-access"
name = "integrator-prod-api-secrets-access"
~ policy = (sensitive value)
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-api-secrets-access"
}
# (6 unchanged attributes hidden)
}
# module.ecs_api.aws_iam_policy.launch_background_runner will be updated in-place
~ resource "aws_iam_policy" "launch_background_runner" {
id = "arn:aws:iam::256586139593:policy/integrator-prod-api-launch-tasks-policy"
name = "integrator-prod-api-launch-tasks-policy"
~ policy = jsonencode(
{
- Statement = [
- {
- Action = [
- "ecs:RunTask",
- "ecs:DescribeTasks",
- "ecs:StopTask",
- "ecs:ListTasks",
]
- Effect = "Allow"
- Resource = [
- "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-background-runner:*",
- "arn:aws:ecs:us-east-1:256586139593:task/default/*",
]
},
- {
- Action = [
- "iam:PassRole",
]
- Condition = {
- StringEquals = {
- "iam:PassedToService" = "ecs-tasks.amazonaws.com"
}
}
- Effect = "Allow"
- Resource = [
- "arn:aws:iam::256586139593:role/integrator-prod-ecs-task-execution-role",
- "arn:aws:iam::256586139593:role/integrator-prod-ecs-task-role",
]
},
]
- Version = "2012-10-17"
}
) -> (known after apply)
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-api-launch-tasks-policy"
}
# (6 unchanged attributes hidden)
}
# module.ecs_background_runner.data.aws_caller_identity.current will be read during apply
# (depends on a resource or a module with changes pending)
<= data "aws_caller_identity" "current" {
+ account_id = (known after apply)
+ arn = (known after apply)
+ id = (known after apply)
+ user_id = (known after apply)
}
# module.ecs_background_runner.aws_ecs_task_definition.background_runner must be replaced
-/+ resource "aws_ecs_task_definition" "background_runner" {
~ arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-background-runner:142" -> (known after apply)
~ arn_without_revision = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-background-runner" -> (known after apply)
~ container_definitions = (sensitive value) # forces replacement
~ enable_fault_injection = false -> (known after apply)
~ id = "integrator-prod-background-runner" -> (known after apply)
~ revision = 142 -> (known after apply)
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-background-runner"
}
# (10 unchanged attributes hidden)
}
# module.ecs_background_runner.aws_iam_policy.bedrock_access will be updated in-place
~ resource "aws_iam_policy" "bedrock_access" {
id = "arn:aws:iam::256586139593:policy/integrator-prod-bedrock-access"
name = "integrator-prod-bedrock-access"
~ policy = jsonencode(
{
- Statement = [
- {
- Action = [
- "bedrock:InvokeModel",
- "bedrock:InvokeModelWithResponseStream",
]
- Effect = "Allow"
- Resource = [
- "arn:aws:bedrock:*::foundation-model/anthropic.*",
- "arn:aws:bedrock:*::inference-profile/us.anthropic.*",
- "arn:aws:bedrock:*:256586139593:inference-profile/*",
- "arn:aws:bedrock:*:256586139593:application-inference-profile/*",
]
- Sid = "BedrockModelInvocation"
},
- {
- Action = [
- "bedrock:ListInferenceProfiles",
- "bedrock:GetInferenceProfile",
]
- Effect = "Allow"
- Resource = "*"
- Sid = "BedrockListProfiles"
},
- {
- Action = [
- "aws-marketplace:ViewSubscriptions",
- "aws-marketplace:Subscribe",
]
- Effect = "Allow"
- Resource = "*"
- Sid = "MarketplaceModelAccess"
},
]
- Version = "2012-10-17"
}
) -> (known after apply)
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-bedrock-access"
}
# (6 unchanged attributes hidden)
}
# module.ecs_background_runner.aws_iam_policy.secrets_manager_access will be updated in-place
~ resource "aws_iam_policy" "secrets_manager_access" {
id = "arn:aws:iam::256586139593:policy/integrator-prod-ecs-secrets-access"
name = "integrator-prod-ecs-secrets-access"
~ policy = jsonencode(
{
- Statement = [
- {
- Action = [
- "secretsmanager:GetSecretValue",
- "secretsmanager:DescribeSecret",
]
- Effect = "Allow"
- Resource = [
- "arn:aws:secretsmanager:us-east-1:256586139593:secret:doppler/integrator/prod/*",
- "arn:aws:secretsmanager:us-east-1:256586139593:secret:integrator/prod/rds-master-password-eUwfvl",
]
},
- {
- Action = [
- "kms:Decrypt",
- "kms:DescribeKey",
]
- Condition = {
- StringEquals = {
- "kms:ViaService" = "secretsmanager.us-east-1.amazonaws.com"
}
}
- Effect = "Allow"
- Resource = "*"
},
]
- Version = "2012-10-17"
}
) -> (known after apply)
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-ecs-secrets-access"
}
# (6 unchanged attributes hidden)
}
# module.github_actions_role.aws_iam_openid_connect_provider.github[0] will be updated in-place
~ resource "aws_iam_openid_connect_provider" "github" {
id = "arn:aws:iam::256586139593:oidc-provider/token.actions.githubusercontent.com"
~ tags = {
+ "Environment" = "prod"
~ "ManagedBy" = "terraform-bootstrap" -> "Terraform"
+ "Name" = "github-actions-oidc-provider"
- "Project" = "devos" -> null
}
~ tags_all = {
+ "Environment" = "prod"
~ "ManagedBy" = "terraform-bootstrap" -> "Terraform"
+ "Name" = "github-actions-oidc-provider"
- "Project" = "devos" -> null
}
~ thumbprint_list = [
- "ffffffffffffffffffffffffffffffffffffffff",
+ "2b18947a6a9fc7764fd8b5fb18a863b0c6dac24f",
+ "dd55b4520291e276588f0dd02fafd83a7368e0fa",
+ "7560d6f40fa55195f740ee2b1b7c0b4836cbe103",
]
# (3 unchanged attributes hidden)
}
# module.rds.aws_security_group.bastion[0] will be updated in-place
~ resource "aws_security_group" "bastion" {
id = "sg-00fec6e131a7856da"
~ ingress = [
- {
- cidr_blocks = [
- "172.31.0.0/16",
]
- description = "Squid proxy access from VPC"
- from_port = 3128
- ipv6_cidr_blocks = []
- prefix_list_ids = []
- protocol = "tcp"
- security_groups = []
- self = false
- to_port = 3128
},
# (1 unchanged element hidden)
]
name = "integrator-prod-bastion-sg"
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-bastion-sg"
}
# (7 unchanged attributes hidden)
}
Plan: 4 to add, 9 to change, 8 to destroy.
Changes to Outputs:
~ api_task_definition_arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-api:125" -> (known after apply)
~ ecs_task_definition_arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-background-runner:142" -> (known after apply)
Warning: Argument is deprecated
with module.datadog_dashboards.datadog_dashboard.cost,
on ../../modules/datadog-dashboards/cost.tf line 16, in resource "datadog_dashboard" "cost":
16: default = "*"
Use `defaults` instead.
(and 13 more similar warnings elsewhere)
Warning: Check block assertion known after apply
on ../../modules/doppler-aws-secrets/main.tf line 341, in check "secrets_synced":
341: condition = length(local.missing_secrets) == 0
The condition could not be evaluated at this time, a result will be known
when this plan is applied.
Warning: Check block assertion known after apply
on ../../modules/ecs-api/main.tf line 474, in check "api_secrets_present":
474: condition = length(local.missing_secrets) == 0
The condition could not be evaluated at this time, a result will be known
when this plan is applied.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: tfplan
To perform exactly these actions, run the following command to apply:
terraform apply "tfplan"
⚠️ Production changes will be applied after merge to next branch.
ℹ️ Note: The
Plan: 3 to add, 3 to change, 3 to destroy.output is always expected due to a known Terraform AWS provider issue. ECS task definitions show asmust be replacedon every plan because the provider stores container definitions in a different order than AWS returns them. This is cosmetic only - real changes (new images, env vars) are still detected correctly.
module.doppler_aws_secrets.data.external.env_vars: Reading...
module.github_actions_role.data.tls_certificate.github: Reading...
module.doppler_aws_secrets.doppler_environment.config: Refreshing state... [id=integrator.staging]
module.rds.random_password.master[0]: Refreshing state... [id=none]
module.rds.random_password.readonly[0]: Refreshing state... [id=none]
module.github_actions_role.data.tls_certificate.github: Read complete after 0s [id=772ed8785f2c647baa040d3a1b4aa6cafacb6267]
module.datadog_monitors.datadog_monitor.all_errors_log[0]: Refreshing state... [id=253065817]
module.datadog_monitors.datadog_monitor.error_tracking_new_issues: Refreshing state... [id=253065812]
module.doppler_aws_secrets.data.doppler_secrets.existing: Reading...
module.datadog_log_pipeline.datadog_logs_custom_pipeline.integrator_json: Refreshing state... [id=Hfi5qZBoQXq00jWU_RovcA]
module.datadog_log_pipeline.datadog_logs_index.integrator: Refreshing state... [id=integrator-staging]
module.datadog_log_pipeline.datadog_apm_retention_filter.error_traces: Refreshing state... [id=h17q4OSSSEie8lqpAgBYyw]
module.dev_launch_template.aws_security_group.dev_instances: Refreshing state... [id=sg-0bf64ade7c98a1da6]
module.datadog_log_pipeline.datadog_apm_retention_filter.llmobs_traces: Refreshing state... [id=-mP2s46hR6yaYgMyEICDtg]
module.doppler_aws_secrets.data.doppler_secrets.existing: Read complete after 0s [id=integrator.staging]
module.ecs_api.aws_s3_bucket.migrations: Refreshing state... [id=integrator-staging-migrations]
module.ecs_api.data.aws_ecr_repository.api[0]: Reading...
module.ecs_api.data.aws_ecs_cluster.default: Reading...
module.ecs_api.aws_iam_role.api_task_execution: Refreshing state... [id=integrator-staging-api-task-execution-role]
module.doppler_aws_secrets.data.external.env_vars: Read complete after 1s [id=-]
module.rds.aws_secretsmanager_secret.readonly_password[0]: Refreshing state... [id=integrator/staging/rds-readonly-password]
module.ecs_api.aws_cloudwatch_log_group.migrations_lambda_logs: Refreshing state... [id=/aws/lambda/integrator-staging-migrations]
module.ecs_api.data.aws_ecs_cluster.default: Read complete after 0s [id=arn:aws:ecs:us-east-1:256586139593:cluster/default]
module.ecs_api.aws_iam_role.api_task: Refreshing state... [id=integrator-staging-api-task-role]
module.ecs_api.aws_s3_bucket.alb_logs[0]: Refreshing state... [id=integrator-staging-alb-logs]
module.ecs_api.data.aws_vpc.selected: Reading...
module.knowledge_bucket.aws_s3_bucket.this: Refreshing state... [id=integrator-knowledge-staging]
module.ecs_api.data.aws_caller_identity.current: Reading...
module.ecs_api.data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
module.doppler_aws_secrets.aws_iam_policy.doppler_secrets_manager: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-doppler-secrets-manager-policy]
module.ai_agent_debugging_role.data.aws_caller_identity.current: Reading...
module.bedrock_profiles.data.aws_region.current: Reading...
module.bedrock_profiles.data.aws_region.current: Read complete after 0s [id=us-east-1]
module.ai_agent_debugging_role.data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
data.aws_vpc.default: Reading...
module.ecs_api.data.aws_elb_service_account.main: Reading...
module.ecs_api.data.aws_elb_service_account.main: Read complete after 0s [id=127311923021]
module.rds.data.aws_region.current: Reading...
module.rds.data.aws_region.current: Read complete after 0s [id=us-east-1]
module.doppler_aws_secrets.aws_iam_role.doppler_secrets_manager: Refreshing state... [id=integrator-staging-doppler-secrets-manager-role]
data.aws_caller_identity.current: Reading...
module.ecs_api.data.aws_ecr_repository.api[0]: Read complete after 0s [id=integrator-api]
module.github_actions_role.data.aws_caller_identity.current: Reading...
data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
module.ecs_api.aws_cloudwatch_log_group.api_logs: Refreshing state... [id=/ecs/integrator/staging/api]
module.github_actions_role.data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
module.ecs_api.aws_cloudwatch_log_group.poller_logs: Refreshing state... [id=/ecs/integrator/staging/poller]
module.ecs_api.aws_cloudwatch_log_group.migrations_logs: Refreshing state... [id=/ecs/integrator/staging/migrations]
module.artifacts_bucket.aws_s3_bucket.this: Refreshing state... [id=integrator-artifacts-staging]
data.aws_iam_openid_connect_provider.github: Reading...
module.ecs_api.data.aws_vpc.selected: Read complete after 0s [id=vpc-0529dea5160deb846]
module.rds.aws_db_parameter_group.main: Refreshing state... [id=integrator-staging-postgres-20251121173128166300000001]
module.rds.aws_secretsmanager_secret.master_password[0]: Refreshing state... [id=arn:aws:secretsmanager:us-east-1:256586139593:secret:integrator/staging/rds-master-password-4QWym0]
module.ecs_api.aws_iam_role.migrations_lambda: Refreshing state... [id=integrator-staging-migrations-lambda-role]
data.aws_iam_openid_connect_provider.github: Read complete after 0s [id=arn:aws:iam::256586139593:oidc-provider/token.actions.githubusercontent.com]
module.ecs_api.aws_iam_policy.ecs_exec: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-api-ecs-exec-policy]
module.rds.aws_secretsmanager_secret_version.readonly_password[0]: Refreshing state... [id=integrator/staging/rds-readonly-password|terraform-20260115132739255000000001]
module.ecs_api.aws_iam_role_policy_attachment.api_task_execution: Refreshing state... [id=integrator-staging-api-task-execution-role-20251121173131958900000005]
module.ecs_api.aws_iam_policy.bedrock_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-api-bedrock-access]
data.aws_vpc.default: Read complete after 1s [id=vpc-0529dea5160deb846]
module.doppler_aws_secrets.aws_iam_role_policy_attachment.doppler_secrets_manager: Refreshing state... [id=integrator-staging-doppler-secrets-manager-role-20251117112527179200000001]
module.doppler_aws_secrets.doppler_integration_aws_secrets_manager.integration: Refreshing state... [id=44a390e7-e35d-44e3-a573-6476e776f406]
module.ecs_api.aws_s3_bucket_public_access_block.migrations: Refreshing state... [id=integrator-staging-migrations]
module.ai_agent_debugging_role.aws_iam_role.ai_agent_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging]
module.ecs_api.aws_security_group.alb: Refreshing state... [id=sg-0f268d8e0027eaad9]
module.ecs_api.data.aws_subnets.public: Reading...
module.ecs_api.aws_lb_target_group.api: Refreshing state... [id=arn:aws:elasticloadbalancing:us-east-1:256586139593:targetgroup/integrator-staging-api-tg/4ebc38c1a3c18f91]
module.ecs_api.data.aws_route_tables.main: Reading...
module.rds.aws_secretsmanager_secret_version.master_password[0]: Refreshing state... [id=arn:aws:secretsmanager:us-east-1:256586139593:secret:integrator/staging/rds-master-password-4QWym0|terraform-20251128130346365300000002]
module.ecs_api.data.aws_subnets.public: Read complete after 0s [id=us-east-1]
module.doppler_aws_secrets.doppler_secret.secrets["DEEPSEEK_API_KEY"]: Refreshing state... [id=integrator.staging.DEEPSEEK_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["FIRECRAWL_API_KEY"]: Refreshing state... [id=integrator.staging.FIRECRAWL_API_KEY]
module.ecs_api.data.aws_route_tables.main: Read complete after 0s [id=us-east-1]
module.doppler_aws_secrets.doppler_secret.secrets["ANCHOR_API_KEY"]: Refreshing state... [id=integrator.staging.ANCHOR_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_YELP_API_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_YELP_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_SEATGEEK_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_SEATGEEK_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["AZURE_OPENAI_SUBSCRIPTION_KEY"]: Refreshing state... [id=integrator.staging.AZURE_OPENAI_SUBSCRIPTION_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["Z_AI_API_KEY"]: Refreshing state... [id=integrator.staging.Z_AI_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_EXA_API_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_EXA_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["GITHUB_ACCESS_TOKEN"]: Refreshing state... [id=integrator.staging.GITHUB_ACCESS_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["USE_APOLLO_GET_DOWNLOAD_URL_API"]: Refreshing state... [id=integrator.staging.USE_APOLLO_GET_DOWNLOAD_URL_API]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_STAGING_API_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_STAGING_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_HOST"]: Refreshing state... [id=integrator.staging.THERMOS_HOST]
module.doppler_aws_secrets.doppler_secret.secrets["VERCEL_AI_GATEWAY_API_KEY"]: Refreshing state... [id=integrator.staging.VERCEL_AI_GATEWAY_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["APOLLO_URL"]: Refreshing state... [id=integrator.staging.APOLLO_URL]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_PORT"]: Refreshing state... [id=integrator.staging.THERMOS_PORT]
module.doppler_aws_secrets.doppler_secret.secrets["BRANDFETCH_API_KEY"]: Refreshing state... [id=integrator.staging.BRANDFETCH_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["AZURE_OPENAI_ENDPOINT_URL"]: Refreshing state... [id=integrator.staging.AZURE_OPENAI_ENDPOINT_URL]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_INSTACART_API_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_INSTACART_API_KEY]
module.datadog_dashboards.datadog_dashboard.workflow_debugging[0]: Refreshing state... [id=ea3-u45-7yc]
module.doppler_aws_secrets.doppler_secret.secrets["LANGSMITH_API_KEY"]: Refreshing state... [id=integrator.staging.LANGSMITH_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["HELICONE_API_KEY"]: Refreshing state... [id=integrator.staging.HELICONE_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["DD_APP_KEY"]: Refreshing state... [id=integrator.staging.DD_APP_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_ADMIN_TOKEN"]: Refreshing state... [id=integrator.staging.COMPOSIO_ADMIN_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_PASSWORD"]: Refreshing state... [id=integrator.staging.THERMOS_PASSWORD]
module.doppler_aws_secrets.doppler_secret.secrets["WATCHDOG_MAX_FIXERS_PER_DAY"]: Refreshing state... [id=integrator.staging.WATCHDOG_MAX_FIXERS_PER_DAY]
module.doppler_aws_secrets.doppler_secret.secrets["LINEAR_API_KEY"]: Refreshing state... [id=integrator.staging.LINEAR_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["ANTHROPIC_API_KEY"]: Refreshing state... [id=integrator.staging.ANTHROPIC_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_DATABASE"]: Refreshing state... [id=integrator.staging.THERMOS_DATABASE]
module.doppler_aws_secrets.doppler_secret.secrets["PYTHONPATH"]: Refreshing state... [id=integrator.staging.PYTHONPATH]
module.doppler_aws_secrets.doppler_secret.secrets["ENCRYPTION_KEY"]: Refreshing state... [id=integrator.staging.ENCRYPTION_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["SLACK_BOT_TOKEN"]: Refreshing state... [id=integrator.staging.SLACK_BOT_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["WATCHDOG_BATCH_POLLER_DISABLED"]: Refreshing state... [id=integrator.staging.WATCHDOG_BATCH_POLLER_DISABLED]
module.doppler_aws_secrets.doppler_secret.secrets["GH_WEBHOOK_SECRET"]: Refreshing state... [id=integrator.staging.GH_WEBHOOK_SECRET]
module.doppler_aws_secrets.doppler_secret.secrets["PIPEDREAM_PATH"]: Refreshing state... [id=integrator.staging.PIPEDREAM_PATH]
module.doppler_aws_secrets.doppler_secret.secrets["MINIMAX_API_KEY"]: Refreshing state... [id=integrator.staging.MINIMAX_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["BACKEND_READONLY_URL"]: Refreshing state... [id=integrator.staging.BACKEND_READONLY_URL]
module.datadog_dashboards.datadog_dashboard.cost[0]: Refreshing state... [id=dcn-p2a-rya]
module.doppler_aws_secrets.doppler_secret.secrets["CLICKHOUSE_PASSWORD"]: Refreshing state... [id=integrator.staging.CLICKHOUSE_PASSWORD]
module.doppler_aws_secrets.doppler_secret.secrets["DD_API_KEY"]: Refreshing state... [id=integrator.staging.DD_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["TWITTER_API_SECRET"]: Refreshing state... [id=integrator.staging.TWITTER_API_SECRET]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_STAGING_ADMIN_TOKEN"]: Refreshing state... [id=integrator.staging.COMPOSIO_STAGING_ADMIN_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_SERPAPI_API_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_SERPAPI_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["GROQ_API_KEY"]: Refreshing state... [id=integrator.staging.GROQ_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_GEMINI_API_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_GEMINI_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["CLICKHOUSE_USERNAME"]: Refreshing state... [id=integrator.staging.CLICKHOUSE_USERNAME]
module.doppler_aws_secrets.doppler_secret.secrets["APOLLO_ADMIN_TOKEN"]: Refreshing state... [id=integrator.staging.APOLLO_ADMIN_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["LANGSMITH_ENDPOINT"]: Refreshing state... [id=integrator.staging.LANGSMITH_ENDPOINT]
module.doppler_aws_secrets.doppler_secret.secrets["TWITTER_API_KEY"]: Refreshing state... [id=integrator.staging.TWITTER_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["NOTION_API_KEY"]: Refreshing state... [id=integrator.staging.NOTION_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["TOOLS_DATABASE_URL"]: Refreshing state... [id=integrator.staging.TOOLS_DATABASE_URL]
module.doppler_aws_secrets.doppler_secret.secrets["ZAPIER_PATH"]: Refreshing state... [id=integrator.staging.ZAPIER_PATH]
module.doppler_aws_secrets.doppler_secret.secrets["PERPLEXITY_API_KEY"]: Refreshing state... [id=integrator.staging.PERPLEXITY_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["OPENAI_API_KEY"]: Refreshing state... [id=integrator.staging.OPENAI_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["MERCURY_AUTOLOAD"]: Refreshing state... [id=integrator.staging.MERCURY_AUTOLOAD]
module.doppler_aws_secrets.doppler_secret.secrets["DISABLE_MERCURY_CLEANUP"]: Refreshing state... [id=integrator.staging.DISABLE_MERCURY_CLEANUP]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_USERNAME"]: Refreshing state... [id=integrator.staging.THERMOS_USERNAME]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_TAVILY_API_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_TAVILY_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["TEST_CONNECTION_ID"]: Refreshing state... [id=integrator.staging.TEST_CONNECTION_ID]
module.doppler_aws_secrets.doppler_secret.secrets["GITHUB_REVIEWER_TOKEN"]: Refreshing state... [id=integrator.staging.GITHUB_REVIEWER_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["LANGSMITH_TRACING"]: Refreshing state... [id=integrator.staging.LANGSMITH_TRACING]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_API_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_WEBHOOK_SECRET"]: Refreshing state... [id=integrator.staging.COMPOSIO_WEBHOOK_SECRET]
module.doppler_aws_secrets.doppler_secret.secrets["STATSD_METRICS_FLUSH_WAIT_TIME_SECS"]: Refreshing state... [id=integrator.staging.STATSD_METRICS_FLUSH_WAIT_TIME_SECS]
module.ecs_api.aws_s3_bucket_server_side_encryption_configuration.alb_logs[0]: Refreshing state... [id=integrator-staging-alb-logs]
module.doppler_aws_secrets.doppler_secret.secrets["Z_AI_BASE_URL"]: Refreshing state... [id=integrator.staging.Z_AI_BASE_URL]
module.ecs_api.aws_s3_bucket_public_access_block.alb_logs[0]: Refreshing state... [id=integrator-staging-alb-logs]
module.ecs_api.aws_s3_bucket_lifecycle_configuration.alb_logs[0]: Refreshing state... [id=integrator-staging-alb-logs]
module.ecs_api.aws_iam_role_policy_attachment.api_ecs_exec: Refreshing state... [id=integrator-staging-api-task-role-20260110152557084500000001]
data.aws_subnets.public: Reading...
module.bedrock_profiles.aws_bedrock_inference_profile.haiku: Refreshing state... [id=71dmct7za78p]
module.bedrock_profiles.aws_bedrock_inference_profile.opus: Refreshing state... [id=1zfxsu353ckg]
module.bedrock_profiles.aws_bedrock_inference_profile.sonnet: Refreshing state... [id=tpazg97vdxpe]
module.ecs_api.aws_iam_role_policy_attachment.migrations_lambda_basic: Refreshing state... [id=integrator-staging-migrations-lambda-role-20260204171019948100000001]
module.ecs_api.aws_iam_role_policy_attachment.migrations_lambda_vpc: Refreshing state... [id=integrator-staging-migrations-lambda-role-20260204171019948800000002]
module.knowledge_bucket.aws_s3_bucket_versioning.this[0]: Refreshing state... [id=integrator-knowledge-staging]
data.aws_subnets.public: Read complete after 0s [id=us-east-1]
module.knowledge_bucket.aws_s3_bucket_public_access_block.this: Refreshing state... [id=integrator-knowledge-staging]
module.knowledge_bucket.aws_s3_bucket_lifecycle_configuration.this: Refreshing state... [id=integrator-knowledge-staging]
module.knowledge_bucket.aws_s3_bucket_server_side_encryption_configuration.this: Refreshing state... [id=integrator-knowledge-staging]
module.ecs_api.aws_iam_role_policy_attachment.api_bedrock_access: Refreshing state... [id=integrator-staging-api-task-role-20260204130051288600000001]
module.github_actions_role.aws_iam_role.github_actions: Refreshing state... [id=integrator-github-actions-staging]
module.ecs_api.aws_security_group.api: Refreshing state... [id=sg-06a8634c658cb6242]
module.artifacts_bucket.aws_s3_bucket_public_access_block.this: Refreshing state... [id=integrator-artifacts-staging]
module.artifacts_bucket.aws_s3_bucket_server_side_encryption_configuration.this: Refreshing state... [id=integrator-artifacts-staging]
module.artifacts_bucket.aws_s3_bucket_lifecycle_configuration.this: Refreshing state... [id=integrator-artifacts-staging]
module.ai_agent_debugging_role.aws_iam_role_policy.cloudwatch_metrics_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-cloudwatch-metrics-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.alb_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-alb-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.s3_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-s3-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.deny_privilege_escalation: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-deny-privilege-escalation]
module.ai_agent_debugging_role.aws_iam_role_policy.cost_explorer_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-cost-explorer-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.rds_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-rds-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.iam_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-iam-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.ecs_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-ecs-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.vpc_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-vpc-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.ecr_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-ecr-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.cloudwatch_logs_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-cloudwatch-logs-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.secrets_manager_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-secrets-manager-policy]
module.rds.data.aws_vpc.selected: Reading...
module.doppler_aws_secrets.doppler_secrets_sync_aws_secrets_manager.sync: Refreshing state... [id=3cddcf0b-4014-410d-a552-88d3e5022617]
module.ecs_api.aws_s3_bucket_policy.alb_logs[0]: Refreshing state... [id=integrator-staging-alb-logs]
module.github_actions_role.aws_iam_role_policy.lambda: Refreshing state... [id=integrator-github-actions-staging:integrator-github-actions-staging-lambda-policy]
module.github_actions_role.aws_iam_role_policy.cloudwatch_logs: Refreshing state... [id=integrator-github-actions-staging:integrator-github-actions-staging-cloudwatch-logs-policy]
module.github_actions_role.aws_iam_role_policy_attachment.terraform_admin[0]: Refreshing state... [id=integrator-github-actions-staging-20260115154744404400000001]
module.rds.aws_db_subnet_group.main: Refreshing state... [id=integrator-staging-db-subnet-group]
module.datadog_infra_alerts.datadog_monitor.alb_unhealthy_targets[0]: Refreshing state... [id=254278294]
github_actions_secret.aws_role_arn: Refreshing state... [id=integrator:AWS_ROLE_ARN_STAGING]
github_actions_secret.ecs_subnets: Refreshing state... [id=integrator:ECS_SUBNETS_STAGING]
module.ecs_api.aws_lb.api: Refreshing state... [id=arn:aws:elasticloadbalancing:us-east-1:256586139593:loadbalancer/app/integrator-staging-alb/5e4f301bcd0263cb]
github_actions_secret.ecs_security_groups: Refreshing state... [id=integrator:ECS_SECURITY_GROUPS_STAGING]
module.doppler_aws_secrets.null_resource.wait_for_secrets: Refreshing state... [id=6479554476492629841]
module.rds.data.aws_vpc.selected: Read complete after 0s [id=vpc-0529dea5160deb846]
module.rds.aws_security_group.rds: Refreshing state... [id=sg-0c78e576a056ba44a]
module.datadog_infra_alerts.datadog_monitor.alb_5xx[0]: Refreshing state... [id=254279883]
module.ecs_api.aws_lb_listener.http: Refreshing state... [id=arn:aws:elasticloadbalancing:us-east-1:256586139593:listener/app/integrator-staging-alb/5e4f301bcd0263cb/d7549a73fdd1a11a]
module.rds.aws_db_instance.main: Refreshing state... [id=db-I57KURHD3UXFT56QM2OTWRW7TQ]
module.rds.null_resource.create_readonly_user[0]: Refreshing state... [id=3885368352693534014]
module.datadog_infra_alerts.datadog_monitor.rds_read_latency: Refreshing state... [id=254278251]
module.ecs_api.aws_iam_role_policy.migrations_lambda_access: Refreshing state... [id=integrator-staging-migrations-lambda-role:integrator-staging-migrations-lambda-access]
module.datadog_infra_alerts.datadog_monitor.rds_cpu: Refreshing state... [id=254278250]
module.datadog_infra_alerts.datadog_monitor.rds_queue_depth: Refreshing state... [id=254278249]
module.datadog_infra_alerts.datadog_monitor.rds_connections: Refreshing state... [id=254278252]
module.datadog_infra_alerts.datadog_monitor.rds_memory: Refreshing state... [id=254278254]
module.datadog_infra_alerts.datadog_monitor.rds_write_latency: Refreshing state... [id=254278253]
module.datadog_infra_alerts.datadog_monitor.rds_storage: Refreshing state... [id=254278255]
module.ecs_api.aws_lambda_function.migrations: Refreshing state... [id=integrator-staging-migrations]
module.ecs_api.aws_iam_policy.api_secrets_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-api-secrets-access]
module.ecs_api.aws_ecs_task_definition.migrations: Refreshing state... [id=integrator-staging-migrations]
module.ecs_background_runner.data.aws_caller_identity.current: Reading...
module.ecs_background_runner.data.aws_ecs_cluster.default[0]: Reading...
module.ecs_background_runner.aws_iam_policy.ecs_exec: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-ecs-exec-policy]
module.ecs_background_runner.aws_cloudwatch_log_group.task_logs: Refreshing state... [id=/ecs/integrator/staging/background-runner]
module.ecs_background_runner.aws_iam_role.task: Refreshing state... [id=integrator-staging-ecs-task-role]
module.ecs_background_runner.data.aws_ecr_repository.background_runner[0]: Reading...
module.ecs_background_runner.data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
module.ecs_background_runner.aws_iam_policy.s3_knowledge_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-s3-knowledge-access]
module.ecs_background_runner.aws_cloudwatch_log_group.ecs_task_events: Refreshing state... [id=/aws/events/integrator/staging/ecs-task-state-change]
module.ecs_background_runner.data.aws_ecs_cluster.default[0]: Read complete after 0s [id=arn:aws:ecs:us-east-1:256586139593:cluster/default]
module.ecs_background_runner.aws_iam_role.task_execution: Refreshing state... [id=integrator-staging-ecs-task-execution-role]
module.ecs_api.aws_iam_role_policy_attachment.api_secrets_access: Refreshing state... [id=integrator-staging-api-task-execution-role-20251127102440078700000001]
module.ecs_background_runner.aws_iam_policy.bedrock_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-bedrock-access]
module.ecs_background_runner.aws_iam_policy.secrets_manager_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-ecs-secrets-access]
module.ecs_background_runner.aws_cloudwatch_event_rule.ecs_task_state_change: Refreshing state... [id=integrator-staging-ecs-task-state-change]
module.ecs_background_runner.aws_iam_role_policy_attachment.ecs_exec: Refreshing state... [id=integrator-staging-ecs-task-role-20251121173131775000000004]
module.ecs_background_runner.aws_iam_role_policy_attachment.s3_knowledge_access: Refreshing state... [id=integrator-staging-ecs-task-role-20260110152558095500000002]
module.ecs_background_runner.aws_iam_role_policy_attachment.task_execution: Refreshing state... [id=integrator-staging-ecs-task-execution-role-20251121173130862100000002]
module.ecs_background_runner.aws_iam_role_policy_attachment.bedrock_access: Refreshing state... [id=integrator-staging-ecs-task-role-20260204130051819900000004]
module.ecs_background_runner.aws_iam_role_policy_attachment.secrets_access: Refreshing state... [id=integrator-staging-ecs-task-execution-role-20251121173131402400000003]
module.ecs_background_runner.aws_cloudwatch_event_target.ecs_task_state_change_logs: Refreshing state... [id=integrator-staging-ecs-task-state-change-LogTaskStateChanges]
module.ecs_background_runner.data.aws_ecr_repository.background_runner[0]: Read complete after 1s [id=integrator-background-runner]
module.github_actions_role.aws_iam_role_policy.ecr: Refreshing state... [id=integrator-github-actions-staging:integrator-github-actions-staging-ecr-policy]
module.ecs_background_runner.aws_ecs_task_definition.background_runner: Refreshing state... [id=integrator-staging-background-runner]
module.ecs_api.aws_iam_policy.launch_background_runner: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-api-launch-tasks-policy]
module.datadog_infra_alerts.datadog_monitor.background_runner_memory: Refreshing state... [id=254278257]
module.ecs_api.aws_ecs_task_definition.api: Refreshing state... [id=integrator-staging-api]
module.ecs_api.aws_ecs_task_definition.poller: Refreshing state... [id=integrator-staging-poller]
module.ecs_api.aws_iam_role_policy_attachment.api_launch_tasks: Refreshing state... [id=integrator-staging-api-task-role-20251121182311833700000002]
module.ecs_api.aws_ecs_service.api: Refreshing state... [id=arn:aws:ecs:us-east-1:256586139593:service/default/integrator-staging-api]
module.ecs_api.aws_ecs_service.poller: Refreshing state... [id=arn:aws:ecs:us-east-1:256586139593:service/default/integrator-staging-poller]
module.datadog_infra_alerts.datadog_monitor.ecs_api_task_failures: Refreshing state... [id=254278266]
module.datadog_infra_alerts.datadog_monitor.ecs_api_memory: Refreshing state... [id=254278265]
module.datadog_infra_alerts.datadog_monitor.ecs_api_cpu: Refreshing state... [id=254278264]
module.github_actions_role.aws_iam_role_policy.ecs: Refreshing state... [id=integrator-github-actions-staging:integrator-github-actions-staging-ecs-policy]
module.datadog_infra_alerts.datadog_monitor.ecs_poller_cpu: Refreshing state... [id=254278263]
module.datadog_infra_alerts.datadog_monitor.ecs_poller_memory: Refreshing state... [id=254278262]
module.datadog_infra_alerts.datadog_monitor.ecs_poller_task_failures: Refreshing state... [id=254278261]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
- destroy
-/+ destroy and then create replacement
<= read (data resources)
Terraform will perform the following actions:
# module.ai_agent_debugging_role.aws_iam_role.ai_agent_debugging will be updated in-place
~ resource "aws_iam_role" "ai_agent_debugging" {
~ assume_role_policy = jsonencode(
~ {
~ Statement = [
~ {
~ Condition = {
~ StringLike = {
~ "aws:PrincipalArn" = [
- "arn:aws:iam::256586139593:user/*",
- "arn:aws:iam::256586139593:role/aws-reserved/sso.amazonaws.com/AWSReservedSSO_*",
] -> "arn:aws:iam::256586139593:role/aws-reserved/sso.amazonaws.com/AWSReservedSSO_*"
}
}
+ Sid = "AllowSSORoles"
# (3 unchanged attributes hidden)
},
+ {
+ Action = "sts:AssumeRole"
+ Condition = {
+ StringLike = {
+ "aws:PrincipalArn" = "arn:aws:iam::256586139593:user/*"
}
}
+ Effect = "Allow"
+ Principal = {
+ AWS = "arn:aws:iam::256586139593:root"
}
+ Sid = "AllowIAMUsers"
},
]
# (1 unchanged attribute hidden)
}
)
id = "integrator-ai-agent-debugging-staging"
name = "integrator-ai-agent-debugging-staging"
tags = {
"Environment" = "staging"
"ManagedBy" = "Terraform"
"Name" = "integrator-ai-agent-debugging-staging"
"Purpose" = "AI Agent Read-only Debugging"
}
# (8 unchanged attributes hidden)
# (12 unchanged blocks hidden)
}
# module.dev_launch_template.aws_security_group.dev_instances will be destroyed
# (because aws_security_group.dev_instances is not in configuration)
- resource "aws_security_group" "dev_instances" {
- arn = "arn:aws:ec2:us-east-1:256586139593:security-group/sg-0bf64ade7c98a1da6" -> null
- description = "Security group for personal dev EC2 instances" -> null
- egress = [
- {
- cidr_blocks = [
- "0.0.0.0/0",
]
- description = "Allow all outbound traffic"
- from_port = 0
- ipv6_cidr_blocks = []
- prefix_list_ids = []
- protocol = "-1"
- security_groups = []
- self = false
- to_port = 0
},
] -> null
- id = "sg-0bf64ade7c98a1da6" -> null
- ingress = [
- {
- cidr_blocks = [
- "0.0.0.0/0",
]
- description = "SSH from anywhere (restricted by individual instance tags)"
- from_port = 22
- ipv6_cidr_blocks = []
- prefix_list_ids = []
- protocol = "tcp"
- security_groups = []
- self = false
- to_port = 22
},
] -> null
- name = "integrator-dev-instances" -> null
- owner_id = "256586139593" -> null
- revoke_rules_on_delete = false -> null
- tags = {
- "Environment" = "dev"
- "ManagedBy" = "terraform"
- "Name" = "integrator-dev-instances-sg"
} -> null
- tags_all = {
- "Environment" = "dev"
- "ManagedBy" = "terraform"
- "Name" = "integrator-dev-instances-sg"
} -> null
- vpc_id = "vpc-0529dea5160deb846" -> null
}
# module.doppler_aws_secrets.data.aws_secretsmanager_secrets.synced will be read during apply
# (depends on a resource or a module with changes pending)
<= data "aws_secretsmanager_secrets" "synced" {
+ arns = (known after apply)
+ id = (known after apply)
+ names = (known after apply)
+ filter {
+ name = "name"
+ values = [
+ "doppler/integrator/staging/",
]
}
}
# module.doppler_aws_secrets.doppler_secret.secrets["DEEPSEEK_API_KEY"] will be destroyed
# (because key ["DEEPSEEK_API_KEY"] is not in for_each map)
- resource "doppler_secret" "secrets" {
- computed = (sensitive value) -> null
- config = "staging" -> null
- id = "integrator.staging.DEEPSEEK_API_KEY" -> null
- name = "DEEPSEEK_API_KEY" -> null
- project = "integrator" -> null
- value = (sensitive value) -> null
- value_type = "string" -> null
- visibility = "masked" -> null
}
# module.doppler_aws_secrets.doppler_secret.secrets["MINIMAX_API_KEY"] will be destroyed
# (because key ["MINIMAX_API_KEY"] is not in for_each map)
- resource "doppler_secret" "secrets" {
- computed = (sensitive value) -> null
- config = "staging" -> null
- id = "integrator.staging.MINIMAX_API_KEY" -> null
- name = "MINIMAX_API_KEY" -> null
- project = "integrator" -> null
- value = (sensitive value) -> null
- value_type = "string" -> null
- visibility = "masked" -> null
}
# module.doppler_aws_secrets.doppler_secret.secrets["Z_AI_API_KEY"] will be destroyed
# (because key ["Z_AI_API_KEY"] is not in for_each map)
- resource "doppler_secret" "secrets" {
- computed = (sensitive value) -> null
- config = "staging" -> null
- id = "integrator.staging.Z_AI_API_KEY" -> null
- name = "Z_AI_API_KEY" -> null
- project = "integrator" -> null
- value = (sensitive value) -> null
- value_type = "string" -> null
- visibility = "masked" -> null
}
# module.doppler_aws_secrets.doppler_secret.secrets["Z_AI_BASE_URL"] will be destroyed
# (because key ["Z_AI_BASE_URL"] is not in for_each map)
- resource "doppler_secret" "secrets" {
- computed = (sensitive value) -> null
- config = "staging" -> null
- id = "integrator.staging.Z_AI_BASE_URL" -> null
- name = "Z_AI_BASE_URL" -> null
- project = "integrator" -> null
- value = (sensitive value) -> null
- value_type = "string" -> null
- visibility = "masked" -> null
}
# module.doppler_aws_secrets.null_resource.wait_for_secrets must be replaced
-/+ resource "null_resource" "wait_for_secrets" {
~ id = "6479554476492629841" -> (known after apply)
~ triggers = { # forces replacement
~ "secret_count" = "62" -> "58"
# (2 unchanged elements hidden)
}
}
# module.ecs_api.aws_ecs_service.api will be updated in-place
~ resource "aws_ecs_service" "api" {
id = "arn:aws:ecs:us-east-1:256586139593:service/default/integrator-staging-api"
name = "integrator-staging-api"
tags = {
"Environment" = "staging"
"ManagedBy" = "Terraform"
"Name" = "integrator-staging-api-service"
}
~ task_definition = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-api:155" -> (known after apply)
# (16 unchanged attributes hidden)
# (4 unchanged blocks hidden)
}
# module.ecs_api.aws_ecs_service.poller will be updated in-place
~ resource "aws_ecs_service" "poller" {
id = "arn:aws:ecs:us-east-1:256586139593:service/default/integrator-staging-poller"
name = "integrator-staging-poller"
tags = {
"Environment" = "staging"
"ManagedBy" = "Terraform"
"Name" = "integrator-staging-poller-service"
}
~ task_definition = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-poller:141" -> (known after apply)
# (16 unchanged attributes hidden)
# (3 unchanged blocks hidden)
}
# module.ecs_api.aws_ecs_task_definition.api must be replaced
-/+ resource "aws_ecs_task_definition" "api" {
~ arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-api:155" -> (known after apply)
~ arn_without_revision = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-api" -> (known after apply)
~ container_definitions = (sensitive value) # forces replacement
~ enable_fault_injection = false -> (known after apply)
~ id = "integrator-staging-api" -> (known after apply)
~ revision = 155 -> (known after apply)
tags = {
"Environment" = "staging"
"ManagedBy" = "Terraform"
"Name" = "integrator-staging-api"
}
# (10 unchanged attributes hidden)
}
# module.ecs_api.aws_ecs_task_definition.poller must be replaced
-/+ resource "aws_ecs_task_definition" "poller" {
~ arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-poller:141" -> (known after apply)
~ arn_without_revision = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-poller" -> (known after apply)
~ container_definitions = (sensitive value) # forces replacement
~ enable_fault_injection = false -> (known after apply)
~ id = "integrator-staging-poller" -> (known after apply)
~ revision = 141 -> (known after apply)
tags = {
"Environment" = "staging"
"ManagedBy" = "Terraform"
"Name" = "integrator-staging-poller"
}
# (10 unchanged attributes hidden)
}
# module.ecs_api.aws_iam_policy.api_secrets_access will be updated in-place
~ resource "aws_iam_policy" "api_secrets_access" {
id = "arn:aws:iam::256586139593:policy/integrator-staging-api-secrets-access"
name = "integrator-staging-api-secrets-access"
~ policy = (sensitive value)
tags = {
"Environment" = "staging"
"ManagedBy" = "Terraform"
"Name" = "integrator-staging-api-secrets-access"
}
# (6 unchanged attributes hidden)
}
# module.ecs_api.aws_iam_policy.launch_background_runner will be updated in-place
~ resource "aws_iam_policy" "launch_background_runner" {
id = "arn:aws:iam::256586139593:policy/integrator-staging-api-launch-tasks-policy"
name = "integrator-staging-api-launch-tasks-policy"
~ policy = jsonencode(
{
- Statement = [
- {
- Action = [
- "ecs:RunTask",
- "ecs:DescribeTasks",
- "ecs:StopTask",
- "ecs:ListTasks",
]
- Effect = "Allow"
- Resource = [
- "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-background-runner:*",
- "arn:aws:ecs:us-east-1:256586139593:task/default/*",
]
},
- {
- Action = [
- "iam:PassRole",
]
- Condition = {
- StringEquals = {
- "iam:PassedToService" = "ecs-tasks.amazonaws.com"
}
}
- Effect = "Allow"
- Resource = [
- "arn:aws:iam::256586139593:role/integrator-staging-ecs-task-execution-role",
- "arn:aws:iam::256586139593:role/integrator-staging-ecs-task-role",
]
},
]
- Version = "2012-10-17"
}
) -> (known after apply)
tags = {
"Environment" = "staging"
"ManagedBy" = "Terraform"
"Name" = "integrator-staging-api-launch-tasks-policy"
}
# (6 unchanged attributes hidden)
}
# module.ecs_background_runner.aws_ecs_task_definition.background_runner must be replaced
-/+ resource "aws_ecs_task_definition" "background_runner" {
~ arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-background-runner:157" -> (known after apply)
~ arn_without_revision = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-background-runner" -> (known after apply)
~ container_definitions = (sensitive value) # forces replacement
~ enable_fault_injection = false -> (known after apply)
~ id = "integrator-staging-background-runner" -> (known after apply)
~ revision = 157 -> (known after apply)
tags = {
"Environment" = "staging"
"ManagedBy" = "Terraform"
"Name" = "integrator-staging-background-runner"
}
# (10 unchanged attributes hidden)
}
Plan: 4 to add, 5 to change, 9 to destroy.
Changes to Outputs:
~ api_task_definition_arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-api:155" -> (known after apply)
~ ecs_task_definition_arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-background-runner:157" -> (known after apply)
Warning: Argument is deprecated
with module.datadog_dashboards.datadog_dashboard.cost,
on ../../modules/datadog-dashboards/cost.tf line 16, in resource "datadog_dashboard" "cost":
16: default = "*"
Use `defaults` instead.
(and 13 more similar warnings elsewhere)
Warning: Check block assertion known after apply
on ../../modules/doppler-aws-secrets/main.tf line 341, in check "secrets_synced":
341: condition = length(local.missing_secrets) == 0
The condition could not be evaluated at this time, a result will be known
when this plan is applied.
Warning: Check block assertion known after apply
on ../../modules/ecs-api/main.tf line 474, in check "api_secrets_present":
474: condition = length(local.missing_secrets) == 0
The condition could not be evaluated at this time, a result will be known
when this plan is applied.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: tfplan
To perform exactly these actions, run the following command to apply:
terraform apply "tfplan"
🔵 Comment /apply-staging to apply these changes.
module.ecs_api.aws_ecs_task_definition.api: Destroying... [id=integrator-staging-api]
module.ecs_api.aws_ecs_task_definition.poller: Destroying... [id=integrator-staging-poller]
module.dev_launch_template.aws_security_group.dev_instances: Destroying... [id=sg-0bf64ade7c98a1da6]
module.ai_agent_debugging_role.aws_iam_role.ai_agent_debugging: Modifying... [id=integrator-ai-agent-debugging-staging]
module.ecs_api.aws_ecs_task_definition.api: Destruction complete after 0s
module.ecs_api.aws_ecs_task_definition.poller: Destruction complete after 0s
module.ecs_background_runner.aws_ecs_task_definition.background_runner: Destroying... [id=integrator-staging-background-runner]
module.ecs_background_runner.aws_ecs_task_definition.background_runner: Destruction complete after 0s
module.doppler_aws_secrets.null_resource.wait_for_secrets: Destroying... [id=6479554476492629841]
module.doppler_aws_secrets.null_resource.wait_for_secrets: Destruction complete after 0s
module.doppler_aws_secrets.doppler_secret.secrets["MINIMAX_API_KEY"]: Destroying... [id=integrator.staging.MINIMAX_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["Z_AI_BASE_URL"]: Destroying... [id=integrator.staging.Z_AI_BASE_URL]
module.doppler_aws_secrets.doppler_secret.secrets["Z_AI_API_KEY"]: Destroying... [id=integrator.staging.Z_AI_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["DEEPSEEK_API_KEY"]: Destroying... [id=integrator.staging.DEEPSEEK_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["MINIMAX_API_KEY"]: Destruction complete after 1s
module.ai_agent_debugging_role.aws_iam_role.ai_agent_debugging: Modifications complete after 1s [id=integrator-ai-agent-debugging-staging]
module.doppler_aws_secrets.doppler_secret.secrets["Z_AI_BASE_URL"]: Destruction complete after 1s
module.doppler_aws_secrets.doppler_secret.secrets["DEEPSEEK_API_KEY"]: Destruction complete after 2s
module.doppler_aws_secrets.doppler_secret.secrets["Z_AI_API_KEY"]: Destruction complete after 2s
module.doppler_aws_secrets.null_resource.wait_for_secrets: Creating...
module.doppler_aws_secrets.null_resource.wait_for_secrets: Provisioning with 'local-exec'...
module.doppler_aws_secrets.null_resource.wait_for_secrets (local-exec): Executing: ["/bin/bash" "-c" "#!/bin/bash\n# Wait for secrets to be synced to AWS Secrets Manager with exponential backoff\n# This script checks if all required secrets exist in AWS Secrets Manager\n# and retries with exponential backoff until they all exist or max retries is reached\n\nset -euo pipefail\n\nSECRETS_PATH=\"doppler/integrator/staging\"\nAWS_REGION=\"us-east-1\"\nMAX_RETRIES=4\nINITIAL_DELAY=5\n# Convert space-separated string to array\nread -ra SECRET_NAMES <<< \"ANTHROPIC_API_KEY AZURE_OPENAI_ENDPOINT_URL AZURE_OPENAI_SUBSCRIPTION_KEY BACKEND_READONLY_URL BRANDFETCH_API_KEY CLICKHOUSE_PASSWORD CLICKHOUSE_USERNAME COMPOSIO_API_KEY DD_API_KEY DD_APP_KEY DISABLE_MERCURY_CLEANUP ENCRYPTION_KEY GH_WEBHOOK_SECRET GITHUB_ACCESS_TOKEN GITHUB_REVIEWER_TOKEN HELICONE_API_KEY LANGSMITH_API_KEY LANGSMITH_ENDPOINT LANGSMITH_TRACING MERCURY_AUTOLOAD OPENAI_API_KEY PIPEDREAM_PATH PYTHONPATH TEST_CONNECTION_ID TOOLS_DATABASE_URL ZAPIER_PATH FIRECRAWL_API_KEY LINEAR_API_KEY COMPOSIO_ADMIN_TOKEN COMPOSIO_STAGING_API_KEY COMPOSIO_STAGING_ADMIN_TOKEN APOLLO_ADMIN_TOKEN APOLLO_URL USE_APOLLO_GET_DOWNLOAD_URL_API STATSD_METRICS_FLUSH_WAIT_TIME_SECS COMPOSIO_EXA_API_KEY COMPOSIO_GEMINI_API_KEY COMPOSIO_INSTACART_API_KEY COMPOSIO_SEATGEEK_KEY COMPOSIO_SERPAPI_API_KEY COMPOSIO_TAVILY_API_KEY COMPOSIO_YELP_API_KEY GROQ_API_KEY PERPLEXITY_API_KEY VERCEL_AI_GATEWAY_API_KEY ANCHOR_API_KEY NOTION_API_KEY TWITTER_API_KEY TWITTER_API_SECRET COMPOSIO_WEBHOOK_SECRET THERMOS_HOST THERMOS_PORT THERMOS_DATABASE THERMOS_USERNAME THERMOS_PASSWORD SLACK_BOT_TOKEN WATCHDOG_BATCH_POLLER_DISABLED WATCHDOG_MAX_FIXERS_PER_DAY\"\n\nDELAY=$INITIAL_DELAY\n\necho \"Waiting for secrets to be synced to AWS Secrets Manager...\"\necho \"Path: $SECRETS_PATH\"\necho \"Region: $AWS_REGION\"\necho \"Secrets to check: ${#SECRET_NAMES[@]}\"\necho \"\"\n\ni=1\nwhile [ $i -le \"$MAX_RETRIES\" ]; do\n MISSING_SECRETS=()\n MISSING_COUNT=0\n \n for SECRET_NAME in \"${SECRET_NAMES[@]}\"; do\n # AWS Secrets Manager supports prefix matching - we can use the base name\n # and it will find secrets with random suffixes (e.g., SECRET_NAME-abc123)\n if ! aws secretsmanager describe-secret \\\n --secret-id \"$SECRETS_PATH/$SECRET_NAME\" \\\n --region \"$AWS_REGION\" \\\n --query 'ARN' \\\n --output text 2>/dev/null | grep -q \"arn:aws:secretsmanager\"; then\n MISSING_SECRETS+=(\"$SECRET_NAME\")\n MISSING_COUNT=$((MISSING_COUNT + 1))\n fi\n done\n \n if [ $MISSING_COUNT -eq 0 ]; then\n echo \"✓ All secrets are synced!\"\n exit 0\n fi\n \n echo \"Attempt $i/$MAX_RETRIES: Missing $MISSING_COUNT secret(s): ${MISSING_SECRETS[*]}\"\n \n if [ $i -lt \"$MAX_RETRIES\" ]; then\n echo \"Waiting ${DELAY}s before retry (exponential backoff)...\"\n sleep $DELAY\n DELAY=$((DELAY * 2))\n fi\n \n i=$((i + 1))\ndone\n\necho \"\"\necho \"ERROR: Not all secrets were synced after $MAX_RETRIES attempts\"\necho \"Missing secrets: ${MISSING_SECRETS[*]}\"\nexit 1\n"]
module.doppler_aws_secrets.null_resource.wait_for_secrets (local-exec): Waiting for secrets to be synced to AWS Secrets Manager...
module.doppler_aws_secrets.null_resource.wait_for_secrets (local-exec): Path: doppler/integrator/staging
module.doppler_aws_secrets.null_resource.wait_for_secrets (local-exec): Region: us-east-1
module.doppler_aws_secrets.null_resource.wait_for_secrets (local-exec): Secrets to check: 58
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 10s elapsed]
module.doppler_aws_secrets.null_resource.wait_for_secrets: Still creating... [10s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 20s elapsed]
module.doppler_aws_secrets.null_resource.wait_for_secrets: Still creating... [20s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 30s elapsed]
module.doppler_aws_secrets.null_resource.wait_for_secrets: Still creating... [30s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 40s elapsed]
module.doppler_aws_secrets.null_resource.wait_for_secrets: Still creating... [40s elapsed]
module.doppler_aws_secrets.null_resource.wait_for_secrets (local-exec): ✓ All secrets are synced!
module.doppler_aws_secrets.null_resource.wait_for_secrets: Creation complete after 47s [id=7912776240554466563]
module.doppler_aws_secrets.data.aws_secretsmanager_secrets.synced: Reading...
module.doppler_aws_secrets.data.aws_secretsmanager_secrets.synced: Read complete after 0s [id=us-east-1]
module.ecs_background_runner.aws_ecs_task_definition.background_runner: Creating...
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 50s elapsed]
module.ecs_background_runner.aws_ecs_task_definition.background_runner: Creation complete after 0s [id=integrator-staging-background-runner]
module.ecs_api.aws_ecs_task_definition.poller: Creating...
module.ecs_api.aws_ecs_task_definition.api: Creating...
module.ecs_api.aws_ecs_task_definition.poller: Creation complete after 0s [id=integrator-staging-poller]
module.ecs_api.aws_ecs_service.poller: Modifying... [id=arn:aws:ecs:us-east-1:256586139593:service/default/integrator-staging-poller]
module.ecs_api.aws_ecs_task_definition.api: Creation complete after 0s [id=integrator-staging-api]
module.ecs_api.aws_ecs_service.api: Modifying... [id=arn:aws:ecs:us-east-1:256586139593:service/default/integrator-staging-api]
module.ecs_api.aws_ecs_service.poller: Modifications complete after 1s [id=arn:aws:ecs:us-east-1:256586139593:service/default/integrator-staging-poller]
module.ecs_api.aws_ecs_service.api: Modifications complete after 1s [id=arn:aws:ecs:us-east-1:256586139593:service/default/integrator-staging-api]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 1m0s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 1m10s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 1m20s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 1m30s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 1m40s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 1m50s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 2m0s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 2m10s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 2m20s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 2m30s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 2m40s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 2m50s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 3m0s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 3m10s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 3m20s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 3m30s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 3m40s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 3m50s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 4m0s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 4m10s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 4m20s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 4m30s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 4m40s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 4m50s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 5m0s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 5m10s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 5m20s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 5m30s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 5m40s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 5m50s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 6m0s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 6m10s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 6m20s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 6m30s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 6m40s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 6m50s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 7m0s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 7m10s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 7m20s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 7m30s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 7m40s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 7m50s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 8m0s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 8m10s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 8m20s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 8m30s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 8m40s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 8m50s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 9m0s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 9m10s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 9m20s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 9m30s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 9m40s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 9m50s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 10m0s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 10m10s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 10m20s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 10m30s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 10m40s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 10m50s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 11m0s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 11m10s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 11m20s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 11m30s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 11m40s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 11m50s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 12m0s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 12m10s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 12m20s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 12m30s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 12m40s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 12m50s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 13m0s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 13m10s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 13m20s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 13m30s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 13m40s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 13m50s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 14m0s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 14m10s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 14m20s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 14m30s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 14m40s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 14m50s elapsed]
module.dev_launch_template.aws_security_group.dev_instances: Still destroying... [id=sg-0bf64ade7c98a1da6, 15m0s elapsed]
Error: deleting Security Group (sg-0bf64ade7c98a1da6): operation error EC2: DeleteSecurityGroup, https response error StatusCode: 400, RequestID: 229128c0-278b-4610-b647-1e9a24a99cf9, api error DependencyViolation: resource sg-0bf64ade7c98a1da6 has a dependent object
⚠️ Apply failed. Please check the output above.
Error: Saved plan is stale
The given plan file can no longer be applied because the state was changed by
another operation after the plan was created.
⚠️ Apply failed. Please check the output above.
Plan output not available (terraform may have failed during init)
⚠️ Fix plan errors before applying.
Plan output not available (terraform may have failed during init)
⚠️ Production changes will be applied after merge to next branch.
ℹ️ Note: The
Plan: 3 to add, 3 to change, 3 to destroy.output is always expected due to a known Terraform AWS provider issue. ECS task definitions show asmust be replacedon every plan because the provider stores container definitions in a different order than AWS returns them. This is cosmetic only - real changes (new images, env vars) are still detected correctly.
module.doppler_aws_secrets.data.external.env_vars: Reading...
module.doppler_aws_secrets.doppler_environment.config: Refreshing state... [id=integrator.staging]
module.rds.random_password.master[0]: Refreshing state... [id=none]
module.rds.random_password.readonly[0]: Refreshing state... [id=none]
module.github_actions_role.data.tls_certificate.github: Reading...
module.github_actions_role.data.tls_certificate.github: Read complete after 1s [id=772ed8785f2c647baa040d3a1b4aa6cafacb6267]
module.datadog_monitors.datadog_monitor.all_errors_log[0]: Refreshing state... [id=253065817]
module.datadog_log_pipeline.datadog_apm_retention_filter.llmobs_traces: Refreshing state... [id=-mP2s46hR6yaYgMyEICDtg]
module.datadog_log_pipeline.datadog_apm_retention_filter.error_traces: Refreshing state... [id=h17q4OSSSEie8lqpAgBYyw]
module.doppler_aws_secrets.data.doppler_secrets.existing: Reading...
module.datadog_monitors.datadog_monitor.error_tracking_new_issues: Refreshing state... [id=253065812]
module.datadog_log_pipeline.datadog_logs_index.integrator: Refreshing state... [id=integrator-staging]
module.datadog_log_pipeline.datadog_logs_custom_pipeline.integrator_json: Refreshing state... [id=Hfi5qZBoQXq00jWU_RovcA]
module.doppler_aws_secrets.data.doppler_secrets.existing: Read complete after 0s [id=integrator.staging]
module.doppler_aws_secrets.data.external.env_vars: Read complete after 1s [id=-]
module.dev_launch_template.aws_security_group.dev_instances: Refreshing state... [id=sg-0bf64ade7c98a1da6]
module.ecs_api.aws_s3_bucket.alb_logs[0]: Refreshing state... [id=integrator-staging-alb-logs]
data.aws_iam_openid_connect_provider.github: Reading...
module.ecs_api.aws_iam_role.api_task: Refreshing state... [id=integrator-staging-api-task-role]
module.ecs_api.aws_cloudwatch_log_group.poller_logs: Refreshing state... [id=/ecs/integrator/staging/poller]
module.ecs_api.aws_cloudwatch_log_group.api_logs: Refreshing state... [id=/ecs/integrator/staging/api]
module.ecs_api.aws_iam_role.api_task_execution: Refreshing state... [id=integrator-staging-api-task-execution-role]
data.aws_iam_openid_connect_provider.github: Read complete after 0s [id=arn:aws:iam::256586139593:oidc-provider/token.actions.githubusercontent.com]
module.ecs_api.data.aws_vpc.selected: Reading...
module.rds.aws_secretsmanager_secret.readonly_password[0]: Refreshing state... [id=integrator/staging/rds-readonly-password]
module.ecs_api.data.aws_ecs_cluster.default: Reading...
module.ecs_api.aws_s3_bucket.migrations: Refreshing state... [id=integrator-staging-migrations]
module.ecs_api.aws_iam_policy.ecs_exec: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-api-ecs-exec-policy]
module.ecs_api.aws_cloudwatch_log_group.migrations_logs: Refreshing state... [id=/ecs/integrator/staging/migrations]
module.ecs_api.data.aws_elb_service_account.main: Reading...
module.ecs_api.data.aws_caller_identity.current: Reading...
module.ecs_api.data.aws_elb_service_account.main: Read complete after 0s [id=127311923021]
module.artifacts_bucket.aws_s3_bucket.this: Refreshing state... [id=integrator-artifacts-staging]
module.ecs_api.data.aws_ecs_cluster.default: Read complete after 0s [id=arn:aws:ecs:us-east-1:256586139593:cluster/default]
module.github_actions_role.data.aws_caller_identity.current: Reading...
module.ecs_api.data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
module.rds.aws_secretsmanager_secret.master_password[0]: Refreshing state... [id=arn:aws:secretsmanager:us-east-1:256586139593:secret:integrator/staging/rds-master-password-4QWym0]
module.github_actions_role.data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
data.aws_vpc.default: Reading...
module.ecs_api.aws_iam_role.migrations_lambda: Refreshing state... [id=integrator-staging-migrations-lambda-role]
data.aws_caller_identity.current: Reading...
module.ecs_api.aws_cloudwatch_log_group.migrations_lambda_logs: Refreshing state... [id=/aws/lambda/integrator-staging-migrations]
data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
module.doppler_aws_secrets.aws_iam_policy.doppler_secrets_manager: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-doppler-secrets-manager-policy]
module.ecs_api.data.aws_ecr_repository.api[0]: Reading...
module.doppler_aws_secrets.aws_iam_role.doppler_secrets_manager: Refreshing state... [id=integrator-staging-doppler-secrets-manager-role]
module.rds.aws_db_parameter_group.main: Refreshing state... [id=integrator-staging-postgres-20251121173128166300000001]
module.knowledge_bucket.aws_s3_bucket.this: Refreshing state... [id=integrator-knowledge-staging]
module.ecs_api.data.aws_vpc.selected: Read complete after 1s [id=vpc-0529dea5160deb846]
module.ai_agent_debugging_role.data.aws_caller_identity.current: Reading...
module.ai_agent_debugging_role.data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
module.bedrock_profiles.data.aws_region.current: Reading...
module.bedrock_profiles.data.aws_region.current: Read complete after 0s [id=us-east-1]
module.rds.data.aws_region.current: Reading...
module.rds.data.aws_region.current: Read complete after 0s [id=us-east-1]
module.ecs_api.aws_iam_role_policy_attachment.api_task_execution: Refreshing state... [id=integrator-staging-api-task-execution-role-20251121173131958900000005]
module.rds.aws_secretsmanager_secret_version.readonly_password[0]: Refreshing state... [id=integrator/staging/rds-readonly-password|terraform-20260115132739255000000001]
module.ecs_api.aws_iam_policy.bedrock_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-api-bedrock-access]
module.ecs_api.aws_iam_role_policy_attachment.api_ecs_exec: Refreshing state... [id=integrator-staging-api-task-role-20260110152557084500000001]
module.rds.aws_secretsmanager_secret_version.master_password[0]: Refreshing state... [id=arn:aws:secretsmanager:us-east-1:256586139593:secret:integrator/staging/rds-master-password-4QWym0|terraform-20251128130346365300000002]
data.aws_vpc.default: Read complete after 1s [id=vpc-0529dea5160deb846]
module.ecs_api.aws_s3_bucket_lifecycle_configuration.alb_logs[0]: Refreshing state... [id=integrator-staging-alb-logs]
module.ecs_api.aws_s3_bucket_public_access_block.alb_logs[0]: Refreshing state... [id=integrator-staging-alb-logs]
module.ecs_api.aws_s3_bucket_server_side_encryption_configuration.alb_logs[0]: Refreshing state... [id=integrator-staging-alb-logs]
module.ecs_api.aws_iam_role_policy_attachment.migrations_lambda_basic: Refreshing state... [id=integrator-staging-migrations-lambda-role-20260204171019948100000001]
module.ecs_api.aws_iam_role_policy_attachment.migrations_lambda_vpc: Refreshing state... [id=integrator-staging-migrations-lambda-role-20260204171019948800000002]
module.ecs_api.aws_security_group.alb: Refreshing state... [id=sg-0f268d8e0027eaad9]
module.ecs_api.data.aws_ecr_repository.api[0]: Read complete after 0s [id=integrator-api]
module.ecs_api.data.aws_subnets.public: Reading...
module.ecs_api.data.aws_route_tables.main: Reading...
module.ecs_api.aws_lb_target_group.api: Refreshing state... [id=arn:aws:elasticloadbalancing:us-east-1:256586139593:targetgroup/integrator-staging-api-tg/4ebc38c1a3c18f91]
module.ai_agent_debugging_role.aws_iam_role.ai_agent_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging]
module.ecs_api.data.aws_route_tables.main: Read complete after 0s [id=us-east-1]
module.github_actions_role.aws_iam_role.github_actions: Refreshing state... [id=integrator-github-actions-staging]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_GEMINI_API_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_GEMINI_API_KEY]
module.ecs_api.data.aws_subnets.public: Read complete after 0s [id=us-east-1]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_TAVILY_API_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_TAVILY_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["USE_APOLLO_GET_DOWNLOAD_URL_API"]: Refreshing state... [id=integrator.staging.USE_APOLLO_GET_DOWNLOAD_URL_API]
module.doppler_aws_secrets.doppler_secret.secrets["SLACK_BOT_TOKEN"]: Refreshing state... [id=integrator.staging.SLACK_BOT_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["MINIMAX_API_KEY"]: Refreshing state... [id=integrator.staging.MINIMAX_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["ANCHOR_API_KEY"]: Refreshing state... [id=integrator.staging.ANCHOR_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["STATSD_METRICS_FLUSH_WAIT_TIME_SECS"]: Refreshing state... [id=integrator.staging.STATSD_METRICS_FLUSH_WAIT_TIME_SECS]
module.doppler_aws_secrets.doppler_secret.secrets["LANGSMITH_ENDPOINT"]: Refreshing state... [id=integrator.staging.LANGSMITH_ENDPOINT]
module.doppler_aws_secrets.doppler_secret.secrets["CLICKHOUSE_PASSWORD"]: Refreshing state... [id=integrator.staging.CLICKHOUSE_PASSWORD]
module.doppler_aws_secrets.doppler_secret.secrets["PERPLEXITY_API_KEY"]: Refreshing state... [id=integrator.staging.PERPLEXITY_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["GITHUB_ACCESS_TOKEN"]: Refreshing state... [id=integrator.staging.GITHUB_ACCESS_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["AZURE_OPENAI_SUBSCRIPTION_KEY"]: Refreshing state... [id=integrator.staging.AZURE_OPENAI_SUBSCRIPTION_KEY]
module.datadog_dashboards.datadog_dashboard.workflow_debugging[0]: Refreshing state... [id=ea3-u45-7yc]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_WEBHOOK_SECRET"]: Refreshing state... [id=integrator.staging.COMPOSIO_WEBHOOK_SECRET]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_STAGING_API_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_STAGING_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_SERPAPI_API_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_SERPAPI_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_STAGING_ADMIN_TOKEN"]: Refreshing state... [id=integrator.staging.COMPOSIO_STAGING_ADMIN_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_PASSWORD"]: Refreshing state... [id=integrator.staging.THERMOS_PASSWORD]
module.doppler_aws_secrets.doppler_secret.secrets["PIPEDREAM_PATH"]: Refreshing state... [id=integrator.staging.PIPEDREAM_PATH]
module.doppler_aws_secrets.doppler_secret.secrets["HELICONE_API_KEY"]: Refreshing state... [id=integrator.staging.HELICONE_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_INSTACART_API_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_INSTACART_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["AZURE_OPENAI_ENDPOINT_URL"]: Refreshing state... [id=integrator.staging.AZURE_OPENAI_ENDPOINT_URL]
module.doppler_aws_secrets.doppler_secret.secrets["KIMI_API_KEY"]: Refreshing state... [id=integrator.staging.KIMI_API_KEY]
module.datadog_dashboards.datadog_dashboard.cost[0]: Refreshing state... [id=dcn-p2a-rya]
module.doppler_aws_secrets.doppler_secret.secrets["DD_APP_KEY"]: Refreshing state... [id=integrator.staging.DD_APP_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["DEEPSEEK_API_KEY"]: Refreshing state... [id=integrator.staging.DEEPSEEK_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["LANGSMITH_API_KEY"]: Refreshing state... [id=integrator.staging.LANGSMITH_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["APOLLO_ADMIN_TOKEN"]: Refreshing state... [id=integrator.staging.APOLLO_ADMIN_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["GROQ_API_KEY"]: Refreshing state... [id=integrator.staging.GROQ_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_YELP_API_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_YELP_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["MERCURY_AUTOLOAD"]: Refreshing state... [id=integrator.staging.MERCURY_AUTOLOAD]
module.doppler_aws_secrets.doppler_secret.secrets["BRANDFETCH_API_KEY"]: Refreshing state... [id=integrator.staging.BRANDFETCH_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["WATCHDOG_MAX_FIXERS_PER_DAY"]: Refreshing state... [id=integrator.staging.WATCHDOG_MAX_FIXERS_PER_DAY]
module.doppler_aws_secrets.doppler_secret.secrets["WATCHDOG_BATCH_POLLER_DISABLED"]: Refreshing state... [id=integrator.staging.WATCHDOG_BATCH_POLLER_DISABLED]
module.doppler_aws_secrets.doppler_secret.secrets["TWITTER_API_KEY"]: Refreshing state... [id=integrator.staging.TWITTER_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_API_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["NOTION_API_KEY"]: Refreshing state... [id=integrator.staging.NOTION_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["DISABLE_MERCURY_CLEANUP"]: Refreshing state... [id=integrator.staging.DISABLE_MERCURY_CLEANUP]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_PORT"]: Refreshing state... [id=integrator.staging.THERMOS_PORT]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_HOST"]: Refreshing state... [id=integrator.staging.THERMOS_HOST]
module.doppler_aws_secrets.doppler_secret.secrets["DD_API_KEY"]: Refreshing state... [id=integrator.staging.DD_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["TWITTER_API_SECRET"]: Refreshing state... [id=integrator.staging.TWITTER_API_SECRET]
module.doppler_aws_secrets.doppler_secret.secrets["LANGSMITH_TRACING"]: Refreshing state... [id=integrator.staging.LANGSMITH_TRACING]
module.doppler_aws_secrets.doppler_secret.secrets["APOLLO_URL"]: Refreshing state... [id=integrator.staging.APOLLO_URL]
module.doppler_aws_secrets.doppler_secret.secrets["ANTHROPIC_API_KEY"]: Refreshing state... [id=integrator.staging.ANTHROPIC_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["LINEAR_API_KEY"]: Refreshing state... [id=integrator.staging.LINEAR_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_USERNAME"]: Refreshing state... [id=integrator.staging.THERMOS_USERNAME]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_ADMIN_TOKEN"]: Refreshing state... [id=integrator.staging.COMPOSIO_ADMIN_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["FIRECRAWL_API_KEY"]: Refreshing state... [id=integrator.staging.FIRECRAWL_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["CLICKHOUSE_USERNAME"]: Refreshing state... [id=integrator.staging.CLICKHOUSE_USERNAME]
module.doppler_aws_secrets.doppler_secret.secrets["PYTHONPATH"]: Refreshing state... [id=integrator.staging.PYTHONPATH]
module.doppler_aws_secrets.doppler_secret.secrets["ZAPIER_PATH"]: Refreshing state... [id=integrator.staging.ZAPIER_PATH]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_DATABASE"]: Refreshing state... [id=integrator.staging.THERMOS_DATABASE]
module.doppler_aws_secrets.doppler_secret.secrets["ENCRYPTION_KEY"]: Refreshing state... [id=integrator.staging.ENCRYPTION_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["Z_AI_API_KEY"]: Refreshing state... [id=integrator.staging.Z_AI_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["Z_AI_BASE_URL"]: Refreshing state... [id=integrator.staging.Z_AI_BASE_URL]
module.doppler_aws_secrets.doppler_secret.secrets["TOOLS_DATABASE_URL"]: Refreshing state... [id=integrator.staging.TOOLS_DATABASE_URL]
module.doppler_aws_secrets.doppler_secret.secrets["BACKEND_READONLY_URL"]: Refreshing state... [id=integrator.staging.BACKEND_READONLY_URL]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_EXA_API_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_EXA_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["OPENAI_API_KEY"]: Refreshing state... [id=integrator.staging.OPENAI_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["GITHUB_REVIEWER_TOKEN"]: Refreshing state... [id=integrator.staging.GITHUB_REVIEWER_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["VERCEL_AI_GATEWAY_API_KEY"]: Refreshing state... [id=integrator.staging.VERCEL_AI_GATEWAY_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["TEST_CONNECTION_ID"]: Refreshing state... [id=integrator.staging.TEST_CONNECTION_ID]
module.doppler_aws_secrets.doppler_secret.secrets["GH_WEBHOOK_SECRET"]: Refreshing state... [id=integrator.staging.GH_WEBHOOK_SECRET]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_SEATGEEK_KEY"]: Refreshing state... [id=integrator.staging.COMPOSIO_SEATGEEK_KEY]
module.doppler_aws_secrets.aws_iam_role_policy_attachment.doppler_secrets_manager: Refreshing state... [id=integrator-staging-doppler-secrets-manager-role-20251117112527179200000001]
module.doppler_aws_secrets.doppler_integration_aws_secrets_manager.integration: Refreshing state... [id=44a390e7-e35d-44e3-a573-6476e776f406]
module.ecs_api.aws_s3_bucket_public_access_block.migrations: Refreshing state... [id=integrator-staging-migrations]
data.aws_subnets.public: Reading...
module.ecs_api.aws_iam_role_policy_attachment.api_bedrock_access: Refreshing state... [id=integrator-staging-api-task-role-20260204130051288600000001]
module.ecs_api.aws_s3_bucket_policy.alb_logs[0]: Refreshing state... [id=integrator-staging-alb-logs]
module.artifacts_bucket.aws_s3_bucket_server_side_encryption_configuration.this: Refreshing state... [id=integrator-artifacts-staging]
module.artifacts_bucket.aws_s3_bucket_public_access_block.this: Refreshing state... [id=integrator-artifacts-staging]
module.artifacts_bucket.aws_s3_bucket_lifecycle_configuration.this: Refreshing state... [id=integrator-artifacts-staging]
module.bedrock_profiles.aws_bedrock_inference_profile.haiku: Refreshing state... [id=71dmct7za78p]
module.bedrock_profiles.aws_bedrock_inference_profile.opus: Refreshing state... [id=1zfxsu353ckg]
module.bedrock_profiles.aws_bedrock_inference_profile.sonnet: Refreshing state... [id=tpazg97vdxpe]
module.ecs_api.aws_security_group.api: Refreshing state... [id=sg-06a8634c658cb6242]
data.aws_subnets.public: Read complete after 0s [id=us-east-1]
module.knowledge_bucket.aws_s3_bucket_lifecycle_configuration.this: Refreshing state... [id=integrator-knowledge-staging]
module.knowledge_bucket.aws_s3_bucket_server_side_encryption_configuration.this: Refreshing state... [id=integrator-knowledge-staging]
module.knowledge_bucket.aws_s3_bucket_versioning.this[0]: Refreshing state... [id=integrator-knowledge-staging]
module.knowledge_bucket.aws_s3_bucket_public_access_block.this: Refreshing state... [id=integrator-knowledge-staging]
module.github_actions_role.aws_iam_role_policy.lambda: Refreshing state... [id=integrator-github-actions-staging:integrator-github-actions-staging-lambda-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.cloudwatch_logs_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-cloudwatch-logs-policy]
module.github_actions_role.aws_iam_role_policy_attachment.terraform_admin[0]: Refreshing state... [id=integrator-github-actions-staging-20260115154744404400000001]
module.github_actions_role.aws_iam_role_policy.cloudwatch_logs: Refreshing state... [id=integrator-github-actions-staging:integrator-github-actions-staging-cloudwatch-logs-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.deny_privilege_escalation: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-deny-privilege-escalation]
module.ai_agent_debugging_role.aws_iam_role_policy.vpc_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-vpc-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.ecr_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-ecr-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.alb_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-alb-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.rds_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-rds-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.iam_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-iam-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.s3_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-s3-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.ecs_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-ecs-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.secrets_manager_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-secrets-manager-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.cloudwatch_metrics_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-cloudwatch-metrics-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.cost_explorer_debugging: Refreshing state... [id=integrator-ai-agent-debugging-staging:integrator-ai-agent-debugging-staging-cost-explorer-policy]
module.rds.data.aws_vpc.selected: Reading...
module.doppler_aws_secrets.doppler_secrets_sync_aws_secrets_manager.sync: Refreshing state... [id=3cddcf0b-4014-410d-a552-88d3e5022617]
module.ecs_api.aws_lb.api: Refreshing state... [id=arn:aws:elasticloadbalancing:us-east-1:256586139593:loadbalancer/app/integrator-staging-alb/5e4f301bcd0263cb]
github_actions_secret.ecs_subnets: Refreshing state... [id=integrator:ECS_SUBNETS_STAGING]
github_actions_secret.aws_role_arn: Refreshing state... [id=integrator:AWS_ROLE_ARN_STAGING]
module.rds.aws_db_subnet_group.main: Refreshing state... [id=integrator-staging-db-subnet-group]
module.datadog_infra_alerts.datadog_monitor.alb_unhealthy_targets[0]: Refreshing state... [id=254278294]
github_actions_secret.ecs_security_groups: Refreshing state... [id=integrator:ECS_SECURITY_GROUPS_STAGING]
module.doppler_aws_secrets.null_resource.wait_for_secrets: Refreshing state... [id=2967040452228677517]
module.ecs_api.aws_lb_listener.http: Refreshing state... [id=arn:aws:elasticloadbalancing:us-east-1:256586139593:listener/app/integrator-staging-alb/5e4f301bcd0263cb/d7549a73fdd1a11a]
module.doppler_aws_secrets.data.aws_secretsmanager_secrets.synced: Reading...
module.datadog_infra_alerts.datadog_monitor.alb_5xx[0]: Refreshing state... [id=254279883]
module.rds.data.aws_vpc.selected: Read complete after 0s [id=vpc-0529dea5160deb846]
module.rds.aws_security_group.rds: Refreshing state... [id=sg-0c78e576a056ba44a]
module.doppler_aws_secrets.data.aws_secretsmanager_secrets.synced: Read complete after 0s [id=us-east-1]
module.rds.aws_db_instance.main: Refreshing state... [id=db-I57KURHD3UXFT56QM2OTWRW7TQ]
module.datadog_infra_alerts.datadog_monitor.rds_connections: Refreshing state... [id=254278252]
module.datadog_infra_alerts.datadog_monitor.rds_read_latency: Refreshing state... [id=254278251]
module.datadog_infra_alerts.datadog_monitor.rds_storage: Refreshing state... [id=254278255]
module.rds.null_resource.create_readonly_user[0]: Refreshing state... [id=3885368352693534014]
module.ecs_api.aws_iam_role_policy.migrations_lambda_access: Refreshing state... [id=integrator-staging-migrations-lambda-role:integrator-staging-migrations-lambda-access]
module.datadog_infra_alerts.datadog_monitor.rds_cpu: Refreshing state... [id=254278250]
module.ecs_api.aws_lambda_function.migrations: Refreshing state... [id=integrator-staging-migrations]
module.datadog_infra_alerts.datadog_monitor.rds_memory: Refreshing state... [id=254278254]
module.datadog_infra_alerts.datadog_monitor.rds_write_latency: Refreshing state... [id=254278253]
module.datadog_infra_alerts.datadog_monitor.rds_queue_depth: Refreshing state... [id=254278249]
module.ecs_api.aws_ecs_task_definition.migrations: Refreshing state... [id=integrator-staging-migrations]
module.ecs_background_runner.data.aws_caller_identity.current: Reading...
module.ecs_api.aws_iam_policy.api_secrets_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-api-secrets-access]
module.ecs_background_runner.data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
module.ecs_background_runner.aws_cloudwatch_log_group.task_logs: Refreshing state... [id=/ecs/integrator/staging/background-runner]
module.ecs_background_runner.aws_iam_role.task_execution: Refreshing state... [id=integrator-staging-ecs-task-execution-role]
module.ecs_background_runner.data.aws_ecr_repository.background_runner[0]: Reading...
module.ecs_background_runner.data.aws_ecs_cluster.default[0]: Reading...
module.ecs_background_runner.aws_cloudwatch_log_group.ecs_task_events: Refreshing state... [id=/aws/events/integrator/staging/ecs-task-state-change]
module.ecs_background_runner.aws_iam_role.task: Refreshing state... [id=integrator-staging-ecs-task-role]
module.ecs_background_runner.data.aws_ecs_cluster.default[0]: Read complete after 1s [id=arn:aws:ecs:us-east-1:256586139593:cluster/default]
module.ecs_background_runner.aws_iam_policy.ecs_exec: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-ecs-exec-policy]
module.ecs_background_runner.aws_iam_policy.s3_knowledge_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-s3-knowledge-access]
module.ecs_background_runner.aws_iam_policy.bedrock_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-bedrock-access]
module.ecs_background_runner.aws_iam_policy.secrets_manager_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-ecs-secrets-access]
module.ecs_api.aws_iam_role_policy_attachment.api_secrets_access: Refreshing state... [id=integrator-staging-api-task-execution-role-20251127102440078700000001]
module.ecs_background_runner.aws_iam_role_policy_attachment.task_execution: Refreshing state... [id=integrator-staging-ecs-task-execution-role-20251121173130862100000002]
module.ecs_background_runner.aws_cloudwatch_event_rule.ecs_task_state_change: Refreshing state... [id=integrator-staging-ecs-task-state-change]
module.ecs_background_runner.aws_iam_role_policy_attachment.ecs_exec: Refreshing state... [id=integrator-staging-ecs-task-role-20251121173131775000000004]
module.ecs_background_runner.aws_iam_role_policy_attachment.secrets_access: Refreshing state... [id=integrator-staging-ecs-task-execution-role-20251121173131402400000003]
module.ecs_background_runner.aws_iam_role_policy_attachment.bedrock_access: Refreshing state... [id=integrator-staging-ecs-task-role-20260204130051819900000004]
module.ecs_background_runner.aws_iam_role_policy_attachment.s3_knowledge_access: Refreshing state... [id=integrator-staging-ecs-task-role-20260110152558095500000002]
module.ecs_background_runner.aws_cloudwatch_event_target.ecs_task_state_change_logs: Refreshing state... [id=integrator-staging-ecs-task-state-change-LogTaskStateChanges]
module.ecs_background_runner.data.aws_ecr_repository.background_runner[0]: Read complete after 1s [id=integrator-background-runner]
module.github_actions_role.aws_iam_role_policy.ecr: Refreshing state... [id=integrator-github-actions-staging:integrator-github-actions-staging-ecr-policy]
module.ecs_background_runner.aws_ecs_task_definition.background_runner: Refreshing state... [id=integrator-staging-background-runner]
module.ecs_api.aws_ecs_task_definition.poller: Refreshing state... [id=integrator-staging-poller]
module.datadog_infra_alerts.datadog_monitor.background_runner_memory: Refreshing state... [id=254278257]
module.ecs_api.aws_ecs_task_definition.api: Refreshing state... [id=integrator-staging-api]
module.ecs_api.aws_iam_policy.launch_background_runner: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-staging-api-launch-tasks-policy]
module.ecs_api.aws_ecs_service.poller: Refreshing state... [id=arn:aws:ecs:us-east-1:256586139593:service/default/integrator-staging-poller]
module.ecs_api.aws_iam_role_policy_attachment.api_launch_tasks: Refreshing state... [id=integrator-staging-api-task-role-20251121182311833700000002]
module.ecs_api.aws_ecs_service.api: Refreshing state... [id=arn:aws:ecs:us-east-1:256586139593:service/default/integrator-staging-api]
module.datadog_infra_alerts.datadog_monitor.ecs_poller_cpu: Refreshing state... [id=254278263]
module.datadog_infra_alerts.datadog_monitor.ecs_poller_memory: Refreshing state... [id=254278262]
module.datadog_infra_alerts.datadog_monitor.ecs_poller_task_failures: Refreshing state... [id=254278261]
module.github_actions_role.aws_iam_role_policy.ecs: Refreshing state... [id=integrator-github-actions-staging:integrator-github-actions-staging-ecs-policy]
module.datadog_infra_alerts.datadog_monitor.ecs_api_memory: Refreshing state... [id=254278265]
module.datadog_infra_alerts.datadog_monitor.ecs_api_task_failures: Refreshing state... [id=254278266]
module.datadog_infra_alerts.datadog_monitor.ecs_api_cpu: Refreshing state... [id=254278264]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
~ update in-place
- destroy
-/+ destroy and then create replacement
Terraform will perform the following actions:
# module.ai_agent_debugging_role.aws_iam_role.ai_agent_debugging will be updated in-place
~ resource "aws_iam_role" "ai_agent_debugging" {
~ assume_role_policy = jsonencode(
~ {
~ Statement = [
~ {
~ Condition = {
~ StringLike = {
~ "aws:PrincipalArn" = [
- "arn:aws:iam::256586139593:user/*",
- "arn:aws:iam::256586139593:role/aws-reserved/sso.amazonaws.com/AWSReservedSSO_*",
] -> "arn:aws:iam::256586139593:role/aws-reserved/sso.amazonaws.com/AWSReservedSSO_*"
}
}
+ Sid = "AllowSSORoles"
# (3 unchanged attributes hidden)
},
+ {
+ Action = "sts:AssumeRole"
+ Condition = {
+ StringLike = {
+ "aws:PrincipalArn" = "arn:aws:iam::256586139593:user/*"
}
}
+ Effect = "Allow"
+ Principal = {
+ AWS = "arn:aws:iam::256586139593:root"
}
+ Sid = "AllowIAMUsers"
},
]
# (1 unchanged attribute hidden)
}
)
id = "integrator-ai-agent-debugging-staging"
name = "integrator-ai-agent-debugging-staging"
tags = {
"Environment" = "staging"
"ManagedBy" = "Terraform"
"Name" = "integrator-ai-agent-debugging-staging"
"Purpose" = "AI Agent Read-only Debugging"
}
# (8 unchanged attributes hidden)
# (12 unchanged blocks hidden)
}
# module.dev_launch_template.aws_security_group.dev_instances will be destroyed
# (because aws_security_group.dev_instances is not in configuration)
- resource "aws_security_group" "dev_instances" {
- arn = "arn:aws:ec2:us-east-1:256586139593:security-group/sg-0bf64ade7c98a1da6" -> null
- description = "Security group for personal dev EC2 instances" -> null
- egress = [
- {
- cidr_blocks = [
- "0.0.0.0/0",
]
- description = "Allow all outbound traffic"
- from_port = 0
- ipv6_cidr_blocks = []
- prefix_list_ids = []
- protocol = "-1"
- security_groups = []
- self = false
- to_port = 0
},
] -> null
- id = "sg-0bf64ade7c98a1da6" -> null
- ingress = [
- {
- cidr_blocks = [
- "0.0.0.0/0",
]
- description = "SSH from anywhere (restricted by individual instance tags)"
- from_port = 22
- ipv6_cidr_blocks = []
- prefix_list_ids = []
- protocol = "tcp"
- security_groups = []
- self = false
- to_port = 22
},
] -> null
- name = "integrator-dev-instances" -> null
- owner_id = "256586139593" -> null
- revoke_rules_on_delete = false -> null
- tags = {
- "Environment" = "dev"
- "ManagedBy" = "terraform"
- "Name" = "integrator-dev-instances-sg"
} -> null
- tags_all = {
- "Environment" = "dev"
- "ManagedBy" = "terraform"
- "Name" = "integrator-dev-instances-sg"
} -> null
- vpc_id = "vpc-0529dea5160deb846" -> null
}
# module.ecs_api.aws_ecs_service.api will be updated in-place
~ resource "aws_ecs_service" "api" {
id = "arn:aws:ecs:us-east-1:256586139593:service/default/integrator-staging-api"
name = "integrator-staging-api"
tags = {
"Environment" = "staging"
"ManagedBy" = "Terraform"
"Name" = "integrator-staging-api-service"
}
~ task_definition = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-api:157" -> (known after apply)
# (16 unchanged attributes hidden)
# (4 unchanged blocks hidden)
}
# module.ecs_api.aws_ecs_service.poller will be updated in-place
~ resource "aws_ecs_service" "poller" {
id = "arn:aws:ecs:us-east-1:256586139593:service/default/integrator-staging-poller"
name = "integrator-staging-poller"
tags = {
"Environment" = "staging"
"ManagedBy" = "Terraform"
"Name" = "integrator-staging-poller-service"
}
~ task_definition = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-poller:143" -> (known after apply)
# (16 unchanged attributes hidden)
# (3 unchanged blocks hidden)
}
# module.ecs_api.aws_ecs_task_definition.api must be replaced
-/+ resource "aws_ecs_task_definition" "api" {
~ arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-api:157" -> (known after apply)
~ arn_without_revision = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-api" -> (known after apply)
~ container_definitions = (sensitive value) # forces replacement
~ enable_fault_injection = false -> (known after apply)
~ id = "integrator-staging-api" -> (known after apply)
~ revision = 157 -> (known after apply)
tags = {
"Environment" = "staging"
"ManagedBy" = "Terraform"
"Name" = "integrator-staging-api"
}
# (10 unchanged attributes hidden)
}
# module.ecs_api.aws_ecs_task_definition.poller must be replaced
-/+ resource "aws_ecs_task_definition" "poller" {
~ arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-poller:143" -> (known after apply)
~ arn_without_revision = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-poller" -> (known after apply)
~ container_definitions = (sensitive value) # forces replacement
~ enable_fault_injection = false -> (known after apply)
~ id = "integrator-staging-poller" -> (known after apply)
~ revision = 143 -> (known after apply)
tags = {
"Environment" = "staging"
"ManagedBy" = "Terraform"
"Name" = "integrator-staging-poller"
}
# (10 unchanged attributes hidden)
}
# module.ecs_api.aws_iam_policy.launch_background_runner will be updated in-place
~ resource "aws_iam_policy" "launch_background_runner" {
id = "arn:aws:iam::256586139593:policy/integrator-staging-api-launch-tasks-policy"
name = "integrator-staging-api-launch-tasks-policy"
~ policy = jsonencode(
{
- Statement = [
- {
- Action = [
- "ecs:RunTask",
- "ecs:DescribeTasks",
- "ecs:StopTask",
- "ecs:ListTasks",
]
- Effect = "Allow"
- Resource = [
- "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-background-runner:*",
- "arn:aws:ecs:us-east-1:256586139593:task/default/*",
]
},
- {
- Action = [
- "iam:PassRole",
]
- Condition = {
- StringEquals = {
- "iam:PassedToService" = "ecs-tasks.amazonaws.com"
}
}
- Effect = "Allow"
- Resource = [
- "arn:aws:iam::256586139593:role/integrator-staging-ecs-task-execution-role",
- "arn:aws:iam::256586139593:role/integrator-staging-ecs-task-role",
]
},
]
- Version = "2012-10-17"
}
) -> (known after apply)
tags = {
"Environment" = "staging"
"ManagedBy" = "Terraform"
"Name" = "integrator-staging-api-launch-tasks-policy"
}
# (6 unchanged attributes hidden)
}
# module.ecs_background_runner.aws_ecs_task_definition.background_runner must be replaced
-/+ resource "aws_ecs_task_definition" "background_runner" {
~ arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-background-runner:161" -> (known after apply)
~ arn_without_revision = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-background-runner" -> (known after apply)
~ container_definitions = (sensitive value) # forces replacement
~ enable_fault_injection = false -> (known after apply)
~ id = "integrator-staging-background-runner" -> (known after apply)
~ revision = 161 -> (known after apply)
tags = {
"Environment" = "staging"
"ManagedBy" = "Terraform"
"Name" = "integrator-staging-background-runner"
}
# (10 unchanged attributes hidden)
}
Plan: 3 to add, 4 to change, 4 to destroy.
Changes to Outputs:
~ api_task_definition_arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-api:157" -> (known after apply)
~ ecs_task_definition_arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-background-runner:161" -> (known after apply)
Warning: Argument is deprecated
with module.datadog_dashboards.datadog_dashboard.cost,
on ../../modules/datadog-dashboards/cost.tf line 16, in resource "datadog_dashboard" "cost":
16: default = "*"
Use `defaults` instead.
(and 13 more similar warnings elsewhere)
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: tfplan
To perform exactly these actions, run the following command to apply:
terraform apply "tfplan"
🔵 Comment /apply-staging to apply these changes.
ℹ️ Note: The
Plan: 3 to add, 3 to change, 3 to destroy.output is always expected due to a known Terraform AWS provider issue. ECS task definitions show asmust be replacedon every plan because the provider stores container definitions in a different order than AWS returns them. This is cosmetic only - real changes (new images, env vars) are still detected correctly.
module.doppler_aws_secrets.data.external.env_vars: Reading...
module.github_actions_role.data.tls_certificate.github: Reading...
data.doppler_secrets.github: Reading...
module.doppler_aws_secrets.doppler_environment.config: Refreshing state... [id=integrator.prod]
module.rds.tls_private_key.bastion[0]: Refreshing state... [id=b458af7b383ee8f3e3fcd9aeaac04b321158c3eb]
module.rds.random_password.master[0]: Refreshing state... [id=none]
module.rds.random_password.readonly[0]: Refreshing state... [id=none]
module.github_actions_role.data.tls_certificate.github: Read complete after 0s [id=772ed8785f2c647baa040d3a1b4aa6cafacb6267]
module.datadog_aws_integration.data.datadog_integration_aws_available_namespaces.available: Reading...
module.datadog_watchdog_monitors.datadog_monitor.batch_poller_heartbeat: Refreshing state... [id=258866091]
module.datadog_watchdog_monitors.datadog_monitor.fixable_error_rate_tiered: Refreshing state... [id=259161122]
module.datadog_monitors.datadog_monitor.all_errors_log[0]: Refreshing state... [id=253047645]
module.datadog_monitors.datadog_monitor.error_tracking_new_issues: Refreshing state... [id=253047644]
module.datadog_watchdog_monitors.datadog_monitor.fixable_error_rate_anomaly: Refreshing state... [id=258866090]
module.datadog_log_pipeline.datadog_logs_index.integrator: Refreshing state... [id=integrator-prod]
data.doppler_secrets.github: Read complete after 1s [id=integrator.prod]
module.doppler_aws_secrets.aws_iam_role.doppler_secrets_manager: Refreshing state... [id=integrator-prod-doppler-secrets-manager-role]
module.datadog_aws_integration.data.datadog_integration_aws_available_namespaces.available: Read complete after 1s [id=integration-aws-available-namespaces]
module.ecs_api.aws_iam_role.migrations_lambda: Refreshing state... [id=integrator-prod-migrations-lambda-role]
module.doppler_aws_secrets.data.external.env_vars: Read complete after 1s [id=-]
module.datadog_log_pipeline.datadog_logs_custom_pipeline.integrator_json: Refreshing state... [id=Tr5j8R9oTUmYINowsAYAcw]
module.datadog_aws_integration.data.datadog_integration_aws_iam_permissions.permissions: Reading...
module.datadog_log_pipeline.datadog_apm_retention_filter.llmobs_traces: Refreshing state... [id=ZAg6PqW4QYS9vFG1VbVz-g]
module.datadog_aws_integration.data.datadog_integration_aws_iam_permissions.permissions: Read complete after 0s [id=integration-aws-iam-permissions]
module.rds.data.aws_ami.amazon_linux[0]: Reading...
module.ecs_api.aws_cloudwatch_log_group.poller_logs: Refreshing state... [id=/ecs/integrator/prod/poller]
module.ecs_api.aws_cloudwatch_log_group.migrations_logs: Refreshing state... [id=/ecs/integrator/prod/migrations]
module.ecs_api.aws_s3_bucket.alb_logs[0]: Refreshing state... [id=integrator-prod-alb-logs]
module.datadog_log_pipeline.datadog_apm_retention_filter.error_traces: Refreshing state... [id=nUNRxvKsTYaNYc3mOIp8qQ]
module.ecs_api.aws_cloudwatch_log_group.api_logs: Refreshing state... [id=/ecs/integrator/prod/api]
module.ecs_api.aws_iam_role.api_task_execution: Refreshing state... [id=integrator-prod-api-task-execution-role]
module.ecs_api.aws_cloudwatch_log_group.migrations_lambda_logs: Refreshing state... [id=/aws/lambda/integrator-prod-migrations]
module.ecs_api.aws_iam_role.api_task: Refreshing state... [id=integrator-prod-api-task-role]
module.github_actions_role.aws_iam_openid_connect_provider.github[0]: Refreshing state... [id=arn:aws:iam::256586139593:oidc-provider/token.actions.githubusercontent.com]
module.knowledge_bucket.aws_s3_bucket.this: Refreshing state... [id=integrator-knowledge-prod]
module.rds.aws_secretsmanager_secret.bastion_ssh_key[0]: Refreshing state... [id=arn:aws:secretsmanager:us-east-1:256586139593:secret:integrator/prod/bastion-ssh-key-1KH899]
module.artifacts_bucket.aws_s3_bucket.this: Refreshing state... [id=integrator-artifacts-prod]
module.ai_agent_debugging_role.data.aws_caller_identity.current: Reading...
module.rds.aws_db_parameter_group.main: Refreshing state... [id=integrator-prod-postgres-20251121153637932500000001]
module.ai_agent_debugging_role.data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
module.doppler_aws_secrets.aws_iam_policy.doppler_secrets_manager: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-doppler-secrets-manager-policy]
module.ecs_api.data.aws_ecs_cluster.default: Reading...
module.rds.aws_iam_role.rds_monitoring[0]: Refreshing state... [id=integrator-prod-rds-monitoring-role]
module.github_actions_role.data.aws_caller_identity.current: Reading...
module.github_actions_role.data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
module.private_subnets.data.aws_vpc.default: Reading...
module.ecs_api.data.aws_ecs_cluster.default: Read complete after 0s [id=arn:aws:ecs:us-east-1:256586139593:cluster/default]
module.bedrock_profiles.data.aws_region.current: Reading...
module.bedrock_profiles.data.aws_region.current: Read complete after 0s [id=us-east-1]
module.ecs_api.data.aws_vpc.selected: Reading...
module.ecs_api.data.aws_caller_identity.current: Reading...
module.ecs_api.data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
module.rds.aws_iam_role.bastion[0]: Refreshing state... [id=integrator-prod-bastion-role]
module.private_subnets.data.aws_availability_zones.available: Reading...
module.rds.data.aws_ami.amazon_linux[0]: Read complete after 1s [id=ami-0ee72650e64503637]
module.rds.aws_key_pair.bastion[0]: Refreshing state... [id=integrator-prod-bastion-key]
module.private_subnets.data.aws_availability_zones.available: Read complete after 0s [id=us-east-1]
module.ecs_api.aws_ecr_repository.api[0]: Refreshing state... [id=integrator-api]
data.aws_caller_identity.current: Reading...
module.rds.data.aws_region.current: Reading...
module.ecs_api.aws_iam_policy.ecs_exec: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-api-ecs-exec-policy]
module.rds.data.aws_region.current: Read complete after 0s [id=us-east-1]
module.rds.aws_secretsmanager_secret.master_password[0]: Refreshing state... [id=arn:aws:secretsmanager:us-east-1:256586139593:secret:integrator/prod/rds-master-password-eUwfvl]
module.ecs_api.data.aws_elb_service_account.main: Reading...
module.ecs_api.data.aws_elb_service_account.main: Read complete after 0s [id=127311923021]
data.aws_caller_identity.current: Read complete after 0s [id=256586139593]
module.rds.aws_secretsmanager_secret.readonly_password[0]: Refreshing state... [id=integrator/prod/rds-readonly-password]
module.doppler_aws_secrets.data.doppler_secrets.existing: Reading...
module.ecs_api.aws_s3_bucket.migrations: Refreshing state... [id=integrator-prod-migrations]
github_actions_secret.gh_access_token: Refreshing state... [id=integrator:GH_ACCESS_TOKEN]
module.doppler_aws_secrets.doppler_integration_aws_secrets_manager.integration: Refreshing state... [id=f8180e75-b756-44ea-94f0-ba14f3f34cf3]
module.doppler_aws_secrets.data.doppler_secrets.existing: Read complete after 0s [id=integrator.prod]
module.private_subnets.data.aws_vpc.default: Read complete after 1s [id=vpc-0529dea5160deb846]
module.ecs_api.aws_iam_role_policy_attachment.migrations_lambda_basic: Refreshing state... [id=integrator-prod-migrations-lambda-role-20260204170613005600000002]
module.ecs_api.aws_iam_role_policy_attachment.migrations_lambda_vpc: Refreshing state... [id=integrator-prod-migrations-lambda-role-20260204170613044800000003]
module.github_actions_role.aws_iam_role.github_actions: Refreshing state... [id=integrator-github-actions-prod]
module.ecs_api.data.aws_vpc.selected: Read complete after 1s [id=vpc-0529dea5160deb846]
module.ecs_api.aws_iam_role_policy_attachment.api_task_execution: Refreshing state... [id=integrator-prod-api-task-execution-role-20251119130129752900000001]
module.rds.aws_secretsmanager_secret_version.bastion_ssh_key[0]: Refreshing state... [id=arn:aws:secretsmanager:us-east-1:256586139593:secret:integrator/prod/bastion-ssh-key-1KH899|terraform-20251209070355334400000002]
module.doppler_aws_secrets.aws_iam_role_policy_attachment.doppler_secrets_manager: Refreshing state... [id=integrator-prod-doppler-secrets-manager-role-20251117114311112900000001]
module.rds.aws_iam_role_policy_attachment.rds_monitoring[0]: Refreshing state... [id=integrator-prod-rds-monitoring-role-20251121100809599300000002]
module.ecs_api.aws_iam_policy.bedrock_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-api-bedrock-access]
module.ecs_api.aws_s3_bucket_lifecycle_configuration.alb_logs[0]: Refreshing state... [id=integrator-prod-alb-logs]
module.ecs_api.aws_s3_bucket_public_access_block.alb_logs[0]: Refreshing state... [id=integrator-prod-alb-logs]
module.ecs_api.aws_s3_bucket_server_side_encryption_configuration.alb_logs[0]: Refreshing state... [id=integrator-prod-alb-logs]
module.artifacts_bucket.aws_s3_bucket_public_access_block.this: Refreshing state... [id=integrator-artifacts-prod]
module.artifacts_bucket.aws_s3_bucket_server_side_encryption_configuration.this: Refreshing state... [id=integrator-artifacts-prod]
module.rds.aws_iam_instance_profile.bastion[0]: Refreshing state... [id=integrator-prod-bastion-profile]
module.artifacts_bucket.aws_s3_bucket_lifecycle_configuration.this: Refreshing state... [id=integrator-artifacts-prod]
module.knowledge_bucket.aws_s3_bucket_versioning.this[0]: Refreshing state... [id=integrator-knowledge-prod]
module.rds.aws_iam_role_policy_attachment.bastion_ssm[0]: Refreshing state... [id=integrator-prod-bastion-role-20251209065339934800000002]
module.knowledge_bucket.aws_s3_bucket_server_side_encryption_configuration.this: Refreshing state... [id=integrator-knowledge-prod]
module.knowledge_bucket.aws_s3_bucket_lifecycle_configuration.this: Refreshing state... [id=integrator-knowledge-prod]
module.knowledge_bucket.aws_s3_bucket_public_access_block.this: Refreshing state... [id=integrator-knowledge-prod]
module.rds.aws_secretsmanager_secret_version.master_password[0]: Refreshing state... [id=arn:aws:secretsmanager:us-east-1:256586139593:secret:integrator/prod/rds-master-password-eUwfvl|terraform-20260102104323671400000002]
module.rds.aws_secretsmanager_secret_version.readonly_password[0]: Refreshing state... [id=integrator/prod/rds-readonly-password|terraform-20260113102854430300000001]
module.private_subnets.aws_subnet.private[0]: Refreshing state... [id=subnet-0c9ccc78412c4983e]
module.ecs_api.aws_iam_role_policy_attachment.api_ecs_exec: Refreshing state... [id=integrator-prod-api-task-role-20260110143245125100000001]
module.doppler_aws_secrets.doppler_secret.secrets["VERCEL_AI_GATEWAY_API_KEY"]: Refreshing state... [id=integrator.prod.VERCEL_AI_GATEWAY_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["MINIMAX_API_KEY"]: Refreshing state... [id=integrator.prod.MINIMAX_API_KEY]
module.datadog_dashboards.datadog_dashboard.workflow_debugging[0]: Refreshing state... [id=2mg-shi-xe5]
module.doppler_aws_secrets.doppler_secret.secrets["MERCURY_AUTOLOAD"]: Refreshing state... [id=integrator.prod.MERCURY_AUTOLOAD]
module.doppler_aws_secrets.doppler_secret.secrets["WATCHDOG_MAX_FIXERS_PER_DAY"]: Refreshing state... [id=integrator.prod.WATCHDOG_MAX_FIXERS_PER_DAY]
module.doppler_aws_secrets.doppler_secret.secrets["Z_AI_API_KEY"]: Refreshing state... [id=integrator.prod.Z_AI_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["PIPEDREAM_PATH"]: Refreshing state... [id=integrator.prod.PIPEDREAM_PATH]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_GEMINI_API_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_GEMINI_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["LANGSMITH_TRACING"]: Refreshing state... [id=integrator.prod.LANGSMITH_TRACING]
module.doppler_aws_secrets.doppler_secret.secrets["SLACK_BOT_TOKEN"]: Refreshing state... [id=integrator.prod.SLACK_BOT_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["Z_AI_BASE_URL"]: Refreshing state... [id=integrator.prod.Z_AI_BASE_URL]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_TAVILY_API_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_TAVILY_API_KEY]
module.datadog_dashboards.datadog_dashboard.cost[0]: Refreshing state... [id=sg9-zyk-4r7]
module.doppler_aws_secrets.doppler_secret.secrets["TWITTER_API_KEY"]: Refreshing state... [id=integrator.prod.TWITTER_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["LINEAR_API_KEY"]: Refreshing state... [id=integrator.prod.LINEAR_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["PYTHONPATH"]: Refreshing state... [id=integrator.prod.PYTHONPATH]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_EXA_API_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_EXA_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["DD_API_KEY"]: Refreshing state... [id=integrator.prod.DD_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["CLICKHOUSE_USERNAME"]: Refreshing state... [id=integrator.prod.CLICKHOUSE_USERNAME]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_HOST"]: Refreshing state... [id=integrator.prod.THERMOS_HOST]
module.doppler_aws_secrets.doppler_secret.secrets["PERPLEXITY_API_KEY"]: Refreshing state... [id=integrator.prod.PERPLEXITY_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_SEATGEEK_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_SEATGEEK_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["ANCHOR_API_KEY"]: Refreshing state... [id=integrator.prod.ANCHOR_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["LANGSMITH_API_KEY"]: Refreshing state... [id=integrator.prod.LANGSMITH_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["DD_APP_KEY"]: Refreshing state... [id=integrator.prod.DD_APP_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["GROQ_API_KEY"]: Refreshing state... [id=integrator.prod.GROQ_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["LANGSMITH_ENDPOINT"]: Refreshing state... [id=integrator.prod.LANGSMITH_ENDPOINT]
module.doppler_aws_secrets.doppler_secret.secrets["TEST_CONNECTION_ID"]: Refreshing state... [id=integrator.prod.TEST_CONNECTION_ID]
module.doppler_aws_secrets.doppler_secret.secrets["DISABLE_MERCURY_CLEANUP"]: Refreshing state... [id=integrator.prod.DISABLE_MERCURY_CLEANUP]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_DATABASE"]: Refreshing state... [id=integrator.prod.THERMOS_DATABASE]
module.doppler_aws_secrets.doppler_secret.secrets["ENCRYPTION_KEY"]: Refreshing state... [id=integrator.prod.ENCRYPTION_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_PASSWORD"]: Refreshing state... [id=integrator.prod.THERMOS_PASSWORD]
module.doppler_aws_secrets.doppler_secret.secrets["TWITTER_API_SECRET"]: Refreshing state... [id=integrator.prod.TWITTER_API_SECRET]
module.doppler_aws_secrets.doppler_secret.secrets["BACKEND_READONLY_URL"]: Refreshing state... [id=integrator.prod.BACKEND_READONLY_URL]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_API_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["KIMI_API_KEY"]: Refreshing state... [id=integrator.prod.KIMI_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["DEEPSEEK_API_KEY"]: Refreshing state... [id=integrator.prod.DEEPSEEK_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["APOLLO_URL"]: Refreshing state... [id=integrator.prod.APOLLO_URL]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_PORT"]: Refreshing state... [id=integrator.prod.THERMOS_PORT]
module.doppler_aws_secrets.doppler_secret.secrets["GITHUB_ACCESS_TOKEN"]: Refreshing state... [id=integrator.prod.GITHUB_ACCESS_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["ZAPIER_PATH"]: Refreshing state... [id=integrator.prod.ZAPIER_PATH]
module.doppler_aws_secrets.doppler_secret.secrets["HELICONE_API_KEY"]: Refreshing state... [id=integrator.prod.HELICONE_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_YELP_API_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_YELP_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_STAGING_API_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_STAGING_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_WEBHOOK_SECRET"]: Refreshing state... [id=integrator.prod.COMPOSIO_WEBHOOK_SECRET]
module.doppler_aws_secrets.doppler_secret.secrets["FIRECRAWL_API_KEY"]: Refreshing state... [id=integrator.prod.FIRECRAWL_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["STATSD_METRICS_FLUSH_WAIT_TIME_SECS"]: Refreshing state... [id=integrator.prod.STATSD_METRICS_FLUSH_WAIT_TIME_SECS]
module.doppler_aws_secrets.doppler_secret.secrets["OPENAI_API_KEY"]: Refreshing state... [id=integrator.prod.OPENAI_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["TOOLS_DATABASE_URL"]: Refreshing state... [id=integrator.prod.TOOLS_DATABASE_URL]
module.doppler_aws_secrets.doppler_secret.secrets["AZURE_OPENAI_ENDPOINT_URL"]: Refreshing state... [id=integrator.prod.AZURE_OPENAI_ENDPOINT_URL]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_SERPAPI_API_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_SERPAPI_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["AZURE_OPENAI_SUBSCRIPTION_KEY"]: Refreshing state... [id=integrator.prod.AZURE_OPENAI_SUBSCRIPTION_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_ADMIN_TOKEN"]: Refreshing state... [id=integrator.prod.COMPOSIO_ADMIN_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["WATCHDOG_BATCH_POLLER_DISABLED"]: Refreshing state... [id=integrator.prod.WATCHDOG_BATCH_POLLER_DISABLED]
module.doppler_aws_secrets.doppler_secret.secrets["GH_WEBHOOK_SECRET"]: Refreshing state... [id=integrator.prod.GH_WEBHOOK_SECRET]
module.private_subnets.aws_subnet.private[1]: Refreshing state... [id=subnet-0e6efa013fe2ac723]
module.private_subnets.aws_route_table.private: Refreshing state... [id=rtb-0cec1fb4f58eaade7]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_STAGING_ADMIN_TOKEN"]: Refreshing state... [id=integrator.prod.COMPOSIO_STAGING_ADMIN_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["BRANDFETCH_API_KEY"]: Refreshing state... [id=integrator.prod.BRANDFETCH_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["NOTION_API_KEY"]: Refreshing state... [id=integrator.prod.NOTION_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["THERMOS_USERNAME"]: Refreshing state... [id=integrator.prod.THERMOS_USERNAME]
module.doppler_aws_secrets.doppler_secret.secrets["COMPOSIO_INSTACART_API_KEY"]: Refreshing state... [id=integrator.prod.COMPOSIO_INSTACART_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["USE_APOLLO_GET_DOWNLOAD_URL_API"]: Refreshing state... [id=integrator.prod.USE_APOLLO_GET_DOWNLOAD_URL_API]
module.doppler_aws_secrets.doppler_secret.secrets["CLICKHOUSE_PASSWORD"]: Refreshing state... [id=integrator.prod.CLICKHOUSE_PASSWORD]
module.doppler_aws_secrets.doppler_secret.secrets["GITHUB_REVIEWER_TOKEN"]: Refreshing state... [id=integrator.prod.GITHUB_REVIEWER_TOKEN]
module.doppler_aws_secrets.doppler_secret.secrets["ANTHROPIC_API_KEY"]: Refreshing state... [id=integrator.prod.ANTHROPIC_API_KEY]
module.doppler_aws_secrets.doppler_secret.secrets["APOLLO_ADMIN_TOKEN"]: Refreshing state... [id=integrator.prod.APOLLO_ADMIN_TOKEN]
module.ecs_api.data.aws_subnets.public: Reading...
module.ecs_api.data.aws_route_tables.main: Reading...
module.ecs_api.aws_security_group.alb: Refreshing state... [id=sg-01a98c3baf47519e1]
module.ecs_api.aws_security_group.vpc_endpoints[0]: Refreshing state... [id=sg-08812bf3835fa7025]
module.ecs_api.data.aws_route_tables.main: Read complete after 0s [id=us-east-1]
module.ecs_api.aws_lb_target_group.api: Refreshing state... [id=arn:aws:elasticloadbalancing:us-east-1:256586139593:targetgroup/integrator-prod-api-tg/480bcba81e9b7bc4]
module.ecs_api.data.aws_subnets.public: Read complete after 0s [id=us-east-1]
module.ecs_api.aws_ecr_lifecycle_policy.api[0]: Refreshing state... [id=integrator-api]
module.bedrock_profiles.aws_bedrock_inference_profile.opus: Refreshing state... [id=958j2gt23zd8]
module.bedrock_profiles.aws_bedrock_inference_profile.sonnet: Refreshing state... [id=enps8f03v7hs]
module.ecs_api.aws_iam_role_policy_attachment.api_bedrock_access: Refreshing state... [id=integrator-prod-api-task-role-20260209135620314900000002]
module.bedrock_profiles.aws_bedrock_inference_profile.haiku: Refreshing state... [id=8o8r6d38y4zb]
module.ecs_api.aws_s3_bucket_policy.alb_logs[0]: Refreshing state... [id=integrator-prod-alb-logs]
module.datadog_aws_integration.datadog_integration_aws_account.this: Refreshing state... [id=f7db3959-cf79-4150-a3bf-411d58e829e7]
module.ecs_api.aws_s3_bucket_public_access_block.migrations: Refreshing state... [id=integrator-prod-migrations]
module.github_actions_role.aws_iam_role_policy.cloudwatch_logs: Refreshing state... [id=integrator-github-actions-prod:integrator-github-actions-prod-cloudwatch-logs-policy]
module.github_actions_role.aws_iam_role_policy_attachment.terraform_admin[0]: Refreshing state... [id=integrator-github-actions-prod-20260115155059879900000001]
module.github_actions_role.aws_iam_role_policy.lambda: Refreshing state... [id=integrator-github-actions-prod:integrator-github-actions-prod-lambda-policy]
data.aws_vpc.default: Reading...
module.ai_agent_debugging_role.aws_iam_role.ai_agent_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod]
module.private_subnets.aws_route_table_association.private[0]: Refreshing state... [id=rtbassoc-0965ac73c1c272e6d]
module.private_subnets.aws_route_table_association.private[1]: Refreshing state... [id=rtbassoc-004db5cb1a7f82fe4]
module.ecs_api.aws_vpc_endpoint.s3[0]: Refreshing state... [id=vpce-01dcb60025fcb1af7]
module.ecs_api.aws_security_group.api: Refreshing state... [id=sg-0b340dddce9618955]
module.doppler_aws_secrets.doppler_secrets_sync_aws_secrets_manager.sync: Refreshing state... [id=dd32cab2-43b9-4982-8608-0d9e7ef07008]
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_assume_role: Reading...
github_actions_secret.aws_role_arn: Refreshing state... [id=integrator:AWS_ROLE_ARN_PROD]
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_assume_role: Read complete after 0s [id=3755515486]
module.rds.aws_security_group.bastion[0]: Refreshing state... [id=sg-00fec6e131a7856da]
module.rds.data.aws_vpc.selected: Reading...
module.rds.aws_security_group.rds_client[0]: Refreshing state... [id=sg-0a5f38e269947dd2b]
module.ecs_api.aws_vpc_endpoint.secretsmanager[0]: Refreshing state... [id=vpce-03bbad757c880b926]
data.aws_vpc.default: Read complete after 0s [id=vpc-0529dea5160deb846]
module.ecs_api.aws_lb.api: Refreshing state... [id=arn:aws:elasticloadbalancing:us-east-1:256586139593:loadbalancer/app/integrator-prod-alb/a90df99d7efaafb4]
module.datadog_aws_integration.aws_iam_role.datadog: Refreshing state... [id=DatadogIntegrationRole-prod]
module.doppler_aws_secrets.null_resource.wait_for_secrets: Refreshing state... [id=1359828181897981239]
module.rds.aws_db_subnet_group.main: Refreshing state... [id=integrator-prod-db-subnet-group]
module.rds.data.aws_vpc.selected: Read complete after 1s [id=vpc-0529dea5160deb846]
github_actions_secret.ecs_subnets: Refreshing state... [id=integrator:ECS_SUBNETS_PROD]
data.aws_subnets.public: Reading...
module.datadog_infra_alerts.datadog_monitor.alb_unhealthy_targets[0]: Refreshing state... [id=253204905]
module.rds.aws_security_group.rds: Refreshing state... [id=sg-0d7ecef877697558c]
module.doppler_aws_secrets.data.aws_secretsmanager_secrets.synced: Reading...
module.rds.aws_security_group_rule.bastion_proxy[0]: Refreshing state... [id=sgrule-417166805]
data.aws_subnets.public: Read complete after 0s [id=us-east-1]
module.clickhouse_privatelink.aws_security_group.clickhouse_vpce: Refreshing state... [id=sg-034330929d9d990c1]
module.datadog_aws_integration.aws_iam_role_policy_attachment.security_audit: Refreshing state... [id=DatadogIntegrationRole-prod-20260122200458727200000001]
github_actions_secret.ecs_security_groups: Refreshing state... [id=integrator:ECS_SECURITY_GROUPS_PROD]
module.ecs_api.aws_lb_listener.http: Refreshing state... [id=arn:aws:elasticloadbalancing:us-east-1:256586139593:listener/app/integrator-prod-alb/a90df99d7efaafb4/0c03b8bc33aef8d0]
module.doppler_aws_secrets.data.aws_secretsmanager_secrets.synced: Read complete after 0s [id=us-east-1]
module.ai_agent_debugging_role.aws_iam_role_policy.deny_privilege_escalation: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-deny-privilege-escalation]
module.ai_agent_debugging_role.aws_iam_role_policy.ecs_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-ecs-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.vpc_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-vpc-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.s3_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-s3-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.rds_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-rds-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.cloudwatch_logs_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-cloudwatch-logs-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.cloudwatch_metrics_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-cloudwatch-metrics-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.cost_explorer_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-cost-explorer-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.ecr_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-ecr-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.secrets_manager_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-secrets-manager-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.alb_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-alb-policy]
module.ai_agent_debugging_role.aws_iam_role_policy.iam_debugging: Refreshing state... [id=integrator-ai-agent-debugging-prod:integrator-ai-agent-debugging-prod-iam-policy]
module.rds.aws_db_instance.main: Refreshing state... [id=db-PPFVILK5DKEQIIFO47ASSRDD2A]
module.rds.aws_instance.bastion[0]: Refreshing state... [id=i-0342e072cbf34ad16]
module.clickhouse_privatelink.aws_vpc_endpoint.clickhouse: Refreshing state... [id=vpce-042be8f500c67fba7]
github_actions_secret.aws_debugging_role_arn: Refreshing state... [id=integrator:AWS_DEBUGGING_ROLE_ARN_PROD]
module.datadog_infra_alerts.datadog_monitor.alb_5xx[0]: Refreshing state... [id=253204904]
module.rds.null_resource.create_readonly_user[0]: Refreshing state... [id=1172274362782256699]
module.datadog_infra_alerts.datadog_monitor.rds_connections: Refreshing state... [id=253205240]
module.ecs_api.aws_iam_role_policy.migrations_lambda_access: Refreshing state... [id=integrator-prod-migrations-lambda-role:integrator-prod-migrations-lambda-access]
module.ecs_api.aws_lambda_function.migrations: Refreshing state... [id=integrator-prod-migrations]
module.datadog_infra_alerts.datadog_monitor.rds_storage: Refreshing state... [id=253205238]
module.datadog_infra_alerts.datadog_monitor.rds_queue_depth: Refreshing state... [id=253205237]
module.datadog_infra_alerts.datadog_monitor.rds_read_latency: Refreshing state... [id=253205236]
module.datadog_infra_alerts.datadog_monitor.rds_memory: Refreshing state... [id=253205239]
module.datadog_infra_alerts.datadog_monitor.rds_cpu: Refreshing state... [id=253205241]
module.datadog_infra_alerts.datadog_monitor.rds_write_latency: Refreshing state... [id=253205235]
module.ecs_api.aws_ecs_task_definition.migrations: Refreshing state... [id=integrator-prod-migrations]
module.clickhouse_privatelink.clickhouse_service_private_endpoints_attachment.this: Refreshing state...
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[0]: Reading...
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[0]: Read complete after 0s [id=616917803]
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[1]: Reading...
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[2]: Reading...
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[1]: Read complete after 0s [id=1093489154]
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[4]: Reading...
module.rds.aws_eip.bastion[0]: Refreshing state... [id=eipalloc-0e0ae9a6a950dc2d6]
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[3]: Reading...
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[2]: Read complete after 0s [id=2866315822]
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[4]: Read complete after 0s [id=4132795742]
module.datadog_aws_integration.data.aws_iam_policy_document.datadog_permissions[3]: Read complete after 0s [id=3004376822]
module.ecs_api.aws_iam_policy.api_secrets_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-api-secrets-access]
module.datadog_aws_integration.aws_iam_policy.datadog[3]: Refreshing state... [id=arn:aws:iam::256586139593:policy/DatadogIntegrationPolicy-prod-4]
module.datadog_aws_integration.aws_iam_policy.datadog[0]: Refreshing state... [id=arn:aws:iam::256586139593:policy/DatadogIntegrationPolicy-prod-1]
module.datadog_aws_integration.aws_iam_policy.datadog[2]: Refreshing state... [id=arn:aws:iam::256586139593:policy/DatadogIntegrationPolicy-prod-3]
module.datadog_aws_integration.aws_iam_policy.datadog[4]: Refreshing state... [id=arn:aws:iam::256586139593:policy/DatadogIntegrationPolicy-prod-5]
module.datadog_aws_integration.aws_iam_policy.datadog[1]: Refreshing state... [id=arn:aws:iam::256586139593:policy/DatadogIntegrationPolicy-prod-2]
module.ecs_api.aws_iam_role_policy_attachment.api_secrets_access: Refreshing state... [id=integrator-prod-api-task-execution-role-20251127102314997400000001]
module.ecs_background_runner.aws_iam_role.task: Refreshing state... [id=integrator-prod-ecs-task-role]
module.ecs_background_runner.aws_iam_role.task_execution: Refreshing state... [id=integrator-prod-ecs-task-execution-role]
module.ecs_background_runner.aws_cloudwatch_log_group.ecs_task_events: Refreshing state... [id=/aws/events/integrator/prod/ecs-task-state-change]
module.ecs_background_runner.aws_ecr_repository.background_runner[0]: Refreshing state... [id=integrator-background-runner]
module.ecs_background_runner.aws_iam_policy.secrets_manager_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-ecs-secrets-access]
module.datadog_aws_integration.aws_iam_role_policy_attachment.datadog[3]: Refreshing state... [id=DatadogIntegrationRole-prod-20260122200458830300000004]
module.datadog_aws_integration.aws_iam_role_policy_attachment.datadog[4]: Refreshing state... [id=DatadogIntegrationRole-prod-20260122200458829600000003]
module.datadog_aws_integration.aws_iam_role_policy_attachment.datadog[0]: Refreshing state... [id=DatadogIntegrationRole-prod-20260122200458870300000006]
module.datadog_aws_integration.aws_iam_role_policy_attachment.datadog[1]: Refreshing state... [id=DatadogIntegrationRole-prod-20260122200458823800000002]
module.datadog_aws_integration.aws_iam_role_policy_attachment.datadog[2]: Refreshing state... [id=DatadogIntegrationRole-prod-20260122200458869600000005]
module.ecs_background_runner.aws_iam_policy.s3_knowledge_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-s3-knowledge-access]
module.ecs_background_runner.aws_iam_policy.bedrock_access: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-bedrock-access]
module.ecs_background_runner.aws_ecs_cluster.cluster[0]: Refreshing state... [id=arn:aws:ecs:us-east-1:256586139593:cluster/default]
module.ecs_background_runner.aws_cloudwatch_log_group.task_logs: Refreshing state... [id=/ecs/integrator/prod/background-runner]
module.ecs_background_runner.aws_iam_role_policy_attachment.secrets_access: Refreshing state... [id=integrator-prod-ecs-task-execution-role-20251117132727872900000002]
module.ecs_background_runner.aws_iam_policy.ecs_exec: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-ecs-exec-policy]
module.ecs_background_runner.aws_ecr_lifecycle_policy.background_runner[0]: Refreshing state... [id=integrator-background-runner]
module.ecs_background_runner.aws_iam_role_policy_attachment.task_execution: Refreshing state... [id=integrator-prod-ecs-task-execution-role-20251117132727612500000001]
module.ecs_background_runner.aws_iam_role_policy_attachment.bedrock_access: Refreshing state... [id=integrator-prod-ecs-task-role-20260209135620251900000001]
module.ecs_background_runner.aws_iam_role_policy_attachment.s3_knowledge_access: Refreshing state... [id=integrator-prod-ecs-task-role-20260110150021566200000001]
module.github_actions_role.aws_iam_role_policy.ecr: Refreshing state... [id=integrator-github-actions-prod:integrator-github-actions-prod-ecr-policy]
module.ecs_background_runner.aws_iam_role_policy_attachment.ecs_exec: Refreshing state... [id=integrator-prod-ecs-task-role-20251118121957970700000001]
module.ecs_background_runner.aws_ecs_task_definition.background_runner: Refreshing state... [id=integrator-prod-background-runner]
module.ecs_background_runner.aws_cloudwatch_event_rule.ecs_task_state_change: Refreshing state... [id=integrator-prod-ecs-task-state-change]
module.datadog_infra_alerts.datadog_monitor.background_runner_memory: Refreshing state... [id=253205244]
module.ecs_api.aws_iam_policy.launch_background_runner: Refreshing state... [id=arn:aws:iam::256586139593:policy/integrator-prod-api-launch-tasks-policy]
module.ecs_api.aws_ecs_task_definition.poller: Refreshing state... [id=integrator-prod-poller]
module.ecs_api.aws_ecs_task_definition.api: Refreshing state... [id=integrator-prod-api]
module.ecs_background_runner.aws_cloudwatch_event_target.ecs_task_state_change_logs: Refreshing state... [id=integrator-prod-ecs-task-state-change-LogTaskStateChanges]
module.ecs_api.aws_ecs_service.poller: Refreshing state... [id=arn:aws:ecs:us-east-1:256586139593:service/default/integrator-prod-poller]
module.ecs_api.aws_iam_role_policy_attachment.api_launch_tasks: Refreshing state... [id=integrator-prod-api-task-role-20251119130129778400000002]
module.ecs_api.aws_ecs_service.api: Refreshing state... [id=arn:aws:ecs:us-east-1:256586139593:service/default/integrator-prod-api]
module.datadog_infra_alerts.datadog_monitor.ecs_poller_cpu: Refreshing state... [id=253205259]
module.datadog_infra_alerts.datadog_monitor.ecs_poller_task_failures: Refreshing state... [id=253205262]
module.datadog_infra_alerts.datadog_monitor.ecs_poller_memory: Refreshing state... [id=253205261]
module.datadog_infra_alerts.datadog_monitor.ecs_api_cpu: Refreshing state... [id=253205258]
module.github_actions_role.aws_iam_role_policy.ecs: Refreshing state... [id=integrator-github-actions-prod:integrator-github-actions-prod-ecs-policy]
module.datadog_infra_alerts.datadog_monitor.ecs_api_memory: Refreshing state... [id=253205257]
module.datadog_infra_alerts.datadog_monitor.ecs_api_task_failures: Refreshing state... [id=253205260]
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
~ update in-place
-/+ destroy and then create replacement
<= read (data resources)
Terraform will perform the following actions:
# module.ai_agent_debugging_role.aws_iam_role.ai_agent_debugging will be updated in-place
~ resource "aws_iam_role" "ai_agent_debugging" {
~ assume_role_policy = jsonencode(
~ {
~ Statement = [
~ {
~ Condition = {
- BoolIfExists = {
- "aws:MultiFactorAuthPresent" = "true"
}
~ StringLike = {
~ "aws:PrincipalArn" = [
- "arn:aws:iam::256586139593:user/*",
- "arn:aws:iam::256586139593:role/aws-reserved/sso.amazonaws.com/AWSReservedSSO_*",
] -> "arn:aws:iam::256586139593:role/aws-reserved/sso.amazonaws.com/AWSReservedSSO_*"
}
}
+ Sid = "AllowSSORoles"
# (3 unchanged attributes hidden)
},
+ {
+ Action = "sts:AssumeRole"
+ Condition = {
+ Bool = {
+ "aws:MultiFactorAuthPresent" = "true"
}
+ StringLike = {
+ "aws:PrincipalArn" = "arn:aws:iam::256586139593:user/*"
}
}
+ Effect = "Allow"
+ Principal = {
+ AWS = "arn:aws:iam::256586139593:root"
}
+ Sid = "AllowIAMUsers"
},
{
Action = "sts:AssumeRoleWithWebIdentity"
Condition = {
StringEquals = {
"token.actions.githubusercontent.com:aud" = "sts.amazonaws.com"
}
StringLike = {
"token.actions.githubusercontent.com:sub" = [
"repo:ComposioHQ/integrator:ref:refs/heads/next",
"repo:ComposioHQ/integrator:environment:production",
]
}
}
Effect = "Allow"
Principal = {
Federated = "arn:aws:iam::256586139593:oidc-provider/token.actions.githubusercontent.com"
}
},
]
# (1 unchanged attribute hidden)
}
)
id = "integrator-ai-agent-debugging-prod"
name = "integrator-ai-agent-debugging-prod"
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-ai-agent-debugging-prod"
"Purpose" = "AI Agent Read-only Debugging"
}
# (8 unchanged attributes hidden)
# (12 unchanged blocks hidden)
}
# module.ecs_api.aws_ecs_service.api will be updated in-place
~ resource "aws_ecs_service" "api" {
id = "arn:aws:ecs:us-east-1:256586139593:service/default/integrator-prod-api"
name = "integrator-prod-api"
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-api-service"
}
~ task_definition = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-api:126" -> (known after apply)
# (16 unchanged attributes hidden)
# (4 unchanged blocks hidden)
}
# module.ecs_api.aws_ecs_service.poller will be updated in-place
~ resource "aws_ecs_service" "poller" {
id = "arn:aws:ecs:us-east-1:256586139593:service/default/integrator-prod-poller"
name = "integrator-prod-poller"
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-poller-service"
}
~ task_definition = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-poller:111" -> (known after apply)
# (16 unchanged attributes hidden)
# (3 unchanged blocks hidden)
}
# module.ecs_api.aws_ecs_task_definition.api must be replaced
-/+ resource "aws_ecs_task_definition" "api" {
~ arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-api:126" -> (known after apply)
~ arn_without_revision = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-api" -> (known after apply)
~ container_definitions = (sensitive value) # forces replacement
~ enable_fault_injection = false -> (known after apply)
~ id = "integrator-prod-api" -> (known after apply)
~ revision = 126 -> (known after apply)
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-api"
}
# (10 unchanged attributes hidden)
}
# module.ecs_api.aws_ecs_task_definition.poller must be replaced
-/+ resource "aws_ecs_task_definition" "poller" {
~ arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-poller:111" -> (known after apply)
~ arn_without_revision = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-poller" -> (known after apply)
~ container_definitions = (sensitive value) # forces replacement
~ enable_fault_injection = false -> (known after apply)
~ id = "integrator-prod-poller" -> (known after apply)
~ revision = 111 -> (known after apply)
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-poller"
}
# (10 unchanged attributes hidden)
}
# module.ecs_api.aws_iam_policy.launch_background_runner will be updated in-place
~ resource "aws_iam_policy" "launch_background_runner" {
id = "arn:aws:iam::256586139593:policy/integrator-prod-api-launch-tasks-policy"
name = "integrator-prod-api-launch-tasks-policy"
~ policy = jsonencode(
{
- Statement = [
- {
- Action = [
- "ecs:RunTask",
- "ecs:DescribeTasks",
- "ecs:StopTask",
- "ecs:ListTasks",
]
- Effect = "Allow"
- Resource = [
- "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-background-runner:*",
- "arn:aws:ecs:us-east-1:256586139593:task/default/*",
]
},
- {
- Action = [
- "iam:PassRole",
]
- Condition = {
- StringEquals = {
- "iam:PassedToService" = "ecs-tasks.amazonaws.com"
}
}
- Effect = "Allow"
- Resource = [
- "arn:aws:iam::256586139593:role/integrator-prod-ecs-task-execution-role",
- "arn:aws:iam::256586139593:role/integrator-prod-ecs-task-role",
]
},
]
- Version = "2012-10-17"
}
) -> (known after apply)
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-api-launch-tasks-policy"
}
# (6 unchanged attributes hidden)
}
# module.ecs_background_runner.data.aws_caller_identity.current will be read during apply
# (depends on a resource or a module with changes pending)
<= data "aws_caller_identity" "current" {
+ account_id = (known after apply)
+ arn = (known after apply)
+ id = (known after apply)
+ user_id = (known after apply)
}
# module.ecs_background_runner.aws_ecs_task_definition.background_runner must be replaced
-/+ resource "aws_ecs_task_definition" "background_runner" {
~ arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-background-runner:147" -> (known after apply)
~ arn_without_revision = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-background-runner" -> (known after apply)
~ container_definitions = (sensitive value) # forces replacement
~ enable_fault_injection = false -> (known after apply)
~ id = "integrator-prod-background-runner" -> (known after apply)
~ revision = 147 -> (known after apply)
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-background-runner"
}
# (10 unchanged attributes hidden)
}
# module.ecs_background_runner.aws_iam_policy.bedrock_access will be updated in-place
~ resource "aws_iam_policy" "bedrock_access" {
id = "arn:aws:iam::256586139593:policy/integrator-prod-bedrock-access"
name = "integrator-prod-bedrock-access"
~ policy = jsonencode(
{
- Statement = [
- {
- Action = [
- "bedrock:InvokeModel",
- "bedrock:InvokeModelWithResponseStream",
]
- Effect = "Allow"
- Resource = [
- "arn:aws:bedrock:*::foundation-model/anthropic.*",
- "arn:aws:bedrock:*::inference-profile/us.anthropic.*",
- "arn:aws:bedrock:*:256586139593:inference-profile/*",
- "arn:aws:bedrock:*:256586139593:application-inference-profile/*",
]
- Sid = "BedrockModelInvocation"
},
- {
- Action = [
- "bedrock:ListInferenceProfiles",
- "bedrock:GetInferenceProfile",
]
- Effect = "Allow"
- Resource = "*"
- Sid = "BedrockListProfiles"
},
- {
- Action = [
- "aws-marketplace:ViewSubscriptions",
- "aws-marketplace:Subscribe",
]
- Effect = "Allow"
- Resource = "*"
- Sid = "MarketplaceModelAccess"
},
]
- Version = "2012-10-17"
}
) -> (known after apply)
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-bedrock-access"
}
# (6 unchanged attributes hidden)
}
# module.ecs_background_runner.aws_iam_policy.secrets_manager_access will be updated in-place
~ resource "aws_iam_policy" "secrets_manager_access" {
id = "arn:aws:iam::256586139593:policy/integrator-prod-ecs-secrets-access"
name = "integrator-prod-ecs-secrets-access"
~ policy = jsonencode(
{
- Statement = [
- {
- Action = [
- "secretsmanager:GetSecretValue",
- "secretsmanager:DescribeSecret",
]
- Effect = "Allow"
- Resource = [
- "arn:aws:secretsmanager:us-east-1:256586139593:secret:doppler/integrator/prod/*",
- "arn:aws:secretsmanager:us-east-1:256586139593:secret:integrator/prod/rds-master-password-eUwfvl",
]
},
- {
- Action = [
- "kms:Decrypt",
- "kms:DescribeKey",
]
- Condition = {
- StringEquals = {
- "kms:ViaService" = "secretsmanager.us-east-1.amazonaws.com"
}
}
- Effect = "Allow"
- Resource = "*"
},
]
- Version = "2012-10-17"
}
) -> (known after apply)
tags = {
"Environment" = "prod"
"ManagedBy" = "Terraform"
"Name" = "integrator-prod-ecs-secrets-access"
}
# (6 unchanged attributes hidden)
}
# module.rds.aws_security_group_rule.bastion_proxy[0] will be created
+ resource "aws_security_group_rule" "bastion_proxy" {
+ cidr_blocks = [
+ "172.31.0.0/16",
]
+ description = "Squid proxy access from VPC"
+ from_port = 3128
+ id = (known after apply)
+ protocol = "tcp"
+ security_group_id = "sg-00fec6e131a7856da"
+ security_group_rule_id = (known after apply)
+ self = false
+ source_security_group_id = (known after apply)
+ to_port = 3128
+ type = "ingress"
}
Plan: 4 to add, 6 to change, 3 to destroy.
Changes to Outputs:
~ api_task_definition_arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-api:126" -> (known after apply)
~ ecs_task_definition_arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-prod-background-runner:147" -> (known after apply)
Warning: Argument is deprecated
with module.datadog_dashboards.datadog_dashboard.cost,
on ../../modules/datadog-dashboards/cost.tf line 16, in resource "datadog_dashboard" "cost":
16: default = "*"
Use `defaults` instead.
(and 13 more similar warnings elsewhere)
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: tfplan
To perform exactly these actions, run the following command to apply:
terraform apply "tfplan"
⚠️ Production changes will be applied after merge to next branch.
module.ecs_api.aws_ecs_task_definition.api: Destroying... [id=integrator-staging-api]
module.ecs_api.aws_ecs_task_definition.poller: Destroying... [id=integrator-staging-poller]
module.dev_launch_template.aws_security_group.dev_instances: Destroying... [id=sg-0bf64ade7c98a1da6]
module.ai_agent_debugging_role.aws_iam_role.ai_agent_debugging: Modifying... [id=integrator-ai-agent-debugging-staging]
module.ecs_api.aws_ecs_task_definition.api: Destruction complete after 1s
module.ecs_api.aws_ecs_task_definition.poller: Destruction complete after 1s
module.ecs_background_runner.aws_ecs_task_definition.background_runner: Destroying... [id=integrator-staging-background-runner]
module.ecs_background_runner.aws_ecs_task_definition.background_runner: Destruction complete after 0s
module.ecs_background_runner.aws_ecs_task_definition.background_runner: Creating...
module.ecs_background_runner.aws_ecs_task_definition.background_runner: Creation complete after 0s [id=integrator-staging-background-runner]
module.ecs_api.aws_ecs_task_definition.poller: Creating...
module.ecs_api.aws_ecs_task_definition.api: Creating...
module.dev_launch_template.aws_security_group.dev_instances: Destruction complete after 1s
module.ecs_api.aws_ecs_task_definition.poller: Creation complete after 1s [id=integrator-staging-poller]
module.ecs_api.aws_ecs_task_definition.api: Creation complete after 1s [id=integrator-staging-api]
module.ecs_api.aws_ecs_service.poller: Modifying... [id=arn:aws:ecs:us-east-1:256586139593:service/default/integrator-staging-poller]
module.ecs_api.aws_ecs_service.api: Modifying... [id=arn:aws:ecs:us-east-1:256586139593:service/default/integrator-staging-api]
module.ecs_api.aws_ecs_service.poller: Modifications complete after 0s [id=arn:aws:ecs:us-east-1:256586139593:service/default/integrator-staging-poller]
module.ai_agent_debugging_role.aws_iam_role.ai_agent_debugging: Modifications complete after 1s [id=integrator-ai-agent-debugging-staging]
module.ecs_api.aws_ecs_service.api: Modifications complete after 0s [id=arn:aws:ecs:us-east-1:256586139593:service/default/integrator-staging-api]
Apply complete! Resources: 3 added, 3 changed, 4 destroyed.
Outputs:
api_ecr_repository_url = "256586139593.dkr.ecr.us-east-1.amazonaws.com/integrator-api"
api_task_definition_arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-api:158"
api_url = "http://integrator-staging-alb-1272560021.us-east-1.elb.amazonaws.com"
ecr_repository_url = "256586139593.dkr.ecr.us-east-1.amazonaws.com/integrator-background-runner"
ecs_security_groups = "sg-06a8634c658cb6242"
ecs_subnets = "subnet-006a11f7b19901be1,subnet-013a9a6febbffa4af,subnet-0167a232e3ca0bda3,subnet-023ad462e398f7e71,subnet-031e32528629c9dc1,subnet-0d79b9a8cbdbe9216"
ecs_task_definition_arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-background-runner:162"
github_actions_role_arn = "arn:aws:iam::256586139593:role/integrator-github-actions-staging"
migrations_task_definition_arn = "arn:aws:ecs:us-east-1:256586139593:task-definition/integrator-staging-migrations:3"
rds_address = "integrator-staging-postgres.cyx4mqkwmkeq.us-east-1.rds.amazonaws.com"
rds_database_name = "integrator_staging"
rds_endpoint = "integrator-staging-postgres.cyx4mqkwmkeq.us-east-1.rds.amazonaws.com:5432"
rds_master_password_secret_arn = "arn:aws:secretsmanager:us-east-1:256586139593:secret:integrator/staging/rds-master-password-4QWym0"
rds_readonly_user_secret_arn = "arn:aws:secretsmanager:us-east-1:256586139593:secret:integrator/staging/rds-readonly-password-lDH8hO"
🎉 Staging applied successfully! PR is now ready to merge.