pangea 0.0.45 → 0.0.46

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 (2051) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -83
  3. data/Dockerfile +4 -20
  4. data/Gemfile +0 -7
  5. data/Gemfile.lock +71 -211
  6. data/LICENSE +1 -1
  7. data/README.md +40 -208
  8. data/Rakefile +23 -146
  9. data/bin/pangea +2 -2
  10. data/example/config/README.md +3 -0
  11. data/example/config/sample.rb +20 -0
  12. data/flake.lock +6 -6
  13. data/flake.nix +0 -25
  14. data/gemset.nix +114 -575
  15. data/lib/pangea/cli/config.rb +99 -0
  16. data/lib/pangea/cli/constants.rb +33 -0
  17. data/lib/pangea/cli/subcommands/config.rb +212 -0
  18. data/lib/pangea/cli/subcommands/infra.rb +311 -0
  19. data/lib/pangea/cli/subcommands/main.rb +58 -0
  20. data/lib/pangea/cli/subcommands/pangea.rb +18 -0
  21. data/lib/pangea/cli/subcommands/state.rb +30 -0
  22. data/lib/pangea/cli.rb +63 -0
  23. data/lib/pangea/config.rb +35 -0
  24. data/lib/pangea/docker.rb +104 -0
  25. data/lib/pangea/errors/incorrect_subcommand_error.rb +2 -0
  26. data/lib/pangea/errors/namespace_not_found_error.rb +2 -0
  27. data/lib/pangea/errors/no_infra_target_error.rb +2 -0
  28. data/lib/pangea/errors/project_not_found_error.rb +2 -0
  29. data/lib/pangea/errors/site_not_found_error.rb +2 -0
  30. data/lib/pangea/executor.rb +10 -0
  31. data/lib/pangea/log/init.rb +2 -0
  32. data/lib/pangea/modcache.rb +79 -0
  33. data/lib/pangea/module.rb +17 -0
  34. data/lib/pangea/modules.rb +134 -0
  35. data/lib/pangea/processor.rb +101 -0
  36. data/lib/pangea/renderer.rb +241 -0
  37. data/lib/pangea/sandbox.rb +90 -0
  38. data/lib/pangea/say/init.rb +27 -0
  39. data/lib/pangea/shell/README.md +1 -0
  40. data/lib/pangea/shell/terraform.rb +21 -0
  41. data/lib/pangea/shell.rb +27 -0
  42. data/lib/pangea/stack.rb +11 -0
  43. data/lib/pangea/state.rb +96 -0
  44. data/lib/pangea/structures/README.md +3 -0
  45. data/lib/pangea/structures/abstract.rb +2 -0
  46. data/lib/pangea/structures/namespace.rb +4 -0
  47. data/lib/pangea/structures/project.rb +4 -0
  48. data/lib/pangea/structures/site.rb +4 -0
  49. data/lib/pangea/synthesizer/config.rb +38 -0
  50. data/lib/pangea/utils.rb +32 -0
  51. data/lib/pangea/version.rb +1 -15
  52. data/lib/pangea.rb +17 -37
  53. data/pangea.gemspec +33 -37
  54. data/pangea.rb +0 -14
  55. metadata +136 -2263
  56. data/.github/ISSUE_TEMPLATE/bug_report.yml +0 -114
  57. data/.github/ISSUE_TEMPLATE/feature_request.yml +0 -67
  58. data/.github/ISSUE_TEMPLATE/question.yml +0 -44
  59. data/.github/PULL_REQUEST_TEMPLATE.md +0 -69
  60. data/.github/workflows/ci.yml +0 -79
  61. data/.github/workflows/release.yml +0 -43
  62. data/AGENT_GUIDE.md +0 -333
  63. data/CHANGELOG.md +0 -67
  64. data/CLAUDE.md +0 -626
  65. data/CONTRIBUTING.md +0 -143
  66. data/EXAMPLES.md +0 -376
  67. data/OPEN_SOURCE_READINESS.md +0 -170
  68. data/README_backend_configuration.md +0 -174
  69. data/SECURITY.md +0 -90
  70. data/Steepfile +0 -33
  71. data/audit_results/vpc_resources_audit.json +0 -219
  72. data/docker-compose.test.yml +0 -31
  73. data/docs/RESOURCES.md +0 -456
  74. data/examples/advanced_global_infrastructure.rb +0 -544
  75. data/examples/advanced_ml_healthcare_infrastructure.rb +0 -546
  76. data/examples/api_gateway_complete.rb +0 -275
  77. data/examples/basic-web-app/README.md +0 -176
  78. data/examples/basic-web-app/infrastructure.rb +0 -686
  79. data/examples/basic-web-app/pangea.yaml +0 -36
  80. data/examples/cicd-pipeline/README.md +0 -348
  81. data/examples/cicd-pipeline/infrastructure.rb +0 -1186
  82. data/examples/cicd-pipeline/pangea.yaml +0 -35
  83. data/examples/cloudwatch_monitoring_example.rb +0 -192
  84. data/examples/comprehensive_database_platform.rb +0 -575
  85. data/examples/data-processing/README.md +0 -320
  86. data/examples/data-processing/infrastructure.rb +0 -1616
  87. data/examples/data-processing/pangea.yaml +0 -57
  88. data/examples/disaster-recovery/README.md +0 -446
  89. data/examples/disaster-recovery/infrastructure.rb +0 -1518
  90. data/examples/disaster-recovery/pangea.yaml +0 -62
  91. data/examples/gaming_infrastructure.rb +0 -505
  92. data/examples/global-multi-region/README.md +0 -427
  93. data/examples/global-multi-region/infrastructure.rb +0 -1454
  94. data/examples/global-multi-region/pangea.yaml +0 -61
  95. data/examples/messaging_example.rb +0 -189
  96. data/examples/microservices-platform/README.md +0 -275
  97. data/examples/microservices-platform/infrastructure.rb +0 -1024
  98. data/examples/microservices-platform/pangea.yaml +0 -35
  99. data/examples/ml-platform/README.md +0 -456
  100. data/examples/ml-platform/infrastructure.rb +0 -1882
  101. data/examples/ml-platform/pangea.yaml +0 -58
  102. data/examples/multi-environment/README.md +0 -280
  103. data/examples/multi-environment/infrastructure.rb +0 -1266
  104. data/examples/multi-environment/pangea.yaml +0 -71
  105. data/examples/multi-tier-architecture/README.md +0 -271
  106. data/examples/multi-tier-architecture/infrastructure.rb +0 -1077
  107. data/examples/multi-tier-architecture/pangea.yaml +0 -49
  108. data/examples/resource_composition_patterns.rb +0 -303
  109. data/examples/robotics_and_specialized_services.rb +0 -310
  110. data/examples/scalable_infrastructure.rb +0 -422
  111. data/examples/security-focused/README.md +0 -368
  112. data/examples/security-focused/infrastructure.rb +0 -1684
  113. data/examples/security-focused/pangea.yaml +0 -60
  114. data/examples/simple.rb +0 -39
  115. data/examples/type_safe_infrastructure.rb +0 -214
  116. data/exe/pangea +0 -37
  117. data/guides/README.md +0 -157
  118. data/guides/advanced-patterns.md +0 -1196
  119. data/guides/cicd-integration.md +0 -1047
  120. data/guides/getting-started.md +0 -399
  121. data/guides/migration-from-terraform.md +0 -924
  122. data/guides/multi-environment-management.md +0 -769
  123. data/guides/template-isolation.md +0 -673
  124. data/guides/type-safe-infrastructure.md +0 -695
  125. data/lib/pangea/agent.rb +0 -366
  126. data/lib/pangea/architecture_registry.rb +0 -94
  127. data/lib/pangea/architectures/ARCHITECTURE_CATALOG.md +0 -736
  128. data/lib/pangea/architectures/CLAUDE.md +0 -425
  129. data/lib/pangea/architectures/COMPLETE_ARCHITECTURE_SUMMARY.md +0 -385
  130. data/lib/pangea/architectures/base.rb +0 -545
  131. data/lib/pangea/architectures/examples/web_application_examples.rb +0 -589
  132. data/lib/pangea/architectures/examples.rb +0 -508
  133. data/lib/pangea/architectures/patterns/data_processing.rb +0 -669
  134. data/lib/pangea/architectures/patterns/microservices.rb +0 -626
  135. data/lib/pangea/architectures/patterns/simple_web_application.rb +0 -120
  136. data/lib/pangea/architectures/patterns/web_application.rb +0 -556
  137. data/lib/pangea/architectures/simple_web_app/architecture.rb +0 -70
  138. data/lib/pangea/architectures/simple_web_app/types.rb +0 -36
  139. data/lib/pangea/architectures/types.rb +0 -281
  140. data/lib/pangea/architectures/web_application_architecture/README.md +0 -375
  141. data/lib/pangea/architectures/web_application_architecture/architecture.rb +0 -511
  142. data/lib/pangea/architectures/web_application_architecture/types.rb +0 -295
  143. data/lib/pangea/architectures.rb +0 -24
  144. data/lib/pangea/backends/base.rb +0 -77
  145. data/lib/pangea/backends/local.rb +0 -159
  146. data/lib/pangea/backends/s3.rb +0 -213
  147. data/lib/pangea/backends.rb +0 -51
  148. data/lib/pangea/cli/application.rb +0 -211
  149. data/lib/pangea/cli/commands/agent.rb +0 -609
  150. data/lib/pangea/cli/commands/apply.rb +0 -240
  151. data/lib/pangea/cli/commands/base_command.rb +0 -131
  152. data/lib/pangea/cli/commands/destroy.rb +0 -131
  153. data/lib/pangea/cli/commands/inspect.rb +0 -437
  154. data/lib/pangea/cli/commands/plan.rb +0 -194
  155. data/lib/pangea/cli/formatters/json_formatter.rb +0 -195
  156. data/lib/pangea/cli/ui/diff.rb +0 -250
  157. data/lib/pangea/cli/ui/logger.rb +0 -174
  158. data/lib/pangea/cli/ui/progress.rb +0 -232
  159. data/lib/pangea/cli/ui/spinner.rb +0 -68
  160. data/lib/pangea/cli/ui/table.rb +0 -51
  161. data/lib/pangea/cli/ui/visualizer.rb +0 -409
  162. data/lib/pangea/compilation/template_compiler.rb +0 -384
  163. data/lib/pangea/compilation/validator.rb +0 -133
  164. data/lib/pangea/component_registry.rb +0 -79
  165. data/lib/pangea/components/ADVANCED_COMPONENT_CATALOG.md +0 -556
  166. data/lib/pangea/components/CLAUDE.md +0 -350
  167. data/lib/pangea/components/COMPLETE_COMPONENT_SUMMARY.md +0 -266
  168. data/lib/pangea/components/COMPONENT_CATALOG.md +0 -470
  169. data/lib/pangea/components/EXTENDED_COMPONENT_CATALOG.md +0 -558
  170. data/lib/pangea/components/IMPLEMENTATION_PROGRESS.md +0 -246
  171. data/lib/pangea/components/api_gateway_microservices/README.md +0 -384
  172. data/lib/pangea/components/api_gateway_microservices/component.rb +0 -630
  173. data/lib/pangea/components/api_gateway_microservices/types.rb +0 -248
  174. data/lib/pangea/components/application_load_balancer/CLAUDE.md +0 -224
  175. data/lib/pangea/components/application_load_balancer/README.md +0 -225
  176. data/lib/pangea/components/application_load_balancer/component.rb +0 -316
  177. data/lib/pangea/components/application_load_balancer/types.rb +0 -117
  178. data/lib/pangea/components/auto_scaling_web_servers/README.md +0 -326
  179. data/lib/pangea/components/auto_scaling_web_servers/component.rb +0 -396
  180. data/lib/pangea/components/auto_scaling_web_servers/types.rb +0 -176
  181. data/lib/pangea/components/base.rb +0 -104
  182. data/lib/pangea/components/capabilities.rb +0 -93
  183. data/lib/pangea/components/carbon_aware_compute/CLAUDE.md +0 -295
  184. data/lib/pangea/components/carbon_aware_compute/README.md +0 -194
  185. data/lib/pangea/components/carbon_aware_compute/component.rb +0 -1136
  186. data/lib/pangea/components/carbon_aware_compute/types.rb +0 -167
  187. data/lib/pangea/components/disaster_recovery_pilot_light/README.md +0 -366
  188. data/lib/pangea/components/disaster_recovery_pilot_light/component.rb +0 -1549
  189. data/lib/pangea/components/disaster_recovery_pilot_light/types.rb +0 -255
  190. data/lib/pangea/components/event_driven_microservice/README.md +0 -341
  191. data/lib/pangea/components/event_driven_microservice/component.rb +0 -665
  192. data/lib/pangea/components/event_driven_microservice/types.rb +0 -217
  193. data/lib/pangea/components/examples.rb +0 -515
  194. data/lib/pangea/components/global_service_mesh/README.md +0 -438
  195. data/lib/pangea/components/global_service_mesh/component.rb +0 -1307
  196. data/lib/pangea/components/global_service_mesh/types.rb +0 -289
  197. data/lib/pangea/components/global_traffic_manager/README.md +0 -351
  198. data/lib/pangea/components/global_traffic_manager/component.rb +0 -1144
  199. data/lib/pangea/components/global_traffic_manager/types.rb +0 -282
  200. data/lib/pangea/components/green_data_lifecycle/CLAUDE.md +0 -353
  201. data/lib/pangea/components/green_data_lifecycle/README.md +0 -270
  202. data/lib/pangea/components/green_data_lifecycle/component.rb +0 -1403
  203. data/lib/pangea/components/green_data_lifecycle/types.rb +0 -184
  204. data/lib/pangea/components/microservice_deployment/README.md +0 -321
  205. data/lib/pangea/components/microservice_deployment/component.rb +0 -440
  206. data/lib/pangea/components/microservice_deployment/types.rb +0 -236
  207. data/lib/pangea/components/microservices_examples.rb +0 -444
  208. data/lib/pangea/components/multi_region_active_active/README.md +0 -267
  209. data/lib/pangea/components/multi_region_active_active/component.rb +0 -1200
  210. data/lib/pangea/components/multi_region_active_active/types.rb +0 -248
  211. data/lib/pangea/components/mysql_database/README.md +0 -342
  212. data/lib/pangea/components/mysql_database/component.rb +0 -343
  213. data/lib/pangea/components/mysql_database/types.rb +0 -201
  214. data/lib/pangea/components/public_private_subnets/CLAUDE.md +0 -547
  215. data/lib/pangea/components/public_private_subnets/README.md +0 -293
  216. data/lib/pangea/components/public_private_subnets/component.rb +0 -386
  217. data/lib/pangea/components/public_private_subnets/types.rb +0 -152
  218. data/lib/pangea/components/reference.rb +0 -155
  219. data/lib/pangea/components/secure_s3_bucket/README.md +0 -459
  220. data/lib/pangea/components/secure_s3_bucket/component.rb +0 -442
  221. data/lib/pangea/components/secure_s3_bucket/types.rb +0 -292
  222. data/lib/pangea/components/secure_vpc/CLAUDE.md +0 -366
  223. data/lib/pangea/components/secure_vpc/README.md +0 -187
  224. data/lib/pangea/components/secure_vpc/component.rb +0 -88
  225. data/lib/pangea/components/secure_vpc/types.rb +0 -141
  226. data/lib/pangea/components/service_mesh_observability/README.md +0 -423
  227. data/lib/pangea/components/service_mesh_observability/component.rb +0 -610
  228. data/lib/pangea/components/service_mesh_observability/types.rb +0 -231
  229. data/lib/pangea/components/siem_security_platform/component.rb +0 -2877
  230. data/lib/pangea/components/siem_security_platform/types.rb +0 -220
  231. data/lib/pangea/components/spot_instance_carbon_optimizer/CLAUDE.md +0 -469
  232. data/lib/pangea/components/spot_instance_carbon_optimizer/README.md +0 -338
  233. data/lib/pangea/components/spot_instance_carbon_optimizer/component.rb +0 -1638
  234. data/lib/pangea/components/spot_instance_carbon_optimizer/types.rb +0 -213
  235. data/lib/pangea/components/sustainable_ml_training/CLAUDE.md +0 -653
  236. data/lib/pangea/components/sustainable_ml_training/README.md +0 -363
  237. data/lib/pangea/components/sustainable_ml_training/component.rb +0 -1754
  238. data/lib/pangea/components/sustainable_ml_training/types.rb +0 -234
  239. data/lib/pangea/components/threat_intelligence_platform/types.rb +0 -203
  240. data/lib/pangea/components/types.rb +0 -198
  241. data/lib/pangea/components/vpc_with_subnets/component.rb +0 -177
  242. data/lib/pangea/components/vpc_with_subnets/types.rb +0 -61
  243. data/lib/pangea/components/web_security_group/CLAUDE.md +0 -690
  244. data/lib/pangea/components/web_security_group/README.md +0 -450
  245. data/lib/pangea/components/web_security_group/component.rb +0 -217
  246. data/lib/pangea/components/web_security_group/types.rb +0 -257
  247. data/lib/pangea/components/web_tier_subnets/CLAUDE.md +0 -572
  248. data/lib/pangea/components/web_tier_subnets/README.md +0 -368
  249. data/lib/pangea/components/web_tier_subnets/component.rb +0 -205
  250. data/lib/pangea/components/web_tier_subnets/types.rb +0 -185
  251. data/lib/pangea/components/zero_trust_network/component.rb +0 -674
  252. data/lib/pangea/components/zero_trust_network/types.rb +0 -150
  253. data/lib/pangea/components.rb +0 -80
  254. data/lib/pangea/configuration/types.rb +0 -294
  255. data/lib/pangea/configuration.rb +0 -249
  256. data/lib/pangea/documentation/generator.rb +0 -139
  257. data/lib/pangea/documentation/writer.rb +0 -86
  258. data/lib/pangea/entities/module_definition.rb +0 -140
  259. data/lib/pangea/entities/namespace.rb +0 -154
  260. data/lib/pangea/entities/project.rb +0 -99
  261. data/lib/pangea/entities/template.rb +0 -121
  262. data/lib/pangea/entities.rb +0 -29
  263. data/lib/pangea/errors.rb +0 -67
  264. data/lib/pangea/execution/terraform_executor.rb +0 -271
  265. data/lib/pangea/execution/workspace_manager.rb +0 -164
  266. data/lib/pangea/generators/resource_generator.rb +0 -82
  267. data/lib/pangea/generators/test_generator.rb +0 -68
  268. data/lib/pangea/quality/resource_auditor.rb +0 -74
  269. data/lib/pangea/resource_registry.rb +0 -68
  270. data/lib/pangea/resources/AWS_RESOURCE_COMPLETION_SUMMARY.md +0 -200
  271. data/lib/pangea/resources/CLAUDE.md +0 -607
  272. data/lib/pangea/resources/DATABASE_SERVICES_CLAUDE.md +0 -577
  273. data/lib/pangea/resources/EXTENDED_SERVICES_IMPLEMENTATION.md +0 -197
  274. data/lib/pangea/resources/FINAL_BATCH_IMPLEMENTATION.md +0 -328
  275. data/lib/pangea/resources/IMPLEMENTATION_SUMMARY.md +0 -185
  276. data/lib/pangea/resources/NEW_RESOURCES_SUMMARY.md +0 -259
  277. data/lib/pangea/resources/aws/MEDIA_SERVICES_IMPLEMENTATION_SUMMARY.md +0 -219
  278. data/lib/pangea/resources/aws/appconfig/configuration_version.rb +0 -55
  279. data/lib/pangea/resources/aws/appconfig/deployment_strategy.rb +0 -104
  280. data/lib/pangea/resources/aws/appconfig/extension.rb +0 -55
  281. data/lib/pangea/resources/aws/appconfig/extension_association.rb +0 -55
  282. data/lib/pangea/resources/aws/appconfig/hosted_configuration_version.rb +0 -55
  283. data/lib/pangea/resources/aws/appconfig/monitor.rb +0 -55
  284. data/lib/pangea/resources/aws/appconfig/validator.rb +0 -55
  285. data/lib/pangea/resources/aws/appconfig.rb +0 -42
  286. data/lib/pangea/resources/aws/applicationdiscoveryservice/application.rb +0 -82
  287. data/lib/pangea/resources/aws/applicationdiscoveryservice/application_resource.rb +0 -55
  288. data/lib/pangea/resources/aws/applicationdiscoveryservice/application_resource.rbs +0 -15
  289. data/lib/pangea/resources/aws/applicationdiscoveryservice.rb +0 -30
  290. data/lib/pangea/resources/aws/audit_manager/CLAUDE.md +0 -778
  291. data/lib/pangea/resources/aws/audit_manager/account_registration.rb +0 -55
  292. data/lib/pangea/resources/aws/audit_manager/assessment.rb +0 -55
  293. data/lib/pangea/resources/aws/audit_manager/assessment_control_set.rb +0 -55
  294. data/lib/pangea/resources/aws/audit_manager/assessment_delegation.rb +0 -55
  295. data/lib/pangea/resources/aws/audit_manager/assessment_report.rb +0 -55
  296. data/lib/pangea/resources/aws/audit_manager/control.rb +0 -55
  297. data/lib/pangea/resources/aws/audit_manager/evidence_folder.rb +0 -55
  298. data/lib/pangea/resources/aws/audit_manager/framework.rb +0 -55
  299. data/lib/pangea/resources/aws/audit_manager/framework_share.rb +0 -55
  300. data/lib/pangea/resources/aws/audit_manager/organization_admin_account.rb +0 -55
  301. data/lib/pangea/resources/aws/audit_manager.rb +0 -186
  302. data/lib/pangea/resources/aws/autoscaling/autoscaling_group_tag.rb +0 -55
  303. data/lib/pangea/resources/aws/autoscaling/autoscaling_lifecycle_hook.rb +0 -55
  304. data/lib/pangea/resources/aws/autoscaling/autoscaling_notification.rb +0 -55
  305. data/lib/pangea/resources/aws/autoscaling/autoscaling_policy_step_adjustment.rb +0 -55
  306. data/lib/pangea/resources/aws/autoscaling/autoscaling_policy_target_tracking_scaling_policy.rb +0 -55
  307. data/lib/pangea/resources/aws/autoscaling/autoscaling_schedule.rb +0 -55
  308. data/lib/pangea/resources/aws/autoscaling/autoscaling_traffic_source_attachment.rb +0 -55
  309. data/lib/pangea/resources/aws/autoscaling/autoscaling_warm_pool.rb +0 -55
  310. data/lib/pangea/resources/aws/autoscaling/launch_configuration.rb +0 -55
  311. data/lib/pangea/resources/aws/autoscaling/placement_group.rb +0 -55
  312. data/lib/pangea/resources/aws/autoscaling.rb +0 -186
  313. data/lib/pangea/resources/aws/base_resource.rb +0 -92
  314. data/lib/pangea/resources/aws/batch/CLAUDE.md +0 -965
  315. data/lib/pangea/resources/aws/batch/compute_environment.rb +0 -55
  316. data/lib/pangea/resources/aws/batch/job.rb +0 -55
  317. data/lib/pangea/resources/aws/batch/job_definition.rb +0 -55
  318. data/lib/pangea/resources/aws/batch/job_queue.rb +0 -55
  319. data/lib/pangea/resources/aws/batch/scheduling_policy.rb +0 -55
  320. data/lib/pangea/resources/aws/batch.rb +0 -106
  321. data/lib/pangea/resources/aws/cdk/bootstrap_version.rb +0 -47
  322. data/lib/pangea/resources/aws/cdk/bundling_docker_image.rb +0 -46
  323. data/lib/pangea/resources/aws/cdk/custom_resource_provider.rb +0 -46
  324. data/lib/pangea/resources/aws/cdk/docker_image_asset.rb +0 -46
  325. data/lib/pangea/resources/aws/cdk/file_asset.rb +0 -46
  326. data/lib/pangea/resources/aws/cdk/metadata.rb +0 -46
  327. data/lib/pangea/resources/aws/cdk/toolkit_stack_tags.rb +0 -48
  328. data/lib/pangea/resources/aws/cdk/tree_metadata.rb +0 -46
  329. data/lib/pangea/resources/aws/cdk.rb +0 -44
  330. data/lib/pangea/resources/aws/cleanrooms.rb +0 -145
  331. data/lib/pangea/resources/aws/cloudformation/CLAUDE.md +0 -98
  332. data/lib/pangea/resources/aws/cloudformation/hook_default_version.rb +0 -48
  333. data/lib/pangea/resources/aws/cloudformation/public_type_version.rb +0 -51
  334. data/lib/pangea/resources/aws/cloudformation/publisher.rb +0 -63
  335. data/lib/pangea/resources/aws/cloudformation/resource_default_version.rb +0 -48
  336. data/lib/pangea/resources/aws/cloudformation/resource_version.rb +0 -56
  337. data/lib/pangea/resources/aws/cloudformation/stack_instances.rb +0 -161
  338. data/lib/pangea/resources/aws/cloudformation/stack_set.rb +0 -195
  339. data/lib/pangea/resources/aws/cloudformation/stack_set_instance.rb +0 -151
  340. data/lib/pangea/resources/aws/cloudformation/type.rb +0 -167
  341. data/lib/pangea/resources/aws/cloudformation/type_activation.rb +0 -91
  342. data/lib/pangea/resources/aws/cloudformation/types.rb +0 -301
  343. data/lib/pangea/resources/aws/cloudformation/types.rbs +0 -125
  344. data/lib/pangea/resources/aws/cloudformation.rb +0 -48
  345. data/lib/pangea/resources/aws/code/codebuild_project_cache.rb +0 -55
  346. data/lib/pangea/resources/aws/code/codebuild_project_file_system_location.rb +0 -55
  347. data/lib/pangea/resources/aws/code/codebuild_source_credential.rb +0 -55
  348. data/lib/pangea/resources/aws/code/codebuild_webhook_filter.rb +0 -55
  349. data/lib/pangea/resources/aws/code/codecommit_approval_rule_template.rb +0 -55
  350. data/lib/pangea/resources/aws/code/codecommit_approval_rule_template_association.rb +0 -55
  351. data/lib/pangea/resources/aws/code/codedeploy_deployment_config.rb +0 -55
  352. data/lib/pangea/resources/aws/code/codedeploy_deployment_group_auto_rollback.rb +0 -55
  353. data/lib/pangea/resources/aws/code/codepipeline_custom_action_type.rb +0 -55
  354. data/lib/pangea/resources/aws/code/codepipeline_webhook.rb +0 -55
  355. data/lib/pangea/resources/aws/code/codestar_connection.rb +0 -85
  356. data/lib/pangea/resources/aws/code/codestar_notification_rule.rb +0 -55
  357. data/lib/pangea/resources/aws/code.rb +0 -52
  358. data/lib/pangea/resources/aws/comprehendmedical/jobs.rb +0 -320
  359. data/lib/pangea/resources/aws/comprehendmedical.rb +0 -28
  360. data/lib/pangea/resources/aws/config/aggregate_authorization.rb +0 -55
  361. data/lib/pangea/resources/aws/config/configuration_aggregator_organization.rb +0 -55
  362. data/lib/pangea/resources/aws/config/organization_conformance_pack.rb +0 -103
  363. data/lib/pangea/resources/aws/config/organization_custom_rule.rb +0 -55
  364. data/lib/pangea/resources/aws/config/organization_managed_rule.rb +0 -55
  365. data/lib/pangea/resources/aws/config/remediation_configuration.rb +0 -55
  366. data/lib/pangea/resources/aws/config/retention_configuration.rb +0 -55
  367. data/lib/pangea/resources/aws/config/stored_query.rb +0 -55
  368. data/lib/pangea/resources/aws/config.rb +0 -44
  369. data/lib/pangea/resources/aws/controltower/control.rb +0 -82
  370. data/lib/pangea/resources/aws/controltower/control_resource.rb +0 -55
  371. data/lib/pangea/resources/aws/controltower/control_resource.rbs +0 -15
  372. data/lib/pangea/resources/aws/controltower/enabled_control.rb +0 -74
  373. data/lib/pangea/resources/aws/controltower/enabled_control_resource.rb +0 -55
  374. data/lib/pangea/resources/aws/controltower/enabled_control_resource.rbs +0 -15
  375. data/lib/pangea/resources/aws/controltower/landing_zone.rb +0 -126
  376. data/lib/pangea/resources/aws/controltower/landing_zone_resource.rb +0 -55
  377. data/lib/pangea/resources/aws/controltower/landing_zone_resource.rbs +0 -18
  378. data/lib/pangea/resources/aws/controltower.rb +0 -34
  379. data/lib/pangea/resources/aws/data_pipeline/pipeline.rb +0 -55
  380. data/lib/pangea/resources/aws/data_pipeline/pipeline_definition.rb +0 -55
  381. data/lib/pangea/resources/aws/detective/CLAUDE.md +0 -668
  382. data/lib/pangea/resources/aws/detective/datasource_package.rb +0 -55
  383. data/lib/pangea/resources/aws/detective/finding.rb +0 -56
  384. data/lib/pangea/resources/aws/detective/graph.rb +0 -58
  385. data/lib/pangea/resources/aws/detective/indicator.rb +0 -56
  386. data/lib/pangea/resources/aws/detective/invitation_accepter.rb +0 -54
  387. data/lib/pangea/resources/aws/detective/member.rb +0 -59
  388. data/lib/pangea/resources/aws/detective/organization_admin_account.rb +0 -54
  389. data/lib/pangea/resources/aws/detective/organization_configuration.rb +0 -54
  390. data/lib/pangea/resources/aws/detective.rb +0 -154
  391. data/lib/pangea/resources/aws/ec2/ec2_ami_launch_permission.rb +0 -55
  392. data/lib/pangea/resources/aws/ec2/ec2_availability_zone_group.rb +0 -55
  393. data/lib/pangea/resources/aws/ec2/ec2_capacity_block_reservation.rb +0 -55
  394. data/lib/pangea/resources/aws/ec2/ec2_capacity_reservation.rb +0 -55
  395. data/lib/pangea/resources/aws/ec2/ec2_dedicated_host.rb +0 -55
  396. data/lib/pangea/resources/aws/ec2/ec2_fleet.rb +0 -55
  397. data/lib/pangea/resources/aws/ec2/ec2_host_resource_group_association.rb +0 -55
  398. data/lib/pangea/resources/aws/ec2/ec2_image_block_public_access.rb +0 -55
  399. data/lib/pangea/resources/aws/ec2/ec2_instance_metadata_defaults.rb +0 -55
  400. data/lib/pangea/resources/aws/ec2/ec2_serial_console_access.rb +0 -55
  401. data/lib/pangea/resources/aws/ec2/ec2_snapshot_block_public_access.rb +0 -55
  402. data/lib/pangea/resources/aws/ec2/ec2_spot_datafeed_subscription.rb +0 -55
  403. data/lib/pangea/resources/aws/ec2/ec2_spot_fleet_request.rb +0 -55
  404. data/lib/pangea/resources/aws/ec2/ec2_spot_instance_request.rb +0 -55
  405. data/lib/pangea/resources/aws/ec2/ec2_tag.rb +0 -55
  406. data/lib/pangea/resources/aws/ec2/ec2_transit_gateway_multicast_domain.rb +0 -55
  407. data/lib/pangea/resources/aws/ec2/ec2_transit_gateway_multicast_domain_association.rb +0 -55
  408. data/lib/pangea/resources/aws/ec2/ec2_transit_gateway_multicast_group_member.rb +0 -55
  409. data/lib/pangea/resources/aws/ec2.rb +0 -314
  410. data/lib/pangea/resources/aws/elasticache_extended.disabled/auth_token.rb +0 -50
  411. data/lib/pangea/resources/aws/elasticache_extended.disabled/cache_policy.rb +0 -57
  412. data/lib/pangea/resources/aws/elasticache_extended.disabled/global_replication_group.rb +0 -121
  413. data/lib/pangea/resources/aws/elasticache_extended.disabled/notification_topic.rb +0 -50
  414. data/lib/pangea/resources/aws/elasticache_extended.disabled/parameter_group_parameter.rb +0 -52
  415. data/lib/pangea/resources/aws/elasticache_extended.disabled/reserved_cache_node.rb +0 -55
  416. data/lib/pangea/resources/aws/elasticache_extended.disabled/serverless_cache.rb +0 -178
  417. data/lib/pangea/resources/aws/elasticache_extended.disabled/user_group.rb +0 -90
  418. data/lib/pangea/resources/aws/elasticache_extended.disabled/user_group_association.rb +0 -50
  419. data/lib/pangea/resources/aws/elasticache_extended.rb +0 -46
  420. data/lib/pangea/resources/aws/emrcontainers/job_run.rb +0 -134
  421. data/lib/pangea/resources/aws/emrcontainers/job_template.rb +0 -165
  422. data/lib/pangea/resources/aws/emrcontainers/managed_endpoint.rb +0 -126
  423. data/lib/pangea/resources/aws/emrcontainers/virtual_cluster.rb +0 -99
  424. data/lib/pangea/resources/aws/emrcontainers.rb +0 -34
  425. data/lib/pangea/resources/aws/extended_resources_CLAUDE.md +0 -470
  426. data/lib/pangea/resources/aws/frauddetector/detector.rb +0 -262
  427. data/lib/pangea/resources/aws/frauddetector.rb +0 -28
  428. data/lib/pangea/resources/aws/gamedev.rb +0 -178
  429. data/lib/pangea/resources/aws/gamelift.rb +0 -244
  430. data/lib/pangea/resources/aws/gamesparks.rb +0 -246
  431. data/lib/pangea/resources/aws/healthlake/fhir_datastore.rb +0 -220
  432. data/lib/pangea/resources/aws/healthlake.rb +0 -28
  433. data/lib/pangea/resources/aws/kinesisvideo/signaling_channel.rb +0 -55
  434. data/lib/pangea/resources/aws/kinesisvideo/stream.rb +0 -55
  435. data/lib/pangea/resources/aws/kinesisvideo.rb +0 -58
  436. data/lib/pangea/resources/aws/load_balancing/alb_target_group_attachment.rb +0 -55
  437. data/lib/pangea/resources/aws/load_balancing/elb_attachment.rb +0 -55
  438. data/lib/pangea/resources/aws/load_balancing/elb_service_account.rb +0 -55
  439. data/lib/pangea/resources/aws/load_balancing/lb_cookie_stickiness_policy.rb +0 -55
  440. data/lib/pangea/resources/aws/load_balancing/lb_ssl_negotiation_policy.rb +0 -55
  441. data/lib/pangea/resources/aws/load_balancing/lb_target_group_attachment.rb +0 -55
  442. data/lib/pangea/resources/aws/load_balancing/lb_trust_store.rb +0 -55
  443. data/lib/pangea/resources/aws/load_balancing/lb_trust_store_revocation.rb +0 -55
  444. data/lib/pangea/resources/aws/load_balancing/load_balancer_backend_server_policy.rb +0 -55
  445. data/lib/pangea/resources/aws/load_balancing/load_balancer_listener_policy.rb +0 -55
  446. data/lib/pangea/resources/aws/load_balancing/load_balancer_policy.rb +0 -55
  447. data/lib/pangea/resources/aws/load_balancing/proxy_protocol_policy.rb +0 -55
  448. data/lib/pangea/resources/aws/load_balancing.rb +0 -218
  449. data/lib/pangea/resources/aws/lookout/equipment.rb +0 -227
  450. data/lib/pangea/resources/aws/lookout/metrics.rb +0 -129
  451. data/lib/pangea/resources/aws/lookout.rb +0 -30
  452. data/lib/pangea/resources/aws/media_services_CLAUDE.md +0 -494
  453. data/lib/pangea/resources/aws/mediaconvert/job.rb +0 -55
  454. data/lib/pangea/resources/aws/mediaconvert/job_template.rb +0 -55
  455. data/lib/pangea/resources/aws/mediaconvert/preset.rb +0 -55
  456. data/lib/pangea/resources/aws/mediaconvert/queue.rb +0 -55
  457. data/lib/pangea/resources/aws/mediaconvert.rb +0 -90
  458. data/lib/pangea/resources/aws/medialive/channel.rb +0 -55
  459. data/lib/pangea/resources/aws/medialive/input.rb +0 -55
  460. data/lib/pangea/resources/aws/medialive/input_security_group.rb +0 -55
  461. data/lib/pangea/resources/aws/medialive/multiplex.rb +0 -55
  462. data/lib/pangea/resources/aws/medialive/multiplex_program.rb +0 -55
  463. data/lib/pangea/resources/aws/medialive.rb +0 -106
  464. data/lib/pangea/resources/aws/mediapackage/channel.rb +0 -55
  465. data/lib/pangea/resources/aws/mediapackage/origin_endpoint.rb +0 -55
  466. data/lib/pangea/resources/aws/mediapackage/packaging_configuration.rb +0 -55
  467. data/lib/pangea/resources/aws/mediapackage/packaging_group.rb +0 -55
  468. data/lib/pangea/resources/aws/mediapackage.rb +0 -90
  469. data/lib/pangea/resources/aws/migrationhub/progress_update_stream.rb +0 -69
  470. data/lib/pangea/resources/aws/migrationhub/progress_update_stream_resource.rb +0 -55
  471. data/lib/pangea/resources/aws/migrationhub/progress_update_stream_resource.rbs +0 -14
  472. data/lib/pangea/resources/aws/migrationhub.rb +0 -30
  473. data/lib/pangea/resources/aws/opensearch.disabled/CLAUDE.md +0 -480
  474. data/lib/pangea/resources/aws/opensearch.disabled/domain.rb +0 -59
  475. data/lib/pangea/resources/aws/opensearch.disabled/domain_endpoint.rb +0 -88
  476. data/lib/pangea/resources/aws/opensearch.disabled/domain_policy.rb +0 -89
  477. data/lib/pangea/resources/aws/opensearch.disabled/domain_saml_options.rb +0 -105
  478. data/lib/pangea/resources/aws/opensearch.disabled/inbound_connection.rb +0 -75
  479. data/lib/pangea/resources/aws/opensearch.disabled/outbound_connection.rb +0 -137
  480. data/lib/pangea/resources/aws/opensearch.disabled/package.rb +0 -102
  481. data/lib/pangea/resources/aws/opensearch.disabled/package_association.rb +0 -80
  482. data/lib/pangea/resources/aws/opensearch.disabled/serverless_access_policy.rb +0 -143
  483. data/lib/pangea/resources/aws/opensearch.disabled/serverless_collection.rb +0 -109
  484. data/lib/pangea/resources/aws/opensearch.disabled/serverless_security_policy.rb +0 -118
  485. data/lib/pangea/resources/aws/opensearch.disabled/vpc_endpoint.rb +0 -86
  486. data/lib/pangea/resources/aws/opensearch.rb.disabled +0 -36
  487. data/lib/pangea/resources/aws/private5g.rb +0 -132
  488. data/lib/pangea/resources/aws/robomaker.rb +0 -175
  489. data/lib/pangea/resources/aws/sagemaker/feature_group.rb +0 -146
  490. data/lib/pangea/resources/aws/sagemaker/model_package_group.rb +0 -79
  491. data/lib/pangea/resources/aws/sagemaker/pipeline.rb +0 -152
  492. data/lib/pangea/resources/aws/sagemaker.rb +0 -32
  493. data/lib/pangea/resources/aws/security_lake/CLAUDE.md +0 -932
  494. data/lib/pangea/resources/aws/security_lake/aws_log_source.rb +0 -55
  495. data/lib/pangea/resources/aws/security_lake/custom_log_source.rb +0 -55
  496. data/lib/pangea/resources/aws/security_lake/data_lake.rb +0 -55
  497. data/lib/pangea/resources/aws/security_lake/data_lake_exception_subscription.rb +0 -55
  498. data/lib/pangea/resources/aws/security_lake/organization_configuration.rb +0 -55
  499. data/lib/pangea/resources/aws/security_lake/subscriber.rb +0 -55
  500. data/lib/pangea/resources/aws/security_lake/subscriber_notification.rb +0 -55
  501. data/lib/pangea/resources/aws/security_lake.rb +0 -138
  502. data/lib/pangea/resources/aws/servicecatalog/constraint.rb +0 -93
  503. data/lib/pangea/resources/aws/servicecatalog/constraint_resource.rb +0 -55
  504. data/lib/pangea/resources/aws/servicecatalog/constraint_resource.rbs +0 -15
  505. data/lib/pangea/resources/aws/servicecatalog/portfolio.rb +0 -69
  506. data/lib/pangea/resources/aws/servicecatalog/portfolio_resource.rb +0 -55
  507. data/lib/pangea/resources/aws/servicecatalog/portfolio_resource.rbs +0 -15
  508. data/lib/pangea/resources/aws/servicecatalog/principal_portfolio_association.rb +0 -70
  509. data/lib/pangea/resources/aws/servicecatalog/principal_portfolio_association_resource.rb +0 -55
  510. data/lib/pangea/resources/aws/servicecatalog/principal_portfolio_association_resource.rbs +0 -14
  511. data/lib/pangea/resources/aws/servicecatalog/product.rb +0 -108
  512. data/lib/pangea/resources/aws/servicecatalog/product_portfolio_association.rb +0 -70
  513. data/lib/pangea/resources/aws/servicecatalog/product_portfolio_association_resource.rb +0 -55
  514. data/lib/pangea/resources/aws/servicecatalog/product_portfolio_association_resource.rbs +0 -14
  515. data/lib/pangea/resources/aws/servicecatalog/product_resource.rb +0 -55
  516. data/lib/pangea/resources/aws/servicecatalog/product_resource.rbs +0 -16
  517. data/lib/pangea/resources/aws/servicecatalog/provisioned_product.rb +0 -96
  518. data/lib/pangea/resources/aws/servicecatalog/provisioned_product_resource.rb +0 -55
  519. data/lib/pangea/resources/aws/servicecatalog/provisioned_product_resource.rbs +0 -18
  520. data/lib/pangea/resources/aws/servicecatalog/tag_option.rb +0 -75
  521. data/lib/pangea/resources/aws/servicecatalog/tag_option_resource.rb +0 -55
  522. data/lib/pangea/resources/aws/servicecatalog/tag_option_resource.rbs +0 -15
  523. data/lib/pangea/resources/aws/servicecatalog/tag_option_resource_association.rb +0 -65
  524. data/lib/pangea/resources/aws/servicecatalog/tag_option_resource_association_resource.rb +0 -55
  525. data/lib/pangea/resources/aws/servicecatalog/tag_option_resource_association_resource.rbs +0 -14
  526. data/lib/pangea/resources/aws/servicecatalog.rb +0 -44
  527. data/lib/pangea/resources/aws/sfn_extended.disabled/activity.rb +0 -79
  528. data/lib/pangea/resources/aws/sfn_extended.disabled/activity_task.rb +0 -51
  529. data/lib/pangea/resources/aws/sfn_extended.disabled/execution.rb +0 -53
  530. data/lib/pangea/resources/aws/sfn_extended.disabled/express_logging_configuration.rb +0 -54
  531. data/lib/pangea/resources/aws/sfn_extended.disabled/map_run.rb +0 -51
  532. data/lib/pangea/resources/aws/sfn_extended.disabled/state_machine_alias.rb +0 -99
  533. data/lib/pangea/resources/aws/sfn_extended.disabled/state_machine_version.rb +0 -52
  534. data/lib/pangea/resources/aws/sfn_extended.rb +0 -40
  535. data/lib/pangea/resources/aws/ssm/automation_execution.rb +0 -55
  536. data/lib/pangea/resources/aws/ssm/command_invocation.rb +0 -55
  537. data/lib/pangea/resources/aws/ssm/compliance_item.rb +0 -55
  538. data/lib/pangea/resources/aws/ssm/inventory_result_entity.rb +0 -55
  539. data/lib/pangea/resources/aws/ssm/maintenance_window_target.rb +0 -93
  540. data/lib/pangea/resources/aws/ssm/maintenance_window_target_resource.rb +0 -55
  541. data/lib/pangea/resources/aws/ssm/maintenance_window_target_resource.rbs +0 -15
  542. data/lib/pangea/resources/aws/ssm/maintenance_window_task.rb +0 -149
  543. data/lib/pangea/resources/aws/ssm/maintenance_window_task_resource.rb +0 -55
  544. data/lib/pangea/resources/aws/ssm/maintenance_window_task_resource.rbs +0 -15
  545. data/lib/pangea/resources/aws/ssm/ops_item.rb +0 -177
  546. data/lib/pangea/resources/aws/ssm/ops_metadata.rb +0 -55
  547. data/lib/pangea/resources/aws/ssm/patch_manager_patch_baseline_approval_rule.rb +0 -55
  548. data/lib/pangea/resources/aws/ssm/resource_compliance_item.rb +0 -55
  549. data/lib/pangea/resources/aws/ssm/session_manager_preferences.rb +0 -55
  550. data/lib/pangea/resources/aws/ssm/session_preferences.rb +0 -55
  551. data/lib/pangea/resources/aws/ssm.rb +0 -52
  552. data/lib/pangea/resources/aws/sumerian.rb +0 -223
  553. data/lib/pangea/resources/aws/supplychain.rb +0 -120
  554. data/lib/pangea/resources/aws/types/vpc.rb +0 -94
  555. data/lib/pangea/resources/aws/verifiedpermissions.rb +0 -101
  556. data/lib/pangea/resources/aws/vpc/default_network_acl.rb +0 -55
  557. data/lib/pangea/resources/aws/vpc/default_route_table.rb +0 -55
  558. data/lib/pangea/resources/aws/vpc/default_security_group.rb +0 -55
  559. data/lib/pangea/resources/aws/vpc/default_vpc_dhcp_options.rb +0 -55
  560. data/lib/pangea/resources/aws/vpc/vpc_dhcp_options_association.rb +0 -55
  561. data/lib/pangea/resources/aws/vpc/vpc_endpoint_connection_accepter.rb +0 -55
  562. data/lib/pangea/resources/aws/vpc/vpc_endpoint_connection_notification.rb +0 -55
  563. data/lib/pangea/resources/aws/vpc/vpc_endpoint_route_table_association.rb +0 -55
  564. data/lib/pangea/resources/aws/vpc/vpc_endpoint_service_allowed_principal.rb +0 -55
  565. data/lib/pangea/resources/aws/vpc/vpc_endpoint_subnet_association.rb +0 -55
  566. data/lib/pangea/resources/aws/vpc/vpc_network_performance_metric_subscription.rb +0 -55
  567. data/lib/pangea/resources/aws/vpc/vpc_peering_connection_accepter.rb +0 -55
  568. data/lib/pangea/resources/aws/vpc/vpc_peering_connection_options.rb +0 -55
  569. data/lib/pangea/resources/aws/vpc/vpc_security_group_egress_rule.rb +0 -55
  570. data/lib/pangea/resources/aws/vpc/vpc_security_group_ingress_rule.rb +0 -55
  571. data/lib/pangea/resources/aws/vpc.rb +0 -266
  572. data/lib/pangea/resources/aws/wellarchitected/workload.rb +0 -103
  573. data/lib/pangea/resources/aws/wellarchitected/workload_resource.rb +0 -55
  574. data/lib/pangea/resources/aws/wellarchitected/workload_resource.rbs +0 -15
  575. data/lib/pangea/resources/aws/wellarchitected.rb +0 -30
  576. data/lib/pangea/resources/aws.rb +0 -49
  577. data/lib/pangea/resources/aws_acm_certificate/CLAUDE.md +0 -290
  578. data/lib/pangea/resources/aws_acm_certificate/resource.rb +0 -120
  579. data/lib/pangea/resources/aws_acm_certificate/types.rb +0 -153
  580. data/lib/pangea/resources/aws_acm_certificate_validation/CLAUDE.md +0 -437
  581. data/lib/pangea/resources/aws_acm_certificate_validation/resource.rb +0 -75
  582. data/lib/pangea/resources/aws_acm_certificate_validation/types.rb +0 -145
  583. data/lib/pangea/resources/aws_acmpca_certificate_authority/resource.rb +0 -129
  584. data/lib/pangea/resources/aws_acmpca_certificate_authority/types.rb +0 -343
  585. data/lib/pangea/resources/aws_alb_target_group_attachment/resource.rb +0 -67
  586. data/lib/pangea/resources/aws_alb_target_group_attachment/types.rb +0 -46
  587. data/lib/pangea/resources/aws_ami/CLAUDE.md +0 -253
  588. data/lib/pangea/resources/aws_ami/resource.rb +0 -142
  589. data/lib/pangea/resources/aws_ami/types.rb +0 -196
  590. data/lib/pangea/resources/aws_api_gateway_api_key/resource.rb +0 -86
  591. data/lib/pangea/resources/aws_api_gateway_api_key/types.rb +0 -247
  592. data/lib/pangea/resources/aws_api_gateway_deployment/CLAUDE.md +0 -270
  593. data/lib/pangea/resources/aws_api_gateway_deployment/resource.rb +0 -197
  594. data/lib/pangea/resources/aws_api_gateway_deployment/types.rb +0 -199
  595. data/lib/pangea/resources/aws_api_gateway_integration/CLAUDE.md +0 -304
  596. data/lib/pangea/resources/aws_api_gateway_integration/resource.rb +0 -172
  597. data/lib/pangea/resources/aws_api_gateway_integration/types.rb +0 -257
  598. data/lib/pangea/resources/aws_api_gateway_method/CLAUDE.md +0 -235
  599. data/lib/pangea/resources/aws_api_gateway_method/resource.rb +0 -82
  600. data/lib/pangea/resources/aws_api_gateway_method/types.rb +0 -172
  601. data/lib/pangea/resources/aws_api_gateway_resource/CLAUDE.md +0 -215
  602. data/lib/pangea/resources/aws_api_gateway_resource/resource.rb +0 -62
  603. data/lib/pangea/resources/aws_api_gateway_resource/types.rb +0 -129
  604. data/lib/pangea/resources/aws_api_gateway_rest_api/CLAUDE.md +0 -152
  605. data/lib/pangea/resources/aws_api_gateway_rest_api/resource.rb +0 -95
  606. data/lib/pangea/resources/aws_api_gateway_rest_api/types.rb +0 -161
  607. data/lib/pangea/resources/aws_api_gateway_stage/CLAUDE.md +0 -308
  608. data/lib/pangea/resources/aws_api_gateway_stage/resource.rb +0 -335
  609. data/lib/pangea/resources/aws_api_gateway_stage/types.rb +0 -226
  610. data/lib/pangea/resources/aws_api_gateway_usage_plan/resource.rb +0 -122
  611. data/lib/pangea/resources/aws_api_gateway_usage_plan/types.rb +0 -312
  612. data/lib/pangea/resources/aws_api_gateway_usage_plan.rbs +0 -60
  613. data/lib/pangea/resources/aws_application_integration_README.md +0 -453
  614. data/lib/pangea/resources/aws_appstream_fleet/CLAUDE.md +0 -468
  615. data/lib/pangea/resources/aws_appstream_fleet/resource.rb +0 -121
  616. data/lib/pangea/resources/aws_appstream_fleet/types.rb +0 -223
  617. data/lib/pangea/resources/aws_appstream_image_builder/resource.rb +0 -34
  618. data/lib/pangea/resources/aws_appstream_stack/resource.rb +0 -34
  619. data/lib/pangea/resources/aws_appsync_datasource/CLAUDE.md +0 -479
  620. data/lib/pangea/resources/aws_appsync_datasource/resource.rb +0 -152
  621. data/lib/pangea/resources/aws_appsync_datasource/types.rb +0 -176
  622. data/lib/pangea/resources/aws_appsync_datasource.rbs +0 -129
  623. data/lib/pangea/resources/aws_appsync_graphql_api/CLAUDE.md +0 -325
  624. data/lib/pangea/resources/aws_appsync_graphql_api/resource.rb +0 -166
  625. data/lib/pangea/resources/aws_appsync_graphql_api/types.rb +0 -164
  626. data/lib/pangea/resources/aws_appsync_graphql_api.rbs +0 -134
  627. data/lib/pangea/resources/aws_appsync_resolver/CLAUDE.md +0 -459
  628. data/lib/pangea/resources/aws_appsync_resolver/resource.rb +0 -118
  629. data/lib/pangea/resources/aws_appsync_resolver/types.rb +0 -134
  630. data/lib/pangea/resources/aws_appsync_resolver.rbs +0 -86
  631. data/lib/pangea/resources/aws_athena_database/CLAUDE.md +0 -276
  632. data/lib/pangea/resources/aws_athena_database/resource.rb +0 -106
  633. data/lib/pangea/resources/aws_athena_database/types.rb +0 -192
  634. data/lib/pangea/resources/aws_athena_database/types.rbs +0 -38
  635. data/lib/pangea/resources/aws_athena_database.rbs +0 -10
  636. data/lib/pangea/resources/aws_athena_named_query/CLAUDE.md +0 -385
  637. data/lib/pangea/resources/aws_athena_named_query/resource.rb +0 -77
  638. data/lib/pangea/resources/aws_athena_named_query/types.rb +0 -248
  639. data/lib/pangea/resources/aws_athena_named_query/types.rbs +0 -42
  640. data/lib/pangea/resources/aws_athena_named_query.rbs +0 -10
  641. data/lib/pangea/resources/aws_athena_workgroup/CLAUDE.md +0 -315
  642. data/lib/pangea/resources/aws_athena_workgroup/resource.rb +0 -141
  643. data/lib/pangea/resources/aws_athena_workgroup/types.rb +0 -251
  644. data/lib/pangea/resources/aws_athena_workgroup/types.rbs +0 -38
  645. data/lib/pangea/resources/aws_athena_workgroup.rbs +0 -10
  646. data/lib/pangea/resources/aws_auditmanager_assessment.rbs +0 -35
  647. data/lib/pangea/resources/aws_autoscaling_attachment/CLAUDE.md +0 -226
  648. data/lib/pangea/resources/aws_autoscaling_attachment/resource.rb +0 -81
  649. data/lib/pangea/resources/aws_autoscaling_attachment/types.rb +0 -86
  650. data/lib/pangea/resources/aws_autoscaling_group/CLAUDE.md +0 -263
  651. data/lib/pangea/resources/aws_autoscaling_group/resource.rb +0 -175
  652. data/lib/pangea/resources/aws_autoscaling_group/types.rb +0 -236
  653. data/lib/pangea/resources/aws_autoscaling_group_tag/resource.rb +0 -67
  654. data/lib/pangea/resources/aws_autoscaling_group_tag/types.rb +0 -46
  655. data/lib/pangea/resources/aws_autoscaling_lifecycle_hook/CLAUDE.md +0 -357
  656. data/lib/pangea/resources/aws_autoscaling_lifecycle_hook/resource.rb +0 -67
  657. data/lib/pangea/resources/aws_autoscaling_lifecycle_hook/types.rb +0 -46
  658. data/lib/pangea/resources/aws_autoscaling_lifecycle_hook/types.rbs +0 -42
  659. data/lib/pangea/resources/aws_autoscaling_notification/CLAUDE.md +0 -405
  660. data/lib/pangea/resources/aws_autoscaling_notification/resource.rb +0 -67
  661. data/lib/pangea/resources/aws_autoscaling_notification/types.rb +0 -46
  662. data/lib/pangea/resources/aws_autoscaling_notification/types.rbs +0 -41
  663. data/lib/pangea/resources/aws_autoscaling_policy/CLAUDE.md +0 -278
  664. data/lib/pangea/resources/aws_autoscaling_policy/resource.rb +0 -168
  665. data/lib/pangea/resources/aws_autoscaling_policy/types.rb +0 -239
  666. data/lib/pangea/resources/aws_autoscaling_policy_step_adjustment/resource.rb +0 -67
  667. data/lib/pangea/resources/aws_autoscaling_policy_step_adjustment/types.rb +0 -46
  668. data/lib/pangea/resources/aws_autoscaling_policy_target_tracking_scaling_policy/resource.rb +0 -67
  669. data/lib/pangea/resources/aws_autoscaling_policy_target_tracking_scaling_policy/types.rb +0 -46
  670. data/lib/pangea/resources/aws_autoscaling_schedule/CLAUDE.md +0 -219
  671. data/lib/pangea/resources/aws_autoscaling_schedule/resource.rb +0 -67
  672. data/lib/pangea/resources/aws_autoscaling_schedule/types.rb +0 -46
  673. data/lib/pangea/resources/aws_autoscaling_schedule/types.rbs +0 -45
  674. data/lib/pangea/resources/aws_autoscaling_tag/CLAUDE.md +0 -443
  675. data/lib/pangea/resources/aws_autoscaling_tag/resource.rb +0 -119
  676. data/lib/pangea/resources/aws_autoscaling_tag/types.rb +0 -233
  677. data/lib/pangea/resources/aws_autoscaling_tag/types.rbs +0 -60
  678. data/lib/pangea/resources/aws_autoscaling_traffic_source_attachment/resource.rb +0 -67
  679. data/lib/pangea/resources/aws_autoscaling_traffic_source_attachment/types.rb +0 -46
  680. data/lib/pangea/resources/aws_autoscaling_warm_pool/resource.rb +0 -67
  681. data/lib/pangea/resources/aws_autoscaling_warm_pool/types.rb +0 -46
  682. data/lib/pangea/resources/aws_batch_compute_environment/CLAUDE.md +0 -571
  683. data/lib/pangea/resources/aws_batch_compute_environment/resource.rb +0 -158
  684. data/lib/pangea/resources/aws_batch_compute_environment/types.rb +0 -332
  685. data/lib/pangea/resources/aws_batch_compute_environment.rbs +0 -33
  686. data/lib/pangea/resources/aws_batch_job_definition/CLAUDE.md +0 -714
  687. data/lib/pangea/resources/aws_batch_job_definition/resource.rb +0 -253
  688. data/lib/pangea/resources/aws_batch_job_definition/types.rb +0 -548
  689. data/lib/pangea/resources/aws_batch_job_queue/CLAUDE.md +0 -585
  690. data/lib/pangea/resources/aws_batch_job_queue/resource.rb +0 -72
  691. data/lib/pangea/resources/aws_batch_job_queue/types.rb +0 -371
  692. data/lib/pangea/resources/aws_billing_service_account/resource.rb +0 -56
  693. data/lib/pangea/resources/aws_billing_service_account/types.rb +0 -43
  694. data/lib/pangea/resources/aws_blockchain_query/resource.rb +0 -122
  695. data/lib/pangea/resources/aws_blockchain_query/types.rb +0 -339
  696. data/lib/pangea/resources/aws_blockchain_token_balance/resource.rb +0 -94
  697. data/lib/pangea/resources/aws_blockchain_token_balance/types.rb +0 -319
  698. data/lib/pangea/resources/aws_braket_device/CLAUDE.md +0 -331
  699. data/lib/pangea/resources/aws_braket_device/resource.rb +0 -118
  700. data/lib/pangea/resources/aws_braket_device/types.rb +0 -242
  701. data/lib/pangea/resources/aws_braket_device_capabilities/resource.rb +0 -86
  702. data/lib/pangea/resources/aws_braket_device_capabilities/types.rb +0 -251
  703. data/lib/pangea/resources/aws_braket_job/resource.rb +0 -162
  704. data/lib/pangea/resources/aws_braket_job/types.rb +0 -265
  705. data/lib/pangea/resources/aws_braket_job_queue/resource.rb +0 -111
  706. data/lib/pangea/resources/aws_braket_job_queue/types.rb +0 -246
  707. data/lib/pangea/resources/aws_braket_local_simulator/resource.rb +0 -149
  708. data/lib/pangea/resources/aws_braket_local_simulator/types.rb +0 -301
  709. data/lib/pangea/resources/aws_braket_quantum_task/CLAUDE.md +0 -188
  710. data/lib/pangea/resources/aws_braket_quantum_task/resource.rb +0 -90
  711. data/lib/pangea/resources/aws_braket_quantum_task/types.rb +0 -171
  712. data/lib/pangea/resources/aws_budgets_budget/CLAUDE.md +0 -304
  713. data/lib/pangea/resources/aws_budgets_budget/resource.rb +0 -199
  714. data/lib/pangea/resources/aws_budgets_budget/types.rb +0 -337
  715. data/lib/pangea/resources/aws_budgets_budget_action/CLAUDE.md +0 -357
  716. data/lib/pangea/resources/aws_budgets_budget_action/resource.rb +0 -201
  717. data/lib/pangea/resources/aws_budgets_budget_action/types.rb +0 -417
  718. data/lib/pangea/resources/aws_ce_anomaly_detector/resource.rb +0 -65
  719. data/lib/pangea/resources/aws_ce_anomaly_detector/types.rb +0 -72
  720. data/lib/pangea/resources/aws_ce_anomaly_subscription/resource.rb +0 -62
  721. data/lib/pangea/resources/aws_ce_anomaly_subscription/types.rb +0 -59
  722. data/lib/pangea/resources/aws_ce_cost_category/resource.rb +0 -204
  723. data/lib/pangea/resources/aws_ce_cost_category/types.rb +0 -399
  724. data/lib/pangea/resources/aws_cloudformation_stack/CLAUDE.md +0 -244
  725. data/lib/pangea/resources/aws_cloudformation_stack/resource.rb +0 -139
  726. data/lib/pangea/resources/aws_cloudformation_stack/types.rb +0 -244
  727. data/lib/pangea/resources/aws_cloudformation_stack/types.rbs +0 -46
  728. data/lib/pangea/resources/aws_cloudformation_stack_set/CLAUDE.md +0 -309
  729. data/lib/pangea/resources/aws_cloudformation_stack_set/resource.rb +0 -152
  730. data/lib/pangea/resources/aws_cloudformation_stack_set/types.rb +0 -311
  731. data/lib/pangea/resources/aws_cloudformation_stack_set/types.rbs +0 -48
  732. data/lib/pangea/resources/aws_cloudfront_cache_policy/resource.rb +0 -84
  733. data/lib/pangea/resources/aws_cloudfront_cache_policy/types.rb +0 -56
  734. data/lib/pangea/resources/aws_cloudfront_distribution/CLAUDE.md +0 -62
  735. data/lib/pangea/resources/aws_cloudfront_distribution/resource.rb +0 -251
  736. data/lib/pangea/resources/aws_cloudfront_distribution/types.rb +0 -415
  737. data/lib/pangea/resources/aws_cloudfront_key_group/resource.rb +0 -71
  738. data/lib/pangea/resources/aws_cloudfront_key_group/types.rb +0 -191
  739. data/lib/pangea/resources/aws_cloudfront_origin_access_control/resource.rb +0 -68
  740. data/lib/pangea/resources/aws_cloudfront_origin_access_control/types.rb +0 -100
  741. data/lib/pangea/resources/aws_cloudfront_origin_request_policy/resource.rb +0 -76
  742. data/lib/pangea/resources/aws_cloudfront_origin_request_policy/types.rb +0 -49
  743. data/lib/pangea/resources/aws_cloudfront_public_key/resource.rb +0 -69
  744. data/lib/pangea/resources/aws_cloudfront_public_key/types.rb +0 -177
  745. data/lib/pangea/resources/aws_cloudfront_public_key.rbs +0 -30
  746. data/lib/pangea/resources/aws_cloudfront_response_headers_policy/resource.rb +0 -175
  747. data/lib/pangea/resources/aws_cloudfront_response_headers_policy/types.rb +0 -385
  748. data/lib/pangea/resources/aws_cloudtrail/resource.rb +0 -133
  749. data/lib/pangea/resources/aws_cloudtrail/types.rb +0 -364
  750. data/lib/pangea/resources/aws_cloudtrail.rbs +0 -10
  751. data/lib/pangea/resources/aws_cloudtrail_event_data_store/resource.rb +0 -64
  752. data/lib/pangea/resources/aws_cloudtrail_event_data_store/types.rb +0 -73
  753. data/lib/pangea/resources/aws_cloudtrail_event_data_store.rbs +0 -10
  754. data/lib/pangea/resources/aws_cloudwatch_anomaly_detector/resource.rb +0 -103
  755. data/lib/pangea/resources/aws_cloudwatch_composite_alarm/CLAUDE.md +0 -288
  756. data/lib/pangea/resources/aws_cloudwatch_composite_alarm/resource.rb +0 -133
  757. data/lib/pangea/resources/aws_cloudwatch_composite_alarm/types.rb +0 -134
  758. data/lib/pangea/resources/aws_cloudwatch_dashboard/CLAUDE.md +0 -342
  759. data/lib/pangea/resources/aws_cloudwatch_dashboard/resource.rb +0 -156
  760. data/lib/pangea/resources/aws_cloudwatch_dashboard/types.rb +0 -302
  761. data/lib/pangea/resources/aws_cloudwatch_event_rule/CLAUDE.md +0 -568
  762. data/lib/pangea/resources/aws_cloudwatch_event_rule/resource.rb +0 -143
  763. data/lib/pangea/resources/aws_cloudwatch_event_rule/types.rb +0 -181
  764. data/lib/pangea/resources/aws_cloudwatch_event_target/CLAUDE.md +0 -625
  765. data/lib/pangea/resources/aws_cloudwatch_event_target/resource.rb +0 -226
  766. data/lib/pangea/resources/aws_cloudwatch_event_target/types.rb +0 -231
  767. data/lib/pangea/resources/aws_cloudwatch_insight_rule/resource.rb +0 -101
  768. data/lib/pangea/resources/aws_cloudwatch_log_data_protection_policy/resource.rb +0 -99
  769. data/lib/pangea/resources/aws_cloudwatch_log_destination/CLAUDE.md +0 -388
  770. data/lib/pangea/resources/aws_cloudwatch_log_destination/resource.rb +0 -103
  771. data/lib/pangea/resources/aws_cloudwatch_log_destination/types.rb +0 -103
  772. data/lib/pangea/resources/aws_cloudwatch_log_destination_policy/CLAUDE.md +0 -479
  773. data/lib/pangea/resources/aws_cloudwatch_log_destination_policy/resource.rb +0 -132
  774. data/lib/pangea/resources/aws_cloudwatch_log_destination_policy/types.rb +0 -130
  775. data/lib/pangea/resources/aws_cloudwatch_log_group/CLAUDE.md +0 -175
  776. data/lib/pangea/resources/aws_cloudwatch_log_group/resource.rb +0 -120
  777. data/lib/pangea/resources/aws_cloudwatch_log_group/types.rb +0 -138
  778. data/lib/pangea/resources/aws_cloudwatch_log_metric_filter/CLAUDE.md +0 -502
  779. data/lib/pangea/resources/aws_cloudwatch_log_metric_filter/resource.rb +0 -130
  780. data/lib/pangea/resources/aws_cloudwatch_log_metric_filter/types.rb +0 -139
  781. data/lib/pangea/resources/aws_cloudwatch_log_resource_policy/resource.rb +0 -82
  782. data/lib/pangea/resources/aws_cloudwatch_log_stream/CLAUDE.md +0 -260
  783. data/lib/pangea/resources/aws_cloudwatch_log_stream/resource.rb +0 -90
  784. data/lib/pangea/resources/aws_cloudwatch_log_stream/types.rb +0 -130
  785. data/lib/pangea/resources/aws_cloudwatch_log_subscription_filter/CLAUDE.md +0 -473
  786. data/lib/pangea/resources/aws_cloudwatch_log_subscription_filter/resource.rb +0 -105
  787. data/lib/pangea/resources/aws_cloudwatch_log_subscription_filter/types.rb +0 -142
  788. data/lib/pangea/resources/aws_cloudwatch_metric_alarm/CLAUDE.md +0 -317
  789. data/lib/pangea/resources/aws_cloudwatch_metric_alarm/resource.rb +0 -198
  790. data/lib/pangea/resources/aws_cloudwatch_metric_alarm/types.rb +0 -242
  791. data/lib/pangea/resources/aws_cloudwatch_query_definition/resource.rb +0 -93
  792. data/lib/pangea/resources/aws_codeartifact_domain/CLAUDE.md +0 -54
  793. data/lib/pangea/resources/aws_codeartifact_domain/resource.rb +0 -126
  794. data/lib/pangea/resources/aws_codeartifact_domain/types.rb +0 -131
  795. data/lib/pangea/resources/aws_codeartifact_repository/CLAUDE.md +0 -55
  796. data/lib/pangea/resources/aws_codeartifact_repository/resource.rb +0 -176
  797. data/lib/pangea/resources/aws_codeartifact_repository/types.rb +0 -196
  798. data/lib/pangea/resources/aws_codebuild_project/CLAUDE.md +0 -304
  799. data/lib/pangea/resources/aws_codebuild_project/resource.rb +0 -254
  800. data/lib/pangea/resources/aws_codebuild_project/types.rb +0 -288
  801. data/lib/pangea/resources/aws_codebuild_project/types.rbs +0 -140
  802. data/lib/pangea/resources/aws_codebuild_project.rbs +0 -10
  803. data/lib/pangea/resources/aws_codecommit_repository/CLAUDE.md +0 -150
  804. data/lib/pangea/resources/aws_codecommit_repository/resource.rb +0 -100
  805. data/lib/pangea/resources/aws_codecommit_repository/types.rb +0 -122
  806. data/lib/pangea/resources/aws_codecommit_repository/types.rbs +0 -55
  807. data/lib/pangea/resources/aws_codecommit_repository.rbs +0 -10
  808. data/lib/pangea/resources/aws_codedeploy_application/CLAUDE.md +0 -312
  809. data/lib/pangea/resources/aws_codedeploy_application/resource.rb +0 -81
  810. data/lib/pangea/resources/aws_codedeploy_application/types.rb +0 -98
  811. data/lib/pangea/resources/aws_codedeploy_application.rbs +0 -10
  812. data/lib/pangea/resources/aws_codedeploy_deployment_config/CLAUDE.md +0 -354
  813. data/lib/pangea/resources/aws_codedeploy_deployment_config/resource.rb +0 -97
  814. data/lib/pangea/resources/aws_codedeploy_deployment_config/types.rb +0 -143
  815. data/lib/pangea/resources/aws_codedeploy_deployment_config.rbs +0 -10
  816. data/lib/pangea/resources/aws_codedeploy_deployment_group/CLAUDE.md +0 -342
  817. data/lib/pangea/resources/aws_codedeploy_deployment_group/resource.rb +0 -224
  818. data/lib/pangea/resources/aws_codedeploy_deployment_group/types.rb +0 -249
  819. data/lib/pangea/resources/aws_codedeploy_deployment_group.rbs +0 -10
  820. data/lib/pangea/resources/aws_codepipeline/CLAUDE.md +0 -592
  821. data/lib/pangea/resources/aws_codepipeline/resource.rb +0 -126
  822. data/lib/pangea/resources/aws_codepipeline/types.rb +0 -212
  823. data/lib/pangea/resources/aws_codepipeline.rbs +0 -10
  824. data/lib/pangea/resources/aws_codepipeline_webhook/CLAUDE.md +0 -449
  825. data/lib/pangea/resources/aws_codepipeline_webhook/resource.rb +0 -94
  826. data/lib/pangea/resources/aws_codepipeline_webhook/types.rb +0 -134
  827. data/lib/pangea/resources/aws_codepipeline_webhook.rbs +0 -10
  828. data/lib/pangea/resources/aws_codestar_connection/CLAUDE.md +0 -55
  829. data/lib/pangea/resources/aws_codestar_connection/resource.rb +0 -136
  830. data/lib/pangea/resources/aws_codestar_connection/types.rb +0 -191
  831. data/lib/pangea/resources/aws_cognito_identity_pool/CLAUDE.md +0 -712
  832. data/lib/pangea/resources/aws_cognito_identity_pool/resource.rb +0 -110
  833. data/lib/pangea/resources/aws_cognito_identity_pool/types.rb +0 -343
  834. data/lib/pangea/resources/aws_cognito_identity_provider/resource.rb +0 -91
  835. data/lib/pangea/resources/aws_cognito_identity_provider/types.rb +0 -480
  836. data/lib/pangea/resources/aws_cognito_user/resource.rb +0 -81
  837. data/lib/pangea/resources/aws_cognito_user/types.rb +0 -145
  838. data/lib/pangea/resources/aws_cognito_user_group/resource.rb +0 -64
  839. data/lib/pangea/resources/aws_cognito_user_group/types.rb +0 -130
  840. data/lib/pangea/resources/aws_cognito_user_pool/CLAUDE.md +0 -431
  841. data/lib/pangea/resources/aws_cognito_user_pool/resource.rb +0 -251
  842. data/lib/pangea/resources/aws_cognito_user_pool/types.rb +0 -359
  843. data/lib/pangea/resources/aws_cognito_user_pool_client/CLAUDE.md +0 -542
  844. data/lib/pangea/resources/aws_cognito_user_pool_client/resource.rb +0 -139
  845. data/lib/pangea/resources/aws_cognito_user_pool_client/types.rb +0 -394
  846. data/lib/pangea/resources/aws_cognito_user_pool_domain/CLAUDE.md +0 -524
  847. data/lib/pangea/resources/aws_cognito_user_pool_domain/resource.rb +0 -71
  848. data/lib/pangea/resources/aws_cognito_user_pool_domain/types.rb +0 -252
  849. data/lib/pangea/resources/aws_config_config_rule/CLAUDE.md +0 -381
  850. data/lib/pangea/resources/aws_config_config_rule/resource.rb +0 -190
  851. data/lib/pangea/resources/aws_config_config_rule/types.rb +0 -231
  852. data/lib/pangea/resources/aws_config_config_rule.rbs +0 -10
  853. data/lib/pangea/resources/aws_config_configuration_recorder/CLAUDE.md +0 -247
  854. data/lib/pangea/resources/aws_config_configuration_recorder/resource.rb +0 -139
  855. data/lib/pangea/resources/aws_config_configuration_recorder/types.rb +0 -156
  856. data/lib/pangea/resources/aws_config_configuration_recorder.rbs +0 -10
  857. data/lib/pangea/resources/aws_config_delivery_channel/CLAUDE.md +0 -290
  858. data/lib/pangea/resources/aws_config_delivery_channel/resource.rb +0 -141
  859. data/lib/pangea/resources/aws_config_delivery_channel/types.rb +0 -195
  860. data/lib/pangea/resources/aws_config_delivery_channel.rbs +0 -10
  861. data/lib/pangea/resources/aws_config_remediation_configuration/resource.rb +0 -77
  862. data/lib/pangea/resources/aws_config_remediation_configuration/types.rb +0 -119
  863. data/lib/pangea/resources/aws_config_remediation_configuration.rbs +0 -10
  864. data/lib/pangea/resources/aws_cur_report_definition/resource.rb +0 -63
  865. data/lib/pangea/resources/aws_cur_report_definition/types.rb +0 -80
  866. data/lib/pangea/resources/aws_customer_gateway/CLAUDE.md +0 -458
  867. data/lib/pangea/resources/aws_customer_gateway/resource.rb +0 -93
  868. data/lib/pangea/resources/aws_customer_gateway/types.rb +0 -117
  869. data/lib/pangea/resources/aws_db_cluster_snapshot/resource.rb +0 -95
  870. data/lib/pangea/resources/aws_db_cluster_snapshot/types.rb +0 -245
  871. data/lib/pangea/resources/aws_db_instance/CLAUDE.md +0 -407
  872. data/lib/pangea/resources/aws_db_instance/resource.rb +0 -126
  873. data/lib/pangea/resources/aws_db_instance/types.rb +0 -260
  874. data/lib/pangea/resources/aws_db_parameter_group/CLAUDE.md +0 -285
  875. data/lib/pangea/resources/aws_db_parameter_group/resource.rb +0 -94
  876. data/lib/pangea/resources/aws_db_parameter_group/types.rb +0 -300
  877. data/lib/pangea/resources/aws_db_snapshot/resource.rb +0 -92
  878. data/lib/pangea/resources/aws_db_snapshot/types.rb +0 -175
  879. data/lib/pangea/resources/aws_db_subnet_group/CLAUDE.md +0 -189
  880. data/lib/pangea/resources/aws_db_subnet_group/resource.rb +0 -77
  881. data/lib/pangea/resources/aws_db_subnet_group/types.rb +0 -102
  882. data/lib/pangea/resources/aws_default_network_acl/resource.rb +0 -67
  883. data/lib/pangea/resources/aws_default_network_acl/types.rb +0 -46
  884. data/lib/pangea/resources/aws_default_route_table/resource.rb +0 -67
  885. data/lib/pangea/resources/aws_default_route_table/types.rb +0 -46
  886. data/lib/pangea/resources/aws_default_security_group/resource.rb +0 -67
  887. data/lib/pangea/resources/aws_default_security_group/types.rb +0 -46
  888. data/lib/pangea/resources/aws_default_vpc_dhcp_options/resource.rb +0 -67
  889. data/lib/pangea/resources/aws_default_vpc_dhcp_options/types.rb +0 -46
  890. data/lib/pangea/resources/aws_detective_graph.rbs +0 -29
  891. data/lib/pangea/resources/aws_device_farm_project/CLAUDE.md +0 -299
  892. data/lib/pangea/resources/aws_device_farm_project/resource.rb +0 -78
  893. data/lib/pangea/resources/aws_device_farm_project/types.rb +0 -51
  894. data/lib/pangea/resources/aws_device_farm_project.rbs +0 -33
  895. data/lib/pangea/resources/aws_directory_service_directory/resource.rb +0 -34
  896. data/lib/pangea/resources/aws_docdb_certificate/CLAUDE.md +0 -96
  897. data/lib/pangea/resources/aws_docdb_certificate/resource.rb +0 -74
  898. data/lib/pangea/resources/aws_docdb_certificate/types.rb +0 -48
  899. data/lib/pangea/resources/aws_docdb_cluster/CLAUDE.md +0 -96
  900. data/lib/pangea/resources/aws_docdb_cluster/resource.rb +0 -96
  901. data/lib/pangea/resources/aws_docdb_cluster/types.rb +0 -70
  902. data/lib/pangea/resources/aws_docdb_cluster_endpoint/CLAUDE.md +0 -96
  903. data/lib/pangea/resources/aws_docdb_cluster_endpoint/resource.rb +0 -74
  904. data/lib/pangea/resources/aws_docdb_cluster_endpoint/types.rb +0 -52
  905. data/lib/pangea/resources/aws_docdb_cluster_instance/CLAUDE.md +0 -96
  906. data/lib/pangea/resources/aws_docdb_cluster_instance/resource.rb +0 -89
  907. data/lib/pangea/resources/aws_docdb_cluster_instance/types.rb +0 -61
  908. data/lib/pangea/resources/aws_docdb_cluster_parameter_group/CLAUDE.md +0 -96
  909. data/lib/pangea/resources/aws_docdb_cluster_parameter_group/resource.rb +0 -71
  910. data/lib/pangea/resources/aws_docdb_cluster_parameter_group/types.rb +0 -51
  911. data/lib/pangea/resources/aws_docdb_cluster_snapshot/CLAUDE.md +0 -96
  912. data/lib/pangea/resources/aws_docdb_cluster_snapshot/resource.rb +0 -80
  913. data/lib/pangea/resources/aws_docdb_cluster_snapshot/types.rb +0 -49
  914. data/lib/pangea/resources/aws_docdb_event_subscription/CLAUDE.md +0 -96
  915. data/lib/pangea/resources/aws_docdb_event_subscription/resource.rb +0 -74
  916. data/lib/pangea/resources/aws_docdb_event_subscription/types.rb +0 -53
  917. data/lib/pangea/resources/aws_docdb_global_cluster/CLAUDE.md +0 -96
  918. data/lib/pangea/resources/aws_docdb_global_cluster/resource.rb +0 -76
  919. data/lib/pangea/resources/aws_docdb_global_cluster/types.rb +0 -54
  920. data/lib/pangea/resources/aws_docdb_subnet_group/CLAUDE.md +0 -96
  921. data/lib/pangea/resources/aws_docdb_subnet_group/resource.rb +0 -70
  922. data/lib/pangea/resources/aws_docdb_subnet_group/types.rb +0 -50
  923. data/lib/pangea/resources/aws_drs_launch_configuration_template/resource.rb +0 -183
  924. data/lib/pangea/resources/aws_drs_replication_configuration_template/resource.rb +0 -156
  925. data/lib/pangea/resources/aws_dynamodb_global_table/CLAUDE.md +0 -184
  926. data/lib/pangea/resources/aws_dynamodb_global_table/resource.rb +0 -134
  927. data/lib/pangea/resources/aws_dynamodb_global_table/types.rb +0 -272
  928. data/lib/pangea/resources/aws_dynamodb_global_table/types.rbs +0 -39
  929. data/lib/pangea/resources/aws_dynamodb_kinesis_streaming_destination/resource.rb +0 -70
  930. data/lib/pangea/resources/aws_dynamodb_kinesis_streaming_destination/types.rb +0 -76
  931. data/lib/pangea/resources/aws_dynamodb_table/CLAUDE.md +0 -130
  932. data/lib/pangea/resources/aws_dynamodb_table/resource.rb +0 -224
  933. data/lib/pangea/resources/aws_dynamodb_table/types.rb +0 -408
  934. data/lib/pangea/resources/aws_dynamodb_table/types.rbs +0 -55
  935. data/lib/pangea/resources/aws_dynamodb_table_export/resource.rb +0 -85
  936. data/lib/pangea/resources/aws_dynamodb_table_export/types.rb +0 -98
  937. data/lib/pangea/resources/aws_ebs_volume/CLAUDE.md +0 -275
  938. data/lib/pangea/resources/aws_ebs_volume/resource.rb +0 -114
  939. data/lib/pangea/resources/aws_ebs_volume/types.rb +0 -250
  940. data/lib/pangea/resources/aws_ec2_ami_launch_permission/resource.rb +0 -67
  941. data/lib/pangea/resources/aws_ec2_ami_launch_permission/types.rb +0 -46
  942. data/lib/pangea/resources/aws_ec2_availability_zone_group/resource.rb +0 -67
  943. data/lib/pangea/resources/aws_ec2_availability_zone_group/types.rb +0 -46
  944. data/lib/pangea/resources/aws_ec2_capacity_block_reservation/resource.rb +0 -67
  945. data/lib/pangea/resources/aws_ec2_capacity_block_reservation/types.rb +0 -46
  946. data/lib/pangea/resources/aws_ec2_capacity_reservation/resource.rb +0 -67
  947. data/lib/pangea/resources/aws_ec2_capacity_reservation/types.rb +0 -46
  948. data/lib/pangea/resources/aws_ec2_dedicated_host/resource.rb +0 -67
  949. data/lib/pangea/resources/aws_ec2_dedicated_host/types.rb +0 -46
  950. data/lib/pangea/resources/aws_ec2_fleet/resource.rb +0 -67
  951. data/lib/pangea/resources/aws_ec2_fleet/types.rb +0 -46
  952. data/lib/pangea/resources/aws_ec2_host_resource_group_association/resource.rb +0 -67
  953. data/lib/pangea/resources/aws_ec2_host_resource_group_association/types.rb +0 -46
  954. data/lib/pangea/resources/aws_ec2_image_block_public_access/resource.rb +0 -67
  955. data/lib/pangea/resources/aws_ec2_image_block_public_access/types.rb +0 -46
  956. data/lib/pangea/resources/aws_ec2_instance_metadata_defaults/resource.rb +0 -67
  957. data/lib/pangea/resources/aws_ec2_instance_metadata_defaults/types.rb +0 -46
  958. data/lib/pangea/resources/aws_ec2_serial_console_access/resource.rb +0 -67
  959. data/lib/pangea/resources/aws_ec2_serial_console_access/types.rb +0 -46
  960. data/lib/pangea/resources/aws_ec2_snapshot_block_public_access/resource.rb +0 -67
  961. data/lib/pangea/resources/aws_ec2_snapshot_block_public_access/types.rb +0 -46
  962. data/lib/pangea/resources/aws_ec2_spot_datafeed_subscription/resource.rb +0 -67
  963. data/lib/pangea/resources/aws_ec2_spot_datafeed_subscription/types.rb +0 -46
  964. data/lib/pangea/resources/aws_ec2_spot_fleet_request/resource.rb +0 -67
  965. data/lib/pangea/resources/aws_ec2_spot_fleet_request/types.rb +0 -46
  966. data/lib/pangea/resources/aws_ec2_spot_instance_request/resource.rb +0 -67
  967. data/lib/pangea/resources/aws_ec2_spot_instance_request/types.rb +0 -46
  968. data/lib/pangea/resources/aws_ec2_tag/resource.rb +0 -67
  969. data/lib/pangea/resources/aws_ec2_tag/types.rb +0 -46
  970. data/lib/pangea/resources/aws_ec2_transit_gateway/CLAUDE.md +0 -220
  971. data/lib/pangea/resources/aws_ec2_transit_gateway/resource.rb +0 -114
  972. data/lib/pangea/resources/aws_ec2_transit_gateway/types.rb +0 -124
  973. data/lib/pangea/resources/aws_ec2_transit_gateway.rbs +0 -29
  974. data/lib/pangea/resources/aws_ec2_transit_gateway_multicast_domain/resource.rb +0 -67
  975. data/lib/pangea/resources/aws_ec2_transit_gateway_multicast_domain/types.rb +0 -46
  976. data/lib/pangea/resources/aws_ec2_transit_gateway_multicast_domain_association/resource.rb +0 -67
  977. data/lib/pangea/resources/aws_ec2_transit_gateway_multicast_domain_association/types.rb +0 -46
  978. data/lib/pangea/resources/aws_ec2_transit_gateway_multicast_group_member/resource.rb +0 -67
  979. data/lib/pangea/resources/aws_ec2_transit_gateway_multicast_group_member/types.rb +0 -46
  980. data/lib/pangea/resources/aws_ec2_transit_gateway_route/CLAUDE.md +0 -458
  981. data/lib/pangea/resources/aws_ec2_transit_gateway_route/resource.rb +0 -81
  982. data/lib/pangea/resources/aws_ec2_transit_gateway_route/types.rb +0 -233
  983. data/lib/pangea/resources/aws_ec2_transit_gateway_route.rbs +0 -27
  984. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table/CLAUDE.md +0 -384
  985. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table/resource.rb +0 -77
  986. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table/types.rb +0 -171
  987. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table.rbs +0 -24
  988. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_association/CLAUDE.md +0 -409
  989. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_association/resource.rb +0 -74
  990. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_association/types.rb +0 -167
  991. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_association.rbs +0 -25
  992. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_propagation/CLAUDE.md +0 -433
  993. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_propagation/resource.rb +0 -70
  994. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_propagation/types.rb +0 -213
  995. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_propagation.rbs +0 -25
  996. data/lib/pangea/resources/aws_ec2_transit_gateway_vpc_attachment/CLAUDE.md +0 -326
  997. data/lib/pangea/resources/aws_ec2_transit_gateway_vpc_attachment/resource.rb +0 -101
  998. data/lib/pangea/resources/aws_ec2_transit_gateway_vpc_attachment/types.rb +0 -152
  999. data/lib/pangea/resources/aws_ec2_transit_gateway_vpc_attachment.rbs +0 -30
  1000. data/lib/pangea/resources/aws_ecr_lifecycle_policy/CLAUDE.md +0 -56
  1001. data/lib/pangea/resources/aws_ecr_lifecycle_policy/resource.rb +0 -164
  1002. data/lib/pangea/resources/aws_ecr_lifecycle_policy/types.rb +0 -220
  1003. data/lib/pangea/resources/aws_ecr_replication_configuration/CLAUDE.md +0 -55
  1004. data/lib/pangea/resources/aws_ecr_replication_configuration/resource.rb +0 -147
  1005. data/lib/pangea/resources/aws_ecr_replication_configuration/types.rb +0 -169
  1006. data/lib/pangea/resources/aws_ecr_repository/CLAUDE.md +0 -54
  1007. data/lib/pangea/resources/aws_ecr_repository/resource.rb +0 -143
  1008. data/lib/pangea/resources/aws_ecr_repository/types.rb +0 -128
  1009. data/lib/pangea/resources/aws_ecr_repository_policy/CLAUDE.md +0 -55
  1010. data/lib/pangea/resources/aws_ecr_repository_policy/resource.rb +0 -133
  1011. data/lib/pangea/resources/aws_ecr_repository_policy/types.rb +0 -193
  1012. data/lib/pangea/resources/aws_ecs_capacity_provider/resource.rb +0 -106
  1013. data/lib/pangea/resources/aws_ecs_capacity_provider/types.rb +0 -114
  1014. data/lib/pangea/resources/aws_ecs_cluster/CLAUDE.md +0 -218
  1015. data/lib/pangea/resources/aws_ecs_cluster/resource.rb +0 -130
  1016. data/lib/pangea/resources/aws_ecs_cluster/types.rb +0 -155
  1017. data/lib/pangea/resources/aws_ecs_cluster_capacity_providers/CLAUDE.md +0 -191
  1018. data/lib/pangea/resources/aws_ecs_cluster_capacity_providers/resource.rb +0 -79
  1019. data/lib/pangea/resources/aws_ecs_cluster_capacity_providers/types.rb +0 -171
  1020. data/lib/pangea/resources/aws_ecs_service/CLAUDE.md +0 -256
  1021. data/lib/pangea/resources/aws_ecs_service/resource.rb +0 -242
  1022. data/lib/pangea/resources/aws_ecs_service/types.rb +0 -327
  1023. data/lib/pangea/resources/aws_ecs_task_definition/CLAUDE.md +0 -281
  1024. data/lib/pangea/resources/aws_ecs_task_definition/resource.rb +0 -318
  1025. data/lib/pangea/resources/aws_ecs_task_definition/types.rb +0 -439
  1026. data/lib/pangea/resources/aws_ecs_task_definition/types_old.rb +0 -439
  1027. data/lib/pangea/resources/aws_efs_access_point/CLAUDE.md +0 -504
  1028. data/lib/pangea/resources/aws_efs_access_point/resource.rb +0 -77
  1029. data/lib/pangea/resources/aws_efs_access_point/types.rb +0 -185
  1030. data/lib/pangea/resources/aws_efs_file_system/CLAUDE.md +0 -279
  1031. data/lib/pangea/resources/aws_efs_file_system/resource.rb +0 -80
  1032. data/lib/pangea/resources/aws_efs_file_system/types.rb +0 -106
  1033. data/lib/pangea/resources/aws_efs_mount_target/CLAUDE.md +0 -361
  1034. data/lib/pangea/resources/aws_efs_mount_target/resource.rb +0 -68
  1035. data/lib/pangea/resources/aws_efs_mount_target/types.rb +0 -100
  1036. data/lib/pangea/resources/aws_eip/CLAUDE.md +0 -325
  1037. data/lib/pangea/resources/aws_eip/resource.rb +0 -105
  1038. data/lib/pangea/resources/aws_eip/types.rb +0 -102
  1039. data/lib/pangea/resources/aws_eip_association/CLAUDE.md +0 -96
  1040. data/lib/pangea/resources/aws_eip_association/resource.rb +0 -77
  1041. data/lib/pangea/resources/aws_eip_association/types.rb +0 -88
  1042. data/lib/pangea/resources/aws_eks_access_entry/resource.rb +0 -92
  1043. data/lib/pangea/resources/aws_eks_access_entry/types.rb +0 -110
  1044. data/lib/pangea/resources/aws_eks_addon/CLAUDE.md +0 -271
  1045. data/lib/pangea/resources/aws_eks_addon/resource.rb +0 -153
  1046. data/lib/pangea/resources/aws_eks_addon/types.rb +0 -199
  1047. data/lib/pangea/resources/aws_eks_cluster/CLAUDE.md +0 -198
  1048. data/lib/pangea/resources/aws_eks_cluster/resource.rb +0 -165
  1049. data/lib/pangea/resources/aws_eks_cluster/types.rb +0 -195
  1050. data/lib/pangea/resources/aws_eks_fargate_profile/CLAUDE.md +0 -266
  1051. data/lib/pangea/resources/aws_eks_fargate_profile/resource.rb +0 -152
  1052. data/lib/pangea/resources/aws_eks_fargate_profile/types.rb +0 -145
  1053. data/lib/pangea/resources/aws_eks_node_group/CLAUDE.md +0 -258
  1054. data/lib/pangea/resources/aws_eks_node_group/resource.rb +0 -224
  1055. data/lib/pangea/resources/aws_eks_node_group/types.rb +0 -260
  1056. data/lib/pangea/resources/aws_elasticache_cluster/CLAUDE.md +0 -240
  1057. data/lib/pangea/resources/aws_elasticache_cluster/resource.rb +0 -134
  1058. data/lib/pangea/resources/aws_elasticache_cluster/types.rb +0 -286
  1059. data/lib/pangea/resources/aws_elasticache_cluster/types.rbs +0 -41
  1060. data/lib/pangea/resources/aws_elasticache_parameter_group/CLAUDE.md +0 -334
  1061. data/lib/pangea/resources/aws_elasticache_parameter_group/resource.rb +0 -94
  1062. data/lib/pangea/resources/aws_elasticache_parameter_group/types.rb +0 -295
  1063. data/lib/pangea/resources/aws_elasticache_subnet_group/CLAUDE.md +0 -286
  1064. data/lib/pangea/resources/aws_elasticache_subnet_group/resource.rb +0 -79
  1065. data/lib/pangea/resources/aws_elasticache_subnet_group/types.rb +0 -159
  1066. data/lib/pangea/resources/aws_elb_attachment/resource.rb +0 -67
  1067. data/lib/pangea/resources/aws_elb_attachment/types.rb +0 -46
  1068. data/lib/pangea/resources/aws_elb_service_account/resource.rb +0 -67
  1069. data/lib/pangea/resources/aws_elb_service_account/types.rb +0 -46
  1070. data/lib/pangea/resources/aws_elemental_data_plane_channel/resource.rb +0 -74
  1071. data/lib/pangea/resources/aws_elemental_data_plane_channel/types.rb +0 -66
  1072. data/lib/pangea/resources/aws_emr_cluster/CLAUDE.md +0 -660
  1073. data/lib/pangea/resources/aws_emr_cluster/resource.rb +0 -324
  1074. data/lib/pangea/resources/aws_emr_cluster/types.rb +0 -496
  1075. data/lib/pangea/resources/aws_emr_cluster/types.rbs +0 -67
  1076. data/lib/pangea/resources/aws_emr_instance_group/CLAUDE.md +0 -586
  1077. data/lib/pangea/resources/aws_emr_instance_group/resource.rb +0 -185
  1078. data/lib/pangea/resources/aws_emr_instance_group/types.rb +0 -420
  1079. data/lib/pangea/resources/aws_emr_instance_group/types.rbs +0 -51
  1080. data/lib/pangea/resources/aws_emr_step/CLAUDE.md +0 -560
  1081. data/lib/pangea/resources/aws_emr_step/resource.rb +0 -96
  1082. data/lib/pangea/resources/aws_emr_step/types.rb +0 -389
  1083. data/lib/pangea/resources/aws_emr_step/types.rbs +0 -46
  1084. data/lib/pangea/resources/aws_eventbridge_bus/CLAUDE.md +0 -208
  1085. data/lib/pangea/resources/aws_eventbridge_bus/resource.rb +0 -78
  1086. data/lib/pangea/resources/aws_eventbridge_bus/types.rb +0 -177
  1087. data/lib/pangea/resources/aws_eventbridge_bus/types.rbs +0 -32
  1088. data/lib/pangea/resources/aws_eventbridge_rule/CLAUDE.md +0 -232
  1089. data/lib/pangea/resources/aws_eventbridge_rule/resource.rb +0 -95
  1090. data/lib/pangea/resources/aws_eventbridge_rule/types.rb +0 -332
  1091. data/lib/pangea/resources/aws_eventbridge_rule/types.rbs +0 -41
  1092. data/lib/pangea/resources/aws_eventbridge_target/CLAUDE.md +0 -260
  1093. data/lib/pangea/resources/aws_eventbridge_target/resource.rb +0 -220
  1094. data/lib/pangea/resources/aws_eventbridge_target/types.rb +0 -483
  1095. data/lib/pangea/resources/aws_eventbridge_target/types.rbs +0 -58
  1096. data/lib/pangea/resources/aws_extended_resources_CLAUDE.md +0 -395
  1097. data/lib/pangea/resources/aws_fsx_lustre_filesystem/CLAUDE.md +0 -383
  1098. data/lib/pangea/resources/aws_fsx_lustre_filesystem/resource.rb +0 -151
  1099. data/lib/pangea/resources/aws_fsx_lustre_filesystem/types.rb +0 -218
  1100. data/lib/pangea/resources/aws_gamelift_alias/CLAUDE.md +0 -261
  1101. data/lib/pangea/resources/aws_gamelift_alias/resource.rb +0 -78
  1102. data/lib/pangea/resources/aws_gamelift_alias/types.rb +0 -84
  1103. data/lib/pangea/resources/aws_gamelift_alias.rbs +0 -44
  1104. data/lib/pangea/resources/aws_gamelift_build/CLAUDE.md +0 -233
  1105. data/lib/pangea/resources/aws_gamelift_build/resource.rb +0 -89
  1106. data/lib/pangea/resources/aws_gamelift_build/types.rb +0 -71
  1107. data/lib/pangea/resources/aws_gamelift_build.rbs +0 -45
  1108. data/lib/pangea/resources/aws_gamelift_compute/resource.rb +0 -86
  1109. data/lib/pangea/resources/aws_gamelift_compute/types.rb +0 -51
  1110. data/lib/pangea/resources/aws_gamelift_fleet/CLAUDE.md +0 -191
  1111. data/lib/pangea/resources/aws_gamelift_fleet/resource.rb +0 -118
  1112. data/lib/pangea/resources/aws_gamelift_fleet/types.rb +0 -128
  1113. data/lib/pangea/resources/aws_gamelift_fleet.rbs +0 -84
  1114. data/lib/pangea/resources/aws_gamelift_game_session/resource.rb +0 -107
  1115. data/lib/pangea/resources/aws_gamelift_game_session/types.rb +0 -62
  1116. data/lib/pangea/resources/aws_gamelift_game_session_queue/CLAUDE.md +0 -282
  1117. data/lib/pangea/resources/aws_gamelift_game_session_queue/resource.rb +0 -101
  1118. data/lib/pangea/resources/aws_gamelift_game_session_queue/types.rb +0 -87
  1119. data/lib/pangea/resources/aws_gamelift_game_session_queue.rbs +0 -57
  1120. data/lib/pangea/resources/aws_gamelift_matchmaking_configuration/CLAUDE.md +0 -288
  1121. data/lib/pangea/resources/aws_gamelift_matchmaking_configuration/resource.rb +0 -83
  1122. data/lib/pangea/resources/aws_gamelift_matchmaking_configuration/types.rb +0 -89
  1123. data/lib/pangea/resources/aws_gamelift_matchmaking_configuration.rbs +0 -52
  1124. data/lib/pangea/resources/aws_gamelift_matchmaking_rule_set/resource.rb +0 -88
  1125. data/lib/pangea/resources/aws_gamelift_matchmaking_rule_set/types.rb +0 -41
  1126. data/lib/pangea/resources/aws_gamelift_player_session/resource.rb +0 -86
  1127. data/lib/pangea/resources/aws_gamelift_player_session/types.rb +0 -48
  1128. data/lib/pangea/resources/aws_gamelift_script/resource.rb +0 -99
  1129. data/lib/pangea/resources/aws_gamelift_script/types.rb +0 -52
  1130. data/lib/pangea/resources/aws_gamesparks_game/resource.rb +0 -82
  1131. data/lib/pangea/resources/aws_gamesparks_game/types.rb +0 -44
  1132. data/lib/pangea/resources/aws_glue_catalog_database/CLAUDE.md +0 -161
  1133. data/lib/pangea/resources/aws_glue_catalog_database/resource.rb +0 -108
  1134. data/lib/pangea/resources/aws_glue_catalog_database/types.rb +0 -154
  1135. data/lib/pangea/resources/aws_glue_catalog_database/types.rbs +0 -36
  1136. data/lib/pangea/resources/aws_glue_catalog_table/CLAUDE.md +0 -387
  1137. data/lib/pangea/resources/aws_glue_catalog_table/resource.rb +0 -180
  1138. data/lib/pangea/resources/aws_glue_catalog_table/types.rb +0 -284
  1139. data/lib/pangea/resources/aws_glue_catalog_table/types.rbs +0 -44
  1140. data/lib/pangea/resources/aws_glue_job/CLAUDE.md +0 -398
  1141. data/lib/pangea/resources/aws_glue_job/resource.rb +0 -147
  1142. data/lib/pangea/resources/aws_glue_job/types.rb +0 -284
  1143. data/lib/pangea/resources/aws_glue_job/types.rbs +0 -50
  1144. data/lib/pangea/resources/aws_glue_trigger/CLAUDE.md +0 -454
  1145. data/lib/pangea/resources/aws_glue_trigger/resource.rb +0 -158
  1146. data/lib/pangea/resources/aws_glue_trigger/types.rb +0 -331
  1147. data/lib/pangea/resources/aws_glue_trigger/types.rbs +0 -53
  1148. data/lib/pangea/resources/aws_ground_station.rb +0 -371
  1149. data/lib/pangea/resources/aws_guardduty_detector/resource.rb +0 -104
  1150. data/lib/pangea/resources/aws_guardduty_detector/types.rb +0 -92
  1151. data/lib/pangea/resources/aws_guardduty_detector.rbs +0 -35
  1152. data/lib/pangea/resources/aws_guardduty_member/resource.rb +0 -72
  1153. data/lib/pangea/resources/aws_guardduty_member/types.rb +0 -59
  1154. data/lib/pangea/resources/aws_guardduty_member.rbs +0 -34
  1155. data/lib/pangea/resources/aws_iam_group/CLAUDE.md +0 -351
  1156. data/lib/pangea/resources/aws_iam_group/resource.rb +0 -78
  1157. data/lib/pangea/resources/aws_iam_group/types.rb +0 -406
  1158. data/lib/pangea/resources/aws_iam_policy/CLAUDE.md +0 -278
  1159. data/lib/pangea/resources/aws_iam_policy/resource.rb +0 -86
  1160. data/lib/pangea/resources/aws_iam_policy/types.rb +0 -358
  1161. data/lib/pangea/resources/aws_iam_role/CLAUDE.md +0 -419
  1162. data/lib/pangea/resources/aws_iam_role/resource.rb +0 -98
  1163. data/lib/pangea/resources/aws_iam_role/types.rb +0 -224
  1164. data/lib/pangea/resources/aws_iam_role_policy_attachment/CLAUDE.md +0 -331
  1165. data/lib/pangea/resources/aws_iam_role_policy_attachment/resource.rb +0 -71
  1166. data/lib/pangea/resources/aws_iam_role_policy_attachment/types.rb +0 -267
  1167. data/lib/pangea/resources/aws_iam_user/CLAUDE.md +0 -312
  1168. data/lib/pangea/resources/aws_iam_user/resource.rb +0 -85
  1169. data/lib/pangea/resources/aws_iam_user/types.rb +0 -338
  1170. data/lib/pangea/resources/aws_inspector2_enabler/resource.rb +0 -66
  1171. data/lib/pangea/resources/aws_inspector2_enabler/types.rb +0 -86
  1172. data/lib/pangea/resources/aws_inspector2_enabler.rbs +0 -33
  1173. data/lib/pangea/resources/aws_instance/CLAUDE.md +0 -396
  1174. data/lib/pangea/resources/aws_instance/resource.rb +0 -123
  1175. data/lib/pangea/resources/aws_instance/types.rb +0 -150
  1176. data/lib/pangea/resources/aws_internet_gateway/CLAUDE.md +0 -157
  1177. data/lib/pangea/resources/aws_internet_gateway/resource.rb +0 -85
  1178. data/lib/pangea/resources/aws_internet_gateway/types.rb +0 -47
  1179. data/lib/pangea/resources/aws_iot_analytics_channel/CLAUDE.md +0 -3
  1180. data/lib/pangea/resources/aws_iot_analytics_channel/resource.rb +0 -90
  1181. data/lib/pangea/resources/aws_iot_analytics_channel/types.rb +0 -58
  1182. data/lib/pangea/resources/aws_iot_analytics_channel.rbs +0 -15
  1183. data/lib/pangea/resources/aws_iot_analytics_datastore/CLAUDE.md +0 -3
  1184. data/lib/pangea/resources/aws_iot_analytics_datastore/resource.rb +0 -109
  1185. data/lib/pangea/resources/aws_iot_analytics_datastore/types.rb +0 -61
  1186. data/lib/pangea/resources/aws_iot_analytics_datastore.rbs +0 -16
  1187. data/lib/pangea/resources/aws_iot_authorizer/resource.rb +0 -97
  1188. data/lib/pangea/resources/aws_iot_authorizer/types.rb +0 -80
  1189. data/lib/pangea/resources/aws_iot_billing_group/resource.rb +0 -93
  1190. data/lib/pangea/resources/aws_iot_billing_group/types.rb +0 -77
  1191. data/lib/pangea/resources/aws_iot_ca_certificate/resource.rb +0 -127
  1192. data/lib/pangea/resources/aws_iot_ca_certificate/types.rb +0 -102
  1193. data/lib/pangea/resources/aws_iot_certificate/CLAUDE.md +0 -361
  1194. data/lib/pangea/resources/aws_iot_certificate/resource.rb +0 -93
  1195. data/lib/pangea/resources/aws_iot_certificate/types.rb +0 -238
  1196. data/lib/pangea/resources/aws_iot_certificate.rbs +0 -31
  1197. data/lib/pangea/resources/aws_iot_device_defender_security_profile/CLAUDE.md +0 -3
  1198. data/lib/pangea/resources/aws_iot_device_defender_security_profile/resource.rb +0 -77
  1199. data/lib/pangea/resources/aws_iot_device_defender_security_profile/types.rb +0 -56
  1200. data/lib/pangea/resources/aws_iot_device_defender_security_profile.rbs +0 -14
  1201. data/lib/pangea/resources/aws_iot_domain_configuration/resource.rb +0 -123
  1202. data/lib/pangea/resources/aws_iot_domain_configuration/types.rb +0 -111
  1203. data/lib/pangea/resources/aws_iot_job_template/resource.rb +0 -134
  1204. data/lib/pangea/resources/aws_iot_job_template/types.rb +0 -122
  1205. data/lib/pangea/resources/aws_iot_policy/CLAUDE.md +0 -27
  1206. data/lib/pangea/resources/aws_iot_policy/resource.rb +0 -63
  1207. data/lib/pangea/resources/aws_iot_policy/types.rb +0 -136
  1208. data/lib/pangea/resources/aws_iot_policy.rbs +0 -18
  1209. data/lib/pangea/resources/aws_iot_policy_attachment/resource.rb +0 -98
  1210. data/lib/pangea/resources/aws_iot_policy_attachment/types.rb +0 -54
  1211. data/lib/pangea/resources/aws_iot_provisioning_template/resource.rb +0 -133
  1212. data/lib/pangea/resources/aws_iot_provisioning_template/types.rb +0 -89
  1213. data/lib/pangea/resources/aws_iot_role_alias/resource.rb +0 -98
  1214. data/lib/pangea/resources/aws_iot_role_alias/types.rb +0 -66
  1215. data/lib/pangea/resources/aws_iot_security_profile/CLAUDE.md +0 -3
  1216. data/lib/pangea/resources/aws_iot_security_profile/resource.rb +0 -89
  1217. data/lib/pangea/resources/aws_iot_security_profile/types.rb +0 -53
  1218. data/lib/pangea/resources/aws_iot_security_profile.rbs +0 -14
  1219. data/lib/pangea/resources/aws_iot_thing/CLAUDE.md +0 -397
  1220. data/lib/pangea/resources/aws_iot_thing/resource.rb +0 -87
  1221. data/lib/pangea/resources/aws_iot_thing/types.rb +0 -139
  1222. data/lib/pangea/resources/aws_iot_thing.rbs +0 -27
  1223. data/lib/pangea/resources/aws_iot_thing_group/resource.rb +0 -125
  1224. data/lib/pangea/resources/aws_iot_thing_group/types.rb +0 -100
  1225. data/lib/pangea/resources/aws_iot_thing_group_membership/resource.rb +0 -78
  1226. data/lib/pangea/resources/aws_iot_thing_group_membership/types.rb +0 -57
  1227. data/lib/pangea/resources/aws_iot_thing_principal_attachment/resource.rb +0 -91
  1228. data/lib/pangea/resources/aws_iot_thing_principal_attachment/types.rb +0 -54
  1229. data/lib/pangea/resources/aws_iot_thing_type/CLAUDE.md +0 -526
  1230. data/lib/pangea/resources/aws_iot_thing_type/resource.rb +0 -100
  1231. data/lib/pangea/resources/aws_iot_thing_type/types.rb +0 -242
  1232. data/lib/pangea/resources/aws_iot_thing_type.rbs +0 -31
  1233. data/lib/pangea/resources/aws_iot_topic_rule/CLAUDE.md +0 -11
  1234. data/lib/pangea/resources/aws_iot_topic_rule/resource.rb +0 -81
  1235. data/lib/pangea/resources/aws_iot_topic_rule/types.rb +0 -53
  1236. data/lib/pangea/resources/aws_iot_topic_rule.rbs +0 -13
  1237. data/lib/pangea/resources/aws_iot_topic_rule_destination/CLAUDE.md +0 -5
  1238. data/lib/pangea/resources/aws_iot_topic_rule_destination/resource.rb +0 -66
  1239. data/lib/pangea/resources/aws_iot_topic_rule_destination/types.rb +0 -46
  1240. data/lib/pangea/resources/aws_iot_topic_rule_destination.rbs +0 -13
  1241. data/lib/pangea/resources/aws_iot_wireless_destination/resource.rb +0 -82
  1242. data/lib/pangea/resources/aws_iot_wireless_destination/types.rb +0 -65
  1243. data/lib/pangea/resources/aws_iotanalytics_dataset/resource.rb +0 -213
  1244. data/lib/pangea/resources/aws_iotanalytics_dataset/types.rb +0 -220
  1245. data/lib/pangea/resources/aws_key_pair/CLAUDE.md +0 -357
  1246. data/lib/pangea/resources/aws_key_pair/resource.rb +0 -88
  1247. data/lib/pangea/resources/aws_key_pair/types.rb +0 -175
  1248. data/lib/pangea/resources/aws_kinesis_analytics_application/CLAUDE.md +0 -630
  1249. data/lib/pangea/resources/aws_kinesis_analytics_application/resource.rb +0 -309
  1250. data/lib/pangea/resources/aws_kinesis_analytics_application/types.rb +0 -319
  1251. data/lib/pangea/resources/aws_kinesis_analytics_application/types.rbs +0 -45
  1252. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/CLAUDE.md +0 -532
  1253. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/resource.rb +0 -288
  1254. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/types.rb +0 -305
  1255. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/types.rbs +0 -44
  1256. data/lib/pangea/resources/aws_kinesis_stream/CLAUDE.md +0 -255
  1257. data/lib/pangea/resources/aws_kinesis_stream/resource.rb +0 -106
  1258. data/lib/pangea/resources/aws_kinesis_stream/types.rb +0 -160
  1259. data/lib/pangea/resources/aws_kinesis_stream/types.rbs +0 -43
  1260. data/lib/pangea/resources/aws_kinesis_video_stream/CLAUDE.md +0 -595
  1261. data/lib/pangea/resources/aws_kinesis_video_stream/resource.rb +0 -76
  1262. data/lib/pangea/resources/aws_kinesis_video_stream/types.rb +0 -229
  1263. data/lib/pangea/resources/aws_kinesis_video_stream/types.rbs +0 -48
  1264. data/lib/pangea/resources/aws_kms_alias/resource.rb +0 -68
  1265. data/lib/pangea/resources/aws_kms_alias/types.rb +0 -131
  1266. data/lib/pangea/resources/aws_kms_key/resource.rb +0 -110
  1267. data/lib/pangea/resources/aws_kms_key/types.rb +0 -119
  1268. data/lib/pangea/resources/aws_lambda_event_source_mapping/CLAUDE.md +0 -316
  1269. data/lib/pangea/resources/aws_lambda_event_source_mapping/resource.rb +0 -155
  1270. data/lib/pangea/resources/aws_lambda_event_source_mapping/types.rb +0 -201
  1271. data/lib/pangea/resources/aws_lambda_function/CLAUDE.md +0 -255
  1272. data/lib/pangea/resources/aws_lambda_function/resource.rb +0 -210
  1273. data/lib/pangea/resources/aws_lambda_function/types.rb +0 -217
  1274. data/lib/pangea/resources/aws_lambda_function_url/resource.rb +0 -89
  1275. data/lib/pangea/resources/aws_lambda_function_url/types.rb +0 -103
  1276. data/lib/pangea/resources/aws_lambda_layer_version/CLAUDE.md +0 -322
  1277. data/lib/pangea/resources/aws_lambda_layer_version/resource.rb +0 -88
  1278. data/lib/pangea/resources/aws_lambda_layer_version/types.rb +0 -159
  1279. data/lib/pangea/resources/aws_lambda_permission/CLAUDE.md +0 -276
  1280. data/lib/pangea/resources/aws_lambda_permission/resource.rb +0 -76
  1281. data/lib/pangea/resources/aws_lambda_permission/types.rb +0 -117
  1282. data/lib/pangea/resources/aws_launch_configuration/resource.rb +0 -67
  1283. data/lib/pangea/resources/aws_launch_configuration/types.rb +0 -46
  1284. data/lib/pangea/resources/aws_launch_template/CLAUDE.md +0 -269
  1285. data/lib/pangea/resources/aws_launch_template/resource.rb +0 -198
  1286. data/lib/pangea/resources/aws_launch_template/types.rb +0 -211
  1287. data/lib/pangea/resources/aws_lb/CLAUDE.md +0 -411
  1288. data/lib/pangea/resources/aws_lb/resource.rb +0 -111
  1289. data/lib/pangea/resources/aws_lb/types.rb +0 -80
  1290. data/lib/pangea/resources/aws_lb_cookie_stickiness_policy/resource.rb +0 -67
  1291. data/lib/pangea/resources/aws_lb_cookie_stickiness_policy/types.rb +0 -46
  1292. data/lib/pangea/resources/aws_lb_listener/CLAUDE.md +0 -310
  1293. data/lib/pangea/resources/aws_lb_listener/resource.rb +0 -187
  1294. data/lib/pangea/resources/aws_lb_listener/types.rb +0 -125
  1295. data/lib/pangea/resources/aws_lb_listener/types.rbs +0 -23
  1296. data/lib/pangea/resources/aws_lb_listener_certificate/CLAUDE.md +0 -463
  1297. data/lib/pangea/resources/aws_lb_listener_certificate/resource.rb +0 -56
  1298. data/lib/pangea/resources/aws_lb_listener_certificate/types.rb +0 -54
  1299. data/lib/pangea/resources/aws_lb_listener_certificate/types.rbs +0 -17
  1300. data/lib/pangea/resources/aws_lb_listener_rule/CLAUDE.md +0 -502
  1301. data/lib/pangea/resources/aws_lb_listener_rule/resource.rb +0 -210
  1302. data/lib/pangea/resources/aws_lb_listener_rule/types.rb +0 -123
  1303. data/lib/pangea/resources/aws_lb_listener_rule/types.rbs +0 -20
  1304. data/lib/pangea/resources/aws_lb_ssl_negotiation_policy/resource.rb +0 -67
  1305. data/lib/pangea/resources/aws_lb_ssl_negotiation_policy/types.rb +0 -46
  1306. data/lib/pangea/resources/aws_lb_target_group/CLAUDE.md +0 -271
  1307. data/lib/pangea/resources/aws_lb_target_group/resource.rb +0 -159
  1308. data/lib/pangea/resources/aws_lb_target_group/types.rb +0 -201
  1309. data/lib/pangea/resources/aws_lb_target_group_attachment/CLAUDE.md +0 -560
  1310. data/lib/pangea/resources/aws_lb_target_group_attachment/resource.rb +0 -67
  1311. data/lib/pangea/resources/aws_lb_target_group_attachment/types.rb +0 -46
  1312. data/lib/pangea/resources/aws_lb_target_group_attachment/types.rbs +0 -21
  1313. data/lib/pangea/resources/aws_lb_trust_store/resource.rb +0 -67
  1314. data/lib/pangea/resources/aws_lb_trust_store/types.rb +0 -46
  1315. data/lib/pangea/resources/aws_lb_trust_store_revocation/resource.rb +0 -67
  1316. data/lib/pangea/resources/aws_lb_trust_store_revocation/types.rb +0 -46
  1317. data/lib/pangea/resources/aws_licensemanager_association/CLAUDE.md +0 -96
  1318. data/lib/pangea/resources/aws_licensemanager_association/resource.rb +0 -68
  1319. data/lib/pangea/resources/aws_licensemanager_association/types.rb +0 -49
  1320. data/lib/pangea/resources/aws_licensemanager_grant/CLAUDE.md +0 -96
  1321. data/lib/pangea/resources/aws_licensemanager_grant/resource.rb +0 -74
  1322. data/lib/pangea/resources/aws_licensemanager_grant/types.rb +0 -52
  1323. data/lib/pangea/resources/aws_licensemanager_grant_accepter/CLAUDE.md +0 -96
  1324. data/lib/pangea/resources/aws_licensemanager_grant_accepter/resource.rb +0 -74
  1325. data/lib/pangea/resources/aws_licensemanager_grant_accepter/types.rb +0 -48
  1326. data/lib/pangea/resources/aws_licensemanager_license_configuration/CLAUDE.md +0 -96
  1327. data/lib/pangea/resources/aws_licensemanager_license_configuration/resource.rb +0 -74
  1328. data/lib/pangea/resources/aws_licensemanager_license_configuration/types.rb +0 -53
  1329. data/lib/pangea/resources/aws_licensemanager_license_grant_accepter/CLAUDE.md +0 -96
  1330. data/lib/pangea/resources/aws_licensemanager_license_grant_accepter/resource.rb +0 -68
  1331. data/lib/pangea/resources/aws_licensemanager_license_grant_accepter/types.rb +0 -48
  1332. data/lib/pangea/resources/aws_licensemanager_report_generator/CLAUDE.md +0 -96
  1333. data/lib/pangea/resources/aws_licensemanager_report_generator/resource.rb +0 -73
  1334. data/lib/pangea/resources/aws_licensemanager_report_generator/types.rb +0 -53
  1335. data/lib/pangea/resources/aws_licensemanager_token/CLAUDE.md +0 -96
  1336. data/lib/pangea/resources/aws_licensemanager_token/resource.rb +0 -71
  1337. data/lib/pangea/resources/aws_licensemanager_token/types.rb +0 -50
  1338. data/lib/pangea/resources/aws_lightsail.rb +0 -524
  1339. data/lib/pangea/resources/aws_load_balancer_backend_server_policy/resource.rb +0 -67
  1340. data/lib/pangea/resources/aws_load_balancer_backend_server_policy/types.rb +0 -46
  1341. data/lib/pangea/resources/aws_load_balancer_listener_policy/resource.rb +0 -67
  1342. data/lib/pangea/resources/aws_load_balancer_listener_policy/types.rb +0 -46
  1343. data/lib/pangea/resources/aws_load_balancer_policy/resource.rb +0 -67
  1344. data/lib/pangea/resources/aws_load_balancer_policy/types.rb +0 -46
  1345. data/lib/pangea/resources/aws_local_zones.rb +0 -223
  1346. data/lib/pangea/resources/aws_managedblockchain_accessor/resource.rb +0 -86
  1347. data/lib/pangea/resources/aws_managedblockchain_accessor/types.rb +0 -249
  1348. data/lib/pangea/resources/aws_managedblockchain_ethereum_node/resource.rb +0 -97
  1349. data/lib/pangea/resources/aws_managedblockchain_ethereum_node/types.rb +0 -349
  1350. data/lib/pangea/resources/aws_managedblockchain_member/CLAUDE.md +0 -478
  1351. data/lib/pangea/resources/aws_managedblockchain_member/resource.rb +0 -127
  1352. data/lib/pangea/resources/aws_managedblockchain_member/types.rb +0 -225
  1353. data/lib/pangea/resources/aws_managedblockchain_network/CLAUDE.md +0 -487
  1354. data/lib/pangea/resources/aws_managedblockchain_network/resource.rb +0 -160
  1355. data/lib/pangea/resources/aws_managedblockchain_network/types.rb +0 -262
  1356. data/lib/pangea/resources/aws_managedblockchain_node/CLAUDE.md +0 -505
  1357. data/lib/pangea/resources/aws_managedblockchain_node/resource.rb +0 -129
  1358. data/lib/pangea/resources/aws_managedblockchain_node/types.rb +0 -252
  1359. data/lib/pangea/resources/aws_media_convert_queue/resource.rb +0 -74
  1360. data/lib/pangea/resources/aws_media_convert_queue/types.rb +0 -71
  1361. data/lib/pangea/resources/aws_media_live_channel/CLAUDE.md +0 -881
  1362. data/lib/pangea/resources/aws_media_live_channel/resource.rb +0 -594
  1363. data/lib/pangea/resources/aws_media_live_channel/types.rb +0 -1002
  1364. data/lib/pangea/resources/aws_media_live_input/CLAUDE.md +0 -729
  1365. data/lib/pangea/resources/aws_media_live_input/resource.rb +0 -169
  1366. data/lib/pangea/resources/aws_media_live_input/types.rb +0 -247
  1367. data/lib/pangea/resources/aws_media_package_channel/CLAUDE.md +0 -698
  1368. data/lib/pangea/resources/aws_media_package_channel/resource.rb +0 -74
  1369. data/lib/pangea/resources/aws_media_package_channel/types.rb +0 -107
  1370. data/lib/pangea/resources/aws_media_package_origin_endpoint/resource.rb +0 -190
  1371. data/lib/pangea/resources/aws_media_package_origin_endpoint/types.rb +0 -197
  1372. data/lib/pangea/resources/aws_media_store_container/resource.rb +0 -60
  1373. data/lib/pangea/resources/aws_media_store_container/types.rb +0 -55
  1374. data/lib/pangea/resources/aws_memorydb_acl/CLAUDE.md +0 -96
  1375. data/lib/pangea/resources/aws_memorydb_acl/resource.rb +0 -70
  1376. data/lib/pangea/resources/aws_memorydb_acl/types.rb +0 -49
  1377. data/lib/pangea/resources/aws_memorydb_cluster/CLAUDE.md +0 -96
  1378. data/lib/pangea/resources/aws_memorydb_cluster/resource.rb +0 -93
  1379. data/lib/pangea/resources/aws_memorydb_cluster/types.rb +0 -69
  1380. data/lib/pangea/resources/aws_memorydb_cluster_endpoint/CLAUDE.md +0 -96
  1381. data/lib/pangea/resources/aws_memorydb_cluster_endpoint/resource.rb +0 -69
  1382. data/lib/pangea/resources/aws_memorydb_cluster_endpoint/types.rb +0 -48
  1383. data/lib/pangea/resources/aws_memorydb_multi_region_cluster/CLAUDE.md +0 -96
  1384. data/lib/pangea/resources/aws_memorydb_multi_region_cluster/resource.rb +0 -75
  1385. data/lib/pangea/resources/aws_memorydb_multi_region_cluster/types.rb +0 -53
  1386. data/lib/pangea/resources/aws_memorydb_parameter_group/CLAUDE.md +0 -96
  1387. data/lib/pangea/resources/aws_memorydb_parameter_group/resource.rb +0 -71
  1388. data/lib/pangea/resources/aws_memorydb_parameter_group/types.rb +0 -51
  1389. data/lib/pangea/resources/aws_memorydb_snapshot/CLAUDE.md +0 -96
  1390. data/lib/pangea/resources/aws_memorydb_snapshot/resource.rb +0 -73
  1391. data/lib/pangea/resources/aws_memorydb_snapshot/types.rb +0 -51
  1392. data/lib/pangea/resources/aws_memorydb_subnet_group/CLAUDE.md +0 -96
  1393. data/lib/pangea/resources/aws_memorydb_subnet_group/resource.rb +0 -71
  1394. data/lib/pangea/resources/aws_memorydb_subnet_group/types.rb +0 -50
  1395. data/lib/pangea/resources/aws_memorydb_user/CLAUDE.md +0 -96
  1396. data/lib/pangea/resources/aws_memorydb_user/resource.rb +0 -71
  1397. data/lib/pangea/resources/aws_memorydb_user/types.rb +0 -50
  1398. data/lib/pangea/resources/aws_minimal.rb +0 -302
  1399. data/lib/pangea/resources/aws_mobile_analytics_app/CLAUDE.md +0 -262
  1400. data/lib/pangea/resources/aws_mobile_analytics_app/resource.rb +0 -77
  1401. data/lib/pangea/resources/aws_mobile_analytics_app/types.rb +0 -47
  1402. data/lib/pangea/resources/aws_mobile_analytics_app.rbs +0 -30
  1403. data/lib/pangea/resources/aws_mq_broker/resource.rb +0 -157
  1404. data/lib/pangea/resources/aws_mq_broker/types.rb +0 -181
  1405. data/lib/pangea/resources/aws_mq_broker.rbs +0 -130
  1406. data/lib/pangea/resources/aws_mq_configuration/resource.rb +0 -75
  1407. data/lib/pangea/resources/aws_mq_configuration/types.rb +0 -88
  1408. data/lib/pangea/resources/aws_mq_configuration.rbs +0 -36
  1409. data/lib/pangea/resources/aws_nat_gateway/CLAUDE.md +0 -209
  1410. data/lib/pangea/resources/aws_nat_gateway/resource.rb +0 -97
  1411. data/lib/pangea/resources/aws_nat_gateway/types.rb +0 -80
  1412. data/lib/pangea/resources/aws_neptune_cluster/CLAUDE.md +0 -96
  1413. data/lib/pangea/resources/aws_neptune_cluster/resource.rb +0 -98
  1414. data/lib/pangea/resources/aws_neptune_cluster/types.rb +0 -70
  1415. data/lib/pangea/resources/aws_neptune_cluster_endpoint/CLAUDE.md +0 -96
  1416. data/lib/pangea/resources/aws_neptune_cluster_endpoint/resource.rb +0 -71
  1417. data/lib/pangea/resources/aws_neptune_cluster_endpoint/types.rb +0 -50
  1418. data/lib/pangea/resources/aws_neptune_cluster_instance/CLAUDE.md +0 -96
  1419. data/lib/pangea/resources/aws_neptune_cluster_instance/resource.rb +0 -85
  1420. data/lib/pangea/resources/aws_neptune_cluster_instance/types.rb +0 -58
  1421. data/lib/pangea/resources/aws_neptune_cluster_parameter_group/CLAUDE.md +0 -96
  1422. data/lib/pangea/resources/aws_neptune_cluster_parameter_group/resource.rb +0 -71
  1423. data/lib/pangea/resources/aws_neptune_cluster_parameter_group/types.rb +0 -51
  1424. data/lib/pangea/resources/aws_neptune_cluster_snapshot/CLAUDE.md +0 -96
  1425. data/lib/pangea/resources/aws_neptune_cluster_snapshot/resource.rb +0 -78
  1426. data/lib/pangea/resources/aws_neptune_cluster_snapshot/types.rb +0 -49
  1427. data/lib/pangea/resources/aws_neptune_event_subscription/CLAUDE.md +0 -96
  1428. data/lib/pangea/resources/aws_neptune_event_subscription/resource.rb +0 -74
  1429. data/lib/pangea/resources/aws_neptune_event_subscription/types.rb +0 -53
  1430. data/lib/pangea/resources/aws_neptune_parameter_group/CLAUDE.md +0 -96
  1431. data/lib/pangea/resources/aws_neptune_parameter_group/resource.rb +0 -71
  1432. data/lib/pangea/resources/aws_neptune_parameter_group/types.rb +0 -51
  1433. data/lib/pangea/resources/aws_neptune_subnet_group/CLAUDE.md +0 -96
  1434. data/lib/pangea/resources/aws_neptune_subnet_group/resource.rb +0 -70
  1435. data/lib/pangea/resources/aws_neptune_subnet_group/types.rb +0 -50
  1436. data/lib/pangea/resources/aws_network_acl/CLAUDE.md +0 -96
  1437. data/lib/pangea/resources/aws_network_acl/resource.rb +0 -77
  1438. data/lib/pangea/resources/aws_network_acl/types.rb +0 -147
  1439. data/lib/pangea/resources/aws_network_acl_rule/CLAUDE.md +0 -297
  1440. data/lib/pangea/resources/aws_network_acl_rule/resource.rb +0 -92
  1441. data/lib/pangea/resources/aws_network_acl_rule/types.rb +0 -158
  1442. data/lib/pangea/resources/aws_network_interface/CLAUDE.md +0 -310
  1443. data/lib/pangea/resources/aws_network_interface/resource.rb +0 -121
  1444. data/lib/pangea/resources/aws_network_interface/types.rb +0 -108
  1445. data/lib/pangea/resources/aws_organizations_account/resource.rb +0 -69
  1446. data/lib/pangea/resources/aws_organizations_account/types.rb +0 -85
  1447. data/lib/pangea/resources/aws_organizations_account.rbs +0 -10
  1448. data/lib/pangea/resources/aws_organizations_delegated_administrator/resource.rb +0 -82
  1449. data/lib/pangea/resources/aws_organizations_organization/resource.rb +0 -60
  1450. data/lib/pangea/resources/aws_organizations_organization/types.rb +0 -77
  1451. data/lib/pangea/resources/aws_organizations_organization.rbs +0 -10
  1452. data/lib/pangea/resources/aws_organizations_resource_policy/resource.rb +0 -99
  1453. data/lib/pangea/resources/aws_outposts.rb +0 -351
  1454. data/lib/pangea/resources/aws_pinpoint_app/CLAUDE.md +0 -363
  1455. data/lib/pangea/resources/aws_pinpoint_app/resource.rb +0 -84
  1456. data/lib/pangea/resources/aws_pinpoint_app/types.rb +0 -91
  1457. data/lib/pangea/resources/aws_pinpoint_app.rbs +0 -55
  1458. data/lib/pangea/resources/aws_placement_group/resource.rb +0 -67
  1459. data/lib/pangea/resources/aws_placement_group/types.rb +0 -46
  1460. data/lib/pangea/resources/aws_proxy_protocol_policy/resource.rb +0 -67
  1461. data/lib/pangea/resources/aws_proxy_protocol_policy/types.rb +0 -46
  1462. data/lib/pangea/resources/aws_qldb_ledger/CLAUDE.md +0 -734
  1463. data/lib/pangea/resources/aws_qldb_ledger/resource.rb +0 -89
  1464. data/lib/pangea/resources/aws_qldb_ledger/types.rb +0 -173
  1465. data/lib/pangea/resources/aws_qldb_stream/CLAUDE.md +0 -845
  1466. data/lib/pangea/resources/aws_qldb_stream/resource.rb +0 -101
  1467. data/lib/pangea/resources/aws_qldb_stream/types.rb +0 -222
  1468. data/lib/pangea/resources/aws_ram_invitation_accepter/CLAUDE.md +0 -96
  1469. data/lib/pangea/resources/aws_ram_invitation_accepter/resource.rb +0 -72
  1470. data/lib/pangea/resources/aws_ram_invitation_accepter/types.rb +0 -48
  1471. data/lib/pangea/resources/aws_ram_managed_permission/CLAUDE.md +0 -96
  1472. data/lib/pangea/resources/aws_ram_managed_permission/resource.rb +0 -75
  1473. data/lib/pangea/resources/aws_ram_managed_permission/types.rb +0 -49
  1474. data/lib/pangea/resources/aws_ram_permission/CLAUDE.md +0 -96
  1475. data/lib/pangea/resources/aws_ram_permission/resource.rb +0 -75
  1476. data/lib/pangea/resources/aws_ram_permission/types.rb +0 -50
  1477. data/lib/pangea/resources/aws_ram_permission_association/CLAUDE.md +0 -96
  1478. data/lib/pangea/resources/aws_ram_permission_association/resource.rb +0 -69
  1479. data/lib/pangea/resources/aws_ram_permission_association/types.rb +0 -50
  1480. data/lib/pangea/resources/aws_ram_principal_association/CLAUDE.md +0 -96
  1481. data/lib/pangea/resources/aws_ram_principal_association/resource.rb +0 -68
  1482. data/lib/pangea/resources/aws_ram_principal_association/types.rb +0 -49
  1483. data/lib/pangea/resources/aws_ram_resource_association/CLAUDE.md +0 -96
  1484. data/lib/pangea/resources/aws_ram_resource_association/resource.rb +0 -68
  1485. data/lib/pangea/resources/aws_ram_resource_association/types.rb +0 -49
  1486. data/lib/pangea/resources/aws_ram_resource_share/CLAUDE.md +0 -96
  1487. data/lib/pangea/resources/aws_ram_resource_share/resource.rb +0 -71
  1488. data/lib/pangea/resources/aws_ram_resource_share/types.rb +0 -50
  1489. data/lib/pangea/resources/aws_ram_resource_share_accepter/CLAUDE.md +0 -96
  1490. data/lib/pangea/resources/aws_ram_resource_share_accepter/resource.rb +0 -71
  1491. data/lib/pangea/resources/aws_ram_resource_share_accepter/types.rb +0 -48
  1492. data/lib/pangea/resources/aws_ram_resource_share_invitation/CLAUDE.md +0 -96
  1493. data/lib/pangea/resources/aws_ram_resource_share_invitation/resource.rb +0 -73
  1494. data/lib/pangea/resources/aws_ram_resource_share_invitation/types.rb +0 -49
  1495. data/lib/pangea/resources/aws_ram_sharing_with_organization/CLAUDE.md +0 -96
  1496. data/lib/pangea/resources/aws_ram_sharing_with_organization/resource.rb +0 -67
  1497. data/lib/pangea/resources/aws_ram_sharing_with_organization/types.rb +0 -48
  1498. data/lib/pangea/resources/aws_rds_cluster/CLAUDE.md +0 -361
  1499. data/lib/pangea/resources/aws_rds_cluster/resource.rb +0 -189
  1500. data/lib/pangea/resources/aws_rds_cluster/types.rb +0 -464
  1501. data/lib/pangea/resources/aws_rds_cluster_endpoint/CLAUDE.md +0 -279
  1502. data/lib/pangea/resources/aws_rds_cluster_endpoint/resource.rb +0 -96
  1503. data/lib/pangea/resources/aws_rds_cluster_endpoint/types.rb +0 -254
  1504. data/lib/pangea/resources/aws_rds_cluster_endpoint/types.rbs +0 -59
  1505. data/lib/pangea/resources/aws_rds_cluster_instance/CLAUDE.md +0 -378
  1506. data/lib/pangea/resources/aws_rds_cluster_instance/resource.rb +0 -143
  1507. data/lib/pangea/resources/aws_rds_cluster_instance/types.rb +0 -437
  1508. data/lib/pangea/resources/aws_rds_cluster_parameter_group/CLAUDE.md +0 -344
  1509. data/lib/pangea/resources/aws_rds_cluster_parameter_group/resource.rb +0 -96
  1510. data/lib/pangea/resources/aws_rds_cluster_parameter_group/types.rb +0 -361
  1511. data/lib/pangea/resources/aws_rds_cluster_parameter_group/types.rbs +0 -65
  1512. data/lib/pangea/resources/aws_rds_global_cluster/CLAUDE.md +0 -362
  1513. data/lib/pangea/resources/aws_rds_global_cluster/resource.rb +0 -123
  1514. data/lib/pangea/resources/aws_rds_global_cluster/types.rb +0 -425
  1515. data/lib/pangea/resources/aws_rds_global_cluster/types.rbs +0 -84
  1516. data/lib/pangea/resources/aws_rds_proxy/resource.rb +0 -113
  1517. data/lib/pangea/resources/aws_rds_proxy/types.rb +0 -410
  1518. data/lib/pangea/resources/aws_rds_proxy_default_target_group/resource.rb +0 -72
  1519. data/lib/pangea/resources/aws_rds_proxy_default_target_group/types.rb +0 -121
  1520. data/lib/pangea/resources/aws_rds_proxy_target/resource.rb +0 -74
  1521. data/lib/pangea/resources/aws_rds_proxy_target/types.rb +0 -106
  1522. data/lib/pangea/resources/aws_redshift_cluster/CLAUDE.md +0 -358
  1523. data/lib/pangea/resources/aws_redshift_cluster/resource.rb +0 -151
  1524. data/lib/pangea/resources/aws_redshift_cluster/types.rb +0 -323
  1525. data/lib/pangea/resources/aws_redshift_cluster/types.rbs +0 -65
  1526. data/lib/pangea/resources/aws_redshift_cluster.rbs +0 -10
  1527. data/lib/pangea/resources/aws_redshift_parameter_group/CLAUDE.md +0 -352
  1528. data/lib/pangea/resources/aws_redshift_parameter_group/resource.rb +0 -87
  1529. data/lib/pangea/resources/aws_redshift_parameter_group/types.rb +0 -214
  1530. data/lib/pangea/resources/aws_redshift_parameter_group/types.rbs +0 -42
  1531. data/lib/pangea/resources/aws_redshift_parameter_group.rbs +0 -10
  1532. data/lib/pangea/resources/aws_redshift_snapshot_schedule/CLAUDE.md +0 -395
  1533. data/lib/pangea/resources/aws_redshift_snapshot_schedule/resource.rb +0 -81
  1534. data/lib/pangea/resources/aws_redshift_snapshot_schedule/types.rb +0 -229
  1535. data/lib/pangea/resources/aws_redshift_snapshot_schedule/types.rbs +0 -41
  1536. data/lib/pangea/resources/aws_redshift_snapshot_schedule.rbs +0 -10
  1537. data/lib/pangea/resources/aws_redshift_subnet_group/CLAUDE.md +0 -274
  1538. data/lib/pangea/resources/aws_redshift_subnet_group/resource.rb +0 -77
  1539. data/lib/pangea/resources/aws_redshift_subnet_group/types.rb +0 -142
  1540. data/lib/pangea/resources/aws_redshift_subnet_group/types.rbs +0 -33
  1541. data/lib/pangea/resources/aws_redshift_subnet_group.rbs +0 -10
  1542. data/lib/pangea/resources/aws_resource_explorer_index/resource.rb +0 -81
  1543. data/lib/pangea/resources/aws_resource_explorer_view/resource.rb +0 -126
  1544. data/lib/pangea/resources/aws_resourcegroups_group/resource.rb +0 -167
  1545. data/lib/pangea/resources/aws_resources.rb +0 -351
  1546. data/lib/pangea/resources/aws_resources_minimal.rb +0 -32
  1547. data/lib/pangea/resources/aws_route/CLAUDE.md +0 -96
  1548. data/lib/pangea/resources/aws_route/resource.rb +0 -83
  1549. data/lib/pangea/resources/aws_route/types.rb +0 -122
  1550. data/lib/pangea/resources/aws_route53_delegation_set/resource.rb +0 -73
  1551. data/lib/pangea/resources/aws_route53_delegation_set/types.rb +0 -133
  1552. data/lib/pangea/resources/aws_route53_delegation_set.rbs +0 -28
  1553. data/lib/pangea/resources/aws_route53_health_check/CLAUDE.md +0 -408
  1554. data/lib/pangea/resources/aws_route53_health_check/resource.rb +0 -132
  1555. data/lib/pangea/resources/aws_route53_health_check/types.rb +0 -387
  1556. data/lib/pangea/resources/aws_route53_query_log/resource.rb +0 -79
  1557. data/lib/pangea/resources/aws_route53_query_log/types.rb +0 -185
  1558. data/lib/pangea/resources/aws_route53_record/CLAUDE.md +0 -414
  1559. data/lib/pangea/resources/aws_route53_record/resource.rb +0 -138
  1560. data/lib/pangea/resources/aws_route53_record/types.rb +0 -408
  1561. data/lib/pangea/resources/aws_route53_zone/CLAUDE.md +0 -363
  1562. data/lib/pangea/resources/aws_route53_zone/resource.rb +0 -99
  1563. data/lib/pangea/resources/aws_route53_zone/types.rb +0 -260
  1564. data/lib/pangea/resources/aws_route_table/CLAUDE.md +0 -224
  1565. data/lib/pangea/resources/aws_route_table/resource.rb +0 -104
  1566. data/lib/pangea/resources/aws_route_table/types.rb +0 -107
  1567. data/lib/pangea/resources/aws_route_table_association/CLAUDE.md +0 -401
  1568. data/lib/pangea/resources/aws_route_table_association/resource.rb +0 -93
  1569. data/lib/pangea/resources/aws_route_table_association/types.rb +0 -94
  1570. data/lib/pangea/resources/aws_s3_access_point/CLAUDE.md +0 -211
  1571. data/lib/pangea/resources/aws_s3_access_point/resource.rb +0 -102
  1572. data/lib/pangea/resources/aws_s3_access_point/types.rb +0 -86
  1573. data/lib/pangea/resources/aws_s3_access_point_policy/resource.rb +0 -69
  1574. data/lib/pangea/resources/aws_s3_access_point_policy/types.rb +0 -65
  1575. data/lib/pangea/resources/aws_s3_bucket/CLAUDE.md +0 -140
  1576. data/lib/pangea/resources/aws_s3_bucket/resource.rb +0 -228
  1577. data/lib/pangea/resources/aws_s3_bucket/types.rb +0 -206
  1578. data/lib/pangea/resources/aws_s3_bucket_accelerate_configuration/resource.rb +0 -70
  1579. data/lib/pangea/resources/aws_s3_bucket_accelerate_configuration/types.rb +0 -65
  1580. data/lib/pangea/resources/aws_s3_bucket_analytics_configuration/resource.rb +0 -108
  1581. data/lib/pangea/resources/aws_s3_bucket_analytics_configuration/types.rb +0 -115
  1582. data/lib/pangea/resources/aws_s3_bucket_cors_configuration/CLAUDE.md +0 -262
  1583. data/lib/pangea/resources/aws_s3_bucket_cors_configuration/resource.rb +0 -97
  1584. data/lib/pangea/resources/aws_s3_bucket_cors_configuration/types.rb +0 -167
  1585. data/lib/pangea/resources/aws_s3_bucket_encryption/CLAUDE.md +0 -465
  1586. data/lib/pangea/resources/aws_s3_bucket_encryption/resource.rb +0 -78
  1587. data/lib/pangea/resources/aws_s3_bucket_encryption/types.rb +0 -114
  1588. data/lib/pangea/resources/aws_s3_bucket_inventory/CLAUDE.md +0 -430
  1589. data/lib/pangea/resources/aws_s3_bucket_inventory/resource.rb +0 -135
  1590. data/lib/pangea/resources/aws_s3_bucket_inventory/types.rb +0 -257
  1591. data/lib/pangea/resources/aws_s3_bucket_lifecycle_configuration/CLAUDE.md +0 -221
  1592. data/lib/pangea/resources/aws_s3_bucket_lifecycle_configuration/resource.rb +0 -158
  1593. data/lib/pangea/resources/aws_s3_bucket_lifecycle_configuration/types.rb +0 -214
  1594. data/lib/pangea/resources/aws_s3_bucket_notification/CLAUDE.md +0 -358
  1595. data/lib/pangea/resources/aws_s3_bucket_notification/resource.rb +0 -122
  1596. data/lib/pangea/resources/aws_s3_bucket_notification/types.rb +0 -224
  1597. data/lib/pangea/resources/aws_s3_bucket_object_lock_configuration/CLAUDE.md +0 -561
  1598. data/lib/pangea/resources/aws_s3_bucket_object_lock_configuration/resource.rb +0 -100
  1599. data/lib/pangea/resources/aws_s3_bucket_object_lock_configuration/types.rb +0 -241
  1600. data/lib/pangea/resources/aws_s3_bucket_policy/CLAUDE.md +0 -234
  1601. data/lib/pangea/resources/aws_s3_bucket_policy/resource.rb +0 -66
  1602. data/lib/pangea/resources/aws_s3_bucket_policy/types.rb +0 -93
  1603. data/lib/pangea/resources/aws_s3_bucket_public_access_block/CLAUDE.md +0 -528
  1604. data/lib/pangea/resources/aws_s3_bucket_public_access_block/resource.rb +0 -77
  1605. data/lib/pangea/resources/aws_s3_bucket_public_access_block/types.rb +0 -92
  1606. data/lib/pangea/resources/aws_s3_bucket_replication_configuration/CLAUDE.md +0 -628
  1607. data/lib/pangea/resources/aws_s3_bucket_replication_configuration/resource.rb +0 -200
  1608. data/lib/pangea/resources/aws_s3_bucket_replication_configuration/types.rb +0 -304
  1609. data/lib/pangea/resources/aws_s3_bucket_versioning/CLAUDE.md +0 -340
  1610. data/lib/pangea/resources/aws_s3_bucket_versioning/resource.rb +0 -72
  1611. data/lib/pangea/resources/aws_s3_bucket_versioning/types.rb +0 -77
  1612. data/lib/pangea/resources/aws_s3_bucket_website_configuration/CLAUDE.md +0 -355
  1613. data/lib/pangea/resources/aws_s3_bucket_website_configuration/resource.rb +0 -123
  1614. data/lib/pangea/resources/aws_s3_bucket_website_configuration/types.rb +0 -397
  1615. data/lib/pangea/resources/aws_s3_multi_region_access_point/resource.rb +0 -105
  1616. data/lib/pangea/resources/aws_s3_multi_region_access_point/types.rb +0 -101
  1617. data/lib/pangea/resources/aws_s3_object/CLAUDE.md +0 -535
  1618. data/lib/pangea/resources/aws_s3_object/resource.rb +0 -131
  1619. data/lib/pangea/resources/aws_s3_object/types.rb +0 -215
  1620. data/lib/pangea/resources/aws_s3_object_lambda_access_point/resource.rb +0 -97
  1621. data/lib/pangea/resources/aws_s3_object_lambda_access_point/types.rb +0 -106
  1622. data/lib/pangea/resources/aws_sagemaker_domain/CLAUDE.md +0 -253
  1623. data/lib/pangea/resources/aws_sagemaker_domain/resource.rb +0 -160
  1624. data/lib/pangea/resources/aws_sagemaker_domain/types.rb +0 -306
  1625. data/lib/pangea/resources/aws_sagemaker_domain.rbs +0 -39
  1626. data/lib/pangea/resources/aws_sagemaker_endpoint/resource.rb +0 -236
  1627. data/lib/pangea/resources/aws_sagemaker_endpoint/types.rb +0 -294
  1628. data/lib/pangea/resources/aws_sagemaker_endpoint_configuration/resource.rb +0 -232
  1629. data/lib/pangea/resources/aws_sagemaker_endpoint_configuration/types.rb +0 -359
  1630. data/lib/pangea/resources/aws_sagemaker_feature_group/resource.rb +0 -64
  1631. data/lib/pangea/resources/aws_sagemaker_feature_group/types.rb +0 -150
  1632. data/lib/pangea/resources/aws_sagemaker_model/resource.rb +0 -189
  1633. data/lib/pangea/resources/aws_sagemaker_model/types.rb +0 -330
  1634. data/lib/pangea/resources/aws_sagemaker_notebook_instance/resource.rb +0 -139
  1635. data/lib/pangea/resources/aws_sagemaker_notebook_instance/types.rb +0 -321
  1636. data/lib/pangea/resources/aws_sagemaker_notebook_instance.rbs +0 -52
  1637. data/lib/pangea/resources/aws_sagemaker_pipeline/resource.rb +0 -61
  1638. data/lib/pangea/resources/aws_sagemaker_pipeline/types.rb +0 -78
  1639. data/lib/pangea/resources/aws_sagemaker_processing_job/resource.rb +0 -61
  1640. data/lib/pangea/resources/aws_sagemaker_processing_job/types.rb +0 -140
  1641. data/lib/pangea/resources/aws_sagemaker_training_job/resource.rb +0 -69
  1642. data/lib/pangea/resources/aws_sagemaker_training_job/types.rb +0 -471
  1643. data/lib/pangea/resources/aws_sagemaker_user_profile/resource.rb +0 -198
  1644. data/lib/pangea/resources/aws_sagemaker_user_profile/types.rb +0 -330
  1645. data/lib/pangea/resources/aws_sagemaker_user_profile.rbs +0 -40
  1646. data/lib/pangea/resources/aws_secretsmanager_secret/CLAUDE.md +0 -528
  1647. data/lib/pangea/resources/aws_secretsmanager_secret/resource.rb +0 -111
  1648. data/lib/pangea/resources/aws_secretsmanager_secret/types.rb +0 -198
  1649. data/lib/pangea/resources/aws_secretsmanager_secret_version/resource.rb +0 -76
  1650. data/lib/pangea/resources/aws_secretsmanager_secret_version/types.rb +0 -99
  1651. data/lib/pangea/resources/aws_security_group/resource.rb +0 -78
  1652. data/lib/pangea/resources/aws_security_group/types.rb +0 -110
  1653. data/lib/pangea/resources/aws_securityhub_account/resource.rb +0 -74
  1654. data/lib/pangea/resources/aws_securityhub_account/types.rb +0 -61
  1655. data/lib/pangea/resources/aws_securityhub_account.rbs +0 -33
  1656. data/lib/pangea/resources/aws_securitylake_data_lake.rbs +0 -29
  1657. data/lib/pangea/resources/aws_ses_configuration_set/resource.rb +0 -70
  1658. data/lib/pangea/resources/aws_ses_configuration_set/types.rb +0 -75
  1659. data/lib/pangea/resources/aws_ses_configuration_set.rbs +0 -35
  1660. data/lib/pangea/resources/aws_ses_domain_identity/resource.rb +0 -57
  1661. data/lib/pangea/resources/aws_ses_domain_identity/types.rb +0 -61
  1662. data/lib/pangea/resources/aws_ses_domain_identity.rbs +0 -24
  1663. data/lib/pangea/resources/aws_ses_email_identity/resource.rb +0 -56
  1664. data/lib/pangea/resources/aws_ses_email_identity/types.rb +0 -73
  1665. data/lib/pangea/resources/aws_ses_email_identity.rbs +0 -24
  1666. data/lib/pangea/resources/aws_sfn_activity/CLAUDE.md +0 -571
  1667. data/lib/pangea/resources/aws_sfn_activity/resource.rb +0 -61
  1668. data/lib/pangea/resources/aws_sfn_activity/types.rb +0 -124
  1669. data/lib/pangea/resources/aws_sfn_state_machine/CLAUDE.md +0 -464
  1670. data/lib/pangea/resources/aws_sfn_state_machine/resource.rb +0 -92
  1671. data/lib/pangea/resources/aws_sfn_state_machine/types.rb +0 -347
  1672. data/lib/pangea/resources/aws_snow_family.rb +0 -401
  1673. data/lib/pangea/resources/aws_sns_subscription/CLAUDE.md +0 -289
  1674. data/lib/pangea/resources/aws_sns_subscription/resource.rb +0 -99
  1675. data/lib/pangea/resources/aws_sns_subscription/types.rb +0 -218
  1676. data/lib/pangea/resources/aws_sns_topic/CLAUDE.md +0 -249
  1677. data/lib/pangea/resources/aws_sns_topic/resource.rb +0 -126
  1678. data/lib/pangea/resources/aws_sns_topic/types.rb +0 -193
  1679. data/lib/pangea/resources/aws_sqs_queue/CLAUDE.md +0 -190
  1680. data/lib/pangea/resources/aws_sqs_queue/resource.rb +0 -114
  1681. data/lib/pangea/resources/aws_sqs_queue/types.rb +0 -169
  1682. data/lib/pangea/resources/aws_sqs_queue_policy/CLAUDE.md +0 -227
  1683. data/lib/pangea/resources/aws_sqs_queue_policy/resource.rb +0 -64
  1684. data/lib/pangea/resources/aws_sqs_queue_policy/types.rb +0 -115
  1685. data/lib/pangea/resources/aws_ssm_document/CLAUDE.md +0 -410
  1686. data/lib/pangea/resources/aws_ssm_document/resource.rb +0 -144
  1687. data/lib/pangea/resources/aws_ssm_document/types.rb +0 -417
  1688. data/lib/pangea/resources/aws_ssm_document/types.rbs +0 -49
  1689. data/lib/pangea/resources/aws_ssm_maintenance_window/CLAUDE.md +0 -412
  1690. data/lib/pangea/resources/aws_ssm_maintenance_window/resource.rb +0 -120
  1691. data/lib/pangea/resources/aws_ssm_maintenance_window/types.rb +0 -374
  1692. data/lib/pangea/resources/aws_ssm_maintenance_window/types.rbs +0 -49
  1693. data/lib/pangea/resources/aws_ssm_parameter/CLAUDE.md +0 -355
  1694. data/lib/pangea/resources/aws_ssm_parameter/resource.rb +0 -116
  1695. data/lib/pangea/resources/aws_ssm_parameter/types.rb +0 -287
  1696. data/lib/pangea/resources/aws_ssm_parameter/types.rbs +0 -47
  1697. data/lib/pangea/resources/aws_ssm_patch_baseline/CLAUDE.md +0 -509
  1698. data/lib/pangea/resources/aws_ssm_patch_baseline/resource.rb +0 -149
  1699. data/lib/pangea/resources/aws_ssm_patch_baseline/types.rb +0 -440
  1700. data/lib/pangea/resources/aws_ssm_patch_baseline/types.rbs +0 -51
  1701. data/lib/pangea/resources/aws_subnet/CLAUDE.md +0 -301
  1702. data/lib/pangea/resources/aws_subnet/resource.rb +0 -78
  1703. data/lib/pangea/resources/aws_subnet/types.rb +0 -67
  1704. data/lib/pangea/resources/aws_sumerian_project/resource.rb +0 -85
  1705. data/lib/pangea/resources/aws_sumerian_project/types.rb +0 -46
  1706. data/lib/pangea/resources/aws_support_app_slack_channel_configuration/resource.rb +0 -114
  1707. data/lib/pangea/resources/aws_support_app_slack_workspace_configuration/resource.rb +0 -73
  1708. data/lib/pangea/resources/aws_timestream_access_policy/CLAUDE.md +0 -96
  1709. data/lib/pangea/resources/aws_timestream_access_policy/resource.rb +0 -69
  1710. data/lib/pangea/resources/aws_timestream_access_policy/types.rb +0 -50
  1711. data/lib/pangea/resources/aws_timestream_batch_load_task/CLAUDE.md +0 -96
  1712. data/lib/pangea/resources/aws_timestream_batch_load_task/resource.rb +0 -77
  1713. data/lib/pangea/resources/aws_timestream_batch_load_task/types.rb +0 -54
  1714. data/lib/pangea/resources/aws_timestream_database/CLAUDE.md +0 -96
  1715. data/lib/pangea/resources/aws_timestream_database/resource.rb +0 -71
  1716. data/lib/pangea/resources/aws_timestream_database/types.rb +0 -49
  1717. data/lib/pangea/resources/aws_timestream_influx_db_instance/CLAUDE.md +0 -96
  1718. data/lib/pangea/resources/aws_timestream_influx_db_instance/resource.rb +0 -85
  1719. data/lib/pangea/resources/aws_timestream_influx_db_instance/types.rb +0 -61
  1720. data/lib/pangea/resources/aws_timestream_scheduled_query/CLAUDE.md +0 -96
  1721. data/lib/pangea/resources/aws_timestream_scheduled_query/resource.rb +0 -77
  1722. data/lib/pangea/resources/aws_timestream_scheduled_query/types.rb +0 -56
  1723. data/lib/pangea/resources/aws_timestream_table/CLAUDE.md +0 -96
  1724. data/lib/pangea/resources/aws_timestream_table/resource.rb +0 -73
  1725. data/lib/pangea/resources/aws_timestream_table/types.rb +0 -52
  1726. data/lib/pangea/resources/aws_timestream_table_retention_properties/CLAUDE.md +0 -96
  1727. data/lib/pangea/resources/aws_timestream_table_retention_properties/resource.rb +0 -70
  1728. data/lib/pangea/resources/aws_timestream_table_retention_properties/types.rb +0 -51
  1729. data/lib/pangea/resources/aws_volume_attachment/CLAUDE.md +0 -326
  1730. data/lib/pangea/resources/aws_volume_attachment/resource.rb +0 -77
  1731. data/lib/pangea/resources/aws_volume_attachment/types.rb +0 -176
  1732. data/lib/pangea/resources/aws_vpc/CLAUDE.md +0 -184
  1733. data/lib/pangea/resources/aws_vpc/resource.rb +0 -80
  1734. data/lib/pangea/resources/aws_vpc/types.rb +0 -94
  1735. data/lib/pangea/resources/aws_vpc_dhcp_options_association/resource.rb +0 -67
  1736. data/lib/pangea/resources/aws_vpc_dhcp_options_association/types.rb +0 -46
  1737. data/lib/pangea/resources/aws_vpc_endpoint/CLAUDE.md +0 -483
  1738. data/lib/pangea/resources/aws_vpc_endpoint/resource.rb +0 -126
  1739. data/lib/pangea/resources/aws_vpc_endpoint/types.rb +0 -132
  1740. data/lib/pangea/resources/aws_vpc_endpoint_connection_accepter/resource.rb +0 -67
  1741. data/lib/pangea/resources/aws_vpc_endpoint_connection_accepter/types.rb +0 -46
  1742. data/lib/pangea/resources/aws_vpc_endpoint_connection_notification/resource.rb +0 -73
  1743. data/lib/pangea/resources/aws_vpc_endpoint_connection_notification/types.rb +0 -50
  1744. data/lib/pangea/resources/aws_vpc_endpoint_route_table_association/resource.rb +0 -67
  1745. data/lib/pangea/resources/aws_vpc_endpoint_route_table_association/types.rb +0 -46
  1746. data/lib/pangea/resources/aws_vpc_endpoint_service/CLAUDE.md +0 -313
  1747. data/lib/pangea/resources/aws_vpc_endpoint_service/resource.rb +0 -127
  1748. data/lib/pangea/resources/aws_vpc_endpoint_service/types.rb +0 -144
  1749. data/lib/pangea/resources/aws_vpc_endpoint_service_allowed_principal/resource.rb +0 -67
  1750. data/lib/pangea/resources/aws_vpc_endpoint_service_allowed_principal/types.rb +0 -46
  1751. data/lib/pangea/resources/aws_vpc_endpoint_subnet_association/resource.rb +0 -67
  1752. data/lib/pangea/resources/aws_vpc_endpoint_subnet_association/types.rb +0 -46
  1753. data/lib/pangea/resources/aws_vpc_network_performance_metric_subscription/resource.rb +0 -67
  1754. data/lib/pangea/resources/aws_vpc_network_performance_metric_subscription/types.rb +0 -46
  1755. data/lib/pangea/resources/aws_vpc_peering_connection/CLAUDE.md +0 -361
  1756. data/lib/pangea/resources/aws_vpc_peering_connection/resource.rb +0 -118
  1757. data/lib/pangea/resources/aws_vpc_peering_connection/types.rb +0 -115
  1758. data/lib/pangea/resources/aws_vpc_peering_connection_accepter/CLAUDE.md +0 -248
  1759. data/lib/pangea/resources/aws_vpc_peering_connection_accepter/resource.rb +0 -67
  1760. data/lib/pangea/resources/aws_vpc_peering_connection_accepter/types.rb +0 -46
  1761. data/lib/pangea/resources/aws_vpc_peering_connection_options/resource.rb +0 -67
  1762. data/lib/pangea/resources/aws_vpc_peering_connection_options/types.rb +0 -46
  1763. data/lib/pangea/resources/aws_vpc_security_group_egress_rule/resource.rb +0 -67
  1764. data/lib/pangea/resources/aws_vpc_security_group_egress_rule/types.rb +0 -46
  1765. data/lib/pangea/resources/aws_vpc_security_group_ingress_rule/resource.rb +0 -67
  1766. data/lib/pangea/resources/aws_vpc_security_group_ingress_rule/types.rb +0 -46
  1767. data/lib/pangea/resources/aws_vpn_connection/CLAUDE.md +0 -420
  1768. data/lib/pangea/resources/aws_vpn_connection/resource.rb +0 -119
  1769. data/lib/pangea/resources/aws_vpn_connection/types.rb +0 -127
  1770. data/lib/pangea/resources/aws_vpn_gateway/CLAUDE.md +0 -411
  1771. data/lib/pangea/resources/aws_vpn_gateway/resource.rb +0 -92
  1772. data/lib/pangea/resources/aws_vpn_gateway/types.rb +0 -87
  1773. data/lib/pangea/resources/aws_wafv2_ip_set/resource.rb +0 -83
  1774. data/lib/pangea/resources/aws_wafv2_ip_set/types.rb +0 -141
  1775. data/lib/pangea/resources/aws_wafv2_ip_set.rbs +0 -36
  1776. data/lib/pangea/resources/aws_wafv2_regex_pattern_set/resource.rb +0 -89
  1777. data/lib/pangea/resources/aws_wafv2_regex_pattern_set/types.rb +0 -274
  1778. data/lib/pangea/resources/aws_wafv2_rule_group/resource.rb +0 -427
  1779. data/lib/pangea/resources/aws_wafv2_rule_group/types.rb +0 -270
  1780. data/lib/pangea/resources/aws_wafv2_rule_group.rbs +0 -44
  1781. data/lib/pangea/resources/aws_wafv2_web_acl/CLAUDE.md +0 -788
  1782. data/lib/pangea/resources/aws_wafv2_web_acl/resource.rb +0 -499
  1783. data/lib/pangea/resources/aws_wafv2_web_acl/types.rb +0 -544
  1784. data/lib/pangea/resources/aws_wafv2_web_acl.rbs +0 -309
  1785. data/lib/pangea/resources/aws_wavelength.rb +0 -323
  1786. data/lib/pangea/resources/aws_workspaces_bundle/CLAUDE.md +0 -412
  1787. data/lib/pangea/resources/aws_workspaces_bundle/resource.rb +0 -100
  1788. data/lib/pangea/resources/aws_workspaces_bundle/types.rb +0 -217
  1789. data/lib/pangea/resources/aws_workspaces_directory/CLAUDE.md +0 -365
  1790. data/lib/pangea/resources/aws_workspaces_directory/resource.rb +0 -133
  1791. data/lib/pangea/resources/aws_workspaces_directory/types.rb +0 -237
  1792. data/lib/pangea/resources/aws_workspaces_ip_group/CLAUDE.md +0 -421
  1793. data/lib/pangea/resources/aws_workspaces_ip_group/resource.rb +0 -93
  1794. data/lib/pangea/resources/aws_workspaces_ip_group/types.rb +0 -149
  1795. data/lib/pangea/resources/aws_workspaces_workspace/CLAUDE.md +0 -322
  1796. data/lib/pangea/resources/aws_workspaces_workspace/resource.rb +0 -108
  1797. data/lib/pangea/resources/aws_workspaces_workspace/types.rb +0 -184
  1798. data/lib/pangea/resources/aws_xray_encryption_config/resource.rb +0 -80
  1799. data/lib/pangea/resources/aws_xray_group/resource.rb +0 -113
  1800. data/lib/pangea/resources/aws_xray_sampling_rule/resource.rb +0 -146
  1801. data/lib/pangea/resources/base.rb +0 -81
  1802. data/lib/pangea/resources/composition.rb +0 -534
  1803. data/lib/pangea/resources/edge_computing_guide.md +0 -613
  1804. data/lib/pangea/resources/event_driven_example.rb +0 -288
  1805. data/lib/pangea/resources/helpers.rb +0 -54
  1806. data/lib/pangea/resources/reference.rb +0 -280
  1807. data/lib/pangea/resources/templates/resource_template.rb.erb +0 -56
  1808. data/lib/pangea/resources/types.rb +0 -1231
  1809. data/lib/pangea/resources.rb +0 -32
  1810. data/lib/pangea/types/aws_types.rb +0 -65
  1811. data/lib/pangea/types/base_types.rb +0 -51
  1812. data/lib/pangea/types/computed_types.rb +0 -23
  1813. data/lib/pangea/types/registry.rb +0 -68
  1814. data/lib/pangea/types.rb +0 -164
  1815. data/lib/pangea/ui.rb +0 -44
  1816. data/lib/pangea/utilities/analysis/README.md +0 -11
  1817. data/lib/pangea/utilities/cli/README.md +0 -11
  1818. data/lib/pangea/utilities/cli/command.rb +0 -98
  1819. data/lib/pangea/utilities/cli/commands/cost_command.rb +0 -117
  1820. data/lib/pangea/utilities/cli/commands/drift_command.rb +0 -127
  1821. data/lib/pangea/utilities/cli/commands/state_command.rb +0 -119
  1822. data/lib/pangea/utilities/cost/README.md +0 -12
  1823. data/lib/pangea/utilities/cost/calculator.rb +0 -174
  1824. data/lib/pangea/utilities/cost/resource_pricing.rb +0 -102
  1825. data/lib/pangea/utilities/cost.rb +0 -29
  1826. data/lib/pangea/utilities/drift/README.md +0 -12
  1827. data/lib/pangea/utilities/drift/detector.rb +0 -122
  1828. data/lib/pangea/utilities/drift/report.rb +0 -100
  1829. data/lib/pangea/utilities/drift.rb +0 -29
  1830. data/lib/pangea/utilities/migration/README.md +0 -11
  1831. data/lib/pangea/utilities/monitoring/README.md +0 -11
  1832. data/lib/pangea/utilities/remote_state/README.md +0 -12
  1833. data/lib/pangea/utilities/remote_state/dependency_manager.rb +0 -99
  1834. data/lib/pangea/utilities/remote_state/dsl_extensions.rb +0 -109
  1835. data/lib/pangea/utilities/remote_state/output_registry.rb +0 -119
  1836. data/lib/pangea/utilities/remote_state/reference.rb +0 -77
  1837. data/lib/pangea/utilities/remote_state.rb +0 -28
  1838. data/lib/pangea/utilities/validation/README.md +0 -11
  1839. data/lib/pangea/utilities/visualization/README.md +0 -12
  1840. data/lib/pangea/utilities/visualization/graph.rb +0 -112
  1841. data/lib/pangea/utilities/visualization/mermaid_exporter.rb +0 -149
  1842. data/lib/pangea/utilities/visualization.rb +0 -28
  1843. data/lib/pangea/utilities.rb +0 -39
  1844. data/lib/pangea/validation.rb +0 -100
  1845. data/pangea.yaml.example +0 -87
  1846. data/pangea.yml.example +0 -76
  1847. data/pangea_test.yml +0 -19
  1848. data/rbs_collection.yaml +0 -37
  1849. data/release.sh +0 -32
  1850. data/scripts/add_copyright_headers.rb +0 -65
  1851. data/scripts/analyze_resource_structure.rb +0 -127
  1852. data/scripts/audit_vpc_resources.rb +0 -36
  1853. data/scripts/discover_resources.rb +0 -53
  1854. data/scripts/find_untested_resources.rb +0 -115
  1855. data/scripts/generate_vpc_tests.rb +0 -21
  1856. data/scripts/prioritize_resources.rb +0 -72
  1857. data/scripts/synthesis_coverage_report.json +0 -3723
  1858. data/scripts/synthesis_coverage_report.rb +0 -284
  1859. data/scripts/synthesis_coverage_summary.rb +0 -233
  1860. data/scripts/synthesis_enhancement_tasks.json +0 -74
  1861. data/scripts/verify_implementation.rb +0 -146
  1862. data/scripts/verify_utilities.rb +0 -185
  1863. data/shell.nix +0 -13
  1864. data/sig/pangea/architectures.rbs +0 -260
  1865. data/sig/pangea/entities/namespace.rbs +0 -37
  1866. data/sig/pangea/resources/aws.rbs +0 -254
  1867. data/sig/pangea/resources/aws_acm_certificate.rbs +0 -23
  1868. data/sig/pangea/resources/aws_acm_certificate_validation.rbs +0 -20
  1869. data/sig/pangea/resources/aws_api_gateway_deployment.rbs +0 -49
  1870. data/sig/pangea/resources/aws_api_gateway_method.rbs +0 -51
  1871. data/sig/pangea/resources/aws_api_gateway_resource.rbs +0 -33
  1872. data/sig/pangea/resources/aws_api_gateway_rest_api.rbs +0 -60
  1873. data/sig/pangea/resources/aws_api_gateway_stage.rbs +0 -89
  1874. data/sig/pangea/resources/aws_appstream_fleet.rbs +0 -58
  1875. data/sig/pangea/resources/aws_batch_compute_environment.rbs +0 -54
  1876. data/sig/pangea/resources/aws_batch_job_definition.rbs +0 -69
  1877. data/sig/pangea/resources/aws_batch_job_queue.rbs +0 -65
  1878. data/sig/pangea/resources/aws_braket_device.rbs +0 -114
  1879. data/sig/pangea/resources/aws_braket_quantum_task.rbs +0 -32
  1880. data/sig/pangea/resources/aws_budgets_budget.rbs +0 -130
  1881. data/sig/pangea/resources/aws_budgets_budget_action.rbs +0 -95
  1882. data/sig/pangea/resources/aws_cloudfront_cache_policy.rbs +0 -18
  1883. data/sig/pangea/resources/aws_cloudfront_distribution.rbs +0 -124
  1884. data/sig/pangea/resources/aws_cloudfront_origin_access_control.rbs +0 -27
  1885. data/sig/pangea/resources/aws_cloudfront_origin_request_policy.rbs +0 -17
  1886. data/sig/pangea/resources/aws_cloudwatch_composite_alarm.rbs +0 -34
  1887. data/sig/pangea/resources/aws_cloudwatch_dashboard.rbs +0 -69
  1888. data/sig/pangea/resources/aws_cloudwatch_event_rule.rbs +0 -34
  1889. data/sig/pangea/resources/aws_cloudwatch_event_target.rbs +0 -80
  1890. data/sig/pangea/resources/aws_cloudwatch_log_destination.rbs +0 -26
  1891. data/sig/pangea/resources/aws_cloudwatch_log_destination_policy.rbs +0 -27
  1892. data/sig/pangea/resources/aws_cloudwatch_log_group.rbs +0 -28
  1893. data/sig/pangea/resources/aws_cloudwatch_log_metric_filter.rbs +0 -43
  1894. data/sig/pangea/resources/aws_cloudwatch_log_stream.rbs +0 -25
  1895. data/sig/pangea/resources/aws_cloudwatch_log_subscription_filter.rbs +0 -28
  1896. data/sig/pangea/resources/aws_codeartifact_domain.rbs +0 -29
  1897. data/sig/pangea/resources/aws_codeartifact_repository.rbs +0 -46
  1898. data/sig/pangea/resources/aws_codestar_connection.rbs +0 -36
  1899. data/sig/pangea/resources/aws_cognito_identity_pool.rbs +0 -56
  1900. data/sig/pangea/resources/aws_cognito_identity_provider.rbs +0 -46
  1901. data/sig/pangea/resources/aws_cognito_user.rbs +0 -36
  1902. data/sig/pangea/resources/aws_cognito_user_group.rbs +0 -34
  1903. data/sig/pangea/resources/aws_cognito_user_pool.rbs +0 -176
  1904. data/sig/pangea/resources/aws_cognito_user_pool_client.rbs +0 -75
  1905. data/sig/pangea/resources/aws_cognito_user_pool_domain.rbs +0 -46
  1906. data/sig/pangea/resources/aws_datasync_on_snow_location.rbs +0 -12
  1907. data/sig/pangea/resources/aws_datasync_on_snow_task.rbs +0 -12
  1908. data/sig/pangea/resources/aws_datasync_snow_ball_edge.rbs +0 -12
  1909. data/sig/pangea/resources/aws_db_parameter_group.rbs +0 -81
  1910. data/sig/pangea/resources/aws_db_subnet_group.rbs +0 -42
  1911. data/sig/pangea/resources/aws_ec2_carrier_gateway.rbs +0 -12
  1912. data/sig/pangea/resources/aws_ec2_local_gateway.rbs +0 -12
  1913. data/sig/pangea/resources/aws_ec2_local_gateway_route.rbs +0 -12
  1914. data/sig/pangea/resources/aws_ec2_local_gateway_route_table.rbs +0 -12
  1915. data/sig/pangea/resources/aws_ec2_local_gateway_route_table_vpc_association.rbs +0 -12
  1916. data/sig/pangea/resources/aws_ec2_local_gateway_virtual_interface_group_association.rbs +0 -12
  1917. data/sig/pangea/resources/aws_ecr_lifecycle_policy.rbs +0 -28
  1918. data/sig/pangea/resources/aws_ecr_replication_configuration.rbs +0 -42
  1919. data/sig/pangea/resources/aws_ecr_repository.rbs +0 -36
  1920. data/sig/pangea/resources/aws_ecr_repository_policy.rbs +0 -27
  1921. data/sig/pangea/resources/aws_ecs_cluster.rbs +0 -86
  1922. data/sig/pangea/resources/aws_ecs_cluster_capacity_providers.rbs +0 -59
  1923. data/sig/pangea/resources/aws_ecs_service.rbs +0 -238
  1924. data/sig/pangea/resources/aws_ecs_task_definition.rbs +0 -334
  1925. data/sig/pangea/resources/aws_efs_access_point.rbs +0 -33
  1926. data/sig/pangea/resources/aws_efs_file_system.rbs +0 -34
  1927. data/sig/pangea/resources/aws_efs_mount_target.rbs +0 -29
  1928. data/sig/pangea/resources/aws_eks_addon.rbs +0 -50
  1929. data/sig/pangea/resources/aws_eks_cluster.rbs +0 -79
  1930. data/sig/pangea/resources/aws_eks_fargate_profile.rbs +0 -43
  1931. data/sig/pangea/resources/aws_eks_node_group.rbs +0 -106
  1932. data/sig/pangea/resources/aws_elasticache_cluster.rbs +0 -39
  1933. data/sig/pangea/resources/aws_elasticache_parameter_group.rbs +0 -18
  1934. data/sig/pangea/resources/aws_elasticache_subnet_group.rbs +0 -17
  1935. data/sig/pangea/resources/aws_elemental_data_plane_channel.rbs +0 -18
  1936. data/sig/pangea/resources/aws_emrcontainers_virtual_cluster.rbs +0 -39
  1937. data/sig/pangea/resources/aws_frauddetector_detector.rbs +0 -76
  1938. data/sig/pangea/resources/aws_groundstation_antenna_downlink_config.rbs +0 -12
  1939. data/sig/pangea/resources/aws_groundstation_antenna_uplink_config.rbs +0 -12
  1940. data/sig/pangea/resources/aws_groundstation_config.rbs +0 -12
  1941. data/sig/pangea/resources/aws_groundstation_contact.rbs +0 -12
  1942. data/sig/pangea/resources/aws_groundstation_dataflow_endpoint_group.rbs +0 -12
  1943. data/sig/pangea/resources/aws_groundstation_mission_profile.rbs +0 -12
  1944. data/sig/pangea/resources/aws_groundstation_tracking_config.rbs +0 -12
  1945. data/sig/pangea/resources/aws_healthlake_fhir_datastore.rbs +0 -80
  1946. data/sig/pangea/resources/aws_iam_group.rbs +0 -71
  1947. data/sig/pangea/resources/aws_iam_policy.rbs +0 -62
  1948. data/sig/pangea/resources/aws_iam_role_policy_attachment.rbs +0 -88
  1949. data/sig/pangea/resources/aws_iam_user.rbs +0 -56
  1950. data/sig/pangea/resources/aws_kms_alias.rbs +0 -16
  1951. data/sig/pangea/resources/aws_kms_key.rbs +0 -23
  1952. data/sig/pangea/resources/aws_lambda_event_source_mapping.rbs +0 -116
  1953. data/sig/pangea/resources/aws_lambda_function.rbs +0 -137
  1954. data/sig/pangea/resources/aws_lambda_layer_version.rbs +0 -48
  1955. data/sig/pangea/resources/aws_lambda_permission.rbs +0 -44
  1956. data/sig/pangea/resources/aws_lightsail_bucket.rbs +0 -12
  1957. data/sig/pangea/resources/aws_lightsail_certificate.rbs +0 -12
  1958. data/sig/pangea/resources/aws_lightsail_database.rbs +0 -12
  1959. data/sig/pangea/resources/aws_lightsail_disk.rbs +0 -12
  1960. data/sig/pangea/resources/aws_lightsail_disk_attachment.rbs +0 -12
  1961. data/sig/pangea/resources/aws_lightsail_domain.rbs +0 -12
  1962. data/sig/pangea/resources/aws_lightsail_instance.rbs +0 -12
  1963. data/sig/pangea/resources/aws_lightsail_key_pair.rbs +0 -12
  1964. data/sig/pangea/resources/aws_lightsail_load_balancer.rbs +0 -12
  1965. data/sig/pangea/resources/aws_lightsail_load_balancer_attachment.rbs +0 -12
  1966. data/sig/pangea/resources/aws_lightsail_static_ip.rbs +0 -12
  1967. data/sig/pangea/resources/aws_lightsail_static_ip_attachment.rbs +0 -12
  1968. data/sig/pangea/resources/aws_lookoutequipment_dataset.rbs +0 -73
  1969. data/sig/pangea/resources/aws_managedblockchain_member.rbs +0 -73
  1970. data/sig/pangea/resources/aws_managedblockchain_network.rbs +0 -102
  1971. data/sig/pangea/resources/aws_managedblockchain_node.rbs +0 -71
  1972. data/sig/pangea/resources/aws_media_convert_queue.rbs +0 -20
  1973. data/sig/pangea/resources/aws_media_live_channel.rbs +0 -67
  1974. data/sig/pangea/resources/aws_media_live_input.rbs +0 -68
  1975. data/sig/pangea/resources/aws_media_package_channel.rbs +0 -35
  1976. data/sig/pangea/resources/aws_media_package_origin_endpoint.rbs +0 -29
  1977. data/sig/pangea/resources/aws_media_store_container.rbs +0 -13
  1978. data/sig/pangea/resources/aws_outposts_asset.rbs +0 -12
  1979. data/sig/pangea/resources/aws_outposts_capacity_task.rbs +0 -12
  1980. data/sig/pangea/resources/aws_outposts_connection.rbs +0 -12
  1981. data/sig/pangea/resources/aws_outposts_order.rbs +0 -12
  1982. data/sig/pangea/resources/aws_outposts_outpost.rbs +0 -12
  1983. data/sig/pangea/resources/aws_outposts_outpost_instance_type.rbs +0 -12
  1984. data/sig/pangea/resources/aws_outposts_site.rbs +0 -12
  1985. data/sig/pangea/resources/aws_outposts_supported_hardware_type.rbs +0 -12
  1986. data/sig/pangea/resources/aws_qldb_ledger.rbs +0 -37
  1987. data/sig/pangea/resources/aws_qldb_stream.rbs +0 -53
  1988. data/sig/pangea/resources/aws_rds_cluster.rbs +0 -193
  1989. data/sig/pangea/resources/aws_rds_cluster_instance.rbs +0 -128
  1990. data/sig/pangea/resources/aws_route53_health_check.rbs +0 -34
  1991. data/sig/pangea/resources/aws_route53_record.rbs +0 -63
  1992. data/sig/pangea/resources/aws_route53_zone.rbs +0 -26
  1993. data/sig/pangea/resources/aws_s3_bucket_cors_configuration.rbs +0 -42
  1994. data/sig/pangea/resources/aws_s3_bucket_inventory.rbs +0 -78
  1995. data/sig/pangea/resources/aws_s3_bucket_lifecycle_configuration.rbs +0 -94
  1996. data/sig/pangea/resources/aws_s3_bucket_notification.rbs +0 -65
  1997. data/sig/pangea/resources/aws_s3_bucket_object_lock_configuration.rbs +0 -51
  1998. data/sig/pangea/resources/aws_s3_bucket_replication_configuration.rbs +0 -107
  1999. data/sig/pangea/resources/aws_s3_bucket_website_configuration.rbs +0 -74
  2000. data/sig/pangea/resources/aws_sagemaker_feature_group.rbs +0 -58
  2001. data/sig/pangea/resources/aws_secretsmanager_secret.rbs +0 -29
  2002. data/sig/pangea/resources/aws_secretsmanager_secret_version.rbs +0 -21
  2003. data/sig/pangea/resources/aws_sfn_activity.rbs +0 -36
  2004. data/sig/pangea/resources/aws_sfn_state_machine.rbs +0 -54
  2005. data/sig/pangea/resources/aws_snowball_cluster.rbs +0 -12
  2006. data/sig/pangea/resources/aws_snowball_job.rbs +0 -12
  2007. data/sig/pangea/resources/aws_snowcone_device.rbs +0 -12
  2008. data/sig/pangea/resources/aws_snowcone_job.rbs +0 -12
  2009. data/sig/pangea/resources/aws_snowmobile_job.rbs +0 -12
  2010. data/sig/pangea/resources/aws_sns_subscription.rbs +0 -49
  2011. data/sig/pangea/resources/aws_sns_topic.rbs +0 -78
  2012. data/sig/pangea/resources/aws_sqs_queue.rbs +0 -67
  2013. data/sig/pangea/resources/aws_sqs_queue_policy.rbs +0 -29
  2014. data/sig/pangea/resources/aws_wavelength_application_deployment.rbs +0 -12
  2015. data/sig/pangea/resources/aws_wavelength_deployment.rbs +0 -12
  2016. data/sig/pangea/resources/aws_wavelength_edge_location_mapping.rbs +0 -12
  2017. data/sig/pangea/resources/aws_wavelength_network_interface.rbs +0 -12
  2018. data/sig/pangea/resources/aws_wavelength_workload.rbs +0 -12
  2019. data/sig/pangea/resources/aws_workspaces_bundle.rbs +0 -50
  2020. data/sig/pangea/resources/aws_workspaces_directory.rbs +0 -63
  2021. data/sig/pangea/resources/aws_workspaces_ip_group.rbs +0 -41
  2022. data/sig/pangea/resources/aws_workspaces_workspace.rbs +0 -40
  2023. data/sig/pangea/structures/namespace.rbs +0 -28
  2024. data/sig/pangea/structures/project.rbs +0 -20
  2025. data/sig/pangea/types.rbs +0 -76
  2026. data/sig/pangea.rbs +0 -13
  2027. data/test_infrastructure/infrastructure.rb +0 -510
  2028. data/test_infrastructure/main.tf.json +0 -15
  2029. data/test_infrastructure/multi_template_infrastructure.rb +0 -125
  2030. data/test_infrastructure/pangea.yml +0 -35
  2031. data/test_infrastructure/simple_infrastructure.rb +0 -82
  2032. data/test_infrastructure/test_multi_workspaces.rb +0 -90
  2033. data/test_infrastructure/test_template_workspaces.rb +0 -62
  2034. data/test_infrastructure/workspace_compute.tf.json +0 -46
  2035. data/test_infrastructure/workspace_local_resources.tf.json +0 -41
  2036. data/test_infrastructure/workspace_networking.tf.json +0 -32
  2037. data/test_infrastructure/workspace_storage.tf.json +0 -34
  2038. data/tools/README.md +0 -245
  2039. data/tools/analyze_terraform_docs.rb +0 -367
  2040. data/tools/batch_generate_resources.rb +0 -304
  2041. data/tools/complete_resource_data.rb +0 -492
  2042. data/tools/database_batch.yaml +0 -62
  2043. data/tools/database_resource_data.rb +0 -454
  2044. data/tools/enhance_database_batch.rb +0 -69
  2045. data/tools/enhance_remaining_batch.rb +0 -61
  2046. data/tools/generate_resource.rb +0 -530
  2047. data/tools/priority_resources.yaml +0 -95
  2048. data/tools/resource_enhancer.rb +0 -531
  2049. data/tools/simple_validation.rb +0 -231
  2050. data/tools/update_aws_loader.rb +0 -150
  2051. data/tools/validate_database_resources.rb +0 -444
@@ -1,1403 +0,0 @@
1
- # frozen_string_literal: true
2
- # Copyright 2025 The Pangea Authors
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
-
16
-
17
- require_relative "types"
18
-
19
- module Pangea
20
- module Components
21
- module GreenDataLifecycle
22
- class Component
23
- include Pangea::DSL
24
-
25
- def self.build(input)
26
- new.build(input)
27
- end
28
-
29
- def build(input)
30
- input = Types::Input.new(input) unless input.is_a?(Types::Input)
31
-
32
- # Validate input parameters
33
- Types.validate_transition_days(
34
- input.transition_to_ia_days,
35
- input.transition_to_glacier_ir_days,
36
- input.transition_to_glacier_days,
37
- input.transition_to_deep_archive_days
38
- )
39
- Types.validate_carbon_threshold(input.carbon_threshold_gco2_per_gb)
40
- Types.validate_access_window(input.access_pattern_window_days)
41
-
42
- # Create IAM roles
43
- lifecycle_role = create_lifecycle_role(input)
44
- analyzer_role = create_analyzer_role(input)
45
-
46
- # Create S3 buckets
47
- primary_bucket = create_primary_bucket(input)
48
- archive_bucket = input.enable_glacier_archive ? create_archive_bucket(input) : nil
49
-
50
- # Create lifecycle configuration
51
- lifecycle_configuration = create_lifecycle_configuration(input, primary_bucket)
52
-
53
- # Create intelligent tiering if enabled
54
- intelligent_tiering_configuration = input.enable_intelligent_tiering ?
55
- create_intelligent_tiering_configuration(input, primary_bucket) : nil
56
-
57
- # Create Glacier vault for deep archive
58
- glacier_vault = input.enable_glacier_archive ? create_glacier_vault(input) : nil
59
-
60
- # Create Lambda functions
61
- access_analyzer = create_access_analyzer_function(input, analyzer_role, primary_bucket)
62
- carbon_optimizer = create_carbon_optimizer_function(input, analyzer_role, primary_bucket)
63
- lifecycle_manager = create_lifecycle_manager_function(input, analyzer_role, primary_bucket)
64
-
65
- # Create S3 inventory if enabled
66
- inventory_configuration = input.enable_inventory ?
67
- create_inventory_configuration(input, primary_bucket) : nil
68
-
69
- # Create CloudWatch metrics and dashboard
70
- storage_metrics = create_storage_metrics(input, primary_bucket)
71
- carbon_dashboard = create_carbon_dashboard(input, primary_bucket, storage_metrics)
72
- efficiency_alarms = create_efficiency_alarms(input, storage_metrics)
73
-
74
- Types::Output.new(
75
- primary_bucket: primary_bucket,
76
- archive_bucket: archive_bucket,
77
- lifecycle_configuration: lifecycle_configuration,
78
- intelligent_tiering_configuration: intelligent_tiering_configuration,
79
- glacier_vault: glacier_vault,
80
- access_analyzer_function: access_analyzer,
81
- carbon_optimizer_function: carbon_optimizer,
82
- lifecycle_manager_function: lifecycle_manager,
83
- storage_metrics: storage_metrics,
84
- carbon_dashboard: carbon_dashboard,
85
- efficiency_alarms: efficiency_alarms,
86
- inventory_configuration: inventory_configuration,
87
- lifecycle_role: lifecycle_role,
88
- analyzer_role: analyzer_role
89
- )
90
- end
91
-
92
- private
93
-
94
- def create_lifecycle_role(input)
95
- aws_iam_role(:"#{input.name}-lifecycle-role", {
96
- assume_role_policy: JSON.pretty_generate({
97
- Version: "2012-10-17",
98
- Statement: [{
99
- Effect: "Allow",
100
- Principal: { Service: "s3.amazonaws.com" },
101
- Action: "sts:AssumeRole"
102
- }]
103
- }),
104
- inline_policy: [{
105
- name: "lifecycle-transition-policy",
106
- policy: JSON.pretty_generate({
107
- Version: "2012-10-17",
108
- Statement: [{
109
- Effect: "Allow",
110
- Action: [
111
- "s3:GetObject",
112
- "s3:PutObject",
113
- "s3:DeleteObject",
114
- "glacier:UploadArchive",
115
- "glacier:DeleteArchive"
116
- ],
117
- Resource: "*"
118
- }]
119
- })
120
- }],
121
- tags: input.tags.merge("Component" => "green-data-lifecycle")
122
- })
123
- end
124
-
125
- def create_analyzer_role(input)
126
- aws_iam_role(:"#{input.name}-analyzer-role", {
127
- assume_role_policy: JSON.pretty_generate({
128
- Version: "2012-10-17",
129
- Statement: [{
130
- Effect: "Allow",
131
- Principal: { Service: "lambda.amazonaws.com" },
132
- Action: "sts:AssumeRole"
133
- }]
134
- }),
135
- inline_policy: [{
136
- name: "analyzer-policy",
137
- policy: JSON.pretty_generate({
138
- Version: "2012-10-17",
139
- Statement: [
140
- {
141
- Effect: "Allow",
142
- Action: [
143
- "s3:GetObject",
144
- "s3:ListBucket",
145
- "s3:GetObjectTagging",
146
- "s3:PutObjectTagging",
147
- "s3:GetBucketInventoryConfiguration",
148
- "s3:GetMetricsConfiguration"
149
- ],
150
- Resource: "*"
151
- },
152
- {
153
- Effect: "Allow",
154
- Action: [
155
- "cloudwatch:PutMetricData",
156
- "cloudwatch:GetMetricStatistics"
157
- ],
158
- Resource: "*"
159
- },
160
- {
161
- Effect: "Allow",
162
- Action: [
163
- "logs:CreateLogGroup",
164
- "logs:CreateLogStream",
165
- "logs:PutLogEvents"
166
- ],
167
- Resource: "*"
168
- }
169
- ]
170
- })
171
- }],
172
- tags: input.tags.merge("Component" => "green-data-lifecycle")
173
- })
174
- end
175
-
176
- def create_primary_bucket(input)
177
- bucket_name = input.bucket_prefix ? "#{input.bucket_prefix}-#{input.name}" : input.name
178
-
179
- aws_s3_bucket(:"#{input.name}-primary", {
180
- bucket: bucket_name,
181
- tags: input.tags.merge(
182
- "Component" => "green-data-lifecycle",
183
- "Purpose" => "primary-storage",
184
- "Sustainability" => "enabled"
185
- )
186
- })
187
- end
188
-
189
- def create_archive_bucket(input)
190
- bucket_name = input.bucket_prefix ? "#{input.bucket_prefix}-#{input.name}-archive" : "#{input.name}-archive"
191
-
192
- aws_s3_bucket(:"#{input.name}-archive", {
193
- bucket: bucket_name,
194
- tags: input.tags.merge(
195
- "Component" => "green-data-lifecycle",
196
- "Purpose" => "archive-storage",
197
- "Sustainability" => "optimized"
198
- )
199
- })
200
- end
201
-
202
- def create_lifecycle_configuration(input, bucket)
203
- rules = []
204
-
205
- # Intelligent transition rules based on strategy
206
- case input.lifecycle_strategy
207
- when 'carbon_optimized'
208
- rules.concat(create_carbon_optimized_rules(input))
209
- when 'access_pattern_based'
210
- rules.concat(create_access_pattern_rules(input))
211
- when 'time_based'
212
- rules.concat(create_time_based_rules(input))
213
- when 'size_based'
214
- rules.concat(create_size_based_rules(input))
215
- when 'cost_optimized'
216
- rules.concat(create_cost_optimized_rules(input))
217
- end
218
-
219
- # Add expiration rule if configured
220
- if input.expire_days
221
- rules << {
222
- id: "expire-old-objects",
223
- status: "Enabled",
224
- expiration: {
225
- days: input.expire_days
226
- }
227
- }
228
- end
229
-
230
- aws_s3_bucket_lifecycle_configuration(:"#{input.name}-lifecycle", {
231
- bucket: bucket.id,
232
- rule: rules
233
- })
234
- end
235
-
236
- def create_carbon_optimized_rules(input)
237
- [
238
- {
239
- id: "carbon-optimize-standard-to-ia",
240
- status: "Enabled",
241
- transition: [{
242
- days: input.transition_to_ia_days,
243
- storage_class: "STANDARD_IA"
244
- }],
245
- noncurrent_version_transition: [{
246
- noncurrent_days: input.transition_to_ia_days / 2,
247
- storage_class: "STANDARD_IA"
248
- }]
249
- },
250
- {
251
- id: "carbon-optimize-ia-to-glacier-ir",
252
- status: "Enabled",
253
- transition: [{
254
- days: input.transition_to_glacier_ir_days,
255
- storage_class: "GLACIER_IR"
256
- }]
257
- },
258
- {
259
- id: "carbon-optimize-to-deep-archive",
260
- status: "Enabled",
261
- transition: [{
262
- days: input.transition_to_deep_archive_days,
263
- storage_class: "DEEP_ARCHIVE"
264
- }]
265
- }
266
- ]
267
- end
268
-
269
- def create_access_pattern_rules(input)
270
- [
271
- {
272
- id: "access-pattern-optimization",
273
- status: "Enabled",
274
- transition: [
275
- {
276
- days: 30,
277
- storage_class: "INTELLIGENT_TIERING"
278
- }
279
- ]
280
- }
281
- ]
282
- end
283
-
284
- def create_time_based_rules(input)
285
- [
286
- {
287
- id: "time-based-transitions",
288
- status: "Enabled",
289
- transition: [
290
- {
291
- days: input.transition_to_ia_days,
292
- storage_class: "STANDARD_IA"
293
- },
294
- {
295
- days: input.transition_to_glacier_days,
296
- storage_class: "GLACIER_FLEXIBLE"
297
- }
298
- ]
299
- }
300
- ]
301
- end
302
-
303
- def create_size_based_rules(input)
304
- [
305
- {
306
- id: "large-object-archive",
307
- status: "Enabled",
308
- filter: {
309
- object_size_greater_than: input.large_object_threshold_mb * 1024 * 1024
310
- },
311
- transition: [{
312
- days: input.archive_large_objects_days,
313
- storage_class: "GLACIER_IR"
314
- }]
315
- }
316
- ]
317
- end
318
-
319
- def create_cost_optimized_rules(input)
320
- [
321
- {
322
- id: "cost-optimize-all",
323
- status: "Enabled",
324
- transition: [
325
- {
326
- days: 30,
327
- storage_class: "STANDARD_IA"
328
- },
329
- {
330
- days: 90,
331
- storage_class: "GLACIER_FLEXIBLE"
332
- }
333
- ]
334
- }
335
- ]
336
- end
337
-
338
- def create_intelligent_tiering_configuration(input, bucket)
339
- aws_s3_bucket_intelligent_tiering_configuration(:"#{input.name}-intelligent-tiering", {
340
- bucket: bucket.id,
341
- name: "#{input.name}-tiering",
342
- status: "Enabled",
343
- filter: {
344
- prefix: ""
345
- },
346
- tiering: [
347
- {
348
- days: 90,
349
- access_tier: "ARCHIVE_ACCESS"
350
- },
351
- {
352
- days: 180,
353
- access_tier: "DEEP_ARCHIVE_ACCESS"
354
- }
355
- ]
356
- })
357
- end
358
-
359
- def create_glacier_vault(input)
360
- aws_glacier_vault(:"#{input.name}-vault", {
361
- name: "#{input.name}-deep-archive",
362
- access_policy: JSON.pretty_generate({
363
- Version: "2012-10-17",
364
- Statement: [{
365
- Effect: "Allow",
366
- Principal: { AWS: "*" },
367
- Action: ["glacier:UploadArchive"],
368
- Resource: "*",
369
- Condition: {
370
- StringEquals: {
371
- "glacier:ArchiveDescription": ["green-lifecycle-archive"]
372
- }
373
- }
374
- }]
375
- }),
376
- notification: {
377
- sns_topic: ref(:aws_sns_topic, :"#{input.name}-glacier-notifications", :arn),
378
- events: ["ArchiveRetrievalCompleted", "InventoryRetrievalCompleted"]
379
- },
380
- tags: input.tags.merge("Component" => "green-data-lifecycle")
381
- })
382
- end
383
-
384
- def create_access_analyzer_function(input, role, bucket)
385
- aws_lambda_function(:"#{input.name}-access-analyzer", {
386
- runtime: "python3.11",
387
- handler: "index.handler",
388
- role: role.arn,
389
- timeout: 300,
390
- memory_size: 512,
391
- environment: {
392
- variables: {
393
- "BUCKET_NAME": bucket.bucket,
394
- "ANALYSIS_WINDOW_DAYS": input.access_pattern_window_days.to_s,
395
- "OPTIMIZE_READ_HEAVY": input.optimize_for_read_heavy.to_s,
396
- "MONITOR_PATTERNS": input.monitor_access_patterns.to_s
397
- }
398
- },
399
- code: {
400
- zip_file: generate_access_analyzer_code(input)
401
- },
402
- tags: input.tags.merge(
403
- "Component" => "green-data-lifecycle",
404
- "Function" => "access-analyzer"
405
- )
406
- })
407
- end
408
-
409
- def create_carbon_optimizer_function(input, role, bucket)
410
- aws_lambda_function(:"#{input.name}-carbon-optimizer", {
411
- runtime: "python3.11",
412
- handler: "index.handler",
413
- role: role.arn,
414
- timeout: 900,
415
- memory_size: 1024,
416
- environment: {
417
- variables: {
418
- "BUCKET_NAME": bucket.bucket,
419
- "CARBON_THRESHOLD": input.carbon_threshold_gco2_per_gb.to_s,
420
- "PREFER_RENEWABLE": input.prefer_renewable_regions.to_s,
421
- "LIFECYCLE_STRATEGY": input.lifecycle_strategy
422
- }
423
- },
424
- code: {
425
- zip_file: generate_carbon_optimizer_code(input)
426
- },
427
- tags: input.tags.merge(
428
- "Component" => "green-data-lifecycle",
429
- "Function" => "carbon-optimizer"
430
- )
431
- })
432
- end
433
-
434
- def create_lifecycle_manager_function(input, role, bucket)
435
- aws_lambda_function(:"#{input.name}-lifecycle-manager", {
436
- runtime: "python3.11",
437
- handler: "index.handler",
438
- role: role.arn,
439
- timeout: 900,
440
- memory_size: 512,
441
- environment: {
442
- variables: {
443
- "BUCKET_NAME": bucket.bucket,
444
- "COMPLIANCE_MODE": input.compliance_mode.to_s,
445
- "DELETION_PROTECTION": input.deletion_protection.to_s,
446
- "LEGAL_HOLD_TAGS": input.legal_hold_tags.join(",")
447
- }
448
- },
449
- code: {
450
- zip_file: generate_lifecycle_manager_code(input)
451
- },
452
- tags: input.tags.merge(
453
- "Component" => "green-data-lifecycle",
454
- "Function" => "lifecycle-manager"
455
- )
456
- })
457
- end
458
-
459
- def create_inventory_configuration(input, bucket)
460
- aws_s3_bucket_inventory(:"#{input.name}-inventory", {
461
- bucket: bucket.id,
462
- name: "#{input.name}-inventory",
463
- included_object_versions: "All",
464
- optional_fields: [
465
- "Size",
466
- "LastModifiedDate",
467
- "StorageClass",
468
- "IntelligentTieringAccessTier",
469
- "ObjectAccessControlList",
470
- "ObjectOwner"
471
- ],
472
- schedule: {
473
- frequency: "Daily"
474
- },
475
- destination: {
476
- bucket: {
477
- format: "Parquet",
478
- bucket_arn: bucket.arn,
479
- prefix: "inventory/"
480
- }
481
- }
482
- })
483
- end
484
-
485
- def create_storage_metrics(input, bucket)
486
- storage_classes = ['STANDARD', 'STANDARD_IA', 'GLACIER_IR', 'GLACIER_FLEXIBLE', 'DEEP_ARCHIVE']
487
-
488
- storage_classes.map do |storage_class|
489
- aws_cloudwatch_metric_alarm(:"#{input.name}-#{storage_class.downcase.gsub('_', '-')}-metric", {
490
- alarm_name: "#{input.name}-#{storage_class}-storage",
491
- comparison_operator: "GreaterThanThreshold",
492
- evaluation_periods: 1,
493
- metric_name: "BucketSizeBytes",
494
- namespace: "AWS/S3",
495
- period: 86400, # Daily
496
- statistic: "Average",
497
- threshold: 0,
498
- dimensions: [
499
- { name: "BucketName", value: bucket.bucket },
500
- { name: "StorageType", value: storage_class }
501
- ],
502
- treat_missing_data: "notBreaching"
503
- })
504
- end
505
- end
506
-
507
- def create_carbon_dashboard(input, bucket, metrics)
508
- aws_cloudwatch_dashboard(:"#{input.name}-carbon-dashboard", {
509
- dashboard_name: "#{input.name}-green-storage-dashboard",
510
- dashboard_body: JSON.pretty_generate({
511
- widgets: [
512
- {
513
- type: "metric",
514
- properties: {
515
- metrics: [
516
- ["GreenDataLifecycle/#{input.name}", "TotalCarbonFootprint", { stat: "Average" }],
517
- [".", "CarbonPerGB", { stat: "Average", yAxis: "right" }]
518
- ],
519
- period: 86400,
520
- stat: "Average",
521
- region: "us-east-1",
522
- title: "Storage Carbon Footprint",
523
- yAxis: {
524
- left: { label: "Total gCO2" },
525
- right: { label: "gCO2/GB" }
526
- }
527
- }
528
- },
529
- {
530
- type: "metric",
531
- properties: {
532
- metrics: Types::STORAGE_CARBON_INTENSITY.keys.map { |storage_class|
533
- ["AWS/S3", "BucketSizeBytes",
534
- { "BucketName": bucket.bucket, "StorageType": storage_class }]
535
- },
536
- period: 86400,
537
- stat: "Average",
538
- region: "us-east-1",
539
- title: "Storage Distribution by Class",
540
- stacked: true
541
- }
542
- },
543
- {
544
- type: "metric",
545
- properties: {
546
- metrics: [
547
- ["GreenDataLifecycle/#{input.name}", "ObjectsTransitioned", { stat: "Sum" }],
548
- [".", "ObjectsArchived", { stat: "Sum" }],
549
- [".", "ObjectsDeleted", { stat: "Sum" }]
550
- ],
551
- period: 86400,
552
- stat: "Sum",
553
- region: "us-east-1",
554
- title: "Lifecycle Activity"
555
- }
556
- },
557
- {
558
- type: "metric",
559
- properties: {
560
- metrics: [
561
- ["GreenDataLifecycle/#{input.name}", "AccessPatternScore", { stat: "Average" }],
562
- [".", "StorageEfficiency", { stat: "Average" }],
563
- [".", "CarbonEfficiency", { stat: "Average" }]
564
- ],
565
- period: 86400,
566
- stat: "Average",
567
- region: "us-east-1",
568
- title: "Efficiency Metrics",
569
- yAxis: {
570
- left: { min: 0, max: 100 }
571
- }
572
- }
573
- }
574
- ]
575
- })
576
- })
577
- end
578
-
579
- def create_efficiency_alarms(input, metrics)
580
- alarms = []
581
-
582
- if input.alert_on_high_storage_carbon
583
- alarms << aws_cloudwatch_alarm(:"#{input.name}-high-carbon-alarm", {
584
- alarm_name: "#{input.name}-high-storage-carbon",
585
- comparison_operator: "GreaterThanThreshold",
586
- evaluation_periods: 2,
587
- metric_name: "CarbonPerGB",
588
- namespace: "GreenDataLifecycle/#{input.name}",
589
- period: 86400,
590
- statistic: "Average",
591
- threshold: input.carbon_threshold_gco2_per_gb,
592
- alarm_description: "Alert when storage carbon intensity is high",
593
- treat_missing_data: "notBreaching",
594
- tags: input.tags
595
- })
596
- end
597
-
598
- alarms << aws_cloudwatch_alarm(:"#{input.name}-inefficient-storage-alarm", {
599
- alarm_name: "#{input.name}-inefficient-storage",
600
- comparison_operator: "LessThanThreshold",
601
- evaluation_periods: 3,
602
- metric_name: "StorageEfficiency",
603
- namespace: "GreenDataLifecycle/#{input.name}",
604
- period: 86400,
605
- statistic: "Average",
606
- threshold: 70.0,
607
- alarm_description: "Alert when storage efficiency is low",
608
- treat_missing_data: "notBreaching",
609
- tags: input.tags
610
- })
611
-
612
- alarms
613
- end
614
-
615
- def generate_access_analyzer_code(input)
616
- <<~PYTHON
617
- import json
618
- import boto3
619
- import os
620
- from datetime import datetime, timedelta
621
- from collections import defaultdict
622
-
623
- s3 = boto3.client('s3')
624
- cloudwatch = boto3.client('cloudwatch')
625
-
626
- BUCKET_NAME = os.environ['BUCKET_NAME']
627
- ANALYSIS_WINDOW = int(os.environ['ANALYSIS_WINDOW_DAYS'])
628
- OPTIMIZE_READ_HEAVY = os.environ['OPTIMIZE_READ_HEAVY'] == 'True'
629
-
630
- def handler(event, context):
631
- # Analyze access patterns for objects in bucket
632
- access_patterns = analyze_bucket_access_patterns()
633
-
634
- # Calculate optimal storage classes based on access
635
- recommendations = generate_storage_recommendations(access_patterns)
636
-
637
- # Apply tags for lifecycle rules
638
- apply_access_pattern_tags(recommendations)
639
-
640
- # Emit metrics
641
- emit_access_metrics(access_patterns, recommendations)
642
-
643
- return {
644
- 'statusCode': 200,
645
- 'body': json.dumps({
646
- 'analyzed_objects': len(access_patterns),
647
- 'recommendations': len(recommendations)
648
- })
649
- }
650
-
651
- def analyze_bucket_access_patterns():
652
- patterns = defaultdict(lambda: {
653
- 'access_count': 0,
654
- 'last_accessed': None,
655
- 'size': 0,
656
- 'storage_class': 'STANDARD'
657
- })
658
-
659
- # List all objects
660
- paginator = s3.get_paginator('list_objects_v2')
661
-
662
- for page in paginator.paginate(Bucket=BUCKET_NAME):
663
- if 'Contents' not in page:
664
- continue
665
-
666
- for obj in page['Contents']:
667
- key = obj['Key']
668
-
669
- # Get object metadata
670
- try:
671
- response = s3.head_object(Bucket=BUCKET_NAME, Key=key)
672
-
673
- patterns[key]['size'] = obj['Size']
674
- patterns[key]['storage_class'] = response.get('StorageClass', 'STANDARD')
675
- patterns[key]['last_modified'] = obj['LastModified']
676
-
677
- # Check CloudTrail for access patterns (simplified)
678
- # In production, this would query CloudTrail or S3 access logs
679
- patterns[key]['access_count'] = estimate_access_count(key, obj['LastModified'])
680
- patterns[key]['last_accessed'] = obj['LastModified'] # Simplified
681
-
682
- except Exception as e:
683
- print(f"Error analyzing {key}: {str(e)}")
684
-
685
- return patterns
686
-
687
- def estimate_access_count(key, last_modified):
688
- # Simulate access pattern based on object age and type
689
- age_days = (datetime.now(last_modified.tzinfo) - last_modified).days
690
-
691
- # Hot data pattern
692
- if age_days < 7:
693
- return 50
694
- # Warm data pattern
695
- elif age_days < 30:
696
- return 10
697
- # Cool data pattern
698
- elif age_days < 90:
699
- return 2
700
- # Cold data pattern
701
- else:
702
- return 0
703
-
704
- def generate_storage_recommendations(patterns):
705
- recommendations = {}
706
-
707
- for key, pattern in patterns.items():
708
- age_days = (datetime.now() - pattern['last_modified'].replace(tzinfo=None)).days
709
- access_frequency = pattern['access_count'] / max(age_days, 1)
710
-
711
- # Determine optimal storage class
712
- if access_frequency > 1: # More than once per day
713
- recommended_class = 'STANDARD'
714
- classification = 'hot'
715
- elif access_frequency > 0.1: # More than once per 10 days
716
- recommended_class = 'INTELLIGENT_TIERING'
717
- classification = 'warm'
718
- elif access_frequency > 0.01: # More than once per 100 days
719
- recommended_class = 'STANDARD_IA'
720
- classification = 'cool'
721
- elif age_days > 180:
722
- recommended_class = 'GLACIER_FLEXIBLE'
723
- classification = 'cold'
724
- else:
725
- recommended_class = 'GLACIER_IR'
726
- classification = 'cold'
727
-
728
- # Override for read-heavy optimization
729
- if OPTIMIZE_READ_HEAVY and classification in ['cool', 'cold']:
730
- recommended_class = 'STANDARD_IA'
731
- classification = 'cool'
732
-
733
- # Only recommend changes
734
- if recommended_class != pattern['storage_class']:
735
- recommendations[key] = {
736
- 'current_class': pattern['storage_class'],
737
- 'recommended_class': recommended_class,
738
- 'classification': classification,
739
- 'potential_savings': calculate_savings(
740
- pattern['size'],
741
- pattern['storage_class'],
742
- recommended_class
743
- )
744
- }
745
-
746
- return recommendations
747
-
748
- def calculate_savings(size_bytes, current_class, recommended_class):
749
- # Storage costs per GB per month (simplified)
750
- costs = {
751
- 'STANDARD': 0.023,
752
- 'INTELLIGENT_TIERING': 0.023, # Same as standard but with auto-tiering
753
- 'STANDARD_IA': 0.0125,
754
- 'GLACIER_IR': 0.004,
755
- 'GLACIER_FLEXIBLE': 0.0036,
756
- 'DEEP_ARCHIVE': 0.00099
757
- }
758
-
759
- size_gb = size_bytes / (1024 ** 3)
760
- current_cost = size_gb * costs.get(current_class, 0.023)
761
- recommended_cost = size_gb * costs.get(recommended_class, 0.023)
762
-
763
- return max(0, current_cost - recommended_cost)
764
-
765
- def apply_access_pattern_tags(recommendations):
766
- for key, recommendation in recommendations.items():
767
- try:
768
- # Apply tags for lifecycle rules to act on
769
- s3.put_object_tagging(
770
- Bucket=BUCKET_NAME,
771
- Key=key,
772
- Tagging={
773
- 'TagSet': [
774
- {
775
- 'Key': 'DataClassification',
776
- 'Value': recommendation['classification']
777
- },
778
- {
779
- 'Key': 'RecommendedStorageClass',
780
- 'Value': recommendation['recommended_class']
781
- },
782
- {
783
- 'Key': 'LastAnalyzed',
784
- 'Value': datetime.now().isoformat()
785
- }
786
- ]
787
- }
788
- )
789
- except Exception as e:
790
- print(f"Error tagging {key}: {str(e)}")
791
-
792
- def emit_access_metrics(patterns, recommendations):
793
- # Calculate metrics
794
- total_objects = len(patterns)
795
- hot_objects = sum(1 for r in recommendations.values() if r['classification'] == 'hot')
796
- warm_objects = sum(1 for r in recommendations.values() if r['classification'] == 'warm')
797
- cool_objects = sum(1 for r in recommendations.values() if r['classification'] == 'cool')
798
- cold_objects = sum(1 for r in recommendations.values() if r['classification'] == 'cold')
799
-
800
- total_savings = sum(r['potential_savings'] for r in recommendations.values())
801
-
802
- # Calculate access pattern score (0-100)
803
- if total_objects > 0:
804
- properly_tiered = total_objects - len(recommendations)
805
- access_pattern_score = (properly_tiered / total_objects) * 100
806
- else:
807
- access_pattern_score = 100
808
-
809
- cloudwatch.put_metric_data(
810
- Namespace=f"GreenDataLifecycle/{os.environ.get('COMPONENT_NAME', BUCKET_NAME)}",
811
- MetricData=[
812
- {
813
- 'MetricName': 'AccessPatternScore',
814
- 'Value': access_pattern_score,
815
- 'Unit': 'Percent'
816
- },
817
- {
818
- 'MetricName': 'HotDataObjects',
819
- 'Value': hot_objects,
820
- 'Unit': 'Count'
821
- },
822
- {
823
- 'MetricName': 'WarmDataObjects',
824
- 'Value': warm_objects,
825
- 'Unit': 'Count'
826
- },
827
- {
828
- 'MetricName': 'CoolDataObjects',
829
- 'Value': cool_objects,
830
- 'Unit': 'Count'
831
- },
832
- {
833
- 'MetricName': 'ColdDataObjects',
834
- 'Value': cold_objects,
835
- 'Unit': 'Count'
836
- },
837
- {
838
- 'MetricName': 'PotentialMonthlySavings',
839
- 'Value': total_savings,
840
- 'Unit': 'None'
841
- }
842
- ]
843
- )
844
- PYTHON
845
- end
846
-
847
- def generate_carbon_optimizer_code(input)
848
- <<~PYTHON
849
- import json
850
- import boto3
851
- import os
852
- from datetime import datetime
853
-
854
- s3 = boto3.client('s3')
855
- cloudwatch = boto3.client('cloudwatch')
856
-
857
- BUCKET_NAME = os.environ['BUCKET_NAME']
858
- CARBON_THRESHOLD = float(os.environ['CARBON_THRESHOLD'])
859
- PREFER_RENEWABLE = os.environ['PREFER_RENEWABLE'] == 'True'
860
- LIFECYCLE_STRATEGY = os.environ['LIFECYCLE_STRATEGY']
861
-
862
- # Carbon intensity by storage class (gCO2/GB/month)
863
- STORAGE_CARBON_INTENSITY = {
864
- 'STANDARD': 0.55,
865
- 'INTELLIGENT_TIERING': 0.45,
866
- 'STANDARD_IA': 0.35,
867
- 'ONEZONE_IA': 0.30,
868
- 'GLACIER_IR': 0.15,
869
- 'GLACIER_FLEXIBLE': 0.10,
870
- 'DEEP_ARCHIVE': 0.05
871
- }
872
-
873
- def handler(event, context):
874
- # Calculate current carbon footprint
875
- current_footprint = calculate_bucket_carbon_footprint()
876
-
877
- # Generate optimization recommendations
878
- optimizations = generate_carbon_optimizations(current_footprint)
879
-
880
- # Apply optimizations if within threshold
881
- applied = apply_carbon_optimizations(optimizations)
882
-
883
- # Emit carbon metrics
884
- emit_carbon_metrics(current_footprint, optimizations, applied)
885
-
886
- return {
887
- 'statusCode': 200,
888
- 'body': json.dumps({
889
- 'current_carbon_footprint': current_footprint['total_gco2'],
890
- 'potential_reduction': optimizations['total_reduction'],
891
- 'optimizations_applied': len(applied)
892
- })
893
- }
894
-
895
- def calculate_bucket_carbon_footprint():
896
- footprint = {
897
- 'by_storage_class': {},
898
- 'total_size_gb': 0,
899
- 'total_gco2': 0
900
- }
901
-
902
- # Get storage metrics for each class
903
- for storage_class, carbon_intensity in STORAGE_CARBON_INTENSITY.items():
904
- try:
905
- # Get bucket size for this storage class
906
- response = cloudwatch.get_metric_statistics(
907
- Namespace='AWS/S3',
908
- MetricName='BucketSizeBytes',
909
- Dimensions=[
910
- {'Name': 'BucketName', 'Value': BUCKET_NAME},
911
- {'Name': 'StorageType', 'Value': storage_class}
912
- ],
913
- StartTime=datetime.now().replace(hour=0, minute=0, second=0),
914
- EndTime=datetime.now(),
915
- Period=86400,
916
- Statistics=['Average']
917
- )
918
-
919
- if response['Datapoints']:
920
- size_bytes = response['Datapoints'][0]['Average']
921
- size_gb = size_bytes / (1024 ** 3)
922
- carbon_gco2 = size_gb * carbon_intensity
923
-
924
- footprint['by_storage_class'][storage_class] = {
925
- 'size_gb': size_gb,
926
- 'carbon_gco2': carbon_gco2,
927
- 'carbon_intensity': carbon_intensity
928
- }
929
-
930
- footprint['total_size_gb'] += size_gb
931
- footprint['total_gco2'] += carbon_gco2
932
- except Exception as e:
933
- print(f"Error getting metrics for {storage_class}: {str(e)}")
934
-
935
- # Calculate average carbon intensity
936
- if footprint['total_size_gb'] > 0:
937
- footprint['avg_carbon_intensity'] = footprint['total_gco2'] / footprint['total_size_gb']
938
- else:
939
- footprint['avg_carbon_intensity'] = 0
940
-
941
- return footprint
942
-
943
- def generate_carbon_optimizations(footprint):
944
- optimizations = {
945
- 'recommendations': [],
946
- 'total_reduction': 0
947
- }
948
-
949
- # Find opportunities to move data to lower carbon storage
950
- for storage_class, data in footprint['by_storage_class'].items():
951
- if data['size_gb'] == 0:
952
- continue
953
-
954
- # Find lower carbon alternatives
955
- for target_class, target_intensity in STORAGE_CARBON_INTENSITY.items():
956
- if target_intensity < data['carbon_intensity']:
957
- reduction = data['size_gb'] * (data['carbon_intensity'] - target_intensity)
958
-
959
- # Check if reduction is significant
960
- if reduction > data['size_gb'] * 0.1: # At least 10% reduction
961
- optimizations['recommendations'].append({
962
- 'from_class': storage_class,
963
- 'to_class': target_class,
964
- 'size_gb': data['size_gb'],
965
- 'carbon_reduction': reduction,
966
- 'percentage_reduction': (reduction / data['carbon_gco2']) * 100
967
- })
968
- optimizations['total_reduction'] += reduction
969
-
970
- # Sort by carbon reduction potential
971
- optimizations['recommendations'].sort(key=lambda x: x['carbon_reduction'], reverse=True)
972
-
973
- # Apply strategy-specific filtering
974
- if LIFECYCLE_STRATEGY == 'carbon_optimized':
975
- # Keep all recommendations
976
- pass
977
- elif LIFECYCLE_STRATEGY == 'cost_optimized':
978
- # Filter out transitions that increase cost significantly
979
- optimizations['recommendations'] = [
980
- r for r in optimizations['recommendations']
981
- if not is_cost_prohibitive(r['from_class'], r['to_class'])
982
- ]
983
-
984
- return optimizations
985
-
986
- def is_cost_prohibitive(from_class, to_class):
987
- # Simple cost comparison (in reality would be more complex)
988
- cost_order = ['DEEP_ARCHIVE', 'GLACIER_FLEXIBLE', 'GLACIER_IR',
989
- 'ONEZONE_IA', 'STANDARD_IA', 'INTELLIGENT_TIERING', 'STANDARD']
990
-
991
- from_index = cost_order.index(from_class) if from_class in cost_order else 0
992
- to_index = cost_order.index(to_class) if to_class in cost_order else 0
993
-
994
- # Allow transitions to cheaper storage only
995
- return to_index > from_index
996
-
997
- def apply_carbon_optimizations(optimizations):
998
- applied = []
999
-
1000
- # Check if carbon footprint is above threshold
1001
- for recommendation in optimizations['recommendations']:
1002
- if recommendation['carbon_reduction'] > CARBON_THRESHOLD * recommendation['size_gb']:
1003
- # Tag objects for transition
1004
- tag_objects_for_transition(
1005
- recommendation['from_class'],
1006
- recommendation['to_class']
1007
- )
1008
- applied.append(recommendation)
1009
-
1010
- # Stop after applying top 5 to avoid too many changes at once
1011
- if len(applied) >= 5:
1012
- break
1013
-
1014
- return applied
1015
-
1016
- def tag_objects_for_transition(from_class, to_class):
1017
- # Tag objects in the from_class for lifecycle transition
1018
- paginator = s3.get_paginator('list_objects_v2')
1019
-
1020
- for page in paginator.paginate(Bucket=BUCKET_NAME):
1021
- if 'Contents' not in page:
1022
- continue
1023
-
1024
- for obj in page['Contents']:
1025
- try:
1026
- # Check current storage class
1027
- response = s3.head_object(Bucket=BUCKET_NAME, Key=obj['Key'])
1028
-
1029
- if response.get('StorageClass', 'STANDARD') == from_class:
1030
- s3.put_object_tagging(
1031
- Bucket=BUCKET_NAME,
1032
- Key=obj['Key'],
1033
- Tagging={
1034
- 'TagSet': [
1035
- {
1036
- 'Key': 'CarbonOptimizationTarget',
1037
- 'Value': to_class
1038
- },
1039
- {
1040
- 'Key': 'CarbonOptimizationDate',
1041
- 'Value': datetime.now().isoformat()
1042
- }
1043
- ]
1044
- }
1045
- )
1046
- except Exception as e:
1047
- print(f"Error tagging object {obj['Key']}: {str(e)}")
1048
-
1049
- def emit_carbon_metrics(footprint, optimizations, applied):
1050
- # Emission metrics
1051
- cloudwatch.put_metric_data(
1052
- Namespace=f"GreenDataLifecycle/{os.environ.get('COMPONENT_NAME', BUCKET_NAME)}",
1053
- MetricData=[
1054
- {
1055
- 'MetricName': 'TotalCarbonFootprint',
1056
- 'Value': footprint['total_gco2'],
1057
- 'Unit': 'None'
1058
- },
1059
- {
1060
- 'MetricName': 'CarbonPerGB',
1061
- 'Value': footprint['avg_carbon_intensity'],
1062
- 'Unit': 'None'
1063
- },
1064
- {
1065
- 'MetricName': 'PotentialCarbonReduction',
1066
- 'Value': optimizations['total_reduction'],
1067
- 'Unit': 'None'
1068
- },
1069
- {
1070
- 'MetricName': 'CarbonOptimizationsApplied',
1071
- 'Value': len(applied),
1072
- 'Unit': 'Count'
1073
- },
1074
- {
1075
- 'MetricName': 'StorageEfficiency',
1076
- 'Value': calculate_storage_efficiency(footprint),
1077
- 'Unit': 'Percent'
1078
- },
1079
- {
1080
- 'MetricName': 'CarbonEfficiency',
1081
- 'Value': calculate_carbon_efficiency(footprint),
1082
- 'Unit': 'Percent'
1083
- }
1084
- ]
1085
- )
1086
-
1087
- # Emit per storage class metrics
1088
- for storage_class, data in footprint['by_storage_class'].items():
1089
- if data['size_gb'] > 0:
1090
- cloudwatch.put_metric_data(
1091
- Namespace=f"GreenDataLifecycle/{os.environ.get('COMPONENT_NAME', BUCKET_NAME)}",
1092
- MetricData=[{
1093
- 'MetricName': 'StorageClassCarbon',
1094
- 'Value': data['carbon_gco2'],
1095
- 'Unit': 'None',
1096
- 'Dimensions': [
1097
- {'Name': 'StorageClass', 'Value': storage_class}
1098
- ]
1099
- }]
1100
- )
1101
-
1102
- def calculate_storage_efficiency(footprint):
1103
- # Calculate how efficiently we're using storage tiers
1104
- # Perfect efficiency = all cold data in deep archive, all hot in standard
1105
- if footprint['total_size_gb'] == 0:
1106
- return 100
1107
-
1108
- # Simplified: lower average carbon intensity = higher efficiency
1109
- best_possible = STORAGE_CARBON_INTENSITY['DEEP_ARCHIVE']
1110
- worst_possible = STORAGE_CARBON_INTENSITY['STANDARD']
1111
-
1112
- efficiency = 100 * (worst_possible - footprint['avg_carbon_intensity']) / (worst_possible - best_possible)
1113
- return max(0, min(100, efficiency))
1114
-
1115
- def calculate_carbon_efficiency(footprint):
1116
- # Calculate carbon efficiency compared to all-standard storage
1117
- if footprint['total_size_gb'] == 0:
1118
- return 100
1119
-
1120
- all_standard_carbon = footprint['total_size_gb'] * STORAGE_CARBON_INTENSITY['STANDARD']
1121
- actual_carbon = footprint['total_gco2']
1122
-
1123
- savings_percentage = ((all_standard_carbon - actual_carbon) / all_standard_carbon) * 100
1124
- return max(0, min(100, savings_percentage))
1125
- PYTHON
1126
- end
1127
-
1128
- def generate_lifecycle_manager_code(input)
1129
- <<~PYTHON
1130
- import json
1131
- import boto3
1132
- import os
1133
- from datetime import datetime, timedelta
1134
-
1135
- s3 = boto3.client('s3')
1136
- cloudwatch = boto3.client('cloudwatch')
1137
-
1138
- BUCKET_NAME = os.environ['BUCKET_NAME']
1139
- COMPLIANCE_MODE = os.environ['COMPLIANCE_MODE'] == 'True'
1140
- DELETION_PROTECTION = os.environ['DELETION_PROTECTION'] == 'True'
1141
- LEGAL_HOLD_TAGS = os.environ['LEGAL_HOLD_TAGS'].split(',') if os.environ['LEGAL_HOLD_TAGS'] else []
1142
-
1143
- def handler(event, context):
1144
- # Process lifecycle transitions
1145
- transitions = process_lifecycle_transitions()
1146
-
1147
- # Handle deletions with protection
1148
- deletions = process_deletions()
1149
-
1150
- # Validate compliance requirements
1151
- compliance_issues = validate_compliance()
1152
-
1153
- # Emit lifecycle metrics
1154
- emit_lifecycle_metrics(transitions, deletions, compliance_issues)
1155
-
1156
- return {
1157
- 'statusCode': 200,
1158
- 'body': json.dumps({
1159
- 'transitions': len(transitions),
1160
- 'deletions': len(deletions),
1161
- 'compliance_issues': len(compliance_issues)
1162
- })
1163
- }
1164
-
1165
- def process_lifecycle_transitions():
1166
- transitions = []
1167
-
1168
- # Get objects tagged for transition
1169
- paginator = s3.get_paginator('list_objects_v2')
1170
-
1171
- for page in paginator.paginate(Bucket=BUCKET_NAME):
1172
- if 'Contents' not in page:
1173
- continue
1174
-
1175
- for obj in page['Contents']:
1176
- try:
1177
- # Get object tags
1178
- response = s3.get_object_tagging(Bucket=BUCKET_NAME, Key=obj['Key'])
1179
- tags = {tag['Key']: tag['Value'] for tag in response.get('TagSet', [])}
1180
-
1181
- # Check for carbon optimization transitions
1182
- if 'CarbonOptimizationTarget' in tags:
1183
- target_class = tags['CarbonOptimizationTarget']
1184
-
1185
- # Validate transition is allowed
1186
- if is_transition_allowed(obj, target_class, tags):
1187
- transitions.append({
1188
- 'key': obj['Key'],
1189
- 'target_class': target_class,
1190
- 'size': obj['Size']
1191
- })
1192
-
1193
- # Log transition for audit
1194
- log_transition(obj['Key'], target_class)
1195
-
1196
- # Check for access pattern transitions
1197
- elif 'RecommendedStorageClass' in tags:
1198
- target_class = tags['RecommendedStorageClass']
1199
-
1200
- if is_transition_allowed(obj, target_class, tags):
1201
- transitions.append({
1202
- 'key': obj['Key'],
1203
- 'target_class': target_class,
1204
- 'size': obj['Size']
1205
- })
1206
-
1207
- except Exception as e:
1208
- print(f"Error processing {obj['Key']}: {str(e)}")
1209
-
1210
- return transitions
1211
-
1212
- def is_transition_allowed(obj, target_class, tags):
1213
- # Check compliance mode restrictions
1214
- if COMPLIANCE_MODE:
1215
- # Don't transition objects with legal hold
1216
- if any(tag in tags for tag in LEGAL_HOLD_TAGS):
1217
- return False
1218
-
1219
- # Don't transition recent objects in compliance mode
1220
- age_days = (datetime.now() - obj['LastModified'].replace(tzinfo=None)).days
1221
- if age_days < 90: # Compliance retention period
1222
- return False
1223
-
1224
- # Validate transition makes sense
1225
- current_class = get_storage_class(obj)
1226
-
1227
- # Don't transition to same class
1228
- if current_class == target_class:
1229
- return False
1230
-
1231
- # Additional validation rules here
1232
- return True
1233
-
1234
- def get_storage_class(obj):
1235
- try:
1236
- response = s3.head_object(Bucket=BUCKET_NAME, Key=obj['Key'])
1237
- return response.get('StorageClass', 'STANDARD')
1238
- except:
1239
- return 'STANDARD'
1240
-
1241
- def process_deletions():
1242
- deletions = []
1243
-
1244
- if DELETION_PROTECTION:
1245
- # Only process objects explicitly marked for deletion
1246
- # In production, this would check for deletion markers
1247
- return deletions
1248
-
1249
- # Find expired objects
1250
- paginator = s3.get_paginator('list_objects_v2')
1251
-
1252
- for page in paginator.paginate(Bucket=BUCKET_NAME):
1253
- if 'Contents' not in page:
1254
- continue
1255
-
1256
- for obj in page['Contents']:
1257
- # Check if object is expired based on lifecycle rules
1258
- if is_object_expired(obj):
1259
- # Double-check no legal hold
1260
- if not has_legal_hold(obj['Key']):
1261
- deletions.append({
1262
- 'key': obj['Key'],
1263
- 'size': obj['Size'],
1264
- 'age_days': (datetime.now() - obj['LastModified'].replace(tzinfo=None)).days
1265
- })
1266
-
1267
- return deletions
1268
-
1269
- def is_object_expired(obj):
1270
- # Simplified expiration logic
1271
- age_days = (datetime.now() - obj['LastModified'].replace(tzinfo=None)).days
1272
-
1273
- # Check storage class specific expiration
1274
- storage_class = get_storage_class(obj)
1275
-
1276
- if storage_class == 'DEEP_ARCHIVE' and age_days > 2555: # 7 years
1277
- return True
1278
- elif storage_class == 'GLACIER_FLEXIBLE' and age_days > 1825: # 5 years
1279
- return True
1280
-
1281
- return False
1282
-
1283
- def has_legal_hold(key):
1284
- try:
1285
- response = s3.get_object_tagging(Bucket=BUCKET_NAME, Key=key)
1286
- tags = {tag['Key']: tag['Value'] for tag in response.get('TagSet', [])}
1287
- return any(tag in tags for tag in LEGAL_HOLD_TAGS)
1288
- except:
1289
- return False # Assume no hold if we can't check
1290
-
1291
- def validate_compliance():
1292
- issues = []
1293
-
1294
- if not COMPLIANCE_MODE:
1295
- return issues
1296
-
1297
- # Check for compliance violations
1298
- # 1. Objects missing required tags
1299
- # 2. Objects in wrong storage class for compliance
1300
- # 3. Objects approaching retention limits
1301
-
1302
- sample_size = 100 # Check sample of objects
1303
- checked = 0
1304
-
1305
- paginator = s3.get_paginator('list_objects_v2')
1306
-
1307
- for page in paginator.paginate(Bucket=BUCKET_NAME):
1308
- if 'Contents' not in page:
1309
- continue
1310
-
1311
- for obj in page['Contents']:
1312
- if checked >= sample_size:
1313
- break
1314
-
1315
- try:
1316
- response = s3.get_object_tagging(Bucket=BUCKET_NAME, Key=obj['Key'])
1317
- tags = {tag['Key']: tag['Value'] for tag in response.get('TagSet', [])}
1318
-
1319
- # Check for required compliance tags
1320
- if 'DataClassification' not in tags:
1321
- issues.append({
1322
- 'type': 'missing_classification',
1323
- 'key': obj['Key']
1324
- })
1325
-
1326
- # Check retention compliance
1327
- if 'RetentionDate' in tags:
1328
- retention_date = datetime.fromisoformat(tags['RetentionDate'])
1329
- if datetime.now() > retention_date:
1330
- issues.append({
1331
- 'type': 'retention_expired',
1332
- 'key': obj['Key']
1333
- })
1334
-
1335
- checked += 1
1336
-
1337
- except Exception as e:
1338
- print(f"Compliance check error for {obj['Key']}: {str(e)}")
1339
-
1340
- return issues
1341
-
1342
- def log_transition(key, target_class):
1343
- # Log transition for audit trail
1344
- print(f"Transition logged: {key} -> {target_class}")
1345
-
1346
- # In production, this would write to CloudTrail or audit log
1347
-
1348
- def emit_lifecycle_metrics(transitions, deletions, compliance_issues):
1349
- # Lifecycle activity metrics
1350
- cloudwatch.put_metric_data(
1351
- Namespace=f"GreenDataLifecycle/{os.environ.get('COMPONENT_NAME', BUCKET_NAME)}",
1352
- MetricData=[
1353
- {
1354
- 'MetricName': 'ObjectsTransitioned',
1355
- 'Value': len(transitions),
1356
- 'Unit': 'Count'
1357
- },
1358
- {
1359
- 'MetricName': 'ObjectsDeleted',
1360
- 'Value': len(deletions),
1361
- 'Unit': 'Count'
1362
- },
1363
- {
1364
- 'MetricName': 'ComplianceIssues',
1365
- 'Value': len(compliance_issues),
1366
- 'Unit': 'Count'
1367
- },
1368
- {
1369
- 'MetricName': 'ObjectsArchived',
1370
- 'Value': sum(1 for t in transitions if 'GLACIER' in t['target_class']),
1371
- 'Unit': 'Count'
1372
- }
1373
- ]
1374
- )
1375
-
1376
- # Storage saved metrics
1377
- if transitions:
1378
- total_size_transitioned = sum(t['size'] for t in transitions) / (1024 ** 3) # GB
1379
- cloudwatch.put_metric_data(
1380
- Namespace=f"GreenDataLifecycle/{os.environ.get('COMPONENT_NAME', BUCKET_NAME)}",
1381
- MetricData=[{
1382
- 'MetricName': 'DataTransitionedGB',
1383
- 'Value': total_size_transitioned,
1384
- 'Unit': 'None'
1385
- }]
1386
- )
1387
-
1388
- if deletions:
1389
- total_size_deleted = sum(d['size'] for d in deletions) / (1024 ** 3) # GB
1390
- cloudwatch.put_metric_data(
1391
- Namespace=f"GreenDataLifecycle/{os.environ.get('COMPONENT_NAME', BUCKET_NAME)}",
1392
- MetricData=[{
1393
- 'MetricName': 'DataDeletedGB',
1394
- 'Value': total_size_deleted,
1395
- 'Unit': 'None'
1396
- }]
1397
- )
1398
- PYTHON
1399
- end
1400
- end
1401
- end
1402
- end
1403
- end