skilldrop-cli 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/README.md +5 -5
  2. package/catalogue.json +4 -4
  3. package/model-routing.json +62 -70
  4. package/package.json +1 -1
  5. package/packs/ai-engineering/loops/adopt/LOOP.md +120 -0
  6. package/packs/ai-engineering/loops/adopt/evals/eval_queries.json +10 -0
  7. package/packs/ai-engineering/loops/adopt/evals/evals.json +69 -0
  8. package/packs/ai-engineering/loops/adopt/evals/files/adopt-first-wave-to-sign-off/ai-ideas.md +15 -0
  9. package/packs/ai-engineering/loops/adopt/evals/files/adopt-first-wave-to-sign-off/org-context.md +27 -0
  10. package/packs/ai-engineering/loops/adopt/evals/files/adopt-first-wave-to-sign-off/staff-survey.csv +11 -0
  11. package/packs/ai-engineering/loops/adopt/evals/files/adopt-sponsor-slice-blocked-by-client-data/ai-ideas.md +13 -0
  12. package/packs/ai-engineering/loops/adopt/evals/files/adopt-sponsor-slice-blocked-by-client-data/firm-context.md +23 -0
  13. package/packs/ai-engineering/loops/adopt/loop.json +53 -0
  14. package/packs/ai-engineering/loops/ship-agent/LOOP.md +128 -0
  15. package/packs/ai-engineering/loops/ship-agent/evals/eval_queries.json +10 -0
  16. package/packs/ai-engineering/loops/ship-agent/evals/evals.json +70 -0
  17. package/packs/ai-engineering/loops/ship-agent/evals/files/ship-agent-auto-reply-exfil-open/agent-brief.md +33 -0
  18. package/packs/ai-engineering/loops/ship-agent/evals/files/ship-agent-changelog-config-reopens-path/agent-brief.md +33 -0
  19. package/packs/ai-engineering/loops/ship-agent/evals/files/ship-agent-changelog-config-reopens-path/claude-settings.json +25 -0
  20. package/packs/ai-engineering/loops/ship-agent/evals/files/ship-agent-changelog-config-reopens-path/sample-merged-prs.md +30 -0
  21. package/packs/ai-engineering/loops/ship-agent/loop.json +53 -0
  22. package/packs/ai-engineering/skills/agent-adoption-stage/SKILL.md +0 -1
  23. package/packs/ai-engineering/skills/agent-adoption-stage/manifest.json +3 -4
  24. package/packs/ai-engineering/skills/ai-adoption-rollout/SKILL.md +0 -1
  25. package/packs/ai-engineering/skills/ai-adoption-rollout/manifest.json +3 -4
  26. package/packs/ai-engineering/skills/ai-readiness-assessment/SKILL.md +0 -1
  27. package/packs/ai-engineering/skills/ai-readiness-assessment/manifest.json +1 -2
  28. package/packs/ai-engineering/skills/ai-use-case-triage/manifest.json +3 -3
  29. package/packs/ai-engineering/skills/judge-audit/SKILL.md +1 -2
  30. package/packs/ai-engineering/skills/judge-audit/manifest.json +1 -2
  31. package/packs/ai-engineering/skills/llm-eval-harness/SKILL.md +1 -2
  32. package/packs/ai-engineering/skills/llm-eval-harness/manifest.json +3 -3
  33. package/packs/api-builder/skills/tool-use-schema-writer/manifest.json +2 -2
  34. package/packs/career/loops/apply/evals/evals.json +28 -0
  35. package/packs/career/loops/apply/evals/files/apply-candidate-decided-full-run/application-form.md +10 -0
  36. package/packs/career/loops/apply/evals/files/apply-candidate-decided-full-run/job-posting.md +33 -0
  37. package/packs/career/loops/apply/evals/files/apply-candidate-decided-full-run/resume.md +34 -0
  38. package/packs/career/loops/apply/evals/files/apply-fit-gate-hard-requirement/cv.md +27 -0
  39. package/packs/career/loops/apply/evals/files/apply-fit-gate-hard-requirement/warehouse-supervisor.md +30 -0
  40. package/packs/career/skills/application-form-answers/manifest.json +3 -3
  41. package/packs/career/skills/cover-letter/manifest.json +3 -3
  42. package/packs/career/skills/resume-tailor/manifest.json +3 -3
  43. package/packs/converters/skills/md-to-docx/manifest.json +3 -3
  44. package/packs/core/loops/ship-a-draft/evals/evals.json +28 -0
  45. package/packs/core/loops/ship-a-draft/evals/files/ship-a-draft-adr-from-thread/slack-thread.txt +47 -0
  46. package/packs/core/loops/ship-a-draft/evals/files/ship-a-draft-announcement-unsettled/ticket-PRD-412.md +44 -0
  47. package/packs/core/skills/output-hygiene/manifest.json +3 -3
  48. package/packs/data-analytics/loops/measure/evals/evals.json +30 -0
  49. package/packs/data-analytics/loops/measure/evals/files/measure-active-customers-dispute/schema.md +43 -0
  50. package/packs/data-analytics/loops/measure/evals/files/measure-active-customers-dispute/sql/finance_active_customers.sql +7 -0
  51. package/packs/data-analytics/loops/measure/evals/files/measure-active-customers-dispute/sql/growth_active_customers.sql +9 -0
  52. package/packs/data-analytics/loops/measure/evals/files/measure-active-customers-dispute/thread.md +30 -0
  53. package/packs/data-analytics/loops/measure/evals/files/measure-retention-dashboard/request.md +34 -0
  54. package/packs/data-analytics/loops/measure/evals/files/measure-retention-dashboard/schema.md +58 -0
  55. package/packs/data-analytics/loops/measure/evals/files/measure-retention-dashboard/sql/active_subscribers.sql +17 -0
  56. package/packs/data-analytics/loops/measure/evals/files/measure-retention-dashboard/sql/net_revenue_by_plan.sql +15 -0
  57. package/packs/data-analytics/loops/measure/evals/files/measure-retention-dashboard/sql/weekly_churn_rate.sql +34 -0
  58. package/packs/data-analytics/skills/dashboard-spec/SKILL.md +0 -1
  59. package/packs/data-analytics/skills/dashboard-spec/manifest.json +1 -2
  60. package/packs/design/skills/slide-outliner/manifest.json +2 -2
  61. package/packs/dev-team/loops/build/evals/evals.json +28 -0
  62. package/packs/dev-team/loops/build/evals/files/build-promo-codes/.github/workflows/ci.yml.fixture +19 -0
  63. package/packs/dev-team/loops/build/evals/files/build-promo-codes/cartcalc/__init__.py +4 -0
  64. package/packs/dev-team/loops/build/evals/files/build-promo-codes/cartcalc/pricing.py +47 -0
  65. package/packs/dev-team/loops/build/evals/files/build-promo-codes/pyproject.toml.fixture +9 -0
  66. package/packs/dev-team/loops/build/evals/files/build-promo-codes/story.md +61 -0
  67. package/packs/dev-team/loops/build/evals/files/build-promo-codes/tests/__init__.py +0 -0
  68. package/packs/dev-team/loops/build/evals/files/build-promo-codes/tests/test_pricing.py +49 -0
  69. package/packs/dev-team/loops/build/evals/files/build-rate-limiter-not-ready/.github/workflows/ci.yml.fixture +19 -0
  70. package/packs/dev-team/loops/build/evals/files/build-rate-limiter-not-ready/bug-report.md +25 -0
  71. package/packs/dev-team/loops/build/evals/files/build-rate-limiter-not-ready/pr-description.md +42 -0
  72. package/packs/dev-team/loops/build/evals/files/build-rate-limiter-not-ready/pyproject.toml.fixture +9 -0
  73. package/packs/dev-team/loops/build/evals/files/build-rate-limiter-not-ready/ratelimit/__init__.py +4 -0
  74. package/packs/dev-team/loops/build/evals/files/build-rate-limiter-not-ready/ratelimit/bucket.py +49 -0
  75. package/packs/dev-team/loops/build/evals/files/build-rate-limiter-not-ready/tests/__init__.py +0 -0
  76. package/packs/dev-team/loops/build/evals/files/build-rate-limiter-not-ready/tests/test_bucket.py +63 -0
  77. package/packs/dev-team/loops/modernize/evals/evals.json +30 -0
  78. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-batch-port/.github/workflows/ci.yml.fixture +11 -0
  79. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-batch-port/README.md +17 -0
  80. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-batch-port/docs/adr/0004-late-fee-calculation.md +25 -0
  81. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-batch-port/legacy/feecalc.py +74 -0
  82. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-batch-port/samples/accounts_2026-10.txt +10 -0
  83. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-batch-port/samples/accounts_edge.txt +11 -0
  84. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-batch-port/tests/test_feecalc_smoke.py +21 -0
  85. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/.github/workflows/ci.yml.fixture +11 -0
  86. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/PR-412.md +24 -0
  87. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/README.md +17 -0
  88. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/docs/adr/0004-late-fee-calculation.md +25 -0
  89. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/hartwell_fees/__init__.py +1 -0
  90. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/hartwell_fees/cli.py +33 -0
  91. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/hartwell_fees/extract.py +33 -0
  92. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/hartwell_fees/rules.py +39 -0
  93. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/legacy/feecalc.py +74 -0
  94. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/samples/accounts_2026-10.txt +10 -0
  95. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/samples/accounts_edge.txt +11 -0
  96. package/packs/dev-team/loops/modernize/evals/files/modernize-late-fee-rewrite-not-equivalent/tests/test_feecalc_smoke.py +21 -0
  97. package/packs/dev-team/loops/release/evals/eval_queries.json +10 -0
  98. package/packs/dev-team/loops/release/evals/evals.json +34 -0
  99. package/packs/dev-team/loops/release/evals/files/release-irreversible-tomorrow/0061_switch_to_haldrin_tokens.sql +22 -0
  100. package/packs/dev-team/loops/release/evals/files/release-irreversible-tomorrow/eng-notes.md +40 -0
  101. package/packs/dev-team/loops/release/evals/files/release-irreversible-tomorrow/merged-prs.md +13 -0
  102. package/packs/dev-team/loops/release/evals/files/release-saved-searches/merged-prs.md +13 -0
  103. package/packs/dev-team/loops/release/evals/files/release-saved-searches/readiness-evidence.md +27 -0
  104. package/packs/dev-team/loops/release/evals/files/release-saved-searches/traffic-baseline.md +23 -0
  105. package/packs/dev-team/skills/feature-implement-loop/manifest.json +2 -2
  106. package/packs/dev-team/skills/pr-description-writer/manifest.json +3 -3
  107. package/packs/dev-team/skills/pre-merge-review/manifest.json +2 -2
  108. package/packs/dev-team/skills/release-notes/manifest.json +2 -2
  109. package/packs/dev-team/skills/test-plan-generator/manifest.json +2 -2
  110. package/packs/experience-design/loops/clarify/LOOP.md +114 -0
  111. package/packs/experience-design/loops/clarify/evals/eval_queries.json +10 -0
  112. package/packs/experience-design/loops/clarify/evals/evals.json +68 -0
  113. package/packs/experience-design/loops/clarify/evals/files/clarify-garden-waste-no-complaint-data/form-fields.csv +12 -0
  114. package/packs/experience-design/loops/clarify/evals/files/clarify-garden-waste-no-complaint-data/garden-waste-page.md +29 -0
  115. package/packs/experience-design/loops/clarify/evals/files/clarify-parking-permit-with-call-data/backoffice-notes.md +14 -0
  116. package/packs/experience-design/loops/clarify/evals/files/clarify-parking-permit-with-call-data/calls-q3.csv +8 -0
  117. package/packs/experience-design/loops/clarify/evals/files/clarify-parking-permit-with-call-data/form-fields.csv +12 -0
  118. package/packs/experience-design/loops/clarify/evals/files/clarify-parking-permit-with-call-data/permit-page.md +27 -0
  119. package/packs/experience-design/loops/clarify/loop.json +35 -0
  120. package/packs/experience-design/skills/service-blueprint/manifest.json +3 -3
  121. package/packs/experience-design/skills/ux-writing/manifest.json +3 -3
  122. package/packs/grc/loops/comply/evals/evals.json +29 -0
  123. package/packs/grc/loops/comply/evals/files/comply-chat-vendor-launch/vendor-brief.md +72 -0
  124. package/packs/grc/loops/comply/evals/files/comply-loyalty-app-unowned-risks/launch-note.md +31 -0
  125. package/packs/grc/loops/comply/evals/files/comply-loyalty-app-unowned-risks/risk-register.csv +6 -0
  126. package/packs/infra-as-code/loops/provision/LOOP.md +128 -0
  127. package/packs/infra-as-code/loops/provision/evals/eval_queries.json +9 -0
  128. package/packs/infra-as-code/loops/provision/evals/evals.json +67 -0
  129. package/packs/infra-as-code/loops/provision/evals/files/provision-rds-no-plan-yet/.terraform.lock.hcl.fixture +24 -0
  130. package/packs/infra-as-code/loops/provision/evals/files/provision-rds-no-plan-yet/network.md +36 -0
  131. package/packs/infra-as-code/loops/provision/evals/files/provision-replica-plan-replaces-primary/main.tf +74 -0
  132. package/packs/infra-as-code/loops/provision/evals/files/provision-replica-plan-replaces-primary/plan.json +901 -0
  133. package/packs/infra-as-code/loops/provision/evals/files/provision-replica-plan-replaces-primary/variables.tf +47 -0
  134. package/packs/infra-as-code/loops/provision/loop.json +41 -0
  135. package/packs/infra-as-code/skills/terraform-module/manifest.json +3 -3
  136. package/packs/product-manager/loops/discover/evals/evals.json +28 -0
  137. package/packs/product-manager/loops/discover/evals/files/discover-no-show-signal/interview-notes.md +63 -0
  138. package/packs/product-manager/loops/discover/evals/files/discover-no-show-signal/support-tickets.csv +13 -0
  139. package/packs/product-manager/loops/discover/evals/files/discover-vp-loyalty-no-evidence/vp-message.txt +13 -0
  140. package/packs/product-manager/skills/user-journey-map/manifest.json +2 -2
  141. package/packs/research/loops/research/evals/evals.json +28 -0
  142. package/packs/research/loops/research/evals/files/research-ticket-spike-confounded/sources/t1-ticket-volume.md +15 -0
  143. package/packs/research/loops/research/evals/files/research-ticket-spike-confounded/sources/t2-release-notes-4-2.md +11 -0
  144. package/packs/research/loops/research/evals/files/research-ticket-spike-confounded/sources/t3-billing-migration.md +12 -0
  145. package/packs/research/loops/research/evals/files/research-ticket-spike-confounded/sources/t4-agent-poll.md +11 -0
  146. package/packs/research/loops/research/evals/files/research-ticket-spike-confounded/sources/t5-app-store-reviews.md +12 -0
  147. package/packs/research/loops/research/evals/files/research-trial-conversion-drop/sources/s1-analytics-export.md +29 -0
  148. package/packs/research/loops/research/evals/files/research-trial-conversion-drop/sources/s2-email-delivery-report.md +25 -0
  149. package/packs/research/loops/research/evals/files/research-trial-conversion-drop/sources/s3-pricing-changelog.md +9 -0
  150. package/packs/research/loops/research/evals/files/research-trial-conversion-drop/sources/s4-trial-interview-notes.md +21 -0
  151. package/packs/research/loops/research/evals/files/research-trial-conversion-drop/sources/s5-competitor-note.md +9 -0
  152. package/packs/research/loops/research/evals/files/research-trial-conversion-drop/sources/s6-weekly-growth-recap.md +7 -0
  153. package/packs/research/skills/research-plan/manifest.json +3 -3
  154. package/packs/research/skills/source-synthesis/manifest.json +3 -3
  155. package/packs/skill-engineering/skills/skill-author/manifest.json +3 -3
  156. package/packs/solution-architect/loops/design/evals/evals.json +28 -0
  157. package/packs/solution-architect/loops/design/evals/files/design-bulk-export/adr/0001-postgres-system-of-record.md +23 -0
  158. package/packs/solution-architect/loops/design/evals/files/design-bulk-export/adr/0002-background-work-via-job-queue.md +23 -0
  159. package/packs/solution-architect/loops/design/evals/files/design-bulk-export/adr/0003-tenant-isolation-row-level.md +25 -0
  160. package/packs/solution-architect/loops/design/evals/files/design-bulk-export/prd-bulk-export.md +50 -0
  161. package/packs/solution-architect/loops/design/evals/files/design-draft-prd-webhooks/adr/0002-background-work-via-job-queue.md +23 -0
  162. package/packs/solution-architect/loops/design/evals/files/design-draft-prd-webhooks/adr/0004-new-stateful-infra-needs-platform-signoff.md +22 -0
  163. package/packs/solution-architect/loops/design/evals/files/design-draft-prd-webhooks/prd-partner-webhooks.md +36 -0
  164. package/packs/solution-architect/skills/api-contract-draft/manifest.json +3 -3
  165. package/packs/solution-architect/skills/architecture-diagrams/manifest.json +3 -3
  166. package/packs/solution-architect/skills/design-doc/manifest.json +2 -2
  167. package/packs/solution-architect/skills/figma-diagrams/manifest.json +3 -3
  168. package/packs/sre-oncall/loops/operate/evals/evals.json +28 -0
  169. package/packs/sre-oncall/loops/operate/evals/files/operate-export-service-first-outage/alerts.log +22 -0
  170. package/packs/sre-oncall/loops/operate/evals/files/operate-export-service-first-outage/incident-chat.txt +27 -0
  171. package/packs/sre-oncall/loops/operate/evals/files/operate-export-service-first-outage/service-notes.md +46 -0
  172. package/packs/sre-oncall/loops/operate/evals/files/operate-incident-still-open/oncall-log.txt +17 -0
  173. package/packs/sre-oncall/loops/operate/evals/files/operate-incident-still-open/runbook-webhooks.md +38 -0
  174. package/packs/sre-oncall/skills/cloud-cost-review/SKILL.md +0 -1
  175. package/packs/sre-oncall/skills/cloud-cost-review/manifest.json +1 -2
  176. package/packs/sre-oncall/skills/delivery-metrics-report/SKILL.md +0 -1
  177. package/packs/sre-oncall/skills/delivery-metrics-report/manifest.json +1 -2
  178. package/packs/sre-oncall/skills/incident-comms/manifest.json +2 -2
  179. package/packs/sre-oncall/skills/postmortem-generator/manifest.json +2 -2
  180. package/packs/stakeholder-comms/skills/decision-log/manifest.json +2 -2
  181. package/packs/trackers/skills/team-status-report/manifest.json +3 -3
  182. package/packs/ai-engineering/skills/ai-usage-report/SKILL.md +0 -111
  183. package/packs/ai-engineering/skills/ai-usage-report/evals/eval_queries.json +0 -30
  184. package/packs/ai-engineering/skills/ai-usage-report/evals/evals.json +0 -46
  185. package/packs/ai-engineering/skills/ai-usage-report/evals/files/1/northwind-ai-events.csv +0 -4213
  186. package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/draftwell-events.csv +0 -249
  187. package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/export-note.md +0 -9
  188. package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/published-assets.csv +0 -44
  189. package/packs/ai-engineering/skills/ai-usage-report/evals/files/2/team-roster.md +0 -10
  190. package/packs/ai-engineering/skills/ai-usage-report/examples/weekly-engineering-team.md +0 -133
  191. package/packs/ai-engineering/skills/ai-usage-report/manifest.json +0 -12
  192. package/packs/ai-engineering/skills/ai-usage-report/scripts/build_report.py +0 -453
  193. package/packs/ai-engineering/skills/ai-usage-report/templates/report-per-user.md +0 -42
  194. package/packs/ai-engineering/skills/ai-usage-report/templates/report-team-rollup.md +0 -49
  195. package/packs/ai-engineering/skills/ai-usage-report/templates/usage-event-schema.md +0 -76
  196. package/packs/product-manager/skills/lean-canvas/SKILL.md +0 -162
  197. package/packs/product-manager/skills/lean-canvas/evals/eval_queries.json +0 -42
  198. package/packs/product-manager/skills/lean-canvas/evals/evals.json +0 -82
  199. package/packs/product-manager/skills/lean-canvas/evals/files/1/pawpass-notes.md +0 -54
  200. package/packs/product-manager/skills/lean-canvas/evals/files/3/lunchloop-pitch.md +0 -30
  201. package/packs/product-manager/skills/lean-canvas/evals/files/4/clubkit-notes.md +0 -44
  202. package/packs/product-manager/skills/lean-canvas/evals/files/5/cost-model.csv +0 -5
  203. package/packs/product-manager/skills/lean-canvas/evals/files/5/proposal.md +0 -40
  204. package/packs/product-manager/skills/lean-canvas/evals/files/5/stakeholder-emails.txt +0 -18
  205. package/packs/product-manager/skills/lean-canvas/examples/bike-repair.md +0 -72
  206. package/packs/product-manager/skills/lean-canvas/manifest.json +0 -34
  207. package/packs/product-manager/skills/lean-canvas/reference.md +0 -102
  208. package/packs/product-manager/skills/lean-canvas/scripts/unit_economics.py +0 -211
@@ -0,0 +1,901 @@
1
+ {
2
+ "format_version": "1.2",
3
+ "terraform_version": "1.9.5",
4
+ "variables": {
5
+ "environment": {
6
+ "value": "prod"
7
+ }
8
+ },
9
+ "planned_values": {
10
+ "root_module": {
11
+ "child_modules": [
12
+ {
13
+ "address": "module.orders_db",
14
+ "resources": [
15
+ {
16
+ "address": "module.orders_db.aws_db_instance.primary",
17
+ "mode": "managed",
18
+ "type": "aws_db_instance",
19
+ "name": "primary",
20
+ "provider_name": "registry.terraform.io/hashicorp/aws",
21
+ "schema_version": 0,
22
+ "values": {
23
+ "identifier": "orders-prod-primary",
24
+ "engine": "postgres",
25
+ "engine_version": "16.4",
26
+ "instance_class": "db.r7g.xlarge",
27
+ "allocated_storage": 200,
28
+ "storage_type": "gp3",
29
+ "storage_encrypted": true,
30
+ "kms_key_id": "arn:aws:kms:eu-west-2:210987654398:key/7f3c2a1e-9b84-4d6e-a1f0-3c5b7d9e2a64",
31
+ "db_subnet_group_name": "orders-prod-db",
32
+ "vpc_security_group_ids": [
33
+ "sg-0e7d6c5b4a3928170"
34
+ ],
35
+ "publicly_accessible": false,
36
+ "username": "orders_admin",
37
+ "manage_master_user_password": true,
38
+ "backup_retention_period": 14,
39
+ "multi_az": true,
40
+ "deletion_protection": false,
41
+ "skip_final_snapshot": true,
42
+ "final_snapshot_identifier": null,
43
+ "address": null,
44
+ "arn": null,
45
+ "id": null,
46
+ "replicate_source_db": "",
47
+ "tags": {
48
+ "Environment": "prod",
49
+ "Owner": "team-orders",
50
+ "CostCentre": "CC-3120",
51
+ "Service": "orders",
52
+ "ManagedBy": "terraform"
53
+ },
54
+ "tags_all": {
55
+ "Environment": "prod",
56
+ "Owner": "team-orders",
57
+ "CostCentre": "CC-3120",
58
+ "Service": "orders",
59
+ "ManagedBy": "terraform"
60
+ }
61
+ },
62
+ "sensitive_values": {}
63
+ },
64
+ {
65
+ "address": "module.orders_db.aws_db_instance.replica",
66
+ "mode": "managed",
67
+ "type": "aws_db_instance",
68
+ "name": "replica",
69
+ "provider_name": "registry.terraform.io/hashicorp/aws",
70
+ "schema_version": 0,
71
+ "values": {
72
+ "identifier": "orders-prod-replica",
73
+ "replicate_source_db": "orders-prod-primary",
74
+ "instance_class": "db.r7g.large",
75
+ "storage_encrypted": true,
76
+ "kms_key_id": "arn:aws:kms:eu-west-2:210987654398:key/7f3c2a1e-9b84-4d6e-a1f0-3c5b7d9e2a64",
77
+ "vpc_security_group_ids": [
78
+ "sg-0e7d6c5b4a3928170"
79
+ ],
80
+ "publicly_accessible": false,
81
+ "skip_final_snapshot": true,
82
+ "deletion_protection": false,
83
+ "tags": {
84
+ "Environment": "prod",
85
+ "Owner": "team-orders",
86
+ "CostCentre": "CC-3120",
87
+ "Service": "orders",
88
+ "ManagedBy": "terraform",
89
+ "Role": "reporting-replica"
90
+ },
91
+ "tags_all": {
92
+ "Environment": "prod",
93
+ "Owner": "team-orders",
94
+ "CostCentre": "CC-3120",
95
+ "Service": "orders",
96
+ "ManagedBy": "terraform",
97
+ "Role": "reporting-replica"
98
+ },
99
+ "address": null,
100
+ "arn": null,
101
+ "id": null
102
+ },
103
+ "sensitive_values": {}
104
+ },
105
+ {
106
+ "address": "module.orders_db.aws_db_subnet_group.orders",
107
+ "mode": "managed",
108
+ "type": "aws_db_subnet_group",
109
+ "name": "orders",
110
+ "provider_name": "registry.terraform.io/hashicorp/aws",
111
+ "schema_version": 0,
112
+ "values": {
113
+ "name": "orders-prod-db",
114
+ "subnet_ids": [
115
+ "subnet-0d41e2f3a4b5c6d78",
116
+ "subnet-0e52f3a4b5c6d7e89",
117
+ "subnet-0f63a4b5c6d7e8f9a"
118
+ ],
119
+ "tags": {
120
+ "Environment": "prod",
121
+ "Owner": "team-orders",
122
+ "CostCentre": "CC-3120",
123
+ "Service": "orders",
124
+ "ManagedBy": "terraform"
125
+ },
126
+ "tags_all": {
127
+ "Environment": "prod",
128
+ "Owner": "team-orders",
129
+ "CostCentre": "CC-3120",
130
+ "Service": "orders",
131
+ "ManagedBy": "terraform"
132
+ },
133
+ "id": "orders-prod-db"
134
+ },
135
+ "sensitive_values": {}
136
+ },
137
+ {
138
+ "address": "module.orders_db.aws_s3_bucket.exports",
139
+ "mode": "managed",
140
+ "type": "aws_s3_bucket",
141
+ "name": "exports",
142
+ "provider_name": "registry.terraform.io/hashicorp/aws",
143
+ "schema_version": 0,
144
+ "values": {
145
+ "bucket": "orders-prod-exports",
146
+ "id": "orders-prod-exports",
147
+ "tags": {
148
+ "Environment": "prod",
149
+ "Owner": "team-orders",
150
+ "CostCentre": "CC-3120",
151
+ "Service": "orders",
152
+ "ManagedBy": "terraform"
153
+ },
154
+ "tags_all": {
155
+ "Environment": "prod",
156
+ "Owner": "team-orders",
157
+ "CostCentre": "CC-3120",
158
+ "Service": "orders",
159
+ "ManagedBy": "terraform"
160
+ },
161
+ "arn": "arn:aws:s3:::orders-prod-exports"
162
+ },
163
+ "sensitive_values": {}
164
+ },
165
+ {
166
+ "address": "module.orders_db.aws_security_group.db",
167
+ "mode": "managed",
168
+ "type": "aws_security_group",
169
+ "name": "db",
170
+ "provider_name": "registry.terraform.io/hashicorp/aws",
171
+ "schema_version": 0,
172
+ "values": {
173
+ "name": "orders-prod-db",
174
+ "description": "Orders database",
175
+ "vpc_id": "vpc-0b8e7f6a5d4c3b2a1",
176
+ "id": "sg-0e7d6c5b4a3928170",
177
+ "tags": {
178
+ "Environment": "prod",
179
+ "Owner": "team-orders",
180
+ "CostCentre": "CC-3120",
181
+ "Service": "orders",
182
+ "ManagedBy": "terraform"
183
+ },
184
+ "tags_all": {
185
+ "Environment": "prod",
186
+ "Owner": "team-orders",
187
+ "CostCentre": "CC-3120",
188
+ "Service": "orders",
189
+ "ManagedBy": "terraform"
190
+ }
191
+ },
192
+ "sensitive_values": {}
193
+ },
194
+ {
195
+ "address": "module.orders_db.aws_security_group_rule.db_ingress",
196
+ "mode": "managed",
197
+ "type": "aws_security_group_rule",
198
+ "name": "db_ingress",
199
+ "provider_name": "registry.terraform.io/hashicorp/aws",
200
+ "schema_version": 0,
201
+ "values": {
202
+ "type": "ingress",
203
+ "security_group_id": "sg-0e7d6c5b4a3928170",
204
+ "from_port": 5432,
205
+ "to_port": 5432,
206
+ "protocol": "tcp",
207
+ "cidr_blocks": [
208
+ "0.0.0.0/0"
209
+ ],
210
+ "ipv6_cidr_blocks": null,
211
+ "description": "Postgres",
212
+ "id": null,
213
+ "self": false,
214
+ "source_security_group_id": null
215
+ },
216
+ "sensitive_values": {}
217
+ }
218
+ ]
219
+ }
220
+ ]
221
+ }
222
+ },
223
+ "resource_changes": [
224
+ {
225
+ "address": "module.orders_db.aws_db_instance.primary",
226
+ "module_address": "module.orders_db",
227
+ "mode": "managed",
228
+ "type": "aws_db_instance",
229
+ "name": "primary",
230
+ "provider_name": "registry.terraform.io/hashicorp/aws",
231
+ "change": {
232
+ "actions": [
233
+ "delete",
234
+ "create"
235
+ ],
236
+ "before": {
237
+ "identifier": "orders-prod",
238
+ "engine": "postgres",
239
+ "engine_version": "16.4",
240
+ "instance_class": "db.r7g.xlarge",
241
+ "allocated_storage": 200,
242
+ "storage_type": "gp3",
243
+ "storage_encrypted": true,
244
+ "kms_key_id": "arn:aws:kms:eu-west-2:210987654398:key/7f3c2a1e-9b84-4d6e-a1f0-3c5b7d9e2a64",
245
+ "db_subnet_group_name": "orders-prod-db",
246
+ "vpc_security_group_ids": [
247
+ "sg-0e7d6c5b4a3928170"
248
+ ],
249
+ "publicly_accessible": false,
250
+ "username": "orders_admin",
251
+ "manage_master_user_password": true,
252
+ "backup_retention_period": 14,
253
+ "multi_az": true,
254
+ "deletion_protection": false,
255
+ "skip_final_snapshot": true,
256
+ "final_snapshot_identifier": null,
257
+ "address": "orders-prod.c9x2k4m7q1ab.eu-west-2.rds.example",
258
+ "arn": "arn:aws:rds:eu-west-2:210987654398:db:orders-prod",
259
+ "id": "db-4K7QX2M9PL3ZB8WD1TNC6RYAEH",
260
+ "replicate_source_db": "",
261
+ "tags": {
262
+ "Environment": "prod",
263
+ "Owner": "team-orders",
264
+ "CostCentre": "CC-3120",
265
+ "Service": "orders",
266
+ "ManagedBy": "terraform"
267
+ },
268
+ "tags_all": {
269
+ "Environment": "prod",
270
+ "Owner": "team-orders",
271
+ "CostCentre": "CC-3120",
272
+ "Service": "orders",
273
+ "ManagedBy": "terraform"
274
+ }
275
+ },
276
+ "after": {
277
+ "identifier": "orders-prod-primary",
278
+ "engine": "postgres",
279
+ "engine_version": "16.4",
280
+ "instance_class": "db.r7g.xlarge",
281
+ "allocated_storage": 200,
282
+ "storage_type": "gp3",
283
+ "storage_encrypted": true,
284
+ "kms_key_id": "arn:aws:kms:eu-west-2:210987654398:key/7f3c2a1e-9b84-4d6e-a1f0-3c5b7d9e2a64",
285
+ "db_subnet_group_name": "orders-prod-db",
286
+ "vpc_security_group_ids": [
287
+ "sg-0e7d6c5b4a3928170"
288
+ ],
289
+ "publicly_accessible": false,
290
+ "username": "orders_admin",
291
+ "manage_master_user_password": true,
292
+ "backup_retention_period": 14,
293
+ "multi_az": true,
294
+ "deletion_protection": false,
295
+ "skip_final_snapshot": true,
296
+ "final_snapshot_identifier": null,
297
+ "address": null,
298
+ "arn": null,
299
+ "id": null,
300
+ "replicate_source_db": "",
301
+ "tags": {
302
+ "Environment": "prod",
303
+ "Owner": "team-orders",
304
+ "CostCentre": "CC-3120",
305
+ "Service": "orders",
306
+ "ManagedBy": "terraform"
307
+ },
308
+ "tags_all": {
309
+ "Environment": "prod",
310
+ "Owner": "team-orders",
311
+ "CostCentre": "CC-3120",
312
+ "Service": "orders",
313
+ "ManagedBy": "terraform"
314
+ }
315
+ },
316
+ "after_unknown": {
317
+ "address": true,
318
+ "arn": true,
319
+ "id": true,
320
+ "endpoint": true,
321
+ "master_user_secret": true
322
+ },
323
+ "before_sensitive": {},
324
+ "after_sensitive": {},
325
+ "replace_paths": [
326
+ [
327
+ "identifier"
328
+ ]
329
+ ]
330
+ },
331
+ "action_reason": "replace_because_cannot_update"
332
+ },
333
+ {
334
+ "address": "module.orders_db.aws_db_instance.replica",
335
+ "module_address": "module.orders_db",
336
+ "mode": "managed",
337
+ "type": "aws_db_instance",
338
+ "name": "replica",
339
+ "provider_name": "registry.terraform.io/hashicorp/aws",
340
+ "change": {
341
+ "actions": [
342
+ "create"
343
+ ],
344
+ "before": null,
345
+ "after": {
346
+ "identifier": "orders-prod-replica",
347
+ "replicate_source_db": "orders-prod-primary",
348
+ "instance_class": "db.r7g.large",
349
+ "storage_encrypted": true,
350
+ "kms_key_id": "arn:aws:kms:eu-west-2:210987654398:key/7f3c2a1e-9b84-4d6e-a1f0-3c5b7d9e2a64",
351
+ "vpc_security_group_ids": [
352
+ "sg-0e7d6c5b4a3928170"
353
+ ],
354
+ "publicly_accessible": false,
355
+ "skip_final_snapshot": true,
356
+ "deletion_protection": false,
357
+ "tags": {
358
+ "Environment": "prod",
359
+ "Owner": "team-orders",
360
+ "CostCentre": "CC-3120",
361
+ "Service": "orders",
362
+ "ManagedBy": "terraform",
363
+ "Role": "reporting-replica"
364
+ },
365
+ "tags_all": {
366
+ "Environment": "prod",
367
+ "Owner": "team-orders",
368
+ "CostCentre": "CC-3120",
369
+ "Service": "orders",
370
+ "ManagedBy": "terraform",
371
+ "Role": "reporting-replica"
372
+ },
373
+ "address": null,
374
+ "arn": null,
375
+ "id": null
376
+ },
377
+ "after_unknown": {
378
+ "address": true,
379
+ "arn": true,
380
+ "id": true,
381
+ "endpoint": true
382
+ },
383
+ "before_sensitive": {},
384
+ "after_sensitive": {}
385
+ }
386
+ },
387
+ {
388
+ "address": "module.orders_db.aws_db_subnet_group.orders",
389
+ "module_address": "module.orders_db",
390
+ "mode": "managed",
391
+ "type": "aws_db_subnet_group",
392
+ "name": "orders",
393
+ "provider_name": "registry.terraform.io/hashicorp/aws",
394
+ "change": {
395
+ "actions": [
396
+ "no-op"
397
+ ],
398
+ "before": {
399
+ "name": "orders-prod-db",
400
+ "subnet_ids": [
401
+ "subnet-0d41e2f3a4b5c6d78",
402
+ "subnet-0e52f3a4b5c6d7e89",
403
+ "subnet-0f63a4b5c6d7e8f9a"
404
+ ],
405
+ "tags": {
406
+ "Environment": "prod",
407
+ "Owner": "team-orders",
408
+ "CostCentre": "CC-3120",
409
+ "Service": "orders",
410
+ "ManagedBy": "terraform"
411
+ },
412
+ "tags_all": {
413
+ "Environment": "prod",
414
+ "Owner": "team-orders",
415
+ "CostCentre": "CC-3120",
416
+ "Service": "orders",
417
+ "ManagedBy": "terraform"
418
+ },
419
+ "id": "orders-prod-db"
420
+ },
421
+ "after": {
422
+ "name": "orders-prod-db",
423
+ "subnet_ids": [
424
+ "subnet-0d41e2f3a4b5c6d78",
425
+ "subnet-0e52f3a4b5c6d7e89",
426
+ "subnet-0f63a4b5c6d7e8f9a"
427
+ ],
428
+ "tags": {
429
+ "Environment": "prod",
430
+ "Owner": "team-orders",
431
+ "CostCentre": "CC-3120",
432
+ "Service": "orders",
433
+ "ManagedBy": "terraform"
434
+ },
435
+ "tags_all": {
436
+ "Environment": "prod",
437
+ "Owner": "team-orders",
438
+ "CostCentre": "CC-3120",
439
+ "Service": "orders",
440
+ "ManagedBy": "terraform"
441
+ },
442
+ "id": "orders-prod-db"
443
+ },
444
+ "after_unknown": {},
445
+ "before_sensitive": {},
446
+ "after_sensitive": {}
447
+ }
448
+ },
449
+ {
450
+ "address": "module.orders_db.aws_s3_bucket.exports",
451
+ "module_address": "module.orders_db",
452
+ "mode": "managed",
453
+ "type": "aws_s3_bucket",
454
+ "name": "exports",
455
+ "provider_name": "registry.terraform.io/hashicorp/aws",
456
+ "change": {
457
+ "actions": [
458
+ "no-op"
459
+ ],
460
+ "before": {
461
+ "bucket": "orders-prod-exports",
462
+ "id": "orders-prod-exports",
463
+ "tags": {
464
+ "Environment": "prod",
465
+ "Owner": "team-orders",
466
+ "CostCentre": "CC-3120",
467
+ "Service": "orders",
468
+ "ManagedBy": "terraform"
469
+ },
470
+ "tags_all": {
471
+ "Environment": "prod",
472
+ "Owner": "team-orders",
473
+ "CostCentre": "CC-3120",
474
+ "Service": "orders",
475
+ "ManagedBy": "terraform"
476
+ },
477
+ "arn": "arn:aws:s3:::orders-prod-exports"
478
+ },
479
+ "after": {
480
+ "bucket": "orders-prod-exports",
481
+ "id": "orders-prod-exports",
482
+ "tags": {
483
+ "Environment": "prod",
484
+ "Owner": "team-orders",
485
+ "CostCentre": "CC-3120",
486
+ "Service": "orders",
487
+ "ManagedBy": "terraform"
488
+ },
489
+ "tags_all": {
490
+ "Environment": "prod",
491
+ "Owner": "team-orders",
492
+ "CostCentre": "CC-3120",
493
+ "Service": "orders",
494
+ "ManagedBy": "terraform"
495
+ },
496
+ "arn": "arn:aws:s3:::orders-prod-exports"
497
+ },
498
+ "after_unknown": {},
499
+ "before_sensitive": {},
500
+ "after_sensitive": {}
501
+ }
502
+ },
503
+ {
504
+ "address": "module.orders_db.aws_s3_bucket_lifecycle_configuration.exports",
505
+ "module_address": "module.orders_db",
506
+ "mode": "managed",
507
+ "type": "aws_s3_bucket_lifecycle_configuration",
508
+ "name": "exports",
509
+ "provider_name": "registry.terraform.io/hashicorp/aws",
510
+ "change": {
511
+ "actions": [
512
+ "delete"
513
+ ],
514
+ "before": {
515
+ "bucket": "orders-prod-exports",
516
+ "id": "orders-prod-exports",
517
+ "expected_bucket_owner": "",
518
+ "rule": [
519
+ {
520
+ "id": "expire-exports-90d",
521
+ "status": "Enabled",
522
+ "expiration": [
523
+ {
524
+ "days": 90,
525
+ "date": null,
526
+ "expired_object_delete_marker": false
527
+ }
528
+ ],
529
+ "filter": [
530
+ {
531
+ "prefix": "exports/"
532
+ }
533
+ ]
534
+ }
535
+ ]
536
+ },
537
+ "after": null,
538
+ "after_unknown": {},
539
+ "before_sensitive": {},
540
+ "after_sensitive": {}
541
+ },
542
+ "action_reason": "delete_because_no_resource_config"
543
+ },
544
+ {
545
+ "address": "module.orders_db.aws_security_group.db",
546
+ "module_address": "module.orders_db",
547
+ "mode": "managed",
548
+ "type": "aws_security_group",
549
+ "name": "db",
550
+ "provider_name": "registry.terraform.io/hashicorp/aws",
551
+ "change": {
552
+ "actions": [
553
+ "no-op"
554
+ ],
555
+ "before": {
556
+ "name": "orders-prod-db",
557
+ "description": "Orders database",
558
+ "vpc_id": "vpc-0b8e7f6a5d4c3b2a1",
559
+ "id": "sg-0e7d6c5b4a3928170",
560
+ "tags": {
561
+ "Environment": "prod",
562
+ "Owner": "team-orders",
563
+ "CostCentre": "CC-3120",
564
+ "Service": "orders",
565
+ "ManagedBy": "terraform"
566
+ },
567
+ "tags_all": {
568
+ "Environment": "prod",
569
+ "Owner": "team-orders",
570
+ "CostCentre": "CC-3120",
571
+ "Service": "orders",
572
+ "ManagedBy": "terraform"
573
+ }
574
+ },
575
+ "after": {
576
+ "name": "orders-prod-db",
577
+ "description": "Orders database",
578
+ "vpc_id": "vpc-0b8e7f6a5d4c3b2a1",
579
+ "id": "sg-0e7d6c5b4a3928170",
580
+ "tags": {
581
+ "Environment": "prod",
582
+ "Owner": "team-orders",
583
+ "CostCentre": "CC-3120",
584
+ "Service": "orders",
585
+ "ManagedBy": "terraform"
586
+ },
587
+ "tags_all": {
588
+ "Environment": "prod",
589
+ "Owner": "team-orders",
590
+ "CostCentre": "CC-3120",
591
+ "Service": "orders",
592
+ "ManagedBy": "terraform"
593
+ }
594
+ },
595
+ "after_unknown": {},
596
+ "before_sensitive": {},
597
+ "after_sensitive": {}
598
+ }
599
+ },
600
+ {
601
+ "address": "module.orders_db.aws_security_group_rule.db_ingress",
602
+ "module_address": "module.orders_db",
603
+ "mode": "managed",
604
+ "type": "aws_security_group_rule",
605
+ "name": "db_ingress",
606
+ "provider_name": "registry.terraform.io/hashicorp/aws",
607
+ "change": {
608
+ "actions": [
609
+ "delete",
610
+ "create"
611
+ ],
612
+ "before": {
613
+ "type": "ingress",
614
+ "security_group_id": "sg-0e7d6c5b4a3928170",
615
+ "from_port": 5432,
616
+ "to_port": 5432,
617
+ "protocol": "tcp",
618
+ "cidr_blocks": [
619
+ "10.40.0.0/16"
620
+ ],
621
+ "ipv6_cidr_blocks": null,
622
+ "description": "Postgres from VPC",
623
+ "id": "sgrule-2208476153",
624
+ "self": false,
625
+ "source_security_group_id": null
626
+ },
627
+ "after": {
628
+ "type": "ingress",
629
+ "security_group_id": "sg-0e7d6c5b4a3928170",
630
+ "from_port": 5432,
631
+ "to_port": 5432,
632
+ "protocol": "tcp",
633
+ "cidr_blocks": [
634
+ "0.0.0.0/0"
635
+ ],
636
+ "ipv6_cidr_blocks": null,
637
+ "description": "Postgres",
638
+ "id": null,
639
+ "self": false,
640
+ "source_security_group_id": null
641
+ },
642
+ "after_unknown": {
643
+ "id": true
644
+ },
645
+ "before_sensitive": {},
646
+ "after_sensitive": {},
647
+ "replace_paths": [
648
+ [
649
+ "cidr_blocks"
650
+ ]
651
+ ]
652
+ },
653
+ "action_reason": "replace_because_cannot_update"
654
+ }
655
+ ],
656
+ "prior_state": {
657
+ "format_version": "1.0",
658
+ "terraform_version": "1.9.5",
659
+ "values": {
660
+ "root_module": {
661
+ "child_modules": [
662
+ {
663
+ "address": "module.orders_db",
664
+ "resources": [
665
+ {
666
+ "address": "module.orders_db.aws_db_instance.primary",
667
+ "mode": "managed",
668
+ "type": "aws_db_instance",
669
+ "name": "primary",
670
+ "provider_name": "registry.terraform.io/hashicorp/aws",
671
+ "schema_version": 0,
672
+ "values": {
673
+ "identifier": "orders-prod",
674
+ "engine": "postgres",
675
+ "engine_version": "16.4",
676
+ "instance_class": "db.r7g.xlarge",
677
+ "allocated_storage": 200,
678
+ "storage_type": "gp3",
679
+ "storage_encrypted": true,
680
+ "kms_key_id": "arn:aws:kms:eu-west-2:210987654398:key/7f3c2a1e-9b84-4d6e-a1f0-3c5b7d9e2a64",
681
+ "db_subnet_group_name": "orders-prod-db",
682
+ "vpc_security_group_ids": [
683
+ "sg-0e7d6c5b4a3928170"
684
+ ],
685
+ "publicly_accessible": false,
686
+ "username": "orders_admin",
687
+ "manage_master_user_password": true,
688
+ "backup_retention_period": 14,
689
+ "multi_az": true,
690
+ "deletion_protection": false,
691
+ "skip_final_snapshot": true,
692
+ "final_snapshot_identifier": null,
693
+ "address": "orders-prod.c9x2k4m7q1ab.eu-west-2.rds.example",
694
+ "arn": "arn:aws:rds:eu-west-2:210987654398:db:orders-prod",
695
+ "id": "db-4K7QX2M9PL3ZB8WD1TNC6RYAEH",
696
+ "replicate_source_db": "",
697
+ "tags": {
698
+ "Environment": "prod",
699
+ "Owner": "team-orders",
700
+ "CostCentre": "CC-3120",
701
+ "Service": "orders",
702
+ "ManagedBy": "terraform"
703
+ },
704
+ "tags_all": {
705
+ "Environment": "prod",
706
+ "Owner": "team-orders",
707
+ "CostCentre": "CC-3120",
708
+ "Service": "orders",
709
+ "ManagedBy": "terraform"
710
+ }
711
+ }
712
+ },
713
+ {
714
+ "address": "module.orders_db.aws_db_subnet_group.orders",
715
+ "mode": "managed",
716
+ "type": "aws_db_subnet_group",
717
+ "name": "orders",
718
+ "provider_name": "registry.terraform.io/hashicorp/aws",
719
+ "schema_version": 0,
720
+ "values": {
721
+ "name": "orders-prod-db",
722
+ "subnet_ids": [
723
+ "subnet-0d41e2f3a4b5c6d78",
724
+ "subnet-0e52f3a4b5c6d7e89",
725
+ "subnet-0f63a4b5c6d7e8f9a"
726
+ ],
727
+ "tags": {
728
+ "Environment": "prod",
729
+ "Owner": "team-orders",
730
+ "CostCentre": "CC-3120",
731
+ "Service": "orders",
732
+ "ManagedBy": "terraform"
733
+ },
734
+ "tags_all": {
735
+ "Environment": "prod",
736
+ "Owner": "team-orders",
737
+ "CostCentre": "CC-3120",
738
+ "Service": "orders",
739
+ "ManagedBy": "terraform"
740
+ },
741
+ "id": "orders-prod-db"
742
+ }
743
+ },
744
+ {
745
+ "address": "module.orders_db.aws_s3_bucket.exports",
746
+ "mode": "managed",
747
+ "type": "aws_s3_bucket",
748
+ "name": "exports",
749
+ "provider_name": "registry.terraform.io/hashicorp/aws",
750
+ "schema_version": 0,
751
+ "values": {
752
+ "bucket": "orders-prod-exports",
753
+ "id": "orders-prod-exports",
754
+ "tags": {
755
+ "Environment": "prod",
756
+ "Owner": "team-orders",
757
+ "CostCentre": "CC-3120",
758
+ "Service": "orders",
759
+ "ManagedBy": "terraform"
760
+ },
761
+ "tags_all": {
762
+ "Environment": "prod",
763
+ "Owner": "team-orders",
764
+ "CostCentre": "CC-3120",
765
+ "Service": "orders",
766
+ "ManagedBy": "terraform"
767
+ },
768
+ "arn": "arn:aws:s3:::orders-prod-exports"
769
+ }
770
+ },
771
+ {
772
+ "address": "module.orders_db.aws_s3_bucket_lifecycle_configuration.exports",
773
+ "mode": "managed",
774
+ "type": "aws_s3_bucket_lifecycle_configuration",
775
+ "name": "exports",
776
+ "provider_name": "registry.terraform.io/hashicorp/aws",
777
+ "schema_version": 0,
778
+ "values": {
779
+ "bucket": "orders-prod-exports",
780
+ "id": "orders-prod-exports",
781
+ "expected_bucket_owner": "",
782
+ "rule": [
783
+ {
784
+ "id": "expire-exports-90d",
785
+ "status": "Enabled",
786
+ "expiration": [
787
+ {
788
+ "days": 90,
789
+ "date": null,
790
+ "expired_object_delete_marker": false
791
+ }
792
+ ],
793
+ "filter": [
794
+ {
795
+ "prefix": "exports/"
796
+ }
797
+ ]
798
+ }
799
+ ]
800
+ }
801
+ },
802
+ {
803
+ "address": "module.orders_db.aws_security_group.db",
804
+ "mode": "managed",
805
+ "type": "aws_security_group",
806
+ "name": "db",
807
+ "provider_name": "registry.terraform.io/hashicorp/aws",
808
+ "schema_version": 0,
809
+ "values": {
810
+ "name": "orders-prod-db",
811
+ "description": "Orders database",
812
+ "vpc_id": "vpc-0b8e7f6a5d4c3b2a1",
813
+ "id": "sg-0e7d6c5b4a3928170",
814
+ "tags": {
815
+ "Environment": "prod",
816
+ "Owner": "team-orders",
817
+ "CostCentre": "CC-3120",
818
+ "Service": "orders",
819
+ "ManagedBy": "terraform"
820
+ },
821
+ "tags_all": {
822
+ "Environment": "prod",
823
+ "Owner": "team-orders",
824
+ "CostCentre": "CC-3120",
825
+ "Service": "orders",
826
+ "ManagedBy": "terraform"
827
+ }
828
+ }
829
+ },
830
+ {
831
+ "address": "module.orders_db.aws_security_group_rule.db_ingress",
832
+ "mode": "managed",
833
+ "type": "aws_security_group_rule",
834
+ "name": "db_ingress",
835
+ "provider_name": "registry.terraform.io/hashicorp/aws",
836
+ "schema_version": 0,
837
+ "values": {
838
+ "type": "ingress",
839
+ "security_group_id": "sg-0e7d6c5b4a3928170",
840
+ "from_port": 5432,
841
+ "to_port": 5432,
842
+ "protocol": "tcp",
843
+ "cidr_blocks": [
844
+ "10.40.0.0/16"
845
+ ],
846
+ "ipv6_cidr_blocks": null,
847
+ "description": "Postgres from VPC",
848
+ "id": "sgrule-2208476153",
849
+ "self": false,
850
+ "source_security_group_id": null
851
+ }
852
+ }
853
+ ]
854
+ }
855
+ ]
856
+ }
857
+ }
858
+ },
859
+ "configuration": {
860
+ "provider_config": {
861
+ "aws": {
862
+ "name": "aws",
863
+ "full_name": "registry.terraform.io/hashicorp/aws",
864
+ "version_constraint": ">= 5.40.0, < 6.0.0",
865
+ "expressions": {
866
+ "region": {
867
+ "constant_value": "eu-west-2"
868
+ }
869
+ }
870
+ }
871
+ },
872
+ "root_module": {
873
+ "module_calls": {
874
+ "orders_db": {
875
+ "source": "../../modules/orders-db",
876
+ "expressions": {
877
+ "environment": {
878
+ "constant_value": "prod"
879
+ },
880
+ "vpc_id": {
881
+ "constant_value": "vpc-0b8e7f6a5d4c3b2a1"
882
+ },
883
+ "vpc_cidr": {
884
+ "constant_value": "10.40.0.0/16"
885
+ },
886
+ "instance_class": {
887
+ "constant_value": "db.r7g.xlarge"
888
+ },
889
+ "kms_key_arn": {
890
+ "constant_value": "arn:aws:kms:eu-west-2:210987654398:key/7f3c2a1e-9b84-4d6e-a1f0-3c5b7d9e2a64"
891
+ }
892
+ }
893
+ }
894
+ }
895
+ }
896
+ },
897
+ "timestamp": "2026-11-03T10:42:17Z",
898
+ "applyable": true,
899
+ "complete": true,
900
+ "errored": false
901
+ }