diff --git a/.gitignore b/.gitignore index 85ac393d..c239061c 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,5 @@ node_modules .calva/** .lsp/** *.~undo-tree~ +backups +terraform/.gitx diff --git a/Dockerfile b/Dockerfile index aabdb0e3..a08c494e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ -FROM 679918342773.dkr.ecr.us-east-1.amazonaws.com/jre-alpine:latest -RUN apt update -RUN apt install -y poppler-utils +FROM amazoncorretto:11.0.18-al2 +RUN yum update +RUN yum install -y poppler-utils COPY target/auto-ap.jar /usr/local/ COPY config /usr/local/config/ CMD java -Dlogback.configurationFile=logback-prod.xml -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.rmi.port=9090 -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.local.only=false -XX:InitialRAMPercentage=75 -XX:MaxRAMPercentage=75 -jar /usr/local/auto-ap.jar diff --git a/buildspec.yml b/buildspec.yml index 635a7084..f9e02cc0 100644 --- a/buildspec.yml +++ b/buildspec.yml @@ -12,7 +12,7 @@ phases: - echo Logging in to Amazon ECR... - aws --version - $(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email) - - REPOSITORY_URI=679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat + - REPOSITORY_URI=679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud - COMMIT_HASH=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7) - IMAGE_TAG=${COMMIT_HASH:=latest} - wget https://raw.github.com/technomancy/leiningen/stable/bin/lein diff --git a/config/prod-cloud.edn b/config/prod-cloud.edn new file mode 100644 index 00000000..97b21791 --- /dev/null +++ b/config/prod-cloud.edn @@ -0,0 +1,33 @@ +{:scheme "https" + :dd-env "prod-cloud" + :dd-service "integreat-app-cloud" + :jwt-secret "auto ap invoices are awesome" + :invoice-import-queue-url "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-mail-prod-cloud" + :requests-queue-url "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-background-request-prod-cloud" + :invoice-email "invoices@mail.app.integreatconsult.com" + :import-failure-destination-email "ben@integreatconsult.com" + :data-bucket "data.prod.app.integreatconsult.com" + :yodlee-cobrand-name "qstartus12" + :yodlee-cobrand-login "qstartus12" + :yodlee-cobrand-password "MPD@mg78hd" + :yodlee-user-login "integreat" + :yodlee-user-password "Import3transactions!" + :yodlee-base-url "https://quickstart2.api.yodlee.com/ysl" + :yodlee-app "10003600" + :yodlee-fastlink "https://quickstartus2node.yodleeinteractive.com/authenticate/qstartus12/?channelAppName=quickstartus2" + :yodlee-proxy-host "172.31.10.83" + :yodlee-proxy-port 8888 + :run-background? false + :run-web? true + :yodlee2-admin-user "93398522-412b-470d-8400-3691392b12fb_ADMIN" + :yodlee2-integreat-user "integreat-main" + :yodlee2-client-id "3AATcwfPsWP1rP9oDoo4HvZhtaroGVcA" + :yodlee2-client-secret "cXTBmKbGfkaBFIpM" + :yodlee2-base-url "https://production.api.yodlee.com/ysl" + :yodlee2-fastlink "https://fl4.prod.yodlee.com/authenticate/USDevexProd2-319/fastlink/?channelAppName=usdevexprod2" + :yodlee2-proxy-host "172.31.10.83" + :yodlee2-proxy-port 8888 + :plaid {:base-url "https://production.plaid.com" + :client-id "61bfab05f7e762001b323f79" + :secret-key "2be026ca5e7f7e9f23f2fb4d7c914d"} + } diff --git a/min.cljs.edn b/min.cljs.edn index 00104930..c6b79d43 100644 --- a/min.cljs.edn +++ b/min.cljs.edn @@ -3,6 +3,8 @@ :output-dir "resources/public/js/compiled/" :source-map "resources/public/js/compiled/app.js.map" :parallel-build true + :language-in :ecmascript-next + :language-out :ecmascript-next :optimizations :advanced :pretty-print false diff --git a/project.clj b/project.clj index dd0479e7..f4b74de3 100644 --- a/project.clj +++ b/project.clj @@ -28,7 +28,7 @@ [org.apache.lucene/lucene-queryparser "9.3.0"] [metosin/malli "0.8.9"] [tolitius/yang "0.1.23"] - [ring "1.8.2" :exclusions [commons-codec + [ring "1.9.6" :exclusions [commons-codec commons-io clj-time ring/ring-core @@ -37,7 +37,7 @@ #_org.eclipse.jetty/jetty-util #_org.eclipse.jetty/jetty-server]] - [ring/ring-jetty-adapter "1.8.2" :exclusions + [ring/ring-jetty-adapter "1.9.6" :exclusions [org.eclipse.jetty/jetty-server]] [yogthos/config "1.1.7"] [dk.ative/docjure "1.14.0"] @@ -93,8 +93,8 @@ #_[org.eclipse.jetty/jetty-http "11.0.0"] #_[org.eclipse.jetty/jetty-util "11.0.0"] #_[org.eclipse.jetty/jetty-server "11.0.0"] - [org.eclipse.jetty.websocket/websocket-servlet "9.4.35.v20201120"] - [org.eclipse.jetty.websocket/websocket-server "9.4.35.v20201120"] + [org.eclipse.jetty.websocket/websocket-servlet "9.4.48.v20220622"] + [org.eclipse.jetty.websocket/websocket-server "9.4.48.v20220622"] #_[org.eclipse.jetty.websocket/websocket-servlet "11.0.0"] [org.clojure/data.json "1.0.0"] [org.clojure/data.csv "1.0.0"] @@ -159,7 +159,8 @@ :uberjar - {:prep-tasks ["fig:min" ] + {:java-cmd "/usr/lib/jvm/java-11-openjdk/bin/java" + :prep-tasks ["fig:min" ] :dependencies [[com.bhauman/figwheel-main "0.2.18" :exclusions [org.clojure/clojurescript ring ring/ring-core diff --git a/scratch-sessions/dump-edn.clj b/scratch-sessions/dump-edn.clj index c37ed2d6..05fd40b1 100644 --- a/scratch-sessions/dump-edn.clj +++ b/scratch-sessions/dump-edn.clj @@ -703,7 +703,7 @@ :endpoint "https://53syis8n1m.execute-api.us-east-1.amazonaws.com"}) ;; _ (dc/create-database client {:db-name "prod-mirror"}) connection (dc/connect client {:db-name "prod-mirror"})] - (load-from-backup "backups/8e245d3d-be7a-4d90-8e9e-e6a110582658" connection) + (load-from-backup "backups/8e245d3d-be7a-4d90-8e9e-e6a110582658" connection ["transaction"]) ) diff --git a/scratch-sessions/restore_from_backup.clj b/scratch-sessions/restore_from_backup.clj new file mode 100644 index 00000000..238f59c5 --- /dev/null +++ b/scratch-sessions/restore_from_backup.clj @@ -0,0 +1,163 @@ +(ns restore-from-backup + (:require [clojure.java.io :as io] + [amazonica.aws.s3 :as s3] + [config.core :refer [env]] + [clojure.core.async :as a] + [datomic.client.api :as dc] + [lambdaisland.edn-lines :as ednl] + [datomic.client.api.async :as dca] + [datomic.dev-local :as dl] + [clojure.set :as set] + [clojure.string :as str] + [clj-http.client :as client])) + + + +(def client (dc/client {:server-type :cloud + :region "us-east-1" + :system "iol-cloud" + :endpoint "https://53syis8n1m.execute-api.us-east-1.amazonaws.com"})) + + + + + + + + + + +(defn order-of-insert [entity-dependencies] + (loop [entity-dependencies entity-dependencies + order []] + (let [next-order (for [[entity deps] entity-dependencies + :when (not (seq deps))] + entity) + next-deps (reduce + (fn [entity-dependencies next-entity] + (into {} + (map + (fn [[k v]] + [k (disj v next-entity)]) + entity-dependencies))) + (apply dissoc entity-dependencies next-order) + next-order)] + (println order next-deps) + (if (seq next-deps) + (recur next-deps (into order next-order)) + (into order next-order))))) + + + + +(defn tx-pipeline + "Transacts data from from-ch. Returns a map with: + :result, a return channel getting {:error t} or {:completed n} + :stop, a fn you can use to terminate early." + [conn conc from-ch f] + (let [to-ch (a/chan 400) + done-ch (a/chan) + transact-data (fn [data result] + (a/go + (try + + (let [tx-r (a/! result tx-r) + (a/close! result)) + ; if exception in a transaction + ; will close channels and put error + ; on done channel. + (catch Throwable t + (.printStackTrace t) + (a/close! from-ch) + (a/close! to-ch) + (a/>! done-ch {:error t})))))] + + ; go block prints a '.' after every 1000 transactions, puts completed + ; report on done channel when no value left to be taken. + (a/go-loop [total 0] + (if (= (mod total 5) 0) + (do + (print ".") + (flush))) + (if-let [c (a/! done-ch {:completed total}))) + + ; pipeline that uses transducer form of map to transact data taken from + ; from-ch and puts results on to-ch + (a/pipeline-async conc to-ch transact-data from-ch) + + ; returns done channel and a function that you can use + ; for early termination. + {:result done-ch + :stop (fn [] (a/close! to-ch))})) + +(def loaded (atom #{})) + + + +(defn load-from-backup + ([backup-id connection] (load-from-backup backup-id connection nil)) + ([backup-id connection item-list] + (let [schema (clojure.edn/read-string (slurp (str backup-id "/schema.edn"))) + full-dependencies (clojure.edn/read-string (slurp (str backup-id "/full-dependencies.edn"))) + entity-dependencies (clojure.edn/read-string (slurp (str backup-id "/entity-dependencies.edn")))] + (dc/transact connection {:tx-data [{:db/ident :entity/migration-key + :db/unique :db.unique/identity + :db/cardinality :db.cardinality/one + :db/valueType :db.type/long}]}) + (dc/transact connection {:tx-data (map + (fn [s] + (set/rename-keys s {:db/id :entity/migration-key})) + schema)}) + + (dc/transact connection {:tx-data [{:entity/migration-key 17592257603901 :vendor/name "unknown"} + {:entity/migration-key 17592232621701} + {:entity/migration-key 17592263907739} + {:entity/migration-key 17592271516922}] + + }) + + + + (doseq [entity (or item-list (filter (complement (conj @loaded "audit")) (order-of-insert entity-dependencies))) + :let [_ (swap! loaded conj entity) + _ (println "querying for " entity) + entities (ednl/slurp (str backup-id "/" entity ".ednl")) + + _ (println "Found some! here's a few: " (take 3 entities)) + tx-chan (a/chan 50) + entities->transaction (fn [entities] + entities) + pipeline (tx-pipeline connection + 10 + tx-chan + entities->transaction)]] + (doseq [batch (partition-all 200 entities)] + (try + (a/>!! tx-chan batch) + (catch Exception e + (println e) + ((:stop pipeline))))) + + (println "waiting for done from" pipeline) + (flush) + (a/close! tx-chan) + (println (a/ nil diff --git a/terraform/deploy.tf b/terraform/deploy.tf index 7c8dd398..c9cfcfd2 100644 --- a/terraform/deploy.tf +++ b/terraform/deploy.tf @@ -25,19 +25,6 @@ resource "aws_ecs_task_definition" "integreat_app" { } -resource "aws_ecs_task_definition" "integreat_background_worker" { - - family = "integreat_background-worker_${var.stage}" - container_definitions = file("${var.stage}-background-worker-taskdef.json") - memory = 2048 - cpu = 512 - network_mode = "awsvpc" - requires_compatibilities = ["FARGATE"] - execution_role_arn = var.execution_role_arn - task_role_arn = var.task_role_arn -} - - resource "aws_ecs_service" "integreat_app" { name = "integreat_app_${var.stage}" cluster = var.ecs_cluster @@ -275,6 +262,7 @@ resource "aws_service_discovery_service" "service" { } } +/* module "square_import_job" { source = "./background-job/" ecs_cluster = var.ecs_cluster @@ -468,4 +456,5 @@ module "load_historical_sales_job" { use_schedule = false memory = 4096 cpu = 1024 -} \ No newline at end of file +} +*/ diff --git a/terraform/prod-cloud-taskdef.json b/terraform/prod-cloud-taskdef.json new file mode 100644 index 00000000..0f0c2139 --- /dev/null +++ b/terraform/prod-cloud-taskdef.json @@ -0,0 +1,67 @@ +[ + { + "environment": [ + { + "name": "config", + "value": "/usr/local/config/prod-cloud.edn" + }, + { + "name": "DD_ENV", + "value": "prod" + }, + { + "name": "DD_SERVICE", + "value": "integreat-app-cloud" + } + ], + "essential": true, + "image": "679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud", + "logConfiguration": { + "logDriver": "awslogs", + "options": { + "awslogs-group": "/ecs/integreat-app-prod", + "awslogs-region": "us-east-1", + "awslogs-stream-prefix": "ecs" + } + }, + "dockerLabels": { + "com.datadoghq.tags.env": "prod-cloud", + "com.datadoghq.tags.service": "integreat-app" + }, + "mountPoints": [], + "name": "integreat-app", + "portMappings": [ + { + "containerPort": 3000, + "hostPort": 3000, + "protocol": "tcp" + }, + { + "containerPort": 9000, + "hostPort": 9000, + "protocol": "tcp" + }, + { + "containerPort": 9090, + "hostPort": 9090, + "protocol": "tcp" + } + ], + "volumesFrom": [] + }, + { + "environment": [ + { + "name": "DD_API_KEY", + "value": "ce10d932c47b358e81081ae67bd8c112" + }, + { + "name": "ECS_FARGATE", + "value": "true" + } + ], + "essential": true, + "image": "public.ecr.aws/datadog/agent:latest", + "name": "datadog-agent" + } +] diff --git a/terraform/prod-cloud.tfvars b/terraform/prod-cloud.tfvars new file mode 100644 index 00000000..41482ea1 --- /dev/null +++ b/terraform/prod-cloud.tfvars @@ -0,0 +1,13 @@ +aws_access_key_id="AKIAINHACMVQJ6NYD26A" +aws_secret_access_key="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" +domain="cloud.app.integreatconsult.com" +invoice_address="invoices@cloud.mail.app.integreatconsult.com" +base_url="https://cloud.app.integreatconsult.com" +stage="prod-cloud" +task_role_arn="arn:aws:iam::679918342773:role/datomic-ddb" +execution_role_arn="arn:aws:iam::679918342773:role/ecsTaskExecutionRole" +ecs_cluster="arn:aws:ecs:us-east-1:679918342773:cluster/default" +# service_registry="arn:aws:servicediscovery:us-east-1:679918342773:service/srv-6auj2wqsh55k2nuj" +local_namespace="ns-gv2z744em7myo2jp" +desired_count=2 +background_desired_count=1 diff --git a/terraform/terraform.tfstate.d/prod-cloud/terraform.tfstate b/terraform/terraform.tfstate.d/prod-cloud/terraform.tfstate new file mode 100644 index 00000000..b5155b2f --- /dev/null +++ b/terraform/terraform.tfstate.d/prod-cloud/terraform.tfstate @@ -0,0 +1,1024 @@ +{ + "version": 4, + "terraform_version": "1.3.8", + "serial": 47, + "lineage": "cf731bb4-8fb3-47af-6e29-22030e089d96", + "outputs": { + "aws_access_key_id": { + "value": "AKIAZ4TSKSJ25YYV6N4S", + "type": "string", + "sensitive": true + }, + "aws_default_region": { + "value": "us-east-1", + "type": "string" + }, + "aws_secret_access_key": { + "value": "r18v/AYwU4ZRoWMRg/KYqfY2CCO+aHFtTedQH2IT", + "type": "string", + "sensitive": true + }, + "queue_url": { + "value": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-mail-prod-cloud", + "type": "string" + } + }, + "resources": [ + { + "mode": "data", + "type": "aws_caller_identity", + "name": "current", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "account_id": "679918342773", + "arn": "arn:aws:iam::679918342773:user/bryce", + "id": "679918342773", + "user_id": "AIDAJPUJFTOKO4IRADMV4" + }, + "sensitive_attributes": [] + } + ] + }, + { + "mode": "managed", + "type": "aws_acm_certificate", + "name": "cert", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:acm:us-east-1:679918342773:certificate/a10ec71a-e49b-4dc0-9eb3-3c43575bf125", + "certificate_authority_arn": "", + "certificate_body": null, + "certificate_chain": null, + "domain_name": "cloud.app.integreatconsult.com", + "domain_validation_options": [ + { + "domain_name": "cloud.app.integreatconsult.com", + "resource_record_name": "_c390791a3881aa0607770c1f504f2ea4.cloud.app.integreatconsult.com.", + "resource_record_type": "CNAME", + "resource_record_value": "_1c3269cc301d56aa5302d4e598cb1980.ghcgkbmxjw.acm-validations.aws." + } + ], + "id": "arn:aws:acm:us-east-1:679918342773:certificate/a10ec71a-e49b-4dc0-9eb3-3c43575bf125", + "options": [ + { + "certificate_transparency_logging_preference": "ENABLED" + } + ], + "private_key": null, + "status": "ISSUED", + "subject_alternative_names": [], + "tags": {}, + "tags_all": {}, + "validation_emails": [], + "validation_method": "DNS" + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_ecs_service", + "name": "integreat_app", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "capacity_provider_strategy": [ + { + "base": 0, + "capacity_provider": "FARGATE_SPOT", + "weight": 5 + }, + { + "base": 1, + "capacity_provider": "FARGATE", + "weight": 1 + } + ], + "cluster": "arn:aws:ecs:us-east-1:679918342773:cluster/default", + "deployment_circuit_breaker": [ + { + "enable": false, + "rollback": false + } + ], + "deployment_controller": [ + { + "type": "ECS" + } + ], + "deployment_maximum_percent": 200, + "deployment_minimum_healthy_percent": 100, + "desired_count": 2, + "enable_ecs_managed_tags": false, + "enable_execute_command": false, + "force_new_deployment": null, + "health_check_grace_period_seconds": 600, + "iam_role": "aws-service-role", + "id": "arn:aws:ecs:us-east-1:679918342773:service/default/integreat_app_prod-cloud", + "launch_type": "", + "load_balancer": [ + { + "container_name": "integreat-app", + "container_port": 3000, + "elb_name": "", + "target_group_arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:targetgroup/integreat-app-prod-cloud/d176101bfa60e2e3" + } + ], + "name": "integreat_app_prod-cloud", + "network_configuration": [ + { + "assign_public_ip": true, + "security_groups": [ + "sg-004e5855310c453a3", + "sg-02d167406b1082698" + ], + "subnets": [ + "subnet-5e675761", + "subnet-8519fde2", + "subnet-89bab8d4" + ] + } + ], + "ordered_placement_strategy": [], + "placement_constraints": [], + "platform_version": "LATEST", + "propagate_tags": "NONE", + "scheduling_strategy": "REPLICA", + "service_registries": [ + { + "container_name": "", + "container_port": 0, + "port": 0, + "registry_arn": "arn:aws:servicediscovery:us-east-1:679918342773:service/srv-cmwdohq6dvf3pbjv" + } + ], + "tags": null, + "tags_all": {}, + "task_definition": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_prod-cloud:2", + "timeouts": { + "delete": null + }, + "wait_for_steady_state": true + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiZGVsZXRlIjoxMjAwMDAwMDAwMDAwfX0=", + "dependencies": [ + "aws_ecs_task_definition.integreat_app", + "aws_lb_target_group.integreat_app", + "aws_service_discovery_service.service" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_ecs_task_definition", + "name": "integreat_app", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_prod-cloud:2", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod-cloud\",\"com.datadoghq.tags.service\":\"integreat-app\"},\"environment\":[{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"integreat-app-cloud\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-cloud.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":3000,\"hostPort\":3000,\"protocol\":\"tcp\"},{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "cpu": "2048", + "ephemeral_storage": [], + "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", + "family": "integreat_app_prod-cloud", + "id": "integreat_app_prod-cloud", + "inference_accelerator": [], + "ipc_mode": "", + "memory": "8192", + "network_mode": "awsvpc", + "pid_mode": "", + "placement_constraints": [], + "proxy_configuration": [], + "requires_compatibilities": [ + "FARGATE" + ], + "revision": 2, + "runtime_platform": [], + "tags": {}, + "tags_all": {}, + "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", + "volume": [] + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" + } + ] + }, + { + "mode": "managed", + "type": "aws_iam_access_key", + "name": "app_user", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "create_date": "2023-03-19T03:42:18Z", + "encrypted_secret": null, + "encrypted_ses_smtp_password_v4": null, + "id": "AKIAZ4TSKSJ25YYV6N4S", + "key_fingerprint": null, + "pgp_key": null, + "secret": "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", + "ses_smtp_password_v4": "BDUxnweaAfSWC/Vrn6l71mv6P79LZFxpZDx1lRIeO6HV", + "status": "Active", + "user": "integreat-prod-cloud" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_iam_user.app_user" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_iam_user", + "name": "app_user", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:iam::679918342773:user/integreat-prod-cloud", + "force_destroy": false, + "id": "integreat-prod-cloud", + "name": "integreat-prod-cloud", + "path": "/", + "permissions_boundary": null, + "tags": {}, + "tags_all": {}, + "unique_id": "AIDAZ4TSKSJ2ZCQP6I3KK" + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_iam_user_policy_attachment", + "name": "app_user_policy", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "id": "integreat-prod-cloud-20230319034219192000000003", + "policy_arn": "arn:aws:iam::aws:policy/AdministratorAccess", + "user": "integreat-prod-cloud" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_iam_user.app_user" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_lb", + "name": "integreat_app", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "access_logs": [ + { + "bucket": "", + "enabled": false, + "prefix": "" + } + ], + "arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:loadbalancer/app/integreat-app-prod-cloud/ed5b70fcc043ff33", + "arn_suffix": "app/integreat-app-prod-cloud/ed5b70fcc043ff33", + "customer_owned_ipv4_pool": "", + "desync_mitigation_mode": "defensive", + "dns_name": "integreat-app-prod-cloud-522908474.us-east-1.elb.amazonaws.com", + "drop_invalid_header_fields": false, + "enable_cross_zone_load_balancing": true, + "enable_deletion_protection": true, + "enable_http2": true, + "enable_waf_fail_open": false, + "id": "arn:aws:elasticloadbalancing:us-east-1:679918342773:loadbalancer/app/integreat-app-prod-cloud/ed5b70fcc043ff33", + "idle_timeout": 120, + "internal": false, + "ip_address_type": "ipv4", + "load_balancer_type": "application", + "name": "integreat-app-prod-cloud", + "name_prefix": null, + "security_groups": [ + "sg-0024906e0e1f78048" + ], + "subnet_mapping": [ + { + "allocation_id": "", + "ipv6_address": "", + "outpost_id": "", + "private_ipv4_address": "", + "subnet_id": "subnet-16161a39" + }, + { + "allocation_id": "", + "ipv6_address": "", + "outpost_id": "", + "private_ipv4_address": "", + "subnet_id": "subnet-323deb78" + }, + { + "allocation_id": "", + "ipv6_address": "", + "outpost_id": "", + "private_ipv4_address": "", + "subnet_id": "subnet-44c2774b" + }, + { + "allocation_id": "", + "ipv6_address": "", + "outpost_id": "", + "private_ipv4_address": "", + "subnet_id": "subnet-5e675761" + }, + { + "allocation_id": "", + "ipv6_address": "", + "outpost_id": "", + "private_ipv4_address": "", + "subnet_id": "subnet-8519fde2" + }, + { + "allocation_id": "", + "ipv6_address": "", + "outpost_id": "", + "private_ipv4_address": "", + "subnet_id": "subnet-89bab8d4" + } + ], + "subnets": [ + "subnet-16161a39", + "subnet-323deb78", + "subnet-44c2774b", + "subnet-5e675761", + "subnet-8519fde2", + "subnet-89bab8d4" + ], + "tags": {}, + "tags_all": {}, + "timeouts": null, + "vpc_id": "vpc-b5b7d6ce", + "zone_id": "Z35SXDOTRQ7X7K" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19" + } + ] + }, + { + "mode": "managed", + "type": "aws_lb_listener", + "name": "http", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "alpn_policy": null, + "arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:listener/app/integreat-app-prod-cloud/ed5b70fcc043ff33/81260a18d976c15d", + "certificate_arn": null, + "default_action": [ + { + "authenticate_cognito": [], + "authenticate_oidc": [], + "fixed_response": [], + "forward": [], + "order": 1, + "redirect": [ + { + "host": "#{host}", + "path": "/#{path}", + "port": "443", + "protocol": "HTTPS", + "query": "#{query}", + "status_code": "HTTP_301" + } + ], + "target_group_arn": "", + "type": "redirect" + } + ], + "id": "arn:aws:elasticloadbalancing:us-east-1:679918342773:listener/app/integreat-app-prod-cloud/ed5b70fcc043ff33/81260a18d976c15d", + "load_balancer_arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:loadbalancer/app/integreat-app-prod-cloud/ed5b70fcc043ff33", + "port": 80, + "protocol": "HTTP", + "ssl_policy": "", + "tags": {}, + "tags_all": {}, + "timeouts": { + "read": null + } + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsicmVhZCI6NjAwMDAwMDAwMDAwfX0=", + "dependencies": [ + "aws_lb.integreat_app" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_lb_listener", + "name": "https", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "alpn_policy": null, + "arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:listener/app/integreat-app-prod-cloud/ed5b70fcc043ff33/5c57593c85467dd9", + "certificate_arn": "arn:aws:acm:us-east-1:679918342773:certificate/a10ec71a-e49b-4dc0-9eb3-3c43575bf125", + "default_action": [ + { + "authenticate_cognito": [], + "authenticate_oidc": [], + "fixed_response": [], + "forward": [], + "order": 1, + "redirect": [], + "target_group_arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:targetgroup/integreat-app-prod-cloud/d176101bfa60e2e3", + "type": "forward" + } + ], + "id": "arn:aws:elasticloadbalancing:us-east-1:679918342773:listener/app/integreat-app-prod-cloud/ed5b70fcc043ff33/5c57593c85467dd9", + "load_balancer_arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:loadbalancer/app/integreat-app-prod-cloud/ed5b70fcc043ff33", + "port": 443, + "protocol": "HTTPS", + "ssl_policy": "ELBSecurityPolicy-2016-08", + "tags": null, + "tags_all": {}, + "timeouts": { + "read": null + } + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsicmVhZCI6NjAwMDAwMDAwMDAwfX0=", + "dependencies": [ + "aws_acm_certificate.cert", + "aws_lb.integreat_app", + "aws_lb_target_group.integreat_app" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_lb_listener_rule", + "name": "static", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "action": [ + { + "authenticate_cognito": [], + "authenticate_oidc": [], + "fixed_response": [], + "forward": [], + "order": 1, + "redirect": [ + { + "host": "s3.amazonaws.com", + "path": "/cloud.app.integreatconsult.com/#{path}", + "port": "443", + "protocol": "HTTPS", + "query": "#{query}", + "status_code": "HTTP_301" + } + ], + "target_group_arn": "", + "type": "redirect" + } + ], + "arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:listener-rule/app/integreat-app-prod-cloud/ed5b70fcc043ff33/5c57593c85467dd9/d6c79bc1d166a6d0", + "condition": [ + { + "host_header": [], + "http_header": [], + "http_request_method": [], + "path_pattern": [ + { + "values": [ + "/css/*", + "/finance-font/*", + "/img/*", + "/js/compiled/*", + "index.html" + ] + } + ], + "query_string": [], + "source_ip": [] + } + ], + "id": "arn:aws:elasticloadbalancing:us-east-1:679918342773:listener-rule/app/integreat-app-prod-cloud/ed5b70fcc043ff33/5c57593c85467dd9/d6c79bc1d166a6d0", + "listener_arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:listener/app/integreat-app-prod-cloud/ed5b70fcc043ff33/5c57593c85467dd9", + "priority": 1, + "tags": null, + "tags_all": {} + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_acm_certificate.cert", + "aws_lb.integreat_app", + "aws_lb_listener.https", + "aws_lb_target_group.integreat_app" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_lb_target_group", + "name": "integreat_app", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:targetgroup/integreat-app-prod-cloud/d176101bfa60e2e3", + "arn_suffix": "targetgroup/integreat-app-prod-cloud/d176101bfa60e2e3", + "connection_termination": false, + "deregistration_delay": "120", + "health_check": [ + { + "enabled": true, + "healthy_threshold": 2, + "interval": 15, + "matcher": "200", + "path": "/api/health-check", + "port": "traffic-port", + "protocol": "HTTP", + "timeout": 14, + "unhealthy_threshold": 5 + } + ], + "id": "arn:aws:elasticloadbalancing:us-east-1:679918342773:targetgroup/integreat-app-prod-cloud/d176101bfa60e2e3", + "lambda_multi_value_headers_enabled": false, + "load_balancing_algorithm_type": "round_robin", + "name": "integreat-app-prod-cloud", + "name_prefix": null, + "port": 80, + "preserve_client_ip": null, + "protocol": "HTTP", + "protocol_version": "HTTP1", + "proxy_protocol_v2": false, + "slow_start": 0, + "stickiness": [ + { + "cookie_duration": 86400, + "cookie_name": "", + "enabled": false, + "type": "lb_cookie" + } + ], + "tags": {}, + "tags_all": {}, + "target_type": "ip", + "vpc_id": "vpc-b5b7d6ce" + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_s3_bucket", + "name": "data", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "acceleration_status": "", + "acl": "private", + "arn": "arn:aws:s3:::data.prod-cloud.app.integreatconsult.com", + "bucket": "data.prod-cloud.app.integreatconsult.com", + "bucket_domain_name": "data.prod-cloud.app.integreatconsult.com.s3.amazonaws.com", + "bucket_prefix": null, + "bucket_regional_domain_name": "data.prod-cloud.app.integreatconsult.com.s3.amazonaws.com", + "cors_rule": [], + "force_destroy": false, + "grant": [], + "hosted_zone_id": "Z3AQBSTGFYJSTF", + "id": "data.prod-cloud.app.integreatconsult.com", + "lifecycle_rule": [], + "logging": [], + "object_lock_configuration": [], + "policy": "{\"Id\":\"Policy1526084187222\",\"Statement\":[{\"Action\":[\"s3:GetObject\"],\"Effect\":\"Allow\",\"Principal\":\"*\",\"Resource\":\"arn:aws:s3:::data.prod-cloud.app.integreatconsult.com/*\",\"Sid\":\"Stmt1526084185514\"},{\"Action\":\"s3:*\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::679918342773:role/datomic-ddb\"},\"Resource\":\"arn:aws:s3:::data.prod-cloud.app.integreatconsult.com\",\"Sid\":\"AllowReadForProd\"}],\"Version\":\"2012-10-17\"}", + "region": "us-east-1", + "replication_configuration": [], + "request_payer": "BucketOwner", + "server_side_encryption_configuration": [ + { + "rule": [ + { + "apply_server_side_encryption_by_default": [ + { + "kms_master_key_id": "", + "sse_algorithm": "AES256" + } + ], + "bucket_key_enabled": false + } + ] + } + ], + "tags": {}, + "tags_all": {}, + "versioning": [ + { + "enabled": false, + "mfa_delete": false + } + ], + "website": [ + { + "error_document": "", + "index_document": "index.html", + "redirect_all_requests_to": "", + "routing_rules": "" + } + ], + "website_domain": "s3-website-us-east-1.amazonaws.com", + "website_endpoint": "data.prod-cloud.app.integreatconsult.com.s3-website-us-east-1.amazonaws.com" + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_s3_bucket", + "name": "invoices", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "acceleration_status": "", + "acl": "private", + "arn": "arn:aws:s3:::integreat-mail-prod-cloud", + "bucket": "integreat-mail-prod-cloud", + "bucket_domain_name": "integreat-mail-prod-cloud.s3.amazonaws.com", + "bucket_prefix": null, + "bucket_regional_domain_name": "integreat-mail-prod-cloud.s3.amazonaws.com", + "cors_rule": [], + "force_destroy": false, + "grant": [], + "hosted_zone_id": "Z3AQBSTGFYJSTF", + "id": "integreat-mail-prod-cloud", + "lifecycle_rule": [], + "logging": [], + "object_lock_configuration": [], + "policy": "{\"Statement\":[{\"Action\":\"s3:PutObject\",\"Condition\":{\"StringEquals\":{\"aws:Referer\":\"679918342773\"}},\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"ses.amazonaws.com\"},\"Resource\":\"arn:aws:s3:::integreat-mail-prod-cloud/*\",\"Sid\":\"AllowSESPuts\"}],\"Version\":\"2012-10-17\"}", + "region": "us-east-1", + "replication_configuration": [], + "request_payer": "BucketOwner", + "server_side_encryption_configuration": [ + { + "rule": [ + { + "apply_server_side_encryption_by_default": [ + { + "kms_master_key_id": "", + "sse_algorithm": "AES256" + } + ], + "bucket_key_enabled": false + } + ] + } + ], + "tags": {}, + "tags_all": {}, + "versioning": [ + { + "enabled": false, + "mfa_delete": false + } + ], + "website": [], + "website_domain": null, + "website_endpoint": null + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "data.aws_caller_identity.current" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_s3_bucket", + "name": "static", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "acceleration_status": "", + "acl": "private", + "arn": "arn:aws:s3:::cloud.app.integreatconsult.com", + "bucket": "cloud.app.integreatconsult.com", + "bucket_domain_name": "cloud.app.integreatconsult.com.s3.amazonaws.com", + "bucket_prefix": null, + "bucket_regional_domain_name": "cloud.app.integreatconsult.com.s3.amazonaws.com", + "cors_rule": [ + { + "allowed_headers": [ + "*" + ], + "allowed_methods": [ + "PUT", + "POST", + "DELETE", + "GET" + ], + "allowed_origins": [ + "https://cloud.app.integreatconsult.com" + ], + "expose_headers": [], + "max_age_seconds": 0 + } + ], + "force_destroy": false, + "grant": [], + "hosted_zone_id": "Z3AQBSTGFYJSTF", + "id": "cloud.app.integreatconsult.com", + "lifecycle_rule": [], + "logging": [], + "object_lock_configuration": [], + "policy": "{\"Id\":\"Policy1526084187222\",\"Statement\":[{\"Action\":[\"s3:GetObject\"],\"Effect\":\"Allow\",\"Principal\":\"*\",\"Resource\":\"arn:aws:s3:::cloud.app.integreatconsult.com/*\",\"Sid\":\"Stmt1526084185514\"}],\"Version\":\"2012-10-17\"}", + "region": "us-east-1", + "replication_configuration": [], + "request_payer": "BucketOwner", + "server_side_encryption_configuration": [ + { + "rule": [ + { + "apply_server_side_encryption_by_default": [ + { + "kms_master_key_id": "", + "sse_algorithm": "AES256" + } + ], + "bucket_key_enabled": false + } + ] + } + ], + "tags": {}, + "tags_all": {}, + "versioning": [ + { + "enabled": false, + "mfa_delete": false + } + ], + "website": [ + { + "error_document": "", + "index_document": "index.html", + "redirect_all_requests_to": "", + "routing_rules": "" + } + ], + "website_domain": "s3-website-us-east-1.amazonaws.com", + "website_endpoint": "cloud.app.integreatconsult.com.s3-website-us-east-1.amazonaws.com" + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_s3_bucket_notification", + "name": "mail_bucket_notification", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "bucket": "integreat-mail-prod-cloud", + "id": "integreat-mail-prod-cloud", + "lambda_function": [], + "queue": [ + { + "events": [ + "s3:ObjectCreated:*" + ], + "filter_prefix": "", + "filter_suffix": "", + "id": "tf-s3-queue-20230319034251717400000005", + "queue_arn": "arn:aws:sqs:us-east-1:679918342773:integreat-mail-prod-cloud" + } + ], + "topic": [] + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_s3_bucket.invoices", + "aws_sqs_queue.integreat-mail", + "data.aws_caller_identity.current" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_service_discovery_service", + "name": "service", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:servicediscovery:us-east-1:679918342773:service/srv-cmwdohq6dvf3pbjv", + "description": "", + "dns_config": [ + { + "dns_records": [ + { + "ttl": 10, + "type": "A" + } + ], + "namespace_id": "ns-gv2z744em7myo2jp", + "routing_policy": "MULTIVALUE" + } + ], + "force_destroy": false, + "health_check_config": [], + "health_check_custom_config": [ + { + "failure_threshold": 1 + } + ], + "id": "srv-cmwdohq6dvf3pbjv", + "name": "integreat-app-prod-cloud", + "namespace_id": "ns-gv2z744em7myo2jp", + "tags": {}, + "tags_all": {} + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_ses_receipt_rule", + "name": "store", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [] + }, + { + "mode": "managed", + "type": "aws_sqs_queue", + "name": "background-request", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:sqs:us-east-1:679918342773:integreat-background-request-prod-cloud", + "content_based_deduplication": false, + "deduplication_scope": "", + "delay_seconds": 0, + "fifo_queue": false, + "fifo_throughput_limit": "", + "id": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-background-request-prod-cloud", + "kms_data_key_reuse_period_seconds": 300, + "kms_master_key_id": "", + "max_message_size": 262144, + "message_retention_seconds": 345600, + "name": "integreat-background-request-prod-cloud", + "name_prefix": "", + "policy": "{\"Statement\":[{\"Action\":\"sqs:*\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::679918342773:role/datomic-ddb\"},\"Resource\":\"arn:aws:sqs:*:*:integreat-background-request-prod-cloud\"}],\"Version\":\"2012-10-17\"}", + "receive_wait_time_seconds": 0, + "redrive_policy": "", + "sqs_managed_sse_enabled": false, + "tags": {}, + "tags_all": {}, + "url": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-background-request-prod-cloud", + "visibility_timeout_seconds": 30 + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_sqs_queue", + "name": "integreat-mail", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:sqs:us-east-1:679918342773:integreat-mail-prod-cloud", + "content_based_deduplication": false, + "deduplication_scope": "", + "delay_seconds": 0, + "fifo_queue": false, + "fifo_throughput_limit": "", + "id": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-mail-prod-cloud", + "kms_data_key_reuse_period_seconds": 300, + "kms_master_key_id": "", + "max_message_size": 262144, + "message_retention_seconds": 345600, + "name": "integreat-mail-prod-cloud", + "name_prefix": "", + "policy": "{\"Statement\":[{\"Action\":\"sqs:SendMessage\",\"Condition\":{\"ArnEquals\":{\"aws:SourceArn\":\"arn:aws:s3:::integreat-mail-prod-cloud\"}},\"Effect\":\"Allow\",\"Principal\":\"*\",\"Resource\":\"arn:aws:sqs:*:*:integreat-mail-prod-cloud\"}],\"Version\":\"2012-10-17\"}", + "receive_wait_time_seconds": 0, + "redrive_policy": "", + "sqs_managed_sse_enabled": false, + "tags": {}, + "tags_all": {}, + "url": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-mail-prod-cloud", + "visibility_timeout_seconds": 30 + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_s3_bucket.invoices", + "data.aws_caller_identity.current" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_sqs_queue", + "name": "integreat-scheduled-jobs", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:sqs:us-east-1:679918342773:integreat-scheduled-jobs-prod-cloud", + "content_based_deduplication": false, + "deduplication_scope": "", + "delay_seconds": 0, + "fifo_queue": false, + "fifo_throughput_limit": "", + "id": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-scheduled-jobs-prod-cloud", + "kms_data_key_reuse_period_seconds": 300, + "kms_master_key_id": "", + "max_message_size": 262144, + "message_retention_seconds": 345600, + "name": "integreat-scheduled-jobs-prod-cloud", + "name_prefix": "", + "policy": "{\"Statement\":[{\"Action\":\"sqs:*\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::679918342773:role/datomic-ddb\"},\"Resource\":\"arn:aws:sqs:*:*:integreat-scheduled-jobs-prod-cloud\"}],\"Version\":\"2012-10-17\"}", + "receive_wait_time_seconds": 0, + "redrive_policy": "", + "sqs_managed_sse_enabled": false, + "tags": {}, + "tags_all": {}, + "url": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-scheduled-jobs-prod-cloud", + "visibility_timeout_seconds": 30 + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + } + ], + "check_results": null +} diff --git a/terraform/terraform.tfstate.d/prod-cloud/terraform.tfstate.backup b/terraform/terraform.tfstate.d/prod-cloud/terraform.tfstate.backup new file mode 100644 index 00000000..f51b3b48 --- /dev/null +++ b/terraform/terraform.tfstate.d/prod-cloud/terraform.tfstate.backup @@ -0,0 +1,821 @@ +{ + "version": 4, + "terraform_version": "1.3.8", + "serial": 39, + "lineage": "cf731bb4-8fb3-47af-6e29-22030e089d96", + "outputs": { + "aws_access_key_id": { + "value": "AKIAZ4TSKSJ25YYV6N4S", + "type": "string", + "sensitive": true + }, + "aws_default_region": { + "value": "us-east-1", + "type": "string" + }, + "aws_secret_access_key": { + "value": "r18v/AYwU4ZRoWMRg/KYqfY2CCO+aHFtTedQH2IT", + "type": "string", + "sensitive": true + }, + "queue_url": { + "value": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-mail-prod-cloud", + "type": "string" + } + }, + "resources": [ + { + "mode": "data", + "type": "aws_caller_identity", + "name": "current", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "account_id": "679918342773", + "arn": "arn:aws:iam::679918342773:user/bryce", + "id": "679918342773", + "user_id": "AIDAJPUJFTOKO4IRADMV4" + }, + "sensitive_attributes": [] + } + ] + }, + { + "mode": "managed", + "type": "aws_acm_certificate", + "name": "cert", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:acm:us-east-1:679918342773:certificate/a10ec71a-e49b-4dc0-9eb3-3c43575bf125", + "certificate_authority_arn": "", + "certificate_body": null, + "certificate_chain": null, + "domain_name": "cloud.app.integreatconsult.com", + "domain_validation_options": [ + { + "domain_name": "cloud.app.integreatconsult.com", + "resource_record_name": "_c390791a3881aa0607770c1f504f2ea4.cloud.app.integreatconsult.com.", + "resource_record_type": "CNAME", + "resource_record_value": "_1c3269cc301d56aa5302d4e598cb1980.ghcgkbmxjw.acm-validations.aws." + } + ], + "id": "arn:aws:acm:us-east-1:679918342773:certificate/a10ec71a-e49b-4dc0-9eb3-3c43575bf125", + "options": [ + { + "certificate_transparency_logging_preference": "ENABLED" + } + ], + "private_key": null, + "status": "PENDING_VALIDATION", + "subject_alternative_names": [], + "tags": {}, + "tags_all": {}, + "validation_emails": [], + "validation_method": "DNS" + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_ecs_task_definition", + "name": "integreat_app", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 1, + "attributes": { + "arn": "arn:aws:ecs:us-east-1:679918342773:task-definition/integreat_app_prod-cloud:2", + "container_definitions": "[{\"cpu\":0,\"dockerLabels\":{\"com.datadoghq.tags.env\":\"prod-cloud\",\"com.datadoghq.tags.service\":\"integreat-app\"},\"environment\":[{\"name\":\"DD_ENV\",\"value\":\"prod\"},{\"name\":\"DD_SERVICE\",\"value\":\"integreat-app-cloud\"},{\"name\":\"config\",\"value\":\"/usr/local/config/prod-cloud.edn\"}],\"essential\":true,\"image\":\"679918342773.dkr.ecr.us-east-1.amazonaws.com/integreat-cloud\",\"logConfiguration\":{\"logDriver\":\"awslogs\",\"options\":{\"awslogs-group\":\"/ecs/integreat-app-prod\",\"awslogs-region\":\"us-east-1\",\"awslogs-stream-prefix\":\"ecs\"}},\"mountPoints\":[],\"name\":\"integreat-app\",\"portMappings\":[{\"containerPort\":3000,\"hostPort\":3000,\"protocol\":\"tcp\"},{\"containerPort\":9000,\"hostPort\":9000,\"protocol\":\"tcp\"},{\"containerPort\":9090,\"hostPort\":9090,\"protocol\":\"tcp\"}],\"volumesFrom\":[]},{\"cpu\":0,\"environment\":[{\"name\":\"DD_API_KEY\",\"value\":\"ce10d932c47b358e81081ae67bd8c112\"},{\"name\":\"ECS_FARGATE\",\"value\":\"true\"}],\"essential\":true,\"image\":\"public.ecr.aws/datadog/agent:latest\",\"mountPoints\":[],\"name\":\"datadog-agent\",\"portMappings\":[],\"volumesFrom\":[]}]", + "cpu": "2048", + "ephemeral_storage": [], + "execution_role_arn": "arn:aws:iam::679918342773:role/ecsTaskExecutionRole", + "family": "integreat_app_prod-cloud", + "id": "integreat_app_prod-cloud", + "inference_accelerator": [], + "ipc_mode": "", + "memory": "8192", + "network_mode": "awsvpc", + "pid_mode": "", + "placement_constraints": [], + "proxy_configuration": [], + "requires_compatibilities": [ + "FARGATE" + ], + "revision": 2, + "runtime_platform": [], + "tags": {}, + "tags_all": {}, + "task_role_arn": "arn:aws:iam::679918342773:role/datomic-ddb", + "volume": [] + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ==" + } + ] + }, + { + "mode": "managed", + "type": "aws_iam_access_key", + "name": "app_user", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "create_date": "2023-03-19T03:42:18Z", + "encrypted_secret": null, + "encrypted_ses_smtp_password_v4": null, + "id": "AKIAZ4TSKSJ25YYV6N4S", + "key_fingerprint": null, + "pgp_key": null, + "secret": "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", + "ses_smtp_password_v4": "BDUxnweaAfSWC/Vrn6l71mv6P79LZFxpZDx1lRIeO6HV", + "status": "Active", + "user": "integreat-prod-cloud" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_iam_user.app_user" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_iam_user", + "name": "app_user", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:iam::679918342773:user/integreat-prod-cloud", + "force_destroy": false, + "id": "integreat-prod-cloud", + "name": "integreat-prod-cloud", + "path": "/", + "permissions_boundary": null, + "tags": {}, + "tags_all": {}, + "unique_id": "AIDAZ4TSKSJ2ZCQP6I3KK" + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_iam_user_policy_attachment", + "name": "app_user_policy", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "id": "integreat-prod-cloud-20230319034219192000000003", + "policy_arn": "arn:aws:iam::aws:policy/AdministratorAccess", + "user": "integreat-prod-cloud" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_iam_user.app_user" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_lb", + "name": "integreat_app", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "access_logs": [ + { + "bucket": "", + "enabled": false, + "prefix": "" + } + ], + "arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:loadbalancer/app/integreat-app-prod-cloud/ed5b70fcc043ff33", + "arn_suffix": "app/integreat-app-prod-cloud/ed5b70fcc043ff33", + "customer_owned_ipv4_pool": "", + "desync_mitigation_mode": "defensive", + "dns_name": "integreat-app-prod-cloud-522908474.us-east-1.elb.amazonaws.com", + "drop_invalid_header_fields": false, + "enable_cross_zone_load_balancing": true, + "enable_deletion_protection": true, + "enable_http2": true, + "enable_waf_fail_open": false, + "id": "arn:aws:elasticloadbalancing:us-east-1:679918342773:loadbalancer/app/integreat-app-prod-cloud/ed5b70fcc043ff33", + "idle_timeout": 120, + "internal": false, + "ip_address_type": "ipv4", + "load_balancer_type": "application", + "name": "integreat-app-prod-cloud", + "name_prefix": null, + "security_groups": [ + "sg-0024906e0e1f78048" + ], + "subnet_mapping": [ + { + "allocation_id": "", + "ipv6_address": "", + "outpost_id": "", + "private_ipv4_address": "", + "subnet_id": "subnet-16161a39" + }, + { + "allocation_id": "", + "ipv6_address": "", + "outpost_id": "", + "private_ipv4_address": "", + "subnet_id": "subnet-323deb78" + }, + { + "allocation_id": "", + "ipv6_address": "", + "outpost_id": "", + "private_ipv4_address": "", + "subnet_id": "subnet-44c2774b" + }, + { + "allocation_id": "", + "ipv6_address": "", + "outpost_id": "", + "private_ipv4_address": "", + "subnet_id": "subnet-5e675761" + }, + { + "allocation_id": "", + "ipv6_address": "", + "outpost_id": "", + "private_ipv4_address": "", + "subnet_id": "subnet-8519fde2" + }, + { + "allocation_id": "", + "ipv6_address": "", + "outpost_id": "", + "private_ipv4_address": "", + "subnet_id": "subnet-89bab8d4" + } + ], + "subnets": [ + "subnet-16161a39", + "subnet-323deb78", + "subnet-44c2774b", + "subnet-5e675761", + "subnet-8519fde2", + "subnet-89bab8d4" + ], + "tags": {}, + "tags_all": {}, + "timeouts": null, + "vpc_id": "vpc-b5b7d6ce", + "zone_id": "Z35SXDOTRQ7X7K" + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6NjAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH19" + } + ] + }, + { + "mode": "managed", + "type": "aws_lb_listener", + "name": "http", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "alpn_policy": null, + "arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:listener/app/integreat-app-prod-cloud/ed5b70fcc043ff33/81260a18d976c15d", + "certificate_arn": null, + "default_action": [ + { + "authenticate_cognito": [], + "authenticate_oidc": [], + "fixed_response": [], + "forward": [], + "order": 1, + "redirect": [ + { + "host": "#{host}", + "path": "/#{path}", + "port": "443", + "protocol": "HTTPS", + "query": "#{query}", + "status_code": "HTTP_301" + } + ], + "target_group_arn": "", + "type": "redirect" + } + ], + "id": "arn:aws:elasticloadbalancing:us-east-1:679918342773:listener/app/integreat-app-prod-cloud/ed5b70fcc043ff33/81260a18d976c15d", + "load_balancer_arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:loadbalancer/app/integreat-app-prod-cloud/ed5b70fcc043ff33", + "port": 80, + "protocol": "HTTP", + "ssl_policy": "", + "tags": {}, + "tags_all": {}, + "timeouts": { + "read": null + } + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsicmVhZCI6NjAwMDAwMDAwMDAwfX0=", + "dependencies": [ + "aws_lb.integreat_app" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_lb_listener_rule", + "name": "static", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [] + }, + { + "mode": "managed", + "type": "aws_lb_target_group", + "name": "integreat_app", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:elasticloadbalancing:us-east-1:679918342773:targetgroup/integreat-app-prod-cloud/d176101bfa60e2e3", + "arn_suffix": "targetgroup/integreat-app-prod-cloud/d176101bfa60e2e3", + "connection_termination": false, + "deregistration_delay": "120", + "health_check": [ + { + "enabled": true, + "healthy_threshold": 2, + "interval": 15, + "matcher": "200", + "path": "/api/health-check", + "port": "traffic-port", + "protocol": "HTTP", + "timeout": 14, + "unhealthy_threshold": 5 + } + ], + "id": "arn:aws:elasticloadbalancing:us-east-1:679918342773:targetgroup/integreat-app-prod-cloud/d176101bfa60e2e3", + "lambda_multi_value_headers_enabled": false, + "load_balancing_algorithm_type": "round_robin", + "name": "integreat-app-prod-cloud", + "name_prefix": null, + "port": 80, + "preserve_client_ip": null, + "protocol": "HTTP", + "protocol_version": "HTTP1", + "proxy_protocol_v2": false, + "slow_start": 0, + "stickiness": [ + { + "cookie_duration": 86400, + "cookie_name": "", + "enabled": false, + "type": "lb_cookie" + } + ], + "tags": {}, + "tags_all": {}, + "target_type": "ip", + "vpc_id": "vpc-b5b7d6ce" + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_s3_bucket", + "name": "data", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "acceleration_status": "", + "acl": "private", + "arn": "arn:aws:s3:::data.prod-cloud.app.integreatconsult.com", + "bucket": "data.prod-cloud.app.integreatconsult.com", + "bucket_domain_name": "data.prod-cloud.app.integreatconsult.com.s3.amazonaws.com", + "bucket_prefix": null, + "bucket_regional_domain_name": "data.prod-cloud.app.integreatconsult.com.s3.amazonaws.com", + "cors_rule": [], + "force_destroy": false, + "grant": [], + "hosted_zone_id": "Z3AQBSTGFYJSTF", + "id": "data.prod-cloud.app.integreatconsult.com", + "lifecycle_rule": [], + "logging": [], + "object_lock_configuration": [], + "policy": "{\"Id\":\"Policy1526084187222\",\"Statement\":[{\"Action\":[\"s3:GetObject\"],\"Effect\":\"Allow\",\"Principal\":\"*\",\"Resource\":\"arn:aws:s3:::data.prod-cloud.app.integreatconsult.com/*\",\"Sid\":\"Stmt1526084185514\"},{\"Action\":\"s3:*\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::679918342773:role/datomic-ddb\"},\"Resource\":\"arn:aws:s3:::data.prod-cloud.app.integreatconsult.com\",\"Sid\":\"AllowReadForProd\"}],\"Version\":\"2012-10-17\"}", + "region": "us-east-1", + "replication_configuration": [], + "request_payer": "BucketOwner", + "server_side_encryption_configuration": [ + { + "rule": [ + { + "apply_server_side_encryption_by_default": [ + { + "kms_master_key_id": "", + "sse_algorithm": "AES256" + } + ], + "bucket_key_enabled": false + } + ] + } + ], + "tags": {}, + "tags_all": {}, + "versioning": [ + { + "enabled": false, + "mfa_delete": false + } + ], + "website": [ + { + "error_document": "", + "index_document": "index.html", + "redirect_all_requests_to": "", + "routing_rules": "" + } + ], + "website_domain": "s3-website-us-east-1.amazonaws.com", + "website_endpoint": "data.prod-cloud.app.integreatconsult.com.s3-website-us-east-1.amazonaws.com" + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_s3_bucket", + "name": "invoices", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "acceleration_status": "", + "acl": "private", + "arn": "arn:aws:s3:::integreat-mail-prod-cloud", + "bucket": "integreat-mail-prod-cloud", + "bucket_domain_name": "integreat-mail-prod-cloud.s3.amazonaws.com", + "bucket_prefix": null, + "bucket_regional_domain_name": "integreat-mail-prod-cloud.s3.amazonaws.com", + "cors_rule": [], + "force_destroy": false, + "grant": [], + "hosted_zone_id": "Z3AQBSTGFYJSTF", + "id": "integreat-mail-prod-cloud", + "lifecycle_rule": [], + "logging": [], + "object_lock_configuration": [], + "policy": "{\"Statement\":[{\"Action\":\"s3:PutObject\",\"Condition\":{\"StringEquals\":{\"aws:Referer\":\"679918342773\"}},\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"ses.amazonaws.com\"},\"Resource\":\"arn:aws:s3:::integreat-mail-prod-cloud/*\",\"Sid\":\"AllowSESPuts\"}],\"Version\":\"2012-10-17\"}", + "region": "us-east-1", + "replication_configuration": [], + "request_payer": "BucketOwner", + "server_side_encryption_configuration": [ + { + "rule": [ + { + "apply_server_side_encryption_by_default": [ + { + "kms_master_key_id": "", + "sse_algorithm": "AES256" + } + ], + "bucket_key_enabled": false + } + ] + } + ], + "tags": {}, + "tags_all": {}, + "versioning": [ + { + "enabled": false, + "mfa_delete": false + } + ], + "website": [], + "website_domain": null, + "website_endpoint": null + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "data.aws_caller_identity.current" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_s3_bucket", + "name": "static", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "acceleration_status": "", + "acl": "private", + "arn": "arn:aws:s3:::cloud.app.integreatconsult.com", + "bucket": "cloud.app.integreatconsult.com", + "bucket_domain_name": "cloud.app.integreatconsult.com.s3.amazonaws.com", + "bucket_prefix": null, + "bucket_regional_domain_name": "cloud.app.integreatconsult.com.s3.amazonaws.com", + "cors_rule": [ + { + "allowed_headers": [ + "*" + ], + "allowed_methods": [ + "PUT", + "POST", + "DELETE", + "GET" + ], + "allowed_origins": [ + "https://cloud.app.integreatconsult.com" + ], + "expose_headers": [], + "max_age_seconds": 0 + } + ], + "force_destroy": false, + "grant": [], + "hosted_zone_id": "Z3AQBSTGFYJSTF", + "id": "cloud.app.integreatconsult.com", + "lifecycle_rule": [], + "logging": [], + "object_lock_configuration": [], + "policy": "{\"Id\":\"Policy1526084187222\",\"Statement\":[{\"Action\":[\"s3:GetObject\"],\"Effect\":\"Allow\",\"Principal\":\"*\",\"Resource\":\"arn:aws:s3:::cloud.app.integreatconsult.com/*\",\"Sid\":\"Stmt1526084185514\"}],\"Version\":\"2012-10-17\"}", + "region": "us-east-1", + "replication_configuration": [], + "request_payer": "BucketOwner", + "server_side_encryption_configuration": [ + { + "rule": [ + { + "apply_server_side_encryption_by_default": [ + { + "kms_master_key_id": "", + "sse_algorithm": "AES256" + } + ], + "bucket_key_enabled": false + } + ] + } + ], + "tags": {}, + "tags_all": {}, + "versioning": [ + { + "enabled": false, + "mfa_delete": false + } + ], + "website": [ + { + "error_document": "", + "index_document": "index.html", + "redirect_all_requests_to": "", + "routing_rules": "" + } + ], + "website_domain": "s3-website-us-east-1.amazonaws.com", + "website_endpoint": "cloud.app.integreatconsult.com.s3-website-us-east-1.amazonaws.com" + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_s3_bucket_notification", + "name": "mail_bucket_notification", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "bucket": "integreat-mail-prod-cloud", + "id": "integreat-mail-prod-cloud", + "lambda_function": [], + "queue": [ + { + "events": [ + "s3:ObjectCreated:*" + ], + "filter_prefix": "", + "filter_suffix": "", + "id": "tf-s3-queue-20230319034251717400000005", + "queue_arn": "arn:aws:sqs:us-east-1:679918342773:integreat-mail-prod-cloud" + } + ], + "topic": [] + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_s3_bucket.invoices", + "aws_sqs_queue.integreat-mail", + "data.aws_caller_identity.current" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_service_discovery_service", + "name": "service", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:servicediscovery:us-east-1:679918342773:service/srv-cmwdohq6dvf3pbjv", + "description": "", + "dns_config": [ + { + "dns_records": [ + { + "ttl": 10, + "type": "A" + } + ], + "namespace_id": "ns-gv2z744em7myo2jp", + "routing_policy": "MULTIVALUE" + } + ], + "force_destroy": false, + "health_check_config": [], + "health_check_custom_config": [ + { + "failure_threshold": 1 + } + ], + "id": "srv-cmwdohq6dvf3pbjv", + "name": "integreat-app-prod-cloud", + "namespace_id": "ns-gv2z744em7myo2jp", + "tags": {}, + "tags_all": {} + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_ses_receipt_rule", + "name": "store", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [] + }, + { + "mode": "managed", + "type": "aws_sqs_queue", + "name": "background-request", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:sqs:us-east-1:679918342773:integreat-background-request-prod-cloud", + "content_based_deduplication": false, + "deduplication_scope": "", + "delay_seconds": 0, + "fifo_queue": false, + "fifo_throughput_limit": "", + "id": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-background-request-prod-cloud", + "kms_data_key_reuse_period_seconds": 300, + "kms_master_key_id": "", + "max_message_size": 262144, + "message_retention_seconds": 345600, + "name": "integreat-background-request-prod-cloud", + "name_prefix": "", + "policy": "{\"Statement\":[{\"Action\":\"sqs:*\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::679918342773:role/datomic-ddb\"},\"Resource\":\"arn:aws:sqs:*:*:integreat-background-request-prod-cloud\"}],\"Version\":\"2012-10-17\"}", + "receive_wait_time_seconds": 0, + "redrive_policy": "", + "sqs_managed_sse_enabled": false, + "tags": {}, + "tags_all": {}, + "url": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-background-request-prod-cloud", + "visibility_timeout_seconds": 30 + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_sqs_queue", + "name": "integreat-mail", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:sqs:us-east-1:679918342773:integreat-mail-prod-cloud", + "content_based_deduplication": false, + "deduplication_scope": "", + "delay_seconds": 0, + "fifo_queue": false, + "fifo_throughput_limit": "", + "id": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-mail-prod-cloud", + "kms_data_key_reuse_period_seconds": 300, + "kms_master_key_id": "", + "max_message_size": 262144, + "message_retention_seconds": 345600, + "name": "integreat-mail-prod-cloud", + "name_prefix": "", + "policy": "{\"Statement\":[{\"Action\":\"sqs:SendMessage\",\"Condition\":{\"ArnEquals\":{\"aws:SourceArn\":\"arn:aws:s3:::integreat-mail-prod-cloud\"}},\"Effect\":\"Allow\",\"Principal\":\"*\",\"Resource\":\"arn:aws:sqs:*:*:integreat-mail-prod-cloud\"}],\"Version\":\"2012-10-17\"}", + "receive_wait_time_seconds": 0, + "redrive_policy": "", + "sqs_managed_sse_enabled": false, + "tags": {}, + "tags_all": {}, + "url": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-mail-prod-cloud", + "visibility_timeout_seconds": 30 + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_s3_bucket.invoices", + "data.aws_caller_identity.current" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_sqs_queue", + "name": "integreat-scheduled-jobs", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:sqs:us-east-1:679918342773:integreat-scheduled-jobs-prod-cloud", + "content_based_deduplication": false, + "deduplication_scope": "", + "delay_seconds": 0, + "fifo_queue": false, + "fifo_throughput_limit": "", + "id": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-scheduled-jobs-prod-cloud", + "kms_data_key_reuse_period_seconds": 300, + "kms_master_key_id": "", + "max_message_size": 262144, + "message_retention_seconds": 345600, + "name": "integreat-scheduled-jobs-prod-cloud", + "name_prefix": "", + "policy": "{\"Statement\":[{\"Action\":\"sqs:*\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::679918342773:role/datomic-ddb\"},\"Resource\":\"arn:aws:sqs:*:*:integreat-scheduled-jobs-prod-cloud\"}],\"Version\":\"2012-10-17\"}", + "receive_wait_time_seconds": 0, + "redrive_policy": "", + "sqs_managed_sse_enabled": false, + "tags": {}, + "tags_all": {}, + "url": "https://sqs.us-east-1.amazonaws.com/679918342773/integreat-scheduled-jobs-prod-cloud", + "visibility_timeout_seconds": 30 + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + } + ], + "check_results": null +}