pangea 0.0.45 → 0.0.47

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 (2198) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/skills/pangea-cloud-resource-creation/SKILL.md +169 -0
  3. data/.claude/skills/pangea-cloud-resource-creation/references/hetzner-volume-example.md +133 -0
  4. data/.claude/skills/pangea-cloud-resource-creation/references/patterns-antipatterns.md +149 -0
  5. data/.claude/skills/pangea-cloud-resource-creation/references/resource-templates.md +288 -0
  6. data/.claude/skills/pangea-cloud-resource-creation/references/tracker-cli.md +77 -0
  7. data/.claude/skills/pangea-cloud-resource-creation/references/type-system.md +105 -0
  8. data/.claude/skills/pangea-infrastructure/SKILL.md +300 -0
  9. data/.claude/skills/pangea-infrastructure/references/kubernetes-integration.md +149 -0
  10. data/.claude/skills/pangea-infrastructure/references/resource-patterns.md +206 -0
  11. data/.claude/skills/pangea-infrastructure/references/troubleshooting.md +86 -0
  12. data/.claude/skills/pangea-infrastructure/references/workflow-examples.md +98 -0
  13. data/.claude/skills/pangea-refactoring/SKILL.md +478 -0
  14. data/.claude/skills/pangea-resource-testing/SKILL.md +256 -0
  15. data/.claude/skills/pangea-rspec-resource-testing/SKILL.md +258 -0
  16. data/.claude/skills/pangea-rspec-resource-testing/references/cloudflare-zone-example.md +57 -0
  17. data/.claude/skills/pangea-rspec-resource-testing/references/common-patterns.md +109 -0
  18. data/.claude/skills/pangea-rspec-resource-testing/references/debugging.md +63 -0
  19. data/.claude/skills/pangea-rspec-resource-testing/references/integration-tests.md +55 -0
  20. data/.claude/skills/pangea-rspec-resource-testing/references/synthesis-tests.md +169 -0
  21. data/.claude/skills/pangea-rspec-resource-testing/references/troubleshooting.md +129 -0
  22. data/.claude/skills/pangea-rspec-resource-testing/references/type-validation-tests.md +92 -0
  23. data/.github/workflows/ci.yml +54 -53
  24. data/.gitignore +6 -1
  25. data/.rspec_status +17894 -0
  26. data/AGENT_GUIDE.md +24 -8
  27. data/CONTRIBUTING.md +35 -35
  28. data/Gemfile.lock +103 -57
  29. data/README.md +22 -13
  30. data/README_backend_configuration.md +16 -9
  31. data/bin/generate-hetzner-resource +204 -0
  32. data/bin/hetzner-tracker +280 -0
  33. data/bin/pangea +13 -0
  34. data/bin/pangea-compiler +15 -0
  35. data/bin/pangea-compiler-server +133 -0
  36. data/docs/KUBERNETES_OPERATOR_PLAN.md +2626 -0
  37. data/examples/test_simple/pangea.yml +7 -0
  38. data/examples/test_simple/simple.rb +39 -0
  39. data/flake.lock +748 -6
  40. data/flake.nix +501 -29
  41. data/gemset.nix +115 -104
  42. data/lib/pangea/agent/analysis.rb +128 -0
  43. data/lib/pangea/agent/compilation.rb +62 -0
  44. data/lib/pangea/agent/helpers.rb +29 -0
  45. data/lib/pangea/agent/listing.rb +108 -0
  46. data/lib/pangea/agent.rb +13 -349
  47. data/lib/pangea/architectures/base/architecture_reference/cost.rb +30 -0
  48. data/lib/pangea/architectures/base/architecture_reference/high_availability.rb +57 -0
  49. data/lib/pangea/architectures/base/architecture_reference/performance.rb +58 -0
  50. data/lib/pangea/architectures/base/architecture_reference/security.rb +61 -0
  51. data/lib/pangea/architectures/base/architecture_reference/validation.rb +46 -0
  52. data/lib/pangea/architectures/base/architecture_reference.rb +109 -0
  53. data/lib/pangea/architectures/base/vpc_networking.rb +155 -0
  54. data/lib/pangea/architectures/base.rb +9 -503
  55. data/lib/pangea/architectures/examples/architectures/devops_platform.rb +129 -0
  56. data/lib/pangea/architectures/examples/architectures/ecommerce_platform.rb +104 -0
  57. data/lib/pangea/architectures/examples/architectures/helpers.rb +47 -0
  58. data/lib/pangea/architectures/examples/architectures/ml_platform.rb +113 -0
  59. data/lib/pangea/architectures/examples/architectures/multi_region_saas.rb +95 -0
  60. data/lib/pangea/architectures/examples/web_application/analytics.rb +108 -0
  61. data/lib/pangea/architectures/examples/web_application/basic.rb +40 -0
  62. data/lib/pangea/architectures/examples/web_application/custom_database.rb +86 -0
  63. data/lib/pangea/architectures/examples/web_application/ecommerce.rb +103 -0
  64. data/lib/pangea/architectures/examples/web_application/microservices.rb +120 -0
  65. data/lib/pangea/architectures/examples/web_application/multi_environment.rb +88 -0
  66. data/lib/pangea/architectures/examples/web_application_examples.rb +7 -571
  67. data/lib/pangea/architectures/examples.rb +14 -480
  68. data/lib/pangea/architectures/patterns/data_processing/analytics.rb +70 -0
  69. data/lib/pangea/architectures/patterns/data_processing/iam_roles.rb +131 -0
  70. data/lib/pangea/architectures/patterns/data_processing/ingestion.rb +73 -0
  71. data/lib/pangea/architectures/patterns/data_processing/monitoring.rb +66 -0
  72. data/lib/pangea/architectures/patterns/data_processing/processing.rb +78 -0
  73. data/lib/pangea/architectures/patterns/data_processing/security.rb +34 -0
  74. data/lib/pangea/architectures/patterns/data_processing/storage.rb +74 -0
  75. data/lib/pangea/architectures/patterns/data_processing/streaming.rb +121 -0
  76. data/lib/pangea/architectures/patterns/data_processing/types.rb +79 -0
  77. data/lib/pangea/architectures/patterns/data_processing.rb +51 -619
  78. data/lib/pangea/architectures/patterns/microservices/helpers.rb +67 -0
  79. data/lib/pangea/architectures/patterns/microservices/observability.rb +83 -0
  80. data/lib/pangea/architectures/patterns/microservices/orchestration.rb +67 -0
  81. data/lib/pangea/architectures/patterns/microservices/platform_security.rb +56 -0
  82. data/lib/pangea/architectures/patterns/microservices/service.rb +117 -0
  83. data/lib/pangea/architectures/patterns/microservices/service_mesh.rb +49 -0
  84. data/lib/pangea/architectures/patterns/microservices/shared_services.rb +90 -0
  85. data/lib/pangea/architectures/patterns/microservices/types.rb +84 -0
  86. data/lib/pangea/architectures/patterns/microservices.rb +52 -563
  87. data/lib/pangea/architectures/patterns/web_application/compute_tier.rb +98 -0
  88. data/lib/pangea/architectures/patterns/web_application/database_tier.rb +76 -0
  89. data/lib/pangea/architectures/patterns/web_application/load_balancer_tier.rb +81 -0
  90. data/lib/pangea/architectures/patterns/web_application/monitoring_tier.rb +97 -0
  91. data/lib/pangea/architectures/patterns/web_application/security_tier.rb +76 -0
  92. data/lib/pangea/architectures/patterns/web_application/storage_tier.rb +58 -0
  93. data/lib/pangea/architectures/patterns/web_application/types.rb +99 -0
  94. data/lib/pangea/architectures/patterns/web_application/user_data.rb +107 -0
  95. data/lib/pangea/architectures/patterns/web_application.rb +46 -507
  96. data/lib/pangea/architectures/types/base_types.rb +58 -0
  97. data/lib/pangea/architectures/types/config_schemas.rb +112 -0
  98. data/lib/pangea/architectures/types/defaults.rb +62 -0
  99. data/lib/pangea/architectures/types/validators.rb +110 -0
  100. data/lib/pangea/architectures/types.rb +17 -257
  101. data/lib/pangea/architectures/web_application_architecture/architecture/component_creation.rb +146 -0
  102. data/lib/pangea/architectures/web_application_architecture/architecture/cost_estimation.rb +71 -0
  103. data/lib/pangea/architectures/web_application_architecture/architecture/fallback_resources.rb +63 -0
  104. data/lib/pangea/architectures/web_application_architecture/architecture/helpers.rb +50 -0
  105. data/lib/pangea/architectures/web_application_architecture/architecture/outputs.rb +73 -0
  106. data/lib/pangea/architectures/web_application_architecture/architecture/resource_creation.rb +54 -0
  107. data/lib/pangea/architectures/web_application_architecture/architecture.rb +18 -454
  108. data/lib/pangea/architectures/web_application_architecture/types/cost_estimation.rb +88 -0
  109. data/lib/pangea/architectures/web_application_architecture/types/defaults.rb +90 -0
  110. data/lib/pangea/architectures/web_application_architecture/types/input_schema.rb +91 -0
  111. data/lib/pangea/architectures/web_application_architecture/types/output_schema.rb +49 -0
  112. data/lib/pangea/architectures/web_application_architecture/types/validation.rb +81 -0
  113. data/lib/pangea/architectures/web_application_architecture/types.rb +35 -260
  114. data/lib/pangea/backends/local.rb +2 -2
  115. data/lib/pangea/backends/s3/dynamodb_lock.rb +115 -0
  116. data/lib/pangea/backends/s3.rb +47 -131
  117. data/lib/pangea/cli/application/command_router.rb +129 -0
  118. data/lib/pangea/cli/application/options.rb +128 -0
  119. data/lib/pangea/cli/application.rb +55 -156
  120. data/lib/pangea/cli/commands/agent/analysis.rb +107 -0
  121. data/lib/pangea/cli/commands/agent/complexity.rb +67 -0
  122. data/lib/pangea/cli/commands/agent/cost.rb +59 -0
  123. data/lib/pangea/cli/commands/agent/dependencies.rb +63 -0
  124. data/lib/pangea/cli/commands/agent/explanation.rb +81 -0
  125. data/lib/pangea/cli/commands/agent/security.rb +69 -0
  126. data/lib/pangea/cli/commands/agent/suggestions.rb +55 -0
  127. data/lib/pangea/cli/commands/agent/validation.rb +77 -0
  128. data/lib/pangea/cli/commands/agent.rb +36 -560
  129. data/lib/pangea/cli/commands/apply.rb +93 -185
  130. data/lib/pangea/cli/commands/base_command.rb +5 -0
  131. data/lib/pangea/cli/commands/destroy.rb +130 -62
  132. data/lib/pangea/cli/commands/enhanced_plan/metrics.rb +53 -0
  133. data/lib/pangea/cli/commands/enhanced_plan/plan_generation.rb +93 -0
  134. data/lib/pangea/cli/commands/enhanced_plan/template_operations.rb +106 -0
  135. data/lib/pangea/cli/commands/enhanced_plan.rb +63 -0
  136. data/lib/pangea/cli/commands/import/import_command_generator.rb +71 -0
  137. data/lib/pangea/cli/commands/import/resource_analyzer.rb +72 -0
  138. data/lib/pangea/cli/commands/import.rb +180 -0
  139. data/lib/pangea/cli/commands/init.rb +100 -0
  140. data/lib/pangea/cli/commands/inspect/config_inspection.rb +130 -0
  141. data/lib/pangea/cli/commands/inspect/resource_inspection.rb +105 -0
  142. data/lib/pangea/cli/commands/inspect/template_analysis.rb +124 -0
  143. data/lib/pangea/cli/commands/inspect.rb +30 -372
  144. data/lib/pangea/cli/commands/plan/json_analysis.rb +179 -0
  145. data/lib/pangea/cli/commands/plan/json_formatting.rb +53 -0
  146. data/lib/pangea/cli/commands/plan/plan_output.rb +152 -0
  147. data/lib/pangea/cli/commands/plan/resource_display.rb +98 -0
  148. data/lib/pangea/cli/commands/plan.rb +81 -138
  149. data/lib/pangea/cli/commands/sync.rb +110 -0
  150. data/lib/pangea/cli/commands/template_processor.rb +116 -0
  151. data/lib/pangea/cli/commands/workspace_operations.rb +154 -0
  152. data/lib/pangea/cli/error_handler.rb +169 -0
  153. data/lib/pangea/cli/errors.rb +57 -0
  154. data/lib/pangea/cli/ui/README.md +255 -0
  155. data/lib/pangea/cli/ui/banner/operation_summary.rb +120 -0
  156. data/lib/pangea/cli/ui/banner.rb +179 -0
  157. data/lib/pangea/cli/ui/command_display/cost_estimation.rb +82 -0
  158. data/lib/pangea/cli/ui/command_display/state_display.rb +116 -0
  159. data/lib/pangea/cli/ui/command_display/value_formatters.rb +68 -0
  160. data/lib/pangea/cli/ui/command_display.rb +147 -0
  161. data/lib/pangea/cli/ui/diff/formatting.rb +65 -0
  162. data/lib/pangea/cli/ui/diff/plan_parser.rb +84 -0
  163. data/lib/pangea/cli/ui/diff.rb +115 -202
  164. data/lib/pangea/cli/ui/logger/display_helpers.rb +98 -0
  165. data/lib/pangea/cli/ui/logger/info_panels.rb +99 -0
  166. data/lib/pangea/cli/ui/logger/resource_display.rb +66 -0
  167. data/lib/pangea/cli/ui/logger/styles.rb +63 -0
  168. data/lib/pangea/cli/ui/logger.rb +47 -122
  169. data/lib/pangea/cli/ui/output_formatter/constants.rb +28 -0
  170. data/lib/pangea/cli/ui/output_formatter/display.rb +156 -0
  171. data/lib/pangea/cli/ui/output_formatter/formatting.rb +44 -0
  172. data/lib/pangea/cli/ui/output_formatter.rb +28 -0
  173. data/lib/pangea/cli/ui/plan_display/action_group_display.rb +101 -0
  174. data/lib/pangea/cli/ui/plan_display.rb +150 -0
  175. data/lib/pangea/cli/ui/progress/animations.rb +69 -0
  176. data/lib/pangea/cli/ui/progress/wrappers.rb +111 -0
  177. data/lib/pangea/cli/ui/progress.rb +15 -153
  178. data/lib/pangea/cli/ui/spinner.rb +102 -10
  179. data/lib/pangea/cli/ui/table/formatters.rb +141 -0
  180. data/lib/pangea/cli/ui/table.rb +88 -11
  181. data/lib/pangea/cli/ui/template_display/resource_extractor.rb +109 -0
  182. data/lib/pangea/cli/ui/template_display.rb +185 -0
  183. data/lib/pangea/cli/ui/visualizer/cost.rb +37 -0
  184. data/lib/pangea/cli/ui/visualizer/display.rb +98 -0
  185. data/lib/pangea/cli/ui/visualizer/graph.rb +94 -0
  186. data/lib/pangea/cli/ui/visualizer/statistics.rb +58 -0
  187. data/lib/pangea/cli/ui/visualizer.rb +41 -270
  188. data/lib/pangea/compilation/backend_injector.rb +78 -0
  189. data/lib/pangea/compilation/compilation_helpers.rb +136 -0
  190. data/lib/pangea/compilation/template_compiler.rb +56 -317
  191. data/lib/pangea/compilation/template_extractor.rb +81 -0
  192. data/lib/pangea/compilation/template_validator.rb +88 -0
  193. data/lib/pangea/compiler_server.rb +133 -0
  194. data/lib/pangea/components/api_gateway_microservices/component.rb +79 -584
  195. data/lib/pangea/components/api_gateway_microservices/cors.rb +94 -0
  196. data/lib/pangea/components/api_gateway_microservices/deployment.rb +102 -0
  197. data/lib/pangea/components/api_gateway_microservices/helpers.rb +104 -0
  198. data/lib/pangea/components/api_gateway_microservices/methods.rb +111 -0
  199. data/lib/pangea/components/api_gateway_microservices/monitoring.rb +77 -0
  200. data/lib/pangea/components/api_gateway_microservices/rate_limiting.rb +75 -0
  201. data/lib/pangea/components/api_gateway_microservices/resources.rb +155 -0
  202. data/lib/pangea/components/api_gateway_microservices/types/core.rb +63 -0
  203. data/lib/pangea/components/api_gateway_microservices/types/endpoint.rb +53 -0
  204. data/lib/pangea/components/api_gateway_microservices/types/policy.rb +59 -0
  205. data/lib/pangea/components/api_gateway_microservices/types.rb +83 -176
  206. data/lib/pangea/components/application_load_balancer/component.rb +81 -264
  207. data/lib/pangea/components/application_load_balancer/listeners.rb +139 -0
  208. data/lib/pangea/components/application_load_balancer/monitoring.rb +93 -0
  209. data/lib/pangea/components/application_load_balancer/target_groups.rb +101 -0
  210. data/lib/pangea/components/auto_scaling_web_servers/component/launch_template.rb +79 -0
  211. data/lib/pangea/components/auto_scaling_web_servers/component/lifecycle.rb +90 -0
  212. data/lib/pangea/components/auto_scaling_web_servers/component/scaling_policies.rb +152 -0
  213. data/lib/pangea/components/auto_scaling_web_servers/component.rb +49 -347
  214. data/lib/pangea/components/carbon_aware_compute/component.rb +52 -1062
  215. data/lib/pangea/components/carbon_aware_compute/modules/code_generators/executor_code.rb +137 -0
  216. data/lib/pangea/components/carbon_aware_compute/modules/code_generators/monitor_code.rb +129 -0
  217. data/lib/pangea/components/carbon_aware_compute/modules/code_generators/scheduler_code.rb +145 -0
  218. data/lib/pangea/components/carbon_aware_compute/modules/code_generators.rb +31 -0
  219. data/lib/pangea/components/carbon_aware_compute/modules/functions.rb +99 -0
  220. data/lib/pangea/components/carbon_aware_compute/modules/helpers.rb +60 -0
  221. data/lib/pangea/components/carbon_aware_compute/modules/monitoring.rb +178 -0
  222. data/lib/pangea/components/carbon_aware_compute/modules/roles.rb +113 -0
  223. data/lib/pangea/components/carbon_aware_compute/modules/schedules.rb +51 -0
  224. data/lib/pangea/components/carbon_aware_compute/modules/tables.rb +80 -0
  225. data/lib/pangea/components/disaster_recovery_pilot_light/component.rb +78 -1514
  226. data/lib/pangea/components/disaster_recovery_pilot_light/modules/automation.rb +177 -0
  227. data/lib/pangea/components/disaster_recovery_pilot_light/modules/backup.rb +132 -0
  228. data/lib/pangea/components/disaster_recovery_pilot_light/modules/code_generators/lambda_code.rb +152 -0
  229. data/lib/pangea/components/disaster_recovery_pilot_light/modules/code_generators/runbook.rb +86 -0
  230. data/lib/pangea/components/disaster_recovery_pilot_light/modules/code_generators/workflow.rb +137 -0
  231. data/lib/pangea/components/disaster_recovery_pilot_light/modules/code_generators.rb +31 -0
  232. data/lib/pangea/components/disaster_recovery_pilot_light/modules/compliance.rb +86 -0
  233. data/lib/pangea/components/disaster_recovery_pilot_light/modules/dr_region.rb +167 -0
  234. data/lib/pangea/components/disaster_recovery_pilot_light/modules/helpers.rb +164 -0
  235. data/lib/pangea/components/disaster_recovery_pilot_light/modules/monitoring/alarms.rb +79 -0
  236. data/lib/pangea/components/disaster_recovery_pilot_light/modules/monitoring/dashboards.rb +167 -0
  237. data/lib/pangea/components/disaster_recovery_pilot_light/modules/monitoring.rb +55 -0
  238. data/lib/pangea/components/disaster_recovery_pilot_light/modules/networking.rb +94 -0
  239. data/lib/pangea/components/disaster_recovery_pilot_light/modules/primary_region.rb +134 -0
  240. data/lib/pangea/components/disaster_recovery_pilot_light/modules/replication/database.rb +103 -0
  241. data/lib/pangea/components/disaster_recovery_pilot_light/modules/replication/efs.rb +45 -0
  242. data/lib/pangea/components/disaster_recovery_pilot_light/modules/replication/s3.rb +120 -0
  243. data/lib/pangea/components/disaster_recovery_pilot_light/modules/replication.rb +61 -0
  244. data/lib/pangea/components/disaster_recovery_pilot_light/modules/testing.rb +93 -0
  245. data/lib/pangea/components/disaster_recovery_pilot_light/types/data_configs.rb +50 -0
  246. data/lib/pangea/components/disaster_recovery_pilot_light/types/operational_configs.rb +50 -0
  247. data/lib/pangea/components/disaster_recovery_pilot_light/types/optimization_configs.rb +63 -0
  248. data/lib/pangea/components/disaster_recovery_pilot_light/types/region_configs.rb +50 -0
  249. data/lib/pangea/components/disaster_recovery_pilot_light/types.rb +38 -140
  250. data/lib/pangea/components/event_driven_microservice/api_gateway.rb +25 -0
  251. data/lib/pangea/components/event_driven_microservice/component.rb +56 -626
  252. data/lib/pangea/components/event_driven_microservice/event_sources.rb +113 -0
  253. data/lib/pangea/components/event_driven_microservice/functions.rb +91 -0
  254. data/lib/pangea/components/event_driven_microservice/helpers.rb +90 -0
  255. data/lib/pangea/components/event_driven_microservice/iam.rb +117 -0
  256. data/lib/pangea/components/event_driven_microservice/monitoring.rb +191 -0
  257. data/lib/pangea/components/event_driven_microservice/storage.rb +126 -0
  258. data/lib/pangea/components/event_driven_microservice/types/cqrs_config.rb +37 -0
  259. data/lib/pangea/components/event_driven_microservice/types/event_replay_config.rb +36 -0
  260. data/lib/pangea/components/event_driven_microservice/types/event_source.rb +42 -0
  261. data/lib/pangea/components/event_driven_microservice/types/event_store_config.rb +40 -0
  262. data/lib/pangea/components/event_driven_microservice/types/function_config.rb +40 -0
  263. data/lib/pangea/components/event_driven_microservice/types/monitoring_config.rb +37 -0
  264. data/lib/pangea/components/event_driven_microservice/types/saga_config.rb +37 -0
  265. data/lib/pangea/components/event_driven_microservice/types.rb +35 -112
  266. data/lib/pangea/components/examples/enterprise_application.rb +166 -0
  267. data/lib/pangea/components/examples/three_tier_web_application.rb +159 -0
  268. data/lib/pangea/components/examples.rb +7 -492
  269. data/lib/pangea/components/global_service_mesh/component.rb +94 -1271
  270. data/lib/pangea/components/global_service_mesh/modules/connectivity.rb +133 -0
  271. data/lib/pangea/components/global_service_mesh/modules/gateways.rb +197 -0
  272. data/lib/pangea/components/global_service_mesh/modules/helpers.rb +172 -0
  273. data/lib/pangea/components/global_service_mesh/modules/mesh_components.rb +126 -0
  274. data/lib/pangea/components/global_service_mesh/modules/observability.rb +106 -0
  275. data/lib/pangea/components/global_service_mesh/modules/regional_mesh.rb +109 -0
  276. data/lib/pangea/components/global_service_mesh/modules/resilience.rb +116 -0
  277. data/lib/pangea/components/global_service_mesh/modules/security.rb +125 -0
  278. data/lib/pangea/components/global_service_mesh/types/infrastructure_types.rb +49 -0
  279. data/lib/pangea/components/global_service_mesh/types/operational_types.rb +49 -0
  280. data/lib/pangea/components/global_service_mesh/types/policy_types.rb +63 -0
  281. data/lib/pangea/components/global_service_mesh/types/service_types.rb +52 -0
  282. data/lib/pangea/components/global_service_mesh/types.rb +59 -206
  283. data/lib/pangea/components/global_traffic_manager/component.rb +86 -1111
  284. data/lib/pangea/components/global_traffic_manager/modules/accelerator.rb +112 -0
  285. data/lib/pangea/components/global_traffic_manager/modules/advanced_routing.rb +85 -0
  286. data/lib/pangea/components/global_traffic_manager/modules/cloudfront.rb +188 -0
  287. data/lib/pangea/components/global_traffic_manager/modules/edge_functions.rb +56 -0
  288. data/lib/pangea/components/global_traffic_manager/modules/health_checks.rb +77 -0
  289. data/lib/pangea/components/global_traffic_manager/modules/helpers.rb +164 -0
  290. data/lib/pangea/components/global_traffic_manager/modules/monitoring.rb +180 -0
  291. data/lib/pangea/components/global_traffic_manager/modules/routing.rb +168 -0
  292. data/lib/pangea/components/global_traffic_manager/modules/security.rb +152 -0
  293. data/lib/pangea/components/global_traffic_manager/modules/synthetic.rb +70 -0
  294. data/lib/pangea/components/global_traffic_manager/types/advanced_routing_config.rb +36 -0
  295. data/lib/pangea/components/global_traffic_manager/types/cloudfront_config.rb +38 -0
  296. data/lib/pangea/components/global_traffic_manager/types/endpoint_config.rb +39 -0
  297. data/lib/pangea/components/global_traffic_manager/types/geo_routing_config.rb +35 -0
  298. data/lib/pangea/components/global_traffic_manager/types/observability_config.rb +38 -0
  299. data/lib/pangea/components/global_traffic_manager/types/performance_config.rb +36 -0
  300. data/lib/pangea/components/global_traffic_manager/types/security_config.rb +38 -0
  301. data/lib/pangea/components/global_traffic_manager/types/traffic_policy_config.rb +40 -0
  302. data/lib/pangea/components/global_traffic_manager/types/validators.rb +158 -0
  303. data/lib/pangea/components/global_traffic_manager/types.rb +27 -223
  304. data/lib/pangea/components/green_data_lifecycle/component.rb +80 -1343
  305. data/lib/pangea/components/green_data_lifecycle/modules/code_generators/access_analyzer_code.rb +159 -0
  306. data/lib/pangea/components/green_data_lifecycle/modules/code_generators/carbon_optimizer_code.rb +170 -0
  307. data/lib/pangea/components/green_data_lifecycle/modules/code_generators/lifecycle_manager_code.rb +169 -0
  308. data/lib/pangea/components/green_data_lifecycle/modules/code_generators.rb +31 -0
  309. data/lib/pangea/components/green_data_lifecycle/modules/functions.rb +97 -0
  310. data/lib/pangea/components/green_data_lifecycle/modules/glacier.rb +58 -0
  311. data/lib/pangea/components/green_data_lifecycle/modules/helpers.rb +40 -0
  312. data/lib/pangea/components/green_data_lifecycle/modules/inventory.rb +57 -0
  313. data/lib/pangea/components/green_data_lifecycle/modules/lifecycle.rb +158 -0
  314. data/lib/pangea/components/green_data_lifecycle/modules/monitoring.rb +180 -0
  315. data/lib/pangea/components/green_data_lifecycle/modules/roles.rb +107 -0
  316. data/lib/pangea/components/green_data_lifecycle/modules/storage.rb +47 -0
  317. data/lib/pangea/components/microservice_deployment/component/autoscaling.rb +67 -0
  318. data/lib/pangea/components/microservice_deployment/component/container_definitions.rb +73 -0
  319. data/lib/pangea/components/microservice_deployment/component/logging.rb +28 -0
  320. data/lib/pangea/components/microservice_deployment/component/monitoring.rb +66 -0
  321. data/lib/pangea/components/microservice_deployment/component/outputs.rb +66 -0
  322. data/lib/pangea/components/microservice_deployment/component/service.rb +87 -0
  323. data/lib/pangea/components/microservice_deployment/component.rb +41 -419
  324. data/lib/pangea/components/microservice_deployment/types/auto_scaling_config.rb +36 -0
  325. data/lib/pangea/components/microservice_deployment/types/circuit_breaker_config.rb +33 -0
  326. data/lib/pangea/components/microservice_deployment/types/container_definition.rb +43 -0
  327. data/lib/pangea/components/microservice_deployment/types/health_check_config.rb +35 -0
  328. data/lib/pangea/components/microservice_deployment/types/service_discovery_config.rb +41 -0
  329. data/lib/pangea/components/microservice_deployment/types/tracing_config.rb +34 -0
  330. data/lib/pangea/components/microservice_deployment/types.rb +75 -146
  331. data/lib/pangea/components/microservices_examples/platform.rb +91 -0
  332. data/lib/pangea/components/microservices_examples/saga.rb +49 -0
  333. data/lib/pangea/components/microservices_examples.rb +7 -435
  334. data/lib/pangea/components/multi_region_active_active/component.rb +110 -1164
  335. data/lib/pangea/components/multi_region_active_active/modules/applications.rb +117 -0
  336. data/lib/pangea/components/multi_region_active_active/modules/aurora.rb +121 -0
  337. data/lib/pangea/components/multi_region_active_active/modules/chaos.rb +103 -0
  338. data/lib/pangea/components/multi_region_active_active/modules/dynamodb.rb +77 -0
  339. data/lib/pangea/components/multi_region_active_active/modules/helpers.rb +193 -0
  340. data/lib/pangea/components/multi_region_active_active/modules/monitoring.rb +113 -0
  341. data/lib/pangea/components/multi_region_active_active/modules/networking.rb +134 -0
  342. data/lib/pangea/components/multi_region_active_active/modules/routing.rb +185 -0
  343. data/lib/pangea/components/multi_region_active_active/types/application_config.rb +38 -0
  344. data/lib/pangea/components/multi_region_active_active/types/consistency_config.rb +36 -0
  345. data/lib/pangea/components/multi_region_active_active/types/cost_config.rb +35 -0
  346. data/lib/pangea/components/multi_region_active_active/types/database_config.rb +37 -0
  347. data/lib/pangea/components/multi_region_active_active/types/failover_config.rb +37 -0
  348. data/lib/pangea/components/multi_region_active_active/types/monitoring_config.rb +37 -0
  349. data/lib/pangea/components/multi_region_active_active/types/region_config.rb +37 -0
  350. data/lib/pangea/components/multi_region_active_active/types/routing_config.rb +35 -0
  351. data/lib/pangea/components/multi_region_active_active/types/validators.rb +139 -0
  352. data/lib/pangea/components/multi_region_active_active/types.rb +28 -192
  353. data/lib/pangea/components/mysql_database/component/database.rb +167 -0
  354. data/lib/pangea/components/mysql_database/component/helpers.rb +105 -0
  355. data/lib/pangea/components/mysql_database/component/monitoring.rb +126 -0
  356. data/lib/pangea/components/mysql_database/component.rb +33 -295
  357. data/lib/pangea/components/public_private_subnets/component/outputs.rb +49 -0
  358. data/lib/pangea/components/public_private_subnets/component/routing/nat_gateways.rb +89 -0
  359. data/lib/pangea/components/public_private_subnets/component/routing.rb +145 -0
  360. data/lib/pangea/components/public_private_subnets/component/subnets.rb +70 -0
  361. data/lib/pangea/components/public_private_subnets/component.rb +47 -341
  362. data/lib/pangea/components/secure_s3_bucket/component/bucket_config.rb +51 -0
  363. data/lib/pangea/components/secure_s3_bucket/component/features.rb +75 -0
  364. data/lib/pangea/components/secure_s3_bucket/component/monitoring.rb +65 -0
  365. data/lib/pangea/components/secure_s3_bucket/component/outputs.rb +58 -0
  366. data/lib/pangea/components/secure_s3_bucket/component.rb +39 -421
  367. data/lib/pangea/components/secure_s3_bucket/types/bucket_configs.rb +51 -0
  368. data/lib/pangea/components/secure_s3_bucket/types/feature_configs.rb +60 -0
  369. data/lib/pangea/components/secure_s3_bucket/types/lifecycle_rule.rb +59 -0
  370. data/lib/pangea/components/secure_s3_bucket/types/monitoring_configs.rb +57 -0
  371. data/lib/pangea/components/secure_s3_bucket/types.rb +38 -168
  372. data/lib/pangea/components/service_mesh_observability/alerting.rb +165 -0
  373. data/lib/pangea/components/service_mesh_observability/anomaly.rb +51 -0
  374. data/lib/pangea/components/service_mesh_observability/component.rb +50 -567
  375. data/lib/pangea/components/service_mesh_observability/dashboard.rb +144 -0
  376. data/lib/pangea/components/service_mesh_observability/helpers.rb +92 -0
  377. data/lib/pangea/components/service_mesh_observability/logging.rb +73 -0
  378. data/lib/pangea/components/service_mesh_observability/types/dashboard_widget.rb +35 -0
  379. data/lib/pangea/components/service_mesh_observability/types/observability_configs.rb +57 -0
  380. data/lib/pangea/components/service_mesh_observability/types/operational_configs.rb +46 -0
  381. data/lib/pangea/components/service_mesh_observability/types/service_config.rb +37 -0
  382. data/lib/pangea/components/service_mesh_observability/types.rb +39 -129
  383. data/lib/pangea/components/service_mesh_observability/xray.rb +64 -0
  384. data/lib/pangea/components/siem_security_platform/component.rb +60 -2827
  385. data/lib/pangea/components/siem_security_platform/modules/helpers.rb +87 -0
  386. data/lib/pangea/components/siem_security_platform/modules/incident_response/branches.rb +78 -0
  387. data/lib/pangea/components/siem_security_platform/modules/incident_response/lambdas.rb +200 -0
  388. data/lib/pangea/components/siem_security_platform/modules/incident_response/state_machine.rb +157 -0
  389. data/lib/pangea/components/siem_security_platform/modules/incident_response.rb +84 -0
  390. data/lib/pangea/components/siem_security_platform/modules/ingestion/firehose_config.rb +84 -0
  391. data/lib/pangea/components/siem_security_platform/modules/ingestion/iam_policies.rb +109 -0
  392. data/lib/pangea/components/siem_security_platform/modules/ingestion.rb +85 -0
  393. data/lib/pangea/components/siem_security_platform/modules/integrations.rb +193 -0
  394. data/lib/pangea/components/siem_security_platform/modules/monitoring.rb +154 -0
  395. data/lib/pangea/components/siem_security_platform/modules/processing/code_generators.rb +159 -0
  396. data/lib/pangea/components/siem_security_platform/modules/processing.rb +181 -0
  397. data/lib/pangea/components/siem_security_platform/modules/security.rb +107 -0
  398. data/lib/pangea/components/siem_security_platform/modules/storage.rb +197 -0
  399. data/lib/pangea/components/siem_security_platform/modules/threat_detection.rb +135 -0
  400. data/lib/pangea/components/siem_security_platform/types/detection_configs.rb +73 -0
  401. data/lib/pangea/components/siem_security_platform/types/log_collection_configs.rb +55 -0
  402. data/lib/pangea/components/siem_security_platform/types/opensearch_config.rb +48 -0
  403. data/lib/pangea/components/siem_security_platform/types/operational_configs.rb +69 -0
  404. data/lib/pangea/components/siem_security_platform/types/response_configs.rb +68 -0
  405. data/lib/pangea/components/siem_security_platform/types/security_configs.rb +49 -0
  406. data/lib/pangea/components/siem_security_platform/types.rb +36 -174
  407. data/lib/pangea/components/spot_instance_carbon_optimizer/component.rb +54 -1560
  408. data/lib/pangea/components/spot_instance_carbon_optimizer/modules/code_generators/carbon_monitor.rb +156 -0
  409. data/lib/pangea/components/spot_instance_carbon_optimizer/modules/code_generators/fleet_optimizer.rb +148 -0
  410. data/lib/pangea/components/spot_instance_carbon_optimizer/modules/code_generators/migration_orchestrator.rb +200 -0
  411. data/lib/pangea/components/spot_instance_carbon_optimizer/modules/code_generators.rb +31 -0
  412. data/lib/pangea/components/spot_instance_carbon_optimizer/modules/fleets.rb +112 -0
  413. data/lib/pangea/components/spot_instance_carbon_optimizer/modules/functions.rb +103 -0
  414. data/lib/pangea/components/spot_instance_carbon_optimizer/modules/helpers.rb +97 -0
  415. data/lib/pangea/components/spot_instance_carbon_optimizer/modules/monitoring.rb +180 -0
  416. data/lib/pangea/components/spot_instance_carbon_optimizer/modules/roles.rb +114 -0
  417. data/lib/pangea/components/spot_instance_carbon_optimizer/modules/schedules.rb +68 -0
  418. data/lib/pangea/components/spot_instance_carbon_optimizer/modules/tables.rb +99 -0
  419. data/lib/pangea/components/spot_instance_carbon_optimizer/types/enums.rb +51 -0
  420. data/lib/pangea/components/spot_instance_carbon_optimizer/types/input.rb +109 -0
  421. data/lib/pangea/components/spot_instance_carbon_optimizer/types/output.rb +68 -0
  422. data/lib/pangea/components/spot_instance_carbon_optimizer/types.rb +6 -156
  423. data/lib/pangea/components/sustainable_ml_training/component.rb +52 -1676
  424. data/lib/pangea/components/sustainable_ml_training/modules/code_generators/carbon_scheduler.rb +151 -0
  425. data/lib/pangea/components/sustainable_ml_training/modules/code_generators/efficiency_monitor.rb +141 -0
  426. data/lib/pangea/components/sustainable_ml_training/modules/code_generators/training_optimizer.rb +151 -0
  427. data/lib/pangea/components/sustainable_ml_training/modules/code_generators.rb +31 -0
  428. data/lib/pangea/components/sustainable_ml_training/modules/compute.rb +98 -0
  429. data/lib/pangea/components/sustainable_ml_training/modules/functions.rb +101 -0
  430. data/lib/pangea/components/sustainable_ml_training/modules/helpers.rb +100 -0
  431. data/lib/pangea/components/sustainable_ml_training/modules/monitoring.rb +195 -0
  432. data/lib/pangea/components/sustainable_ml_training/modules/roles.rb +127 -0
  433. data/lib/pangea/components/sustainable_ml_training/modules/storage.rb +85 -0
  434. data/lib/pangea/components/sustainable_ml_training/modules/tables.rb +71 -0
  435. data/lib/pangea/components/sustainable_ml_training/modules/training.rb +83 -0
  436. data/lib/pangea/components/sustainable_ml_training/types/constants.rb +42 -0
  437. data/lib/pangea/components/sustainable_ml_training/types/enums.rb +56 -0
  438. data/lib/pangea/components/sustainable_ml_training/types/validations.rb +63 -0
  439. data/lib/pangea/components/sustainable_ml_training/types.rb +32 -94
  440. data/lib/pangea/components/threat_intelligence_platform/types/correlation_rule.rb +38 -0
  441. data/lib/pangea/components/threat_intelligence_platform/types/enrichment_source.rb +35 -0
  442. data/lib/pangea/components/threat_intelligence_platform/types/threat_feed.rb +37 -0
  443. data/lib/pangea/components/threat_intelligence_platform/types/threat_source.rb +48 -0
  444. data/lib/pangea/components/threat_intelligence_platform/types.rb +23 -69
  445. data/lib/pangea/components/web_security_group/component.rb +19 -103
  446. data/lib/pangea/components/web_security_group/rules.rb +136 -0
  447. data/lib/pangea/components/web_security_group/types/port_methods.rb +58 -0
  448. data/lib/pangea/components/web_security_group/types/rules_summary.rb +130 -0
  449. data/lib/pangea/components/web_security_group/types/security_analysis.rb +79 -0
  450. data/lib/pangea/components/web_security_group/types/validation.rb +67 -0
  451. data/lib/pangea/components/web_security_group/types.rb +12 -207
  452. data/lib/pangea/components/web_tier_subnets/component/outputs.rb +70 -0
  453. data/lib/pangea/components/web_tier_subnets/component.rb +7 -54
  454. data/lib/pangea/components/zero_trust_network/audit.rb +61 -0
  455. data/lib/pangea/components/zero_trust_network/compliance.rb +65 -0
  456. data/lib/pangea/components/zero_trust_network/component.rb +108 -608
  457. data/lib/pangea/components/zero_trust_network/endpoints.rb +46 -0
  458. data/lib/pangea/components/zero_trust_network/monitoring.rb +75 -0
  459. data/lib/pangea/components/zero_trust_network/networking.rb +43 -0
  460. data/lib/pangea/components/zero_trust_network/policies.rb +70 -0
  461. data/lib/pangea/components/zero_trust_network/security_automation.rb +130 -0
  462. data/lib/pangea/components/zero_trust_network/segments.rb +59 -0
  463. data/lib/pangea/components/zero_trust_network/threat_detection.rb +87 -0
  464. data/lib/pangea/configuration/config_loader.rb +86 -0
  465. data/lib/pangea/configuration/defaults.rb +58 -0
  466. data/lib/pangea/configuration/namespace_manager.rb +95 -0
  467. data/lib/pangea/configuration/types/backends.rb +95 -0
  468. data/lib/pangea/configuration/types/base.rb +33 -0
  469. data/lib/pangea/configuration/types/configuration_schema.rb +105 -0
  470. data/lib/pangea/configuration/types/settings.rb +56 -0
  471. data/lib/pangea/configuration/types/state.rb +91 -0
  472. data/lib/pangea/configuration/types.rb +6 -279
  473. data/lib/pangea/configuration.rb +28 -167
  474. data/lib/pangea/entities/namespace.rb +9 -1
  475. data/lib/pangea/errors.rb +76 -10
  476. data/lib/pangea/execution/terraform_command_builder.rb +87 -0
  477. data/lib/pangea/execution/terraform_command_executor.rb +152 -0
  478. data/lib/pangea/execution/terraform_executor.rb +58 -189
  479. data/lib/pangea/execution/terraform_operations.rb +91 -0
  480. data/lib/pangea/execution/terraform_output_parser.rb +129 -0
  481. data/lib/pangea/execution/terraform_retry.rb +99 -0
  482. data/lib/pangea/logging/formatters.rb +92 -0
  483. data/lib/pangea/logging/structured_logger.rb +195 -0
  484. data/lib/pangea/logging.rb +22 -0
  485. data/lib/pangea/resources/aws/cloudformation/types/stack_instances_attributes.rb +91 -0
  486. data/lib/pangea/resources/aws/cloudformation/types/stack_set_attributes.rb +150 -0
  487. data/lib/pangea/resources/aws/cloudformation/types/stack_set_instance_attributes.rb +96 -0
  488. data/lib/pangea/resources/aws/cloudformation/types/type_attributes.rb +102 -0
  489. data/lib/pangea/resources/aws/cloudformation/types.rb +15 -274
  490. data/lib/pangea/resources/aws/comprehendmedical/jobs/entities_detection_v2_job.rb +58 -0
  491. data/lib/pangea/resources/aws/comprehendmedical/jobs/icd10_cm_inference_job.rb +58 -0
  492. data/lib/pangea/resources/aws/comprehendmedical/jobs/job_builder.rb +77 -0
  493. data/lib/pangea/resources/aws/comprehendmedical/jobs/phi_detection_job.rb +58 -0
  494. data/lib/pangea/resources/aws/comprehendmedical/jobs/rx_norm_inference_job.rb +58 -0
  495. data/lib/pangea/resources/aws/comprehendmedical/jobs/snomed_ct_inference_job.rb +58 -0
  496. data/lib/pangea/resources/aws/comprehendmedical/jobs.rb +14 -290
  497. data/lib/pangea/resources/aws/ec2/access_control.rb +72 -0
  498. data/lib/pangea/resources/aws/ec2/account_settings.rb +57 -0
  499. data/lib/pangea/resources/aws/ec2/capacity.rb +87 -0
  500. data/lib/pangea/resources/aws/ec2/host.rb +57 -0
  501. data/lib/pangea/resources/aws/ec2/spot.rb +72 -0
  502. data/lib/pangea/resources/aws/ec2/transit_gateway_multicast.rb +72 -0
  503. data/lib/pangea/resources/aws/ec2.rb +25 -256
  504. data/lib/pangea/resources/aws/elasticache_extended.disabled/reserved_cache_node.rb +1 -1
  505. data/lib/pangea/resources/aws/elasticache_extended.disabled/serverless_cache.rb +3 -3
  506. data/lib/pangea/resources/aws/elasticache_extended.disabled/user_group.rb +1 -1
  507. data/lib/pangea/resources/aws/frauddetector/detector.rb +12 -190
  508. data/lib/pangea/resources/aws/frauddetector/entity_type.rb +65 -0
  509. data/lib/pangea/resources/aws/frauddetector/event_type.rb +84 -0
  510. data/lib/pangea/resources/aws/frauddetector/outcome.rb +66 -0
  511. data/lib/pangea/resources/aws/frauddetector/variable.rb +77 -0
  512. data/lib/pangea/resources/aws/gamelift/attributes.rb +104 -0
  513. data/lib/pangea/resources/aws/gamelift.rb +19 -98
  514. data/lib/pangea/resources/aws/gamesparks/types.rb +87 -0
  515. data/lib/pangea/resources/aws/gamesparks.rb +10 -103
  516. data/lib/pangea/resources/aws/healthlake/fhir_datastore.rb +4 -108
  517. data/lib/pangea/resources/aws/healthlake/fhir_export_job.rb +76 -0
  518. data/lib/pangea/resources/aws/healthlake/fhir_import_job.rb +82 -0
  519. data/lib/pangea/resources/aws/healthlake.rb +4 -0
  520. data/lib/pangea/resources/aws/load_balancing/classic_elb_dsl.rb +146 -0
  521. data/lib/pangea/resources/aws/load_balancing/modules/attachments.rb +65 -0
  522. data/lib/pangea/resources/aws/load_balancing/modules/policies.rb +85 -0
  523. data/lib/pangea/resources/aws/load_balancing/modules/trust_stores.rb +45 -0
  524. data/lib/pangea/resources/aws/load_balancing.rb +4 -122
  525. data/lib/pangea/resources/aws/lookout/equipment/dataset.rb +85 -0
  526. data/lib/pangea/resources/aws/lookout/equipment/inference_scheduler.rb +103 -0
  527. data/lib/pangea/resources/aws/lookout/equipment/model.rb +90 -0
  528. data/lib/pangea/resources/aws/lookout/equipment.rb +7 -197
  529. data/lib/pangea/resources/aws/opensearch.disabled/package.rb +1 -1
  530. data/lib/pangea/resources/aws/opensearch.disabled/serverless_collection.rb +1 -1
  531. data/lib/pangea/resources/aws/sfn_extended.disabled/activity.rb +1 -1
  532. data/lib/pangea/resources/aws/sumerian/attributes.rb +93 -0
  533. data/lib/pangea/resources/aws/sumerian.rb +14 -82
  534. data/lib/pangea/resources/aws/vpc/functions/defaults.rb +87 -0
  535. data/lib/pangea/resources/aws/vpc/functions/endpoints.rb +102 -0
  536. data/lib/pangea/resources/aws/vpc.rb +6 -136
  537. data/lib/pangea/resources/aws_acmpca_certificate_authority/types/attributes.rb +93 -0
  538. data/lib/pangea/resources/aws_acmpca_certificate_authority/types/helpers.rb +118 -0
  539. data/lib/pangea/resources/aws_acmpca_certificate_authority/types/templates.rb +140 -0
  540. data/lib/pangea/resources/aws_acmpca_certificate_authority/types/validators.rb +70 -0
  541. data/lib/pangea/resources/aws_acmpca_certificate_authority/types.rb +5 -328
  542. data/lib/pangea/resources/aws_alb_target_group_attachment/types.rb +1 -1
  543. data/lib/pangea/resources/aws_ami/types.rb +1 -1
  544. data/lib/pangea/resources/aws_api_gateway_api_key/types/configs.rb +125 -0
  545. data/lib/pangea/resources/aws_api_gateway_api_key/types.rb +96 -198
  546. data/lib/pangea/resources/aws_api_gateway_integration/types/factory_methods.rb +99 -0
  547. data/lib/pangea/resources/aws_api_gateway_integration/types/predicates.rb +57 -0
  548. data/lib/pangea/resources/aws_api_gateway_integration/types/uri_helpers.rb +58 -0
  549. data/lib/pangea/resources/aws_api_gateway_integration/types/validators.rb +98 -0
  550. data/lib/pangea/resources/aws_api_gateway_integration/types.rb +43 -202
  551. data/lib/pangea/resources/aws_api_gateway_rest_api/types.rb +1 -1
  552. data/lib/pangea/resources/aws_api_gateway_stage/resource/helpers/basic.rb +67 -0
  553. data/lib/pangea/resources/aws_api_gateway_stage/resource/helpers/configuration.rb +132 -0
  554. data/lib/pangea/resources/aws_api_gateway_stage/resource/helpers/method_settings.rb +88 -0
  555. data/lib/pangea/resources/aws_api_gateway_stage/resource/helpers.rb +47 -0
  556. data/lib/pangea/resources/aws_api_gateway_stage/resource/main.rb +127 -0
  557. data/lib/pangea/resources/aws_api_gateway_stage/resource.rb +13 -298
  558. data/lib/pangea/resources/aws_api_gateway_stage/types/helpers.rb +75 -0
  559. data/lib/pangea/resources/aws_api_gateway_stage/types/validators.rb +133 -0
  560. data/lib/pangea/resources/aws_api_gateway_stage/types.rb +36 -143
  561. data/lib/pangea/resources/aws_api_gateway_usage_plan/types/attributes.rb +64 -0
  562. data/lib/pangea/resources/aws_api_gateway_usage_plan/types/configs.rb +81 -0
  563. data/lib/pangea/resources/aws_api_gateway_usage_plan/types/helpers.rb +103 -0
  564. data/lib/pangea/resources/aws_api_gateway_usage_plan/types/settings.rb +53 -0
  565. data/lib/pangea/resources/aws_api_gateway_usage_plan/types/validation.rb +80 -0
  566. data/lib/pangea/resources/aws_api_gateway_usage_plan/types.rb +7 -295
  567. data/lib/pangea/resources/aws_appstream_fleet/types/attributes.rb +80 -0
  568. data/lib/pangea/resources/aws_appstream_fleet/types/cost_estimation.rb +54 -0
  569. data/lib/pangea/resources/aws_appstream_fleet/types/nested_types.rb +82 -0
  570. data/lib/pangea/resources/aws_appstream_fleet/types.rb +4 -218
  571. data/lib/pangea/resources/aws_athena_named_query/types/query_analysis.rb +148 -0
  572. data/lib/pangea/resources/aws_athena_named_query/types/query_templates.rb +88 -0
  573. data/lib/pangea/resources/aws_athena_named_query/types.rb +40 -208
  574. data/lib/pangea/resources/aws_athena_workgroup/types/attributes.rb +101 -0
  575. data/lib/pangea/resources/aws_athena_workgroup/types/class_methods.rb +102 -0
  576. data/lib/pangea/resources/aws_athena_workgroup/types/instance_methods.rb +104 -0
  577. data/lib/pangea/resources/aws_athena_workgroup/types/validation.rb +56 -0
  578. data/lib/pangea/resources/aws_athena_workgroup/types.rb +5 -235
  579. data/lib/pangea/resources/aws_autoscaling_group/types/auto_scaling_tag.rb +42 -0
  580. data/lib/pangea/resources/aws_autoscaling_group/types/instance_refresh_preferences.rb +39 -0
  581. data/lib/pangea/resources/aws_autoscaling_group/types/launch_template_specification.rb +57 -0
  582. data/lib/pangea/resources/aws_autoscaling_group/types.rb +90 -141
  583. data/lib/pangea/resources/aws_autoscaling_group_tag/types.rb +1 -1
  584. data/lib/pangea/resources/aws_autoscaling_lifecycle_hook/types.rb +1 -1
  585. data/lib/pangea/resources/aws_autoscaling_notification/types.rb +1 -1
  586. data/lib/pangea/resources/aws_autoscaling_policy/types/predictive_scaling_configuration.rb +42 -0
  587. data/lib/pangea/resources/aws_autoscaling_policy/types/step_adjustment.rb +38 -0
  588. data/lib/pangea/resources/aws_autoscaling_policy/types/target_tracking_configuration.rb +89 -0
  589. data/lib/pangea/resources/aws_autoscaling_policy/types.rb +88 -151
  590. data/lib/pangea/resources/aws_autoscaling_policy_step_adjustment/types.rb +1 -1
  591. data/lib/pangea/resources/aws_autoscaling_policy_target_tracking_scaling_policy/types.rb +1 -1
  592. data/lib/pangea/resources/aws_autoscaling_schedule/types.rb +1 -1
  593. data/lib/pangea/resources/aws_autoscaling_tag/types/tag_queries.rb +121 -0
  594. data/lib/pangea/resources/aws_autoscaling_tag/types/tag_specification.rb +42 -0
  595. data/lib/pangea/resources/aws_autoscaling_tag/types/tag_validator.rb +103 -0
  596. data/lib/pangea/resources/aws_autoscaling_tag/types.rb +13 -186
  597. data/lib/pangea/resources/aws_autoscaling_traffic_source_attachment/types.rb +1 -1
  598. data/lib/pangea/resources/aws_autoscaling_warm_pool/types.rb +1 -1
  599. data/lib/pangea/resources/aws_batch_compute_environment/types/attributes.rb +88 -0
  600. data/lib/pangea/resources/aws_batch_compute_environment/types/helpers.rb +54 -0
  601. data/lib/pangea/resources/aws_batch_compute_environment/types/templates.rb +153 -0
  602. data/lib/pangea/resources/aws_batch_compute_environment/types/validators.rb +144 -0
  603. data/lib/pangea/resources/aws_batch_compute_environment/types.rb +5 -314
  604. data/lib/pangea/resources/aws_batch_job_definition/resource.rb +21 -189
  605. data/lib/pangea/resources/aws_batch_job_definition/synthesis/synthesizer.rb +144 -0
  606. data/lib/pangea/resources/aws_batch_job_definition/types/computed.rb +60 -0
  607. data/lib/pangea/resources/aws_batch_job_definition/types/configurations.rb +75 -0
  608. data/lib/pangea/resources/aws_batch_job_definition/types/templates.rb +156 -0
  609. data/lib/pangea/resources/aws_batch_job_definition/types/validation.rb +154 -0
  610. data/lib/pangea/resources/aws_batch_job_definition/types.rb +31 -502
  611. data/lib/pangea/resources/aws_batch_job_queue/types/attributes.rb +75 -0
  612. data/lib/pangea/resources/aws_batch_job_queue/types/templates.rb +132 -0
  613. data/lib/pangea/resources/aws_batch_job_queue/types.rb +6 -359
  614. data/lib/pangea/resources/aws_blockchain_query/types/attributes.rb +75 -0
  615. data/lib/pangea/resources/aws_blockchain_query/types/helpers.rb +187 -0
  616. data/lib/pangea/resources/aws_blockchain_query/types/validators.rb +95 -0
  617. data/lib/pangea/resources/aws_blockchain_query/types.rb +4 -324
  618. data/lib/pangea/resources/aws_blockchain_token_balance/types/attributes.rb +71 -0
  619. data/lib/pangea/resources/aws_blockchain_token_balance/types/network_helpers.rb +83 -0
  620. data/lib/pangea/resources/aws_blockchain_token_balance/types/query_helpers.rb +94 -0
  621. data/lib/pangea/resources/aws_blockchain_token_balance/types/token_helpers.rb +89 -0
  622. data/lib/pangea/resources/aws_blockchain_token_balance/types/validation.rb +86 -0
  623. data/lib/pangea/resources/aws_blockchain_token_balance/types.rb +6 -302
  624. data/lib/pangea/resources/aws_braket_device/types/helpers.rb +113 -0
  625. data/lib/pangea/resources/aws_braket_device/types/validations.rb +80 -0
  626. data/lib/pangea/resources/aws_braket_device/types.rb +73 -203
  627. data/lib/pangea/resources/aws_braket_device_capabilities/types/capability_support.rb +60 -0
  628. data/lib/pangea/resources/aws_braket_device_capabilities/types/device_classification.rb +66 -0
  629. data/lib/pangea/resources/aws_braket_device_capabilities/types/device_specs.rb +93 -0
  630. data/lib/pangea/resources/aws_braket_device_capabilities/types/execution_params.rb +60 -0
  631. data/lib/pangea/resources/aws_braket_device_capabilities/types.rb +47 -220
  632. data/lib/pangea/resources/aws_braket_job/types/attributes.rb +81 -0
  633. data/lib/pangea/resources/aws_braket_job/types/constants.rb +43 -0
  634. data/lib/pangea/resources/aws_braket_job/types/instance_methods.rb +71 -0
  635. data/lib/pangea/resources/aws_braket_job/types/validation.rb +69 -0
  636. data/lib/pangea/resources/aws_braket_job/types.rb +5 -260
  637. data/lib/pangea/resources/aws_braket_job_queue/types/cost_estimation.rb +64 -0
  638. data/lib/pangea/resources/aws_braket_job_queue/types/helpers.rb +100 -0
  639. data/lib/pangea/resources/aws_braket_job_queue/types/validators.rb +72 -0
  640. data/lib/pangea/resources/aws_braket_job_queue/types.rb +46 -206
  641. data/lib/pangea/resources/aws_braket_local_simulator/types/helpers.rb +143 -0
  642. data/lib/pangea/resources/aws_braket_local_simulator/types/validators.rb +91 -0
  643. data/lib/pangea/resources/aws_braket_local_simulator/types.rb +64 -263
  644. data/lib/pangea/resources/aws_budgets_budget/types/attributes.rb +68 -0
  645. data/lib/pangea/resources/aws_budgets_budget/types/enums.rb +60 -0
  646. data/lib/pangea/resources/aws_budgets_budget/types/helpers.rb +122 -0
  647. data/lib/pangea/resources/aws_budgets_budget/types/schemas.rb +175 -0
  648. data/lib/pangea/resources/aws_budgets_budget/types.rb +5 -319
  649. data/lib/pangea/resources/aws_budgets_budget_action/types/attributes.rb +104 -0
  650. data/lib/pangea/resources/aws_budgets_budget_action/types/definitions.rb +53 -0
  651. data/lib/pangea/resources/aws_budgets_budget_action/types.rb +6 -404
  652. data/lib/pangea/resources/aws_ce_cost_category/expression_builder.rb +84 -0
  653. data/lib/pangea/resources/aws_ce_cost_category/resource.rb +2 -54
  654. data/lib/pangea/resources/aws_ce_cost_category/types/attributes.rb +152 -0
  655. data/lib/pangea/resources/aws_ce_cost_category/types/expressions.rb +157 -0
  656. data/lib/pangea/resources/aws_ce_cost_category/types.rb +5 -386
  657. data/lib/pangea/resources/aws_cloudformation_stack/types/configs.rb +91 -0
  658. data/lib/pangea/resources/aws_cloudformation_stack/types/instance_methods.rb +79 -0
  659. data/lib/pangea/resources/aws_cloudformation_stack/types/validation.rb +88 -0
  660. data/lib/pangea/resources/aws_cloudformation_stack/types.rb +47 -206
  661. data/lib/pangea/resources/aws_cloudformation_stack_set/types/configs.rb +120 -0
  662. data/lib/pangea/resources/aws_cloudformation_stack_set/types/helpers.rb +89 -0
  663. data/lib/pangea/resources/aws_cloudformation_stack_set/types/validators.rb +120 -0
  664. data/lib/pangea/resources/aws_cloudformation_stack_set/types.rb +73 -283
  665. data/lib/pangea/resources/aws_cloudfront_distribution/builders/cache_behavior_builder.rb +86 -0
  666. data/lib/pangea/resources/aws_cloudfront_distribution/builders/origin_builder.rb +81 -0
  667. data/lib/pangea/resources/aws_cloudfront_distribution/builders/reference_builder.rb +62 -0
  668. data/lib/pangea/resources/aws_cloudfront_distribution/builders/settings_builder.rb +81 -0
  669. data/lib/pangea/resources/aws_cloudfront_distribution/resource.rb +23 -213
  670. data/lib/pangea/resources/aws_cloudfront_distribution/types/attributes.rb +47 -0
  671. data/lib/pangea/resources/aws_cloudfront_distribution/types/instance_methods.rb +59 -0
  672. data/lib/pangea/resources/aws_cloudfront_distribution/types/validation.rb +55 -0
  673. data/lib/pangea/resources/aws_cloudfront_distribution/types.rb +6 -402
  674. data/lib/pangea/resources/aws_cloudfront_response_headers_policy/types/attributes.rb +153 -0
  675. data/lib/pangea/resources/aws_cloudfront_response_headers_policy/types/configs.rb +81 -0
  676. data/lib/pangea/resources/aws_cloudfront_response_headers_policy/types.rb +6 -373
  677. data/lib/pangea/resources/aws_cloudtrail/types/attributes.rb +92 -0
  678. data/lib/pangea/resources/aws_cloudtrail/types/configs.rb +87 -0
  679. data/lib/pangea/resources/aws_cloudtrail/types/selectors.rb +42 -0
  680. data/lib/pangea/resources/aws_cloudtrail/types.rb +9 -352
  681. data/lib/pangea/resources/aws_cloudwatch_dashboard/types/cloudwatch_dashboard_attributes.rb +158 -0
  682. data/lib/pangea/resources/aws_cloudwatch_dashboard/types/dashboard_metric.rb +57 -0
  683. data/lib/pangea/resources/aws_cloudwatch_dashboard/types/dashboard_widget.rb +83 -0
  684. data/lib/pangea/resources/aws_cloudwatch_dashboard/types/dashboard_widget_properties.rb +75 -0
  685. data/lib/pangea/resources/aws_cloudwatch_dashboard/types.rb +6 -283
  686. data/lib/pangea/resources/aws_cloudwatch_event_target/resource.rb +51 -136
  687. data/lib/pangea/resources/aws_cloudwatch_event_target/target_builders.rb +97 -0
  688. data/lib/pangea/resources/aws_cloudwatch_event_target/types/dead_letter_config.rb +36 -0
  689. data/lib/pangea/resources/aws_cloudwatch_event_target/types/input_transformer.rb +40 -0
  690. data/lib/pangea/resources/aws_cloudwatch_event_target/types/retry_policy.rb +40 -0
  691. data/lib/pangea/resources/aws_cloudwatch_event_target/types/target_service_detection.rb +80 -0
  692. data/lib/pangea/resources/aws_cloudwatch_event_target/types/validators.rb +66 -0
  693. data/lib/pangea/resources/aws_cloudwatch_event_target/types.rb +60 -144
  694. data/lib/pangea/resources/aws_cloudwatch_metric_alarm/types/instance_methods.rb +94 -0
  695. data/lib/pangea/resources/aws_cloudwatch_metric_alarm/types/metric_query.rb +71 -0
  696. data/lib/pangea/resources/aws_cloudwatch_metric_alarm/types/validation.rb +83 -0
  697. data/lib/pangea/resources/aws_cloudwatch_metric_alarm/types.rb +36 -179
  698. data/lib/pangea/resources/aws_codeartifact_repository/types.rb +1 -1
  699. data/lib/pangea/resources/aws_codebuild_project/block_builders.rb +163 -0
  700. data/lib/pangea/resources/aws_codebuild_project/resource.rb +21 -154
  701. data/lib/pangea/resources/aws_codebuild_project/types/instance_methods.rb +74 -0
  702. data/lib/pangea/resources/aws_codebuild_project/types/schemas.rb +155 -0
  703. data/lib/pangea/resources/aws_codebuild_project/types/validation.rb +88 -0
  704. data/lib/pangea/resources/aws_codebuild_project/types.rb +58 -238
  705. data/lib/pangea/resources/aws_codecommit_repository/types.rb +2 -2
  706. data/lib/pangea/resources/aws_codedeploy_application/types.rb +1 -1
  707. data/lib/pangea/resources/aws_codedeploy_deployment_config/types.rb +1 -1
  708. data/lib/pangea/resources/aws_codedeploy_deployment_group/block_builders.rb +104 -0
  709. data/lib/pangea/resources/aws_codedeploy_deployment_group/resource.rb +5 -70
  710. data/lib/pangea/resources/aws_codedeploy_deployment_group/types/deployment.rb +65 -0
  711. data/lib/pangea/resources/aws_codedeploy_deployment_group/types/helpers.rb +85 -0
  712. data/lib/pangea/resources/aws_codedeploy_deployment_group/types/infrastructure.rb +78 -0
  713. data/lib/pangea/resources/aws_codedeploy_deployment_group/types/tag_filters.rb +43 -0
  714. data/lib/pangea/resources/aws_codedeploy_deployment_group/types.rb +55 -208
  715. data/lib/pangea/resources/aws_codepipeline/types/attributes.rb +130 -0
  716. data/lib/pangea/resources/aws_codepipeline/types/instance_methods.rb +85 -0
  717. data/lib/pangea/resources/aws_codepipeline/types/validation.rb +64 -0
  718. data/lib/pangea/resources/aws_codepipeline/types.rb +5 -194
  719. data/lib/pangea/resources/aws_codepipeline_webhook/types.rb +2 -2
  720. data/lib/pangea/resources/aws_cognito_identity_pool/types/attributes.rb +105 -0
  721. data/lib/pangea/resources/aws_cognito_identity_pool/types/providers.rb +38 -0
  722. data/lib/pangea/resources/aws_cognito_identity_pool/types/templates.rb +75 -0
  723. data/lib/pangea/resources/aws_cognito_identity_pool/types.rb +5 -340
  724. data/lib/pangea/resources/aws_cognito_identity_provider/types/attributes.rb +61 -0
  725. data/lib/pangea/resources/aws_cognito_identity_provider/types/templates.rb +69 -0
  726. data/lib/pangea/resources/aws_cognito_identity_provider/types/validation.rb +66 -0
  727. data/lib/pangea/resources/aws_cognito_identity_provider/types.rb +4 -476
  728. data/lib/pangea/resources/aws_cognito_user_pool/resource/dsl_builder/authentication_config.rb +63 -0
  729. data/lib/pangea/resources/aws_cognito_user_pool/resource/dsl_builder/messaging_config.rb +73 -0
  730. data/lib/pangea/resources/aws_cognito_user_pool/resource/dsl_builder/mfa_config.rb +57 -0
  731. data/lib/pangea/resources/aws_cognito_user_pool/resource/dsl_builder/schema_and_settings.rb +146 -0
  732. data/lib/pangea/resources/aws_cognito_user_pool/resource/dsl_builder.rb +42 -0
  733. data/lib/pangea/resources/aws_cognito_user_pool/resource.rb +49 -204
  734. data/lib/pangea/resources/aws_cognito_user_pool/types/attributes.rb +87 -0
  735. data/lib/pangea/resources/aws_cognito_user_pool/types/nested_types.rb +112 -0
  736. data/lib/pangea/resources/aws_cognito_user_pool/types/templates.rb +57 -0
  737. data/lib/pangea/resources/aws_cognito_user_pool/types.rb +8 -347
  738. data/lib/pangea/resources/aws_cognito_user_pool_client/types/attributes.rb +109 -0
  739. data/lib/pangea/resources/aws_cognito_user_pool_client/types/nested_types.rb +27 -0
  740. data/lib/pangea/resources/aws_cognito_user_pool_client/types/templates.rb +85 -0
  741. data/lib/pangea/resources/aws_cognito_user_pool_client/types.rb +8 -382
  742. data/lib/pangea/resources/aws_cognito_user_pool_domain/types/attributes.rb +124 -0
  743. data/lib/pangea/resources/aws_cognito_user_pool_domain/types/templates.rb +84 -0
  744. data/lib/pangea/resources/aws_cognito_user_pool_domain/types/validation.rb +73 -0
  745. data/lib/pangea/resources/aws_cognito_user_pool_domain/types.rb +4 -237
  746. data/lib/pangea/resources/aws_config_config_rule/types/cost_estimator.rb +77 -0
  747. data/lib/pangea/resources/aws_config_config_rule/types/validators.rb +94 -0
  748. data/lib/pangea/resources/aws_config_config_rule/types.rb +22 -150
  749. data/lib/pangea/resources/aws_config_remediation_configuration/types.rb +1 -1
  750. data/lib/pangea/resources/aws_customer_gateway/types.rb +1 -1
  751. data/lib/pangea/resources/aws_db_cluster_snapshot/types/configs.rb +117 -0
  752. data/lib/pangea/resources/aws_db_cluster_snapshot/types.rb +2 -96
  753. data/lib/pangea/resources/aws_db_instance/types/backup_attributes.rb +38 -0
  754. data/lib/pangea/resources/aws_db_instance/types/core_attributes.rb +60 -0
  755. data/lib/pangea/resources/aws_db_instance/types/engine_configs.rb +68 -0
  756. data/lib/pangea/resources/aws_db_instance/types/helpers.rb +92 -0
  757. data/lib/pangea/resources/aws_db_instance/types/monitoring_attributes.rb +38 -0
  758. data/lib/pangea/resources/aws_db_instance/types/network_attributes.rb +44 -0
  759. data/lib/pangea/resources/aws_db_instance/types/options_attributes.rb +44 -0
  760. data/lib/pangea/resources/aws_db_instance/types/storage_attributes.rb +44 -0
  761. data/lib/pangea/resources/aws_db_instance/types/validations.rb +85 -0
  762. data/lib/pangea/resources/aws_db_instance/types.rb +38 -228
  763. data/lib/pangea/resources/aws_db_parameter_group/types/db_parameter.rb +57 -0
  764. data/lib/pangea/resources/aws_db_parameter_group/types/db_parameter_configs.rb +82 -0
  765. data/lib/pangea/resources/aws_db_parameter_group/types/parameter_validators.rb +73 -0
  766. data/lib/pangea/resources/aws_db_parameter_group/types.rb +121 -259
  767. data/lib/pangea/resources/aws_db_snapshot/types.rb +1 -1
  768. data/lib/pangea/resources/aws_db_subnet_group/types.rb +1 -1
  769. data/lib/pangea/resources/aws_default_network_acl/types.rb +1 -1
  770. data/lib/pangea/resources/aws_default_route_table/types.rb +1 -1
  771. data/lib/pangea/resources/aws_default_security_group/types.rb +1 -1
  772. data/lib/pangea/resources/aws_default_vpc_dhcp_options/types.rb +1 -1
  773. data/lib/pangea/resources/aws_docdb_certificate/types.rb +1 -1
  774. data/lib/pangea/resources/aws_docdb_cluster/types.rb +1 -1
  775. data/lib/pangea/resources/aws_docdb_cluster_endpoint/types.rb +1 -1
  776. data/lib/pangea/resources/aws_docdb_cluster_instance/types.rb +1 -1
  777. data/lib/pangea/resources/aws_docdb_cluster_parameter_group/types.rb +1 -1
  778. data/lib/pangea/resources/aws_docdb_cluster_snapshot/types.rb +1 -1
  779. data/lib/pangea/resources/aws_docdb_event_subscription/types.rb +1 -1
  780. data/lib/pangea/resources/aws_docdb_global_cluster/types.rb +1 -1
  781. data/lib/pangea/resources/aws_docdb_subnet_group/types.rb +1 -1
  782. data/lib/pangea/resources/aws_dynamodb_global_table/types/configs.rb +105 -0
  783. data/lib/pangea/resources/aws_dynamodb_global_table/types/instance_methods.rb +68 -0
  784. data/lib/pangea/resources/aws_dynamodb_global_table/types.rb +87 -234
  785. data/lib/pangea/resources/aws_dynamodb_table/builders/config_builder.rb +153 -0
  786. data/lib/pangea/resources/aws_dynamodb_table/builders/index_builder.rb +62 -0
  787. data/lib/pangea/resources/aws_dynamodb_table/builders/reference_builder.rb +64 -0
  788. data/lib/pangea/resources/aws_dynamodb_table/builders/table_builder.rb +62 -0
  789. data/lib/pangea/resources/aws_dynamodb_table/resource.rb +8 -186
  790. data/lib/pangea/resources/aws_dynamodb_table/types/attributes.rb +150 -0
  791. data/lib/pangea/resources/aws_dynamodb_table/types/configs.rb +109 -0
  792. data/lib/pangea/resources/aws_dynamodb_table/types/instance_methods.rb +82 -0
  793. data/lib/pangea/resources/aws_dynamodb_table/types/validations.rb +131 -0
  794. data/lib/pangea/resources/aws_dynamodb_table/types.rb +5 -381
  795. data/lib/pangea/resources/aws_ebs_volume/types/attributes.rb +76 -0
  796. data/lib/pangea/resources/aws_ebs_volume/types/instance_methods.rb +121 -0
  797. data/lib/pangea/resources/aws_ebs_volume/types/validation.rb +114 -0
  798. data/lib/pangea/resources/aws_ebs_volume/types.rb +7 -228
  799. data/lib/pangea/resources/aws_ec2_ami_launch_permission/types.rb +1 -1
  800. data/lib/pangea/resources/aws_ec2_availability_zone_group/types.rb +1 -1
  801. data/lib/pangea/resources/aws_ec2_capacity_block_reservation/types.rb +1 -1
  802. data/lib/pangea/resources/aws_ec2_capacity_reservation/types.rb +1 -1
  803. data/lib/pangea/resources/aws_ec2_dedicated_host/types.rb +1 -1
  804. data/lib/pangea/resources/aws_ec2_fleet/types.rb +1 -1
  805. data/lib/pangea/resources/aws_ec2_host_resource_group_association/types.rb +1 -1
  806. data/lib/pangea/resources/aws_ec2_image_block_public_access/types.rb +1 -1
  807. data/lib/pangea/resources/aws_ec2_instance_metadata_defaults/types.rb +1 -1
  808. data/lib/pangea/resources/aws_ec2_serial_console_access/types.rb +1 -1
  809. data/lib/pangea/resources/aws_ec2_snapshot_block_public_access/types.rb +1 -1
  810. data/lib/pangea/resources/aws_ec2_spot_datafeed_subscription/types.rb +1 -1
  811. data/lib/pangea/resources/aws_ec2_spot_fleet_request/types.rb +1 -1
  812. data/lib/pangea/resources/aws_ec2_spot_instance_request/types.rb +1 -1
  813. data/lib/pangea/resources/aws_ec2_tag/types.rb +1 -1
  814. data/lib/pangea/resources/aws_ec2_transit_gateway_multicast_domain/types.rb +1 -1
  815. data/lib/pangea/resources/aws_ec2_transit_gateway_multicast_domain_association/types.rb +1 -1
  816. data/lib/pangea/resources/aws_ec2_transit_gateway_multicast_group_member/types.rb +1 -1
  817. data/lib/pangea/resources/aws_ec2_transit_gateway_route/types/network_analysis.rb +91 -0
  818. data/lib/pangea/resources/aws_ec2_transit_gateway_route/types/security_analysis.rb +144 -0
  819. data/lib/pangea/resources/aws_ec2_transit_gateway_route/types.rb +41 -190
  820. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_propagation/types/propagation_insights.rb +100 -0
  821. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_propagation/types/security_concerns.rb +67 -0
  822. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_propagation/types/troubleshooting_support.rb +68 -0
  823. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_propagation/types.rb +14 -169
  824. data/lib/pangea/resources/aws_ecr_lifecycle_policy/types/computed.rb +110 -0
  825. data/lib/pangea/resources/aws_ecr_lifecycle_policy/types/validation.rb +69 -0
  826. data/lib/pangea/resources/aws_ecr_lifecycle_policy/types.rb +42 -167
  827. data/lib/pangea/resources/aws_ecr_repository/types.rb +1 -1
  828. data/lib/pangea/resources/aws_ecs_capacity_provider/types.rb +1 -1
  829. data/lib/pangea/resources/aws_ecs_cluster/types.rb +1 -1
  830. data/lib/pangea/resources/aws_ecs_service/dsl_builders.rb +193 -0
  831. data/lib/pangea/resources/aws_ecs_service/reference_builder.rb +53 -0
  832. data/lib/pangea/resources/aws_ecs_service/resource.rb +21 -201
  833. data/lib/pangea/resources/aws_ecs_service/types/attributes.rb +56 -0
  834. data/lib/pangea/resources/aws_ecs_service/types/helpers.rb +34 -0
  835. data/lib/pangea/resources/aws_ecs_service/types/nested.rb +74 -0
  836. data/lib/pangea/resources/aws_ecs_service/types.rb +4 -324
  837. data/lib/pangea/resources/aws_ecs_task_definition/container_definitions.rb +191 -0
  838. data/lib/pangea/resources/aws_ecs_task_definition/resource.rb +107 -255
  839. data/lib/pangea/resources/aws_ecs_task_definition/types/container_definition.rb +121 -0
  840. data/lib/pangea/resources/aws_ecs_task_definition/types/task_definition.rb +100 -0
  841. data/lib/pangea/resources/aws_ecs_task_definition/types.rb +6 -427
  842. data/lib/pangea/resources/aws_ecs_task_definition/volumes.rb +105 -0
  843. data/lib/pangea/resources/aws_eip/types.rb +1 -1
  844. data/lib/pangea/resources/aws_eip_association/types.rb +1 -1
  845. data/lib/pangea/resources/aws_eks_access_entry/types.rb +1 -1
  846. data/lib/pangea/resources/aws_eks_node_group/builders/dsl_builder.rb +108 -0
  847. data/lib/pangea/resources/aws_eks_node_group/builders/reference_builder.rb +76 -0
  848. data/lib/pangea/resources/aws_eks_node_group/resource.rb +7 -114
  849. data/lib/pangea/resources/aws_eks_node_group/types/eks_node_group_attributes.rb +132 -0
  850. data/lib/pangea/resources/aws_eks_node_group/types/launch_template.rb +58 -0
  851. data/lib/pangea/resources/aws_eks_node_group/types/remote_access.rb +41 -0
  852. data/lib/pangea/resources/aws_eks_node_group/types/scaling_config.rb +62 -0
  853. data/lib/pangea/resources/aws_eks_node_group/types/taint.rb +43 -0
  854. data/lib/pangea/resources/aws_eks_node_group/types/update_config.rb +54 -0
  855. data/lib/pangea/resources/aws_eks_node_group/types.rb +8 -242
  856. data/lib/pangea/resources/aws_elasticache_cluster/types/configs.rb +69 -0
  857. data/lib/pangea/resources/aws_elasticache_cluster/types/helpers.rb +97 -0
  858. data/lib/pangea/resources/aws_elasticache_cluster/types/node_types.rb +51 -0
  859. data/lib/pangea/resources/aws_elasticache_cluster/types/validators.rb +114 -0
  860. data/lib/pangea/resources/aws_elasticache_cluster/types.rb +29 -196
  861. data/lib/pangea/resources/aws_elasticache_parameter_group/types/attributes.rb +132 -0
  862. data/lib/pangea/resources/aws_elasticache_parameter_group/types/configs.rb +102 -0
  863. data/lib/pangea/resources/aws_elasticache_parameter_group/types/parameter_helpers.rb +133 -0
  864. data/lib/pangea/resources/aws_elasticache_parameter_group/types.rb +4 -279
  865. data/lib/pangea/resources/aws_elasticache_subnet_group/types.rb +1 -1
  866. data/lib/pangea/resources/aws_elb_attachment/types.rb +1 -1
  867. data/lib/pangea/resources/aws_elb_service_account/types.rb +1 -1
  868. data/lib/pangea/resources/aws_elemental_data_plane_channel/types.rb +2 -2
  869. data/lib/pangea/resources/aws_emr_cluster/resource/dsl_builder/auto_scaling.rb +93 -0
  870. data/lib/pangea/resources/aws_emr_cluster/resource/dsl_builder/cluster_settings.rb +106 -0
  871. data/lib/pangea/resources/aws_emr_cluster/resource/dsl_builder/configurations.rb +75 -0
  872. data/lib/pangea/resources/aws_emr_cluster/resource/dsl_builder/ec2_attributes.rb +56 -0
  873. data/lib/pangea/resources/aws_emr_cluster/resource/dsl_builder/instance_groups.rb +101 -0
  874. data/lib/pangea/resources/aws_emr_cluster/resource/dsl_builder.rb +44 -0
  875. data/lib/pangea/resources/aws_emr_cluster/resource.rb +63 -279
  876. data/lib/pangea/resources/aws_emr_cluster/types/attributes.rb +97 -0
  877. data/lib/pangea/resources/aws_emr_cluster/types/class_methods.rb +114 -0
  878. data/lib/pangea/resources/aws_emr_cluster/types/instance_methods.rb +113 -0
  879. data/lib/pangea/resources/aws_emr_cluster/types/validation.rb +51 -0
  880. data/lib/pangea/resources/aws_emr_cluster/types.rb +5 -480
  881. data/lib/pangea/resources/aws_emr_instance_group/types/attributes.rb +90 -0
  882. data/lib/pangea/resources/aws_emr_instance_group/types/configs.rb +63 -0
  883. data/lib/pangea/resources/aws_emr_instance_group/types.rb +6 -408
  884. data/lib/pangea/resources/aws_emr_step/types/attributes.rb +92 -0
  885. data/lib/pangea/resources/aws_emr_step/types/step_builders.rb +90 -0
  886. data/lib/pangea/resources/aws_emr_step/types.rb +6 -377
  887. data/lib/pangea/resources/aws_eventbridge_bus/types.rb +1 -1
  888. data/lib/pangea/resources/aws_eventbridge_rule/types/attributes.rb +80 -0
  889. data/lib/pangea/resources/aws_eventbridge_rule/types/helpers.rb +101 -0
  890. data/lib/pangea/resources/aws_eventbridge_rule/types/templates.rb +131 -0
  891. data/lib/pangea/resources/aws_eventbridge_rule/types/validators.rb +87 -0
  892. data/lib/pangea/resources/aws_eventbridge_rule/types.rb +5 -313
  893. data/lib/pangea/resources/aws_eventbridge_target/batch_target_builder.rb +48 -0
  894. data/lib/pangea/resources/aws_eventbridge_target/ecs_target_builder.rb +101 -0
  895. data/lib/pangea/resources/aws_eventbridge_target/resource.rb +4 -76
  896. data/lib/pangea/resources/aws_eventbridge_target/types/attributes.rb +115 -0
  897. data/lib/pangea/resources/aws_eventbridge_target/types/configs.rb +75 -0
  898. data/lib/pangea/resources/aws_eventbridge_target/types/parameters.rb +58 -0
  899. data/lib/pangea/resources/aws_eventbridge_target/types.rb +4 -466
  900. data/lib/pangea/resources/aws_fsx_lustre_filesystem/types/helpers.rb +101 -0
  901. data/lib/pangea/resources/aws_fsx_lustre_filesystem/types.rb +61 -164
  902. data/lib/pangea/resources/aws_glue_catalog_table/types/format_helpers.rb +80 -0
  903. data/lib/pangea/resources/aws_glue_catalog_table/types/storage_descriptor.rb +60 -0
  904. data/lib/pangea/resources/aws_glue_catalog_table/types/table_helpers.rb +95 -0
  905. data/lib/pangea/resources/aws_glue_catalog_table/types/validators.rb +72 -0
  906. data/lib/pangea/resources/aws_glue_catalog_table/types.rb +55 -248
  907. data/lib/pangea/resources/aws_glue_job/types/attributes.rb +99 -0
  908. data/lib/pangea/resources/aws_glue_job/types/class_methods.rb +86 -0
  909. data/lib/pangea/resources/aws_glue_job/types/instance_methods.rb +97 -0
  910. data/lib/pangea/resources/aws_glue_job/types/validation.rb +68 -0
  911. data/lib/pangea/resources/aws_glue_job/types.rb +5 -268
  912. data/lib/pangea/resources/aws_glue_trigger/types/attributes.rb +91 -0
  913. data/lib/pangea/resources/aws_glue_trigger/types/helpers/class_methods.rb +109 -0
  914. data/lib/pangea/resources/aws_glue_trigger/types/helpers/instance_methods.rb +140 -0
  915. data/lib/pangea/resources/aws_glue_trigger/types/helpers.rb +35 -0
  916. data/lib/pangea/resources/aws_glue_trigger/types/validation.rb +97 -0
  917. data/lib/pangea/resources/aws_glue_trigger/types.rb +9 -306
  918. data/lib/pangea/resources/aws_ground_station/config.rb +145 -0
  919. data/lib/pangea/resources/aws_ground_station/contact.rb +48 -0
  920. data/lib/pangea/resources/aws_ground_station/dataflow_endpoint_group.rb +46 -0
  921. data/lib/pangea/resources/aws_ground_station/mission_profile.rb +50 -0
  922. data/lib/pangea/resources/aws_ground_station.rb +15 -362
  923. data/lib/pangea/resources/aws_iam_group/types/access_patterns.rb +82 -0
  924. data/lib/pangea/resources/aws_iam_group/types/attributes.rb +97 -0
  925. data/lib/pangea/resources/aws_iam_group/types/group_classification.rb +132 -0
  926. data/lib/pangea/resources/aws_iam_group/types/patterns.rb +96 -0
  927. data/lib/pangea/resources/aws_iam_group/types.rb +10 -394
  928. data/lib/pangea/resources/aws_iam_policy/types/attributes.rb +117 -0
  929. data/lib/pangea/resources/aws_iam_policy/types/templates.rb +56 -0
  930. data/lib/pangea/resources/aws_iam_policy/types.rb +7 -346
  931. data/lib/pangea/resources/aws_iam_role/types/trust_policies.rb +90 -0
  932. data/lib/pangea/resources/aws_iam_role/types.rb +103 -174
  933. data/lib/pangea/resources/aws_iam_role_policy_attachment/types/attachment_patterns.rb +75 -0
  934. data/lib/pangea/resources/aws_iam_role_policy_attachment/types/aws_managed_policies.rb +93 -0
  935. data/lib/pangea/resources/aws_iam_role_policy_attachment/types.rb +101 -222
  936. data/lib/pangea/resources/aws_iam_user/types/attributes.rb +45 -0
  937. data/lib/pangea/resources/aws_iam_user/types/helpers.rb +123 -0
  938. data/lib/pangea/resources/aws_iam_user/types/templates.rb +147 -0
  939. data/lib/pangea/resources/aws_iam_user/types/validators.rb +68 -0
  940. data/lib/pangea/resources/aws_iam_user/types.rb +5 -323
  941. data/lib/pangea/resources/aws_instance/types.rb +1 -1
  942. data/lib/pangea/resources/aws_internet_gateway/resource.rb +3 -9
  943. data/lib/pangea/resources/aws_iot_analytics_channel/types.rb +1 -1
  944. data/lib/pangea/resources/aws_iot_analytics_datastore/types.rb +1 -1
  945. data/lib/pangea/resources/aws_iot_certificate/types/helpers.rb +164 -0
  946. data/lib/pangea/resources/aws_iot_certificate/types/validators.rb +84 -0
  947. data/lib/pangea/resources/aws_iot_certificate/types.rb +46 -208
  948. data/lib/pangea/resources/aws_iot_device_defender_security_profile/types.rb +3 -3
  949. data/lib/pangea/resources/aws_iot_policy/types.rb +1 -1
  950. data/lib/pangea/resources/aws_iot_security_profile/types.rb +2 -2
  951. data/lib/pangea/resources/aws_iot_thing_type/types/analysis.rb +107 -0
  952. data/lib/pangea/resources/aws_iot_thing_type/types/properties.rb +64 -0
  953. data/lib/pangea/resources/aws_iot_thing_type/types/recommendations.rb +65 -0
  954. data/lib/pangea/resources/aws_iot_thing_type/types/templates.rb +69 -0
  955. data/lib/pangea/resources/aws_iot_thing_type/types.rb +35 -215
  956. data/lib/pangea/resources/aws_iot_topic_rule/types.rb +2 -2
  957. data/lib/pangea/resources/aws_iot_topic_rule_destination/types.rb +1 -1
  958. data/lib/pangea/resources/aws_iotanalytics_dataset/builders/action_builder.rb +76 -0
  959. data/lib/pangea/resources/aws_iotanalytics_dataset/resource.rb +2 -41
  960. data/lib/pangea/resources/aws_iotanalytics_dataset/types/action.rb +91 -0
  961. data/lib/pangea/resources/aws_iotanalytics_dataset/types/attributes.rb +81 -0
  962. data/lib/pangea/resources/aws_iotanalytics_dataset/types/content_delivery_rule.rb +67 -0
  963. data/lib/pangea/resources/aws_iotanalytics_dataset/types/trigger.rb +49 -0
  964. data/lib/pangea/resources/aws_iotanalytics_dataset/types.rb +6 -202
  965. data/lib/pangea/resources/aws_key_pair/types.rb +1 -1
  966. data/lib/pangea/resources/aws_kinesis_analytics_application/builders/application_code_builder.rb +62 -0
  967. data/lib/pangea/resources/aws_kinesis_analytics_application/builders/flink_builder.rb +76 -0
  968. data/lib/pangea/resources/aws_kinesis_analytics_application/builders/sql_builder.rb +197 -0
  969. data/lib/pangea/resources/aws_kinesis_analytics_application/resource.rb +67 -243
  970. data/lib/pangea/resources/aws_kinesis_analytics_application/types/computed.rb +131 -0
  971. data/lib/pangea/resources/aws_kinesis_analytics_application/types/configs.rb +86 -0
  972. data/lib/pangea/resources/aws_kinesis_analytics_application/types/sql_configs.rb +113 -0
  973. data/lib/pangea/resources/aws_kinesis_analytics_application/types/validation.rb +109 -0
  974. data/lib/pangea/resources/aws_kinesis_analytics_application/types.rb +25 -280
  975. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/destination_builders.rb +108 -0
  976. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/resource.rb +20 -210
  977. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/s3_builders.rb +127 -0
  978. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/types/computed_properties.rb +65 -0
  979. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/types/validation.rb +73 -0
  980. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/types.rb +121 -242
  981. data/lib/pangea/resources/aws_kinesis_stream/types.rb +1 -1
  982. data/lib/pangea/resources/aws_kinesis_video_stream/types/kms_validation.rb +52 -0
  983. data/lib/pangea/resources/aws_kinesis_video_stream/types/media_type_helpers.rb +58 -0
  984. data/lib/pangea/resources/aws_kinesis_video_stream/types/storage_estimation.rb +75 -0
  985. data/lib/pangea/resources/aws_kinesis_video_stream/types.rb +60 -161
  986. data/lib/pangea/resources/aws_lambda_function/block_builders.rb +112 -0
  987. data/lib/pangea/resources/aws_lambda_function/resource.rb +13 -78
  988. data/lib/pangea/resources/aws_lambda_function/types/helpers.rb +58 -0
  989. data/lib/pangea/resources/aws_lambda_function/types/validators.rb +99 -0
  990. data/lib/pangea/resources/aws_lambda_function/types.rb +16 -156
  991. data/lib/pangea/resources/aws_launch_configuration/types.rb +1 -1
  992. data/lib/pangea/resources/aws_launch_template/types/block_device_mapping.rb +57 -0
  993. data/lib/pangea/resources/aws_launch_template/types/iam_instance_profile.rb +48 -0
  994. data/lib/pangea/resources/aws_launch_template/types/network_interface.rb +43 -0
  995. data/lib/pangea/resources/aws_launch_template/types/tag_specification.rb +43 -0
  996. data/lib/pangea/resources/aws_launch_template/types.rb +25 -111
  997. data/lib/pangea/resources/aws_lb/types.rb +1 -1
  998. data/lib/pangea/resources/aws_lb_cookie_stickiness_policy/types.rb +1 -1
  999. data/lib/pangea/resources/aws_lb_listener/types.rb +1 -1
  1000. data/lib/pangea/resources/aws_lb_listener_rule/action_builders.rb +123 -0
  1001. data/lib/pangea/resources/aws_lb_listener_rule/resource.rb +3 -88
  1002. data/lib/pangea/resources/aws_lb_listener_rule/types.rb +1 -1
  1003. data/lib/pangea/resources/aws_lb_ssl_negotiation_policy/types.rb +1 -1
  1004. data/lib/pangea/resources/aws_lb_target_group_attachment/types.rb +1 -1
  1005. data/lib/pangea/resources/aws_lb_trust_store/types.rb +1 -1
  1006. data/lib/pangea/resources/aws_lb_trust_store_revocation/types.rb +1 -1
  1007. data/lib/pangea/resources/aws_licensemanager_association/types.rb +1 -1
  1008. data/lib/pangea/resources/aws_licensemanager_grant/types.rb +1 -1
  1009. data/lib/pangea/resources/aws_licensemanager_grant_accepter/types.rb +1 -1
  1010. data/lib/pangea/resources/aws_licensemanager_license_configuration/types.rb +1 -1
  1011. data/lib/pangea/resources/aws_licensemanager_license_grant_accepter/types.rb +1 -1
  1012. data/lib/pangea/resources/aws_licensemanager_report_generator/types.rb +2 -2
  1013. data/lib/pangea/resources/aws_licensemanager_token/types.rb +2 -2
  1014. data/lib/pangea/resources/aws_lightsail/compute.rb +83 -0
  1015. data/lib/pangea/resources/aws_lightsail/database.rb +66 -0
  1016. data/lib/pangea/resources/aws_lightsail/load_balancer.rb +68 -0
  1017. data/lib/pangea/resources/aws_lightsail/networking.rb +118 -0
  1018. data/lib/pangea/resources/aws_lightsail/storage.rb +101 -0
  1019. data/lib/pangea/resources/aws_lightsail.rb +20 -499
  1020. data/lib/pangea/resources/aws_load_balancer_backend_server_policy/types.rb +1 -1
  1021. data/lib/pangea/resources/aws_load_balancer_listener_policy/types.rb +1 -1
  1022. data/lib/pangea/resources/aws_load_balancer_policy/types.rb +1 -1
  1023. data/lib/pangea/resources/aws_local_zones/data_sources.rb +133 -0
  1024. data/lib/pangea/resources/aws_local_zones/resources.rb +90 -0
  1025. data/lib/pangea/resources/aws_local_zones.rb +9 -207
  1026. data/lib/pangea/resources/aws_managedblockchain_accessor/types/blockchain_helpers.rb +76 -0
  1027. data/lib/pangea/resources/aws_managedblockchain_accessor/types/cost_helpers.rb +68 -0
  1028. data/lib/pangea/resources/aws_managedblockchain_accessor/types/network_helpers.rb +95 -0
  1029. data/lib/pangea/resources/aws_managedblockchain_accessor/types.rb +58 -218
  1030. data/lib/pangea/resources/aws_managedblockchain_ethereum_node/types/attributes.rb +84 -0
  1031. data/lib/pangea/resources/aws_managedblockchain_ethereum_node/types/helpers.rb +97 -0
  1032. data/lib/pangea/resources/aws_managedblockchain_ethereum_node/types.rb +4 -346
  1033. data/lib/pangea/resources/aws_managedblockchain_member/types/instance_methods.rb +102 -0
  1034. data/lib/pangea/resources/aws_managedblockchain_member/types/validation.rb +80 -0
  1035. data/lib/pangea/resources/aws_managedblockchain_member/types.rb +49 -189
  1036. data/lib/pangea/resources/aws_managedblockchain_network/types/helpers.rb +107 -0
  1037. data/lib/pangea/resources/aws_managedblockchain_network/types/validation.rb +91 -0
  1038. data/lib/pangea/resources/aws_managedblockchain_network/types.rb +73 -223
  1039. data/lib/pangea/resources/aws_managedblockchain_node/types/attributes.rb +87 -0
  1040. data/lib/pangea/resources/aws_managedblockchain_node/types/cost_and_specs.rb +75 -0
  1041. data/lib/pangea/resources/aws_managedblockchain_node/types/instance_methods.rb +96 -0
  1042. data/lib/pangea/resources/aws_managedblockchain_node/types/validation.rb +56 -0
  1043. data/lib/pangea/resources/aws_managedblockchain_node/types.rb +5 -235
  1044. data/lib/pangea/resources/aws_media_convert_queue/types.rb +2 -2
  1045. data/lib/pangea/resources/aws_media_live_channel/resource/dsl_builder/configurations.rb +74 -0
  1046. data/lib/pangea/resources/aws_media_live_channel/resource/dsl_builder/destinations.rb +67 -0
  1047. data/lib/pangea/resources/aws_media_live_channel/resource/dsl_builder/encoder_settings/audio_descriptions.rb +101 -0
  1048. data/lib/pangea/resources/aws_media_live_channel/resource/dsl_builder/encoder_settings/output_groups.rb +163 -0
  1049. data/lib/pangea/resources/aws_media_live_channel/resource/dsl_builder/encoder_settings/video_descriptions.rb +86 -0
  1050. data/lib/pangea/resources/aws_media_live_channel/resource/dsl_builder/encoder_settings.rb +52 -0
  1051. data/lib/pangea/resources/aws_media_live_channel/resource/dsl_builder/input_attachments.rb +131 -0
  1052. data/lib/pangea/resources/aws_media_live_channel/resource/dsl_builder.rb +42 -0
  1053. data/lib/pangea/resources/aws_media_live_channel/resource.rb +22 -527
  1054. data/lib/pangea/resources/aws_media_live_channel/types/audio_codec_settings.rb +103 -0
  1055. data/lib/pangea/resources/aws_media_live_channel/types/caption_settings.rb +112 -0
  1056. data/lib/pangea/resources/aws_media_live_channel/types/channel_config.rb +77 -0
  1057. data/lib/pangea/resources/aws_media_live_channel/types/encoder_config.rb +108 -0
  1058. data/lib/pangea/resources/aws_media_live_channel/types/helpers.rb +58 -0
  1059. data/lib/pangea/resources/aws_media_live_channel/types/hls_group_settings.rb +113 -0
  1060. data/lib/pangea/resources/aws_media_live_channel/types/input_settings.rb +106 -0
  1061. data/lib/pangea/resources/aws_media_live_channel/types/output_group_settings.rb +102 -0
  1062. data/lib/pangea/resources/aws_media_live_channel/types/output_groups.rb +43 -0
  1063. data/lib/pangea/resources/aws_media_live_channel/types/output_settings.rb +153 -0
  1064. data/lib/pangea/resources/aws_media_live_channel/types/schedule_settings.rb +191 -0
  1065. data/lib/pangea/resources/aws_media_live_channel/types/video_codec_h265_mpeg2.rb +111 -0
  1066. data/lib/pangea/resources/aws_media_live_channel/types/video_codec_settings.rb +89 -0
  1067. data/lib/pangea/resources/aws_media_live_channel/types.rb +98 -961
  1068. data/lib/pangea/resources/aws_media_live_input/types/helpers.rb +100 -0
  1069. data/lib/pangea/resources/aws_media_live_input/types/validation.rb +86 -0
  1070. data/lib/pangea/resources/aws_media_live_input/types.rb +92 -218
  1071. data/lib/pangea/resources/aws_media_package_channel/types.rb +2 -2
  1072. data/lib/pangea/resources/aws_media_package_origin_endpoint/types.rb +7 -7
  1073. data/lib/pangea/resources/aws_media_store_container/types.rb +1 -1
  1074. data/lib/pangea/resources/aws_memorydb_acl/types.rb +1 -1
  1075. data/lib/pangea/resources/aws_memorydb_cluster/types.rb +1 -1
  1076. data/lib/pangea/resources/aws_memorydb_cluster_endpoint/types.rb +1 -1
  1077. data/lib/pangea/resources/aws_memorydb_multi_region_cluster/types.rb +1 -1
  1078. data/lib/pangea/resources/aws_memorydb_parameter_group/types.rb +1 -1
  1079. data/lib/pangea/resources/aws_memorydb_snapshot/types.rb +1 -1
  1080. data/lib/pangea/resources/aws_memorydb_subnet_group/types.rb +1 -1
  1081. data/lib/pangea/resources/aws_memorydb_user/types.rb +2 -2
  1082. data/lib/pangea/resources/aws_minimal/requires/compute_network_resources.rb +77 -0
  1083. data/lib/pangea/resources/aws_minimal/requires/database_resources.rb +76 -0
  1084. data/lib/pangea/resources/aws_minimal/requires/extended_services.rb +74 -0
  1085. data/lib/pangea/resources/aws_minimal/requires/service_modules.rb +60 -0
  1086. data/lib/pangea/resources/aws_minimal.rb +13 -228
  1087. data/lib/pangea/resources/aws_neptune_cluster/types.rb +2 -2
  1088. data/lib/pangea/resources/aws_neptune_cluster_endpoint/types.rb +1 -1
  1089. data/lib/pangea/resources/aws_neptune_cluster_instance/types.rb +1 -1
  1090. data/lib/pangea/resources/aws_neptune_cluster_parameter_group/types.rb +1 -1
  1091. data/lib/pangea/resources/aws_neptune_cluster_snapshot/types.rb +1 -1
  1092. data/lib/pangea/resources/aws_neptune_event_subscription/types.rb +1 -1
  1093. data/lib/pangea/resources/aws_neptune_parameter_group/types.rb +1 -1
  1094. data/lib/pangea/resources/aws_neptune_subnet_group/types.rb +1 -1
  1095. data/lib/pangea/resources/aws_network_acl/types.rb +1 -1
  1096. data/lib/pangea/resources/aws_network_acl_rule/types.rb +1 -1
  1097. data/lib/pangea/resources/aws_network_interface/types.rb +2 -2
  1098. data/lib/pangea/resources/aws_organizations_organization/types.rb +2 -2
  1099. data/lib/pangea/resources/aws_outposts/outpost.rb +64 -0
  1100. data/lib/pangea/resources/aws_outposts/resources.rb +173 -0
  1101. data/lib/pangea/resources/aws_outposts/site.rb +75 -0
  1102. data/lib/pangea/resources/aws_outposts.rb +10 -343
  1103. data/lib/pangea/resources/aws_placement_group/types.rb +1 -1
  1104. data/lib/pangea/resources/aws_proxy_protocol_policy/types.rb +1 -1
  1105. data/lib/pangea/resources/aws_qldb_stream/types/stream_helpers.rb +134 -0
  1106. data/lib/pangea/resources/aws_qldb_stream/types.rb +66 -172
  1107. data/lib/pangea/resources/aws_ram_invitation_accepter/types.rb +1 -1
  1108. data/lib/pangea/resources/aws_ram_managed_permission/types.rb +1 -1
  1109. data/lib/pangea/resources/aws_ram_permission/types.rb +1 -1
  1110. data/lib/pangea/resources/aws_ram_permission_association/types.rb +1 -1
  1111. data/lib/pangea/resources/aws_ram_principal_association/types.rb +1 -1
  1112. data/lib/pangea/resources/aws_ram_resource_association/types.rb +1 -1
  1113. data/lib/pangea/resources/aws_ram_resource_share/types.rb +1 -1
  1114. data/lib/pangea/resources/aws_ram_resource_share_accepter/types.rb +1 -1
  1115. data/lib/pangea/resources/aws_ram_resource_share_invitation/types.rb +1 -1
  1116. data/lib/pangea/resources/aws_ram_sharing_with_organization/types.rb +1 -1
  1117. data/lib/pangea/resources/aws_rds_cluster/types/attributes.rb +84 -0
  1118. data/lib/pangea/resources/aws_rds_cluster/types/configs.rb +44 -0
  1119. data/lib/pangea/resources/aws_rds_cluster/types/nested_types.rb +45 -0
  1120. data/lib/pangea/resources/aws_rds_cluster/types/validation.rb +26 -0
  1121. data/lib/pangea/resources/aws_rds_cluster/types.rb +5 -460
  1122. data/lib/pangea/resources/aws_rds_cluster_endpoint/types/configs.rb +97 -0
  1123. data/lib/pangea/resources/aws_rds_cluster_endpoint/types/members.rb +36 -0
  1124. data/lib/pangea/resources/aws_rds_cluster_endpoint/types.rb +104 -193
  1125. data/lib/pangea/resources/aws_rds_cluster_instance/types/attributes.rb +59 -0
  1126. data/lib/pangea/resources/aws_rds_cluster_instance/types/configs.rb +58 -0
  1127. data/lib/pangea/resources/aws_rds_cluster_instance/types/instance_methods.rb +106 -0
  1128. data/lib/pangea/resources/aws_rds_cluster_instance/types.rb +6 -425
  1129. data/lib/pangea/resources/aws_rds_cluster_parameter_group/types/attributes.rb +101 -0
  1130. data/lib/pangea/resources/aws_rds_cluster_parameter_group/types/configs.rb +102 -0
  1131. data/lib/pangea/resources/aws_rds_cluster_parameter_group/types/parameter.rb +36 -0
  1132. data/lib/pangea/resources/aws_rds_cluster_parameter_group/types.rb +8 -349
  1133. data/lib/pangea/resources/aws_rds_global_cluster/types/attributes.rb +90 -0
  1134. data/lib/pangea/resources/aws_rds_global_cluster/types/backup_config.rb +52 -0
  1135. data/lib/pangea/resources/aws_rds_global_cluster/types/configs.rb +47 -0
  1136. data/lib/pangea/resources/aws_rds_global_cluster/types.rb +8 -413
  1137. data/lib/pangea/resources/aws_rds_proxy/types/attributes.rb +73 -0
  1138. data/lib/pangea/resources/aws_rds_proxy/types/configs.rb +43 -0
  1139. data/lib/pangea/resources/aws_rds_proxy/types/nested_types.rb +61 -0
  1140. data/lib/pangea/resources/aws_rds_proxy/types.rb +9 -398
  1141. data/lib/pangea/resources/aws_redshift_cluster/types/capacity_calculator.rb +88 -0
  1142. data/lib/pangea/resources/aws_redshift_cluster/types/cost_estimator.rb +66 -0
  1143. data/lib/pangea/resources/aws_redshift_cluster/types/feature_checks.rb +46 -0
  1144. data/lib/pangea/resources/aws_redshift_cluster/types/validators.rb +73 -0
  1145. data/lib/pangea/resources/aws_redshift_cluster/types/workload_parameters.rb +67 -0
  1146. data/lib/pangea/resources/aws_redshift_cluster/types.rb +114 -284
  1147. data/lib/pangea/resources/aws_redshift_parameter_group/types/class_methods.rb +114 -0
  1148. data/lib/pangea/resources/aws_redshift_parameter_group/types/instance_methods.rb +88 -0
  1149. data/lib/pangea/resources/aws_redshift_parameter_group/types/validation.rb +53 -0
  1150. data/lib/pangea/resources/aws_redshift_parameter_group/types.rb +35 -188
  1151. data/lib/pangea/resources/aws_redshift_snapshot_schedule/types/attributes.rb +46 -0
  1152. data/lib/pangea/resources/aws_redshift_snapshot_schedule/types/instance_methods.rb +92 -0
  1153. data/lib/pangea/resources/aws_redshift_snapshot_schedule/types/templates.rb +53 -0
  1154. data/lib/pangea/resources/aws_redshift_snapshot_schedule/types/validation.rb +71 -0
  1155. data/lib/pangea/resources/aws_redshift_snapshot_schedule/types.rb +7 -205
  1156. data/lib/pangea/resources/aws_resources/analytics.rb +22 -0
  1157. data/lib/pangea/resources/aws_resources/compute.rb +31 -0
  1158. data/lib/pangea/resources/aws_resources/core.rb +35 -0
  1159. data/lib/pangea/resources/aws_resources/database.rb +27 -0
  1160. data/lib/pangea/resources/aws_resources/devops.rb +19 -0
  1161. data/lib/pangea/resources/aws_resources/governance.rb +20 -0
  1162. data/lib/pangea/resources/aws_resources/integration.rb +24 -0
  1163. data/lib/pangea/resources/aws_resources/management.rb +33 -0
  1164. data/lib/pangea/resources/aws_resources/ml.rb +15 -0
  1165. data/lib/pangea/resources/aws_resources/security.rb +30 -0
  1166. data/lib/pangea/resources/aws_resources/specialty.rb +67 -0
  1167. data/lib/pangea/resources/aws_resources/storage.rb +23 -0
  1168. data/lib/pangea/resources/aws_resources.rb +15 -338
  1169. data/lib/pangea/resources/aws_route/types.rb +1 -1
  1170. data/lib/pangea/resources/aws_route53_delegation_set/types.rb +1 -1
  1171. data/lib/pangea/resources/aws_route53_health_check/types/attributes.rb +193 -0
  1172. data/lib/pangea/resources/aws_route53_health_check/types/configs.rb +84 -0
  1173. data/lib/pangea/resources/aws_route53_health_check/types.rb +6 -375
  1174. data/lib/pangea/resources/aws_route53_query_log/types.rb +1 -1
  1175. data/lib/pangea/resources/aws_route53_record/types/attributes.rb +149 -0
  1176. data/lib/pangea/resources/aws_route53_record/types/configs.rb +124 -0
  1177. data/lib/pangea/resources/aws_route53_record/types/instance_methods.rb +80 -0
  1178. data/lib/pangea/resources/aws_route53_record/types/validation.rb +82 -0
  1179. data/lib/pangea/resources/aws_route53_record/types.rb +6 -383
  1180. data/lib/pangea/resources/aws_route53_zone/types/attributes.rb +85 -0
  1181. data/lib/pangea/resources/aws_route53_zone/types/configs.rb +73 -0
  1182. data/lib/pangea/resources/aws_route53_zone/types/instance_methods.rb +90 -0
  1183. data/lib/pangea/resources/aws_route53_zone/types/validation.rb +42 -0
  1184. data/lib/pangea/resources/aws_route53_zone/types.rb +5 -234
  1185. data/lib/pangea/resources/aws_s3_access_point/types.rb +1 -1
  1186. data/lib/pangea/resources/aws_s3_bucket/builders/configuration_builder.rb +105 -0
  1187. data/lib/pangea/resources/aws_s3_bucket/builders/lifecycle_builder.rb +101 -0
  1188. data/lib/pangea/resources/aws_s3_bucket/resource.rb +56 -175
  1189. data/lib/pangea/resources/aws_s3_bucket/types/cors_rule.rb +37 -0
  1190. data/lib/pangea/resources/aws_s3_bucket/types/lifecycle_rule.rb +57 -0
  1191. data/lib/pangea/resources/aws_s3_bucket/types/server_side_encryption.rb +51 -0
  1192. data/lib/pangea/resources/aws_s3_bucket/types.rb +130 -162
  1193. data/lib/pangea/resources/aws_s3_bucket_inventory/types/helpers.rb +113 -0
  1194. data/lib/pangea/resources/aws_s3_bucket_inventory/types.rb +3 -99
  1195. data/lib/pangea/resources/aws_s3_bucket_lifecycle_configuration/types/attributes.rb +55 -0
  1196. data/lib/pangea/resources/aws_s3_bucket_lifecycle_configuration/types/expiration.rb +39 -0
  1197. data/lib/pangea/resources/aws_s3_bucket_lifecycle_configuration/types/filter.rb +54 -0
  1198. data/lib/pangea/resources/aws_s3_bucket_lifecycle_configuration/types/rule.rb +49 -0
  1199. data/lib/pangea/resources/aws_s3_bucket_lifecycle_configuration/types/transition.rb +51 -0
  1200. data/lib/pangea/resources/aws_s3_bucket_lifecycle_configuration/types.rb +14 -202
  1201. data/lib/pangea/resources/aws_s3_bucket_notification/types/helpers.rb +76 -0
  1202. data/lib/pangea/resources/aws_s3_bucket_notification/types/notification_config.rb +74 -0
  1203. data/lib/pangea/resources/aws_s3_bucket_notification/types/s3_events.rb +54 -0
  1204. data/lib/pangea/resources/aws_s3_bucket_notification/types/validators.rb +64 -0
  1205. data/lib/pangea/resources/aws_s3_bucket_notification/types.rb +26 -188
  1206. data/lib/pangea/resources/aws_s3_bucket_object_lock_configuration/types/instance_methods.rb +130 -0
  1207. data/lib/pangea/resources/aws_s3_bucket_object_lock_configuration/types/validation.rb +75 -0
  1208. data/lib/pangea/resources/aws_s3_bucket_object_lock_configuration/types.rb +39 -202
  1209. data/lib/pangea/resources/aws_s3_bucket_replication_configuration/types/destination.rb +84 -0
  1210. data/lib/pangea/resources/aws_s3_bucket_replication_configuration/types/filter.rb +47 -0
  1211. data/lib/pangea/resources/aws_s3_bucket_replication_configuration/types/helpers.rb +108 -0
  1212. data/lib/pangea/resources/aws_s3_bucket_replication_configuration/types/rule.rb +78 -0
  1213. data/lib/pangea/resources/aws_s3_bucket_replication_configuration/types/validators.rb +117 -0
  1214. data/lib/pangea/resources/aws_s3_bucket_replication_configuration/types.rb +22 -272
  1215. data/lib/pangea/resources/aws_s3_bucket_website_configuration/types/attributes.rb +57 -0
  1216. data/lib/pangea/resources/aws_s3_bucket_website_configuration/types/documents.rb +61 -0
  1217. data/lib/pangea/resources/aws_s3_bucket_website_configuration/types/redirect.rb +41 -0
  1218. data/lib/pangea/resources/aws_s3_bucket_website_configuration/types/routing_rules.rb +99 -0
  1219. data/lib/pangea/resources/aws_s3_bucket_website_configuration/types.rb +7 -385
  1220. data/lib/pangea/resources/aws_s3_multi_region_access_point/types.rb +1 -1
  1221. data/lib/pangea/resources/aws_s3_object/types/attributes.rb +112 -0
  1222. data/lib/pangea/resources/aws_s3_object/types/instance_methods.rb +112 -0
  1223. data/lib/pangea/resources/aws_s3_object/types/validation.rb +57 -0
  1224. data/lib/pangea/resources/aws_s3_object/types.rb +4 -198
  1225. data/lib/pangea/resources/aws_sagemaker_domain/types/app_settings_types.rb +91 -0
  1226. data/lib/pangea/resources/aws_sagemaker_domain/types/base_types.rb +70 -0
  1227. data/lib/pangea/resources/aws_sagemaker_domain/types/user_settings_types.rb +45 -0
  1228. data/lib/pangea/resources/aws_sagemaker_domain/types.rb +80 -207
  1229. data/lib/pangea/resources/aws_sagemaker_endpoint/reference_attributes.rb +119 -0
  1230. data/lib/pangea/resources/aws_sagemaker_endpoint/resource.rb +2 -80
  1231. data/lib/pangea/resources/aws_sagemaker_endpoint/types/computed_properties.rb +100 -0
  1232. data/lib/pangea/resources/aws_sagemaker_endpoint/types/deployment_analysis.rb +108 -0
  1233. data/lib/pangea/resources/aws_sagemaker_endpoint/types/deployment_config.rb +54 -0
  1234. data/lib/pangea/resources/aws_sagemaker_endpoint/types.rb +62 -235
  1235. data/lib/pangea/resources/aws_sagemaker_endpoint_configuration/reference_attributes.rb +130 -0
  1236. data/lib/pangea/resources/aws_sagemaker_endpoint_configuration/resource.rb +5 -45
  1237. data/lib/pangea/resources/aws_sagemaker_endpoint_configuration/types/attributes.rb +155 -0
  1238. data/lib/pangea/resources/aws_sagemaker_endpoint_configuration/types/variant_types.rb +73 -0
  1239. data/lib/pangea/resources/aws_sagemaker_endpoint_configuration/types.rb +8 -347
  1240. data/lib/pangea/resources/aws_sagemaker_model/types/attributes.rb +62 -0
  1241. data/lib/pangea/resources/aws_sagemaker_model/types/helpers.rb +73 -0
  1242. data/lib/pangea/resources/aws_sagemaker_model/types/validators.rb +70 -0
  1243. data/lib/pangea/resources/aws_sagemaker_model/types.rb +4 -327
  1244. data/lib/pangea/resources/aws_sagemaker_notebook_instance/types/helpers.rb +73 -0
  1245. data/lib/pangea/resources/aws_sagemaker_notebook_instance/types/pricing.rb +118 -0
  1246. data/lib/pangea/resources/aws_sagemaker_notebook_instance/types/security.rb +81 -0
  1247. data/lib/pangea/resources/aws_sagemaker_notebook_instance/types/validators.rb +97 -0
  1248. data/lib/pangea/resources/aws_sagemaker_notebook_instance/types.rb +29 -240
  1249. data/lib/pangea/resources/aws_sagemaker_training_job/types/attributes.rb +86 -0
  1250. data/lib/pangea/resources/aws_sagemaker_training_job/types/configs.rb +38 -0
  1251. data/lib/pangea/resources/aws_sagemaker_training_job/types/enums.rb +27 -0
  1252. data/lib/pangea/resources/aws_sagemaker_training_job/types/validation.rb +70 -0
  1253. data/lib/pangea/resources/aws_sagemaker_training_job/types.rb +5 -466
  1254. data/lib/pangea/resources/aws_sagemaker_user_profile/types/attributes.rb +68 -0
  1255. data/lib/pangea/resources/aws_sagemaker_user_profile/types/helpers.rb +67 -0
  1256. data/lib/pangea/resources/aws_sagemaker_user_profile/types/validators.rb +60 -0
  1257. data/lib/pangea/resources/aws_sagemaker_user_profile/types.rb +4 -327
  1258. data/lib/pangea/resources/aws_security_group/types.rb +3 -3
  1259. data/lib/pangea/resources/aws_sfn_state_machine/types/attributes.rb +51 -0
  1260. data/lib/pangea/resources/aws_sfn_state_machine/types/builders.rb +88 -0
  1261. data/lib/pangea/resources/aws_sfn_state_machine/types/validators.rb +86 -0
  1262. data/lib/pangea/resources/aws_sfn_state_machine/types.rb +5 -344
  1263. data/lib/pangea/resources/aws_snow_family/datasync.rb +124 -0
  1264. data/lib/pangea/resources/aws_snow_family/snowball.rb +95 -0
  1265. data/lib/pangea/resources/aws_snow_family/snowcone.rb +82 -0
  1266. data/lib/pangea/resources/aws_snow_family/snowmobile.rb +51 -0
  1267. data/lib/pangea/resources/aws_snow_family.rb +10 -392
  1268. data/lib/pangea/resources/aws_sns_subscription/types/helpers.rb +73 -0
  1269. data/lib/pangea/resources/aws_sns_subscription/types/validators.rb +144 -0
  1270. data/lib/pangea/resources/aws_sns_subscription/types.rb +28 -191
  1271. data/lib/pangea/resources/aws_sns_topic/types.rb +1 -1
  1272. data/lib/pangea/resources/aws_sqs_queue/types.rb +1 -1
  1273. data/lib/pangea/resources/aws_ssm_document/types/attributes.rb +101 -0
  1274. data/lib/pangea/resources/aws_ssm_document/types/configs.rb +56 -0
  1275. data/lib/pangea/resources/aws_ssm_document/types.rb +6 -405
  1276. data/lib/pangea/resources/aws_ssm_maintenance_window/types/attributes.rb +188 -0
  1277. data/lib/pangea/resources/aws_ssm_maintenance_window/types/configs.rb +88 -0
  1278. data/lib/pangea/resources/aws_ssm_maintenance_window/types.rb +6 -362
  1279. data/lib/pangea/resources/aws_ssm_parameter/types/configs.rb +118 -0
  1280. data/lib/pangea/resources/aws_ssm_parameter/types/helpers.rb +101 -0
  1281. data/lib/pangea/resources/aws_ssm_parameter/types/validation.rb +83 -0
  1282. data/lib/pangea/resources/aws_ssm_parameter/types.rb +32 -250
  1283. data/lib/pangea/resources/aws_ssm_patch_baseline/types/attributes.rb +75 -0
  1284. data/lib/pangea/resources/aws_ssm_patch_baseline/types/configs.rb +94 -0
  1285. data/lib/pangea/resources/aws_ssm_patch_baseline/types/instance_methods.rb +97 -0
  1286. data/lib/pangea/resources/aws_ssm_patch_baseline/types/validation.rb +99 -0
  1287. data/lib/pangea/resources/aws_ssm_patch_baseline/types.rb +7 -428
  1288. data/lib/pangea/resources/aws_subnet/resource.rb +7 -13
  1289. data/lib/pangea/resources/aws_subnet/types.rb +1 -1
  1290. data/lib/pangea/resources/aws_timestream_access_policy/types.rb +1 -1
  1291. data/lib/pangea/resources/aws_timestream_batch_load_task/types.rb +4 -4
  1292. data/lib/pangea/resources/aws_timestream_database/types.rb +1 -1
  1293. data/lib/pangea/resources/aws_timestream_influx_db_instance/types.rb +1 -1
  1294. data/lib/pangea/resources/aws_timestream_scheduled_query/types.rb +5 -5
  1295. data/lib/pangea/resources/aws_timestream_table/types.rb +4 -4
  1296. data/lib/pangea/resources/aws_timestream_table_retention_properties/types.rb +1 -1
  1297. data/lib/pangea/resources/aws_volume_attachment/types.rb +1 -1
  1298. data/lib/pangea/resources/aws_vpc_dhcp_options_association/types.rb +1 -1
  1299. data/lib/pangea/resources/aws_vpc_endpoint/types.rb +1 -1
  1300. data/lib/pangea/resources/aws_vpc_endpoint_connection_accepter/types.rb +1 -1
  1301. data/lib/pangea/resources/aws_vpc_endpoint_connection_notification/types.rb +1 -1
  1302. data/lib/pangea/resources/aws_vpc_endpoint_route_table_association/types.rb +1 -1
  1303. data/lib/pangea/resources/aws_vpc_endpoint_service/types.rb +1 -1
  1304. data/lib/pangea/resources/aws_vpc_endpoint_service_allowed_principal/types.rb +1 -1
  1305. data/lib/pangea/resources/aws_vpc_endpoint_subnet_association/types.rb +1 -1
  1306. data/lib/pangea/resources/aws_vpc_network_performance_metric_subscription/types.rb +1 -1
  1307. data/lib/pangea/resources/aws_vpc_peering_connection/types.rb +3 -3
  1308. data/lib/pangea/resources/aws_vpc_peering_connection_accepter/types.rb +1 -1
  1309. data/lib/pangea/resources/aws_vpc_peering_connection_options/types.rb +1 -1
  1310. data/lib/pangea/resources/aws_vpc_security_group_egress_rule/types.rb +1 -1
  1311. data/lib/pangea/resources/aws_vpc_security_group_ingress_rule/types.rb +1 -1
  1312. data/lib/pangea/resources/aws_vpn_connection/types.rb +1 -1
  1313. data/lib/pangea/resources/aws_vpn_gateway/types.rb +1 -1
  1314. data/lib/pangea/resources/aws_wafv2_regex_pattern_set/types/configs.rb +116 -0
  1315. data/lib/pangea/resources/aws_wafv2_regex_pattern_set/types/helpers.rb +106 -0
  1316. data/lib/pangea/resources/aws_wafv2_regex_pattern_set/types.rb +66 -226
  1317. data/lib/pangea/resources/aws_wafv2_rule_group/resource/actions.rb +83 -0
  1318. data/lib/pangea/resources/aws_wafv2_rule_group/resource/dsl_builder.rb +107 -0
  1319. data/lib/pangea/resources/aws_wafv2_rule_group/resource/field_to_match.rb +45 -0
  1320. data/lib/pangea/resources/aws_wafv2_rule_group/resource/statements.rb +137 -0
  1321. data/lib/pangea/resources/aws_wafv2_rule_group/resource.rb +127 -379
  1322. data/lib/pangea/resources/aws_wafv2_rule_group/types/actions.rb +78 -0
  1323. data/lib/pangea/resources/aws_wafv2_rule_group/types/computed.rb +65 -0
  1324. data/lib/pangea/resources/aws_wafv2_rule_group/types/rule_schema.rb +53 -0
  1325. data/lib/pangea/resources/aws_wafv2_rule_group/types/schemas.rb +74 -0
  1326. data/lib/pangea/resources/aws_wafv2_rule_group/types/validators.rb +121 -0
  1327. data/lib/pangea/resources/aws_wafv2_rule_group/types.rb +14 -231
  1328. data/lib/pangea/resources/aws_wafv2_web_acl/resource/dsl_builder/default_action.rb +60 -0
  1329. data/lib/pangea/resources/aws_wafv2_web_acl/resource/dsl_builder/field_to_match.rb +65 -0
  1330. data/lib/pangea/resources/aws_wafv2_web_acl/resource/dsl_builder/rules.rb +89 -0
  1331. data/lib/pangea/resources/aws_wafv2_web_acl/resource/dsl_builder/statements.rb +166 -0
  1332. data/lib/pangea/resources/aws_wafv2_web_acl/resource/dsl_builder.rb +42 -0
  1333. data/lib/pangea/resources/aws_wafv2_web_acl/resource.rb +48 -450
  1334. data/lib/pangea/resources/aws_wafv2_web_acl/types/default_action.rb +57 -0
  1335. data/lib/pangea/resources/aws_wafv2_web_acl/types/rule.rb +60 -0
  1336. data/lib/pangea/resources/aws_wafv2_web_acl/types/rule_action.rb +76 -0
  1337. data/lib/pangea/resources/aws_wafv2_web_acl/types/statement.rb +176 -0
  1338. data/lib/pangea/resources/aws_wafv2_web_acl/types/visibility_config.rb +35 -0
  1339. data/lib/pangea/resources/aws_wafv2_web_acl/types/web_acl_attributes.rb +158 -0
  1340. data/lib/pangea/resources/aws_wafv2_web_acl/types.rb +8 -526
  1341. data/lib/pangea/resources/aws_wavelength/application_deployment.rb +78 -0
  1342. data/lib/pangea/resources/aws_wavelength/carrier_gateway.rb +62 -0
  1343. data/lib/pangea/resources/aws_wavelength/deployment.rb +68 -0
  1344. data/lib/pangea/resources/aws_wavelength/edge_location.rb +66 -0
  1345. data/lib/pangea/resources/aws_wavelength/network_interface.rb +77 -0
  1346. data/lib/pangea/resources/aws_wavelength/workload.rb +74 -0
  1347. data/lib/pangea/resources/aws_wavelength.rb +11 -307
  1348. data/lib/pangea/resources/aws_workspaces_bundle/types/compute.rb +70 -0
  1349. data/lib/pangea/resources/aws_workspaces_bundle/types/storage.rb +71 -0
  1350. data/lib/pangea/resources/aws_workspaces_bundle/types.rb +40 -165
  1351. data/lib/pangea/resources/aws_workspaces_directory/types/self_service_permissions_type.rb +54 -0
  1352. data/lib/pangea/resources/aws_workspaces_directory/types/workspace_access_properties_type.rb +68 -0
  1353. data/lib/pangea/resources/aws_workspaces_directory/types/workspace_creation_properties_type.rb +61 -0
  1354. data/lib/pangea/resources/aws_workspaces_directory/types.rb +13 -168
  1355. data/lib/pangea/resources/builders/output_builder.rb +158 -0
  1356. data/lib/pangea/resources/cloudflare_access_rule/resource.rb +71 -0
  1357. data/lib/pangea/resources/cloudflare_access_rule/types.rb +93 -0
  1358. data/lib/pangea/resources/cloudflare_account/resource.rb +28 -0
  1359. data/lib/pangea/resources/cloudflare_account/types.rb +12 -0
  1360. data/lib/pangea/resources/cloudflare_account_dns_settings/resource.rb +27 -0
  1361. data/lib/pangea/resources/cloudflare_account_dns_settings/types.rb +11 -0
  1362. data/lib/pangea/resources/cloudflare_account_dns_settings_internal_view/resource.rb +27 -0
  1363. data/lib/pangea/resources/cloudflare_account_dns_settings_internal_view/types.rb +11 -0
  1364. data/lib/pangea/resources/cloudflare_account_member/resource.rb +29 -0
  1365. data/lib/pangea/resources/cloudflare_account_member/types.rb +13 -0
  1366. data/lib/pangea/resources/cloudflare_account_subscription/resource.rb +27 -0
  1367. data/lib/pangea/resources/cloudflare_account_subscription/types.rb +11 -0
  1368. data/lib/pangea/resources/cloudflare_account_token/resource.rb +27 -0
  1369. data/lib/pangea/resources/cloudflare_account_token/types.rb +11 -0
  1370. data/lib/pangea/resources/cloudflare_address_map/resource.rb +26 -0
  1371. data/lib/pangea/resources/cloudflare_address_map/types.rb +10 -0
  1372. data/lib/pangea/resources/cloudflare_api_shield/resource.rb +27 -0
  1373. data/lib/pangea/resources/cloudflare_api_shield/types.rb +11 -0
  1374. data/lib/pangea/resources/cloudflare_api_shield_discovery_operation/resource.rb +27 -0
  1375. data/lib/pangea/resources/cloudflare_api_shield_discovery_operation/types.rb +11 -0
  1376. data/lib/pangea/resources/cloudflare_api_shield_operation/resource.rb +29 -0
  1377. data/lib/pangea/resources/cloudflare_api_shield_operation/types.rb +13 -0
  1378. data/lib/pangea/resources/cloudflare_api_shield_operation_schema_validation_settings/resource.rb +27 -0
  1379. data/lib/pangea/resources/cloudflare_api_shield_operation_schema_validation_settings/types.rb +11 -0
  1380. data/lib/pangea/resources/cloudflare_api_shield_schema/resource.rb +30 -0
  1381. data/lib/pangea/resources/cloudflare_api_shield_schema/types.rb +14 -0
  1382. data/lib/pangea/resources/cloudflare_api_shield_schema_validation_settings/resource.rb +27 -0
  1383. data/lib/pangea/resources/cloudflare_api_shield_schema_validation_settings/types.rb +11 -0
  1384. data/lib/pangea/resources/cloudflare_api_token/resource.rb +33 -0
  1385. data/lib/pangea/resources/cloudflare_api_token/types.rb +14 -0
  1386. data/lib/pangea/resources/cloudflare_argo/resource.rb +91 -0
  1387. data/lib/pangea/resources/cloudflare_argo/types.rb +92 -0
  1388. data/lib/pangea/resources/cloudflare_authenticated_origin_pulls/resource.rb +29 -0
  1389. data/lib/pangea/resources/cloudflare_authenticated_origin_pulls/types.rb +13 -0
  1390. data/lib/pangea/resources/cloudflare_authenticated_origin_pulls_certificate/resource.rb +33 -0
  1391. data/lib/pangea/resources/cloudflare_authenticated_origin_pulls_certificate/types.rb +13 -0
  1392. data/lib/pangea/resources/cloudflare_authenticated_origin_pulls_settings/resource.rb +26 -0
  1393. data/lib/pangea/resources/cloudflare_authenticated_origin_pulls_settings/types.rb +10 -0
  1394. data/lib/pangea/resources/cloudflare_bot_management/resource.rb +31 -0
  1395. data/lib/pangea/resources/cloudflare_bot_management/types.rb +15 -0
  1396. data/lib/pangea/resources/cloudflare_byo_ip_prefix/resource.rb +27 -0
  1397. data/lib/pangea/resources/cloudflare_byo_ip_prefix/types.rb +11 -0
  1398. data/lib/pangea/resources/cloudflare_calls_sfu_app/resource.rb +27 -0
  1399. data/lib/pangea/resources/cloudflare_calls_sfu_app/types.rb +11 -0
  1400. data/lib/pangea/resources/cloudflare_calls_turn_app/resource.rb +27 -0
  1401. data/lib/pangea/resources/cloudflare_calls_turn_app/types.rb +11 -0
  1402. data/lib/pangea/resources/cloudflare_certificate_pack/resource.rb +26 -0
  1403. data/lib/pangea/resources/cloudflare_certificate_pack/types.rb +10 -0
  1404. data/lib/pangea/resources/cloudflare_cloud_connector_rules/resource.rb +27 -0
  1405. data/lib/pangea/resources/cloudflare_cloud_connector_rules/types.rb +11 -0
  1406. data/lib/pangea/resources/cloudflare_cloudforce_one_request/resource.rb +27 -0
  1407. data/lib/pangea/resources/cloudflare_cloudforce_one_request/types.rb +11 -0
  1408. data/lib/pangea/resources/cloudflare_cloudforce_one_request_asset/resource.rb +27 -0
  1409. data/lib/pangea/resources/cloudflare_cloudforce_one_request_asset/types.rb +11 -0
  1410. data/lib/pangea/resources/cloudflare_cloudforce_one_request_message/resource.rb +27 -0
  1411. data/lib/pangea/resources/cloudflare_cloudforce_one_request_message/types.rb +11 -0
  1412. data/lib/pangea/resources/cloudflare_cloudforce_one_request_priority/resource.rb +27 -0
  1413. data/lib/pangea/resources/cloudflare_cloudforce_one_request_priority/types.rb +11 -0
  1414. data/lib/pangea/resources/cloudflare_content_scanning/resource.rb +27 -0
  1415. data/lib/pangea/resources/cloudflare_content_scanning/types.rb +11 -0
  1416. data/lib/pangea/resources/cloudflare_content_scanning_expression/resource.rb +27 -0
  1417. data/lib/pangea/resources/cloudflare_content_scanning_expression/types.rb +11 -0
  1418. data/lib/pangea/resources/cloudflare_custom_hostname/resource.rb +157 -0
  1419. data/lib/pangea/resources/cloudflare_custom_hostname/types/ssl_types.rb +145 -0
  1420. data/lib/pangea/resources/cloudflare_custom_hostname/types.rb +107 -0
  1421. data/lib/pangea/resources/cloudflare_custom_hostname_fallback_origin/resource.rb +27 -0
  1422. data/lib/pangea/resources/cloudflare_custom_hostname_fallback_origin/types.rb +11 -0
  1423. data/lib/pangea/resources/cloudflare_custom_pages/resource.rb +27 -0
  1424. data/lib/pangea/resources/cloudflare_custom_pages/types.rb +11 -0
  1425. data/lib/pangea/resources/cloudflare_custom_ssl/resource.rb +36 -0
  1426. data/lib/pangea/resources/cloudflare_custom_ssl/types.rb +16 -0
  1427. data/lib/pangea/resources/cloudflare_d1_database/resource.rb +92 -0
  1428. data/lib/pangea/resources/cloudflare_d1_database/types.rb +110 -0
  1429. data/lib/pangea/resources/cloudflare_dns_firewall/resource.rb +27 -0
  1430. data/lib/pangea/resources/cloudflare_dns_firewall/types.rb +11 -0
  1431. data/lib/pangea/resources/cloudflare_dns_zone_transfers_acl/resource.rb +27 -0
  1432. data/lib/pangea/resources/cloudflare_dns_zone_transfers_acl/types.rb +11 -0
  1433. data/lib/pangea/resources/cloudflare_dns_zone_transfers_incoming/resource.rb +27 -0
  1434. data/lib/pangea/resources/cloudflare_dns_zone_transfers_incoming/types.rb +11 -0
  1435. data/lib/pangea/resources/cloudflare_dns_zone_transfers_outgoing/resource.rb +26 -0
  1436. data/lib/pangea/resources/cloudflare_dns_zone_transfers_outgoing/types.rb +10 -0
  1437. data/lib/pangea/resources/cloudflare_dns_zone_transfers_peer/resource.rb +26 -0
  1438. data/lib/pangea/resources/cloudflare_dns_zone_transfers_peer/types.rb +10 -0
  1439. data/lib/pangea/resources/cloudflare_dns_zone_transfers_tsig/resource.rb +26 -0
  1440. data/lib/pangea/resources/cloudflare_dns_zone_transfers_tsig/types.rb +10 -0
  1441. data/lib/pangea/resources/cloudflare_email_routing_address/resource.rb +26 -0
  1442. data/lib/pangea/resources/cloudflare_email_routing_address/types.rb +10 -0
  1443. data/lib/pangea/resources/cloudflare_email_routing_catch_all/resource.rb +26 -0
  1444. data/lib/pangea/resources/cloudflare_email_routing_catch_all/types.rb +10 -0
  1445. data/lib/pangea/resources/cloudflare_email_routing_dns/resource.rb +27 -0
  1446. data/lib/pangea/resources/cloudflare_email_routing_dns/types.rb +11 -0
  1447. data/lib/pangea/resources/cloudflare_email_routing_rule/resource.rb +26 -0
  1448. data/lib/pangea/resources/cloudflare_email_routing_rule/types.rb +10 -0
  1449. data/lib/pangea/resources/cloudflare_email_routing_settings/resource.rb +26 -0
  1450. data/lib/pangea/resources/cloudflare_email_routing_settings/types.rb +10 -0
  1451. data/lib/pangea/resources/cloudflare_email_security_block_sender/resource.rb +27 -0
  1452. data/lib/pangea/resources/cloudflare_email_security_block_sender/types.rb +11 -0
  1453. data/lib/pangea/resources/cloudflare_email_security_impersonation_registry/resource.rb +27 -0
  1454. data/lib/pangea/resources/cloudflare_email_security_impersonation_registry/types.rb +11 -0
  1455. data/lib/pangea/resources/cloudflare_email_security_trusted_domains/resource.rb +27 -0
  1456. data/lib/pangea/resources/cloudflare_email_security_trusted_domains/types.rb +11 -0
  1457. data/lib/pangea/resources/cloudflare_filter/resource.rb +64 -0
  1458. data/lib/pangea/resources/cloudflare_filter/types.rb +54 -0
  1459. data/lib/pangea/resources/cloudflare_firewall_rule/resource.rb +70 -0
  1460. data/lib/pangea/resources/cloudflare_firewall_rule/types.rb +64 -0
  1461. data/lib/pangea/resources/cloudflare_healthcheck/resource.rb +138 -0
  1462. data/lib/pangea/resources/cloudflare_healthcheck/types.rb +192 -0
  1463. data/lib/pangea/resources/cloudflare_hostname_tls_setting/resource.rb +26 -0
  1464. data/lib/pangea/resources/cloudflare_hostname_tls_setting/types.rb +10 -0
  1465. data/lib/pangea/resources/cloudflare_hyperdrive_config/resource.rb +176 -0
  1466. data/lib/pangea/resources/cloudflare_hyperdrive_config/types/attributes.rb +125 -0
  1467. data/lib/pangea/resources/cloudflare_hyperdrive_config/types/caching.rb +52 -0
  1468. data/lib/pangea/resources/cloudflare_hyperdrive_config/types/enums.rb +37 -0
  1469. data/lib/pangea/resources/cloudflare_hyperdrive_config/types/mtls.rb +52 -0
  1470. data/lib/pangea/resources/cloudflare_hyperdrive_config/types/origin.rb +89 -0
  1471. data/lib/pangea/resources/cloudflare_hyperdrive_config/types.rb +23 -0
  1472. data/lib/pangea/resources/cloudflare_image/resource.rb +27 -0
  1473. data/lib/pangea/resources/cloudflare_image/types.rb +11 -0
  1474. data/lib/pangea/resources/cloudflare_image_variant/resource.rb +26 -0
  1475. data/lib/pangea/resources/cloudflare_image_variant/types.rb +10 -0
  1476. data/lib/pangea/resources/cloudflare_keyless_certificate/resource.rb +26 -0
  1477. data/lib/pangea/resources/cloudflare_keyless_certificate/types.rb +10 -0
  1478. data/lib/pangea/resources/cloudflare_leaked_credential_check/resource.rb +27 -0
  1479. data/lib/pangea/resources/cloudflare_leaked_credential_check/types.rb +11 -0
  1480. data/lib/pangea/resources/cloudflare_leaked_credential_check_rule/resource.rb +27 -0
  1481. data/lib/pangea/resources/cloudflare_leaked_credential_check_rule/types.rb +11 -0
  1482. data/lib/pangea/resources/cloudflare_list/resource.rb +57 -0
  1483. data/lib/pangea/resources/cloudflare_list/types.rb +49 -0
  1484. data/lib/pangea/resources/cloudflare_list_item/resource.rb +130 -0
  1485. data/lib/pangea/resources/cloudflare_list_item/types.rb +183 -0
  1486. data/lib/pangea/resources/cloudflare_load_balancer/resource.rb +97 -0
  1487. data/lib/pangea/resources/cloudflare_load_balancer/types.rb +75 -0
  1488. data/lib/pangea/resources/cloudflare_load_balancer_monitor/resource.rb +78 -0
  1489. data/lib/pangea/resources/cloudflare_load_balancer_monitor/types.rb +62 -0
  1490. data/lib/pangea/resources/cloudflare_load_balancer_pool/resource.rb +78 -0
  1491. data/lib/pangea/resources/cloudflare_load_balancer_pool/types.rb +81 -0
  1492. data/lib/pangea/resources/cloudflare_logpull_retention/resource.rb +27 -0
  1493. data/lib/pangea/resources/cloudflare_logpull_retention/types.rb +11 -0
  1494. data/lib/pangea/resources/cloudflare_logpush_job/resource.rb +40 -0
  1495. data/lib/pangea/resources/cloudflare_logpush_job/types.rb +24 -0
  1496. data/lib/pangea/resources/cloudflare_logpush_ownership_challenge/resource.rb +27 -0
  1497. data/lib/pangea/resources/cloudflare_logpush_ownership_challenge/types.rb +11 -0
  1498. data/lib/pangea/resources/cloudflare_magic_network_monitoring_configuration/resource.rb +27 -0
  1499. data/lib/pangea/resources/cloudflare_magic_network_monitoring_configuration/types.rb +11 -0
  1500. data/lib/pangea/resources/cloudflare_magic_network_monitoring_rule/resource.rb +27 -0
  1501. data/lib/pangea/resources/cloudflare_magic_network_monitoring_rule/types.rb +11 -0
  1502. data/lib/pangea/resources/cloudflare_magic_transit_connector/resource.rb +27 -0
  1503. data/lib/pangea/resources/cloudflare_magic_transit_connector/types.rb +11 -0
  1504. data/lib/pangea/resources/cloudflare_magic_transit_site/resource.rb +27 -0
  1505. data/lib/pangea/resources/cloudflare_magic_transit_site/types.rb +11 -0
  1506. data/lib/pangea/resources/cloudflare_magic_transit_site_acl/resource.rb +27 -0
  1507. data/lib/pangea/resources/cloudflare_magic_transit_site_acl/types.rb +11 -0
  1508. data/lib/pangea/resources/cloudflare_magic_transit_site_lan/resource.rb +27 -0
  1509. data/lib/pangea/resources/cloudflare_magic_transit_site_lan/types.rb +11 -0
  1510. data/lib/pangea/resources/cloudflare_magic_transit_site_wan/resource.rb +27 -0
  1511. data/lib/pangea/resources/cloudflare_magic_transit_site_wan/types.rb +11 -0
  1512. data/lib/pangea/resources/cloudflare_magic_wan_gre_tunnel/resource.rb +27 -0
  1513. data/lib/pangea/resources/cloudflare_magic_wan_gre_tunnel/types.rb +11 -0
  1514. data/lib/pangea/resources/cloudflare_magic_wan_ipsec_tunnel/resource.rb +27 -0
  1515. data/lib/pangea/resources/cloudflare_magic_wan_ipsec_tunnel/types.rb +11 -0
  1516. data/lib/pangea/resources/cloudflare_magic_wan_static_route/resource.rb +27 -0
  1517. data/lib/pangea/resources/cloudflare_magic_wan_static_route/types.rb +11 -0
  1518. data/lib/pangea/resources/cloudflare_managed_transforms/resource.rb +36 -0
  1519. data/lib/pangea/resources/cloudflare_managed_transforms/types.rb +12 -0
  1520. data/lib/pangea/resources/cloudflare_mtls_certificate/resource.rb +34 -0
  1521. data/lib/pangea/resources/cloudflare_mtls_certificate/types.rb +14 -0
  1522. data/lib/pangea/resources/cloudflare_notification_policy/resource.rb +34 -0
  1523. data/lib/pangea/resources/cloudflare_notification_policy/types.rb +18 -0
  1524. data/lib/pangea/resources/cloudflare_notification_policy_webhooks/resource.rb +27 -0
  1525. data/lib/pangea/resources/cloudflare_notification_policy_webhooks/types.rb +11 -0
  1526. data/lib/pangea/resources/cloudflare_observatory_scheduled_test/resource.rb +27 -0
  1527. data/lib/pangea/resources/cloudflare_observatory_scheduled_test/types.rb +11 -0
  1528. data/lib/pangea/resources/cloudflare_organization/resource.rb +27 -0
  1529. data/lib/pangea/resources/cloudflare_organization/types.rb +11 -0
  1530. data/lib/pangea/resources/cloudflare_organization_profile/resource.rb +27 -0
  1531. data/lib/pangea/resources/cloudflare_organization_profile/types.rb +11 -0
  1532. data/lib/pangea/resources/cloudflare_origin_ca_certificate/resource.rb +97 -0
  1533. data/lib/pangea/resources/cloudflare_origin_ca_certificate/types.rb +125 -0
  1534. data/lib/pangea/resources/cloudflare_page_rule/resource.rb +78 -0
  1535. data/lib/pangea/resources/cloudflare_page_rule/types.rb +71 -0
  1536. data/lib/pangea/resources/cloudflare_page_shield_policy/resource.rb +27 -0
  1537. data/lib/pangea/resources/cloudflare_page_shield_policy/types.rb +11 -0
  1538. data/lib/pangea/resources/cloudflare_pages_domain/resource.rb +28 -0
  1539. data/lib/pangea/resources/cloudflare_pages_domain/types.rb +12 -0
  1540. data/lib/pangea/resources/cloudflare_pages_project/resource/deployment_config.rb +80 -0
  1541. data/lib/pangea/resources/cloudflare_pages_project/resource/main.rb +75 -0
  1542. data/lib/pangea/resources/cloudflare_pages_project/resource.rb +19 -0
  1543. data/lib/pangea/resources/cloudflare_pages_project/types/attributes.rb +51 -0
  1544. data/lib/pangea/resources/cloudflare_pages_project/types/bindings.rb +38 -0
  1545. data/lib/pangea/resources/cloudflare_pages_project/types/build_config.rb +55 -0
  1546. data/lib/pangea/resources/cloudflare_pages_project/types/deployment_config.rb +83 -0
  1547. data/lib/pangea/resources/cloudflare_pages_project/types.rb +27 -0
  1548. data/lib/pangea/resources/cloudflare_queue/resource.rb +108 -0
  1549. data/lib/pangea/resources/cloudflare_queue/types.rb +132 -0
  1550. data/lib/pangea/resources/cloudflare_queue_consumer/resource.rb +31 -0
  1551. data/lib/pangea/resources/cloudflare_queue_consumer/types.rb +15 -0
  1552. data/lib/pangea/resources/cloudflare_r2_bucket/resource.rb +91 -0
  1553. data/lib/pangea/resources/cloudflare_r2_bucket/types.rb +101 -0
  1554. data/lib/pangea/resources/cloudflare_r2_bucket_cors/resource.rb +130 -0
  1555. data/lib/pangea/resources/cloudflare_r2_bucket_cors/types/attributes.rb +105 -0
  1556. data/lib/pangea/resources/cloudflare_r2_bucket_cors/types/cors_allowed.rb +59 -0
  1557. data/lib/pangea/resources/cloudflare_r2_bucket_cors/types/cors_method.rb +34 -0
  1558. data/lib/pangea/resources/cloudflare_r2_bucket_cors/types/cors_rule.rb +74 -0
  1559. data/lib/pangea/resources/cloudflare_r2_bucket_cors/types.rb +22 -0
  1560. data/lib/pangea/resources/cloudflare_r2_bucket_event_notification/resource.rb +31 -0
  1561. data/lib/pangea/resources/cloudflare_r2_bucket_event_notification/types.rb +15 -0
  1562. data/lib/pangea/resources/cloudflare_r2_bucket_lifecycle/resource.rb +31 -0
  1563. data/lib/pangea/resources/cloudflare_r2_bucket_lifecycle/types.rb +26 -0
  1564. data/lib/pangea/resources/cloudflare_r2_bucket_lock/resource.rb +29 -0
  1565. data/lib/pangea/resources/cloudflare_r2_bucket_lock/types.rb +13 -0
  1566. data/lib/pangea/resources/cloudflare_r2_bucket_sippy/resource.rb +26 -0
  1567. data/lib/pangea/resources/cloudflare_r2_bucket_sippy/types.rb +10 -0
  1568. data/lib/pangea/resources/cloudflare_r2_custom_domain/resource.rb +28 -0
  1569. data/lib/pangea/resources/cloudflare_r2_custom_domain/types.rb +12 -0
  1570. data/lib/pangea/resources/cloudflare_r2_managed_domain/resource.rb +26 -0
  1571. data/lib/pangea/resources/cloudflare_r2_managed_domain/types.rb +10 -0
  1572. data/lib/pangea/resources/cloudflare_rate_limit/resource.rb +129 -0
  1573. data/lib/pangea/resources/cloudflare_rate_limit/types.rb +143 -0
  1574. data/lib/pangea/resources/cloudflare_record/resource.rb +91 -0
  1575. data/lib/pangea/resources/cloudflare_record/types.rb +114 -0
  1576. data/lib/pangea/resources/cloudflare_regional_hostname/resource.rb +27 -0
  1577. data/lib/pangea/resources/cloudflare_regional_hostname/types.rb +11 -0
  1578. data/lib/pangea/resources/cloudflare_regional_tiered_cache/resource.rb +82 -0
  1579. data/lib/pangea/resources/cloudflare_regional_tiered_cache/types.rb +73 -0
  1580. data/lib/pangea/resources/cloudflare_registrar_domain/resource.rb +27 -0
  1581. data/lib/pangea/resources/cloudflare_registrar_domain/types.rb +11 -0
  1582. data/lib/pangea/resources/cloudflare_ruleset/resource.rb +113 -0
  1583. data/lib/pangea/resources/cloudflare_ruleset/types/ruleset_rule.rb +84 -0
  1584. data/lib/pangea/resources/cloudflare_ruleset/types.rb +155 -0
  1585. data/lib/pangea/resources/cloudflare_schema_validation_operation_settings/resource.rb +27 -0
  1586. data/lib/pangea/resources/cloudflare_schema_validation_operation_settings/types.rb +11 -0
  1587. data/lib/pangea/resources/cloudflare_schema_validation_schemas/resource.rb +27 -0
  1588. data/lib/pangea/resources/cloudflare_schema_validation_schemas/types.rb +11 -0
  1589. data/lib/pangea/resources/cloudflare_schema_validation_settings/resource.rb +27 -0
  1590. data/lib/pangea/resources/cloudflare_schema_validation_settings/types.rb +11 -0
  1591. data/lib/pangea/resources/cloudflare_snippet/resource.rb +27 -0
  1592. data/lib/pangea/resources/cloudflare_snippet/types.rb +11 -0
  1593. data/lib/pangea/resources/cloudflare_snippet_rules/resource.rb +27 -0
  1594. data/lib/pangea/resources/cloudflare_snippet_rules/types.rb +11 -0
  1595. data/lib/pangea/resources/cloudflare_spectrum_application/resource.rb +122 -0
  1596. data/lib/pangea/resources/cloudflare_spectrum_application/types.rb +147 -0
  1597. data/lib/pangea/resources/cloudflare_static_route/resource.rb +119 -0
  1598. data/lib/pangea/resources/cloudflare_static_route/types.rb +131 -0
  1599. data/lib/pangea/resources/cloudflare_stream/resource.rb +35 -0
  1600. data/lib/pangea/resources/cloudflare_stream/types.rb +15 -0
  1601. data/lib/pangea/resources/cloudflare_stream_audio_track/resource.rb +27 -0
  1602. data/lib/pangea/resources/cloudflare_stream_audio_track/types.rb +11 -0
  1603. data/lib/pangea/resources/cloudflare_stream_caption_language/resource.rb +27 -0
  1604. data/lib/pangea/resources/cloudflare_stream_caption_language/types.rb +11 -0
  1605. data/lib/pangea/resources/cloudflare_stream_download/resource.rb +27 -0
  1606. data/lib/pangea/resources/cloudflare_stream_download/types.rb +11 -0
  1607. data/lib/pangea/resources/cloudflare_stream_key/resource.rb +27 -0
  1608. data/lib/pangea/resources/cloudflare_stream_key/types.rb +11 -0
  1609. data/lib/pangea/resources/cloudflare_stream_live_input/resource.rb +27 -0
  1610. data/lib/pangea/resources/cloudflare_stream_live_input/types.rb +11 -0
  1611. data/lib/pangea/resources/cloudflare_stream_watermark/resource.rb +27 -0
  1612. data/lib/pangea/resources/cloudflare_stream_watermark/types.rb +11 -0
  1613. data/lib/pangea/resources/cloudflare_stream_webhook/resource.rb +27 -0
  1614. data/lib/pangea/resources/cloudflare_stream_webhook/types.rb +11 -0
  1615. data/lib/pangea/resources/cloudflare_tiered_cache/resource.rb +83 -0
  1616. data/lib/pangea/resources/cloudflare_tiered_cache/types.rb +74 -0
  1617. data/lib/pangea/resources/cloudflare_total_tls/resource.rb +26 -0
  1618. data/lib/pangea/resources/cloudflare_total_tls/types.rb +10 -0
  1619. data/lib/pangea/resources/cloudflare_turnstile_widget/resource.rb +34 -0
  1620. data/lib/pangea/resources/cloudflare_turnstile_widget/types.rb +15 -0
  1621. data/lib/pangea/resources/cloudflare_url_normalization_settings/resource.rb +27 -0
  1622. data/lib/pangea/resources/cloudflare_url_normalization_settings/types.rb +11 -0
  1623. data/lib/pangea/resources/cloudflare_user/resource.rb +27 -0
  1624. data/lib/pangea/resources/cloudflare_user/types.rb +11 -0
  1625. data/lib/pangea/resources/cloudflare_user_agent_blocking_rule/resource.rb +27 -0
  1626. data/lib/pangea/resources/cloudflare_user_agent_blocking_rule/types.rb +11 -0
  1627. data/lib/pangea/resources/cloudflare_waiting_room/resource.rb +122 -0
  1628. data/lib/pangea/resources/cloudflare_waiting_room/types.rb +171 -0
  1629. data/lib/pangea/resources/cloudflare_waiting_room_event/resource.rb +118 -0
  1630. data/lib/pangea/resources/cloudflare_waiting_room_event/types.rb +153 -0
  1631. data/lib/pangea/resources/cloudflare_waiting_room_rules/resource.rb +40 -0
  1632. data/lib/pangea/resources/cloudflare_waiting_room_rules/types.rb +32 -0
  1633. data/lib/pangea/resources/cloudflare_waiting_room_settings/resource.rb +27 -0
  1634. data/lib/pangea/resources/cloudflare_waiting_room_settings/types.rb +11 -0
  1635. data/lib/pangea/resources/cloudflare_web3_hostname/resource.rb +27 -0
  1636. data/lib/pangea/resources/cloudflare_web3_hostname/types.rb +11 -0
  1637. data/lib/pangea/resources/cloudflare_web_analytics_rule/resource.rb +27 -0
  1638. data/lib/pangea/resources/cloudflare_web_analytics_rule/types.rb +11 -0
  1639. data/lib/pangea/resources/cloudflare_web_analytics_site/resource.rb +33 -0
  1640. data/lib/pangea/resources/cloudflare_web_analytics_site/types.rb +13 -0
  1641. data/lib/pangea/resources/cloudflare_worker/resource.rb +27 -0
  1642. data/lib/pangea/resources/cloudflare_worker/types.rb +11 -0
  1643. data/lib/pangea/resources/cloudflare_worker_route/resource.rb +62 -0
  1644. data/lib/pangea/resources/cloudflare_worker_route/types.rb +50 -0
  1645. data/lib/pangea/resources/cloudflare_worker_script/resource.rb +90 -0
  1646. data/lib/pangea/resources/cloudflare_worker_script/types.rb +109 -0
  1647. data/lib/pangea/resources/cloudflare_worker_version/resource.rb +27 -0
  1648. data/lib/pangea/resources/cloudflare_worker_version/types.rb +11 -0
  1649. data/lib/pangea/resources/cloudflare_workers_cron_trigger/resource.rb +94 -0
  1650. data/lib/pangea/resources/cloudflare_workers_cron_trigger/types.rb +102 -0
  1651. data/lib/pangea/resources/cloudflare_workers_custom_domain/resource.rb +93 -0
  1652. data/lib/pangea/resources/cloudflare_workers_custom_domain/types.rb +93 -0
  1653. data/lib/pangea/resources/cloudflare_workers_deployment/resource.rb +28 -0
  1654. data/lib/pangea/resources/cloudflare_workers_deployment/types.rb +12 -0
  1655. data/lib/pangea/resources/cloudflare_workers_for_platforms_dispatch_namespace/resource.rb +27 -0
  1656. data/lib/pangea/resources/cloudflare_workers_for_platforms_dispatch_namespace/types.rb +11 -0
  1657. data/lib/pangea/resources/cloudflare_workers_kv/resource.rb +98 -0
  1658. data/lib/pangea/resources/cloudflare_workers_kv/types.rb +103 -0
  1659. data/lib/pangea/resources/cloudflare_workers_kv_namespace/resource.rb +84 -0
  1660. data/lib/pangea/resources/cloudflare_workers_kv_namespace/types.rb +74 -0
  1661. data/lib/pangea/resources/cloudflare_workers_script_subdomain/resource.rb +27 -0
  1662. data/lib/pangea/resources/cloudflare_workers_script_subdomain/types.rb +11 -0
  1663. data/lib/pangea/resources/cloudflare_workflow/resource.rb +27 -0
  1664. data/lib/pangea/resources/cloudflare_workflow/types.rb +11 -0
  1665. data/lib/pangea/resources/cloudflare_zero_trust_access_application/block_builders.rb +116 -0
  1666. data/lib/pangea/resources/cloudflare_zero_trust_access_application/resource.rb +161 -0
  1667. data/lib/pangea/resources/cloudflare_zero_trust_access_application/types/attributes.rb +102 -0
  1668. data/lib/pangea/resources/cloudflare_zero_trust_access_application/types/cors_headers.rb +37 -0
  1669. data/lib/pangea/resources/cloudflare_zero_trust_access_application/types/destination.rb +37 -0
  1670. data/lib/pangea/resources/cloudflare_zero_trust_access_application/types/enums.rb +31 -0
  1671. data/lib/pangea/resources/cloudflare_zero_trust_access_application/types/footer_link.rb +31 -0
  1672. data/lib/pangea/resources/cloudflare_zero_trust_access_application/types/landing_page_design.rb +34 -0
  1673. data/lib/pangea/resources/cloudflare_zero_trust_access_application/types/saas_app.rb +44 -0
  1674. data/lib/pangea/resources/cloudflare_zero_trust_access_application/types/scim_config.rb +35 -0
  1675. data/lib/pangea/resources/cloudflare_zero_trust_access_application/types.rb +26 -0
  1676. data/lib/pangea/resources/cloudflare_zero_trust_access_custom_page/resource.rb +26 -0
  1677. data/lib/pangea/resources/cloudflare_zero_trust_access_custom_page/types.rb +10 -0
  1678. data/lib/pangea/resources/cloudflare_zero_trust_access_group/resource.rb +31 -0
  1679. data/lib/pangea/resources/cloudflare_zero_trust_access_group/types.rb +15 -0
  1680. data/lib/pangea/resources/cloudflare_zero_trust_access_identity_provider/resource.rb +31 -0
  1681. data/lib/pangea/resources/cloudflare_zero_trust_access_identity_provider/types.rb +15 -0
  1682. data/lib/pangea/resources/cloudflare_zero_trust_access_infrastructure_target/resource.rb +26 -0
  1683. data/lib/pangea/resources/cloudflare_zero_trust_access_infrastructure_target/types.rb +10 -0
  1684. data/lib/pangea/resources/cloudflare_zero_trust_access_key_configuration/resource.rb +26 -0
  1685. data/lib/pangea/resources/cloudflare_zero_trust_access_key_configuration/types.rb +10 -0
  1686. data/lib/pangea/resources/cloudflare_zero_trust_access_mtls_certificate/resource.rb +26 -0
  1687. data/lib/pangea/resources/cloudflare_zero_trust_access_mtls_certificate/types.rb +10 -0
  1688. data/lib/pangea/resources/cloudflare_zero_trust_access_mtls_hostname_settings/resource.rb +26 -0
  1689. data/lib/pangea/resources/cloudflare_zero_trust_access_mtls_hostname_settings/types.rb +10 -0
  1690. data/lib/pangea/resources/cloudflare_zero_trust_access_policy/resource.rb +39 -0
  1691. data/lib/pangea/resources/cloudflare_zero_trust_access_policy/types.rb +23 -0
  1692. data/lib/pangea/resources/cloudflare_zero_trust_access_service_token/resource.rb +26 -0
  1693. data/lib/pangea/resources/cloudflare_zero_trust_access_service_token/types.rb +10 -0
  1694. data/lib/pangea/resources/cloudflare_zero_trust_access_short_lived_certificate/resource.rb +26 -0
  1695. data/lib/pangea/resources/cloudflare_zero_trust_access_short_lived_certificate/types.rb +10 -0
  1696. data/lib/pangea/resources/cloudflare_zero_trust_access_tag/resource.rb +26 -0
  1697. data/lib/pangea/resources/cloudflare_zero_trust_access_tag/types.rb +10 -0
  1698. data/lib/pangea/resources/cloudflare_zero_trust_device_custom_profile/resource.rb +26 -0
  1699. data/lib/pangea/resources/cloudflare_zero_trust_device_custom_profile/types.rb +10 -0
  1700. data/lib/pangea/resources/cloudflare_zero_trust_device_custom_profile_local_domain_fallback/resource.rb +26 -0
  1701. data/lib/pangea/resources/cloudflare_zero_trust_device_custom_profile_local_domain_fallback/types.rb +10 -0
  1702. data/lib/pangea/resources/cloudflare_zero_trust_device_default_profile/resource.rb +26 -0
  1703. data/lib/pangea/resources/cloudflare_zero_trust_device_default_profile/types.rb +10 -0
  1704. data/lib/pangea/resources/cloudflare_zero_trust_device_default_profile_certificates/resource.rb +26 -0
  1705. data/lib/pangea/resources/cloudflare_zero_trust_device_default_profile_certificates/types.rb +10 -0
  1706. data/lib/pangea/resources/cloudflare_zero_trust_device_default_profile_local_domain_fallback/resource.rb +26 -0
  1707. data/lib/pangea/resources/cloudflare_zero_trust_device_default_profile_local_domain_fallback/types.rb +10 -0
  1708. data/lib/pangea/resources/cloudflare_zero_trust_device_managed_networks/resource.rb +26 -0
  1709. data/lib/pangea/resources/cloudflare_zero_trust_device_managed_networks/types.rb +10 -0
  1710. data/lib/pangea/resources/cloudflare_zero_trust_device_posture_integration/resource.rb +26 -0
  1711. data/lib/pangea/resources/cloudflare_zero_trust_device_posture_integration/types.rb +10 -0
  1712. data/lib/pangea/resources/cloudflare_zero_trust_device_posture_rule/resource.rb +26 -0
  1713. data/lib/pangea/resources/cloudflare_zero_trust_device_posture_rule/types.rb +10 -0
  1714. data/lib/pangea/resources/cloudflare_zero_trust_device_settings/resource.rb +26 -0
  1715. data/lib/pangea/resources/cloudflare_zero_trust_device_settings/types.rb +10 -0
  1716. data/lib/pangea/resources/cloudflare_zero_trust_dex_test/resource.rb +26 -0
  1717. data/lib/pangea/resources/cloudflare_zero_trust_dex_test/types.rb +10 -0
  1718. data/lib/pangea/resources/cloudflare_zero_trust_dlp_custom_entry/resource.rb +26 -0
  1719. data/lib/pangea/resources/cloudflare_zero_trust_dlp_custom_entry/types.rb +10 -0
  1720. data/lib/pangea/resources/cloudflare_zero_trust_dlp_custom_profile/resource.rb +26 -0
  1721. data/lib/pangea/resources/cloudflare_zero_trust_dlp_custom_profile/types.rb +10 -0
  1722. data/lib/pangea/resources/cloudflare_zero_trust_dlp_dataset/resource.rb +26 -0
  1723. data/lib/pangea/resources/cloudflare_zero_trust_dlp_dataset/types.rb +10 -0
  1724. data/lib/pangea/resources/cloudflare_zero_trust_dlp_entry/resource.rb +26 -0
  1725. data/lib/pangea/resources/cloudflare_zero_trust_dlp_entry/types.rb +10 -0
  1726. data/lib/pangea/resources/cloudflare_zero_trust_dlp_integration_entry/resource.rb +26 -0
  1727. data/lib/pangea/resources/cloudflare_zero_trust_dlp_integration_entry/types.rb +10 -0
  1728. data/lib/pangea/resources/cloudflare_zero_trust_dlp_predefined_entry/resource.rb +26 -0
  1729. data/lib/pangea/resources/cloudflare_zero_trust_dlp_predefined_entry/types.rb +10 -0
  1730. data/lib/pangea/resources/cloudflare_zero_trust_dlp_predefined_profile/resource.rb +26 -0
  1731. data/lib/pangea/resources/cloudflare_zero_trust_dlp_predefined_profile/types.rb +10 -0
  1732. data/lib/pangea/resources/cloudflare_zero_trust_dns_location/resource.rb +26 -0
  1733. data/lib/pangea/resources/cloudflare_zero_trust_dns_location/types.rb +10 -0
  1734. data/lib/pangea/resources/cloudflare_zero_trust_gateway_certificate/resource.rb +26 -0
  1735. data/lib/pangea/resources/cloudflare_zero_trust_gateway_certificate/types.rb +10 -0
  1736. data/lib/pangea/resources/cloudflare_zero_trust_gateway_logging/resource.rb +26 -0
  1737. data/lib/pangea/resources/cloudflare_zero_trust_gateway_logging/types.rb +10 -0
  1738. data/lib/pangea/resources/cloudflare_zero_trust_gateway_policy/resource.rb +34 -0
  1739. data/lib/pangea/resources/cloudflare_zero_trust_gateway_policy/types.rb +18 -0
  1740. data/lib/pangea/resources/cloudflare_zero_trust_gateway_proxy_endpoint/resource.rb +26 -0
  1741. data/lib/pangea/resources/cloudflare_zero_trust_gateway_proxy_endpoint/types.rb +10 -0
  1742. data/lib/pangea/resources/cloudflare_zero_trust_gateway_settings/resource.rb +26 -0
  1743. data/lib/pangea/resources/cloudflare_zero_trust_gateway_settings/types.rb +10 -0
  1744. data/lib/pangea/resources/cloudflare_zero_trust_list/resource.rb +26 -0
  1745. data/lib/pangea/resources/cloudflare_zero_trust_list/types.rb +10 -0
  1746. data/lib/pangea/resources/cloudflare_zero_trust_network_hostname_route/resource.rb +26 -0
  1747. data/lib/pangea/resources/cloudflare_zero_trust_network_hostname_route/types.rb +10 -0
  1748. data/lib/pangea/resources/cloudflare_zero_trust_organization/resource.rb +26 -0
  1749. data/lib/pangea/resources/cloudflare_zero_trust_organization/types.rb +10 -0
  1750. data/lib/pangea/resources/cloudflare_zero_trust_risk_behavior/resource.rb +26 -0
  1751. data/lib/pangea/resources/cloudflare_zero_trust_risk_behavior/types.rb +10 -0
  1752. data/lib/pangea/resources/cloudflare_zero_trust_risk_scoring_integration/resource.rb +26 -0
  1753. data/lib/pangea/resources/cloudflare_zero_trust_risk_scoring_integration/types.rb +10 -0
  1754. data/lib/pangea/resources/cloudflare_zero_trust_tunnel_cloudflared/resource.rb +33 -0
  1755. data/lib/pangea/resources/cloudflare_zero_trust_tunnel_cloudflared/types.rb +13 -0
  1756. data/lib/pangea/resources/cloudflare_zero_trust_tunnel_cloudflared_config/resource.rb +28 -0
  1757. data/lib/pangea/resources/cloudflare_zero_trust_tunnel_cloudflared_config/types.rb +12 -0
  1758. data/lib/pangea/resources/cloudflare_zero_trust_tunnel_cloudflared_route/resource.rb +30 -0
  1759. data/lib/pangea/resources/cloudflare_zero_trust_tunnel_cloudflared_route/types.rb +14 -0
  1760. data/lib/pangea/resources/cloudflare_zero_trust_tunnel_cloudflared_virtual_network/resource.rb +26 -0
  1761. data/lib/pangea/resources/cloudflare_zero_trust_tunnel_cloudflared_virtual_network/types.rb +10 -0
  1762. data/lib/pangea/resources/cloudflare_zero_trust_tunnel_warp_connector/resource.rb +26 -0
  1763. data/lib/pangea/resources/cloudflare_zero_trust_tunnel_warp_connector/types.rb +10 -0
  1764. data/lib/pangea/resources/cloudflare_zone/resource.rb +71 -0
  1765. data/lib/pangea/resources/cloudflare_zone/types.rb +62 -0
  1766. data/lib/pangea/resources/cloudflare_zone_cache_reserve/resource.rb +27 -0
  1767. data/lib/pangea/resources/cloudflare_zone_cache_reserve/types.rb +11 -0
  1768. data/lib/pangea/resources/cloudflare_zone_cache_variants/resource.rb +27 -0
  1769. data/lib/pangea/resources/cloudflare_zone_cache_variants/types.rb +11 -0
  1770. data/lib/pangea/resources/cloudflare_zone_dns_settings/resource.rb +27 -0
  1771. data/lib/pangea/resources/cloudflare_zone_dns_settings/types.rb +11 -0
  1772. data/lib/pangea/resources/cloudflare_zone_dnssec/resource.rb +96 -0
  1773. data/lib/pangea/resources/cloudflare_zone_dnssec/types.rb +81 -0
  1774. data/lib/pangea/resources/cloudflare_zone_hold/resource.rb +26 -0
  1775. data/lib/pangea/resources/cloudflare_zone_hold/types.rb +10 -0
  1776. data/lib/pangea/resources/cloudflare_zone_lockdown/resource.rb +27 -0
  1777. data/lib/pangea/resources/cloudflare_zone_lockdown/types.rb +11 -0
  1778. data/lib/pangea/resources/cloudflare_zone_settings_override/resource.rb +80 -0
  1779. data/lib/pangea/resources/cloudflare_zone_settings_override/types.rb +64 -0
  1780. data/lib/pangea/resources/cloudflare_zone_subscription/resource.rb +26 -0
  1781. data/lib/pangea/resources/cloudflare_zone_subscription/types.rb +10 -0
  1782. data/lib/pangea/resources/composition/auto_scaling_web_tier.rb +179 -0
  1783. data/lib/pangea/resources/composition/composite_auto_scaling_reference.rb +63 -0
  1784. data/lib/pangea/resources/composition/composite_vpc_reference.rb +73 -0
  1785. data/lib/pangea/resources/composition/composite_web_server_reference.rb +46 -0
  1786. data/lib/pangea/resources/composition/helpers.rb +75 -0
  1787. data/lib/pangea/resources/composition/vpc_with_subnets.rb +143 -0
  1788. data/lib/pangea/resources/composition/web_server.rb +72 -0
  1789. data/lib/pangea/resources/composition.rb +14 -510
  1790. data/lib/pangea/resources/event_driven_example/dynamodb_tables.rb +103 -0
  1791. data/lib/pangea/resources/event_driven_example/eventbridge_buses.rb +68 -0
  1792. data/lib/pangea/resources/event_driven_example/eventbridge_rules.rb +94 -0
  1793. data/lib/pangea/resources/event_driven_example/eventbridge_targets.rb +123 -0
  1794. data/lib/pangea/resources/event_driven_example.rb +48 -254
  1795. data/lib/pangea/resources/hcloud_certificate/resource.rb +50 -0
  1796. data/lib/pangea/resources/hcloud_certificate/types.rb +26 -0
  1797. data/lib/pangea/resources/hcloud_firewall/resource.rb +57 -0
  1798. data/lib/pangea/resources/hcloud_firewall/types.rb +25 -0
  1799. data/lib/pangea/resources/hcloud_firewall_attachment/resource.rb +40 -0
  1800. data/lib/pangea/resources/hcloud_firewall_attachment/types.rb +22 -0
  1801. data/lib/pangea/resources/hcloud_floating_ip/resource.rb +52 -0
  1802. data/lib/pangea/resources/hcloud_floating_ip/types.rb +28 -0
  1803. data/lib/pangea/resources/hcloud_floating_ip_assignment/resource.rb +40 -0
  1804. data/lib/pangea/resources/hcloud_floating_ip_assignment/types.rb +22 -0
  1805. data/lib/pangea/resources/hcloud_load_balancer/resource.rb +57 -0
  1806. data/lib/pangea/resources/hcloud_load_balancer/types.rb +28 -0
  1807. data/lib/pangea/resources/hcloud_load_balancer_network/resource.rb +43 -0
  1808. data/lib/pangea/resources/hcloud_load_balancer_network/types.rb +26 -0
  1809. data/lib/pangea/resources/hcloud_load_balancer_service/resource.rb +70 -0
  1810. data/lib/pangea/resources/hcloud_load_balancer_service/types.rb +29 -0
  1811. data/lib/pangea/resources/hcloud_load_balancer_target/resource.rb +45 -0
  1812. data/lib/pangea/resources/hcloud_load_balancer_target/types.rb +28 -0
  1813. data/lib/pangea/resources/hcloud_managed_certificate/resource.rb +49 -0
  1814. data/lib/pangea/resources/hcloud_managed_certificate/types.rb +25 -0
  1815. data/lib/pangea/resources/hcloud_network/resource.rb +48 -0
  1816. data/lib/pangea/resources/hcloud_network/types.rb +25 -0
  1817. data/lib/pangea/resources/hcloud_network_route/resource.rb +42 -0
  1818. data/lib/pangea/resources/hcloud_network_route/types.rb +23 -0
  1819. data/lib/pangea/resources/hcloud_network_subnet/resource.rb +44 -0
  1820. data/lib/pangea/resources/hcloud_network_subnet/types.rb +27 -0
  1821. data/lib/pangea/resources/hcloud_placement_group/resource.rb +48 -0
  1822. data/lib/pangea/resources/hcloud_placement_group/types.rb +25 -0
  1823. data/lib/pangea/resources/hcloud_primary_ip/resource.rb +52 -0
  1824. data/lib/pangea/resources/hcloud_primary_ip/types.rb +29 -0
  1825. data/lib/pangea/resources/hcloud_rdns/resource.rb +42 -0
  1826. data/lib/pangea/resources/hcloud_rdns/types.rb +23 -0
  1827. data/lib/pangea/resources/hcloud_server/resource.rb +91 -0
  1828. data/lib/pangea/resources/hcloud_server/types.rb +58 -0
  1829. data/lib/pangea/resources/hcloud_server_network/resource.rb +43 -0
  1830. data/lib/pangea/resources/hcloud_server_network/types.rb +26 -0
  1831. data/lib/pangea/resources/hcloud_snapshot/resource.rb +41 -0
  1832. data/lib/pangea/resources/hcloud_snapshot/types.rb +25 -0
  1833. data/lib/pangea/resources/hcloud_ssh_key/resource.rb +73 -0
  1834. data/lib/pangea/resources/hcloud_ssh_key/types.rb +38 -0
  1835. data/lib/pangea/resources/hcloud_uploaded_certificate/resource.rb +44 -0
  1836. data/lib/pangea/resources/hcloud_uploaded_certificate/types.rb +26 -0
  1837. data/lib/pangea/resources/hcloud_volume/resource.rb +53 -0
  1838. data/lib/pangea/resources/hcloud_volume/types.rb +28 -0
  1839. data/lib/pangea/resources/hcloud_volume_attachment/resource.rb +41 -0
  1840. data/lib/pangea/resources/hcloud_volume_attachment/types.rb +25 -0
  1841. data/lib/pangea/resources/hcloud_zone/resource.rb +40 -0
  1842. data/lib/pangea/resources/hcloud_zone/types.rb +24 -0
  1843. data/lib/pangea/resources/hcloud_zone_rrset/resource.rb +44 -0
  1844. data/lib/pangea/resources/hcloud_zone_rrset/types.rb +27 -0
  1845. data/lib/pangea/resources/network_helpers.rb +75 -0
  1846. data/lib/pangea/resources/reference/instance_computed_attributes.rb +78 -0
  1847. data/lib/pangea/resources/reference/subnet_computed_attributes.rb +60 -0
  1848. data/lib/pangea/resources/reference/vpc_computed_attributes.rb +89 -0
  1849. data/lib/pangea/resources/reference.rb +43 -206
  1850. data/lib/pangea/resources/types/aws/compute.rb +103 -0
  1851. data/lib/pangea/resources/types/aws/core.rb +132 -0
  1852. data/lib/pangea/resources/types/aws/database.rb +37 -0
  1853. data/lib/pangea/resources/types/aws/iot.rb +181 -0
  1854. data/lib/pangea/resources/types/aws/iot_analytics.rb +57 -0
  1855. data/lib/pangea/resources/types/aws/load_balancer.rb +99 -0
  1856. data/lib/pangea/resources/types/aws/monitoring.rb +52 -0
  1857. data/lib/pangea/resources/types/aws/networking.rb +74 -0
  1858. data/lib/pangea/resources/types/aws/security.rb +138 -0
  1859. data/lib/pangea/resources/types/aws/storage.rb +60 -0
  1860. data/lib/pangea/resources/types/cloudflare/core.rb +130 -0
  1861. data/lib/pangea/resources/types/cloudflare/load_balancing.rb +104 -0
  1862. data/lib/pangea/resources/types/cloudflare/security.rb +107 -0
  1863. data/lib/pangea/resources/types/cloudflare/workers.rb +60 -0
  1864. data/lib/pangea/resources/types/core.rb +38 -0
  1865. data/lib/pangea/resources/types/hetzner/core.rb +136 -0
  1866. data/lib/pangea/resources/types/index.rb +38 -0
  1867. data/lib/pangea/resources/types.rb +2 -1216
  1868. data/lib/pangea/resources/validators/shared/aws_validators.rb +66 -0
  1869. data/lib/pangea/resources/validators/shared/format_validators.rb +79 -0
  1870. data/lib/pangea/resources/validators/shared/network_validators.rb +106 -0
  1871. data/lib/pangea/resources/validators/shared_validators.rb +49 -0
  1872. data/lib/pangea/utilities/ip_discovery.rb +109 -0
  1873. data/lib/pangea/utilities.rb +1 -0
  1874. data/lib/pangea/validation/base_validator.rb +104 -0
  1875. data/lib/pangea/validation/common_validation_rules.rb +92 -0
  1876. data/lib/pangea/validation/resource_validator.rb +36 -0
  1877. data/lib/pangea/validation/validator_manager.rb +200 -0
  1878. data/lib/pangea/validation/validators/aws_compute_validators.rb +66 -0
  1879. data/lib/pangea/validation/validators/aws_database_validators.rb +100 -0
  1880. data/lib/pangea/validation/validators/aws_network_validators.rb +135 -0
  1881. data/lib/pangea/validation.rb +2 -0
  1882. data/lib/pangea/version.rb +1 -1
  1883. data/lib/pangea.rb +8 -4
  1884. data/pangea.gemspec +4 -2
  1885. data/pkgs/products/pangea/deploy/configmap.yaml +67 -0
  1886. data/pkgs/products/pangea/deploy/crds/infrastructuretemplates.yaml +395 -0
  1887. data/pkgs/products/pangea/deploy/crds/pangeanamespaces.yaml +286 -0
  1888. data/pkgs/products/pangea/deploy/kustomization.yaml +54 -0
  1889. data/pkgs/products/pangea/deploy/namespace.yaml +6 -0
  1890. data/pkgs/products/pangea/deploy/operator-deployment.yaml +138 -0
  1891. data/pkgs/products/pangea/deploy/operator-service.yaml +23 -0
  1892. data/pkgs/products/pangea/deploy/rbac/role.yaml +106 -0
  1893. data/pkgs/products/pangea/deploy/rbac/rolebinding.yaml +15 -0
  1894. data/pkgs/products/pangea/deploy/rbac/serviceaccount.yaml +7 -0
  1895. data/pkgs/products/pangea/deploy/web-deployment.yaml +64 -0
  1896. data/pkgs/products/pangea/deploy/web-service.yaml +19 -0
  1897. data/synthesizer-tests.yaml +72 -0
  1898. metadata +1509 -309
  1899. data/CLAUDE.md +0 -626
  1900. data/OPEN_SOURCE_READINESS.md +0 -170
  1901. data/audit_results/vpc_resources_audit.json +0 -219
  1902. data/examples/basic-web-app/pangea.yaml +0 -36
  1903. data/examples/cicd-pipeline/pangea.yaml +0 -35
  1904. data/examples/data-processing/pangea.yaml +0 -57
  1905. data/examples/disaster-recovery/pangea.yaml +0 -62
  1906. data/examples/global-multi-region/pangea.yaml +0 -61
  1907. data/examples/microservices-platform/pangea.yaml +0 -35
  1908. data/examples/ml-platform/pangea.yaml +0 -58
  1909. data/examples/multi-environment/pangea.yaml +0 -71
  1910. data/examples/multi-tier-architecture/pangea.yaml +0 -49
  1911. data/examples/security-focused/pangea.yaml +0 -60
  1912. data/lib/pangea/architectures/CLAUDE.md +0 -425
  1913. data/lib/pangea/components/CLAUDE.md +0 -350
  1914. data/lib/pangea/components/application_load_balancer/CLAUDE.md +0 -224
  1915. data/lib/pangea/components/carbon_aware_compute/CLAUDE.md +0 -295
  1916. data/lib/pangea/components/green_data_lifecycle/CLAUDE.md +0 -353
  1917. data/lib/pangea/components/public_private_subnets/CLAUDE.md +0 -547
  1918. data/lib/pangea/components/secure_vpc/CLAUDE.md +0 -366
  1919. data/lib/pangea/components/spot_instance_carbon_optimizer/CLAUDE.md +0 -469
  1920. data/lib/pangea/components/sustainable_ml_training/CLAUDE.md +0 -653
  1921. data/lib/pangea/components/web_security_group/CLAUDE.md +0 -690
  1922. data/lib/pangea/components/web_tier_subnets/CLAUDE.md +0 -572
  1923. data/lib/pangea/resources/CLAUDE.md +0 -607
  1924. data/lib/pangea/resources/DATABASE_SERVICES_CLAUDE.md +0 -577
  1925. data/lib/pangea/resources/aws/audit_manager/CLAUDE.md +0 -778
  1926. data/lib/pangea/resources/aws/batch/CLAUDE.md +0 -965
  1927. data/lib/pangea/resources/aws/cloudformation/CLAUDE.md +0 -98
  1928. data/lib/pangea/resources/aws/detective/CLAUDE.md +0 -668
  1929. data/lib/pangea/resources/aws/extended_resources_CLAUDE.md +0 -470
  1930. data/lib/pangea/resources/aws/media_services_CLAUDE.md +0 -494
  1931. data/lib/pangea/resources/aws/opensearch.disabled/CLAUDE.md +0 -480
  1932. data/lib/pangea/resources/aws/security_lake/CLAUDE.md +0 -932
  1933. data/lib/pangea/resources/aws_acm_certificate/CLAUDE.md +0 -290
  1934. data/lib/pangea/resources/aws_acm_certificate_validation/CLAUDE.md +0 -437
  1935. data/lib/pangea/resources/aws_ami/CLAUDE.md +0 -253
  1936. data/lib/pangea/resources/aws_api_gateway_deployment/CLAUDE.md +0 -270
  1937. data/lib/pangea/resources/aws_api_gateway_integration/CLAUDE.md +0 -304
  1938. data/lib/pangea/resources/aws_api_gateway_method/CLAUDE.md +0 -235
  1939. data/lib/pangea/resources/aws_api_gateway_resource/CLAUDE.md +0 -215
  1940. data/lib/pangea/resources/aws_api_gateway_rest_api/CLAUDE.md +0 -152
  1941. data/lib/pangea/resources/aws_api_gateway_stage/CLAUDE.md +0 -308
  1942. data/lib/pangea/resources/aws_appstream_fleet/CLAUDE.md +0 -468
  1943. data/lib/pangea/resources/aws_appsync_datasource/CLAUDE.md +0 -479
  1944. data/lib/pangea/resources/aws_appsync_graphql_api/CLAUDE.md +0 -325
  1945. data/lib/pangea/resources/aws_appsync_resolver/CLAUDE.md +0 -459
  1946. data/lib/pangea/resources/aws_athena_database/CLAUDE.md +0 -276
  1947. data/lib/pangea/resources/aws_athena_named_query/CLAUDE.md +0 -385
  1948. data/lib/pangea/resources/aws_athena_workgroup/CLAUDE.md +0 -315
  1949. data/lib/pangea/resources/aws_autoscaling_attachment/CLAUDE.md +0 -226
  1950. data/lib/pangea/resources/aws_autoscaling_group/CLAUDE.md +0 -263
  1951. data/lib/pangea/resources/aws_autoscaling_lifecycle_hook/CLAUDE.md +0 -357
  1952. data/lib/pangea/resources/aws_autoscaling_notification/CLAUDE.md +0 -405
  1953. data/lib/pangea/resources/aws_autoscaling_policy/CLAUDE.md +0 -278
  1954. data/lib/pangea/resources/aws_autoscaling_schedule/CLAUDE.md +0 -219
  1955. data/lib/pangea/resources/aws_autoscaling_tag/CLAUDE.md +0 -443
  1956. data/lib/pangea/resources/aws_batch_compute_environment/CLAUDE.md +0 -571
  1957. data/lib/pangea/resources/aws_batch_job_definition/CLAUDE.md +0 -714
  1958. data/lib/pangea/resources/aws_batch_job_queue/CLAUDE.md +0 -585
  1959. data/lib/pangea/resources/aws_braket_device/CLAUDE.md +0 -331
  1960. data/lib/pangea/resources/aws_braket_quantum_task/CLAUDE.md +0 -188
  1961. data/lib/pangea/resources/aws_budgets_budget/CLAUDE.md +0 -304
  1962. data/lib/pangea/resources/aws_budgets_budget_action/CLAUDE.md +0 -357
  1963. data/lib/pangea/resources/aws_cloudformation_stack/CLAUDE.md +0 -244
  1964. data/lib/pangea/resources/aws_cloudformation_stack_set/CLAUDE.md +0 -309
  1965. data/lib/pangea/resources/aws_cloudfront_distribution/CLAUDE.md +0 -62
  1966. data/lib/pangea/resources/aws_cloudwatch_composite_alarm/CLAUDE.md +0 -288
  1967. data/lib/pangea/resources/aws_cloudwatch_dashboard/CLAUDE.md +0 -342
  1968. data/lib/pangea/resources/aws_cloudwatch_event_rule/CLAUDE.md +0 -568
  1969. data/lib/pangea/resources/aws_cloudwatch_event_target/CLAUDE.md +0 -625
  1970. data/lib/pangea/resources/aws_cloudwatch_log_destination/CLAUDE.md +0 -388
  1971. data/lib/pangea/resources/aws_cloudwatch_log_destination_policy/CLAUDE.md +0 -479
  1972. data/lib/pangea/resources/aws_cloudwatch_log_group/CLAUDE.md +0 -175
  1973. data/lib/pangea/resources/aws_cloudwatch_log_metric_filter/CLAUDE.md +0 -502
  1974. data/lib/pangea/resources/aws_cloudwatch_log_stream/CLAUDE.md +0 -260
  1975. data/lib/pangea/resources/aws_cloudwatch_log_subscription_filter/CLAUDE.md +0 -473
  1976. data/lib/pangea/resources/aws_cloudwatch_metric_alarm/CLAUDE.md +0 -317
  1977. data/lib/pangea/resources/aws_codeartifact_domain/CLAUDE.md +0 -54
  1978. data/lib/pangea/resources/aws_codeartifact_repository/CLAUDE.md +0 -55
  1979. data/lib/pangea/resources/aws_codebuild_project/CLAUDE.md +0 -304
  1980. data/lib/pangea/resources/aws_codecommit_repository/CLAUDE.md +0 -150
  1981. data/lib/pangea/resources/aws_codedeploy_application/CLAUDE.md +0 -312
  1982. data/lib/pangea/resources/aws_codedeploy_deployment_config/CLAUDE.md +0 -354
  1983. data/lib/pangea/resources/aws_codedeploy_deployment_group/CLAUDE.md +0 -342
  1984. data/lib/pangea/resources/aws_codepipeline/CLAUDE.md +0 -592
  1985. data/lib/pangea/resources/aws_codepipeline_webhook/CLAUDE.md +0 -449
  1986. data/lib/pangea/resources/aws_codestar_connection/CLAUDE.md +0 -55
  1987. data/lib/pangea/resources/aws_cognito_identity_pool/CLAUDE.md +0 -712
  1988. data/lib/pangea/resources/aws_cognito_user_pool/CLAUDE.md +0 -431
  1989. data/lib/pangea/resources/aws_cognito_user_pool_client/CLAUDE.md +0 -542
  1990. data/lib/pangea/resources/aws_cognito_user_pool_domain/CLAUDE.md +0 -524
  1991. data/lib/pangea/resources/aws_config_config_rule/CLAUDE.md +0 -381
  1992. data/lib/pangea/resources/aws_config_configuration_recorder/CLAUDE.md +0 -247
  1993. data/lib/pangea/resources/aws_config_delivery_channel/CLAUDE.md +0 -290
  1994. data/lib/pangea/resources/aws_customer_gateway/CLAUDE.md +0 -458
  1995. data/lib/pangea/resources/aws_db_instance/CLAUDE.md +0 -407
  1996. data/lib/pangea/resources/aws_db_parameter_group/CLAUDE.md +0 -285
  1997. data/lib/pangea/resources/aws_db_subnet_group/CLAUDE.md +0 -189
  1998. data/lib/pangea/resources/aws_device_farm_project/CLAUDE.md +0 -299
  1999. data/lib/pangea/resources/aws_docdb_certificate/CLAUDE.md +0 -96
  2000. data/lib/pangea/resources/aws_docdb_cluster/CLAUDE.md +0 -96
  2001. data/lib/pangea/resources/aws_docdb_cluster_endpoint/CLAUDE.md +0 -96
  2002. data/lib/pangea/resources/aws_docdb_cluster_instance/CLAUDE.md +0 -96
  2003. data/lib/pangea/resources/aws_docdb_cluster_parameter_group/CLAUDE.md +0 -96
  2004. data/lib/pangea/resources/aws_docdb_cluster_snapshot/CLAUDE.md +0 -96
  2005. data/lib/pangea/resources/aws_docdb_event_subscription/CLAUDE.md +0 -96
  2006. data/lib/pangea/resources/aws_docdb_global_cluster/CLAUDE.md +0 -96
  2007. data/lib/pangea/resources/aws_docdb_subnet_group/CLAUDE.md +0 -96
  2008. data/lib/pangea/resources/aws_dynamodb_global_table/CLAUDE.md +0 -184
  2009. data/lib/pangea/resources/aws_dynamodb_table/CLAUDE.md +0 -130
  2010. data/lib/pangea/resources/aws_ebs_volume/CLAUDE.md +0 -275
  2011. data/lib/pangea/resources/aws_ec2_transit_gateway/CLAUDE.md +0 -220
  2012. data/lib/pangea/resources/aws_ec2_transit_gateway_route/CLAUDE.md +0 -458
  2013. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table/CLAUDE.md +0 -384
  2014. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_association/CLAUDE.md +0 -409
  2015. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_propagation/CLAUDE.md +0 -433
  2016. data/lib/pangea/resources/aws_ec2_transit_gateway_vpc_attachment/CLAUDE.md +0 -326
  2017. data/lib/pangea/resources/aws_ecr_lifecycle_policy/CLAUDE.md +0 -56
  2018. data/lib/pangea/resources/aws_ecr_replication_configuration/CLAUDE.md +0 -55
  2019. data/lib/pangea/resources/aws_ecr_repository/CLAUDE.md +0 -54
  2020. data/lib/pangea/resources/aws_ecr_repository_policy/CLAUDE.md +0 -55
  2021. data/lib/pangea/resources/aws_ecs_cluster/CLAUDE.md +0 -218
  2022. data/lib/pangea/resources/aws_ecs_cluster_capacity_providers/CLAUDE.md +0 -191
  2023. data/lib/pangea/resources/aws_ecs_service/CLAUDE.md +0 -256
  2024. data/lib/pangea/resources/aws_ecs_task_definition/CLAUDE.md +0 -281
  2025. data/lib/pangea/resources/aws_ecs_task_definition/types_old.rb +0 -439
  2026. data/lib/pangea/resources/aws_efs_access_point/CLAUDE.md +0 -504
  2027. data/lib/pangea/resources/aws_efs_file_system/CLAUDE.md +0 -279
  2028. data/lib/pangea/resources/aws_efs_mount_target/CLAUDE.md +0 -361
  2029. data/lib/pangea/resources/aws_eip/CLAUDE.md +0 -325
  2030. data/lib/pangea/resources/aws_eip_association/CLAUDE.md +0 -96
  2031. data/lib/pangea/resources/aws_eks_addon/CLAUDE.md +0 -271
  2032. data/lib/pangea/resources/aws_eks_cluster/CLAUDE.md +0 -198
  2033. data/lib/pangea/resources/aws_eks_fargate_profile/CLAUDE.md +0 -266
  2034. data/lib/pangea/resources/aws_eks_node_group/CLAUDE.md +0 -258
  2035. data/lib/pangea/resources/aws_elasticache_cluster/CLAUDE.md +0 -240
  2036. data/lib/pangea/resources/aws_elasticache_parameter_group/CLAUDE.md +0 -334
  2037. data/lib/pangea/resources/aws_elasticache_subnet_group/CLAUDE.md +0 -286
  2038. data/lib/pangea/resources/aws_emr_cluster/CLAUDE.md +0 -660
  2039. data/lib/pangea/resources/aws_emr_instance_group/CLAUDE.md +0 -586
  2040. data/lib/pangea/resources/aws_emr_step/CLAUDE.md +0 -560
  2041. data/lib/pangea/resources/aws_eventbridge_bus/CLAUDE.md +0 -208
  2042. data/lib/pangea/resources/aws_eventbridge_rule/CLAUDE.md +0 -232
  2043. data/lib/pangea/resources/aws_eventbridge_target/CLAUDE.md +0 -260
  2044. data/lib/pangea/resources/aws_extended_resources_CLAUDE.md +0 -395
  2045. data/lib/pangea/resources/aws_fsx_lustre_filesystem/CLAUDE.md +0 -383
  2046. data/lib/pangea/resources/aws_gamelift_alias/CLAUDE.md +0 -261
  2047. data/lib/pangea/resources/aws_gamelift_build/CLAUDE.md +0 -233
  2048. data/lib/pangea/resources/aws_gamelift_fleet/CLAUDE.md +0 -191
  2049. data/lib/pangea/resources/aws_gamelift_game_session_queue/CLAUDE.md +0 -282
  2050. data/lib/pangea/resources/aws_gamelift_matchmaking_configuration/CLAUDE.md +0 -288
  2051. data/lib/pangea/resources/aws_glue_catalog_database/CLAUDE.md +0 -161
  2052. data/lib/pangea/resources/aws_glue_catalog_table/CLAUDE.md +0 -387
  2053. data/lib/pangea/resources/aws_glue_job/CLAUDE.md +0 -398
  2054. data/lib/pangea/resources/aws_glue_trigger/CLAUDE.md +0 -454
  2055. data/lib/pangea/resources/aws_iam_group/CLAUDE.md +0 -351
  2056. data/lib/pangea/resources/aws_iam_policy/CLAUDE.md +0 -278
  2057. data/lib/pangea/resources/aws_iam_role/CLAUDE.md +0 -419
  2058. data/lib/pangea/resources/aws_iam_role_policy_attachment/CLAUDE.md +0 -331
  2059. data/lib/pangea/resources/aws_iam_user/CLAUDE.md +0 -312
  2060. data/lib/pangea/resources/aws_instance/CLAUDE.md +0 -396
  2061. data/lib/pangea/resources/aws_internet_gateway/CLAUDE.md +0 -157
  2062. data/lib/pangea/resources/aws_iot_analytics_channel/CLAUDE.md +0 -3
  2063. data/lib/pangea/resources/aws_iot_analytics_datastore/CLAUDE.md +0 -3
  2064. data/lib/pangea/resources/aws_iot_certificate/CLAUDE.md +0 -361
  2065. data/lib/pangea/resources/aws_iot_device_defender_security_profile/CLAUDE.md +0 -3
  2066. data/lib/pangea/resources/aws_iot_policy/CLAUDE.md +0 -27
  2067. data/lib/pangea/resources/aws_iot_security_profile/CLAUDE.md +0 -3
  2068. data/lib/pangea/resources/aws_iot_thing/CLAUDE.md +0 -397
  2069. data/lib/pangea/resources/aws_iot_thing_type/CLAUDE.md +0 -526
  2070. data/lib/pangea/resources/aws_iot_topic_rule/CLAUDE.md +0 -11
  2071. data/lib/pangea/resources/aws_iot_topic_rule_destination/CLAUDE.md +0 -5
  2072. data/lib/pangea/resources/aws_key_pair/CLAUDE.md +0 -357
  2073. data/lib/pangea/resources/aws_kinesis_analytics_application/CLAUDE.md +0 -630
  2074. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/CLAUDE.md +0 -532
  2075. data/lib/pangea/resources/aws_kinesis_stream/CLAUDE.md +0 -255
  2076. data/lib/pangea/resources/aws_kinesis_video_stream/CLAUDE.md +0 -595
  2077. data/lib/pangea/resources/aws_lambda_event_source_mapping/CLAUDE.md +0 -316
  2078. data/lib/pangea/resources/aws_lambda_function/CLAUDE.md +0 -255
  2079. data/lib/pangea/resources/aws_lambda_layer_version/CLAUDE.md +0 -322
  2080. data/lib/pangea/resources/aws_lambda_permission/CLAUDE.md +0 -276
  2081. data/lib/pangea/resources/aws_launch_template/CLAUDE.md +0 -269
  2082. data/lib/pangea/resources/aws_lb/CLAUDE.md +0 -411
  2083. data/lib/pangea/resources/aws_lb_listener/CLAUDE.md +0 -310
  2084. data/lib/pangea/resources/aws_lb_listener_certificate/CLAUDE.md +0 -463
  2085. data/lib/pangea/resources/aws_lb_listener_rule/CLAUDE.md +0 -502
  2086. data/lib/pangea/resources/aws_lb_target_group/CLAUDE.md +0 -271
  2087. data/lib/pangea/resources/aws_lb_target_group_attachment/CLAUDE.md +0 -560
  2088. data/lib/pangea/resources/aws_licensemanager_association/CLAUDE.md +0 -96
  2089. data/lib/pangea/resources/aws_licensemanager_grant/CLAUDE.md +0 -96
  2090. data/lib/pangea/resources/aws_licensemanager_grant_accepter/CLAUDE.md +0 -96
  2091. data/lib/pangea/resources/aws_licensemanager_license_configuration/CLAUDE.md +0 -96
  2092. data/lib/pangea/resources/aws_licensemanager_license_grant_accepter/CLAUDE.md +0 -96
  2093. data/lib/pangea/resources/aws_licensemanager_report_generator/CLAUDE.md +0 -96
  2094. data/lib/pangea/resources/aws_licensemanager_token/CLAUDE.md +0 -96
  2095. data/lib/pangea/resources/aws_managedblockchain_member/CLAUDE.md +0 -478
  2096. data/lib/pangea/resources/aws_managedblockchain_network/CLAUDE.md +0 -487
  2097. data/lib/pangea/resources/aws_managedblockchain_node/CLAUDE.md +0 -505
  2098. data/lib/pangea/resources/aws_media_live_channel/CLAUDE.md +0 -881
  2099. data/lib/pangea/resources/aws_media_live_input/CLAUDE.md +0 -729
  2100. data/lib/pangea/resources/aws_media_package_channel/CLAUDE.md +0 -698
  2101. data/lib/pangea/resources/aws_memorydb_acl/CLAUDE.md +0 -96
  2102. data/lib/pangea/resources/aws_memorydb_cluster/CLAUDE.md +0 -96
  2103. data/lib/pangea/resources/aws_memorydb_cluster_endpoint/CLAUDE.md +0 -96
  2104. data/lib/pangea/resources/aws_memorydb_multi_region_cluster/CLAUDE.md +0 -96
  2105. data/lib/pangea/resources/aws_memorydb_parameter_group/CLAUDE.md +0 -96
  2106. data/lib/pangea/resources/aws_memorydb_snapshot/CLAUDE.md +0 -96
  2107. data/lib/pangea/resources/aws_memorydb_subnet_group/CLAUDE.md +0 -96
  2108. data/lib/pangea/resources/aws_memorydb_user/CLAUDE.md +0 -96
  2109. data/lib/pangea/resources/aws_mobile_analytics_app/CLAUDE.md +0 -262
  2110. data/lib/pangea/resources/aws_nat_gateway/CLAUDE.md +0 -209
  2111. data/lib/pangea/resources/aws_neptune_cluster/CLAUDE.md +0 -96
  2112. data/lib/pangea/resources/aws_neptune_cluster_endpoint/CLAUDE.md +0 -96
  2113. data/lib/pangea/resources/aws_neptune_cluster_instance/CLAUDE.md +0 -96
  2114. data/lib/pangea/resources/aws_neptune_cluster_parameter_group/CLAUDE.md +0 -96
  2115. data/lib/pangea/resources/aws_neptune_cluster_snapshot/CLAUDE.md +0 -96
  2116. data/lib/pangea/resources/aws_neptune_event_subscription/CLAUDE.md +0 -96
  2117. data/lib/pangea/resources/aws_neptune_parameter_group/CLAUDE.md +0 -96
  2118. data/lib/pangea/resources/aws_neptune_subnet_group/CLAUDE.md +0 -96
  2119. data/lib/pangea/resources/aws_network_acl/CLAUDE.md +0 -96
  2120. data/lib/pangea/resources/aws_network_acl_rule/CLAUDE.md +0 -297
  2121. data/lib/pangea/resources/aws_network_interface/CLAUDE.md +0 -310
  2122. data/lib/pangea/resources/aws_pinpoint_app/CLAUDE.md +0 -363
  2123. data/lib/pangea/resources/aws_qldb_ledger/CLAUDE.md +0 -734
  2124. data/lib/pangea/resources/aws_qldb_stream/CLAUDE.md +0 -845
  2125. data/lib/pangea/resources/aws_ram_invitation_accepter/CLAUDE.md +0 -96
  2126. data/lib/pangea/resources/aws_ram_managed_permission/CLAUDE.md +0 -96
  2127. data/lib/pangea/resources/aws_ram_permission/CLAUDE.md +0 -96
  2128. data/lib/pangea/resources/aws_ram_permission_association/CLAUDE.md +0 -96
  2129. data/lib/pangea/resources/aws_ram_principal_association/CLAUDE.md +0 -96
  2130. data/lib/pangea/resources/aws_ram_resource_association/CLAUDE.md +0 -96
  2131. data/lib/pangea/resources/aws_ram_resource_share/CLAUDE.md +0 -96
  2132. data/lib/pangea/resources/aws_ram_resource_share_accepter/CLAUDE.md +0 -96
  2133. data/lib/pangea/resources/aws_ram_resource_share_invitation/CLAUDE.md +0 -96
  2134. data/lib/pangea/resources/aws_ram_sharing_with_organization/CLAUDE.md +0 -96
  2135. data/lib/pangea/resources/aws_rds_cluster/CLAUDE.md +0 -361
  2136. data/lib/pangea/resources/aws_rds_cluster_endpoint/CLAUDE.md +0 -279
  2137. data/lib/pangea/resources/aws_rds_cluster_instance/CLAUDE.md +0 -378
  2138. data/lib/pangea/resources/aws_rds_cluster_parameter_group/CLAUDE.md +0 -344
  2139. data/lib/pangea/resources/aws_rds_global_cluster/CLAUDE.md +0 -362
  2140. data/lib/pangea/resources/aws_redshift_cluster/CLAUDE.md +0 -358
  2141. data/lib/pangea/resources/aws_redshift_parameter_group/CLAUDE.md +0 -352
  2142. data/lib/pangea/resources/aws_redshift_snapshot_schedule/CLAUDE.md +0 -395
  2143. data/lib/pangea/resources/aws_redshift_subnet_group/CLAUDE.md +0 -274
  2144. data/lib/pangea/resources/aws_route/CLAUDE.md +0 -96
  2145. data/lib/pangea/resources/aws_route53_health_check/CLAUDE.md +0 -408
  2146. data/lib/pangea/resources/aws_route53_record/CLAUDE.md +0 -414
  2147. data/lib/pangea/resources/aws_route53_zone/CLAUDE.md +0 -363
  2148. data/lib/pangea/resources/aws_route_table/CLAUDE.md +0 -224
  2149. data/lib/pangea/resources/aws_route_table_association/CLAUDE.md +0 -401
  2150. data/lib/pangea/resources/aws_s3_access_point/CLAUDE.md +0 -211
  2151. data/lib/pangea/resources/aws_s3_bucket/CLAUDE.md +0 -140
  2152. data/lib/pangea/resources/aws_s3_bucket_cors_configuration/CLAUDE.md +0 -262
  2153. data/lib/pangea/resources/aws_s3_bucket_encryption/CLAUDE.md +0 -465
  2154. data/lib/pangea/resources/aws_s3_bucket_inventory/CLAUDE.md +0 -430
  2155. data/lib/pangea/resources/aws_s3_bucket_lifecycle_configuration/CLAUDE.md +0 -221
  2156. data/lib/pangea/resources/aws_s3_bucket_notification/CLAUDE.md +0 -358
  2157. data/lib/pangea/resources/aws_s3_bucket_object_lock_configuration/CLAUDE.md +0 -561
  2158. data/lib/pangea/resources/aws_s3_bucket_policy/CLAUDE.md +0 -234
  2159. data/lib/pangea/resources/aws_s3_bucket_public_access_block/CLAUDE.md +0 -528
  2160. data/lib/pangea/resources/aws_s3_bucket_replication_configuration/CLAUDE.md +0 -628
  2161. data/lib/pangea/resources/aws_s3_bucket_versioning/CLAUDE.md +0 -340
  2162. data/lib/pangea/resources/aws_s3_bucket_website_configuration/CLAUDE.md +0 -355
  2163. data/lib/pangea/resources/aws_s3_object/CLAUDE.md +0 -535
  2164. data/lib/pangea/resources/aws_sagemaker_domain/CLAUDE.md +0 -253
  2165. data/lib/pangea/resources/aws_secretsmanager_secret/CLAUDE.md +0 -528
  2166. data/lib/pangea/resources/aws_sfn_activity/CLAUDE.md +0 -571
  2167. data/lib/pangea/resources/aws_sfn_state_machine/CLAUDE.md +0 -464
  2168. data/lib/pangea/resources/aws_sns_subscription/CLAUDE.md +0 -289
  2169. data/lib/pangea/resources/aws_sns_topic/CLAUDE.md +0 -249
  2170. data/lib/pangea/resources/aws_sqs_queue/CLAUDE.md +0 -190
  2171. data/lib/pangea/resources/aws_sqs_queue_policy/CLAUDE.md +0 -227
  2172. data/lib/pangea/resources/aws_ssm_document/CLAUDE.md +0 -410
  2173. data/lib/pangea/resources/aws_ssm_maintenance_window/CLAUDE.md +0 -412
  2174. data/lib/pangea/resources/aws_ssm_parameter/CLAUDE.md +0 -355
  2175. data/lib/pangea/resources/aws_ssm_patch_baseline/CLAUDE.md +0 -509
  2176. data/lib/pangea/resources/aws_subnet/CLAUDE.md +0 -301
  2177. data/lib/pangea/resources/aws_timestream_access_policy/CLAUDE.md +0 -96
  2178. data/lib/pangea/resources/aws_timestream_batch_load_task/CLAUDE.md +0 -96
  2179. data/lib/pangea/resources/aws_timestream_database/CLAUDE.md +0 -96
  2180. data/lib/pangea/resources/aws_timestream_influx_db_instance/CLAUDE.md +0 -96
  2181. data/lib/pangea/resources/aws_timestream_scheduled_query/CLAUDE.md +0 -96
  2182. data/lib/pangea/resources/aws_timestream_table/CLAUDE.md +0 -96
  2183. data/lib/pangea/resources/aws_timestream_table_retention_properties/CLAUDE.md +0 -96
  2184. data/lib/pangea/resources/aws_volume_attachment/CLAUDE.md +0 -326
  2185. data/lib/pangea/resources/aws_vpc/CLAUDE.md +0 -184
  2186. data/lib/pangea/resources/aws_vpc_endpoint/CLAUDE.md +0 -483
  2187. data/lib/pangea/resources/aws_vpc_endpoint_service/CLAUDE.md +0 -313
  2188. data/lib/pangea/resources/aws_vpc_peering_connection/CLAUDE.md +0 -361
  2189. data/lib/pangea/resources/aws_vpc_peering_connection_accepter/CLAUDE.md +0 -248
  2190. data/lib/pangea/resources/aws_vpn_connection/CLAUDE.md +0 -420
  2191. data/lib/pangea/resources/aws_vpn_gateway/CLAUDE.md +0 -411
  2192. data/lib/pangea/resources/aws_wafv2_web_acl/CLAUDE.md +0 -788
  2193. data/lib/pangea/resources/aws_workspaces_bundle/CLAUDE.md +0 -412
  2194. data/lib/pangea/resources/aws_workspaces_directory/CLAUDE.md +0 -365
  2195. data/lib/pangea/resources/aws_workspaces_ip_group/CLAUDE.md +0 -421
  2196. data/lib/pangea/resources/aws_workspaces_workspace/CLAUDE.md +0 -322
  2197. data/pangea_test.yml +0 -19
  2198. data/shell.nix +0 -13
@@ -1,279 +0,0 @@
1
- # AWS RDS Cluster Endpoint Implementation
2
-
3
- ## Resource Overview
4
-
5
- The `aws_rds_cluster_endpoint` resource implements Aurora cluster custom endpoints with type-safe attributes and advanced validation. This resource provides fine-grained connection routing capabilities for Aurora clusters.
6
-
7
- ## Implementation Details
8
-
9
- ### Type Safety and Validation
10
-
11
- **Core Validation Rules:**
12
- - Endpoint identifier must start with a letter and contain only letters, numbers, and hyphens
13
- - Maximum endpoint identifier length of 63 characters
14
- - DB instances cannot appear in both static_members and excluded_members
15
- - WRITER endpoints cannot use static or excluded member configurations (AWS restriction)
16
- - Validates custom_endpoint_type enum values (READER, WRITER, ANY)
17
-
18
- **Dry-Struct Types:**
19
- - `ExcludedMember` - Validates excluded cluster member configuration
20
- - `StaticMember` - Validates static cluster member configuration
21
- - `RdsClusterEndpointAttributes` - Main attribute struct with comprehensive validation
22
-
23
- ### Advanced Features
24
-
25
- **Member Selection Logic:**
26
- - Static members: Always include specific DB instances in routing
27
- - Excluded members: Never route to specific DB instances
28
- - Default behavior: Use Aurora's automatic member selection
29
- - Cross-validation prevents conflicting member configurations
30
-
31
- **Endpoint Type Behaviors:**
32
- - READER: Routes only to read replicas, supports member selection
33
- - WRITER: Routes only to primary, no member selection allowed
34
- - ANY: Routes to any available member, supports member selection
35
-
36
- **Configuration Intelligence:**
37
- - Automatic validation of endpoint type and member configuration compatibility
38
- - DNS name generation for connection string construction
39
- - Configuration summary generation for documentation and monitoring
40
-
41
- ### Database-Specific Validations
42
-
43
- **Aurora Cluster Integration:**
44
- - Validates cluster identifier format and requirements
45
- - Provides method for external DB instance validation (validate_db_instances)
46
- - Generates cluster-aware DNS names for endpoints
47
- - Integrates with Aurora cluster member management
48
-
49
- **Connection Routing Validation:**
50
- - Ensures endpoint configuration aligns with Aurora's routing capabilities
51
- - Validates member selection against Aurora cluster constraints
52
- - Prevents configuration conflicts that would cause AWS API errors
53
-
54
- ### Production Database Patterns
55
-
56
- **High Availability Support:**
57
- - Failover endpoint configuration with primary exclusion
58
- - Regional disaster recovery endpoint patterns
59
- - Load balancing endpoints for multi-AZ deployments
60
- - Dedicated instance routing for specialized workloads
61
-
62
- **Performance Optimization:**
63
- - Analytics endpoint patterns for heavy read workloads
64
- - Static member routing for consistent performance
65
- - Instance type-aware routing configurations
66
- - Connection pooling optimization endpoints
67
-
68
- **Operational Excellence:**
69
- - Comprehensive configuration summary for monitoring
70
- - Cost estimation (endpoints are typically free with Aurora)
71
- - Tag-based organization and management
72
- - Integration with cluster lifecycle management
73
-
74
- ## Architecture Integration
75
-
76
- ### Multi-Tier Applications
77
-
78
- ```ruby
79
- # Example: Three-tier application with dedicated endpoints
80
- template :multi_tier_endpoints do
81
- # Web application endpoint - load balanced across all members
82
- web_endpoint = aws_rds_cluster_endpoint(:web_tier, {
83
- cluster_identifier: cluster_ref,
84
- cluster_endpoint_identifier: "web-tier",
85
- custom_endpoint_type: "ANY",
86
- tags: { Tier: "web", Purpose: "application" }
87
- })
88
-
89
- # Analytics endpoint - dedicated read replicas only
90
- analytics_endpoint = aws_rds_cluster_endpoint(:analytics, {
91
- cluster_identifier: cluster_ref,
92
- cluster_endpoint_identifier: "analytics",
93
- custom_endpoint_type: "READER",
94
- static_members: analytics_instance_refs,
95
- tags: { Tier: "analytics", Purpose: "reporting" }
96
- })
97
-
98
- # Admin endpoint - writer access for administration
99
- admin_endpoint = aws_rds_cluster_endpoint(:admin, {
100
- cluster_identifier: cluster_ref,
101
- cluster_endpoint_identifier: "admin",
102
- custom_endpoint_type: "WRITER",
103
- tags: { Tier: "admin", Purpose: "management" }
104
- })
105
- end
106
- ```
107
-
108
- ### Disaster Recovery Patterns
109
-
110
- ```ruby
111
- # Example: Cross-region disaster recovery endpoint
112
- template :disaster_recovery_endpoints do
113
- # Primary region endpoint excluding DR instances
114
- primary_endpoint = aws_rds_cluster_endpoint(:primary, {
115
- cluster_identifier: global_cluster_ref,
116
- cluster_endpoint_identifier: "primary-region",
117
- custom_endpoint_type: "READER",
118
- excluded_members: dr_instance_refs,
119
- tags: { Region: "primary", Purpose: "active" }
120
- })
121
-
122
- # DR endpoint for failover scenarios
123
- dr_endpoint = aws_rds_cluster_endpoint(:disaster_recovery, {
124
- cluster_identifier: global_cluster_ref,
125
- cluster_endpoint_identifier: "dr-region",
126
- custom_endpoint_type: "READER",
127
- static_members: dr_instance_refs,
128
- tags: { Region: "secondary", Purpose: "disaster-recovery" }
129
- })
130
- end
131
- ```
132
-
133
- ## Testing and Validation
134
-
135
- ### Type Safety Testing
136
-
137
- The implementation provides comprehensive type safety through:
138
- - Dry-struct validation for all input parameters
139
- - Custom validation logic for AWS-specific constraints
140
- - Runtime type checking with meaningful error messages
141
- - Integration validation with cluster and instance configurations
142
-
143
- ### Configuration Validation
144
-
145
- **Pre-deployment Validation:**
146
- - Member selection conflict detection
147
- - Endpoint type and configuration compatibility checking
148
- - Cluster identifier and naming convention validation
149
- - Tag validation for organizational compliance
150
-
151
- **Runtime Validation:**
152
- - DB instance existence validation (when cluster data available)
153
- - Member selection effectiveness validation
154
- - Performance impact assessment for endpoint configurations
155
-
156
- ### Error Handling
157
-
158
- **Common Configuration Errors:**
159
- - Invalid endpoint type and member selection combinations
160
- - DB instance references that don't exist in the cluster
161
- - Endpoint identifier naming violations
162
- - Tag format and compliance issues
163
-
164
- **Error Recovery:**
165
- - Clear error messages with specific validation failures
166
- - Suggestions for configuration fixes
167
- - Reference to AWS documentation for complex constraints
168
- - Integration with Pangea's error reporting system
169
-
170
- ## Performance Considerations
171
-
172
- ### Connection Routing Optimization
173
-
174
- **Endpoint Selection Strategy:**
175
- - Use READER endpoints for read-heavy workloads
176
- - Use WRITER endpoints sparingly for admin operations
177
- - Use ANY endpoints for balanced mixed workloads
178
- - Use static members for consistent performance requirements
179
-
180
- **Instance Distribution:**
181
- - Balance static member selection across availability zones
182
- - Consider instance types when creating static member groups
183
- - Exclude overloaded instances during peak periods
184
- - Rotate endpoint usage to prevent hotspots
185
-
186
- ### Monitoring and Observability
187
-
188
- **Endpoint Metrics:**
189
- - Connection count per endpoint
190
- - Query performance by endpoint type
191
- - Instance utilization within endpoint groups
192
- - Failover behavior and recovery times
193
-
194
- **Configuration Tracking:**
195
- - Endpoint lifecycle management
196
- - Member selection changes over time
197
- - Performance impact of routing decisions
198
- - Cost allocation by endpoint usage
199
-
200
- ## Security Considerations
201
-
202
- ### Access Control
203
-
204
- **Network Security:**
205
- - Custom endpoints inherit cluster security group settings
206
- - Additional security groups can be applied at the cluster level
207
- - VPC and subnet restrictions apply to all endpoints
208
- - SSL/TLS settings inherited from cluster configuration
209
-
210
- **Authentication and Authorization:**
211
- - Endpoint-specific user management not supported (cluster-level only)
212
- - IAM database authentication applies to all endpoints
213
- - Connection string security for different endpoint types
214
- - Audit logging includes endpoint-specific connection details
215
-
216
- ### Compliance Requirements
217
-
218
- **Data Protection:**
219
- - Endpoints inherit cluster encryption settings
220
- - Audit trail includes endpoint-specific access patterns
221
- - Compliance reporting includes endpoint usage data
222
- - Data residency requirements apply to endpoint routing
223
-
224
- ## Common Pitfalls and Solutions
225
-
226
- ### Configuration Mistakes
227
-
228
- **Pitfall: WRITER endpoints with member selection**
229
- ```ruby
230
- # INCORRECT - will cause validation error
231
- aws_rds_cluster_endpoint(:bad_writer, {
232
- custom_endpoint_type: "WRITER",
233
- static_members: [{ db_instance_identifier: "some-instance" }] # Not allowed
234
- })
235
-
236
- # CORRECT - WRITER endpoints use default routing
237
- aws_rds_cluster_endpoint(:good_writer, {
238
- custom_endpoint_type: "WRITER"
239
- })
240
- ```
241
-
242
- **Pitfall: Conflicting member configurations**
243
- ```ruby
244
- # INCORRECT - same instance in both lists
245
- aws_rds_cluster_endpoint(:conflicted, {
246
- custom_endpoint_type: "READER",
247
- static_members: [{ db_instance_identifier: "instance-1" }],
248
- excluded_members: [{ db_instance_identifier: "instance-1" }] # Conflict
249
- })
250
- ```
251
-
252
- **Pitfall: Invalid endpoint identifiers**
253
- ```ruby
254
- # INCORRECT - starts with number
255
- aws_rds_cluster_endpoint(:bad_name, {
256
- cluster_endpoint_identifier: "1-endpoint" # Invalid
257
- })
258
-
259
- # CORRECT - starts with letter
260
- aws_rds_cluster_endpoint(:good_name, {
261
- cluster_endpoint_identifier: "endpoint-1"
262
- })
263
- ```
264
-
265
- ### Performance Issues
266
-
267
- **Solution: Instance Type Awareness**
268
- - Match endpoint routing to instance capabilities
269
- - Use high-memory instances for analytics endpoints
270
- - Use general-purpose instances for balanced workloads
271
- - Consider network performance for distributed applications
272
-
273
- **Solution: Connection Pool Management**
274
- - Configure application connection pools per endpoint
275
- - Monitor connection distribution across endpoints
276
- - Implement connection retry logic for endpoint failovers
277
- - Use appropriate connection pool sizes for endpoint types
278
-
279
- This implementation provides a robust, type-safe interface for Aurora cluster endpoints with comprehensive validation, clear error handling, and production-ready patterns for high-availability database architectures.
@@ -1,378 +0,0 @@
1
- # AWS RDS Cluster Instance Implementation
2
-
3
- ## Resource Overview
4
-
5
- The `aws_rds_cluster_instance` resource creates and manages AWS Aurora RDS Cluster Instances, which serve as the compute nodes within Aurora clusters. Each instance handles database operations and can be configured as writers or readers with specific performance characteristics and failover priorities.
6
-
7
- ## Implementation Architecture
8
-
9
- ### Type Safety Structure
10
- ```
11
- RdsClusterInstanceAttributes (Dry::Struct)
12
- ├── identifier: String (optional)
13
- ├── identifier_prefix: String (optional)
14
- ├── cluster_identifier: String (required)
15
- ├── instance_class: String (enum of Aurora instance types, required)
16
- ├── engine: String (optional, inherited from cluster)
17
- ├── engine_version: String (optional, inherited from cluster)
18
- ├── availability_zone: String (optional)
19
- ├── db_parameter_group_name: String (optional)
20
- ├── publicly_accessible: Bool (default: false)
21
- ├── monitoring_interval: Integer (0-60, default: 0)
22
- ├── monitoring_role_arn: String (optional)
23
- ├── performance_insights_enabled: Bool (default: false)
24
- ├── performance_insights_kms_key_id: String (optional)
25
- ├── performance_insights_retention_period: Integer (7-731, default: 7)
26
- ├── preferred_backup_window: String (optional)
27
- ├── preferred_maintenance_window: String (optional)
28
- ├── auto_minor_version_upgrade: Bool (default: true)
29
- ├── apply_immediately: Bool (default: false)
30
- ├── copy_tags_to_snapshot: Bool (default: true)
31
- ├── ca_cert_identifier: String (optional)
32
- ├── promotion_tier: Integer (0-15, default: 1)
33
- └── tags: Hash[String, String] (default: {})
34
- ```
35
-
36
- ### Core Validations
37
-
38
- 1. **Identifier Validation**
39
- - Cannot specify both identifier and identifier_prefix
40
- - AWS will generate identifier if neither provided
41
-
42
- 2. **Instance Class Validation**
43
- - Comprehensive enum of Aurora-supported instance types
44
- - Includes burstable (t3, t4g), memory-optimized (r5, r6g, r6i, x2g)
45
- - Special handling for "serverless" instance class
46
-
47
- 3. **Promotion Tier Validation**
48
- - Must be between 0-15 (0 = highest priority for writer role)
49
- - Determines failover order and instance role
50
-
51
- 4. **Monitoring Configuration Validation**
52
- - monitoring_role_arn required when monitoring_interval > 0
53
- - Performance Insights retention period must be >= 7 days when enabled
54
- - Serverless instances don't support enhanced monitoring
55
-
56
- 5. **Performance Insights Validation**
57
- - Retention period validation (7-731 days)
58
- - KMS key validation when encryption is enabled
59
- - Feature availability by instance type
60
-
61
- 6. **Serverless Instance Validation**
62
- - Enhanced monitoring not supported
63
- - Different constraint validation for serverless vs. provisioned
64
-
65
- ### Resource Function Signature
66
- ```ruby
67
- def aws_rds_cluster_instance(name, attributes = {})
68
- # Returns ResourceReference with:
69
- # - Comprehensive Terraform outputs
70
- # - Performance characteristics analysis
71
- # - Role and tier information
72
- # - Cost and scaling insights
73
- end
74
- ```
75
-
76
- ## Terraform Resource Mapping
77
-
78
- ### Generated Terraform JSON Structure
79
- ```json
80
- {
81
- "resource": {
82
- "aws_rds_cluster_instance": {
83
- "resource_name": {
84
- "identifier": "aurora-instance-name",
85
- "cluster_identifier": "aurora-cluster-name",
86
- "instance_class": "db.r5.large",
87
- "promotion_tier": 0,
88
- "performance_insights_enabled": true,
89
- "performance_insights_retention_period": 93,
90
- "monitoring_interval": 60,
91
- "monitoring_role_arn": "arn:aws:iam::account:role/rds-monitoring-role",
92
- "preferred_maintenance_window": "sun:04:00-sun:05:00",
93
- "tags": {
94
- "Role": "writer",
95
- "Environment": "production"
96
- }
97
- }
98
- }
99
- }
100
- }
101
- ```
102
-
103
- ### Available Outputs
104
- Comprehensive output coverage including:
105
- - Instance identifiers and ARN
106
- - Cluster association information
107
- - Network endpoint details
108
- - Performance and monitoring configuration
109
- - Instance characteristics and status
110
- - Database parameter configuration
111
-
112
- ## Design Patterns
113
-
114
- ### Instance Classification System
115
- ```ruby
116
- def instance_family
117
- case instance_class
118
- when /^db\.t3/ then "t3"
119
- when /^db\.t4g/ then "t4g"
120
- when /^db\.r5/ then "r5"
121
- when /^db\.r6g/ then "r6g"
122
- when /^db\.r6i/ then "r6i"
123
- when /^db\.x2g/ then "x2g"
124
- when "serverless" then "serverless"
125
- end
126
- end
127
- ```
128
-
129
- ### Role-Based Configuration
130
- ```ruby
131
- def role_description
132
- case promotion_tier
133
- when 0 then "Primary writer instance"
134
- when 1 then "Primary failover target"
135
- else "Reader instance (tier #{promotion_tier})"
136
- end
137
- end
138
-
139
- def can_be_writer?
140
- promotion_tier == 0
141
- end
142
- ```
143
-
144
- ### Performance Characteristics Analysis
145
- ```ruby
146
- def performance_characteristics
147
- {
148
- vcpus: estimated_vcpus,
149
- memory_gb: estimated_memory_gb,
150
- instance_family: instance_family,
151
- is_burstable: is_burstable?,
152
- is_memory_optimized: is_memory_optimized?,
153
- is_graviton: is_graviton?
154
- }
155
- end
156
- ```
157
-
158
- ### Cost Estimation System
159
- ```ruby
160
- def estimated_monthly_cost
161
- return "Variable based on Aurora Capacity Units" if is_serverless?
162
-
163
- hourly_rate = calculate_hourly_rate(instance_class)
164
- monthly_cost = hourly_rate * 730
165
- "~$#{monthly_cost.round(2)}/month"
166
- end
167
- ```
168
-
169
- ### Pre-configured Instance Templates
170
- ```ruby
171
- module AuroraInstanceConfigs
172
- def self.production_writer
173
- # Returns production-optimized writer configuration
174
- end
175
-
176
- def self.graviton_writer
177
- # Returns Graviton2-based cost-optimized configuration
178
- end
179
-
180
- def self.multi_az_deployment
181
- # Returns multi-AZ deployment pattern
182
- end
183
- end
184
- ```
185
-
186
- ## Integration Patterns
187
-
188
- ### Cluster Relationship Management
189
- - Required cluster_identifier for cluster association
190
- - Engine and version inheritance from parent cluster
191
- - Coordinated backup and maintenance window scheduling
192
- - Automatic cluster membership registration
193
-
194
- ### Parameter Group Integration
195
- - Instance-level parameter groups through db_parameter_group_name
196
- - Parameter validation against engine family
197
- - Performance tuning through parameter optimization
198
- - Engine-specific parameter support
199
-
200
- ### Monitoring Integration
201
- - CloudWatch enhanced monitoring configuration
202
- - Performance Insights with configurable retention
203
- - Custom metrics and alarm integration
204
- - Role-based monitoring strategies
205
-
206
- ### Network and Security Integration
207
- - VPC placement through cluster subnet group
208
- - Security group inheritance from cluster
209
- - Availability zone distribution for high availability
210
- - Cross-AZ failover coordination
211
-
212
- ## Operational Considerations
213
-
214
- ### High Availability Architecture
215
- - **Promotion Tiers**: 0-15 priority system for failover order
216
- - **Multi-AZ Deployment**: Instance distribution across availability zones
217
- - **Failover Management**: Automatic promotion based on tier hierarchy
218
- - **Reader Endpoint**: Load balancing across reader instances
219
-
220
- ### Instance Role Management
221
- - **Writer Instances**: Tier 0 for primary write operations
222
- - **Primary Failover**: Tier 1 for immediate failover capability
223
- - **Reader Instances**: Tier 2+ for read scaling and secondary failover
224
- - **Role Flexibility**: Dynamic role assignment through promotion
225
-
226
- ### Performance Optimization
227
- - **Instance Sizing**: Memory and CPU optimization by workload
228
- - **Burstable Performance**: T3/T4g for variable workloads
229
- - **Memory Optimized**: R5/R6 series for consistent high performance
230
- - **Graviton2 Processors**: ARM-based cost optimization
231
-
232
- ### Cost Management
233
- - **Instance Type Selection**: Balanced performance vs. cost
234
- - **Graviton2 Adoption**: ~20% cost savings with ARM architecture
235
- - **Right-sizing**: Monitoring-driven instance optimization
236
- - **Auto-scaling**: Reader instance scaling based on load
237
-
238
- ## Error Handling
239
-
240
- ### Validation Errors
241
- ```ruby
242
- # Conflicting identifier specifications
243
- raise Dry::Struct::Error, "Cannot specify both 'identifier' and 'identifier_prefix'"
244
-
245
- # Monitoring configuration errors
246
- raise Dry::Struct::Error, "monitoring_role_arn is required when monitoring_interval > 0"
247
-
248
- # Performance Insights configuration errors
249
- raise Dry::Struct::Error, "performance_insights_retention_period must be at least 7 days when Performance Insights is enabled"
250
-
251
- # Promotion tier validation
252
- raise Dry::Struct::Error, "promotion_tier must be between 0 and 15"
253
-
254
- # Serverless limitations
255
- raise Dry::Struct::Error, "Enhanced monitoring is not supported for serverless instances"
256
- ```
257
-
258
- ### Runtime Validation
259
- - AWS service-level validation for instance configuration
260
- - Cluster membership validation
261
- - Instance class availability by region
262
- - Parameter group compatibility validation
263
-
264
- ## Testing Considerations
265
-
266
- ### Unit Testing
267
- - Dry::Struct validation for all attribute combinations
268
- - Instance classification and role determination testing
269
- - Performance characteristics calculation testing
270
- - Cost estimation accuracy testing
271
-
272
- ### Integration Testing
273
- - Cluster association and dependency testing
274
- - Cross-AZ deployment validation
275
- - Monitoring configuration testing
276
- - Parameter group integration testing
277
-
278
- ### Performance Testing
279
- - Instance performance validation
280
- - Failover testing and timing
281
- - Load balancing effectiveness
282
- - Monitoring data accuracy
283
-
284
- ## Performance Characteristics
285
-
286
- ### Instance Provisioning
287
- - Fast instance creation within existing cluster
288
- - Automatic cluster membership registration
289
- - Parameter group application
290
- - Monitoring configuration activation
291
-
292
- ### Scaling Capabilities
293
- - **Vertical Scaling**: Instance class modification
294
- - **Horizontal Scaling**: Reader instance addition/removal
295
- - **Cross-AZ Scaling**: Multi-region read replica support
296
- - **Automated Scaling**: Auto Scaling Group integration
297
-
298
- ### Monitoring Performance
299
- - Real-time performance metrics through CloudWatch
300
- - Performance Insights for query-level analysis
301
- - Enhanced monitoring for OS-level metrics
302
- - Custom metrics for application-specific monitoring
303
-
304
- ## Advanced Features
305
-
306
- ### Graviton2 Processor Support
307
- ```ruby
308
- def is_graviton?
309
- instance_class.include?("t4g") ||
310
- instance_class.include?("r6g") ||
311
- instance_class.include?("x2g")
312
- end
313
- ```
314
-
315
- ### Performance Insights Integration
316
- ```ruby
317
- def has_performance_insights?
318
- performance_insights_enabled
319
- end
320
-
321
- def supports_performance_insights?
322
- !is_serverless?
323
- end
324
- ```
325
-
326
- ### Multi-tier Failover Architecture
327
- ```ruby
328
- def is_likely_reader?
329
- promotion_tier > 0
330
- end
331
-
332
- def failover_priority
333
- 15 - promotion_tier # Higher number = higher priority
334
- end
335
- ```
336
-
337
- ### Cost Optimization Features
338
- ```ruby
339
- def estimated_vcpus
340
- # Detailed vCPU calculation by instance class
341
- end
342
-
343
- def estimated_memory_gb
344
- # Detailed memory calculation by instance class
345
- end
346
- ```
347
-
348
- ## Future Extensibility
349
-
350
- ### Enhanced Instance Management
351
- - Intelligent instance sizing recommendations
352
- - Automated right-sizing based on performance metrics
353
- - Predictive scaling for reader instances
354
- - Cross-region read replica automation
355
-
356
- ### Advanced Monitoring
357
- - Machine learning-based performance insights
358
- - Automated anomaly detection
359
- - Predictive maintenance scheduling
360
- - Cost optimization recommendations
361
-
362
- ### Operational Enhancements
363
- - Blue/green deployment support for instances
364
- - Automated failover testing
365
- - Instance lifecycle management
366
- - Configuration drift detection
367
-
368
- ### Performance Optimization
369
- - Query-level performance analysis
370
- - Automatic parameter tuning
371
- - Workload-specific instance recommendations
372
- - Multi-dimensional cost optimization
373
-
374
- ### Security Enhancements
375
- - Instance-level encryption key management
376
- - Fine-grained access control
377
- - Security compliance monitoring
378
- - Audit trail automation