pangea-aws 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1423) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +6 -0
  3. data/Gemfile +3 -0
  4. data/Gemfile.lock +88 -0
  5. data/LICENSE +201 -0
  6. data/Rakefile +8 -0
  7. data/flake.lock +835 -0
  8. data/flake.nix +60 -0
  9. data/gemset.nix +272 -0
  10. data/lib/pangea/resources/aws.rb +491 -0
  11. data/lib/pangea/resources/aws_acm_certificate/resource.rb +117 -0
  12. data/lib/pangea/resources/aws_acm_certificate/types.rb +153 -0
  13. data/lib/pangea/resources/aws_acm_certificate_validation/resource.rb +72 -0
  14. data/lib/pangea/resources/aws_acm_certificate_validation/types.rb +147 -0
  15. data/lib/pangea/resources/aws_acmpca_certificate_authority/resource.rb +126 -0
  16. data/lib/pangea/resources/aws_acmpca_certificate_authority/types/attributes.rb +85 -0
  17. data/lib/pangea/resources/aws_acmpca_certificate_authority/types/helpers.rb +24 -0
  18. data/lib/pangea/resources/aws_acmpca_certificate_authority/types/templates.rb +140 -0
  19. data/lib/pangea/resources/aws_acmpca_certificate_authority/types/validators.rb +24 -0
  20. data/lib/pangea/resources/aws_acmpca_certificate_authority/types.rb +20 -0
  21. data/lib/pangea/resources/aws_alb_target_group_attachment/resource.rb +63 -0
  22. data/lib/pangea/resources/aws_alb_target_group_attachment/types.rb +44 -0
  23. data/lib/pangea/resources/aws_ami/resource.rb +139 -0
  24. data/lib/pangea/resources/aws_ami/types.rb +194 -0
  25. data/lib/pangea/resources/aws_api_gateway_api_key/resource.rb +83 -0
  26. data/lib/pangea/resources/aws_api_gateway_api_key/types/configs.rb +125 -0
  27. data/lib/pangea/resources/aws_api_gateway_api_key/types.rb +145 -0
  28. data/lib/pangea/resources/aws_api_gateway_deployment/resource.rb +182 -0
  29. data/lib/pangea/resources/aws_api_gateway_deployment/types.rb +198 -0
  30. data/lib/pangea/resources/aws_api_gateway_integration/resource.rb +161 -0
  31. data/lib/pangea/resources/aws_api_gateway_integration/types/factory_methods.rb +99 -0
  32. data/lib/pangea/resources/aws_api_gateway_integration/types/predicates.rb +57 -0
  33. data/lib/pangea/resources/aws_api_gateway_integration/types/uri_helpers.rb +58 -0
  34. data/lib/pangea/resources/aws_api_gateway_integration/types/validators.rb +98 -0
  35. data/lib/pangea/resources/aws_api_gateway_integration/types.rb +98 -0
  36. data/lib/pangea/resources/aws_api_gateway_method/resource.rb +79 -0
  37. data/lib/pangea/resources/aws_api_gateway_method/types.rb +184 -0
  38. data/lib/pangea/resources/aws_api_gateway_resource/resource.rb +68 -0
  39. data/lib/pangea/resources/aws_api_gateway_resource/types.rb +141 -0
  40. data/lib/pangea/resources/aws_api_gateway_rest_api/resource.rb +92 -0
  41. data/lib/pangea/resources/aws_api_gateway_rest_api/types.rb +160 -0
  42. data/lib/pangea/resources/aws_api_gateway_stage/resource/helpers/basic.rb +67 -0
  43. data/lib/pangea/resources/aws_api_gateway_stage/resource/helpers/configuration.rb +132 -0
  44. data/lib/pangea/resources/aws_api_gateway_stage/resource/helpers/method_settings.rb +88 -0
  45. data/lib/pangea/resources/aws_api_gateway_stage/resource/helpers.rb +47 -0
  46. data/lib/pangea/resources/aws_api_gateway_stage/resource/main.rb +124 -0
  47. data/lib/pangea/resources/aws_api_gateway_stage/resource.rb +47 -0
  48. data/lib/pangea/resources/aws_api_gateway_stage/types/helpers.rb +75 -0
  49. data/lib/pangea/resources/aws_api_gateway_stage/types/validators.rb +133 -0
  50. data/lib/pangea/resources/aws_api_gateway_stage/types.rb +119 -0
  51. data/lib/pangea/resources/aws_api_gateway_usage_plan/resource.rb +119 -0
  52. data/lib/pangea/resources/aws_api_gateway_usage_plan/types/attributes.rb +64 -0
  53. data/lib/pangea/resources/aws_api_gateway_usage_plan/types/configs.rb +81 -0
  54. data/lib/pangea/resources/aws_api_gateway_usage_plan/types/helpers.rb +103 -0
  55. data/lib/pangea/resources/aws_api_gateway_usage_plan/types/settings.rb +53 -0
  56. data/lib/pangea/resources/aws_api_gateway_usage_plan/types/validation.rb +83 -0
  57. data/lib/pangea/resources/aws_api_gateway_usage_plan/types.rb +24 -0
  58. data/lib/pangea/resources/aws_appstream_fleet/resource.rb +118 -0
  59. data/lib/pangea/resources/aws_appstream_fleet/types/attributes.rb +80 -0
  60. data/lib/pangea/resources/aws_appstream_fleet/types/cost_estimation.rb +54 -0
  61. data/lib/pangea/resources/aws_appstream_fleet/types/nested_types.rb +82 -0
  62. data/lib/pangea/resources/aws_appstream_fleet/types.rb +9 -0
  63. data/lib/pangea/resources/aws_appstream_image_builder/resource.rb +31 -0
  64. data/lib/pangea/resources/aws_appstream_stack/resource.rb +31 -0
  65. data/lib/pangea/resources/aws_appsync_datasource/resource.rb +149 -0
  66. data/lib/pangea/resources/aws_appsync_datasource/types.rb +173 -0
  67. data/lib/pangea/resources/aws_appsync_graphql_api/resource.rb +163 -0
  68. data/lib/pangea/resources/aws_appsync_graphql_api/types.rb +167 -0
  69. data/lib/pangea/resources/aws_appsync_resolver/resource.rb +115 -0
  70. data/lib/pangea/resources/aws_appsync_resolver/types.rb +137 -0
  71. data/lib/pangea/resources/aws_athena_database/resource.rb +103 -0
  72. data/lib/pangea/resources/aws_athena_database/types.rb +190 -0
  73. data/lib/pangea/resources/aws_athena_database/types.rbs +38 -0
  74. data/lib/pangea/resources/aws_athena_named_query/resource.rb +74 -0
  75. data/lib/pangea/resources/aws_athena_named_query/types/query_analysis.rb +148 -0
  76. data/lib/pangea/resources/aws_athena_named_query/types/query_templates.rb +88 -0
  77. data/lib/pangea/resources/aws_athena_named_query/types.rb +80 -0
  78. data/lib/pangea/resources/aws_athena_named_query/types.rbs +42 -0
  79. data/lib/pangea/resources/aws_athena_workgroup/resource.rb +138 -0
  80. data/lib/pangea/resources/aws_athena_workgroup/types/attributes.rb +101 -0
  81. data/lib/pangea/resources/aws_athena_workgroup/types/class_methods.rb +102 -0
  82. data/lib/pangea/resources/aws_athena_workgroup/types/instance_methods.rb +104 -0
  83. data/lib/pangea/resources/aws_athena_workgroup/types/validation.rb +56 -0
  84. data/lib/pangea/resources/aws_athena_workgroup/types.rb +21 -0
  85. data/lib/pangea/resources/aws_athena_workgroup/types.rbs +38 -0
  86. data/lib/pangea/resources/aws_autoscaling_attachment/resource.rb +78 -0
  87. data/lib/pangea/resources/aws_autoscaling_attachment/types.rb +85 -0
  88. data/lib/pangea/resources/aws_autoscaling_group/resource.rb +172 -0
  89. data/lib/pangea/resources/aws_autoscaling_group/types/auto_scaling_tag.rb +42 -0
  90. data/lib/pangea/resources/aws_autoscaling_group/types/instance_refresh_preferences.rb +39 -0
  91. data/lib/pangea/resources/aws_autoscaling_group/types/launch_template_specification.rb +57 -0
  92. data/lib/pangea/resources/aws_autoscaling_group/types.rb +187 -0
  93. data/lib/pangea/resources/aws_autoscaling_group_tag/resource.rb +63 -0
  94. data/lib/pangea/resources/aws_autoscaling_group_tag/types.rb +44 -0
  95. data/lib/pangea/resources/aws_autoscaling_lifecycle_hook/resource.rb +63 -0
  96. data/lib/pangea/resources/aws_autoscaling_lifecycle_hook/types.rb +44 -0
  97. data/lib/pangea/resources/aws_autoscaling_lifecycle_hook/types.rbs +42 -0
  98. data/lib/pangea/resources/aws_autoscaling_notification/resource.rb +63 -0
  99. data/lib/pangea/resources/aws_autoscaling_notification/types.rb +44 -0
  100. data/lib/pangea/resources/aws_autoscaling_notification/types.rbs +41 -0
  101. data/lib/pangea/resources/aws_autoscaling_policy/resource.rb +165 -0
  102. data/lib/pangea/resources/aws_autoscaling_policy/types/predictive_scaling_configuration.rb +42 -0
  103. data/lib/pangea/resources/aws_autoscaling_policy/types/step_adjustment.rb +38 -0
  104. data/lib/pangea/resources/aws_autoscaling_policy/types/target_tracking_configuration.rb +87 -0
  105. data/lib/pangea/resources/aws_autoscaling_policy/types.rb +180 -0
  106. data/lib/pangea/resources/aws_autoscaling_policy_step_adjustment/resource.rb +63 -0
  107. data/lib/pangea/resources/aws_autoscaling_policy_step_adjustment/types.rb +44 -0
  108. data/lib/pangea/resources/aws_autoscaling_policy_target_tracking_scaling_policy/resource.rb +63 -0
  109. data/lib/pangea/resources/aws_autoscaling_policy_target_tracking_scaling_policy/types.rb +44 -0
  110. data/lib/pangea/resources/aws_autoscaling_schedule/resource.rb +63 -0
  111. data/lib/pangea/resources/aws_autoscaling_schedule/types.rb +44 -0
  112. data/lib/pangea/resources/aws_autoscaling_schedule/types.rbs +45 -0
  113. data/lib/pangea/resources/aws_autoscaling_tag/resource.rb +116 -0
  114. data/lib/pangea/resources/aws_autoscaling_tag/types/tag_queries.rb +121 -0
  115. data/lib/pangea/resources/aws_autoscaling_tag/types/tag_specification.rb +44 -0
  116. data/lib/pangea/resources/aws_autoscaling_tag/types/tag_validator.rb +103 -0
  117. data/lib/pangea/resources/aws_autoscaling_tag/types.rb +60 -0
  118. data/lib/pangea/resources/aws_autoscaling_tag/types.rbs +60 -0
  119. data/lib/pangea/resources/aws_autoscaling_traffic_source_attachment/resource.rb +63 -0
  120. data/lib/pangea/resources/aws_autoscaling_traffic_source_attachment/types.rb +44 -0
  121. data/lib/pangea/resources/aws_autoscaling_warm_pool/resource.rb +63 -0
  122. data/lib/pangea/resources/aws_autoscaling_warm_pool/types.rb +44 -0
  123. data/lib/pangea/resources/aws_batch_compute_environment/resource.rb +102 -0
  124. data/lib/pangea/resources/aws_batch_compute_environment/types/attributes.rb +88 -0
  125. data/lib/pangea/resources/aws_batch_compute_environment/types/helpers.rb +54 -0
  126. data/lib/pangea/resources/aws_batch_compute_environment/types/templates.rb +153 -0
  127. data/lib/pangea/resources/aws_batch_compute_environment/types/validators.rb +144 -0
  128. data/lib/pangea/resources/aws_batch_compute_environment/types.rb +23 -0
  129. data/lib/pangea/resources/aws_batch_job_definition/resource.rb +68 -0
  130. data/lib/pangea/resources/aws_batch_job_definition/synthesis/synthesizer.rb +159 -0
  131. data/lib/pangea/resources/aws_batch_job_definition/types/computed.rb +64 -0
  132. data/lib/pangea/resources/aws_batch_job_definition/types/configurations.rb +75 -0
  133. data/lib/pangea/resources/aws_batch_job_definition/types/templates.rb +156 -0
  134. data/lib/pangea/resources/aws_batch_job_definition/types/validation.rb +154 -0
  135. data/lib/pangea/resources/aws_batch_job_definition/types.rb +86 -0
  136. data/lib/pangea/resources/aws_batch_job_queue/resource.rb +69 -0
  137. data/lib/pangea/resources/aws_batch_job_queue/types/attributes.rb +76 -0
  138. data/lib/pangea/resources/aws_batch_job_queue/types/templates.rb +133 -0
  139. data/lib/pangea/resources/aws_batch_job_queue/types.rb +18 -0
  140. data/lib/pangea/resources/aws_billing_service_account/resource.rb +53 -0
  141. data/lib/pangea/resources/aws_billing_service_account/types.rb +42 -0
  142. data/lib/pangea/resources/aws_blockchain_query/resource.rb +119 -0
  143. data/lib/pangea/resources/aws_blockchain_query/types/attributes.rb +69 -0
  144. data/lib/pangea/resources/aws_blockchain_query/types/helpers.rb +24 -0
  145. data/lib/pangea/resources/aws_blockchain_query/types/validators.rb +24 -0
  146. data/lib/pangea/resources/aws_blockchain_query/types.rb +19 -0
  147. data/lib/pangea/resources/aws_blockchain_token_balance/resource.rb +91 -0
  148. data/lib/pangea/resources/aws_blockchain_token_balance/types/attributes.rb +67 -0
  149. data/lib/pangea/resources/aws_blockchain_token_balance/types/network_helpers.rb +83 -0
  150. data/lib/pangea/resources/aws_blockchain_token_balance/types/query_helpers.rb +94 -0
  151. data/lib/pangea/resources/aws_blockchain_token_balance/types/token_helpers.rb +89 -0
  152. data/lib/pangea/resources/aws_blockchain_token_balance/types/validation.rb +86 -0
  153. data/lib/pangea/resources/aws_blockchain_token_balance/types.rb +23 -0
  154. data/lib/pangea/resources/aws_braket_device/resource.rb +115 -0
  155. data/lib/pangea/resources/aws_braket_device/types/helpers.rb +113 -0
  156. data/lib/pangea/resources/aws_braket_device/types/validations.rb +80 -0
  157. data/lib/pangea/resources/aws_braket_device/types.rb +106 -0
  158. data/lib/pangea/resources/aws_braket_device_capabilities/resource.rb +83 -0
  159. data/lib/pangea/resources/aws_braket_device_capabilities/types/capability_support.rb +60 -0
  160. data/lib/pangea/resources/aws_braket_device_capabilities/types/device_classification.rb +66 -0
  161. data/lib/pangea/resources/aws_braket_device_capabilities/types/device_specs.rb +93 -0
  162. data/lib/pangea/resources/aws_braket_device_capabilities/types/execution_params.rb +60 -0
  163. data/lib/pangea/resources/aws_braket_device_capabilities/types.rb +76 -0
  164. data/lib/pangea/resources/aws_braket_job/resource.rb +159 -0
  165. data/lib/pangea/resources/aws_braket_job/types/attributes.rb +81 -0
  166. data/lib/pangea/resources/aws_braket_job/types/constants.rb +41 -0
  167. data/lib/pangea/resources/aws_braket_job/types/instance_methods.rb +71 -0
  168. data/lib/pangea/resources/aws_braket_job/types/validation.rb +69 -0
  169. data/lib/pangea/resources/aws_braket_job/types.rb +10 -0
  170. data/lib/pangea/resources/aws_braket_job_queue/resource.rb +108 -0
  171. data/lib/pangea/resources/aws_braket_job_queue/types/cost_estimation.rb +64 -0
  172. data/lib/pangea/resources/aws_braket_job_queue/types/helpers.rb +100 -0
  173. data/lib/pangea/resources/aws_braket_job_queue/types/validators.rb +72 -0
  174. data/lib/pangea/resources/aws_braket_job_queue/types.rb +84 -0
  175. data/lib/pangea/resources/aws_braket_local_simulator/resource.rb +146 -0
  176. data/lib/pangea/resources/aws_braket_local_simulator/types/helpers.rb +143 -0
  177. data/lib/pangea/resources/aws_braket_local_simulator/types/validators.rb +91 -0
  178. data/lib/pangea/resources/aws_braket_local_simulator/types.rb +96 -0
  179. data/lib/pangea/resources/aws_braket_quantum_task/resource.rb +87 -0
  180. data/lib/pangea/resources/aws_braket_quantum_task/types.rb +167 -0
  181. data/lib/pangea/resources/aws_budgets_budget/resource.rb +197 -0
  182. data/lib/pangea/resources/aws_budgets_budget/types/attributes.rb +68 -0
  183. data/lib/pangea/resources/aws_budgets_budget/types/enums.rb +54 -0
  184. data/lib/pangea/resources/aws_budgets_budget/types/helpers.rb +122 -0
  185. data/lib/pangea/resources/aws_budgets_budget/types/schemas.rb +175 -0
  186. data/lib/pangea/resources/aws_budgets_budget/types.rb +23 -0
  187. data/lib/pangea/resources/aws_budgets_budget_action/resource.rb +198 -0
  188. data/lib/pangea/resources/aws_budgets_budget_action/types/attributes.rb +104 -0
  189. data/lib/pangea/resources/aws_budgets_budget_action/types/definitions.rb +53 -0
  190. data/lib/pangea/resources/aws_budgets_budget_action/types.rb +19 -0
  191. data/lib/pangea/resources/aws_ce_anomaly_detector/resource.rb +62 -0
  192. data/lib/pangea/resources/aws_ce_anomaly_detector/types.rb +69 -0
  193. data/lib/pangea/resources/aws_ce_anomaly_subscription/resource.rb +59 -0
  194. data/lib/pangea/resources/aws_ce_anomaly_subscription/types.rb +58 -0
  195. data/lib/pangea/resources/aws_ce_cost_category/expression_builder.rb +84 -0
  196. data/lib/pangea/resources/aws_ce_cost_category/resource.rb +149 -0
  197. data/lib/pangea/resources/aws_ce_cost_category/types/attributes.rb +152 -0
  198. data/lib/pangea/resources/aws_ce_cost_category/types/expressions.rb +157 -0
  199. data/lib/pangea/resources/aws_ce_cost_category/types.rb +19 -0
  200. data/lib/pangea/resources/aws_cloudformation_stack/resource.rb +136 -0
  201. data/lib/pangea/resources/aws_cloudformation_stack/types/configs.rb +91 -0
  202. data/lib/pangea/resources/aws_cloudformation_stack/types/instance_methods.rb +79 -0
  203. data/lib/pangea/resources/aws_cloudformation_stack/types/validation.rb +88 -0
  204. data/lib/pangea/resources/aws_cloudformation_stack/types.rb +84 -0
  205. data/lib/pangea/resources/aws_cloudformation_stack/types.rbs +46 -0
  206. data/lib/pangea/resources/aws_cloudformation_stack_set/resource.rb +149 -0
  207. data/lib/pangea/resources/aws_cloudformation_stack_set/types/configs.rb +120 -0
  208. data/lib/pangea/resources/aws_cloudformation_stack_set/types/helpers.rb +89 -0
  209. data/lib/pangea/resources/aws_cloudformation_stack_set/types/validators.rb +120 -0
  210. data/lib/pangea/resources/aws_cloudformation_stack_set/types.rb +95 -0
  211. data/lib/pangea/resources/aws_cloudformation_stack_set/types.rbs +48 -0
  212. data/lib/pangea/resources/aws_cloudfront_cache_policy/resource.rb +81 -0
  213. data/lib/pangea/resources/aws_cloudfront_cache_policy/types.rb +57 -0
  214. data/lib/pangea/resources/aws_cloudfront_distribution/builders/cache_behavior_builder.rb +88 -0
  215. data/lib/pangea/resources/aws_cloudfront_distribution/builders/origin_builder.rb +82 -0
  216. data/lib/pangea/resources/aws_cloudfront_distribution/builders/reference_builder.rb +62 -0
  217. data/lib/pangea/resources/aws_cloudfront_distribution/builders/settings_builder.rb +84 -0
  218. data/lib/pangea/resources/aws_cloudfront_distribution/resource.rb +208 -0
  219. data/lib/pangea/resources/aws_cloudfront_distribution/types/attributes.rb +47 -0
  220. data/lib/pangea/resources/aws_cloudfront_distribution/types/instance_methods.rb +59 -0
  221. data/lib/pangea/resources/aws_cloudfront_distribution/types/validation.rb +55 -0
  222. data/lib/pangea/resources/aws_cloudfront_distribution/types.rb +19 -0
  223. data/lib/pangea/resources/aws_cloudfront_key_group/resource.rb +68 -0
  224. data/lib/pangea/resources/aws_cloudfront_key_group/types.rb +189 -0
  225. data/lib/pangea/resources/aws_cloudfront_origin_access_control/resource.rb +65 -0
  226. data/lib/pangea/resources/aws_cloudfront_origin_access_control/types.rb +98 -0
  227. data/lib/pangea/resources/aws_cloudfront_origin_request_policy/resource.rb +73 -0
  228. data/lib/pangea/resources/aws_cloudfront_origin_request_policy/types.rb +48 -0
  229. data/lib/pangea/resources/aws_cloudfront_public_key/resource.rb +66 -0
  230. data/lib/pangea/resources/aws_cloudfront_public_key/types.rb +175 -0
  231. data/lib/pangea/resources/aws_cloudfront_response_headers_policy/resource.rb +172 -0
  232. data/lib/pangea/resources/aws_cloudfront_response_headers_policy/types/attributes.rb +153 -0
  233. data/lib/pangea/resources/aws_cloudfront_response_headers_policy/types/configs.rb +81 -0
  234. data/lib/pangea/resources/aws_cloudfront_response_headers_policy/types.rb +18 -0
  235. data/lib/pangea/resources/aws_cloudtrail/resource.rb +130 -0
  236. data/lib/pangea/resources/aws_cloudtrail/types/attributes.rb +92 -0
  237. data/lib/pangea/resources/aws_cloudtrail/types/configs.rb +87 -0
  238. data/lib/pangea/resources/aws_cloudtrail/types/selectors.rb +42 -0
  239. data/lib/pangea/resources/aws_cloudtrail/types.rb +21 -0
  240. data/lib/pangea/resources/aws_cloudtrail_event_data_store/resource.rb +61 -0
  241. data/lib/pangea/resources/aws_cloudtrail_event_data_store/types.rb +72 -0
  242. data/lib/pangea/resources/aws_cloudwatch_anomaly_detector/resource.rb +100 -0
  243. data/lib/pangea/resources/aws_cloudwatch_composite_alarm/resource.rb +130 -0
  244. data/lib/pangea/resources/aws_cloudwatch_composite_alarm/types.rb +133 -0
  245. data/lib/pangea/resources/aws_cloudwatch_dashboard/resource.rb +153 -0
  246. data/lib/pangea/resources/aws_cloudwatch_dashboard/types/cloudwatch_dashboard_attributes.rb +158 -0
  247. data/lib/pangea/resources/aws_cloudwatch_dashboard/types/dashboard_metric.rb +57 -0
  248. data/lib/pangea/resources/aws_cloudwatch_dashboard/types/dashboard_widget.rb +81 -0
  249. data/lib/pangea/resources/aws_cloudwatch_dashboard/types/dashboard_widget_properties.rb +75 -0
  250. data/lib/pangea/resources/aws_cloudwatch_dashboard/types.rb +25 -0
  251. data/lib/pangea/resources/aws_cloudwatch_event_rule/resource.rb +140 -0
  252. data/lib/pangea/resources/aws_cloudwatch_event_rule/types.rb +180 -0
  253. data/lib/pangea/resources/aws_cloudwatch_event_target/resource.rb +138 -0
  254. data/lib/pangea/resources/aws_cloudwatch_event_target/target_builders.rb +97 -0
  255. data/lib/pangea/resources/aws_cloudwatch_event_target/types/dead_letter_config.rb +38 -0
  256. data/lib/pangea/resources/aws_cloudwatch_event_target/types/input_transformer.rb +42 -0
  257. data/lib/pangea/resources/aws_cloudwatch_event_target/types/retry_policy.rb +42 -0
  258. data/lib/pangea/resources/aws_cloudwatch_event_target/types/target_service_detection.rb +80 -0
  259. data/lib/pangea/resources/aws_cloudwatch_event_target/types/validators.rb +66 -0
  260. data/lib/pangea/resources/aws_cloudwatch_event_target/types.rb +147 -0
  261. data/lib/pangea/resources/aws_cloudwatch_insight_rule/resource.rb +98 -0
  262. data/lib/pangea/resources/aws_cloudwatch_log_data_protection_policy/resource.rb +96 -0
  263. data/lib/pangea/resources/aws_cloudwatch_log_destination/resource.rb +100 -0
  264. data/lib/pangea/resources/aws_cloudwatch_log_destination/types.rb +102 -0
  265. data/lib/pangea/resources/aws_cloudwatch_log_destination_policy/resource.rb +129 -0
  266. data/lib/pangea/resources/aws_cloudwatch_log_destination_policy/types.rb +129 -0
  267. data/lib/pangea/resources/aws_cloudwatch_log_group/resource.rb +117 -0
  268. data/lib/pangea/resources/aws_cloudwatch_log_group/types.rb +137 -0
  269. data/lib/pangea/resources/aws_cloudwatch_log_metric_filter/resource.rb +127 -0
  270. data/lib/pangea/resources/aws_cloudwatch_log_metric_filter/types.rb +138 -0
  271. data/lib/pangea/resources/aws_cloudwatch_log_resource_policy/resource.rb +79 -0
  272. data/lib/pangea/resources/aws_cloudwatch_log_stream/resource.rb +87 -0
  273. data/lib/pangea/resources/aws_cloudwatch_log_stream/types.rb +129 -0
  274. data/lib/pangea/resources/aws_cloudwatch_log_subscription_filter/resource.rb +102 -0
  275. data/lib/pangea/resources/aws_cloudwatch_log_subscription_filter/types.rb +141 -0
  276. data/lib/pangea/resources/aws_cloudwatch_metric_alarm/resource.rb +185 -0
  277. data/lib/pangea/resources/aws_cloudwatch_metric_alarm/types/instance_methods.rb +94 -0
  278. data/lib/pangea/resources/aws_cloudwatch_metric_alarm/types/metric_query.rb +71 -0
  279. data/lib/pangea/resources/aws_cloudwatch_metric_alarm/types/validation.rb +85 -0
  280. data/lib/pangea/resources/aws_cloudwatch_metric_alarm/types.rb +104 -0
  281. data/lib/pangea/resources/aws_cloudwatch_query_definition/resource.rb +90 -0
  282. data/lib/pangea/resources/aws_codeartifact_domain/resource.rb +123 -0
  283. data/lib/pangea/resources/aws_codeartifact_domain/types.rb +130 -0
  284. data/lib/pangea/resources/aws_codeartifact_repository/resource.rb +173 -0
  285. data/lib/pangea/resources/aws_codeartifact_repository/types.rb +195 -0
  286. data/lib/pangea/resources/aws_codebuild_project/block_builders.rb +163 -0
  287. data/lib/pangea/resources/aws_codebuild_project/resource.rb +118 -0
  288. data/lib/pangea/resources/aws_codebuild_project/types/instance_methods.rb +74 -0
  289. data/lib/pangea/resources/aws_codebuild_project/types/schemas.rb +155 -0
  290. data/lib/pangea/resources/aws_codebuild_project/types/validation.rb +88 -0
  291. data/lib/pangea/resources/aws_codebuild_project/types.rb +109 -0
  292. data/lib/pangea/resources/aws_codebuild_project/types.rbs +140 -0
  293. data/lib/pangea/resources/aws_codecommit_repository/resource.rb +97 -0
  294. data/lib/pangea/resources/aws_codecommit_repository/types.rb +120 -0
  295. data/lib/pangea/resources/aws_codecommit_repository/types.rbs +55 -0
  296. data/lib/pangea/resources/aws_codedeploy_application/resource.rb +78 -0
  297. data/lib/pangea/resources/aws_codedeploy_application/types.rb +96 -0
  298. data/lib/pangea/resources/aws_codedeploy_deployment_config/resource.rb +94 -0
  299. data/lib/pangea/resources/aws_codedeploy_deployment_config/types.rb +141 -0
  300. data/lib/pangea/resources/aws_codedeploy_deployment_group/block_builders.rb +104 -0
  301. data/lib/pangea/resources/aws_codedeploy_deployment_group/resource.rb +156 -0
  302. data/lib/pangea/resources/aws_codedeploy_deployment_group/types/deployment.rb +65 -0
  303. data/lib/pangea/resources/aws_codedeploy_deployment_group/types/helpers.rb +85 -0
  304. data/lib/pangea/resources/aws_codedeploy_deployment_group/types/infrastructure.rb +76 -0
  305. data/lib/pangea/resources/aws_codedeploy_deployment_group/types/tag_filters.rb +43 -0
  306. data/lib/pangea/resources/aws_codedeploy_deployment_group/types.rb +96 -0
  307. data/lib/pangea/resources/aws_codepipeline/resource.rb +123 -0
  308. data/lib/pangea/resources/aws_codepipeline/types/attributes.rb +130 -0
  309. data/lib/pangea/resources/aws_codepipeline/types/instance_methods.rb +85 -0
  310. data/lib/pangea/resources/aws_codepipeline/types/validation.rb +64 -0
  311. data/lib/pangea/resources/aws_codepipeline/types.rb +23 -0
  312. data/lib/pangea/resources/aws_codepipeline_webhook/resource.rb +91 -0
  313. data/lib/pangea/resources/aws_codepipeline_webhook/types.rb +132 -0
  314. data/lib/pangea/resources/aws_codestar_connection/resource.rb +133 -0
  315. data/lib/pangea/resources/aws_codestar_connection/types.rb +188 -0
  316. data/lib/pangea/resources/aws_cognito_identity_pool/resource.rb +107 -0
  317. data/lib/pangea/resources/aws_cognito_identity_pool/types/attributes.rb +106 -0
  318. data/lib/pangea/resources/aws_cognito_identity_pool/types/providers.rb +38 -0
  319. data/lib/pangea/resources/aws_cognito_identity_pool/types/templates.rb +75 -0
  320. data/lib/pangea/resources/aws_cognito_identity_pool/types.rb +8 -0
  321. data/lib/pangea/resources/aws_cognito_identity_provider/resource.rb +88 -0
  322. data/lib/pangea/resources/aws_cognito_identity_provider/types/attributes.rb +62 -0
  323. data/lib/pangea/resources/aws_cognito_identity_provider/types/templates.rb +70 -0
  324. data/lib/pangea/resources/aws_cognito_identity_provider/types/validation.rb +66 -0
  325. data/lib/pangea/resources/aws_cognito_identity_provider/types.rb +8 -0
  326. data/lib/pangea/resources/aws_cognito_user/resource.rb +78 -0
  327. data/lib/pangea/resources/aws_cognito_user/types.rb +153 -0
  328. data/lib/pangea/resources/aws_cognito_user_group/resource.rb +61 -0
  329. data/lib/pangea/resources/aws_cognito_user_group/types.rb +132 -0
  330. data/lib/pangea/resources/aws_cognito_user_pool/resource/dsl_builder/authentication_config.rb +63 -0
  331. data/lib/pangea/resources/aws_cognito_user_pool/resource/dsl_builder/messaging_config.rb +73 -0
  332. data/lib/pangea/resources/aws_cognito_user_pool/resource/dsl_builder/mfa_config.rb +57 -0
  333. data/lib/pangea/resources/aws_cognito_user_pool/resource/dsl_builder/schema_and_settings.rb +146 -0
  334. data/lib/pangea/resources/aws_cognito_user_pool/resource/dsl_builder.rb +42 -0
  335. data/lib/pangea/resources/aws_cognito_user_pool/resource.rb +247 -0
  336. data/lib/pangea/resources/aws_cognito_user_pool/types/attributes.rb +88 -0
  337. data/lib/pangea/resources/aws_cognito_user_pool/types/nested_types.rb +112 -0
  338. data/lib/pangea/resources/aws_cognito_user_pool/types/templates.rb +58 -0
  339. data/lib/pangea/resources/aws_cognito_user_pool/types.rb +20 -0
  340. data/lib/pangea/resources/aws_cognito_user_pool_client/resource.rb +136 -0
  341. data/lib/pangea/resources/aws_cognito_user_pool_client/types/attributes.rb +108 -0
  342. data/lib/pangea/resources/aws_cognito_user_pool_client/types/nested_types.rb +27 -0
  343. data/lib/pangea/resources/aws_cognito_user_pool_client/types/templates.rb +86 -0
  344. data/lib/pangea/resources/aws_cognito_user_pool_client/types.rb +20 -0
  345. data/lib/pangea/resources/aws_cognito_user_pool_domain/resource.rb +68 -0
  346. data/lib/pangea/resources/aws_cognito_user_pool_domain/types/attributes.rb +125 -0
  347. data/lib/pangea/resources/aws_cognito_user_pool_domain/types/templates.rb +85 -0
  348. data/lib/pangea/resources/aws_cognito_user_pool_domain/types/validation.rb +73 -0
  349. data/lib/pangea/resources/aws_cognito_user_pool_domain/types.rb +19 -0
  350. data/lib/pangea/resources/aws_config_aggregate_authorization/resource.rb +64 -0
  351. data/lib/pangea/resources/aws_config_aggregate_authorization/types.rb +53 -0
  352. data/lib/pangea/resources/aws_config_config_rule/resource.rb +187 -0
  353. data/lib/pangea/resources/aws_config_config_rule/types/cost_estimator.rb +77 -0
  354. data/lib/pangea/resources/aws_config_config_rule/types/validators.rb +94 -0
  355. data/lib/pangea/resources/aws_config_config_rule/types.rb +103 -0
  356. data/lib/pangea/resources/aws_config_configuration_aggregator_organization/resource.rb +65 -0
  357. data/lib/pangea/resources/aws_config_configuration_aggregator_organization/types.rb +56 -0
  358. data/lib/pangea/resources/aws_config_configuration_recorder/resource.rb +136 -0
  359. data/lib/pangea/resources/aws_config_configuration_recorder/types.rb +155 -0
  360. data/lib/pangea/resources/aws_config_delivery_channel/resource.rb +138 -0
  361. data/lib/pangea/resources/aws_config_delivery_channel/types.rb +194 -0
  362. data/lib/pangea/resources/aws_config_organization_conformance_pack/resource.rb +79 -0
  363. data/lib/pangea/resources/aws_config_organization_conformance_pack/types.rb +77 -0
  364. data/lib/pangea/resources/aws_config_organization_custom_rule/resource.rb +75 -0
  365. data/lib/pangea/resources/aws_config_organization_custom_rule/types.rb +68 -0
  366. data/lib/pangea/resources/aws_config_organization_managed_rule/resource.rb +75 -0
  367. data/lib/pangea/resources/aws_config_organization_managed_rule/types.rb +66 -0
  368. data/lib/pangea/resources/aws_config_remediation_configuration/resource.rb +76 -0
  369. data/lib/pangea/resources/aws_config_remediation_configuration/types.rb +119 -0
  370. data/lib/pangea/resources/aws_config_retention_configuration/resource.rb +51 -0
  371. data/lib/pangea/resources/aws_config_retention_configuration/types.rb +47 -0
  372. data/lib/pangea/resources/aws_config_stored_query/resource.rb +65 -0
  373. data/lib/pangea/resources/aws_config_stored_query/types.rb +56 -0
  374. data/lib/pangea/resources/aws_cur_report_definition/resource.rb +60 -0
  375. data/lib/pangea/resources/aws_cur_report_definition/types.rb +77 -0
  376. data/lib/pangea/resources/aws_customer_gateway/resource.rb +89 -0
  377. data/lib/pangea/resources/aws_customer_gateway/types.rb +115 -0
  378. data/lib/pangea/resources/aws_db_cluster_snapshot/resource.rb +92 -0
  379. data/lib/pangea/resources/aws_db_cluster_snapshot/types/configs.rb +117 -0
  380. data/lib/pangea/resources/aws_db_cluster_snapshot/types.rb +149 -0
  381. data/lib/pangea/resources/aws_db_instance/resource.rb +123 -0
  382. data/lib/pangea/resources/aws_db_instance/types/backup_attributes.rb +38 -0
  383. data/lib/pangea/resources/aws_db_instance/types/core_attributes.rb +58 -0
  384. data/lib/pangea/resources/aws_db_instance/types/engine_configs.rb +68 -0
  385. data/lib/pangea/resources/aws_db_instance/types/helpers.rb +92 -0
  386. data/lib/pangea/resources/aws_db_instance/types/monitoring_attributes.rb +38 -0
  387. data/lib/pangea/resources/aws_db_instance/types/network_attributes.rb +44 -0
  388. data/lib/pangea/resources/aws_db_instance/types/options_attributes.rb +44 -0
  389. data/lib/pangea/resources/aws_db_instance/types/storage_attributes.rb +44 -0
  390. data/lib/pangea/resources/aws_db_instance/types/validations.rb +85 -0
  391. data/lib/pangea/resources/aws_db_instance/types.rb +70 -0
  392. data/lib/pangea/resources/aws_db_parameter_group/resource.rb +91 -0
  393. data/lib/pangea/resources/aws_db_parameter_group/types/db_parameter.rb +59 -0
  394. data/lib/pangea/resources/aws_db_parameter_group/types/db_parameter_configs.rb +82 -0
  395. data/lib/pangea/resources/aws_db_parameter_group/types/parameter_validators.rb +73 -0
  396. data/lib/pangea/resources/aws_db_parameter_group/types.rb +162 -0
  397. data/lib/pangea/resources/aws_db_snapshot/resource.rb +89 -0
  398. data/lib/pangea/resources/aws_db_snapshot/types.rb +173 -0
  399. data/lib/pangea/resources/aws_db_subnet_group/resource.rb +74 -0
  400. data/lib/pangea/resources/aws_db_subnet_group/types.rb +103 -0
  401. data/lib/pangea/resources/aws_default_network_acl/resource.rb +63 -0
  402. data/lib/pangea/resources/aws_default_network_acl/types.rb +44 -0
  403. data/lib/pangea/resources/aws_default_route_table/resource.rb +63 -0
  404. data/lib/pangea/resources/aws_default_route_table/types.rb +44 -0
  405. data/lib/pangea/resources/aws_default_security_group/resource.rb +63 -0
  406. data/lib/pangea/resources/aws_default_security_group/types.rb +44 -0
  407. data/lib/pangea/resources/aws_default_vpc_dhcp_options/resource.rb +63 -0
  408. data/lib/pangea/resources/aws_default_vpc_dhcp_options/types.rb +44 -0
  409. data/lib/pangea/resources/aws_device_farm_project/resource.rb +75 -0
  410. data/lib/pangea/resources/aws_device_farm_project/types.rb +52 -0
  411. data/lib/pangea/resources/aws_directory_service_directory/resource.rb +31 -0
  412. data/lib/pangea/resources/aws_docdb_certificate/resource.rb +70 -0
  413. data/lib/pangea/resources/aws_docdb_certificate/types.rb +46 -0
  414. data/lib/pangea/resources/aws_docdb_cluster/resource.rb +92 -0
  415. data/lib/pangea/resources/aws_docdb_cluster/types.rb +68 -0
  416. data/lib/pangea/resources/aws_docdb_cluster_endpoint/resource.rb +70 -0
  417. data/lib/pangea/resources/aws_docdb_cluster_endpoint/types.rb +50 -0
  418. data/lib/pangea/resources/aws_docdb_cluster_instance/resource.rb +85 -0
  419. data/lib/pangea/resources/aws_docdb_cluster_instance/types.rb +59 -0
  420. data/lib/pangea/resources/aws_docdb_cluster_parameter_group/resource.rb +67 -0
  421. data/lib/pangea/resources/aws_docdb_cluster_parameter_group/types.rb +49 -0
  422. data/lib/pangea/resources/aws_docdb_cluster_snapshot/resource.rb +76 -0
  423. data/lib/pangea/resources/aws_docdb_cluster_snapshot/types.rb +47 -0
  424. data/lib/pangea/resources/aws_docdb_event_subscription/resource.rb +70 -0
  425. data/lib/pangea/resources/aws_docdb_event_subscription/types.rb +51 -0
  426. data/lib/pangea/resources/aws_docdb_global_cluster/resource.rb +72 -0
  427. data/lib/pangea/resources/aws_docdb_global_cluster/types.rb +52 -0
  428. data/lib/pangea/resources/aws_docdb_subnet_group/resource.rb +66 -0
  429. data/lib/pangea/resources/aws_docdb_subnet_group/types.rb +48 -0
  430. data/lib/pangea/resources/aws_drs_launch_configuration_template/resource.rb +180 -0
  431. data/lib/pangea/resources/aws_drs_replication_configuration_template/resource.rb +153 -0
  432. data/lib/pangea/resources/aws_dynamodb_global_table/resource.rb +131 -0
  433. data/lib/pangea/resources/aws_dynamodb_global_table/types/configs.rb +105 -0
  434. data/lib/pangea/resources/aws_dynamodb_global_table/types/instance_methods.rb +68 -0
  435. data/lib/pangea/resources/aws_dynamodb_global_table/types.rb +125 -0
  436. data/lib/pangea/resources/aws_dynamodb_global_table/types.rbs +39 -0
  437. data/lib/pangea/resources/aws_dynamodb_kinesis_streaming_destination/resource.rb +67 -0
  438. data/lib/pangea/resources/aws_dynamodb_kinesis_streaming_destination/types.rb +69 -0
  439. data/lib/pangea/resources/aws_dynamodb_table/builders/config_builder.rb +147 -0
  440. data/lib/pangea/resources/aws_dynamodb_table/builders/index_builder.rb +62 -0
  441. data/lib/pangea/resources/aws_dynamodb_table/builders/reference_builder.rb +64 -0
  442. data/lib/pangea/resources/aws_dynamodb_table/builders/table_builder.rb +60 -0
  443. data/lib/pangea/resources/aws_dynamodb_table/resource.rb +162 -0
  444. data/lib/pangea/resources/aws_dynamodb_table/types/attributes.rb +150 -0
  445. data/lib/pangea/resources/aws_dynamodb_table/types/configs.rb +109 -0
  446. data/lib/pangea/resources/aws_dynamodb_table/types/instance_methods.rb +82 -0
  447. data/lib/pangea/resources/aws_dynamodb_table/types/validations.rb +139 -0
  448. data/lib/pangea/resources/aws_dynamodb_table/types.rb +31 -0
  449. data/lib/pangea/resources/aws_dynamodb_table/types.rbs +55 -0
  450. data/lib/pangea/resources/aws_dynamodb_table_export/resource.rb +82 -0
  451. data/lib/pangea/resources/aws_dynamodb_table_export/types.rb +93 -0
  452. data/lib/pangea/resources/aws_ebs_volume/resource.rb +111 -0
  453. data/lib/pangea/resources/aws_ebs_volume/types/attributes.rb +76 -0
  454. data/lib/pangea/resources/aws_ebs_volume/types/instance_methods.rb +121 -0
  455. data/lib/pangea/resources/aws_ebs_volume/types/validation.rb +114 -0
  456. data/lib/pangea/resources/aws_ebs_volume/types.rb +29 -0
  457. data/lib/pangea/resources/aws_ec2_ami_launch_permission/resource.rb +63 -0
  458. data/lib/pangea/resources/aws_ec2_ami_launch_permission/types.rb +44 -0
  459. data/lib/pangea/resources/aws_ec2_availability_zone_group/resource.rb +63 -0
  460. data/lib/pangea/resources/aws_ec2_availability_zone_group/types.rb +44 -0
  461. data/lib/pangea/resources/aws_ec2_capacity_block_reservation/resource.rb +63 -0
  462. data/lib/pangea/resources/aws_ec2_capacity_block_reservation/types.rb +44 -0
  463. data/lib/pangea/resources/aws_ec2_capacity_reservation/resource.rb +63 -0
  464. data/lib/pangea/resources/aws_ec2_capacity_reservation/types.rb +44 -0
  465. data/lib/pangea/resources/aws_ec2_dedicated_host/resource.rb +63 -0
  466. data/lib/pangea/resources/aws_ec2_dedicated_host/types.rb +44 -0
  467. data/lib/pangea/resources/aws_ec2_fleet/resource.rb +63 -0
  468. data/lib/pangea/resources/aws_ec2_fleet/types.rb +44 -0
  469. data/lib/pangea/resources/aws_ec2_host_resource_group_association/resource.rb +63 -0
  470. data/lib/pangea/resources/aws_ec2_host_resource_group_association/types.rb +44 -0
  471. data/lib/pangea/resources/aws_ec2_image_block_public_access/resource.rb +63 -0
  472. data/lib/pangea/resources/aws_ec2_image_block_public_access/types.rb +44 -0
  473. data/lib/pangea/resources/aws_ec2_instance_metadata_defaults/resource.rb +63 -0
  474. data/lib/pangea/resources/aws_ec2_instance_metadata_defaults/types.rb +44 -0
  475. data/lib/pangea/resources/aws_ec2_serial_console_access/resource.rb +63 -0
  476. data/lib/pangea/resources/aws_ec2_serial_console_access/types.rb +44 -0
  477. data/lib/pangea/resources/aws_ec2_snapshot_block_public_access/resource.rb +63 -0
  478. data/lib/pangea/resources/aws_ec2_snapshot_block_public_access/types.rb +44 -0
  479. data/lib/pangea/resources/aws_ec2_spot_datafeed_subscription/resource.rb +63 -0
  480. data/lib/pangea/resources/aws_ec2_spot_datafeed_subscription/types.rb +44 -0
  481. data/lib/pangea/resources/aws_ec2_spot_fleet_request/resource.rb +63 -0
  482. data/lib/pangea/resources/aws_ec2_spot_fleet_request/types.rb +44 -0
  483. data/lib/pangea/resources/aws_ec2_spot_instance_request/resource.rb +63 -0
  484. data/lib/pangea/resources/aws_ec2_spot_instance_request/types.rb +44 -0
  485. data/lib/pangea/resources/aws_ec2_tag/resource.rb +63 -0
  486. data/lib/pangea/resources/aws_ec2_tag/types.rb +44 -0
  487. data/lib/pangea/resources/aws_ec2_transit_gateway/resource.rb +111 -0
  488. data/lib/pangea/resources/aws_ec2_transit_gateway/types.rb +123 -0
  489. data/lib/pangea/resources/aws_ec2_transit_gateway_multicast_domain/resource.rb +63 -0
  490. data/lib/pangea/resources/aws_ec2_transit_gateway_multicast_domain/types.rb +44 -0
  491. data/lib/pangea/resources/aws_ec2_transit_gateway_multicast_domain_association/resource.rb +63 -0
  492. data/lib/pangea/resources/aws_ec2_transit_gateway_multicast_domain_association/types.rb +44 -0
  493. data/lib/pangea/resources/aws_ec2_transit_gateway_multicast_group_member/resource.rb +63 -0
  494. data/lib/pangea/resources/aws_ec2_transit_gateway_multicast_group_member/types.rb +44 -0
  495. data/lib/pangea/resources/aws_ec2_transit_gateway_route/resource.rb +78 -0
  496. data/lib/pangea/resources/aws_ec2_transit_gateway_route/types/network_analysis.rb +91 -0
  497. data/lib/pangea/resources/aws_ec2_transit_gateway_route/types/security_analysis.rb +144 -0
  498. data/lib/pangea/resources/aws_ec2_transit_gateway_route/types.rb +84 -0
  499. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table/resource.rb +74 -0
  500. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table/types.rb +170 -0
  501. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_association/resource.rb +71 -0
  502. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_association/types.rb +170 -0
  503. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_propagation/resource.rb +67 -0
  504. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_propagation/types/propagation_insights.rb +100 -0
  505. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_propagation/types/security_concerns.rb +67 -0
  506. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_propagation/types/troubleshooting_support.rb +68 -0
  507. data/lib/pangea/resources/aws_ec2_transit_gateway_route_table_propagation/types.rb +58 -0
  508. data/lib/pangea/resources/aws_ec2_transit_gateway_vpc_attachment/resource.rb +98 -0
  509. data/lib/pangea/resources/aws_ec2_transit_gateway_vpc_attachment/types.rb +151 -0
  510. data/lib/pangea/resources/aws_ecr_lifecycle_policy/resource.rb +161 -0
  511. data/lib/pangea/resources/aws_ecr_lifecycle_policy/types/computed.rb +110 -0
  512. data/lib/pangea/resources/aws_ecr_lifecycle_policy/types/validation.rb +69 -0
  513. data/lib/pangea/resources/aws_ecr_lifecycle_policy/types.rb +95 -0
  514. data/lib/pangea/resources/aws_ecr_replication_configuration/resource.rb +144 -0
  515. data/lib/pangea/resources/aws_ecr_replication_configuration/types.rb +168 -0
  516. data/lib/pangea/resources/aws_ecr_repository/resource.rb +132 -0
  517. data/lib/pangea/resources/aws_ecr_repository/types.rb +128 -0
  518. data/lib/pangea/resources/aws_ecr_repository_policy/resource.rb +130 -0
  519. data/lib/pangea/resources/aws_ecr_repository_policy/types.rb +192 -0
  520. data/lib/pangea/resources/aws_ecs_capacity_provider/resource.rb +103 -0
  521. data/lib/pangea/resources/aws_ecs_capacity_provider/types.rb +109 -0
  522. data/lib/pangea/resources/aws_ecs_cluster/resource.rb +115 -0
  523. data/lib/pangea/resources/aws_ecs_cluster/types.rb +156 -0
  524. data/lib/pangea/resources/aws_ecs_cluster_capacity_providers/resource.rb +76 -0
  525. data/lib/pangea/resources/aws_ecs_cluster_capacity_providers/types.rb +169 -0
  526. data/lib/pangea/resources/aws_ecs_service/dsl_builders.rb +193 -0
  527. data/lib/pangea/resources/aws_ecs_service/reference_builder.rb +53 -0
  528. data/lib/pangea/resources/aws_ecs_service/resource.rb +196 -0
  529. data/lib/pangea/resources/aws_ecs_service/types/attributes.rb +61 -0
  530. data/lib/pangea/resources/aws_ecs_service/types/helpers.rb +34 -0
  531. data/lib/pangea/resources/aws_ecs_service/types/nested.rb +76 -0
  532. data/lib/pangea/resources/aws_ecs_service/types.rb +7 -0
  533. data/lib/pangea/resources/aws_ecs_task_definition/container_definitions.rb +191 -0
  534. data/lib/pangea/resources/aws_ecs_task_definition/resource.rb +205 -0
  535. data/lib/pangea/resources/aws_ecs_task_definition/types/container_definition.rb +121 -0
  536. data/lib/pangea/resources/aws_ecs_task_definition/types/task_definition.rb +100 -0
  537. data/lib/pangea/resources/aws_ecs_task_definition/types.rb +18 -0
  538. data/lib/pangea/resources/aws_ecs_task_definition/volumes.rb +105 -0
  539. data/lib/pangea/resources/aws_efs_access_point/resource.rb +74 -0
  540. data/lib/pangea/resources/aws_efs_access_point/types.rb +184 -0
  541. data/lib/pangea/resources/aws_efs_file_system/resource.rb +86 -0
  542. data/lib/pangea/resources/aws_efs_file_system/types.rb +144 -0
  543. data/lib/pangea/resources/aws_efs_mount_target/resource.rb +65 -0
  544. data/lib/pangea/resources/aws_efs_mount_target/types.rb +99 -0
  545. data/lib/pangea/resources/aws_eip/resource.rb +105 -0
  546. data/lib/pangea/resources/aws_eip/types.rb +101 -0
  547. data/lib/pangea/resources/aws_eip_association/resource.rb +73 -0
  548. data/lib/pangea/resources/aws_eip_association/types.rb +86 -0
  549. data/lib/pangea/resources/aws_eks_access_entry/resource.rb +89 -0
  550. data/lib/pangea/resources/aws_eks_access_entry/types.rb +105 -0
  551. data/lib/pangea/resources/aws_eks_addon/resource.rb +150 -0
  552. data/lib/pangea/resources/aws_eks_addon/types.rb +198 -0
  553. data/lib/pangea/resources/aws_eks_cluster/resource.rb +143 -0
  554. data/lib/pangea/resources/aws_eks_cluster/types.rb +186 -0
  555. data/lib/pangea/resources/aws_eks_fargate_profile/resource.rb +149 -0
  556. data/lib/pangea/resources/aws_eks_fargate_profile/types.rb +144 -0
  557. data/lib/pangea/resources/aws_eks_node_group/builders/dsl_builder.rb +107 -0
  558. data/lib/pangea/resources/aws_eks_node_group/builders/reference_builder.rb +76 -0
  559. data/lib/pangea/resources/aws_eks_node_group/resource.rb +114 -0
  560. data/lib/pangea/resources/aws_eks_node_group/types/eks_node_group_attributes.rb +132 -0
  561. data/lib/pangea/resources/aws_eks_node_group/types/launch_template.rb +58 -0
  562. data/lib/pangea/resources/aws_eks_node_group/types/remote_access.rb +41 -0
  563. data/lib/pangea/resources/aws_eks_node_group/types/scaling_config.rb +62 -0
  564. data/lib/pangea/resources/aws_eks_node_group/types/taint.rb +43 -0
  565. data/lib/pangea/resources/aws_eks_node_group/types/update_config.rb +54 -0
  566. data/lib/pangea/resources/aws_eks_node_group/types.rb +26 -0
  567. data/lib/pangea/resources/aws_elasticache_cluster/resource.rb +131 -0
  568. data/lib/pangea/resources/aws_elasticache_cluster/types/configs.rb +69 -0
  569. data/lib/pangea/resources/aws_elasticache_cluster/types/helpers.rb +97 -0
  570. data/lib/pangea/resources/aws_elasticache_cluster/types/node_types.rb +51 -0
  571. data/lib/pangea/resources/aws_elasticache_cluster/types/validators.rb +114 -0
  572. data/lib/pangea/resources/aws_elasticache_cluster/types.rb +119 -0
  573. data/lib/pangea/resources/aws_elasticache_cluster/types.rbs +41 -0
  574. data/lib/pangea/resources/aws_elasticache_parameter_group/resource.rb +91 -0
  575. data/lib/pangea/resources/aws_elasticache_parameter_group/types/attributes.rb +132 -0
  576. data/lib/pangea/resources/aws_elasticache_parameter_group/types/configs.rb +102 -0
  577. data/lib/pangea/resources/aws_elasticache_parameter_group/types/parameter_helpers.rb +133 -0
  578. data/lib/pangea/resources/aws_elasticache_parameter_group/types.rb +20 -0
  579. data/lib/pangea/resources/aws_elasticache_subnet_group/resource.rb +76 -0
  580. data/lib/pangea/resources/aws_elasticache_subnet_group/types.rb +157 -0
  581. data/lib/pangea/resources/aws_elb_attachment/resource.rb +63 -0
  582. data/lib/pangea/resources/aws_elb_attachment/types.rb +44 -0
  583. data/lib/pangea/resources/aws_elb_service_account/resource.rb +63 -0
  584. data/lib/pangea/resources/aws_elb_service_account/types.rb +44 -0
  585. data/lib/pangea/resources/aws_elemental_data_plane_channel/resource.rb +71 -0
  586. data/lib/pangea/resources/aws_elemental_data_plane_channel/types.rb +64 -0
  587. data/lib/pangea/resources/aws_emr_cluster/resource/dsl_builder/auto_scaling.rb +93 -0
  588. data/lib/pangea/resources/aws_emr_cluster/resource/dsl_builder/cluster_settings.rb +106 -0
  589. data/lib/pangea/resources/aws_emr_cluster/resource/dsl_builder/configurations.rb +75 -0
  590. data/lib/pangea/resources/aws_emr_cluster/resource/dsl_builder/ec2_attributes.rb +56 -0
  591. data/lib/pangea/resources/aws_emr_cluster/resource/dsl_builder/instance_groups.rb +101 -0
  592. data/lib/pangea/resources/aws_emr_cluster/resource/dsl_builder.rb +44 -0
  593. data/lib/pangea/resources/aws_emr_cluster/resource.rb +105 -0
  594. data/lib/pangea/resources/aws_emr_cluster/types/attributes.rb +97 -0
  595. data/lib/pangea/resources/aws_emr_cluster/types/class_methods.rb +114 -0
  596. data/lib/pangea/resources/aws_emr_cluster/types/instance_methods.rb +113 -0
  597. data/lib/pangea/resources/aws_emr_cluster/types/validation.rb +51 -0
  598. data/lib/pangea/resources/aws_emr_cluster/types.rb +21 -0
  599. data/lib/pangea/resources/aws_emr_cluster/types.rbs +67 -0
  600. data/lib/pangea/resources/aws_emr_instance_group/resource.rb +182 -0
  601. data/lib/pangea/resources/aws_emr_instance_group/types/attributes.rb +90 -0
  602. data/lib/pangea/resources/aws_emr_instance_group/types/configs.rb +63 -0
  603. data/lib/pangea/resources/aws_emr_instance_group/types.rb +18 -0
  604. data/lib/pangea/resources/aws_emr_instance_group/types.rbs +51 -0
  605. data/lib/pangea/resources/aws_emr_step/resource.rb +93 -0
  606. data/lib/pangea/resources/aws_emr_step/types/attributes.rb +92 -0
  607. data/lib/pangea/resources/aws_emr_step/types/step_builders.rb +90 -0
  608. data/lib/pangea/resources/aws_emr_step/types.rb +18 -0
  609. data/lib/pangea/resources/aws_emr_step/types.rbs +46 -0
  610. data/lib/pangea/resources/aws_eventbridge_bus/resource.rb +75 -0
  611. data/lib/pangea/resources/aws_eventbridge_bus/types.rb +175 -0
  612. data/lib/pangea/resources/aws_eventbridge_bus/types.rbs +32 -0
  613. data/lib/pangea/resources/aws_eventbridge_rule/resource.rb +92 -0
  614. data/lib/pangea/resources/aws_eventbridge_rule/types/attributes.rb +80 -0
  615. data/lib/pangea/resources/aws_eventbridge_rule/types/helpers.rb +101 -0
  616. data/lib/pangea/resources/aws_eventbridge_rule/types/templates.rb +131 -0
  617. data/lib/pangea/resources/aws_eventbridge_rule/types/validators.rb +87 -0
  618. data/lib/pangea/resources/aws_eventbridge_rule/types.rb +24 -0
  619. data/lib/pangea/resources/aws_eventbridge_rule/types.rbs +41 -0
  620. data/lib/pangea/resources/aws_eventbridge_target/batch_target_builder.rb +48 -0
  621. data/lib/pangea/resources/aws_eventbridge_target/ecs_target_builder.rb +101 -0
  622. data/lib/pangea/resources/aws_eventbridge_target/resource.rb +194 -0
  623. data/lib/pangea/resources/aws_eventbridge_target/types/attributes.rb +117 -0
  624. data/lib/pangea/resources/aws_eventbridge_target/types/configs.rb +75 -0
  625. data/lib/pangea/resources/aws_eventbridge_target/types/parameters.rb +66 -0
  626. data/lib/pangea/resources/aws_eventbridge_target/types.rb +21 -0
  627. data/lib/pangea/resources/aws_eventbridge_target/types.rbs +58 -0
  628. data/lib/pangea/resources/aws_fsx_lustre_filesystem/resource.rb +148 -0
  629. data/lib/pangea/resources/aws_fsx_lustre_filesystem/types/helpers.rb +101 -0
  630. data/lib/pangea/resources/aws_fsx_lustre_filesystem/types.rb +115 -0
  631. data/lib/pangea/resources/aws_gamelift_alias/resource.rb +75 -0
  632. data/lib/pangea/resources/aws_gamelift_alias/types.rb +58 -0
  633. data/lib/pangea/resources/aws_gamelift_build/resource.rb +86 -0
  634. data/lib/pangea/resources/aws_gamelift_build/types.rb +37 -0
  635. data/lib/pangea/resources/aws_gamelift_compute/resource.rb +83 -0
  636. data/lib/pangea/resources/aws_gamelift_compute/types.rb +28 -0
  637. data/lib/pangea/resources/aws_gamelift_fleet/resource.rb +115 -0
  638. data/lib/pangea/resources/aws_gamelift_fleet/types.rb +61 -0
  639. data/lib/pangea/resources/aws_gamelift_game_session/resource.rb +104 -0
  640. data/lib/pangea/resources/aws_gamelift_game_session/types.rb +33 -0
  641. data/lib/pangea/resources/aws_gamelift_game_session_queue/resource.rb +98 -0
  642. data/lib/pangea/resources/aws_gamelift_game_session_queue/types.rb +53 -0
  643. data/lib/pangea/resources/aws_gamelift_matchmaking_configuration/resource.rb +80 -0
  644. data/lib/pangea/resources/aws_gamelift_matchmaking_configuration/types.rb +31 -0
  645. data/lib/pangea/resources/aws_gamelift_matchmaking_rule_set/resource.rb +85 -0
  646. data/lib/pangea/resources/aws_gamelift_matchmaking_rule_set/types.rb +28 -0
  647. data/lib/pangea/resources/aws_gamelift_player_session/resource.rb +83 -0
  648. data/lib/pangea/resources/aws_gamelift_player_session/types.rb +28 -0
  649. data/lib/pangea/resources/aws_gamelift_script/resource.rb +96 -0
  650. data/lib/pangea/resources/aws_gamelift_script/types.rb +36 -0
  651. data/lib/pangea/resources/aws_gamesparks_game/resource.rb +79 -0
  652. data/lib/pangea/resources/aws_gamesparks_game/types.rb +28 -0
  653. data/lib/pangea/resources/aws_glue_catalog_database/resource.rb +105 -0
  654. data/lib/pangea/resources/aws_glue_catalog_database/types.rb +150 -0
  655. data/lib/pangea/resources/aws_glue_catalog_database/types.rbs +36 -0
  656. data/lib/pangea/resources/aws_glue_catalog_table/resource.rb +177 -0
  657. data/lib/pangea/resources/aws_glue_catalog_table/types/format_helpers.rb +80 -0
  658. data/lib/pangea/resources/aws_glue_catalog_table/types/storage_descriptor.rb +60 -0
  659. data/lib/pangea/resources/aws_glue_catalog_table/types/table_helpers.rb +95 -0
  660. data/lib/pangea/resources/aws_glue_catalog_table/types/validators.rb +72 -0
  661. data/lib/pangea/resources/aws_glue_catalog_table/types.rb +89 -0
  662. data/lib/pangea/resources/aws_glue_catalog_table/types.rbs +44 -0
  663. data/lib/pangea/resources/aws_glue_job/resource.rb +144 -0
  664. data/lib/pangea/resources/aws_glue_job/types/attributes.rb +99 -0
  665. data/lib/pangea/resources/aws_glue_job/types/class_methods.rb +86 -0
  666. data/lib/pangea/resources/aws_glue_job/types/instance_methods.rb +97 -0
  667. data/lib/pangea/resources/aws_glue_job/types/validation.rb +68 -0
  668. data/lib/pangea/resources/aws_glue_job/types.rb +21 -0
  669. data/lib/pangea/resources/aws_glue_job/types.rbs +50 -0
  670. data/lib/pangea/resources/aws_glue_trigger/resource.rb +155 -0
  671. data/lib/pangea/resources/aws_glue_trigger/types/attributes.rb +91 -0
  672. data/lib/pangea/resources/aws_glue_trigger/types/helpers/class_methods.rb +109 -0
  673. data/lib/pangea/resources/aws_glue_trigger/types/helpers/instance_methods.rb +140 -0
  674. data/lib/pangea/resources/aws_glue_trigger/types/helpers.rb +35 -0
  675. data/lib/pangea/resources/aws_glue_trigger/types/validation.rb +97 -0
  676. data/lib/pangea/resources/aws_glue_trigger/types.rb +34 -0
  677. data/lib/pangea/resources/aws_glue_trigger/types.rbs +53 -0
  678. data/lib/pangea/resources/aws_ground_station/config.rb +145 -0
  679. data/lib/pangea/resources/aws_ground_station/contact.rb +48 -0
  680. data/lib/pangea/resources/aws_ground_station/dataflow_endpoint_group.rb +46 -0
  681. data/lib/pangea/resources/aws_ground_station/mission_profile.rb +50 -0
  682. data/lib/pangea/resources/aws_guardduty_detector/resource.rb +101 -0
  683. data/lib/pangea/resources/aws_guardduty_detector/types.rb +91 -0
  684. data/lib/pangea/resources/aws_guardduty_member/resource.rb +69 -0
  685. data/lib/pangea/resources/aws_guardduty_member/types.rb +58 -0
  686. data/lib/pangea/resources/aws_iam_group/resource.rb +75 -0
  687. data/lib/pangea/resources/aws_iam_group/types/access_patterns.rb +82 -0
  688. data/lib/pangea/resources/aws_iam_group/types/attributes.rb +97 -0
  689. data/lib/pangea/resources/aws_iam_group/types/group_classification.rb +136 -0
  690. data/lib/pangea/resources/aws_iam_group/types/patterns.rb +96 -0
  691. data/lib/pangea/resources/aws_iam_group/types.rb +22 -0
  692. data/lib/pangea/resources/aws_iam_policy/resource.rb +83 -0
  693. data/lib/pangea/resources/aws_iam_policy/types/attributes.rb +118 -0
  694. data/lib/pangea/resources/aws_iam_policy/types/templates.rb +57 -0
  695. data/lib/pangea/resources/aws_iam_policy/types.rb +19 -0
  696. data/lib/pangea/resources/aws_iam_role/resource.rb +95 -0
  697. data/lib/pangea/resources/aws_iam_role/types/trust_policies.rb +90 -0
  698. data/lib/pangea/resources/aws_iam_role/types.rb +141 -0
  699. data/lib/pangea/resources/aws_iam_role_policy_attachment/resource.rb +68 -0
  700. data/lib/pangea/resources/aws_iam_role_policy_attachment/types/attachment_patterns.rb +75 -0
  701. data/lib/pangea/resources/aws_iam_role_policy_attachment/types/aws_managed_policies.rb +92 -0
  702. data/lib/pangea/resources/aws_iam_role_policy_attachment/types.rb +148 -0
  703. data/lib/pangea/resources/aws_iam_user/resource.rb +76 -0
  704. data/lib/pangea/resources/aws_iam_user/types/attributes.rb +100 -0
  705. data/lib/pangea/resources/aws_iam_user/types/helpers.rb +95 -0
  706. data/lib/pangea/resources/aws_iam_user/types/templates.rb +152 -0
  707. data/lib/pangea/resources/aws_iam_user/types/validators.rb +24 -0
  708. data/lib/pangea/resources/aws_iam_user/types.rb +20 -0
  709. data/lib/pangea/resources/aws_inspector2_enabler/resource.rb +63 -0
  710. data/lib/pangea/resources/aws_inspector2_enabler/types.rb +85 -0
  711. data/lib/pangea/resources/aws_instance/resource.rb +120 -0
  712. data/lib/pangea/resources/aws_instance/types.rb +148 -0
  713. data/lib/pangea/resources/aws_internet_gateway/resource.rb +76 -0
  714. data/lib/pangea/resources/aws_internet_gateway/types.rb +46 -0
  715. data/lib/pangea/resources/aws_iot_analytics_channel/resource.rb +87 -0
  716. data/lib/pangea/resources/aws_iot_analytics_channel/types.rb +57 -0
  717. data/lib/pangea/resources/aws_iot_analytics_datastore/resource.rb +106 -0
  718. data/lib/pangea/resources/aws_iot_analytics_datastore/types.rb +60 -0
  719. data/lib/pangea/resources/aws_iot_authorizer/resource.rb +94 -0
  720. data/lib/pangea/resources/aws_iot_authorizer/types.rb +54 -0
  721. data/lib/pangea/resources/aws_iot_billing_group/resource.rb +90 -0
  722. data/lib/pangea/resources/aws_iot_billing_group/types.rb +39 -0
  723. data/lib/pangea/resources/aws_iot_ca_certificate/resource.rb +124 -0
  724. data/lib/pangea/resources/aws_iot_ca_certificate/types.rb +46 -0
  725. data/lib/pangea/resources/aws_iot_certificate/resource.rb +90 -0
  726. data/lib/pangea/resources/aws_iot_certificate/types/helpers.rb +164 -0
  727. data/lib/pangea/resources/aws_iot_certificate/types/validators.rb +84 -0
  728. data/lib/pangea/resources/aws_iot_certificate/types.rb +76 -0
  729. data/lib/pangea/resources/aws_iot_device_defender_security_profile/resource.rb +74 -0
  730. data/lib/pangea/resources/aws_iot_device_defender_security_profile/types.rb +55 -0
  731. data/lib/pangea/resources/aws_iot_domain_configuration/resource.rb +120 -0
  732. data/lib/pangea/resources/aws_iot_domain_configuration/types.rb +59 -0
  733. data/lib/pangea/resources/aws_iot_job_template/resource.rb +131 -0
  734. data/lib/pangea/resources/aws_iot_job_template/types.rb +72 -0
  735. data/lib/pangea/resources/aws_iot_policy/resource.rb +60 -0
  736. data/lib/pangea/resources/aws_iot_policy/types.rb +134 -0
  737. data/lib/pangea/resources/aws_iot_policy_attachment/resource.rb +95 -0
  738. data/lib/pangea/resources/aws_iot_policy_attachment/types.rb +32 -0
  739. data/lib/pangea/resources/aws_iot_provisioning_template/resource.rb +130 -0
  740. data/lib/pangea/resources/aws_iot_provisioning_template/types.rb +43 -0
  741. data/lib/pangea/resources/aws_iot_role_alias/resource.rb +95 -0
  742. data/lib/pangea/resources/aws_iot_role_alias/types.rb +32 -0
  743. data/lib/pangea/resources/aws_iot_security_profile/resource.rb +86 -0
  744. data/lib/pangea/resources/aws_iot_security_profile/types.rb +52 -0
  745. data/lib/pangea/resources/aws_iot_thing/resource.rb +84 -0
  746. data/lib/pangea/resources/aws_iot_thing/types.rb +137 -0
  747. data/lib/pangea/resources/aws_iot_thing_group/resource.rb +122 -0
  748. data/lib/pangea/resources/aws_iot_thing_group/types.rb +53 -0
  749. data/lib/pangea/resources/aws_iot_thing_group_membership/resource.rb +75 -0
  750. data/lib/pangea/resources/aws_iot_thing_group_membership/types.rb +32 -0
  751. data/lib/pangea/resources/aws_iot_thing_principal_attachment/resource.rb +88 -0
  752. data/lib/pangea/resources/aws_iot_thing_principal_attachment/types.rb +32 -0
  753. data/lib/pangea/resources/aws_iot_thing_type/resource.rb +97 -0
  754. data/lib/pangea/resources/aws_iot_thing_type/types/analysis.rb +107 -0
  755. data/lib/pangea/resources/aws_iot_thing_type/types/properties.rb +64 -0
  756. data/lib/pangea/resources/aws_iot_thing_type/types/recommendations.rb +65 -0
  757. data/lib/pangea/resources/aws_iot_thing_type/types/templates.rb +69 -0
  758. data/lib/pangea/resources/aws_iot_thing_type/types.rb +64 -0
  759. data/lib/pangea/resources/aws_iot_topic_rule/resource.rb +78 -0
  760. data/lib/pangea/resources/aws_iot_topic_rule/types.rb +52 -0
  761. data/lib/pangea/resources/aws_iot_topic_rule_destination/resource.rb +63 -0
  762. data/lib/pangea/resources/aws_iot_topic_rule_destination/types.rb +45 -0
  763. data/lib/pangea/resources/aws_iot_wireless_destination/resource.rb +79 -0
  764. data/lib/pangea/resources/aws_iot_wireless_destination/types.rb +31 -0
  765. data/lib/pangea/resources/aws_iotanalytics_dataset/builders/action_builder.rb +76 -0
  766. data/lib/pangea/resources/aws_iotanalytics_dataset/resource.rb +171 -0
  767. data/lib/pangea/resources/aws_iotanalytics_dataset/types/action.rb +93 -0
  768. data/lib/pangea/resources/aws_iotanalytics_dataset/types/attributes.rb +85 -0
  769. data/lib/pangea/resources/aws_iotanalytics_dataset/types/content_delivery_rule.rb +69 -0
  770. data/lib/pangea/resources/aws_iotanalytics_dataset/types/trigger.rb +49 -0
  771. data/lib/pangea/resources/aws_iotanalytics_dataset/types.rb +24 -0
  772. data/lib/pangea/resources/aws_key_pair/resource.rb +85 -0
  773. data/lib/pangea/resources/aws_key_pair/types.rb +173 -0
  774. data/lib/pangea/resources/aws_kinesis_analytics_application/builders/application_code_builder.rb +62 -0
  775. data/lib/pangea/resources/aws_kinesis_analytics_application/builders/flink_builder.rb +76 -0
  776. data/lib/pangea/resources/aws_kinesis_analytics_application/builders/sql_builder.rb +219 -0
  777. data/lib/pangea/resources/aws_kinesis_analytics_application/resource.rb +127 -0
  778. data/lib/pangea/resources/aws_kinesis_analytics_application/types/computed.rb +131 -0
  779. data/lib/pangea/resources/aws_kinesis_analytics_application/types/configs.rb +91 -0
  780. data/lib/pangea/resources/aws_kinesis_analytics_application/types/sql_configs.rb +114 -0
  781. data/lib/pangea/resources/aws_kinesis_analytics_application/types/validation.rb +109 -0
  782. data/lib/pangea/resources/aws_kinesis_analytics_application/types.rb +64 -0
  783. data/lib/pangea/resources/aws_kinesis_analytics_application/types.rbs +45 -0
  784. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/destination_builders.rb +108 -0
  785. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/resource.rb +95 -0
  786. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/s3_builders.rb +127 -0
  787. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/types/computed_properties.rb +65 -0
  788. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/types/validation.rb +73 -0
  789. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/types.rb +174 -0
  790. data/lib/pangea/resources/aws_kinesis_firehose_delivery_stream/types.rbs +44 -0
  791. data/lib/pangea/resources/aws_kinesis_stream/resource.rb +103 -0
  792. data/lib/pangea/resources/aws_kinesis_stream/types.rb +159 -0
  793. data/lib/pangea/resources/aws_kinesis_stream/types.rbs +43 -0
  794. data/lib/pangea/resources/aws_kinesis_video_stream/resource.rb +73 -0
  795. data/lib/pangea/resources/aws_kinesis_video_stream/types/kms_validation.rb +52 -0
  796. data/lib/pangea/resources/aws_kinesis_video_stream/types/media_type_helpers.rb +58 -0
  797. data/lib/pangea/resources/aws_kinesis_video_stream/types/storage_estimation.rb +75 -0
  798. data/lib/pangea/resources/aws_kinesis_video_stream/types.rb +128 -0
  799. data/lib/pangea/resources/aws_kinesis_video_stream/types.rbs +48 -0
  800. data/lib/pangea/resources/aws_kms_alias/resource.rb +74 -0
  801. data/lib/pangea/resources/aws_kms_alias/types.rb +133 -0
  802. data/lib/pangea/resources/aws_kms_key/resource.rb +107 -0
  803. data/lib/pangea/resources/aws_kms_key/types.rb +126 -0
  804. data/lib/pangea/resources/aws_lambda_event_source_mapping/resource.rb +152 -0
  805. data/lib/pangea/resources/aws_lambda_event_source_mapping/types.rb +200 -0
  806. data/lib/pangea/resources/aws_lambda_function/block_builders.rb +113 -0
  807. data/lib/pangea/resources/aws_lambda_function/resource.rb +144 -0
  808. data/lib/pangea/resources/aws_lambda_function/types/helpers.rb +58 -0
  809. data/lib/pangea/resources/aws_lambda_function/types/validators.rb +99 -0
  810. data/lib/pangea/resources/aws_lambda_function/types.rb +133 -0
  811. data/lib/pangea/resources/aws_lambda_function_url/resource.rb +86 -0
  812. data/lib/pangea/resources/aws_lambda_function_url/types.rb +98 -0
  813. data/lib/pangea/resources/aws_lambda_layer_version/resource.rb +85 -0
  814. data/lib/pangea/resources/aws_lambda_layer_version/types.rb +158 -0
  815. data/lib/pangea/resources/aws_lambda_permission/resource.rb +73 -0
  816. data/lib/pangea/resources/aws_lambda_permission/types.rb +116 -0
  817. data/lib/pangea/resources/aws_launch_configuration/resource.rb +63 -0
  818. data/lib/pangea/resources/aws_launch_configuration/types.rb +44 -0
  819. data/lib/pangea/resources/aws_launch_template/resource.rb +195 -0
  820. data/lib/pangea/resources/aws_launch_template/types/block_device_mapping.rb +74 -0
  821. data/lib/pangea/resources/aws_launch_template/types/iam_instance_profile.rb +48 -0
  822. data/lib/pangea/resources/aws_launch_template/types/network_interface.rb +43 -0
  823. data/lib/pangea/resources/aws_launch_template/types/tag_specification.rb +40 -0
  824. data/lib/pangea/resources/aws_launch_template/types.rb +127 -0
  825. data/lib/pangea/resources/aws_lb/resource.rb +108 -0
  826. data/lib/pangea/resources/aws_lb/types.rb +87 -0
  827. data/lib/pangea/resources/aws_lb_cookie_stickiness_policy/resource.rb +63 -0
  828. data/lib/pangea/resources/aws_lb_cookie_stickiness_policy/types.rb +44 -0
  829. data/lib/pangea/resources/aws_lb_listener/resource.rb +126 -0
  830. data/lib/pangea/resources/aws_lb_listener/types.rb +124 -0
  831. data/lib/pangea/resources/aws_lb_listener/types.rbs +23 -0
  832. data/lib/pangea/resources/aws_lb_listener_certificate/resource.rb +53 -0
  833. data/lib/pangea/resources/aws_lb_listener_certificate/types.rb +52 -0
  834. data/lib/pangea/resources/aws_lb_listener_certificate/types.rbs +17 -0
  835. data/lib/pangea/resources/aws_lb_listener_rule/action_builders.rb +123 -0
  836. data/lib/pangea/resources/aws_lb_listener_rule/resource.rb +122 -0
  837. data/lib/pangea/resources/aws_lb_listener_rule/types.rb +121 -0
  838. data/lib/pangea/resources/aws_lb_listener_rule/types.rbs +20 -0
  839. data/lib/pangea/resources/aws_lb_ssl_negotiation_policy/resource.rb +63 -0
  840. data/lib/pangea/resources/aws_lb_ssl_negotiation_policy/types.rb +44 -0
  841. data/lib/pangea/resources/aws_lb_target_group/resource.rb +156 -0
  842. data/lib/pangea/resources/aws_lb_target_group/types.rb +206 -0
  843. data/lib/pangea/resources/aws_lb_target_group_attachment/resource.rb +63 -0
  844. data/lib/pangea/resources/aws_lb_target_group_attachment/types.rb +44 -0
  845. data/lib/pangea/resources/aws_lb_target_group_attachment/types.rbs +21 -0
  846. data/lib/pangea/resources/aws_lb_trust_store/resource.rb +63 -0
  847. data/lib/pangea/resources/aws_lb_trust_store/types.rb +44 -0
  848. data/lib/pangea/resources/aws_lb_trust_store_revocation/resource.rb +63 -0
  849. data/lib/pangea/resources/aws_lb_trust_store_revocation/types.rb +44 -0
  850. data/lib/pangea/resources/aws_licensemanager_association/resource.rb +64 -0
  851. data/lib/pangea/resources/aws_licensemanager_association/types.rb +47 -0
  852. data/lib/pangea/resources/aws_licensemanager_grant/resource.rb +70 -0
  853. data/lib/pangea/resources/aws_licensemanager_grant/types.rb +50 -0
  854. data/lib/pangea/resources/aws_licensemanager_grant_accepter/resource.rb +70 -0
  855. data/lib/pangea/resources/aws_licensemanager_grant_accepter/types.rb +46 -0
  856. data/lib/pangea/resources/aws_licensemanager_license_configuration/resource.rb +70 -0
  857. data/lib/pangea/resources/aws_licensemanager_license_configuration/types.rb +51 -0
  858. data/lib/pangea/resources/aws_licensemanager_license_grant_accepter/resource.rb +64 -0
  859. data/lib/pangea/resources/aws_licensemanager_license_grant_accepter/types.rb +46 -0
  860. data/lib/pangea/resources/aws_licensemanager_report_generator/resource.rb +69 -0
  861. data/lib/pangea/resources/aws_licensemanager_report_generator/types.rb +51 -0
  862. data/lib/pangea/resources/aws_licensemanager_token/resource.rb +67 -0
  863. data/lib/pangea/resources/aws_licensemanager_token/types.rb +48 -0
  864. data/lib/pangea/resources/aws_lightsail/compute.rb +83 -0
  865. data/lib/pangea/resources/aws_lightsail/database.rb +66 -0
  866. data/lib/pangea/resources/aws_lightsail/load_balancer.rb +68 -0
  867. data/lib/pangea/resources/aws_lightsail/networking.rb +118 -0
  868. data/lib/pangea/resources/aws_lightsail/storage.rb +101 -0
  869. data/lib/pangea/resources/aws_load_balancer_backend_server_policy/resource.rb +63 -0
  870. data/lib/pangea/resources/aws_load_balancer_backend_server_policy/types.rb +44 -0
  871. data/lib/pangea/resources/aws_load_balancer_listener_policy/resource.rb +63 -0
  872. data/lib/pangea/resources/aws_load_balancer_listener_policy/types.rb +44 -0
  873. data/lib/pangea/resources/aws_load_balancer_policy/resource.rb +63 -0
  874. data/lib/pangea/resources/aws_load_balancer_policy/types.rb +44 -0
  875. data/lib/pangea/resources/aws_local_zones/data_sources.rb +133 -0
  876. data/lib/pangea/resources/aws_local_zones/resources.rb +90 -0
  877. data/lib/pangea/resources/aws_managedblockchain_accessor/resource.rb +83 -0
  878. data/lib/pangea/resources/aws_managedblockchain_accessor/types/blockchain_helpers.rb +76 -0
  879. data/lib/pangea/resources/aws_managedblockchain_accessor/types/cost_helpers.rb +68 -0
  880. data/lib/pangea/resources/aws_managedblockchain_accessor/types/network_helpers.rb +95 -0
  881. data/lib/pangea/resources/aws_managedblockchain_accessor/types.rb +87 -0
  882. data/lib/pangea/resources/aws_managedblockchain_ethereum_node/resource.rb +94 -0
  883. data/lib/pangea/resources/aws_managedblockchain_ethereum_node/types/attributes.rb +78 -0
  884. data/lib/pangea/resources/aws_managedblockchain_ethereum_node/types/helpers.rb +97 -0
  885. data/lib/pangea/resources/aws_managedblockchain_ethereum_node/types.rb +7 -0
  886. data/lib/pangea/resources/aws_managedblockchain_member/resource.rb +124 -0
  887. data/lib/pangea/resources/aws_managedblockchain_member/types/instance_methods.rb +102 -0
  888. data/lib/pangea/resources/aws_managedblockchain_member/types/validation.rb +80 -0
  889. data/lib/pangea/resources/aws_managedblockchain_member/types.rb +81 -0
  890. data/lib/pangea/resources/aws_managedblockchain_network/resource.rb +157 -0
  891. data/lib/pangea/resources/aws_managedblockchain_network/types/helpers.rb +107 -0
  892. data/lib/pangea/resources/aws_managedblockchain_network/types/validation.rb +91 -0
  893. data/lib/pangea/resources/aws_managedblockchain_network/types.rb +110 -0
  894. data/lib/pangea/resources/aws_managedblockchain_node/resource.rb +126 -0
  895. data/lib/pangea/resources/aws_managedblockchain_node/types/attributes.rb +85 -0
  896. data/lib/pangea/resources/aws_managedblockchain_node/types/cost_and_specs.rb +75 -0
  897. data/lib/pangea/resources/aws_managedblockchain_node/types/instance_methods.rb +96 -0
  898. data/lib/pangea/resources/aws_managedblockchain_node/types/validation.rb +56 -0
  899. data/lib/pangea/resources/aws_managedblockchain_node/types.rb +22 -0
  900. data/lib/pangea/resources/aws_media_convert_queue/resource.rb +71 -0
  901. data/lib/pangea/resources/aws_media_convert_queue/types.rb +69 -0
  902. data/lib/pangea/resources/aws_media_live_channel/resource/dsl_builder/configurations.rb +74 -0
  903. data/lib/pangea/resources/aws_media_live_channel/resource/dsl_builder/destinations.rb +67 -0
  904. data/lib/pangea/resources/aws_media_live_channel/resource/dsl_builder/encoder_settings/audio_descriptions.rb +101 -0
  905. data/lib/pangea/resources/aws_media_live_channel/resource/dsl_builder/encoder_settings/output_groups.rb +163 -0
  906. data/lib/pangea/resources/aws_media_live_channel/resource/dsl_builder/encoder_settings/video_descriptions.rb +86 -0
  907. data/lib/pangea/resources/aws_media_live_channel/resource/dsl_builder/encoder_settings.rb +52 -0
  908. data/lib/pangea/resources/aws_media_live_channel/resource/dsl_builder/input_attachments.rb +131 -0
  909. data/lib/pangea/resources/aws_media_live_channel/resource/dsl_builder.rb +42 -0
  910. data/lib/pangea/resources/aws_media_live_channel/resource.rb +86 -0
  911. data/lib/pangea/resources/aws_media_live_channel/types/audio_codec_settings.rb +106 -0
  912. data/lib/pangea/resources/aws_media_live_channel/types/caption_settings.rb +117 -0
  913. data/lib/pangea/resources/aws_media_live_channel/types/channel_config.rb +77 -0
  914. data/lib/pangea/resources/aws_media_live_channel/types/encoder_config.rb +108 -0
  915. data/lib/pangea/resources/aws_media_live_channel/types/helpers.rb +58 -0
  916. data/lib/pangea/resources/aws_media_live_channel/types/hls_group_settings.rb +113 -0
  917. data/lib/pangea/resources/aws_media_live_channel/types/input_settings.rb +106 -0
  918. data/lib/pangea/resources/aws_media_live_channel/types/output_group_settings.rb +102 -0
  919. data/lib/pangea/resources/aws_media_live_channel/types/output_groups.rb +48 -0
  920. data/lib/pangea/resources/aws_media_live_channel/types/output_settings.rb +158 -0
  921. data/lib/pangea/resources/aws_media_live_channel/types/schedule_settings.rb +194 -0
  922. data/lib/pangea/resources/aws_media_live_channel/types/video_codec_h265_mpeg2.rb +116 -0
  923. data/lib/pangea/resources/aws_media_live_channel/types/video_codec_settings.rb +93 -0
  924. data/lib/pangea/resources/aws_media_live_channel/types.rb +139 -0
  925. data/lib/pangea/resources/aws_media_live_input/resource.rb +166 -0
  926. data/lib/pangea/resources/aws_media_live_input/types/helpers.rb +100 -0
  927. data/lib/pangea/resources/aws_media_live_input/types/validation.rb +86 -0
  928. data/lib/pangea/resources/aws_media_live_input/types.rb +121 -0
  929. data/lib/pangea/resources/aws_media_package_channel/resource.rb +71 -0
  930. data/lib/pangea/resources/aws_media_package_channel/types.rb +105 -0
  931. data/lib/pangea/resources/aws_media_package_origin_endpoint/resource.rb +187 -0
  932. data/lib/pangea/resources/aws_media_package_origin_endpoint/types.rb +195 -0
  933. data/lib/pangea/resources/aws_media_store_container/resource.rb +57 -0
  934. data/lib/pangea/resources/aws_media_store_container/types.rb +53 -0
  935. data/lib/pangea/resources/aws_memorydb_acl/resource.rb +66 -0
  936. data/lib/pangea/resources/aws_memorydb_acl/types.rb +47 -0
  937. data/lib/pangea/resources/aws_memorydb_cluster/resource.rb +89 -0
  938. data/lib/pangea/resources/aws_memorydb_cluster/types.rb +67 -0
  939. data/lib/pangea/resources/aws_memorydb_cluster_endpoint/resource.rb +65 -0
  940. data/lib/pangea/resources/aws_memorydb_cluster_endpoint/types.rb +46 -0
  941. data/lib/pangea/resources/aws_memorydb_multi_region_cluster/resource.rb +71 -0
  942. data/lib/pangea/resources/aws_memorydb_multi_region_cluster/types.rb +51 -0
  943. data/lib/pangea/resources/aws_memorydb_parameter_group/resource.rb +67 -0
  944. data/lib/pangea/resources/aws_memorydb_parameter_group/types.rb +49 -0
  945. data/lib/pangea/resources/aws_memorydb_snapshot/resource.rb +69 -0
  946. data/lib/pangea/resources/aws_memorydb_snapshot/types.rb +49 -0
  947. data/lib/pangea/resources/aws_memorydb_subnet_group/resource.rb +67 -0
  948. data/lib/pangea/resources/aws_memorydb_subnet_group/types.rb +48 -0
  949. data/lib/pangea/resources/aws_memorydb_user/resource.rb +67 -0
  950. data/lib/pangea/resources/aws_memorydb_user/types.rb +48 -0
  951. data/lib/pangea/resources/aws_minimal/requires/compute_network_resources.rb +77 -0
  952. data/lib/pangea/resources/aws_minimal/requires/database_resources.rb +76 -0
  953. data/lib/pangea/resources/aws_minimal/requires/extended_services.rb +74 -0
  954. data/lib/pangea/resources/aws_minimal/requires/service_modules.rb +60 -0
  955. data/lib/pangea/resources/aws_mobile_analytics_app/resource.rb +74 -0
  956. data/lib/pangea/resources/aws_mobile_analytics_app/types.rb +29 -0
  957. data/lib/pangea/resources/aws_mq_broker/resource.rb +154 -0
  958. data/lib/pangea/resources/aws_mq_broker/types.rb +182 -0
  959. data/lib/pangea/resources/aws_mq_configuration/resource.rb +72 -0
  960. data/lib/pangea/resources/aws_mq_configuration/types.rb +94 -0
  961. data/lib/pangea/resources/aws_nat_gateway/resource.rb +94 -0
  962. data/lib/pangea/resources/aws_nat_gateway/types.rb +84 -0
  963. data/lib/pangea/resources/aws_neptune_cluster/resource.rb +94 -0
  964. data/lib/pangea/resources/aws_neptune_cluster/types.rb +68 -0
  965. data/lib/pangea/resources/aws_neptune_cluster_endpoint/resource.rb +67 -0
  966. data/lib/pangea/resources/aws_neptune_cluster_endpoint/types.rb +48 -0
  967. data/lib/pangea/resources/aws_neptune_cluster_instance/resource.rb +81 -0
  968. data/lib/pangea/resources/aws_neptune_cluster_instance/types.rb +56 -0
  969. data/lib/pangea/resources/aws_neptune_cluster_parameter_group/resource.rb +67 -0
  970. data/lib/pangea/resources/aws_neptune_cluster_parameter_group/types.rb +49 -0
  971. data/lib/pangea/resources/aws_neptune_cluster_snapshot/resource.rb +74 -0
  972. data/lib/pangea/resources/aws_neptune_cluster_snapshot/types.rb +47 -0
  973. data/lib/pangea/resources/aws_neptune_event_subscription/resource.rb +70 -0
  974. data/lib/pangea/resources/aws_neptune_event_subscription/types.rb +51 -0
  975. data/lib/pangea/resources/aws_neptune_parameter_group/resource.rb +67 -0
  976. data/lib/pangea/resources/aws_neptune_parameter_group/types.rb +49 -0
  977. data/lib/pangea/resources/aws_neptune_subnet_group/resource.rb +66 -0
  978. data/lib/pangea/resources/aws_neptune_subnet_group/types.rb +48 -0
  979. data/lib/pangea/resources/aws_network_acl/resource.rb +73 -0
  980. data/lib/pangea/resources/aws_network_acl/types.rb +145 -0
  981. data/lib/pangea/resources/aws_network_acl_rule/resource.rb +88 -0
  982. data/lib/pangea/resources/aws_network_acl_rule/types.rb +156 -0
  983. data/lib/pangea/resources/aws_network_interface/resource.rb +117 -0
  984. data/lib/pangea/resources/aws_network_interface/types.rb +106 -0
  985. data/lib/pangea/resources/aws_organizations_account/resource.rb +66 -0
  986. data/lib/pangea/resources/aws_organizations_account/types.rb +84 -0
  987. data/lib/pangea/resources/aws_organizations_delegated_administrator/resource.rb +79 -0
  988. data/lib/pangea/resources/aws_organizations_organization/resource.rb +57 -0
  989. data/lib/pangea/resources/aws_organizations_organization/types.rb +76 -0
  990. data/lib/pangea/resources/aws_organizations_resource_policy/resource.rb +96 -0
  991. data/lib/pangea/resources/aws_outposts/outpost.rb +64 -0
  992. data/lib/pangea/resources/aws_outposts/resources.rb +173 -0
  993. data/lib/pangea/resources/aws_outposts/site.rb +75 -0
  994. data/lib/pangea/resources/aws_pinpoint_app/resource.rb +81 -0
  995. data/lib/pangea/resources/aws_pinpoint_app/types.rb +87 -0
  996. data/lib/pangea/resources/aws_placement_group/resource.rb +63 -0
  997. data/lib/pangea/resources/aws_placement_group/types.rb +44 -0
  998. data/lib/pangea/resources/aws_proxy_protocol_policy/resource.rb +63 -0
  999. data/lib/pangea/resources/aws_proxy_protocol_policy/types.rb +44 -0
  1000. data/lib/pangea/resources/aws_qldb_ledger/resource.rb +86 -0
  1001. data/lib/pangea/resources/aws_qldb_ledger/types.rb +169 -0
  1002. data/lib/pangea/resources/aws_qldb_stream/resource.rb +98 -0
  1003. data/lib/pangea/resources/aws_qldb_stream/types/stream_helpers.rb +134 -0
  1004. data/lib/pangea/resources/aws_qldb_stream/types.rb +114 -0
  1005. data/lib/pangea/resources/aws_ram_invitation_accepter/resource.rb +68 -0
  1006. data/lib/pangea/resources/aws_ram_invitation_accepter/types.rb +46 -0
  1007. data/lib/pangea/resources/aws_ram_managed_permission/resource.rb +71 -0
  1008. data/lib/pangea/resources/aws_ram_managed_permission/types.rb +47 -0
  1009. data/lib/pangea/resources/aws_ram_permission/resource.rb +71 -0
  1010. data/lib/pangea/resources/aws_ram_permission/types.rb +48 -0
  1011. data/lib/pangea/resources/aws_ram_permission_association/resource.rb +65 -0
  1012. data/lib/pangea/resources/aws_ram_permission_association/types.rb +48 -0
  1013. data/lib/pangea/resources/aws_ram_principal_association/resource.rb +64 -0
  1014. data/lib/pangea/resources/aws_ram_principal_association/types.rb +47 -0
  1015. data/lib/pangea/resources/aws_ram_resource_association/resource.rb +64 -0
  1016. data/lib/pangea/resources/aws_ram_resource_association/types.rb +47 -0
  1017. data/lib/pangea/resources/aws_ram_resource_share/resource.rb +67 -0
  1018. data/lib/pangea/resources/aws_ram_resource_share/types.rb +48 -0
  1019. data/lib/pangea/resources/aws_ram_resource_share_accepter/resource.rb +67 -0
  1020. data/lib/pangea/resources/aws_ram_resource_share_accepter/types.rb +46 -0
  1021. data/lib/pangea/resources/aws_ram_resource_share_invitation/resource.rb +69 -0
  1022. data/lib/pangea/resources/aws_ram_resource_share_invitation/types.rb +47 -0
  1023. data/lib/pangea/resources/aws_ram_sharing_with_organization/resource.rb +63 -0
  1024. data/lib/pangea/resources/aws_ram_sharing_with_organization/types.rb +46 -0
  1025. data/lib/pangea/resources/aws_rds_cluster/resource.rb +186 -0
  1026. data/lib/pangea/resources/aws_rds_cluster/types/attributes.rb +84 -0
  1027. data/lib/pangea/resources/aws_rds_cluster/types/configs.rb +44 -0
  1028. data/lib/pangea/resources/aws_rds_cluster/types/nested_types.rb +45 -0
  1029. data/lib/pangea/resources/aws_rds_cluster/types/validation.rb +26 -0
  1030. data/lib/pangea/resources/aws_rds_cluster/types.rb +9 -0
  1031. data/lib/pangea/resources/aws_rds_cluster_endpoint/resource.rb +93 -0
  1032. data/lib/pangea/resources/aws_rds_cluster_endpoint/types/configs.rb +97 -0
  1033. data/lib/pangea/resources/aws_rds_cluster_endpoint/types/members.rb +36 -0
  1034. data/lib/pangea/resources/aws_rds_cluster_endpoint/types.rb +165 -0
  1035. data/lib/pangea/resources/aws_rds_cluster_endpoint/types.rbs +59 -0
  1036. data/lib/pangea/resources/aws_rds_cluster_instance/resource.rb +140 -0
  1037. data/lib/pangea/resources/aws_rds_cluster_instance/types/attributes.rb +59 -0
  1038. data/lib/pangea/resources/aws_rds_cluster_instance/types/configs.rb +58 -0
  1039. data/lib/pangea/resources/aws_rds_cluster_instance/types/instance_methods.rb +106 -0
  1040. data/lib/pangea/resources/aws_rds_cluster_instance/types.rb +18 -0
  1041. data/lib/pangea/resources/aws_rds_cluster_parameter_group/resource.rb +93 -0
  1042. data/lib/pangea/resources/aws_rds_cluster_parameter_group/types/attributes.rb +99 -0
  1043. data/lib/pangea/resources/aws_rds_cluster_parameter_group/types/configs.rb +102 -0
  1044. data/lib/pangea/resources/aws_rds_cluster_parameter_group/types/parameter.rb +40 -0
  1045. data/lib/pangea/resources/aws_rds_cluster_parameter_group/types.rb +20 -0
  1046. data/lib/pangea/resources/aws_rds_cluster_parameter_group/types.rbs +65 -0
  1047. data/lib/pangea/resources/aws_rds_global_cluster/resource.rb +120 -0
  1048. data/lib/pangea/resources/aws_rds_global_cluster/types/attributes.rb +90 -0
  1049. data/lib/pangea/resources/aws_rds_global_cluster/types/backup_config.rb +52 -0
  1050. data/lib/pangea/resources/aws_rds_global_cluster/types/configs.rb +47 -0
  1051. data/lib/pangea/resources/aws_rds_global_cluster/types.rb +20 -0
  1052. data/lib/pangea/resources/aws_rds_global_cluster/types.rbs +84 -0
  1053. data/lib/pangea/resources/aws_rds_proxy/resource.rb +110 -0
  1054. data/lib/pangea/resources/aws_rds_proxy/types/attributes.rb +73 -0
  1055. data/lib/pangea/resources/aws_rds_proxy/types/configs.rb +43 -0
  1056. data/lib/pangea/resources/aws_rds_proxy/types/nested_types.rb +61 -0
  1057. data/lib/pangea/resources/aws_rds_proxy/types.rb +21 -0
  1058. data/lib/pangea/resources/aws_rds_proxy_default_target_group/resource.rb +69 -0
  1059. data/lib/pangea/resources/aws_rds_proxy_default_target_group/types.rb +119 -0
  1060. data/lib/pangea/resources/aws_rds_proxy_target/resource.rb +71 -0
  1061. data/lib/pangea/resources/aws_rds_proxy_target/types.rb +104 -0
  1062. data/lib/pangea/resources/aws_redshift_cluster/resource.rb +148 -0
  1063. data/lib/pangea/resources/aws_redshift_cluster/types/capacity_calculator.rb +88 -0
  1064. data/lib/pangea/resources/aws_redshift_cluster/types/cost_estimator.rb +66 -0
  1065. data/lib/pangea/resources/aws_redshift_cluster/types/feature_checks.rb +46 -0
  1066. data/lib/pangea/resources/aws_redshift_cluster/types/validators.rb +73 -0
  1067. data/lib/pangea/resources/aws_redshift_cluster/types/workload_parameters.rb +67 -0
  1068. data/lib/pangea/resources/aws_redshift_cluster/types.rb +151 -0
  1069. data/lib/pangea/resources/aws_redshift_cluster/types.rbs +65 -0
  1070. data/lib/pangea/resources/aws_redshift_parameter_group/resource.rb +84 -0
  1071. data/lib/pangea/resources/aws_redshift_parameter_group/types/class_methods.rb +114 -0
  1072. data/lib/pangea/resources/aws_redshift_parameter_group/types/instance_methods.rb +88 -0
  1073. data/lib/pangea/resources/aws_redshift_parameter_group/types/validation.rb +53 -0
  1074. data/lib/pangea/resources/aws_redshift_parameter_group/types.rb +61 -0
  1075. data/lib/pangea/resources/aws_redshift_parameter_group/types.rbs +42 -0
  1076. data/lib/pangea/resources/aws_redshift_snapshot_schedule/resource.rb +78 -0
  1077. data/lib/pangea/resources/aws_redshift_snapshot_schedule/types/attributes.rb +46 -0
  1078. data/lib/pangea/resources/aws_redshift_snapshot_schedule/types/instance_methods.rb +92 -0
  1079. data/lib/pangea/resources/aws_redshift_snapshot_schedule/types/templates.rb +53 -0
  1080. data/lib/pangea/resources/aws_redshift_snapshot_schedule/types/validation.rb +71 -0
  1081. data/lib/pangea/resources/aws_redshift_snapshot_schedule/types.rb +32 -0
  1082. data/lib/pangea/resources/aws_redshift_snapshot_schedule/types.rbs +41 -0
  1083. data/lib/pangea/resources/aws_redshift_subnet_group/resource.rb +74 -0
  1084. data/lib/pangea/resources/aws_redshift_subnet_group/types.rb +140 -0
  1085. data/lib/pangea/resources/aws_redshift_subnet_group/types.rbs +33 -0
  1086. data/lib/pangea/resources/aws_resource_explorer_index/resource.rb +78 -0
  1087. data/lib/pangea/resources/aws_resource_explorer_view/resource.rb +123 -0
  1088. data/lib/pangea/resources/aws_resourcegroups_group/resource.rb +164 -0
  1089. data/lib/pangea/resources/aws_resources/analytics.rb +22 -0
  1090. data/lib/pangea/resources/aws_resources/compute.rb +31 -0
  1091. data/lib/pangea/resources/aws_resources/core.rb +35 -0
  1092. data/lib/pangea/resources/aws_resources/database.rb +27 -0
  1093. data/lib/pangea/resources/aws_resources/devops.rb +19 -0
  1094. data/lib/pangea/resources/aws_resources/governance.rb +20 -0
  1095. data/lib/pangea/resources/aws_resources/integration.rb +24 -0
  1096. data/lib/pangea/resources/aws_resources/management.rb +33 -0
  1097. data/lib/pangea/resources/aws_resources/ml.rb +15 -0
  1098. data/lib/pangea/resources/aws_resources/security.rb +30 -0
  1099. data/lib/pangea/resources/aws_resources/specialty.rb +67 -0
  1100. data/lib/pangea/resources/aws_resources/storage.rb +23 -0
  1101. data/lib/pangea/resources/aws_route/resource.rb +83 -0
  1102. data/lib/pangea/resources/aws_route/types.rb +121 -0
  1103. data/lib/pangea/resources/aws_route53_delegation_set/resource.rb +70 -0
  1104. data/lib/pangea/resources/aws_route53_delegation_set/types.rb +131 -0
  1105. data/lib/pangea/resources/aws_route53_health_check/resource.rb +129 -0
  1106. data/lib/pangea/resources/aws_route53_health_check/types/attributes.rb +209 -0
  1107. data/lib/pangea/resources/aws_route53_health_check/types/configs.rb +84 -0
  1108. data/lib/pangea/resources/aws_route53_health_check/types.rb +18 -0
  1109. data/lib/pangea/resources/aws_route53_query_log/resource.rb +76 -0
  1110. data/lib/pangea/resources/aws_route53_query_log/types.rb +185 -0
  1111. data/lib/pangea/resources/aws_route53_record/resource.rb +135 -0
  1112. data/lib/pangea/resources/aws_route53_record/types/attributes.rb +155 -0
  1113. data/lib/pangea/resources/aws_route53_record/types/configs.rb +124 -0
  1114. data/lib/pangea/resources/aws_route53_record/types/instance_methods.rb +80 -0
  1115. data/lib/pangea/resources/aws_route53_record/types/validation.rb +94 -0
  1116. data/lib/pangea/resources/aws_route53_record/types.rb +30 -0
  1117. data/lib/pangea/resources/aws_route53_zone/resource.rb +96 -0
  1118. data/lib/pangea/resources/aws_route53_zone/types/attributes.rb +89 -0
  1119. data/lib/pangea/resources/aws_route53_zone/types/configs.rb +73 -0
  1120. data/lib/pangea/resources/aws_route53_zone/types/instance_methods.rb +90 -0
  1121. data/lib/pangea/resources/aws_route53_zone/types/validation.rb +42 -0
  1122. data/lib/pangea/resources/aws_route53_zone/types.rb +30 -0
  1123. data/lib/pangea/resources/aws_route_table/resource.rb +101 -0
  1124. data/lib/pangea/resources/aws_route_table/types.rb +106 -0
  1125. data/lib/pangea/resources/aws_route_table_association/resource.rb +89 -0
  1126. data/lib/pangea/resources/aws_route_table_association/types.rb +93 -0
  1127. data/lib/pangea/resources/aws_s3_access_point/resource.rb +99 -0
  1128. data/lib/pangea/resources/aws_s3_access_point/types.rb +85 -0
  1129. data/lib/pangea/resources/aws_s3_access_point_policy/resource.rb +66 -0
  1130. data/lib/pangea/resources/aws_s3_access_point_policy/types.rb +62 -0
  1131. data/lib/pangea/resources/aws_s3_bucket/builders/configuration_builder.rb +105 -0
  1132. data/lib/pangea/resources/aws_s3_bucket/builders/lifecycle_builder.rb +101 -0
  1133. data/lib/pangea/resources/aws_s3_bucket/resource.rb +106 -0
  1134. data/lib/pangea/resources/aws_s3_bucket/types/cors_rule.rb +39 -0
  1135. data/lib/pangea/resources/aws_s3_bucket/types/lifecycle_rule.rb +63 -0
  1136. data/lib/pangea/resources/aws_s3_bucket/types/server_side_encryption.rb +51 -0
  1137. data/lib/pangea/resources/aws_s3_bucket/types.rb +187 -0
  1138. data/lib/pangea/resources/aws_s3_bucket_accelerate_configuration/resource.rb +67 -0
  1139. data/lib/pangea/resources/aws_s3_bucket_accelerate_configuration/types.rb +62 -0
  1140. data/lib/pangea/resources/aws_s3_bucket_analytics_configuration/resource.rb +105 -0
  1141. data/lib/pangea/resources/aws_s3_bucket_analytics_configuration/types.rb +112 -0
  1142. data/lib/pangea/resources/aws_s3_bucket_cors_configuration/resource.rb +94 -0
  1143. data/lib/pangea/resources/aws_s3_bucket_cors_configuration/types.rb +167 -0
  1144. data/lib/pangea/resources/aws_s3_bucket_encryption/resource.rb +75 -0
  1145. data/lib/pangea/resources/aws_s3_bucket_encryption/types.rb +112 -0
  1146. data/lib/pangea/resources/aws_s3_bucket_inventory/resource.rb +132 -0
  1147. data/lib/pangea/resources/aws_s3_bucket_inventory/types/helpers.rb +113 -0
  1148. data/lib/pangea/resources/aws_s3_bucket_inventory/types.rb +156 -0
  1149. data/lib/pangea/resources/aws_s3_bucket_lifecycle_configuration/resource.rb +155 -0
  1150. data/lib/pangea/resources/aws_s3_bucket_lifecycle_configuration/types/attributes.rb +55 -0
  1151. data/lib/pangea/resources/aws_s3_bucket_lifecycle_configuration/types/expiration.rb +41 -0
  1152. data/lib/pangea/resources/aws_s3_bucket_lifecycle_configuration/types/filter.rb +54 -0
  1153. data/lib/pangea/resources/aws_s3_bucket_lifecycle_configuration/types/rule.rb +51 -0
  1154. data/lib/pangea/resources/aws_s3_bucket_lifecycle_configuration/types/transition.rb +53 -0
  1155. data/lib/pangea/resources/aws_s3_bucket_lifecycle_configuration/types.rb +26 -0
  1156. data/lib/pangea/resources/aws_s3_bucket_notification/resource.rb +119 -0
  1157. data/lib/pangea/resources/aws_s3_bucket_notification/types/helpers.rb +76 -0
  1158. data/lib/pangea/resources/aws_s3_bucket_notification/types/notification_config.rb +74 -0
  1159. data/lib/pangea/resources/aws_s3_bucket_notification/types/s3_events.rb +54 -0
  1160. data/lib/pangea/resources/aws_s3_bucket_notification/types/validators.rb +64 -0
  1161. data/lib/pangea/resources/aws_s3_bucket_notification/types.rb +62 -0
  1162. data/lib/pangea/resources/aws_s3_bucket_object_lock_configuration/resource.rb +97 -0
  1163. data/lib/pangea/resources/aws_s3_bucket_object_lock_configuration/types/instance_methods.rb +129 -0
  1164. data/lib/pangea/resources/aws_s3_bucket_object_lock_configuration/types/validation.rb +24 -0
  1165. data/lib/pangea/resources/aws_s3_bucket_object_lock_configuration/types.rb +78 -0
  1166. data/lib/pangea/resources/aws_s3_bucket_policy/resource.rb +63 -0
  1167. data/lib/pangea/resources/aws_s3_bucket_policy/types.rb +91 -0
  1168. data/lib/pangea/resources/aws_s3_bucket_public_access_block/resource.rb +74 -0
  1169. data/lib/pangea/resources/aws_s3_bucket_public_access_block/types.rb +90 -0
  1170. data/lib/pangea/resources/aws_s3_bucket_replication_configuration/resource.rb +198 -0
  1171. data/lib/pangea/resources/aws_s3_bucket_replication_configuration/types/destination.rb +87 -0
  1172. data/lib/pangea/resources/aws_s3_bucket_replication_configuration/types/filter.rb +52 -0
  1173. data/lib/pangea/resources/aws_s3_bucket_replication_configuration/types/helpers.rb +108 -0
  1174. data/lib/pangea/resources/aws_s3_bucket_replication_configuration/types/rule.rb +81 -0
  1175. data/lib/pangea/resources/aws_s3_bucket_replication_configuration/types/validators.rb +117 -0
  1176. data/lib/pangea/resources/aws_s3_bucket_replication_configuration/types.rb +54 -0
  1177. data/lib/pangea/resources/aws_s3_bucket_versioning/resource.rb +69 -0
  1178. data/lib/pangea/resources/aws_s3_bucket_versioning/types.rb +75 -0
  1179. data/lib/pangea/resources/aws_s3_bucket_website_configuration/resource.rb +120 -0
  1180. data/lib/pangea/resources/aws_s3_bucket_website_configuration/types/attributes.rb +57 -0
  1181. data/lib/pangea/resources/aws_s3_bucket_website_configuration/types/documents.rb +61 -0
  1182. data/lib/pangea/resources/aws_s3_bucket_website_configuration/types/redirect.rb +41 -0
  1183. data/lib/pangea/resources/aws_s3_bucket_website_configuration/types/routing_rules.rb +99 -0
  1184. data/lib/pangea/resources/aws_s3_bucket_website_configuration/types.rb +19 -0
  1185. data/lib/pangea/resources/aws_s3_multi_region_access_point/resource.rb +102 -0
  1186. data/lib/pangea/resources/aws_s3_multi_region_access_point/types.rb +98 -0
  1187. data/lib/pangea/resources/aws_s3_object/resource.rb +128 -0
  1188. data/lib/pangea/resources/aws_s3_object/types/attributes.rb +108 -0
  1189. data/lib/pangea/resources/aws_s3_object/types/instance_methods.rb +113 -0
  1190. data/lib/pangea/resources/aws_s3_object/types/validation.rb +57 -0
  1191. data/lib/pangea/resources/aws_s3_object/types.rb +21 -0
  1192. data/lib/pangea/resources/aws_s3_object_lambda_access_point/resource.rb +94 -0
  1193. data/lib/pangea/resources/aws_s3_object_lambda_access_point/types.rb +101 -0
  1194. data/lib/pangea/resources/aws_sagemaker_domain/resource.rb +158 -0
  1195. data/lib/pangea/resources/aws_sagemaker_domain/types/app_settings_types.rb +91 -0
  1196. data/lib/pangea/resources/aws_sagemaker_domain/types/base_types.rb +70 -0
  1197. data/lib/pangea/resources/aws_sagemaker_domain/types/user_settings_types.rb +45 -0
  1198. data/lib/pangea/resources/aws_sagemaker_domain/types.rb +178 -0
  1199. data/lib/pangea/resources/aws_sagemaker_endpoint/reference_attributes.rb +119 -0
  1200. data/lib/pangea/resources/aws_sagemaker_endpoint/resource.rb +156 -0
  1201. data/lib/pangea/resources/aws_sagemaker_endpoint/types/computed_properties.rb +100 -0
  1202. data/lib/pangea/resources/aws_sagemaker_endpoint/types/deployment_analysis.rb +108 -0
  1203. data/lib/pangea/resources/aws_sagemaker_endpoint/types/deployment_config.rb +54 -0
  1204. data/lib/pangea/resources/aws_sagemaker_endpoint/types.rb +122 -0
  1205. data/lib/pangea/resources/aws_sagemaker_endpoint_configuration/reference_attributes.rb +130 -0
  1206. data/lib/pangea/resources/aws_sagemaker_endpoint_configuration/resource.rb +190 -0
  1207. data/lib/pangea/resources/aws_sagemaker_endpoint_configuration/types/attributes.rb +155 -0
  1208. data/lib/pangea/resources/aws_sagemaker_endpoint_configuration/types/variant_types.rb +73 -0
  1209. data/lib/pangea/resources/aws_sagemaker_endpoint_configuration/types.rb +20 -0
  1210. data/lib/pangea/resources/aws_sagemaker_feature_group/resource.rb +62 -0
  1211. data/lib/pangea/resources/aws_sagemaker_feature_group/types.rb +149 -0
  1212. data/lib/pangea/resources/aws_sagemaker_model/resource.rb +187 -0
  1213. data/lib/pangea/resources/aws_sagemaker_model/types/attributes.rb +62 -0
  1214. data/lib/pangea/resources/aws_sagemaker_model/types/helpers.rb +74 -0
  1215. data/lib/pangea/resources/aws_sagemaker_model/types/validators.rb +13 -0
  1216. data/lib/pangea/resources/aws_sagemaker_model/types.rb +7 -0
  1217. data/lib/pangea/resources/aws_sagemaker_notebook_instance/resource.rb +137 -0
  1218. data/lib/pangea/resources/aws_sagemaker_notebook_instance/types/helpers.rb +73 -0
  1219. data/lib/pangea/resources/aws_sagemaker_notebook_instance/types/pricing.rb +118 -0
  1220. data/lib/pangea/resources/aws_sagemaker_notebook_instance/types/security.rb +81 -0
  1221. data/lib/pangea/resources/aws_sagemaker_notebook_instance/types/validators.rb +97 -0
  1222. data/lib/pangea/resources/aws_sagemaker_notebook_instance/types.rb +104 -0
  1223. data/lib/pangea/resources/aws_sagemaker_pipeline/resource.rb +59 -0
  1224. data/lib/pangea/resources/aws_sagemaker_pipeline/types.rb +77 -0
  1225. data/lib/pangea/resources/aws_sagemaker_processing_job/resource.rb +59 -0
  1226. data/lib/pangea/resources/aws_sagemaker_processing_job/types.rb +139 -0
  1227. data/lib/pangea/resources/aws_sagemaker_training_job/resource.rb +67 -0
  1228. data/lib/pangea/resources/aws_sagemaker_training_job/types/attributes.rb +90 -0
  1229. data/lib/pangea/resources/aws_sagemaker_training_job/types/configs.rb +38 -0
  1230. data/lib/pangea/resources/aws_sagemaker_training_job/types/enums.rb +25 -0
  1231. data/lib/pangea/resources/aws_sagemaker_training_job/types/validation.rb +70 -0
  1232. data/lib/pangea/resources/aws_sagemaker_training_job/types.rb +10 -0
  1233. data/lib/pangea/resources/aws_sagemaker_user_profile/resource.rb +196 -0
  1234. data/lib/pangea/resources/aws_sagemaker_user_profile/types/attributes.rb +68 -0
  1235. data/lib/pangea/resources/aws_sagemaker_user_profile/types/helpers.rb +68 -0
  1236. data/lib/pangea/resources/aws_sagemaker_user_profile/types/validators.rb +13 -0
  1237. data/lib/pangea/resources/aws_sagemaker_user_profile/types.rb +7 -0
  1238. data/lib/pangea/resources/aws_secretsmanager_secret/resource.rb +108 -0
  1239. data/lib/pangea/resources/aws_secretsmanager_secret/types.rb +198 -0
  1240. data/lib/pangea/resources/aws_secretsmanager_secret_version/resource.rb +73 -0
  1241. data/lib/pangea/resources/aws_secretsmanager_secret_version/types.rb +101 -0
  1242. data/lib/pangea/resources/aws_security_group/resource.rb +78 -0
  1243. data/lib/pangea/resources/aws_security_group/types.rb +109 -0
  1244. data/lib/pangea/resources/aws_securityhub_account/resource.rb +71 -0
  1245. data/lib/pangea/resources/aws_securityhub_account/types.rb +60 -0
  1246. data/lib/pangea/resources/aws_ses_configuration_set/resource.rb +67 -0
  1247. data/lib/pangea/resources/aws_ses_configuration_set/types.rb +74 -0
  1248. data/lib/pangea/resources/aws_ses_domain_identity/resource.rb +54 -0
  1249. data/lib/pangea/resources/aws_ses_domain_identity/types.rb +60 -0
  1250. data/lib/pangea/resources/aws_ses_email_identity/resource.rb +53 -0
  1251. data/lib/pangea/resources/aws_ses_email_identity/types.rb +72 -0
  1252. data/lib/pangea/resources/aws_sfn_activity/resource.rb +58 -0
  1253. data/lib/pangea/resources/aws_sfn_activity/types.rb +123 -0
  1254. data/lib/pangea/resources/aws_sfn_state_machine/resource.rb +89 -0
  1255. data/lib/pangea/resources/aws_sfn_state_machine/types/attributes.rb +51 -0
  1256. data/lib/pangea/resources/aws_sfn_state_machine/types/builders.rb +87 -0
  1257. data/lib/pangea/resources/aws_sfn_state_machine/types/validators.rb +86 -0
  1258. data/lib/pangea/resources/aws_sfn_state_machine/types.rb +8 -0
  1259. data/lib/pangea/resources/aws_snow_family/datasync.rb +124 -0
  1260. data/lib/pangea/resources/aws_snow_family/snowball.rb +95 -0
  1261. data/lib/pangea/resources/aws_snow_family/snowcone.rb +82 -0
  1262. data/lib/pangea/resources/aws_snow_family/snowmobile.rb +51 -0
  1263. data/lib/pangea/resources/aws_sns_subscription/resource.rb +96 -0
  1264. data/lib/pangea/resources/aws_sns_subscription/types/helpers.rb +73 -0
  1265. data/lib/pangea/resources/aws_sns_subscription/types/validators.rb +144 -0
  1266. data/lib/pangea/resources/aws_sns_subscription/types.rb +53 -0
  1267. data/lib/pangea/resources/aws_sns_topic/resource.rb +123 -0
  1268. data/lib/pangea/resources/aws_sns_topic/types.rb +192 -0
  1269. data/lib/pangea/resources/aws_sqs_queue/resource.rb +111 -0
  1270. data/lib/pangea/resources/aws_sqs_queue/types.rb +168 -0
  1271. data/lib/pangea/resources/aws_sqs_queue_policy/resource.rb +61 -0
  1272. data/lib/pangea/resources/aws_sqs_queue_policy/types.rb +113 -0
  1273. data/lib/pangea/resources/aws_ssm_document/resource.rb +141 -0
  1274. data/lib/pangea/resources/aws_ssm_document/types/attributes.rb +101 -0
  1275. data/lib/pangea/resources/aws_ssm_document/types/configs.rb +56 -0
  1276. data/lib/pangea/resources/aws_ssm_document/types.rb +18 -0
  1277. data/lib/pangea/resources/aws_ssm_document/types.rbs +49 -0
  1278. data/lib/pangea/resources/aws_ssm_maintenance_window/resource.rb +117 -0
  1279. data/lib/pangea/resources/aws_ssm_maintenance_window/types/attributes.rb +188 -0
  1280. data/lib/pangea/resources/aws_ssm_maintenance_window/types/configs.rb +88 -0
  1281. data/lib/pangea/resources/aws_ssm_maintenance_window/types.rb +18 -0
  1282. data/lib/pangea/resources/aws_ssm_maintenance_window/types.rbs +49 -0
  1283. data/lib/pangea/resources/aws_ssm_parameter/resource.rb +95 -0
  1284. data/lib/pangea/resources/aws_ssm_parameter/types/configs.rb +118 -0
  1285. data/lib/pangea/resources/aws_ssm_parameter/types/helpers.rb +101 -0
  1286. data/lib/pangea/resources/aws_ssm_parameter/types/validation.rb +83 -0
  1287. data/lib/pangea/resources/aws_ssm_parameter/types.rb +69 -0
  1288. data/lib/pangea/resources/aws_ssm_parameter/types.rbs +47 -0
  1289. data/lib/pangea/resources/aws_ssm_patch_baseline/resource.rb +146 -0
  1290. data/lib/pangea/resources/aws_ssm_patch_baseline/types/attributes.rb +71 -0
  1291. data/lib/pangea/resources/aws_ssm_patch_baseline/types/configs.rb +94 -0
  1292. data/lib/pangea/resources/aws_ssm_patch_baseline/types/instance_methods.rb +97 -0
  1293. data/lib/pangea/resources/aws_ssm_patch_baseline/types/validation.rb +99 -0
  1294. data/lib/pangea/resources/aws_ssm_patch_baseline/types.rb +19 -0
  1295. data/lib/pangea/resources/aws_ssm_patch_baseline/types.rbs +51 -0
  1296. data/lib/pangea/resources/aws_subnet/resource.rb +69 -0
  1297. data/lib/pangea/resources/aws_subnet/types.rb +81 -0
  1298. data/lib/pangea/resources/aws_sumerian_project/resource.rb +82 -0
  1299. data/lib/pangea/resources/aws_sumerian_project/types.rb +28 -0
  1300. data/lib/pangea/resources/aws_support_app_slack_channel_configuration/resource.rb +111 -0
  1301. data/lib/pangea/resources/aws_support_app_slack_workspace_configuration/resource.rb +70 -0
  1302. data/lib/pangea/resources/aws_timestream_access_policy/resource.rb +65 -0
  1303. data/lib/pangea/resources/aws_timestream_access_policy/types.rb +48 -0
  1304. data/lib/pangea/resources/aws_timestream_batch_load_task/resource.rb +73 -0
  1305. data/lib/pangea/resources/aws_timestream_batch_load_task/types.rb +52 -0
  1306. data/lib/pangea/resources/aws_timestream_database/resource.rb +67 -0
  1307. data/lib/pangea/resources/aws_timestream_database/types.rb +47 -0
  1308. data/lib/pangea/resources/aws_timestream_influx_db_instance/resource.rb +81 -0
  1309. data/lib/pangea/resources/aws_timestream_influx_db_instance/types.rb +59 -0
  1310. data/lib/pangea/resources/aws_timestream_scheduled_query/resource.rb +73 -0
  1311. data/lib/pangea/resources/aws_timestream_scheduled_query/types.rb +54 -0
  1312. data/lib/pangea/resources/aws_timestream_table/resource.rb +69 -0
  1313. data/lib/pangea/resources/aws_timestream_table/types.rb +50 -0
  1314. data/lib/pangea/resources/aws_timestream_table_retention_properties/resource.rb +66 -0
  1315. data/lib/pangea/resources/aws_timestream_table_retention_properties/types.rb +49 -0
  1316. data/lib/pangea/resources/aws_volume_attachment/resource.rb +74 -0
  1317. data/lib/pangea/resources/aws_volume_attachment/types.rb +174 -0
  1318. data/lib/pangea/resources/aws_vpc/resource.rb +80 -0
  1319. data/lib/pangea/resources/aws_vpc/types.rb +93 -0
  1320. data/lib/pangea/resources/aws_vpc_dhcp_options_association/resource.rb +63 -0
  1321. data/lib/pangea/resources/aws_vpc_dhcp_options_association/types.rb +44 -0
  1322. data/lib/pangea/resources/aws_vpc_endpoint/resource.rb +147 -0
  1323. data/lib/pangea/resources/aws_vpc_endpoint/types/configs.rb +96 -0
  1324. data/lib/pangea/resources/aws_vpc_endpoint/types.rb +193 -0
  1325. data/lib/pangea/resources/aws_vpc_endpoint_connection_accepter/resource.rb +63 -0
  1326. data/lib/pangea/resources/aws_vpc_endpoint_connection_accepter/types.rb +44 -0
  1327. data/lib/pangea/resources/aws_vpc_endpoint_connection_notification/resource.rb +70 -0
  1328. data/lib/pangea/resources/aws_vpc_endpoint_connection_notification/types.rb +48 -0
  1329. data/lib/pangea/resources/aws_vpc_endpoint_route_table_association/resource.rb +63 -0
  1330. data/lib/pangea/resources/aws_vpc_endpoint_route_table_association/types.rb +44 -0
  1331. data/lib/pangea/resources/aws_vpc_endpoint_service/resource.rb +123 -0
  1332. data/lib/pangea/resources/aws_vpc_endpoint_service/types.rb +142 -0
  1333. data/lib/pangea/resources/aws_vpc_endpoint_service_allowed_principal/resource.rb +63 -0
  1334. data/lib/pangea/resources/aws_vpc_endpoint_service_allowed_principal/types.rb +44 -0
  1335. data/lib/pangea/resources/aws_vpc_endpoint_subnet_association/resource.rb +63 -0
  1336. data/lib/pangea/resources/aws_vpc_endpoint_subnet_association/types.rb +44 -0
  1337. data/lib/pangea/resources/aws_vpc_network_performance_metric_subscription/resource.rb +63 -0
  1338. data/lib/pangea/resources/aws_vpc_network_performance_metric_subscription/types.rb +44 -0
  1339. data/lib/pangea/resources/aws_vpc_peering_connection/resource.rb +127 -0
  1340. data/lib/pangea/resources/aws_vpc_peering_connection/types/configs.rb +124 -0
  1341. data/lib/pangea/resources/aws_vpc_peering_connection/types.rb +160 -0
  1342. data/lib/pangea/resources/aws_vpc_peering_connection_accepter/resource.rb +63 -0
  1343. data/lib/pangea/resources/aws_vpc_peering_connection_accepter/types.rb +44 -0
  1344. data/lib/pangea/resources/aws_vpc_peering_connection_options/resource.rb +63 -0
  1345. data/lib/pangea/resources/aws_vpc_peering_connection_options/types.rb +44 -0
  1346. data/lib/pangea/resources/aws_vpc_security_group_egress_rule/resource.rb +63 -0
  1347. data/lib/pangea/resources/aws_vpc_security_group_egress_rule/types.rb +44 -0
  1348. data/lib/pangea/resources/aws_vpc_security_group_ingress_rule/resource.rb +63 -0
  1349. data/lib/pangea/resources/aws_vpc_security_group_ingress_rule/types.rb +44 -0
  1350. data/lib/pangea/resources/aws_vpn_connection/resource.rb +115 -0
  1351. data/lib/pangea/resources/aws_vpn_connection/types.rb +125 -0
  1352. data/lib/pangea/resources/aws_vpn_gateway/resource.rb +88 -0
  1353. data/lib/pangea/resources/aws_vpn_gateway/types.rb +85 -0
  1354. data/lib/pangea/resources/aws_wafv2_ip_set/resource.rb +80 -0
  1355. data/lib/pangea/resources/aws_wafv2_ip_set/types.rb +140 -0
  1356. data/lib/pangea/resources/aws_wafv2_regex_pattern_set/resource.rb +86 -0
  1357. data/lib/pangea/resources/aws_wafv2_regex_pattern_set/types/configs.rb +116 -0
  1358. data/lib/pangea/resources/aws_wafv2_regex_pattern_set/types/helpers.rb +106 -0
  1359. data/lib/pangea/resources/aws_wafv2_regex_pattern_set/types.rb +114 -0
  1360. data/lib/pangea/resources/aws_wafv2_rule_group/resource/actions.rb +83 -0
  1361. data/lib/pangea/resources/aws_wafv2_rule_group/resource/dsl_builder.rb +107 -0
  1362. data/lib/pangea/resources/aws_wafv2_rule_group/resource/field_to_match.rb +45 -0
  1363. data/lib/pangea/resources/aws_wafv2_rule_group/resource/statements.rb +137 -0
  1364. data/lib/pangea/resources/aws_wafv2_rule_group/resource.rb +174 -0
  1365. data/lib/pangea/resources/aws_wafv2_rule_group/types/actions.rb +79 -0
  1366. data/lib/pangea/resources/aws_wafv2_rule_group/types/computed.rb +65 -0
  1367. data/lib/pangea/resources/aws_wafv2_rule_group/types/rule_schema.rb +54 -0
  1368. data/lib/pangea/resources/aws_wafv2_rule_group/types/schemas.rb +74 -0
  1369. data/lib/pangea/resources/aws_wafv2_rule_group/types/validators.rb +121 -0
  1370. data/lib/pangea/resources/aws_wafv2_rule_group/types.rb +53 -0
  1371. data/lib/pangea/resources/aws_wafv2_web_acl/resource/dsl_builder/default_action.rb +80 -0
  1372. data/lib/pangea/resources/aws_wafv2_web_acl/resource/dsl_builder/field_to_match.rb +71 -0
  1373. data/lib/pangea/resources/aws_wafv2_web_acl/resource/dsl_builder/rules.rb +111 -0
  1374. data/lib/pangea/resources/aws_wafv2_web_acl/resource/dsl_builder/statements.rb +181 -0
  1375. data/lib/pangea/resources/aws_wafv2_web_acl/resource/dsl_builder.rb +42 -0
  1376. data/lib/pangea/resources/aws_wafv2_web_acl/resource.rb +94 -0
  1377. data/lib/pangea/resources/aws_wafv2_web_acl/types/default_action.rb +57 -0
  1378. data/lib/pangea/resources/aws_wafv2_web_acl/types/rule.rb +60 -0
  1379. data/lib/pangea/resources/aws_wafv2_web_acl/types/rule_action.rb +76 -0
  1380. data/lib/pangea/resources/aws_wafv2_web_acl/types/statement.rb +176 -0
  1381. data/lib/pangea/resources/aws_wafv2_web_acl/types/visibility_config.rb +35 -0
  1382. data/lib/pangea/resources/aws_wafv2_web_acl/types/web_acl_attributes.rb +158 -0
  1383. data/lib/pangea/resources/aws_wafv2_web_acl/types.rb +26 -0
  1384. data/lib/pangea/resources/aws_wavelength/application_deployment.rb +78 -0
  1385. data/lib/pangea/resources/aws_wavelength/carrier_gateway.rb +62 -0
  1386. data/lib/pangea/resources/aws_wavelength/deployment.rb +68 -0
  1387. data/lib/pangea/resources/aws_wavelength/edge_location.rb +66 -0
  1388. data/lib/pangea/resources/aws_wavelength/network_interface.rb +77 -0
  1389. data/lib/pangea/resources/aws_wavelength/workload.rb +74 -0
  1390. data/lib/pangea/resources/aws_workspaces_bundle/resource.rb +97 -0
  1391. data/lib/pangea/resources/aws_workspaces_bundle/types/compute.rb +68 -0
  1392. data/lib/pangea/resources/aws_workspaces_bundle/types/storage.rb +71 -0
  1393. data/lib/pangea/resources/aws_workspaces_bundle/types.rb +92 -0
  1394. data/lib/pangea/resources/aws_workspaces_directory/resource.rb +130 -0
  1395. data/lib/pangea/resources/aws_workspaces_directory/types/self_service_permissions_type.rb +54 -0
  1396. data/lib/pangea/resources/aws_workspaces_directory/types/workspace_access_properties_type.rb +68 -0
  1397. data/lib/pangea/resources/aws_workspaces_directory/types/workspace_creation_properties_type.rb +61 -0
  1398. data/lib/pangea/resources/aws_workspaces_directory/types.rb +82 -0
  1399. data/lib/pangea/resources/aws_workspaces_ip_group/resource.rb +90 -0
  1400. data/lib/pangea/resources/aws_workspaces_ip_group/types.rb +149 -0
  1401. data/lib/pangea/resources/aws_workspaces_workspace/resource.rb +105 -0
  1402. data/lib/pangea/resources/aws_workspaces_workspace/types.rb +180 -0
  1403. data/lib/pangea/resources/aws_xray_encryption_config/resource.rb +77 -0
  1404. data/lib/pangea/resources/aws_xray_group/resource.rb +110 -0
  1405. data/lib/pangea/resources/aws_xray_sampling_rule/resource.rb +143 -0
  1406. data/lib/pangea/resources/reference/instance_computed_attributes.rb +78 -0
  1407. data/lib/pangea/resources/reference/subnet_computed_attributes.rb +60 -0
  1408. data/lib/pangea/resources/reference/vpc_computed_attributes.rb +89 -0
  1409. data/lib/pangea/resources/types/aws/compute.rb +98 -0
  1410. data/lib/pangea/resources/types/aws/core.rb +138 -0
  1411. data/lib/pangea/resources/types/aws/database.rb +33 -0
  1412. data/lib/pangea/resources/types/aws/iot.rb +179 -0
  1413. data/lib/pangea/resources/types/aws/iot_analytics.rb +57 -0
  1414. data/lib/pangea/resources/types/aws/load_balancer.rb +97 -0
  1415. data/lib/pangea/resources/types/aws/monitoring.rb +52 -0
  1416. data/lib/pangea/resources/types/aws/networking.rb +74 -0
  1417. data/lib/pangea/resources/types/aws/security.rb +130 -0
  1418. data/lib/pangea/resources/types/aws/storage.rb +60 -0
  1419. data/lib/pangea/resources/types/core.rb +6 -0
  1420. data/lib/pangea-aws/version.rb +5 -0
  1421. data/lib/pangea-aws.rb +465 -0
  1422. data/pangea-aws.gemspec +33 -0
  1423. metadata +1564 -0
@@ -0,0 +1,170 @@
1
+ # frozen_string_literal: true
2
+ # Copyright 2025 The Pangea Authors
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ require 'dry-struct'
17
+ require 'pangea/resources/types'
18
+
19
+ module Pangea
20
+ module Resources
21
+ module AWS
22
+ module Types
23
+ # Transit Gateway Route Table Association resource attributes with validation
24
+ class TransitGatewayRouteTableAssociationAttributes < Pangea::Resources::BaseAttributes
25
+ transform_keys(&:to_sym)
26
+
27
+ attribute? :transit_gateway_attachment_id, Resources::Types::String.optional
28
+ attribute? :transit_gateway_route_table_id, Resources::Types::String.optional
29
+ attribute? :replace_existing_association, Resources::Types::Bool.default(false)
30
+
31
+ # Custom validation for association configuration
32
+ def self.new(attributes)
33
+ attrs = attributes.is_a?(::Hash) ? attributes : {}
34
+
35
+ # Validate attachment ID format
36
+ if attrs[:transit_gateway_attachment_id] && !attrs[:transit_gateway_attachment_id].match?(/\Atgw-attach-[0-9a-f]{8,17}\z/)
37
+ raise Dry::Struct::Error, "Invalid Transit Gateway Attachment ID format: #{attrs[:transit_gateway_attachment_id]}. Expected format: tgw-attach-xxxxxxxx"
38
+ end
39
+
40
+ # Validate route table ID format
41
+ if attrs[:transit_gateway_route_table_id] && !attrs[:transit_gateway_route_table_id].match?(/\Atgw-rtb-[0-9a-f]{8,17}\z/)
42
+ raise Dry::Struct::Error, "Invalid Transit Gateway Route Table ID format: #{attrs[:transit_gateway_route_table_id]}. Expected format: tgw-rtb-xxxxxxxx"
43
+ end
44
+
45
+ super(attrs)
46
+ end
47
+
48
+ # Computed properties
49
+ def replace_existing_association?
50
+ !!replace_existing_association
51
+ end
52
+
53
+ def association_purpose
54
+ # Associations control which route table an attachment uses for outbound traffic
55
+ "Associates attachment #{transit_gateway_attachment_id} with route table #{transit_gateway_route_table_id} for outbound routing"
56
+ end
57
+
58
+ def replaces_default_association?
59
+ replace_existing_association == true
60
+ end
61
+
62
+ def routing_implications
63
+ implications = {
64
+ outbound_routing: "Attachment will use associated route table for outbound traffic routing",
65
+ route_evaluation: "Routes in the associated route table will be evaluated for traffic from this attachment",
66
+ override_behavior: replace_existing_association? ? "Will replace existing association" : "Will fail if association already exists"
67
+ }
68
+
69
+ if replace_existing_association?
70
+ implications[:warning] = "Replacing existing association may cause temporary traffic disruption"
71
+ end
72
+
73
+ implications
74
+ end
75
+
76
+ def security_considerations
77
+ considerations = []
78
+
79
+ considerations << "Route table association controls outbound traffic flow from the attachment"
80
+ considerations << "Attachments can only be associated with one route table at a time"
81
+ considerations << "Association determines which routes are available for outbound traffic"
82
+
83
+ if replace_existing_association?
84
+ considerations << "Replacing existing association may change traffic flows - ensure new routes are configured"
85
+ considerations << "Consider testing route changes in non-production environments first"
86
+ else
87
+ considerations << "Association will fail if attachment is already associated with another route table"
88
+ considerations << "Use replace_existing_association: true to override existing associations"
89
+ end
90
+
91
+ considerations
92
+ end
93
+
94
+ def operational_insights
95
+ insights = {
96
+ association_model: "one_to_one", # One attachment to one route table
97
+ traffic_direction: "outbound_only", # Association only affects outbound traffic
98
+ conflict_resolution: replace_existing_association? ? "replace_existing" : "fail_on_conflict"
99
+ }
100
+
101
+ # Add guidance based on configuration
102
+ if replace_existing_association?
103
+ insights[:change_management] = "Association change will be immediate - plan for potential traffic impact"
104
+ else
105
+ insights[:change_management] = "New association only - existing associations will cause failure"
106
+ end
107
+
108
+ insights[:best_practice] = "Document which attachments are associated with which route tables for troubleshooting"
109
+
110
+ insights
111
+ end
112
+
113
+ def troubleshooting_guide
114
+ guide = {
115
+ common_issues: [
116
+ "Association already exists: Use replace_existing_association: true or remove existing association first",
117
+ "Invalid resource IDs: Verify attachment and route table exist and IDs are correct",
118
+ "Permission errors: Ensure proper IAM permissions for Transit Gateway management"
119
+ ],
120
+ verification_steps: [
121
+ "Check attachment state is 'available' before associating",
122
+ "Verify route table belongs to the same Transit Gateway as attachment",
123
+ "Confirm no conflicting associations exist if replace_existing_association is false"
124
+ ],
125
+ monitoring: [
126
+ "Monitor CloudWatch metrics for route table utilization",
127
+ "Track attachment association changes through CloudTrail",
128
+ "Use VPC Flow Logs to verify traffic is following expected routes"
129
+ ]
130
+ }
131
+
132
+ if replace_existing_association?
133
+ guide[:replacement_specific] = [
134
+ "Previous association will be removed atomically",
135
+ "Brief traffic disruption may occur during association change",
136
+ "New routes take effect immediately after association"
137
+ ]
138
+ end
139
+
140
+ guide
141
+ end
142
+
143
+ def estimated_change_impact
144
+ impact = {
145
+ scope: "attachment_outbound_routing",
146
+ severity: replace_existing_association? ? "medium" : "low",
147
+ duration: "immediate", # Association changes take effect immediately
148
+ rollback_complexity: "low" # Can reassociate to previous route table
149
+ }
150
+
151
+ if replace_existing_association?
152
+ impact[:warnings] = [
153
+ "Traffic flows from attachment will change immediately",
154
+ "Ensure new route table has appropriate routes configured",
155
+ "Consider gradual migration for production workloads"
156
+ ]
157
+ else
158
+ impact[:warnings] = [
159
+ "New association only - no impact on existing traffic flows",
160
+ "Will fail if attachment already has an association"
161
+ ]
162
+ end
163
+
164
+ impact
165
+ end
166
+ end
167
+ end
168
+ end
169
+ end
170
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+ # Copyright 2025 The Pangea Authors
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+
17
+ require 'pangea/resources/base'
18
+ require 'pangea/resources/reference'
19
+ require 'pangea/resources/aws_ec2_transit_gateway_route_table_propagation/types'
20
+ require 'pangea/resource_registry'
21
+
22
+ module Pangea
23
+ module Resources
24
+ module AWS
25
+ # Create an AWS EC2 Transit Gateway Route Table Propagation with type-safe attributes
26
+ #
27
+ # @param name [Symbol] The resource name
28
+ # @param attributes [Hash] Transit Gateway Route Table Propagation attributes
29
+ # @return [ResourceReference] Reference object with outputs and computed properties
30
+ def aws_ec2_transit_gateway_route_table_propagation(name, attributes = {})
31
+ # Validate attributes using dry-struct
32
+ propagation_attrs = Types::TransitGatewayRouteTablePropagationAttributes.new(attributes)
33
+
34
+ # Generate terraform resource block via terraform-synthesizer
35
+ resource(:aws_ec2_transit_gateway_route_table_propagation, name) do
36
+ # Required attachment ID (source of routes)
37
+ transit_gateway_attachment_id propagation_attrs.transit_gateway_attachment_id
38
+
39
+ # Required route table ID (destination for routes)
40
+ transit_gateway_route_table_id propagation_attrs.transit_gateway_route_table_id
41
+ end
42
+
43
+ # Return resource reference with available outputs
44
+ ResourceReference.new(
45
+ type: 'aws_ec2_transit_gateway_route_table_propagation',
46
+ name: name,
47
+ resource_attributes: propagation_attrs.to_h,
48
+ outputs: {
49
+ id: "${aws_ec2_transit_gateway_route_table_propagation.#{name}.id}",
50
+ resource_id: "${aws_ec2_transit_gateway_route_table_propagation.#{name}.resource_id}",
51
+ resource_type: "${aws_ec2_transit_gateway_route_table_propagation.#{name}.resource_type}"
52
+ },
53
+ computed_attributes: {
54
+ propagation_purpose: propagation_attrs.propagation_purpose,
55
+ route_advertisement_behavior: propagation_attrs.route_advertisement_behavior,
56
+ propagation_implications: propagation_attrs.propagation_implications,
57
+ security_considerations: propagation_attrs.security_considerations,
58
+ operational_insights: propagation_attrs.operational_insights,
59
+ route_propagation_scenarios: propagation_attrs.route_propagation_scenarios,
60
+ troubleshooting_guide: propagation_attrs.troubleshooting_guide,
61
+ estimated_impact: propagation_attrs.estimated_impact
62
+ }
63
+ )
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,100 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 The Pangea Authors
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ module Pangea
18
+ module Resources
19
+ module AWS
20
+ module Types
21
+ # Propagation insights and scenario methods for Transit Gateway Route Table Propagation
22
+ module PropagationInsights
23
+ def propagation_implications
24
+ implications = {
25
+ route_creation: "Routes from the attachment will be automatically created in the route table",
26
+ route_management: "Propagated routes are managed automatically - do not create static routes for same CIDRs",
27
+ route_priority: "Static routes take precedence over propagated routes for the same destination",
28
+ dynamic_updates: "Route changes in source attachment are automatically reflected in route table"
29
+ }
30
+
31
+ implications[:traffic_flow] = "Other attachments associated with this route table will learn routes to the propagating attachment"
32
+ implications[:bidirectional_note] = "Propagation only advertises routes TO the attachment, not FROM it"
33
+
34
+ implications
35
+ end
36
+
37
+ def operational_insights
38
+ insights = {
39
+ automation_level: "fully_automatic",
40
+ route_lifecycle: "managed_by_aws",
41
+ troubleshooting_complexity: "medium",
42
+ change_detection: "cloudtrail_and_route_monitoring"
43
+ }
44
+
45
+ insights[:best_practices] = [
46
+ "Use route propagation for dynamic environments where routes change frequently",
47
+ "Combine with static routes for fine-grained control over specific destinations",
48
+ "Document propagation relationships for operational clarity",
49
+ "Monitor route table size to avoid hitting AWS limits"
50
+ ]
51
+
52
+ insights[:when_to_use] = [
53
+ "VPC attachments with changing subnets",
54
+ "VPN connections with dynamic routing",
55
+ "Direct Connect gateways with BGP",
56
+ "Peering connections between dynamic environments"
57
+ ]
58
+
59
+ insights[:when_not_to_use] = [
60
+ "High-security environments requiring manual route control",
61
+ "Static environments where routes never change",
62
+ "Situations requiring asymmetric routing policies"
63
+ ]
64
+
65
+ insights
66
+ end
67
+
68
+ def route_propagation_scenarios
69
+ {
70
+ vpc_attachment: {
71
+ description: "VPC subnets are propagated as routes",
72
+ route_source: "VPC CIDR and associated subnets",
73
+ update_trigger: "Subnet creation/deletion in VPC",
74
+ typical_use_case: "Dynamic subnet management"
75
+ },
76
+ vpn_attachment: {
77
+ description: "Customer network routes learned via BGP",
78
+ route_source: "BGP advertisements from customer gateway",
79
+ update_trigger: "BGP route updates from on-premises",
80
+ typical_use_case: "Dynamic on-premises connectivity"
81
+ },
82
+ dx_gateway_attachment: {
83
+ description: "Direct Connect virtual interface routes",
84
+ route_source: "BGP advertisements from Direct Connect",
85
+ update_trigger: "BGP updates from Direct Connect partner",
86
+ typical_use_case: "Enterprise network integration"
87
+ },
88
+ peering_attachment: {
89
+ description: "Routes from peered Transit Gateway",
90
+ route_source: "Routes from remote Transit Gateway",
91
+ update_trigger: "Route changes in remote Transit Gateway",
92
+ typical_use_case: "Cross-region or cross-account connectivity"
93
+ }
94
+ }
95
+ end
96
+ end
97
+ end
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 The Pangea Authors
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ module Pangea
18
+ module Resources
19
+ module AWS
20
+ module Types
21
+ # Security considerations and impact assessment for Transit Gateway Route Table Propagation
22
+ module SecurityConcerns
23
+ def security_considerations
24
+ considerations = []
25
+
26
+ considerations << "Route propagation automatically advertises attachment's routes to the route table"
27
+ considerations << "All attachments associated with the route table will learn propagated routes"
28
+ considerations << "Propagated routes can be overridden by static routes for security policies"
29
+ considerations << "Route propagation enables dynamic connectivity that may bypass static security controls"
30
+
31
+ considerations << "Consider whether automatic route propagation aligns with security segmentation requirements"
32
+ considerations << "Monitor propagated routes to ensure they don't create unintended connectivity paths"
33
+ considerations << "Document which attachments propagate to which route tables for security reviews"
34
+
35
+ considerations
36
+ end
37
+
38
+ def estimated_impact
39
+ impact = {
40
+ scope: "route_table_route_population",
41
+ automation_level: "high",
42
+ change_frequency: "dynamic",
43
+ reversibility: "easy",
44
+ monitoring_requirements: "medium"
45
+ }
46
+
47
+ impact[:benefits] = [
48
+ "Automatic route management reduces operational overhead",
49
+ "Dynamic environments stay connected as routes change",
50
+ "BGP integration enables enterprise-grade networking",
51
+ "Reduces risk of manual route configuration errors"
52
+ ]
53
+
54
+ impact[:risks] = [
55
+ "Automatic routes may create unintended connectivity",
56
+ "Route limits can be reached more quickly with propagation",
57
+ "Troubleshooting is more complex with dynamic routes",
58
+ "Security policies may be bypassed by propagated routes"
59
+ ]
60
+
61
+ impact
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 The Pangea Authors
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ module Pangea
18
+ module Resources
19
+ module AWS
20
+ module Types
21
+ # Troubleshooting and route advertisement support for Transit Gateway Route Table Propagation
22
+ module TroubleshootingSupport
23
+ def propagation_purpose
24
+ "Propagates routes from attachment #{transit_gateway_attachment_id} to route table #{transit_gateway_route_table_id}"
25
+ end
26
+
27
+ def route_advertisement_behavior
28
+ {
29
+ direction: "inbound_to_route_table",
30
+ mechanism: "automatic_route_propagation",
31
+ route_type: "propagated_routes",
32
+ override_capability: "static_routes_override_propagated"
33
+ }
34
+ end
35
+
36
+ def troubleshooting_guide
37
+ {
38
+ common_issues: [
39
+ "Propagated routes not appearing: Check attachment state and route table association",
40
+ "Route conflicts: Static routes override propagated routes for same destination",
41
+ "Unexpected connectivity: Propagated routes may create paths not anticipated",
42
+ "Route limits exceeded: Monitor route table size, AWS limits at 10,000 routes per table"
43
+ ],
44
+ verification_steps: [
45
+ "Verify attachment is in 'available' state",
46
+ "Check that source attachment has routes to propagate",
47
+ "Confirm route table association exists for destination attachments",
48
+ "Validate no static routes conflict with propagated routes"
49
+ ],
50
+ monitoring_approaches: [
51
+ "Use CloudWatch metrics for route table route count",
52
+ "Monitor Transit Gateway route table via AWS Console",
53
+ "Track propagation changes through CloudTrail events",
54
+ "Use VPC Flow Logs to verify traffic follows propagated routes"
55
+ ],
56
+ debugging_techniques: [
57
+ "Compare route table contents before/after propagation",
58
+ "Use traceroute to verify traffic path through propagated routes",
59
+ "Check BGP status for VPN/Direct Connect attachments",
60
+ "Validate attachment association and propagation configuration"
61
+ ]
62
+ }
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 The Pangea Authors
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ require 'dry-struct'
18
+ require 'pangea/resources/types'
19
+ require_relative 'types/propagation_insights'
20
+ require_relative 'types/security_concerns'
21
+ require_relative 'types/troubleshooting_support'
22
+
23
+ module Pangea
24
+ module Resources
25
+ module AWS
26
+ module Types
27
+ # Transit Gateway Route Table Propagation resource attributes with validation
28
+ class TransitGatewayRouteTablePropagationAttributes < Pangea::Resources::BaseAttributes
29
+ include PropagationInsights
30
+ include SecurityConcerns
31
+ include TroubleshootingSupport
32
+
33
+ transform_keys(&:to_sym)
34
+
35
+ attribute? :transit_gateway_attachment_id, Resources::Types::String.optional
36
+ attribute? :transit_gateway_route_table_id, Resources::Types::String.optional
37
+
38
+ # Custom validation for propagation configuration
39
+ def self.new(attributes)
40
+ attrs = attributes.is_a?(::Hash) ? attributes : {}
41
+
42
+ # Validate attachment ID format
43
+ if attrs[:transit_gateway_attachment_id] && !attrs[:transit_gateway_attachment_id].match?(/\Atgw-attach-[0-9a-f]{8,17}\z/)
44
+ raise Dry::Struct::Error, "Invalid Transit Gateway Attachment ID format: #{attrs[:transit_gateway_attachment_id]}. Expected format: tgw-attach-xxxxxxxx"
45
+ end
46
+
47
+ # Validate route table ID format
48
+ if attrs[:transit_gateway_route_table_id] && !attrs[:transit_gateway_route_table_id].match?(/\Atgw-rtb-[0-9a-f]{8,17}\z/)
49
+ raise Dry::Struct::Error, "Invalid Transit Gateway Route Table ID format: #{attrs[:transit_gateway_route_table_id]}. Expected format: tgw-rtb-xxxxxxxx"
50
+ end
51
+
52
+ super(attrs)
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+ # Copyright 2025 The Pangea Authors
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+
17
+ require 'pangea/resources/base'
18
+ require 'pangea/resources/reference'
19
+ require 'pangea/resources/aws_ec2_transit_gateway_vpc_attachment/types'
20
+ require 'pangea/resource_registry'
21
+
22
+ module Pangea
23
+ module Resources
24
+ module AWS
25
+ # Create an AWS EC2 Transit Gateway VPC Attachment with type-safe attributes
26
+ #
27
+ # @param name [Symbol] The resource name
28
+ # @param attributes [Hash] Transit Gateway VPC Attachment attributes
29
+ # @return [ResourceReference] Reference object with outputs and computed properties
30
+ def aws_ec2_transit_gateway_vpc_attachment(name, attributes = {})
31
+ # Validate attributes using dry-struct
32
+ attachment_attrs = Types::TransitGatewayVpcAttachmentAttributes.new(attributes)
33
+
34
+ # Generate terraform resource block via terraform-synthesizer
35
+ resource(:aws_ec2_transit_gateway_vpc_attachment, name) do
36
+ # Required attributes
37
+ transit_gateway_id attachment_attrs.transit_gateway_id
38
+ vpc_id attachment_attrs.vpc_id
39
+ subnet_ids attachment_attrs.subnet_ids
40
+
41
+ # Optional appliance mode support
42
+ if attachment_attrs.appliance_mode_support
43
+ appliance_mode_support attachment_attrs.appliance_mode_support
44
+ end
45
+
46
+ # Optional DNS support
47
+ if attachment_attrs.dns_support
48
+ dns_support attachment_attrs.dns_support
49
+ end
50
+
51
+ # Optional IPv6 support
52
+ if attachment_attrs.ipv6_support
53
+ ipv6_support attachment_attrs.ipv6_support
54
+ end
55
+
56
+ # Optional default route table association
57
+ if !attachment_attrs.transit_gateway_default_route_table_association.nil?
58
+ transit_gateway_default_route_table_association attachment_attrs.transit_gateway_default_route_table_association
59
+ end
60
+
61
+ # Optional default route table propagation
62
+ if !attachment_attrs.transit_gateway_default_route_table_propagation.nil?
63
+ transit_gateway_default_route_table_propagation attachment_attrs.transit_gateway_default_route_table_propagation
64
+ end
65
+
66
+ # Apply tags if present
67
+ if attachment_attrs.tags&.any?
68
+ tags do
69
+ attachment_attrs.tags.each do |key, value|
70
+ public_send(key, value)
71
+ end
72
+ end
73
+ end
74
+ end
75
+
76
+ # Return resource reference with available outputs
77
+ ResourceReference.new(
78
+ type: 'aws_ec2_transit_gateway_vpc_attachment',
79
+ name: name,
80
+ resource_attributes: attachment_attrs.to_h,
81
+ outputs: {
82
+ id: "${aws_ec2_transit_gateway_vpc_attachment.#{name}.id}",
83
+ vpc_owner_id: "${aws_ec2_transit_gateway_vpc_attachment.#{name}.vpc_owner_id}",
84
+ tags_all: "${aws_ec2_transit_gateway_vpc_attachment.#{name}.tags_all}"
85
+ },
86
+ computed_attributes: {
87
+ is_highly_available: attachment_attrs.is_highly_available?,
88
+ supports_appliance_mode_inspection: attachment_attrs.supports_appliance_mode_inspection?,
89
+ estimated_monthly_cost: attachment_attrs.estimated_monthly_cost,
90
+ availability_zones_count: attachment_attrs.availability_zones_count,
91
+ security_considerations: attachment_attrs.security_considerations,
92
+ routing_behavior: attachment_attrs.routing_behavior
93
+ }
94
+ )
95
+ end
96
+ end
97
+ end
98
+ end